ARP協議的工作原理


1、定義:

ARP(Address Resolution Protocol)即地址解析協議, 用於實現從 IP 地址到 MAC 地址的映射,即詢問目標IP對應的MAC地址。

2、工作原理:

 

 3、詳解

 【ARP請求包】

 

 

 

【ARP回應包】

【ARP協議字段解讀】

Hardware type :硬件類型,標識鏈路層協議

Protocol type: 協議類型,標識網絡層協議

Hardware size :硬件地址大小,標識MAC地址長度,這里是6個字節(48bti)

Protocol size: 協議地址大小,標識IP地址長度,這里是4個字節(32bit)

Opcode: 操作代碼,標識ARP數據包類型,1表示請求,2表示回應

Sender MAC address :發送者MAC

Sender IP address :發送者IP

Target MAC address :目標MAC,此處全0表示在請求

Target IP address: 目標IP

4、疑問

這個問題的難度堪比另外一個世界級難題:世界上最好的編程語言是什么?

其實早在20世紀時,W.Richard Stevens在《TCP/IP詳解卷一》里面就提到了這個難題。這里給出我個人的協議分層思路,給大家作為參考=>

協議到底所屬哪一層,可以從應用/功能來考慮,也可以從層次/包封裝來考慮。

以ARP協議為例,它的功能最終是獲取到MAC信息,服務於鏈路層,從這點考慮,ARP是鏈路層協議;但是從層次來看,ARP基於Ethernet協議,IP協議基於Ethernet協議,它們在Ethernet協議里面有獨立的Type類型,前者是0x0806,后者是0x0800,既然ARP和IP協議"平起平坐",那么IP是網絡層,ARP難道就不是網絡層?

小結:基於功能來考慮,ARP是鏈路層協議;基於分層/包封裝來考慮,ARP是網絡層協議。(此方法對於ICMP協議同樣管用)

 

參考:

https://zhuanlan.zhihu.com/p/28771785

 


免責聲明!

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



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