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