日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

ARP地址解析協(xié)議(Address Resolution Protocol)協(xié)議詳解,將IPv4地址轉(zhuǎn)換為硬件地址

admin
2025年1月2日 8:51 本文熱度 2618

ARP概述

ARP協(xié)議的定義

地址解析協(xié)議(Address Resolution Protocol,ARP):ARP協(xié)議可以將IPv4地址(一種邏輯地址)轉(zhuǎn)換為各種網(wǎng)絡(luò)所需的硬件地址(一種物理地址)。換句話說,所謂的地址解析的目標(biāo)就是發(fā)現(xiàn)邏輯地址與物理地址的映射關(guān)系。 ARP僅用于IPv4協(xié)議,IPv6使用鄰居發(fā)現(xiàn)協(xié)議(NDP)替代。

ARP協(xié)議目前最廣泛應(yīng)用于尋找32位IPv4地址與以太網(wǎng)的48位MAC地址之間的映射。

掌握ARP協(xié)議前,需要理解什么是邏輯地址和物理地址。

物理地址

物理地址:物理地址對(duì)于主機(jī)就類似身份證對(duì)于人類。對(duì)于每個(gè)網(wǎng)絡(luò)適配器,設(shè)置制造商都會(huì)給定一個(gè)永久的物理地址,將其存儲(chǔ)在設(shè)備的永久性內(nèi)存中。就像身份證一樣,物理地址就是網(wǎng)絡(luò)適配器的ID。注意,物理地址是和網(wǎng)絡(luò)適配器綁定的,如果主機(jī)更換了網(wǎng)絡(luò)適配器,那么它的物理地址也會(huì)相應(yīng)改變。(雖然網(wǎng)絡(luò)適配器的物理地址是固定的,但也可以通過特殊方法修改,但這種情況極少出現(xiàn),不影響我們理解)

在TCP/IP分層體系結(jié)構(gòu)中,數(shù)據(jù)鏈路層和物理層使用的地址是物理地址。而網(wǎng)絡(luò)層、傳輸層和應(yīng)用層使用的地址是IP地址(邏輯地址)。

邏輯地址

邏輯地址:邏輯地址就是我們常說的IP地址,因?yàn)镮P地址是由軟件實(shí)現(xiàn)的,所以把它稱為邏輯地址。IP地址是不固定的,它通常從某個(gè)網(wǎng)絡(luò)的IP地址池中獲得,改變網(wǎng)絡(luò)環(huán)境,IP地址就會(huì)改變。

為什么需要2級(jí)地址    

分組進(jìn)行傳輸必須要2級(jí)地址:邏輯地址和物理地址。

IP地址和物理地址是在不同的層次下運(yùn)行的。同一個(gè)目的IP地址可能經(jīng)過多段鏈路,每段鏈路都可能運(yùn)行不同的鏈路層和物理層協(xié)議,它們的物理地址格式可能都截然不同;同理,同一段鏈路可能接收來自不同的網(wǎng)絡(luò)層協(xié)議,比如IPv4或者IPX。

有人可能覺得,直接用物理地址替代IP地址不就行了么?

這是因?yàn)閷?duì)IP地址不夠了解。現(xiàn)實(shí)中,有很多鏈路層和物理層的協(xié)議,它們都有不同的物理地址。如果完全依賴物理地址,那么路由表就需要對(duì)每個(gè)物理地址建立一個(gè)項(xiàng),那樣沒有一個(gè)路由器能夠負(fù)擔(dān)如此龐大的表項(xiàng)。

而IP地址提供了更高層次的抽象,將不同的物理地址抽象為統(tǒng)一的邏輯地址。

IP地址有良好的分層。如果分組轉(zhuǎn)發(fā)到同一子網(wǎng),只需要在路由表中記錄統(tǒng)一的網(wǎng)絡(luò)前綴。比如,一個(gè)子網(wǎng)有6000個(gè)IP地址,對(duì)應(yīng)6000個(gè)物理地址。記錄IP地址網(wǎng)絡(luò)前綴只需要1行,記錄物理地址則需要6000行。

有了IP地址,分組的路由(也就是找路)的工作仿佛在同一個(gè)網(wǎng)絡(luò)中進(jìn)行。如果傳輸IPv4分組,那么IPv4分組傳輸過程中經(jīng)過的所有網(wǎng)絡(luò)都使用IPv4協(xié)議,仿佛它們?cè)谝粋€(gè)邏輯上的網(wǎng)絡(luò)中。

ARP工作原理

