RARP:逆地址解析協議
發表于:2007-05-26來源:作者:點擊數:
標簽:
具有本地磁盤的系統引導時,一般是從磁盤上的配置文件中讀取IP地址。但是無盤機,如X終端或無盤工作站,則需要采用其他方法來獲得IP地址。 網絡上的每個系統都具有唯一的硬件地址,它是由網絡接口生產廠家配置的。無盤系統的RARP實現過程是從接口卡上讀取唯
具有本地磁盤的系統引導時,一般是從磁盤上的配置文件中讀取IP地址。但是無盤機,如X終端或無盤工作站,則需要采用其他方法來獲得IP地址。
網絡上的每個系統都具有唯一的硬件地址,它是由網絡接口生產廠家配置的。無盤系統的RARP實現過程是從接口卡上讀取唯一的硬件地址,然后發送一份RARP請求(一幀在網絡上廣播的數據),請求某個主機響應該無盤系統的IP地址(在RARP應答中)。
在概念上這個過程是很簡單的,但是實現起來常常比ARP要困難,其原因在本章后面介紹。RARP的正式規范是RFC903[Finlaysonetal.1984]。
RARP的分組格式
RARP分組的格式與ARP分組基本一致(見圖4-3)。它們之間主要的差別是RARP請求或應答的幀類型代碼為0x8035,而且RARP請求的操作代碼為3,應答操作代碼為4。對應于ARP,RARP請求以廣播方式傳送,而RARP應答一般是單播(unicast)傳送的。
RARP舉例
在互聯網中,我們可以強制sun主機從網絡上引導,而不是從本地磁盤引導。如果在主機bsdi上運行RARP服務程序和tcpdump命令,就可以得到如圖5-1那樣的輸出。-e參數使得tcpdump命令打印出硬件地址:

圖5-1 RARP請求和應答 R A R P請求是廣播方式(第1行),而第2行的R A R P應答是單播方式。第2行的輸出中a t s u n表示R A R P應答包含主機s u n的I P地址(1 4 0 . 2 5 2 . 1 3 . 3 3)。
在第3行中,我們可以看到,一旦s u n收到I P地址,它就發送一個T F T P讀請求(R R Q)給文件8 C F C0 D 2 1 . S U N 4 C(T F T P表示簡單文件傳送
協議。我們將在第1 5章詳細介紹)。文件名中的8個十六進制數字表求主機s u n的I P地址1 4 0 . 2 5 2 . 1 3 . 3 3。這個I P地址在R A R P應答中返回。文件名的后綴S U N 4 C表示被引導系統的類型。
t c p d u m p在第3行中指出I P數據報的長度是6 5個字節,而不是一個U D P數據報(實際上是一個U D P數據報),因為我們運行t c p d u m p命令時帶有-e參數,以查看硬件層的地址。在圖5 - 1中需要指出的另一點是,第2行中的以太網數據幀長度比最小長度還要?。ㄔ? . 5節中我們說過應該是6 0字節)。其原因是我們在發送該以太網數據幀的系統(b s d i)上運行t c p d u m p命令。應用程序r a r p d寫4 2字節到B S D分組過濾設備上(其中1 4字節為以太網數據幀的報頭,剩下的2 8字節是R A R P應答),這就是t c p d u m p收到的副本。但是以太網設備驅動程序要把這一短幀填充空白字符以達到最小傳輸長度(6 0)。如果我們在另一個系統上運行t c p d u m p命令,其長度將會是6 0。
從這個例子可以看出,當無盤系統從R A R P應答中收到它的I P地址后,它將發送T F T P請求來讀取引導映象。在這一點上我們將不再進一步詳細討論無盤系統是如何引導的(第1 6章將描述無盤X終端利用R A R P、B O O T P以及T F T P進行引導的過程)。
當網絡上沒有R A R P
服務器時,其結果如圖5 - 2所示。每個分組的目的地址都是以太網廣播地址。在w h o-后面的以太網地址是目的硬件地址,跟在t e l l后面的以太網地址是發送端的硬件地址。
請注意重發的頻度。第一次重發是在6 . 5 5秒以后,然后增加到4 2 . 8 0秒,然后又減到5 . 3 4 秒和6 .5 5秒,然后又回到4 2 . 7 9秒。這種不確定的情況一直繼續下去。如果計算一下兩次重發之間的時間間隔,我們發現存在一種雙倍的關系:從5 . 3 4到6 . 5 5是1 . 2 1秒,從6 . 5 5到8 . 9 7是2 . 4 2秒,從8 . 9 7到1 3 . 8 0是4 . 8 3秒,一直這樣繼續下去。當時間間隔達到某個閾值時(大于4 2 . 8 0秒),它又重新置為5 . 3 4秒。超時間隔采用這樣的遞增方法比每次都采用相同值的方法要好。在圖6 - 8中,我們將看到一種錯誤的超時重發方法,以及在第2 1章中將看到T C P的超時重發機制。

圖5-2 網絡中沒有RARP服務器的RARP請求RARP服務器的設計
雖然R A R P在概念上很簡單,但是一個R A R P服務器的設計與系統相關而且比較復雜。相反,提供一個A R P服務器很簡單,通常是T C P / I P在內核中實現的一部分。由于內核知道I P地址和硬件地址,因此當它收到一個詢問I P地址的A R P請求時,只需用相應的硬件地址來提供應答就可以了。
作為用戶進程的RARP服務器
R A R P服務器的復雜性在于,服務器一般要為多個主機(網絡上所有的無盤系統)提供硬件地址到I P地址的映射。該映射包含在一個磁盤文件中(在U n i x系統中一般位于/ e t c / e t h e r s目錄中)。由于內核一般不讀取和分析磁盤文件,因此R A R P服務器的功能就由用戶進程來提供,而不是作為內核的T C P / I P實現的一部分。
更為復雜的是,R A R P請求是作為一個特殊類型的以太網數據幀來傳送的(幀類型字段值為0 x 8 0 3 5,如圖2 - 1所示)。這說明R A R P服務器必須能夠發送和接收這種類型的以太網數據幀。在附錄A中,我們描述了B S D分組過濾器、S u n的網絡接口栓以及S V R 4數據鏈路提供者接口都可用來接收這些數據幀。由于發送和接收這些數據幀與系統有關,因此R A R P服務器的實現是與系統捆綁在一起的。
每個網絡有多個RARP服務器
R A R P服務器實現的一個復雜因素是R A R P請求是在硬件層上進行廣播的,如圖5 - 2所示。這意味著它們不經過路由器進行轉發。為了讓無盤系統在R A R P服務器關機的狀態下也能引導,通常在一個網絡上(例如一根電纜)要提供多個R A R P服務器。當服務器的數目增加時(以提供冗余備份),網絡流量也隨之增加,因為每個服務器對每個R A R P請求都要發送R A R P應答。發送R A R P請求的無盤系統一般采用最先收到的R A R P應答(對于A R P,我們從來沒有遇到這種情況,因為只有一臺主機發送A R P應答)。另外,還有一種可能發生的情況是每個R A R P服務器同時應答,這樣會增加以太網發生沖突的概率。
原文轉自:http://www.kjueaiud.com
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
|