日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ip层的arp协议

發(fā)布時(shí)間:2025/6/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ip层的arp协议 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Arp(adress resolution protocol—地址解析協(xié)議)是在傳輸IP包時(shí),因不知道IP地址對(duì)應(yīng)的MAC地址,無法傳送數(shù)據(jù)引起的,通過arp,建立目的IP跟MAC地址的映射關(guān)系,從而獲得目的IP的MAC地址。

Arp頭部的數(shù)據(jù)結(jié)構(gòu)如下:

typedefstruct arphdr   {   

????????????? unsignedshort arp_hrd;/*硬件類型,*/   

????????????? unsignedshort arp_pro;/*協(xié)議類型*/   

????????????? unsignedchar arp_hln;/*硬件地址長度*/   

????????????? unsignedchar arp_pln;/*協(xié)議地址長度*/   

????????????? unsignedshort arp_op;/*ARP操作類型*/   

????????????? unsignedchar arp_sha[6];/*發(fā)送者的硬件地址*/   

????????????? unsignedlong arp_spa;/*發(fā)送者的協(xié)議地址*/   

????????????? unsignedchar arp_tha[6];/*目標(biāo)的硬件地址*/   

????????????? unsignedlong arp_tpa;/*目標(biāo)的協(xié)議地址*/   

????????????? }ARPHDR,*PARPHDR;???

我們封裝arp數(shù)據(jù)包格式如下:

目的地址,我們現(xiàn)在還不知道,需要向本子網(wǎng)廣播,以獲得目的地址(目的MAC),因此這里全填1,源基地即本地的MAC地址,我們從本地網(wǎng)卡的MAC地址即可取得,類型表示的是上層協(xié)議的類型,這里是arp,用0x0806表示,到這里就完整的幀封裝。

?

arp頭部數(shù)據(jù)填充,硬件類型有很多種,即有各種各樣的硬件類型,比如以太網(wǎng)卡,令牌環(huán)網(wǎng)卡等,0x0001表示以太網(wǎng)卡,協(xié)議類型表示的是上層協(xié)議的類型,即需要通過arp獲得對(duì)方MAC地址的協(xié)議,而不是arp本身協(xié)議,0x0800表示IP協(xié)議,硬件地址(MAC地址)長度為6,協(xié)議地址(IP地址)長度為4,操作類型表示本arp所要操作的動(dòng)作,1為ARP請(qǐng)求,2為ARP應(yīng)答,3為RARP請(qǐng)求,4為RARP應(yīng)答,源主機(jī)MAC地址為本地MAC,從網(wǎng)卡驅(qū)動(dòng)從即可獲得,源主機(jī)IP地址為本地IP,這個(gè)也是從網(wǎng)卡驅(qū)動(dòng)中獲得,當(dāng)然也是我們?nèi)藶樵O(shè)置的(或者DHCP),目的主機(jī)MAC地址就是我們發(fā)送arp需要獲得的數(shù)據(jù),此時(shí)還不知道,全0待填寫,目的主機(jī)IP地址為遠(yuǎn)端的IP地址。

由于路由器有攔截廣播的功能,arp廣播只能在本子網(wǎng)中廣播,如果所要獲取的MAC地址不是本子網(wǎng)的,則必須經(jīng)過路由器網(wǎng)關(guān)獲得。由于路由器的默認(rèn)網(wǎng)關(guān)也是本子網(wǎng)的一個(gè)設(shè)備,因此也會(huì)收到本子網(wǎng)的arp廣播,經(jīng)過子網(wǎng)匹配,發(fā)現(xiàn)目的IP的子網(wǎng),跟路由器的另一個(gè)端口的子網(wǎng)一致,于是,把a(bǔ)rp請(qǐng)求轉(zhuǎn)發(fā)給路由器的另一個(gè)端口,此時(shí),路由器的另一個(gè)端口跟目的IP在同一個(gè)子網(wǎng),因此,又可以進(jìn)行arp廣播,當(dāng)目的IP獲得了arp廣播信息后,會(huì)把本機(jī)的MAC地址填充到arp包的目的地址MAC這欄中,同時(shí)修改arp的數(shù)據(jù)包的操作類型為arp應(yīng)答,接著把數(shù)據(jù)包發(fā)回源IP地址,此時(shí)的發(fā)送就不是以廣播的形式發(fā)送了,因?yàn)槟康牡刂稭AC,本地地址MAC都知道,是需要單播即可,此時(shí),還需要修改以太網(wǎng)幀的目的MAC,本地MAC,從而得以發(fā)送數(shù)據(jù)包

總結(jié)

以上是生活随笔為你收集整理的ip层的arp协议的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。