ARP協議技術講解

ARP協議是“Address Resolution Protocol”(地址解析協議)的縮寫。其作用是在以太網環境中,數據的傳輸所依懶的是MAC地址而非IP地址,而將已知IP地址轉換為MAC地址的工作是由ARP協議來完成的。

ARP協議技術講解

為什麼需要 ARP 協議

在網絡訪問層中,同一局域網中的一臺主機要和另一臺主機進行通信,需要通過 MAC 地址進行定位,然後才能進行數據包的發送。

而在網絡層和傳輸層中,計算機之間是通過 IP 地址定位目標主機,對應的數據報文只包含目標主機的 IP 地址,而沒有 MAC 地址。

因此,在發送之前需要根據 IP 地址獲取 MAC 地址,然後才能將數據包發送到正確的目標主機,而這個獲取過程是通過 ARP 協議完成的。

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命令

ARP協議技術講解

ARP請求包

廣播發送

ARP協議技術講解

ARP響應包

單播發送

ARP協議技術講解

無償ARP/免費ARP

廣播發送

免費 ARP(Gratuitous ARP)包是一種特殊的 ARP 請求,它並非期待得到 IP 對應的 MAC 地址,而是當主機啟動的時候,發送一個 Gratuitous ARP 請求,即請求自己的 IP 地址的 MAC 地址。

ARP協議技術講解

根據上面的所講的原理,我們簡單說明這個過程:A要和B通訊,A就需要知道B的以太網地址,於是A發送一個ARP請求廣播(誰是192.168.10.2 ,請告訴192.168.10.1),當B收到該廣播,就檢查自己,結果發現和自己的一致,然後就向A發送一個ARP單播應答(192.168.10.2 在BB-BB-BB-BB-BB-BB)。


分享到:


相關文章: