ARP報文詳解

ARP(Address Resolution Protocol)地址解析協議,根據IP地址獲取物理地址的一個TCP/IP協議。

    由於OSI模型把網絡分爲七層,IP地址在OSI模型第三層,MAC地址在第二層,彼此不直接通信。在通過以太網發送IP數據包時,需要封裝第三層(32位IP地址)和第二層(48位MAC地址)的報頭,由於發送數據包時,只知道目標IP地址,不知道其MAC地址,而又不能跨越第二、三層,所有需要使用地址解析協議。

ARP報文

 

 

複製代碼

字段1:ARP請求的目的以太網地址,全1時,代表廣播地址。

    字段2:發送ARP請求的以太網地址。

    字段3:以太網幀類型表示後面的數據類型,ARP請求和ARP應答此字段爲:0x0806。

    字段4:硬件地址類型,硬件地址不止以太網一種,是以太網類型時,值爲1。

    字段5:表示要映射的協議地址的類型,要對IPv4地址進行映射,此值爲0x0800。

    字段6和7:表示硬件地址長度和協議地址長度,MAC地址佔6字節,IP地址佔4字節。

    字段8:是操作類型字段,值爲1,表示進行ARP請求;值爲2,表示進行ARP應答;值爲3,表示進行RARP請求;值爲4,表示進行RARP應答。

    字段9:是發送端ARP請求或應答的硬件地址,這裏是以太網地址,和字段2相同。

    字段10:是發送ARP請求或應答的IP地址。

    字段11和12:是目的端的硬件地址和IP地址。

複製代碼

複製代碼

ARP解析過程

    (1)當PC1想發送數據給PC2,首先在自己的本地ARP緩存表中檢查主機PC2匹配的MAC地址

    (2)如果PC1緩存中沒有找到響應的條目,它將詢問主機PC2的MAC地址,從而將ARP請求幀廣播到本地網絡的所有主機。該幀中包括源主機PC1的IP、MAC地址,本地網絡中的所有主機都接收到ARP請求,並且檢查是否與自己的IP地址相匹配。如果發現請求中IP地址與自己IP不匹配,則丟棄ARP請求。

    (3)主機PC2確定ARP請求中得IP地址與自己的IP地址匹配,則將主機PC1的地址和MAC地址添加到本地緩存表中。

    (4)主機PC2將包含其MAC地址的ARP回覆消息直接發送回主機PC1(數據幀爲單播)。

    (5)主機PC1收到PC2發揮的ARP回覆消息,將PC2的IP和MAC地址添加至自己ARP緩存表中,本機緩存是有生存期的,默認ARP緩存表有效期120s。當超過該有效期後,則將重複上面過程。主機PC2的MAC地址一旦確定,主機PC1就能向主機PC2發送IP信息

複製代碼

arp報文總共42 bytes。其中以太網首部14 bytes,arp字段28字節

 

 ARP返回報文

 

 

複製代碼

硬件類型:表示硬件地址的類型(其中,值爲1表示以太網地址,其他還可能表示令牌環地址)。

協議類型:表示要映射的協議地址類型(其中,0x0800表示IP地址,其他還可能是ICMP/IGMP)。

硬件地址長度:指出該報文中硬件地址的長度(ARP報文中,它的值爲6)。

協議地址長度:指出該報文中協議地址的長度(ARP報文中,它的值爲4)。

op:操作字段,共有4種類型(1.ARP請求,2.ARP應答,3.RARP請求,4.RARP應答)。

發送者mac地址:發送方設備的硬件地址。

發送者ip地址:發送方設備的IP地址。

目的mac地址:接收方設備的硬件地址。

目的Iip地址:接收方設備的IP地址。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章