ARP協(xié)議主要依賴ARP高速緩存(ARP cache)。ARP高速緩存就是一個(gè)映射表,它記錄了IP地址和物理地址的映射關(guān)系。每一臺(tái)主機(jī)和路由器都設(shè)有ARP高速緩存,在實(shí)際傳輸中,通常已知下一跳的目的IP地址(這是通過查詢路由表完成的,不是本篇的知識(shí)),通過查詢ARP高速緩存即可知道對(duì)應(yīng)的物理地址。

如何建立ARP高速緩存

高速緩存記錄的映射表不是一開始就有的。假設(shè)已知下一跳的目的IP地址,如何通過ARP協(xié)議得知下一跳對(duì)應(yīng)的物理地址呢?    

答案是通過廣播ARP請(qǐng)求分組。

ARP請(qǐng)求分組有3個(gè)重要信息:1.源IP地址。2.對(duì)應(yīng)的源物理地址。3.目的IP地址。

查詢的內(nèi)容為:對(duì)應(yīng)的目的物理地址。

以下是具體步驟:

源主機(jī)或者路由器會(huì)給該網(wǎng)絡(luò)的所有主機(jī)發(fā)送ARP請(qǐng)求分組(也就是給這個(gè)網(wǎng)絡(luò)廣播該分組),所有主機(jī)會(huì)檢查分組的目的IP地址是否與自身的IP地址相同。如果不相同,就丟棄該分組;如果相同,就說明自己就是被尋找的目的主機(jī)或者路由器。

目的主機(jī)(或目的路由器)在收到ARP請(qǐng)求分組后,會(huì)做兩件事:

1.將源主機(jī)的IP地址和對(duì)應(yīng)的物理地址添加進(jìn)自身的ARP高速緩存映射表。

這是因?yàn)榧热辉粗鳈C(jī)會(huì)和自己通信,那么自己之后也可能會(huì)主動(dòng)和源主機(jī)通信,提前建立源主機(jī)的映射表項(xiàng)是有必要的,之后自己要主動(dòng)和源主機(jī)通信就不用廣播ARP請(qǐng)求分組了。

2.給源主機(jī)發(fā)送ARP響應(yīng)報(bào)文(注意,該報(bào)文是單播的)

目的主機(jī)需要給源主機(jī)發(fā)送ARP響應(yīng)報(bào)文,告知源主機(jī)自己的物理地址。源主機(jī)在收到所需的ARP響應(yīng)報(bào)文,就可以發(fā)送幀給目的主機(jī)了。

為什么是單播而不是廣播呢?那是因?yàn)槟康闹鳈C(jī)已經(jīng)有源主機(jī)的物理地址了,可以直接給源主機(jī)發(fā)送對(duì)應(yīng)的幀,不需要廣播。

當(dāng)源主機(jī)接收到ARP響應(yīng)報(bào)文后,也會(huì)將目的主機(jī)的IP地址和對(duì)應(yīng)的物理地址添加到自己的ARP高速緩存映射表中,這樣下次再和該主機(jī)通信,就不用廣播ARP分組了。之后就可以通過物理地址,給目的主機(jī)發(fā)送幀了。

使用ARP協(xié)議的4種不同情況

ARP協(xié)議是在單個(gè)網(wǎng)絡(luò)內(nèi)部運(yùn)行的。如果源主機(jī)和目的主機(jī)不在一個(gè)網(wǎng)絡(luò)中,必須多次使用ARP協(xié)議。    

無論情況多復(fù)雜,都是由以下4種情況組合而成的。

如果源主機(jī)和目的主機(jī)在一個(gè)網(wǎng)絡(luò)中,這就很簡單,源主機(jī)直接通過ARP協(xié)議尋找目的主機(jī)的物理地址。

也就是情況1:源主機(jī)直接通過ARP協(xié)議尋找同一個(gè)網(wǎng)絡(luò)下目的主機(jī)的物理地址。    

如果源主機(jī)和目的主機(jī)不在一個(gè)網(wǎng)絡(luò)中,就必須通過路由器路由。通過查找路由表,將目的主機(jī)的IP地址轉(zhuǎn)換為下一跳的IP地址。再通過ARP協(xié)議,將下一跳的IP地址轉(zhuǎn)換為對(duì)應(yīng)的物理地址。

細(xì)分有3種情況:

情況2:源主機(jī)尋找下一跳路由器的物理地址。

情況3:路由器尋找在同一個(gè)網(wǎng)絡(luò)中的目的主機(jī)的物理地址。

情況4:路由器和目的主機(jī)不在同一個(gè)網(wǎng)絡(luò)中,路由器A尋找下一條路由器B的物理地址。

其實(shí)這4種情況非常好理解,只需要理解路由表的作用和ARP映射表的作用即可。

