ARP位址解析協議

2021-07-25 08:37:43 字數 2414 閱讀 3508

網路層以上的協議用ip位址來標識網路介面,但以太資料幀傳輸時,以實體地址來標識網路介面。因此我們需要進行ip位址與實體地址之間的轉化。對於ipv4來說,我們使用arp位址解析協議來完成ip位址與實體地址的轉化(ipv6使用鄰居發現協議進行ip位址與實體地址的轉化,它包含在icmpv6中)。 

arp協議提供了網路層位址(ip位址)到實體地址(mac位址)之間的動態對映。arp協議 是位址解析的通用協議

mac位址由裝置製造商定義/分配,每乙個硬體裝置都有乙個鏈路層主位址(mac位址),儲存在裝置的永久記憶體中。裝置的mac位址不會改變(現在可以進行mac位址偽裝) 

ip位址由使用者配置給網路介面, 網路介面的ip位址是可以發生變化的,

每個主機都會在自己的 arp 緩衝區中建立乙個 arp 列表,以表示 ip 位址和 mac 位址之間的對應關係。

主機(網路介面)新加入網路時(也可能只是mac位址發生變化,介面重啟等), 會傳送免費arp報文。免費arp報文會將自己ip位址與mac位址的對映關係廣播給其他主機

網路上的主機接收到免費arp報文時,會更新自己的arp緩衝區。將新的對映關係更新到自己的arp表中。

某個主機需要傳送報文時,首先檢查 arp 列表中是否有對應 ip 位址的目的主機的 mac 位址,如果有,則直接傳送資料,如果沒有,就向本網段的所有主機傳送 arp 資料報,該資料報包括的內容有:源主機 ip 位址,源主機 mac 位址,目的主機的 ip 位址等。

當本網路的所有主機收到該 arp 資料報時,首先檢查資料報中的 ip 位址是否是自己的 ip 位址,如果不是,則忽略該資料報,如果是,則首先從資料報中取出源主機的 ip 和 mac 位址寫入到 arp 列表中,如果已經存在,則覆蓋,然後將自己的 mac 位址寫入 arp 響應包中,告訴源主機自己是它想要找的 mac 位址。

源主機收到 arp 響應包後。將目的主機的 ip 和 mac 位址寫入 arp 列表,並利用此資訊傳送資料。如果源主機一直沒有收到 arp 響應資料報,表示 arp 查詢失敗。

arp快取記憶體(即arp表)是 arp位址解析協議能夠高效執行的關鍵。 

我們可以通過arp命令檢視arp表: 

arp表中記錄了一些ip位址與實體地址的對映。 

在arp表中,我們可以看到乙個flags欄位,該字段有c、m、p三種取值: 

+ c: 表明arp條目為通過arp請求動態獲取,(一般存活時間為20min) 

+ m:表明arp條目為手動設定。 

+ p: 表示publish,表示該arp條目可以用於恢復其他主機的arp請求。(用於arp proxy)

arp幀以以太幀的形式存在,即arp訊息包含在以太幀中 ,因此包含以太幀的首部和尾部。(這裡不考慮802.1p/q等特殊以太幀)。 

arp request or reply message 是arp幀的核心部分。 

首先前面四個字段描述了本arp幀涉及的硬體型別和協議型別。 

hard type:指定硬體位址型別, 如值為1表示為乙太網位址。 

prot type :指定協議位址型別,如0x0800 表示協議位址型別為ipv4位址。該值與以太幀首部的型別字段相同。 

hard size: 表示硬體位址的大小(單位:位元組),如乙太網位址為6, 

prot size : 表示協議位址的大小(單位:位元組), 如ipv4位址大小為4.

op : 表示arp的訊息型別。 

+ 1:arp request; 

+ 2:arp reply 

+ 3:rarp request 

+ 4:rarp reply

後面四個字段寫入的是一些實體地址和協議位址。不一定全部有值。 

對於arp request 而言,我們不知道目的mac位址是什麼,因此 target』s hardware address 全部填充為0.

當主機接收到乙個針對其協議位址的arp request時,它會回應arp reply. 該reply訊息內容為:對調sender 和 target 位址字段,然後將sender』s hardware address(即原來的target』s hardware address )修改為本機的hardware address。另外op欄位有1變為2.

* 免費arp* 指的是 主機傳送乙個arp請求,求尋找自己的ip位址 。常用在系統引導時,對網路介面進行配置的時候。 

免費arp有兩個重要作用 

1. 檢測網路上是否有其他主機的ip位址與本機相同,即位址衝突檢測。 

2. 當主機向網路廣播免費arp時,其實她也將自己的ip位址與實體地址的對映關係廣播給其他主機了。因此,如果本機的硬體位址發生了變化,其他主機也應該做出相應的更新。

ARP協議 位址解析協議

網路層使用的是ip位址,但實際網路的鏈路上傳送資料幀時,最終還是必須使用該網路的硬體位址。arp快取記憶體 ip位址到硬體位址的對映表 那麼一台主機 a 是如何獲知本區域網內其他主機或路由的硬體位址的?主機a廣播arp請求分組 我的ip是 硬體位址是 請告知我ip位址為 主機的硬體位址。本區域網內的...

位址解析協議 ARP

1.什麼是arp?英文原義 address resolution protocol 中文釋義 是乙個位於tcp ip協議棧中的低層協議,負責將某個ip位址解析成對應的mac位址。區域網中,網路中實際傳輸的是 幀 幀裡面是有目標主機的mac位址的。所謂 位址解析 就是主機在傳送幀前將目標ip位址轉換成...

位址解析協議(ARP)

位址解析協議 arp 作用是將邏輯位址對映為實體地址,即將ip位址和實體地址關聯起來。當主機或路由器想要知道網路上另一台主機或者路由器的實體地址的時候,它就會傳送arp查詢分組。這個分組包括傳送端的實體地址和ip位址,以及接收端的ip位址。因為傳送端不知道接收端的實體地址,所以查詢就在網路上廣播。a...