網(wǎng)絡(luò)層的ARP協(xié)議
通過(guò)ARP協(xié)議知道對(duì)方的mac地址,已經(jīng)知道對(duì)方ip地址的情況下,不知道m(xù)ac地址。定義了一個(gè)ARP協(xié)議來(lái)解決這個(gè)問(wèn)題。
因?yàn)樵跀?shù)據(jù)鏈路層的時(shí)候需要知道一個(gè)mac地址,然后才能進(jìn)行數(shù)據(jù)鏈路層的封裝。所以需要通過(guò)網(wǎng)絡(luò)層的ARP協(xié)議來(lái)獲取mac地址。
打開(kāi)控制面板-網(wǎng)絡(luò)連接-連接詳細(xì)信息
物理地址:是這臺(tái)電腦的mac地址。
IPv4地址:是這臺(tái)電腦的ip地址。
通過(guò)ip對(duì)應(yīng)成域名。mac地址不方便記憶,所以最先記住的是ip地址或域名。
要進(jìn)行數(shù)據(jù)鏈路層的封裝又必須要知道它的mac地址。所以用ARP協(xié)議,通過(guò)ip地址獲取對(duì)方的mac地址。
1.ARP協(xié)議的目的
ARP-地址解析協(xié)議,實(shí)現(xiàn)通過(guò)對(duì)方的ip地址(域名)尋找對(duì)方的mac地址。
2.ARP協(xié)議通訊過(guò)程
舉個(gè)例子:
圖片來(lái)自網(wǎng)絡(luò)
目的:老師想給班級(jí)里一個(gè)學(xué)生a發(fā)消息催作業(yè),用微信。
「老師」 :
1.先去微信通訊錄查找有沒(méi)有同學(xué)a的微信,如果有,直接給同學(xué)a發(fā)消息,讓她交作業(yè)。
2.沒(méi)有同學(xué)a的微信。去班級(jí)群發(fā)消息:“同學(xué)a的微信,給我一下,我是某某老師?!?/p>
同學(xué)a看到群里消息,她把微信單獨(dú)發(fā)給老師。老師收到同學(xué)a回復(fù)的微信消息。
3.老師加好友,可以在微信通訊錄找到同學(xué)a,可以直接發(fā)消息了。
給同學(xué)a單獨(dú)發(fā)了一條消息:"同學(xué)a,我們要交作業(yè)了。"
同學(xué)a單獨(dú)回復(fù):"我馬上交作業(yè)。""
「同學(xué)a」 :
1.添加老師的微信到微信通訊錄。
2.私聊發(fā)消息。
這個(gè)過(guò)程就是ARP協(xié)議實(shí)現(xiàn)的過(guò)程。
同上:
圖片來(lái)自網(wǎng)絡(luò)
主機(jī)a給主機(jī)b發(fā)消息進(jìn)行通信。
1.主機(jī)a找主機(jī)b的mac地址。
知道主機(jī)b的ip地址:192.168.1.2
主機(jī)a的ip地址:192.168.1.1
現(xiàn)在主機(jī)a要發(fā)消息,找主機(jī)b的mac地址。ARP表和微信通訊錄很相似(ip地址和mac地址的對(duì)應(yīng)表)。
如果找到了mac地址,去數(shù)據(jù)鏈路層封裝mac地址,進(jìn)行數(shù)據(jù)包的發(fā)送。如果在arp表里沒(méi)有找到ip地址對(duì)應(yīng)的mac地址,主機(jī)a發(fā)消息給主機(jī)b所在的主機(jī)群組。
主機(jī)a發(fā)廣播消息:“誰(shuí)有主機(jī)b(192.168.1.2)的mac地址,我是主機(jī)a(192.169.1.1)?!?/p>
主機(jī)b回復(fù)主機(jī)a一條單播消息:“我就是192.168.1.2,我的mac地址是xxxxx?!?/p>
2.主機(jī)b收到主機(jī)a的廣播消息后,在回復(fù)消息之前。主機(jī)b保存主機(jī)a的mac地址和ip地址到自己的ARP表里面。
再找主機(jī)a通信的時(shí)候,就直接在ARP表里面找到主機(jī)a的ip地址和mac地址的對(duì)應(yīng)關(guān)系,直接發(fā)送單播消息。
3.主機(jī)a收到主機(jī)b的單播消息,同樣把主機(jī)b的ip地址和mac地址保存到ARP表里。
3.總結(jié)
1.主機(jī)a首先查看自己的ARP表,如果找到了主機(jī)b的mac地址,則直接對(duì)ip數(shù)據(jù)包進(jìn)行幀封裝,發(fā)送給主機(jī)b。
2.如果主機(jī)a在ARP表中找不到主機(jī)b的mac地址,則將緩存該數(shù)據(jù)報(bào)文,然后以 「廣播方式」 發(fā)送一個(gè)arp請(qǐng)求報(bào)文。
ARP請(qǐng)求報(bào)文中帶上 「源ip地址和源mac地址(主機(jī)a)」 ,目標(biāo)ip地址和目標(biāo)mac地址為主機(jī)b的ip地址和 「全0的mac地址」 。
廣播,該網(wǎng)段上的所有主機(jī)都可以接收到該請(qǐng)求。但只有被請(qǐng)求的主機(jī)(即主機(jī)b)會(huì)對(duì)該請(qǐng)求進(jìn)行處理。
3.主機(jī)b比較自己的ip地址和ARP請(qǐng)求報(bào)文中的目標(biāo)ip地址,當(dāng)兩者相同時(shí)進(jìn)行如下處理:將arp請(qǐng)求報(bào)文中的發(fā)送端(即主機(jī)a)的ip地址和mac地址存入自己的ARP表中。
之后以 「單播方式」 發(fā)送arp響應(yīng)報(bào)文給主機(jī)a,其中包含了自己的 「mac地址」 。
4.主機(jī)a收到ARP響應(yīng)報(bào)文后,將主機(jī)b的mac地址加入到自己的ARP表中以用于后續(xù)報(bào)文的轉(zhuǎn)發(fā),同時(shí)將ip數(shù)據(jù)包進(jìn)行封裝后發(fā)送出去。
-
ARP協(xié)議
+關(guān)注
關(guān)注
0文章
10瀏覽量
7037
發(fā)布評(píng)論請(qǐng)先 登錄
幫忙分析下這個(gè)設(shè)計(jì)的工作流程
TCP/IP協(xié)議棧的工作流程是怎樣的
地址解析協(xié)議ARP

地址解析協(xié)議(ARP),地址解析協(xié)議(ARP)是什么意思
ARP協(xié)議動(dòng)態(tài)交互仿真系統(tǒng)的設(shè)計(jì)

arp協(xié)議的作用是什么?arp協(xié)議的工作原理介紹

測(cè)試工程師工作流程有哪些
工作流程圖怎么用?有哪些繪制工作流程圖的軟件
ARP是什么意思?ARP是什么協(xié)議?ARP協(xié)議用于什么地方
TCP/IP協(xié)議的工作流程

NX CAD軟件:數(shù)字化工作流程解決方案(CAD工作流程)

評(píng)論