章節回顧:
《TCP/IP詳解卷1:協議》第3章 IP:網際協議(1)-讀書筆記
《TCP/IP詳解卷1:協議》第3章 IP:網際協議(2)-讀書筆記
《TCP/IP詳解卷1:協議》第4章 ARP:地址解析協議-讀書筆記
《TCP/IP詳解卷1:協議》第5章 RARP:逆地址解析協議-讀書筆記
《TCP/IP詳解卷1:協議》第6章 ICMP:Internet控制報文協議-讀書筆記
《TCP/IP詳解卷1:協議》第11章 UDP:使用者資料包協議-讀書筆記
《TCP/IP詳解卷1:協議》第17、18章 TCP:傳輸控制協議(1)-讀書筆記
《TCP/IP詳解卷1:協議》第17、18章 TCP:傳輸控制協議(2)-讀書筆記
《TCP/IP詳解卷1:協議》第19章 TCP的互動資料流-讀書筆記
1、引言
具有本地磁碟的系統引導時,一般是從磁碟上的配置檔案中讀取IP地址。但是無盤機,如X終端或無盤工作站,則需要採用其他方法來獲得IP地址。
網路上的每個系統都具有唯一的硬體地址,它是由網路介面生產廠家配置的。無盤系統的RARP實現過程是從介面卡上讀取唯一的硬體地址,然後傳送一份RARP請求(一幀在網路上廣播的資料),請求某個主機響應該無盤系統的IP地址(在RARP應答中)。
2、RARP的分組格式
RARP分組的格式與ARP分組基本一致。它們之間主要的差別是RARP請求或應答的幀型別程式碼為0x8035,且RARP請求的操作程式碼為3,應答操作程式碼為4。
注意:RARP請求以廣播方式傳送,應答一般是單播(unicast)傳送的。
3、RARP伺服器的設計
RARP在概念上很簡單,但是一個RARP伺服器的設計與系統相關而且比較複雜。相反,提供一個ARP伺服器很簡單,通常是TCP/IP在核心中實現的一部分。由於核心知道IP地址和硬體地址,因此當它收到一個詢問IP地址的ARP請求時,只需用相應的硬體地址來提供應答就可以了。
(1)作為使用者程式的RARP伺服器
RARP伺服器的複雜性在於:
1)伺服器一般要為多個主機(網路上所有的無盤系統)提供硬體地址到IP地址的對映,該對映包含在一個磁碟檔案中。由於核心一般不讀取和分析磁碟檔案,因此RARP伺服器的功能就由使用者程式來提供,而不是作為核心的TCP/IP實現的一部分。
2)RARP請求是作為一個特殊型別的乙太網資料幀來傳送的(幀型別欄位值為0x8035),說明RARP伺服器必須能夠傳送和接收這種型別的乙太網資料幀。
(2)每個網路有多個RARP伺服器
RARP伺服器實現的一個複雜因素是RARP請求是在硬體層上進行廣播的,這意味著它們不經過路由器進行轉發。為了讓無盤系統在RARP伺服器關機的狀態下也能引導,通常在一個網路上(例如一根電纜)要提供多個RARP伺服器。
當伺服器的數目增加時(以提供冗餘備份),網路流量也隨之增加,因為每個伺服器對每個RARP請求都要傳送RARP應答。傳送RARP請求的無盤系統一般採用最先收到的RARP應答。(對於ARP,只有一臺主機傳送ARP應答)。每個RARP伺服器同時應答,這樣會增加乙太網發生衝突的概率。