ARP位址解析協議

2021-07-08 11:01:06 字數 2662 閱讀 6869

資料鏈路如乙太網或令牌環網都有自己的定址機制(常常為48bit位址),這是使用資料鏈路的任何網路層都必須遵從的。乙個網路如乙太網可以同時被不同的網路層使用。例如,一組使用tcp/ip協議的主機和另一組使用某種pc網路軟體的主機可以共享相同的電纜。

當一台主機把乙太網資料幀傳送到位於同一區域網上的另一台主機時,是根據48bit的乙太網位址來確定目的介面的。裝置驅動程式從不檢查ip資料報中的目的ip位址。

乙個ftp連線的過程:

應用程式ftp客戶端呼叫函式gethostbyname把主機名(bsdi)轉換成32bit的ip位址。這個函式在dns(網域名稱系統)中稱作解析器。這個轉換過程或者使用dns,或者在較小網路中使用乙個靜態的主機檔案(/etc/hosts)。

ftp客戶端請求tcp用得到的ip位址建立連線。

tcp傳送乙個連線請求分段到遠端的主機,即用上述ip位址傳送乙份ip資料報。

如果目的主機在本地網路上(如乙太網、令牌環網或點對點鏈結的另一端),那麼ip資料報可以直接送到目的主機上。如果目的主機在乙個遠端網路上,那麼就通過ip選路函式來確定位於本地網路上的下一站路由器位址,並讓它**ip資料報。在這兩種情況下,ip資料報都是被送到位於本地網路上的一台主機或路由器。

假定是乙個乙太網,那麼傳送端主機必須把32bit的ip位址變換成48bit的乙太網位址。從邏輯internet位址到對應的物理硬體位址需要進行翻譯。這就是arp的功能。

arp傳送乙份稱作arp請求的乙太網資料幀給乙太網上的每個主機,這個過程稱作廣播。arp請求資料幀中包含目的主機的ip位址,其意思是「如果你是這個ip位址的擁有者,請回答你的硬體位址。」

目的主機的arp層收到這份廣播報文後,識別出這是傳送端在尋問它的ip位址,於是傳送乙個arp應答。這個arp應答包含ip位址及對應的硬體位址。

收到arp應答後,使arp進行請求—應答交換的ip資料報現在就可以傳送了。

傳送ip資料報到目的主機。

arp本來是用於廣播網路的,有許多主機或路由器連在同乙個網路上。

點對點鏈路不使用arp。當設定這些鏈路時(一般在引導過程進行),必須告知核心鏈路每一端的ip位址。像乙太網位址這樣的硬體位址並不涉及。

arp高效執行的關鍵是由於每個主機上都有乙個arp快取記憶體。這個快取記憶體存放了最近internet位址到硬體位址之間的對映記錄。快取記憶體中每一項的生存時間一般為20分鐘,起始時間從被建立時開始算起。

一般情況下,當系統收到arp請求或傳送arp應答時,都要把請求端的硬體位址和ip位址存入arp快取記憶體。

在arp快取記憶體中的表項一般都要設定超時值,從伯克利系統演變而來的系統一般對完整的表項設定超時值為20分鐘,而對不完整的表項設定超時值為3分鐘。

如果主機收到某個ip位址的arp請求,而且它已經在接收者的快取記憶體中,那麼就要用arp請求中的傳送端硬體位址(如乙太網位址)對快取記憶體中相應的內容進行更新。

通過傳送含有備份硬體位址和故障伺服器的ip位址的免費arp請求,使得備份檔案伺服器可以順利地接替故障伺服器進行工作。這使得所有目的地為故障伺服器的報文都被送到備份伺服器那裡,客戶程式不用關心原來的伺服器是否出了故障。

兩個位元組長的乙太網幀型別表示後面資料的型別。對於arp請求或應答來說,該字段的值為0x0806。

形容詞hardware(硬體)和protocol(協議)用來描述arp分組中的各個字段。例如,乙個arp請求分組詢問協議位址(這裡是ip位址)對應的硬體位址(這裡是乙太網位址)。

硬體型別字段表示硬體位址的型別。它的值為1即表示乙太網位址。協議型別字段表示要對映的協議位址型別。它的值為0x0800即表示ip位址。它的值與包含ip資料報的乙太網資料幀中的型別欄位的值相同,這是有意設計的。

硬體位址長度和協議位址長度分別指出硬體位址和協議位址的長度,以位元組為單位。對於乙太網上ip位址的arp請求或應答來說,它們的值分別為6和4。

操作字段指出四種操作型別,它們是arp請求(值為1)、arp應答(值為2)、rarp請求(值為3)和rarp應答(值為4)(我們在第5章討論rarp)。這個字段必需的,因為arp請求和arp應答的幀型別字段值是相同的。

接下來的四個欄位是傳送端的硬體位址(在本例中是乙太網位址)、傳送端的協議位址(ip位址)、目的端的硬體位址和目的端的協議位址。注意,這裡有一些重複資訊:在乙太網的資料幀報頭中和arp請求資料幀中都有傳送端的硬體位址。

對於乙個arp請求來說,除目的端硬體位址外的所有其他的字段都有填充值。當系統收到乙份目的端為本機的arp請求報文後,它就把硬體位址填進去,然後用兩個目的端位址分別替換兩個傳送端位址,並把操作欄位置為2,最後把它傳送回去。

如果arp請求是從乙個網路的主機發往另乙個網路上的主機,那麼連線這兩個網路的路由器就可以回答該請求,這個過程稱作委託arp或arp**(proxyarp)。這樣可以欺騙發起arp請求的傳送端,使它誤以為路由器就是目的主機,而事實上目的主機是在路由器的「另一邊」。路由器的功能相當於目的主機的**,把分組從其他主機**給它。

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...