高速緩存的生存周期

ARP高速緩存是動(dòng)態(tài)的,而且緩存記錄的映射項(xiàng)有生存周期,一般默認(rèn)是20分鐘。超過生存周期,那條映射就會(huì)從映射表中移除。

為什么需要設(shè)置生存周期呢?

是因?yàn)槲锢淼刂泛虸P地址都可能改變。比如目的主機(jī)更換了網(wǎng)絡(luò)適配器,那么目的主機(jī)的物理地址就改變了。

如果源主機(jī)通過查看ARP映射表得到了目的主機(jī)以前的物理地址,肯定是無法正常通信的。但隨著該表項(xiàng)生存周期到時(shí),源主機(jī)會(huì)重新廣播ARP請(qǐng)求分組,這樣就可以得到目的主機(jī)新的物理地址。從而和目的主機(jī)正常通信。

ARP報(bào)文格式    

硬件類型:該字段有16bit。指定運(yùn)行ARP協(xié)議的物理網(wǎng)絡(luò)類型,ARP協(xié)議可以運(yùn)行在任何物理網(wǎng)絡(luò)上。以太網(wǎng)是類型1。

協(xié)議類型:該字段有16bit。指定高層協(xié)議的類型。ARP可用于任何高層協(xié)議。IPv4協(xié)議的值為0x0800。

硬件長度:該字段有8bit。定義物理地址的長度,以字節(jié)為單位。對(duì)于以太網(wǎng),該值為6字節(jié)。

協(xié)議長度:該字段有8bit。定義邏輯地址的長度,以字節(jié)為單位。對(duì)于IPv4,該值為4字節(jié)。

操作:該字段有16bit。用于定義分組類型,目前常用2種。ARP請(qǐng)求分組和ARP響應(yīng)分組。

發(fā)送方硬件地址:記錄發(fā)送方的物理地址。    

發(fā)送方協(xié)議地址:記錄發(fā)送方的邏輯地址。

接收方硬件地址:如果是ARP請(qǐng)求報(bào)文,由于不知道接收方的物理地址(請(qǐng)求報(bào)文就是通過廣播詢問接收方物理地址,當(dāng)然事先不知道),該字段全部填充為0。

接收方協(xié)議地址:記錄接收方的邏輯地址。

封裝ARP協(xié)議

ARP協(xié)議是很特殊的協(xié)議,它像是介于網(wǎng)絡(luò)層和鏈路層之間的協(xié)議。

ARP協(xié)議是封裝在幀中的,就像IPv4協(xié)議封裝在以太網(wǎng)幀一樣,從這個(gè)角度講,ARP協(xié)議像網(wǎng)絡(luò)層協(xié)議。

但是ARP協(xié)議是為網(wǎng)絡(luò)層協(xié)議服務(wù)的,從服務(wù)的角度講,它又像鏈路層協(xié)議。

實(shí)際中,ARP協(xié)議常封裝在以太網(wǎng)幀中。

當(dāng)廣播ARP請(qǐng)求分組時(shí),該網(wǎng)絡(luò)中的所有主機(jī)都會(huì)從以太網(wǎng)幀中提取出ARP協(xié)議分組,檢查接收方協(xié)議地址字段,如果和自身IP地址不相同,就丟棄該分組。如果相同,說明自身的物理地址就是被尋找的地址。就需要給發(fā)送方回復(fù)ARP響應(yīng)分組(通過單播)。

ARP的響應(yīng)報(bào)文會(huì)將發(fā)送方硬件地址字段和發(fā)送方協(xié)議地址字段填寫成自身的物理地址和IP地址。將接收方硬件地址和接收方協(xié)議地址填寫為ARP請(qǐng)求報(bào)文的發(fā)送方硬件地址和發(fā)送方協(xié)議地址。

抓包分析

抓取ARP請(qǐng)求報(bào)文    

從上圖可知,ARP協(xié)議被封裝在Ethernet協(xié)議(以太網(wǎng)協(xié)議)中。

我們先看Ethernet II部分:

Destination(目的物理地址)字段的值為:ff:ff:ff:ff:ff:ff

說明該以太網(wǎng)幀是廣播幀,和ARP請(qǐng)求分組是通過廣播形式發(fā)送吻合。

Source(源物理地址)字段的值為:50:eb:f6:56:ca:57

這是發(fā)送方主機(jī)的物理地址,和ARP協(xié)議的Sender MAC address字段的值完全吻合。

Type字段為:ARP(0x0806)。

說明該以太網(wǎng)幀封裝的是一個(gè)ARP協(xié)議分組。

再看ARP協(xié)議部分:

