網(wǎng)絡(luò)層的ARP協(xié)議
通過ARP協(xié)議知道對方的mac地址,已經(jīng)知道對方ip地址的情況下,不知道m(xù)ac地址。定義了一個ARP協(xié)議來解決這個問題。
因為在數(shù)據(jù)鏈路層的時候需要知道一個mac地址,然后才能進行數(shù)據(jù)鏈路層的封裝。所以需要通過網(wǎng)絡(luò)層的ARP協(xié)議來獲取mac地址。
打開控制面板-網(wǎng)絡(luò)連接-連接詳細信息
物理地址:是這臺電腦的mac地址。
IPv4地址:是這臺電腦的ip地址。
通過ip對應(yīng)成域名。mac地址不方便記憶,所以最先記住的是ip地址或域名。
要進行數(shù)據(jù)鏈路層的封裝又必須要知道它的mac地址。所以用ARP協(xié)議,通過ip地址獲取對方的mac地址。
1.ARP協(xié)議的目的
ARP-地址解析協(xié)議,實現(xiàn)通過對方的ip地址(域名)尋找對方的mac地址。
2.ARP協(xié)議通訊過程
舉個例子:
圖片來自網(wǎng)絡(luò)
目的:老師想給班級里一個學(xué)生a發(fā)消息催作業(yè),用微信。
「老師」 :
1.先去微信通訊錄查找有沒有同學(xué)a的微信,如果有,直接給同學(xué)a發(fā)消息,讓她交作業(yè)。
2.沒有同學(xué)a的微信。去班級群發(fā)消息:“同學(xué)a的微信,給我一下,我是某某老師。”
同學(xué)a看到群里消息,她把微信單獨發(fā)給老師。老師收到同學(xué)a回復(fù)的微信消息。
3.老師加好友,可以在微信通訊錄找到同學(xué)a,可以直接發(fā)消息了。
給同學(xué)a單獨發(fā)了一條消息:"同學(xué)a,我們要交作業(yè)了。"
同學(xué)a單獨回復(fù):"我馬上交作業(yè)。""
「同學(xué)a」 :
1.添加老師的微信到微信通訊錄。
2.私聊發(fā)消息。
這個過程就是ARP協(xié)議實現(xiàn)的過程。
同上:
圖片來自網(wǎng)絡(luò)
主機a給主機b發(fā)消息進行通信。
1.主機a找主機b的mac地址。
知道主機b的ip地址:192.168.1.2
主機a的ip地址:192.168.1.1
現(xiàn)在主機a要發(fā)消息,找主機b的mac地址。ARP表和微信通訊錄很相似(ip地址和mac地址的對應(yīng)表)。
如果找到了mac地址,去數(shù)據(jù)鏈路層封裝mac地址,進行數(shù)據(jù)包的發(fā)送。如果在arp表里沒有找到ip地址對應(yīng)的mac地址,主機a發(fā)消息給主機b所在的主機群組。
主機a發(fā)廣播消息:“誰有主機b(192.168.1.2)的mac地址,我是主機a(192.169.1.1)?!?/p>
主機b回復(fù)主機a一條單播消息:“我就是192.168.1.2,我的mac地址是xxxxx?!?/p>
2.主機b收到主機a的廣播消息后,在回復(fù)消息之前。主機b保存主機a的mac地址和ip地址到自己的ARP表里面。
再找主機a通信的時候,就直接在ARP表里面找到主機a的ip地址和mac地址的對應(yīng)關(guān)系,直接發(fā)送單播消息。
3.主機a收到主機b的單播消息,同樣把主機b的ip地址和mac地址保存到ARP表里。
3.總結(jié)
1.主機a首先查看自己的ARP表,如果找到了主機b的mac地址,則直接對ip數(shù)據(jù)包進行幀封裝,發(fā)送給主機b。
2.如果主機a在ARP表中找不到主機b的mac地址,則將緩存該數(shù)據(jù)報文,然后以 「廣播方式」 發(fā)送一個arp請求報文。
ARP請求報文中帶上 「源ip地址和源mac地址(主機a)」 ,目標ip地址和目標mac地址為主機b的ip地址和 「全0的mac地址」 。
廣播,該網(wǎng)段上的所有主機都可以接收到該請求。但只有被請求的主機(即主機b)會對該請求進行處理。
3.主機b比較自己的ip地址和ARP請求報文中的目標ip地址,當(dāng)兩者相同時進行如下處理:將arp請求報文中的發(fā)送端(即主機a)的ip地址和mac地址存入自己的ARP表中。
之后以 「單播方式」 發(fā)送arp響應(yīng)報文給主機a,其中包含了自己的 「mac地址」 。
4.主機a收到ARP響應(yīng)報文后,將主機b的mac地址加入到自己的ARP表中以用于后續(xù)報文的轉(zhuǎn)發(fā),同時將ip數(shù)據(jù)包進行封裝后發(fā)送出去。
-
ARP協(xié)議
+關(guān)注
關(guān)注
0文章
10瀏覽量
6920
發(fā)布評論請先 登錄
相關(guān)推薦
TCP/IP協(xié)議棧的工作流程是怎樣的
地址解析協(xié)議ARP
![地址解析<b class='flag-5'>協(xié)議</b><b class='flag-5'>ARP</b>](https://file1.elecfans.com//web2/M00/A5/00/wKgZomUMNoKADk1MAABbAYwWMSM514.jpg)
地址解析協(xié)議(ARP),地址解析協(xié)議(ARP)是什么意思
ARP協(xié)議動態(tài)交互仿真系統(tǒng)的設(shè)計
![<b class='flag-5'>ARP</b><b class='flag-5'>協(xié)議</b>動態(tài)交互仿真系統(tǒng)的設(shè)計](https://file1.elecfans.com//web2/M00/A5/DE/wKgZomUMOoWAGIsFAAAI6NyCMgs248.jpg)
arp協(xié)議的作用是什么?arp協(xié)議的工作原理介紹
![<b class='flag-5'>arp</b><b class='flag-5'>協(xié)議</b>的作用是什么?<b class='flag-5'>arp</b><b class='flag-5'>協(xié)議</b>的<b class='flag-5'>工作</b>原理介紹](https://file1.elecfans.com//web2/M00/A6/DB/wKgZomUMQOiAAEUMAAAQnPLiKhw653.jpg)
測試工程師工作流程有哪些
工作流程圖怎么用?有哪些繪制工作流程圖的軟件
ARP是什么意思?ARP是什么協(xié)議?ARP協(xié)議用于什么地方
TCP/IP協(xié)議的工作流程
![TCP/IP<b class='flag-5'>協(xié)議</b>的<b class='flag-5'>工作流程</b>](https://file.elecfans.com/web2/M00/1E/7B/poYBAGGXQqSAFMIZAAAJB-nMrN8586.jpg)
NX CAD軟件:數(shù)字化工作流程解決方案(CAD工作流程)
![NX CAD軟件:數(shù)字化<b class='flag-5'>工作流程</b>解決方案(CAD<b class='flag-5'>工作流程</b>)](https://file1.elecfans.com/web2/M00/05/C8/wKgZomberEOAN841AAAsGK6TY38525.png)
評論