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協議,
小結:基於功能來考慮,ARP是鏈路層協議;基於分層/包封裝來考慮,ARP是網路層協議。(此方法對於ICMP協議同樣管用)
參考:
https://zhuanlan.zhihu.com/p/28771785