前4個(gè)字段表明物理地址和邏輯地址的類型和長度,和之前講解的吻合。

第五個(gè)字段Opcode的值為1,說明是ARP請(qǐng)求報(bào)文。

后面4個(gè)字段是源物理地址和IP地址,以及目標(biāo)物理地址和IP地址。

值得注意的是,目標(biāo)物理地址正如之前所說,全部填充的0。因?yàn)樵撟侄握茿RP請(qǐng)求報(bào)文需要獲取的,目前不知,只能全部填充為0。

抓取ARP響應(yīng)報(bào)文

先看Ethernet II部分:

Destination(目的物理地址)字段的值正好是ARP請(qǐng)求報(bào)文的Source字段的值。

也就是說,該ARP響應(yīng)報(bào)文是用來回應(yīng)之前的ARP請(qǐng)求分組的。    

該值也和Target MAC address的值相同。

Source(源物理地址)字段的值為目的端的物理地址,該值和Sender MAC address的值相同。

Padding是填充字段,用來填充以太網(wǎng)幀到最小幀長。

再看ARP協(xié)議部分:

前4個(gè)字段沒什么好講的。

第五個(gè)字段Opcode為2,表示這是ARP響應(yīng)分組。

后面4個(gè)字段,源MAC地址正是ARP請(qǐng)求報(bào)文想尋找的物理地址。源IP地址正好是ARP請(qǐng)求分組的目的IP地址。目的物理地址和目的IP地址正好是ARP請(qǐng)求分組的源物理地址和源IP地址。

查看ARP高速緩存    

在windows系統(tǒng)的終端,輸入arp -a命令可以顯示ARP緩存中的所有條目。

可以看到,當(dāng)源主機(jī)192.168.1.1向目的主機(jī)192.168.1.2發(fā)送ARP請(qǐng)求分組,并且得到對(duì)應(yīng)的ARP響應(yīng)分組后。

該表項(xiàng)192.168.1.2 8e-47-af-ef-a2-66就被添加到了ARP高速緩存中(第二項(xiàng))。

靜態(tài)映射與動(dòng)態(tài)映射

可以看到,ARP高速緩存中,有的是靜態(tài)映射,有的是動(dòng)態(tài)映射。

通過ARP協(xié)議動(dòng)態(tài)配置的表項(xiàng)就是動(dòng)態(tài)映射。發(fā)送方檢查ARP緩存,如果沒找到所需物理地址,就發(fā)送ARP請(qǐng)求報(bào)文,并得到ARP響應(yīng)報(bào)文。之后再將對(duì)應(yīng)的映射添加到ARP映射表上。這種方式得到的映射表項(xiàng)就是動(dòng)態(tài)映射。

通過手動(dòng)方式添加的表項(xiàng)就是靜態(tài)映射。這種方式添加的表項(xiàng)比較死板,因?yàn)閷?duì)應(yīng)的映射關(guān)系不一定固定不變。但是,靜態(tài)映射更加安全,不會(huì)被攻擊者通過ARP請(qǐng)求響應(yīng)報(bào)文添加錯(cuò)誤的映射關(guān)系。


該文章在 2025/1/2 8:51:06 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 欧美日本韩国一 | 精品无人乱码区1区2区3区 | 亚洲欧美日韩一区在线 | 欧美成a人片在线观看久 | 亚洲经典一区二区三区爱妃记歌词 | 国产精品小电影 | 国产在线精品国偷产拍 | 美国产日产一区∨ | 国产免费一区 | 九一看片| 亚洲色大成网站www 十年造就经典 | 日韩欧美一二三 | 亚洲国产欧洲在线一区 | 歐美性猛交xxxx亂大交3 | 欧美高清在线不卡免费观看 | 欧美视频一区在线 | 亚洲日本国产乱码va在线观看 | 免费高清影视资源 | 欧美日韩国产亚 | 国产精品欧美激情一区二区亚洲 | 欧美日韩第一区第138页 | 亚洲欧美高清精 | 国产视频三级 | 制服国产日韩欧美另类 | 可以看差差直播的软件 | 国产污视频在线观看 | 日本中文字幕在线播放第1页 | 国产网站免费在线观看 | 亚洲日韩国产综合区 | 亚洲精品成人a | 国产啪精品视频网站 | 国产色系视频免费在线观看 | 资源在线观看高清国产 | 日本一本精品中文字幕视频 | 亚洲japanese | 有码在线观看免费 | 国产一级二级三级 | 午夜视频在线播放 | 成人免费视频一区二区 | 亚洲欧美日韩一区中文字幕 | 日本一二三区不卡高清区 |