协议簇:Ethernet Address Resolution Protocol (ARP) 解析
簡介
前面的文章中,我們介紹了 MAC Frame 的幀格式。我們知道,在每個 Ethernet Frame 中都分別包含一個 48 bit 的源物理地址和目的物理地址. 對于源地址很容易理解,該地址可以直接從硬件上讀取. 但是對于一個網(wǎng)絡(luò)節(jié)點(diǎn),他怎么知道一個 Frame 的目的物理地址呢? 本文我們將學(xué)習(xí) ARP 協(xié)議來解答這個問題.
ARP 協(xié)議主要用來完成將網(wǎng)絡(luò)層協(xié)議的地址(比如,IP 地址)解析為物理地址的工作.
為什么需要將網(wǎng)絡(luò)層協(xié)議的地址轉(zhuǎn)換為物理地址呢?
對于物理層來說,他僅僅能處理 48 bit 的物理地址,而網(wǎng)絡(luò)層協(xié)議往往有自己協(xié)議中定義的協(xié)議地址,而這些協(xié)議的地址往往都不一樣. 比如, IP 地址的長度為 32 bit,CHAOS 地址的長度為 16 bit, Xerox PUP 地址的長度為 8 bit.
反過來說,ARP 協(xié)議的存在也是必須的. 因?yàn)槿绻粋€物理層想要同時支持上述的這些協(xié)議,他就不應(yīng)該依賴于這些協(xié)議的實(shí)現(xiàn),而是定義自己的地址格式,再通過一種方式將網(wǎng)絡(luò)層協(xié)議的地址轉(zhuǎn)化為物理地址. 這個方式就是 ARP 協(xié)議要實(shí)現(xiàn)的功能.
說明一點(diǎn),接下來的描述將傾向于網(wǎng)絡(luò)層協(xié)議是 IP 來進(jìn)行描述.
ARP 包格式
ARP 協(xié)議的包結(jié)構(gòu)比較簡單,我們直接看一個例子. 通過這個例子來解析每個字段的含義:
首先,我們注意到 ARP 包中 ar$op 字段可能的值有兩個 REQUEST 和 REPLY。也就是說 ARP 協(xié)議的包大體分為兩類,我們一一來看.
REQUEST
這個包對應(yīng)的二進(jìn)制數(shù)據(jù)為:
00 01 08 00 06 04 00 01 dc a3 33 c4 1e 5a c0 a8
01 01 00 00 00 00 00 00 c0 a8 01 65
10.Target IP Address: 該字段對應(yīng)于 ar$tpa, 表明想要將該IP地址解析為物理層地址.
總結(jié):
REPLY
這個包對應(yīng)的二進(jìn)制數(shù)據(jù)為:
00 01 08 00 06 04 00 02 98 fa 9b 17 a8 f8 c0 a8
01 65 dc a3 33 c4 1e 5a c0 a8 01 01
END!
總結(jié)
以上是生活随笔為你收集整理的协议簇:Ethernet Address Resolution Protocol (ARP) 解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cuda tensorflow版本对应_
- 下一篇: qt在visual studio 201