ARP報文結構及其工作原理


ARP協議是以太網等數據鏈路層的基礎協議,負責完成IP地址到硬件地址的映射

報文結構

ARP報文結構如下:

物理網絡類型

協議類型

物理地址長度

協議地址長度

操作

發送方物理地址

發送方IP地址

目標物理地址

目標IP地址

物理網絡類型:也稱為硬件類型,指明硬件類型,以太網為1。

協議類型:指明發送者映射到數據鏈路標識的網絡協議的類型,IP對應0x0806.

物理地址長度:MAC地址長度為6,單位字節。

協議地址長度:網絡層地址的長度,即IP地址長度為4,單位字節。

操作:操作指明ARP的操作類型,ARP請求為1,ARP響應為2,RARP請求為3,RARP響應為4。

在以太網環境下的ARP報文,硬件地址為48位。

工作原理

每個主機都設有一個ARP高速緩存(ARP cache),里面有本局域網上的各主機和路由器的IP地址到物理地址的映射表(運行md:arp –a可以查看)。

具體的工作過程如下:

(1)假如當主機A要向本局域網中的某個主機B發送IP數據報時,如果在ARP高速緩存中查看有無主機B的IP地址。如有,就在ARP高速緩存中查出其對應的硬件地址,在把這個硬件地址寫入MAC幀中,然后通過局域網把該MAC幀發送到此硬件地址。

(2)但是在高速緩存中,也可能查不到主機B的IP地址的項目。可能是主機B才入網,或者是主機A才剛開啟,其高速緩存還是空的。這時,主機A會自動運行ARP,然后按照以下步驟找到主機B的硬件地址。

  1)當主機A需要解析一個IP地址對應的MAC地址時,ARP進程在本局域網上會廣播發送ARP請求報文

  2)在本局域網上的所有主機上運行的ARP進程都收到此ARP請求報文。當主機B收到主機A發送的ARP請求報文,並看到自己的IP地址后,會進行應答,即向主機A發送ARP響應報文,該報文是單播報文。同時,就把主機A的地址映射寫入主機B自己的ARP高速緩存中,方便主機B向主機A發送數據。如圖所示:

  3)發起請求的主機A接收到主機B的ARP響應報文后,同樣會將響應報文中發送者的IP地址和MAC地址的映射關系寫入ARP高速緩存中

ARP把保存在高速緩存中的每一個映射地址項目都設置生存時間,凡是超過生存時間的項目就從高速緩存中刪除掉。用於防止存入高速緩存中的主機物理地址突然改變(例如主機B的網絡適配器突然壞掉,B立即更換了一塊,其硬件地址就改變了)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM