1. 程式人生 > >ARP地址解析協議與RAPR逆地址解析協議

ARP地址解析協議與RAPR逆地址解析協議

資料鏈路如乙太網或令牌環網都有自己的定址機制(48bit地址),任何使用此鏈路的網路層都必須遵從。

當一臺主機把乙太網資料幀傳送到位於同一區域網上的另一臺主機時,是根據48bit的乙太網地址來確定目的介面的。

裝置驅動程式不檢查IP資料報中的目的IP地址

ARP執行IP地址到對應的硬體地址之間的動態對映,RARP執行相反的工作(通常用於無法直接獲取IP地址的無本地磁碟系統)。

ARP快取記憶體:

ARP高效執行的關鍵是由於每個主機上都有一個ARP快取記憶體。

這個快取記憶體存放了最近Internet地址到硬體地址的對映記錄,每項快取的生存時間一般為20分鐘。

ARP的分組格式(RARP類似):

在乙太網上解析IP地址時,ARP請求和應答分組格式如下圖(長度為byte):


前兩個欄位是乙太網的源地址和目的地址,目的地址為全1的為廣播地址。

乙太網幀型別表示後面資料的型別,對於ARP請求和應答來說是0x0806。

硬體型別表示硬體地址的型別,為1表示乙太網地址。

協議型別表示要對映的協議地址型別,0x0800表示IP地址。

硬體地址長度和協議地址長度佔一個位元組長度,單位為位元組

操作欄位(op)表示4種操作型別:ARP請求(1),ARP應答(2),RARP請求(3),RARP應該(4)。

對於一個ARP請求來說,除目的端硬體地址外的所有其他欄位都有填充值,系統收到一份目的端為本機的ARP請求報文後,將硬體地址填充進去,然後用兩個目的地址分別替換兩個傳送端地址,將op改為2,回送回去。

ARP代理:

如果ARP請求從一個網路的主機發送給另外一個網路的主機,那麼連線這兩個網路的路由器就可以回答該請求,是為ARP代理(proxy ARP)。