12、90秒快速“讀懂”ARP協議及報文格式

網絡設備有數據要發送給另一臺網絡設備時,必須要知道對方的網絡層地址

(即IP地址)。IP地址由網絡層來提供,但是僅有IP地址是不夠的,IP數據報文必須封裝成才能通過數據鏈路進行發送。數據幀必須要包含目的MAC地址,因此發送端還必須獲取到目的MAC地址。

通過目的IP地址獲取目的MAC地址的過程是由ARP(Address Resolution Protocol)協議來實現的。

12、90秒快速“讀懂”ARP協議及報文格式

數據鏈路層在進行數據封裝時,需要目的MAC地址。


ARP報文格式

ARP報文不能穿越路由器,不能被轉發到其他廣播域。

12、90秒快速“讀懂”ARP協議及報文格式

網絡設備通過ARP報文來發現目的MAC地址。ARP報文中包含以下字段:

HardwareType表示硬件地址類型,一般為以太網;

Protocol Type表示三層協議地址類型,一般為IP;

Hardware LengthProtocol Length為MAC地址和IP地址的長度,單位是字節; Operation Code指定了ARP報文的類型,包括ARP Request和ARP Reply;

Source Hardware Address指的是發送ARP報文的設備MAC地址;

Source Protocol Address指的是發送ARP報文的設備IP地址;

Destination Hardware Address指的是接收者MAC地址,在ARP Request報文中,該字段值為0;

Destination Protocol Address指的是接收者的IP地址。


一、ARP請求(ARP Request)

本例中,主機A的ARP緩存表中不存在主機C的MAC地址,所以主機A會發送ARP Request 來獲取目的MAC地址。

12、90秒快速“讀懂”ARP協議及報文格式

二、ARP響應(ARP Reply)

所有的主機接收到該ARP Request報文後,都會檢查它的目的協議地址字段與自身的IP地址是否匹配。

如果不匹配,則該主機將不會響應該ARP Request報文。

如果匹配,則該主機會將ARP報文中的源MAC地址和源IP地址信息記錄到自己的ARP緩存表中,然後通過 ARP Reply報文進行響應。

12、90秒快速“讀懂”ARP協議及報文格式

主機C會向主機A回應ARP RepIy報文。ARP RepIy報文中的源協議地址是主機C自己的IP地址,目標協議地址是主機A的IP地址,目的MAC地址是主機A的MAC地址,源MAC地址是自己的MAC地址,同時Operation Code被設置為Reply。ARP Reply報文通過單播傳送。


三、ARP緩存

主機A收到ARP Reply以後會檢查ARP報文中目的MAC地址是否與自己的MAC匹配。如果匹配,ARP報文中的源MAC地址和源IP地址會被記錄到主機A的ARP緩存表中。

12、90秒快速“讀懂”ARP協議及報文格式


分享到:


相關文章: