ARP與RARP協議詳解 (三)

2021-06-27 01:09:08 字數 2174 閱讀 7870

(參考文獻)tcp/ip詳解,卷1:協議

當一台主機把乙太網資料幀傳送到位於同乙個區域網上的另一台主機時,是根據48bit的乙太網位址來確定目的介面的。裝置驅動程式重來不檢查ip資料報中的目的位址。arp位址解析協議就是為ip位址和48位的硬體位址提供對映的功能,如下圖:

arp背後有乙個基本概念,那就是網路介面有乙個硬體位址(乙個48位的bit值,標識不同的乙太網或令牌環網介面)。在硬體層次上進行的資料交幀交換必須有正確的介面位址。但是tcp/ip又有自己的位址(32bit的ip位址)。知道ip位址並不能讓核心傳送一幀資料給主機。核心(如乙太網驅動程式)必須知道目的端的硬體位址才能傳送資料。arp的功能就是在32位的ip位址和採用不同網路技術的硬體位址之間提供動態對映。

arp位址解析過程

假設這裡有一主機a向主機b傳送乙份ip資料報。如果b主機在本地網路上,那麼ip資料報可以直接到達b主機。如果b主機在乙個遠端網路上,那麼就通過ip選路函式來確定位於繃得網路上的下一站路由器位址,並**ip資料報。在這兩種情況下,ip資料報都是被送到位於本地網路上的一台主機或路由器。

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

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

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

a主機收到arp應答後,就知道了目的主機的硬體位址,那麼此時就可以進行資料報的交換了。

於是傳送ip資料報給指定的b主機

arp快取記憶體

arp高效執行的關鍵是由於每個主機上都有乙個快取記憶體。這個快取記憶體存放了最經internet位址到硬體位址之間的對映記錄。我們可以通過  arp –a 來顯示快取記憶體中所有的內容。

arp的分組格式

op(操作字段)指出了4種操作型別,他們分別是arp請求(值為1),arp應答(值為2),rarp(值為3)請求和rarp應答(值為4)。乙太網的前兩個欄位是乙太網的源位址和目的位址。目的位址為全1的特殊位址(是廣播位址)。電纜上的所有乙太網介面都要接收廣播資料幀。

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

具有本地磁碟的系統引導時,一般是從磁碟中的配置檔案讀取ip位址。但是無盤機,如無盤工作站,則需要採用其他方法獲取ip位址。

網路上的每個系統都具有唯一的硬體位址,他是由網路介面生產廠家配置的。無盤系統的rarp實現過程是從介面卡上讀取唯一的硬體位址,然後傳送乙份rarp請求(一幀在網路上的資料),請求某個主機在無盤系統的ip位址。

rarp的分組格式

rarp的分組格式與arp分組基本一致。

他們之間主要的差別是rarp的op(操作字段)請求操作**為3,應答操作**為4。

arp與rarp的請求都以廣播方式傳送,而他們的應答一般都是單播發送的。

rarp伺服器

rarp伺服器的複雜性在於。伺服器一般要為多個主機提供硬體位址到ip位址的對映。更為複雜的是,rarp請求作為乙個特殊型別的乙太網資料幀來傳送。這說明rarp伺服器必須能夠傳送和接收這種型別的乙太網資料幀。

rarp協議的應用

rarp是許多無盤系統在引導時用來獲取ip位址的。rarp實現起來要比arp複雜,因為rarp請求實在硬體層上廣播的。這意味著他們不經過路由器進行**。為了能讓無盤系統在rarp關機的情況下也能引導,通常要在乙個網路上(一根電纜)提供多個rarp伺服器。

ARP協議與RARP協議

arp協議是 address resolution protocol 位址解析協議 的縮寫。其作用是在乙太網環境中,資料的傳輸所依賴的是mac位址而非ip位址,而將已知ip位址轉換為mac位址的工作是由arp協議來完成的。在區域網中,網路中實際傳輸的是 幀 幀裡面是有目標主機的mac位址的。在乙太網...

ARP與RARP協議及arp指令碼

位址解析協議,即arp address resolution protocol 是根據ip位址獲取實體地址的乙個tcp ip協議。在 絡通訊時,源主機的應 程式知道 的主機的ip位址和端 號,卻不知道 的主機的硬體位址,資料報 先是被 卡接收到再去處理上層協議的,如果接收到的資料報的硬體位址與本機不...

ARP協議以及RARP協議

我們都知道ip位址是不能直接用來通訊的。這是因為ip位址只是主機在抽象網路層中的位址。若要將網路層中的資料傳送給目的主機,則還需要傳到資料鏈路層變成mac幀後才能發到目的網路上。因此,不管網路層使用的是什麼協議,在實際網路的鏈路上傳輸時,最終還是必須使用硬體位址。由於ip位址只有32位,而 硬體位址...