第四章:ARP 地址解析協議

網絡接口有一個硬件地址,48bit的值,在硬件層次上進行的數據幀交換必須有正確的接口地址.tcp/ip有本身的地址,32bit的IP地址.網絡

可是知道主機的IP地址並不能讓內核發送一幀數據給主機。內核(如以太網驅動程序)必須知道目的端的硬件地址才能發送數據。tcp

arp的功能就是在32bit的ip地址和硬件地址之間提供動態映射。spa

爲何點對點鏈路不使用arp呢?blog

詳細來解釋下arp分組格式內容以及各個字段:接口

  前兩個字段是以太網目的地址和以太網源地址,目的地址爲全1的地址是廣播地址。ip

  2個字節的幀類型,對於arp請求或者arp應答來講,該字段的值是0x0806it

  硬件類型字段表示硬件地址的類型,1表示以太網地址,協議類型字段表示要映射的協議地址類型,0x0800表示ip地址。硬件

  硬件地址長度和協議地址長度,分別指出硬件地址和協議地址的長度,以字節爲單位。請求

  操做字段指出四種操做類型,他們是arp請求(1),arp應答(2),rarp請求(3),rarp應答(4)。程序

  接下來四個字段分別是發送端的硬件地址、發送端的協議地址、目的端的硬件地址、目的端的協議地址。

  注意:對於一個arp請求來講,除目的端硬件地址之外的全部其餘的字段都有填充值。當系統受到一份目的端爲本機的arp請求報文後,

  它會把本身的硬件地址填進去,而後用兩個目的端地址分別替換兩個發送端地址,並把操做字段設置成2,最後把它發送回去。

  ----未完待續----

相關文章
相關標籤/搜索