TCPIP詳解卷一協議53RARP舉例

2021-03-04 01:45:56 字數 1376 閱讀 4047

在網際網路中,我們可以強制sun主機從網路上引導,而不是從本地磁碟引導。如果在主機bsdi上執行rarp服務程式和tcpdump命令,就可以得到如圖5-1那樣的輸出。用-e引數使得tcpdump命令列印出硬體位址:

圖5-1rarp請求和應答

rarp請求是廣播方式(第1行),而第2行的rarp應答是單播方式。第2行的輸出中atsun表示rarp應答包含主機sun的ip位址(140.252.13.33)。

在第3行中,我們可以看到,一旦sun收到ip位址,它就傳送乙個tftp讀請求(rrq)給檔案8cfc0d21.sun4c(tftp表示簡單檔案傳送協議。我們將在第15章詳細介紹)。

檔名中的8個十六進製制數字表求主機sun的ip位址140.252.13.

33。這個ip位址在rarp應答中返回。

檔名的字尾sun4c表示被引導系統的型別。

tcpdump在第3行中指出ip資料報的長度是65個位元組,而不是乙個udp資料報(實際上是乙個udp資料報),因為我們執行tcpdump命令時帶有-e引數,以檢視硬體層的位址。在圖5-1中需要指出的另一點是,第2行中的乙太網資料幀長度比最小長度還要小(在4.5節中我們說過應該是60位元組)。

其原因是我們在傳送該乙太網資料幀的系統(bsdi)上執行tcpdump命令。應用程式rarpd寫42位元組到bsd分組過濾裝置上(其中14位元組為乙太網資料幀的報頭,剩下的28位元組是rarp應答),這就是tcpdump收到的副本。但是乙太網裝置驅動程式要把這一短幀填充空白字元以達到最小傳輸長度(60)。

如果我們在另乙個系統上執行tcpdump命令,其長度將會是60。

從這個例子可以看出,當無盤系統從rarp應答中收到它的ip位址後,它將傳送tftp請求來讀取引導映象。在這一點上我們將不再進一步詳細討論無盤系統是如何引導的(第16章將描述無盤x終端利用rarp、bootp以及tftp進行引導的過程)。

當網路上沒有rarp伺服器時,其結果如圖5-2所示。每個分組的目的位址都是乙太網廣播位址。在who-後面的乙太網位址是目的硬體位址,跟在tell後面的乙太網位址是傳送端的硬體位址。

請注意重發的頻度。第一次重發是在6.55秒以後,然後增加到42.

80秒,然後又減到5.34秒和6.55秒,然後又回到42.

79秒。這種不確定的情況一直繼續下去。如果計算一下兩次重發之間的時間間隔,我們發現存在一種雙倍的關係:

從5.34到6.55是1.

21秒,從6.55到8.97是

2.42秒,從8.97到13.80是4.83秒,一直這樣繼續下去。當時間間隔達到某個閾值時(大於

42.80秒),它又重新置為5.34秒。

圖5-2網路中沒有rarp伺服器的rarp請求

超時間隔採用這樣的遞增方法比每次都採用相同值的方法要好。在圖6-8中,我們將看到一種錯誤的超時重發方法,以及在第21章中將看到tcp的超時重發機制。

TCPIP詳解卷一協議49小結

在大多數的tcp ip實現中,arp是乙個基礎協議,但是它的執行對於應用程式或系統管理員來說一般是透明的。arp快取記憶體在它的執行過程中非常關鍵,我們可以用arp命令對快取記憶體進行檢查和操作。快取記憶體中的每一項內容都有乙個定時器,根據它來刪除不完整和完整的表項。arp命令可以顯示和修改arp快...

TCPIP詳解 卷一 協議 7 5小結

ping程式是對兩個tcp ip系統連通性進行測試的基本工具。它只利用icmp回顯請求和 回顯應答報文,而不用經過傳輸層 tcp udp ping伺服器一般在核心中實現icmp的功能。我們分析了在lan wan以及slip鏈路 撥號和線路 上執行ping程式的輸出結果,並對序列線路上的slip鏈路吞...

TCPIP詳解 卷一 協議 6 7小結

本章對每個系統都必須包括的internet控制報文協議進行了討論。圖6 3列出了所有的icmp報文型別,其中大多數都將在以後的章節中加以討論。我們詳細討論了icmp位址掩碼請求和應答以及時間戳請求和應答。這些是典型的請求 應答報文。二者在icmp報文中都有識別符號和序列號。傳送端應用程式在標識字段記...