圖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行中的
乙太網資料幀長度比最小長度還要小(在4 . 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伺服器同時應答,這樣會增加
乙太網發生衝突的概率。
RARP 逆位址解析協議
具有本地磁碟的系統引導時,一般是從磁碟上的配置檔案中讀取 i p位址 網路上的每個系統都具有唯一的硬體位址,它是由網路介面生產廠家配置的。無盤系統的r a r p實現過程是從介面卡上讀取唯一的硬體位址,然後傳送乙份r a r p請求 一幀在網路上廣播的資料 請求某個主機響應該無盤系統的 i p位址 ...
RARP 逆位址解析協議
rarp 逆位址解析協議 1 rarp產生原因 arp 位址解析協議 是裝置通過自己知道的ip位址來獲得自己不知道的實體地址的協議。假如乙個裝置不知道它自己的 ip位址,但是知道自己的實體地址,網路上的無盤工作站就是這種情況,裝置知道的只是網路介面卡上的實體地址。這種情況下應該怎麼辦呢?rarp 逆...
ARP 位址解析協議 RARP 逆位址解析協議
資料鏈路如乙太網或令牌環網都有自己的定址機制 常常為48bit 這是使用資料鏈路的任何網路層都必須遵從的。當一台主機把乙太網資料幀傳送到位於同一區域網上的另一台主機上時,是根據48bit的乙太網位址來確認目的介面位址的。裝置驅動程式從不檢查ip資料報中的目的ip位址。資料解析為這兩種不同的位址形式提...