ARP协议格式和实例分析
ARP協(xié)議是一個網(wǎng)絡(luò)層協(xié)議,它的出現(xiàn)是為了完成網(wǎng)絡(luò)層的ip和數(shù)據(jù)鏈路層的MAC地址之間的對應(yīng)關(guān)系。
一、ARP協(xié)議的報文格式
arp的報文格式如下:
1.硬件地址類型:該字段表示物理網(wǎng)絡(luò)類型,即標(biāo)識數(shù)據(jù)鏈路層使用的是那一種協(xié)議,其中0x0001為以太網(wǎng)。
2.協(xié)議地址類型:該字段表示網(wǎng)絡(luò)地址類型,即標(biāo)識網(wǎng)絡(luò)層使用的是那一種協(xié)議,其中0x0800表示為ip。
3.硬件地址長度:表示源和目的物理地址的長度,單位是字節(jié)。
4.協(xié)議地址長度:表示源和目的的協(xié)議地址的長度,單位是字節(jié)。
5.操作:記錄該報文的類型,其中1表示ARP請求報文,2表示ARP響應(yīng)報文。
6.源站的物理地址和目的地址為發(fā)送請求報文的主機(jī)填寫。
7.目的站物理地址在請求報文中為空,目的ip為需要進(jìn)行轉(zhuǎn)換的ip。在回應(yīng)報文中,目的地址為,arp請求者的地址。目的ip為請求者的ip.
注意:arp報文是直接封裝在MAC幀的數(shù)據(jù)部分,在MAC地址的標(biāo)識當(dāng)中注明為0806,具體的幀為下圖所示:
二、ARP協(xié)議的工作過程
? ? 當(dāng)需要ip地址和mac地址進(jìn)行轉(zhuǎn)換的時候,首先,主機(jī)會查詢自己的arp緩存表,如果自己的arp緩存表中有相應(yīng)的對應(yīng)關(guān)系,會直接取出對應(yīng)的MAC地址,填寫到MAC幀里面。
? ? ?如果arp緩存表中沒有該地址映射,主機(jī)會在局域網(wǎng)內(nèi)發(fā)MAC地址廣播,MAC幀的源MAC為自己,目的MAC為ff-ff-ff-ff-ff-ff。發(fā)送的arp報文的的源ip為自己的ip,目的ip為需要進(jìn)行轉(zhuǎn)換的ip地址,源MAC是自己的mac地址,目的地址為空。當(dāng)其它主機(jī)發(fā)現(xiàn)自己的ip地址和arp報文中的目的ip地址相同時,會用單播進(jìn)行回應(yīng),源ip為自己的ip,源MAC為自己的MAC,目的ip和目的MAC為剛才請求arp的MAC。例如:主機(jī)a的ip地址為192.168.10.14,MAC地址為00-1e-90-7c-b6-fe,它需要知道192.168.10.15的MAC地址。在ARP請求報文中,源ip,MAC為a主機(jī)的ip和mac。目的ip為192.168.10.15,目的MAC為空。該幀為廣播幀。在回應(yīng)報文中,源ip為192.168.10.15,源MAC為192.168.10.15的MAC地址。目的ip,目的MAC為a主機(jī)的ip和MAC。該幀為單播幀。同時將a主機(jī)的ip和mac記錄在自己的ARP緩存當(dāng)中。
? ? 如果請求的MAC地址不再同一個網(wǎng)段內(nèi),那么該請求報文需要跨網(wǎng)端進(jìn)行查找,這時候,MAC幀的源ip和源mac都是網(wǎng)管的相應(yīng)地址。通過,網(wǎng)關(guān)進(jìn)行跨網(wǎng)段的查找。arp報文和上面一樣。
三、ARP協(xié)議的具體報文分析
下面我們通過一個具體的ARP報文來進(jìn)行分析,幫助我們更深一步掌握ARP報文。
下面是一個ARP請求報文的格式:
可以看到MAC幀的目的MAC為廣播地址,源MAC為請求者的MAC地址,協(xié)議的類型是0x0806.
在ARP請求報文中,Hardware type 位0x0001位以太幀。Protocal type 為0x0800位i。 Hard size 為6字節(jié) Protocal size 為4 字節(jié)。請求類型為 0x0001,為ARP請求報文。
源地址,源ip,目的ip如上所示,可以看見在請求報文中,目的MAC為空。
下面是ARP的響應(yīng)報文的格式:
前面的都一樣,在這里就不說了。MAC幀的地址,變成了單播的地址。同樣可以看到源MAC換成了剛才請求的ip的MAC,源ip為剛才請求的ip。目的ip,MAC為剛在請求者的ip和MAC。請求類型變成了0x0002,位ARP響應(yīng)報文。
以上是我對ARP報文的分析。
總結(jié)
以上是生活随笔為你收集整理的ARP协议格式和实例分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于ireport中文不显示问题
- 下一篇: PowerBI-日期和时间函数-YEAR