win7系統(tǒng)下載
當(dāng)前位置: 首頁(yè) > 網(wǎng)絡(luò)技術(shù)教程 > 詳細(xì)頁(yè)面

ARP協(xié)議的作用是啥_ARP協(xié)議的工作原理

發(fā)布時(shí)間:2024-04-09 文章來(lái)源:深度系統(tǒng)下載 瀏覽:

對(duì)與大部分的人來(lái)說(shuō),非網(wǎng)絡(luò)工程專業(yè),基本都不清楚ARP協(xié)議的作用是什么?下面小編將給各位網(wǎng)友簡(jiǎn)述arp協(xié)議的作用和工作原理以及arp協(xié)議的工作范圍,讓大家清楚的認(rèn)識(shí)ARP的工作過(guò)程,完全理解它。

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

什么是ARP協(xié)議

ARP協(xié)議是“Address Resolution Protocol”(地址解析協(xié)議)的縮寫。在局域網(wǎng)中,網(wǎng)絡(luò)中實(shí)際傳輸?shù)氖?ldquo;幀”,幀里面是有目標(biāo)主機(jī)的MAC地址的。在以太網(wǎng)中,一個(gè)主機(jī)要和另一個(gè)主機(jī)進(jìn)行直接通信,必須要知道目標(biāo)主機(jī)的MAC地址。但這個(gè)目標(biāo)MAC地址是如何獲得的呢?它就是通過(guò)地址解析協(xié)議獲得的。所謂“地址解析”就是主機(jī)在發(fā)送幀前將目標(biāo)IP地址轉(zhuǎn)換成目標(biāo)MAC地址的過(guò)程。ARP協(xié)議的基本功能就是通過(guò)目標(biāo)設(shè)備的IP地址,查詢目標(biāo)設(shè)備的MAC地址,以保證通信的順利進(jìn)行。

ARP(AddressResolutionProtocol)地址解析協(xié)議用于將計(jì)算機(jī)的網(wǎng)絡(luò)地址(IP地址32位)轉(zhuǎn)化為物理地址(MAC地址48位)[RFC826]。ARP協(xié)議是屬于數(shù)據(jù)鏈路層的協(xié)議(位于OSI參考模型,第2層,數(shù)據(jù)鏈路層),在以太網(wǎng)中的數(shù)據(jù)幀從一個(gè)主機(jī)到達(dá)網(wǎng)內(nèi)的另一臺(tái)主機(jī)是根據(jù)48位的以太網(wǎng)地址(硬件地址)來(lái)確定接口的,而不是根據(jù)32位的IP地址。內(nèi)核(如驅(qū)動(dòng))必須知道目的端的硬件地址才能發(fā)送數(shù)據(jù)。當(dāng)然,點(diǎn)對(duì)點(diǎn)的連接是不需要ARP協(xié)議的。

ARP協(xié)議的主要功能作用是什么?

為了解釋ARP協(xié)議的作用,就必須理解數(shù)據(jù)在網(wǎng)絡(luò)上的傳輸過(guò)程。這里舉一個(gè)簡(jiǎn)單的Ping命令例子。

假設(shè)我們的計(jì)算機(jī)IP地址是192.168.1.1,要執(zhí)行這個(gè)命令:ping 192.168.1.2 。該命令會(huì)通過(guò)ICMP協(xié)議發(fā)送ICMP數(shù)據(jù)包。該過(guò)程需要經(jīng)過(guò)下面的步驟:

1、應(yīng)用程序構(gòu)造數(shù)據(jù)包,該示例是產(chǎn)生ICMP包,被提交給內(nèi)核(網(wǎng)絡(luò)驅(qū)動(dòng)程序);

2、內(nèi)核檢查是否能夠轉(zhuǎn)化該IP地址為MAC地址,也就是在本地的ARP緩存中查看IP-MAC對(duì)應(yīng)表;

3、如果存在該IP-MAC對(duì)應(yīng)關(guān)系,那么跳到:步驟7;如果不存在該IP-MAC對(duì)應(yīng)關(guān)系,那么接續(xù)下面的步驟;

4、內(nèi)核進(jìn)行ARP廣播,目的地的MAC地址是FF-FF-FF-FF-FF-FF,ARP命令類型為REQUEST(1),其中包含有自己的MAC地址;

5、當(dāng)192.168.1.2主機(jī)接收到該ARP請(qǐng)求后,就發(fā)送一個(gè)ARP的REPLY(2)命令,其中包含自己的MAC地址;

6、本地獲得192.168.1.2主機(jī)的IP-MAC地址對(duì)應(yīng)關(guān)系,并保存到ARP緩存中;

7、內(nèi)核將把IP轉(zhuǎn)化為MAC地址,然后封裝在以太網(wǎng)頭結(jié)構(gòu)中,再把數(shù)據(jù)發(fā)送出去;

使用 arp-a 命令就可以查看本地的ARP緩存內(nèi)容,所以,執(zhí)行一個(gè)本地的Ping命令后,ARP緩存就會(huì)存在一個(gè)目的IP的記錄了。當(dāng)然,如果你的數(shù)據(jù)包是發(fā)送到不同網(wǎng)段的目的地,那么就一定存在一條網(wǎng)關(guān)的IP-MAC地址對(duì)應(yīng)的記錄。

知道了ARP協(xié)議的作用,就能夠很清楚地知道,數(shù)據(jù)包的向外傳輸很依靠ARP協(xié)議,當(dāng)然,也就是依賴ARP緩存。要知道,ARP協(xié)議的所有操作都是內(nèi)核自動(dòng)完成的,同其他的應(yīng)用程序沒(méi)有任何關(guān)系。同時(shí)需要注意的是,ARP協(xié)議只使用于本網(wǎng)絡(luò)。