TCPIP詳解 卷一 協議 9 6ICMP路由器發現報文

2022-07-23 11:51:06 字數 1425 閱讀 9416

在本章前面已提到過一種初始化路由表的方法,即在配置檔案中指定靜態路由。這種方法經常用來設定預設路由。另一種新的方法是利用icmp路由器通告和請求報文。

一般認為,主機在引導以後要廣播或多播傳送乙份路由器請求報文。一台或更多台路由器響應乙份路由器通告報文。另外,路由器定期地廣播或多播傳送它們的路由器通告報文,允許每個正在監聽的主機相應地更新它們的路由表。

rfc1256[deering1991]確定了這兩種icmp報文的格式。icmp路由器請求報文的格式如圖9-6所示。icmp路由器通告報文的格式如圖9-7所示。

路由器在乙份報文中可以通告多個位址。位址數指的是報文中所含的位址數。位址項大小指的是每個路由器位址32bit字的數目,始終為2。生存期指的是通告位址有效的時間(秒數)。

圖9-6icmp路由器請求報文格式

圖9-7icmp路由器通告報文格式

接下來是一對或多對ip位址和優先順序。ip位址必須是傳送路由器的某個位址。優先順序是乙個有符號的32bit整數,指出該ip位址作為預設路由器位址的優先等級,這是與子網上的其他路由器相比較而言的。

值越大說明優先順序越高。優先順序為0x80000000說明對應的位址不能作為預設路由器位址使用,儘管它也包含中通告報文中。優先順序的預設值一般為0。

9.6.1路由器操作

當路由器啟動時,它定期在所有廣播或多播傳送介面上傳送通告報文。準確地說,這些通告報文不是定期傳送的,而是隨機傳送的,以減小與子網上其他路由器發生衝突的概率。

一般每兩次通告間隔450秒和600秒。乙份給定的通告報文預設生命週期是30分鐘。

使用生命週期域的另乙個時機是當路由器上的某個介面被關閉時。在這種情況下,路由器可以在該介面上傳送最後乙份通告報文,並把生命週期值設為0。

除了定期傳送主動提供的通告報文以外,路由器還要監聽來自主機的請求報文,並傳送路由器通告報文以響應這些請求報文。

如果子網上有多台路由器,由系統管理員為每個路由器設定優先等級。例如,主預設路由器就要比備份路由器具有更高的優先順序。

9.6.2主機操作

主機在引導期間一般傳送三份路由器請求報文,每三秒鐘傳送一次。一旦接收到乙個有效的通告報文,就停止傳送請求報文。

主機也監聽來自相鄰路由器的請求報文。這些通告報文可以改變主機的預設路由器。另外,如果沒有接收到來自當前預設路由器的通告報文,那麼預設路由器會超時。

只要有一般的預設路由器,該路由器就會每隔10分鐘傳送通告報文,報文的生命週期是

30分鐘。這說明主機的預設表項是不會超時的,即使錯過乙份或兩份通告報文。

9.6.3實現

路由器發現報文一般由使用者程序(守護程式)建立和處理。這樣,在圖9-1中就有另乙個修改路由表的程式,儘管它只增加或刪除預設表項。守護程式必須把它配置成一台路由器或主機來使用。

這兩種icmp報文是新加的,不是所有的系統都支援它們。在我們的網路中,只有

支援這兩種報文(守護程式)。儘管rfc建議盡可能用ip多播傳送,但是路由器發現還可以利用廣播報文來實現。

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報文中都有識別符號和序列號。傳送端應用程式在標識字段記...