1.當路由器收到一份IP資料報但又不能轉發時,就要傳送一份ICMP“主機不可達”差錯報文(ICMP主機不可達報文的格式如圖6-10所示)。可以很容易發現,在網路上把接在路由器sun上的撥號SLIP鏈路斷開,然後試圖透過該SLIP鏈路傳送分組給任何指定sun為預設路由器的主機。
2.在透過在路由器sun上執行netstat命令可以看到,當接通SLIP鏈路啟動時就要在路由表中增加一項使用SLIP鏈路的表項,而當斷開SLIP鏈路時則刪除該表項。這說明當SLIP鏈路斷開時,sun的路由表中就沒有預設項了。但是我們不想改變網路上其他主機的路由表,即同時刪除它們的預設路由。相反,對於sun不能轉發的分組,對它產生的ICMP主機不可達差錯報文進行計數。
3.在主機svr4上執行ping程式就可以看到這一點,它在撥號SLIP鏈路的另一端(撥號鏈路已被斷開):
4.在主機bsdi上執行tcpdump命令的輸出如圖所示。
5.當路由器sun發現找不到能到達主機gemini的路由時,它就響應一個主機不可達的回顯請求報文。 如果把SLIP鏈路接到Internet上,然後試圖ping一個與Internet沒有連線的IP地址,那麼應該會產生差錯。但令人感興趣的是,可以看到在返回差錯報文之前,分組要在Internet上傳送多遠:
6.在發現該IP地址是無效的之前,該分組已通過了6個路由器。只有當它到達NSFNET骨幹網的邊界時才檢測到差錯。這說明,6個路由器之所以能轉發分組是因為路由表中有預設項。只有當分組到達NSFNET骨幹網時,路由器才能知道每個連線到Internet上的每個網路的資訊。這說明許多路由器只能在區域性範圍內工作。
1.當路由器收到一份IP資料報但又不能轉發時,就要傳送一份ICMP“主機不可達”差錯報文(ICMP主機不可達報文的格式如圖6-10所示)。可以很容易發現,在網路上把接在路由器sun上的撥號SLIP鏈路斷開,然後試圖透過該SLIP鏈路傳送分組給任何指定sun為預設路由器的主機。
2.在透過在路由器sun上執行netstat命令可以看到,當接通SLIP鏈路啟動時就要在路由表中增加一項使用SLIP鏈路的表項,而當斷開SLIP鏈路時則刪除該表項。這說明當SLIP鏈路斷開時,sun的路由表中就沒有預設項了。但是我們不想改變網路上其他主機的路由表,即同時刪除它們的預設路由。相反,對於sun不能轉發的分組,對它產生的ICMP主機不可達差錯報文進行計數。
3.在主機svr4上執行ping程式就可以看到這一點,它在撥號SLIP鏈路的另一端(撥號鏈路已被斷開):
4.在主機bsdi上執行tcpdump命令的輸出如圖所示。
5.當路由器sun發現找不到能到達主機gemini的路由時,它就響應一個主機不可達的回顯請求報文。 如果把SLIP鏈路接到Internet上,然後試圖ping一個與Internet沒有連線的IP地址,那麼應該會產生差錯。但令人感興趣的是,可以看到在返回差錯報文之前,分組要在Internet上傳送多遠:
6.在發現該IP地址是無效的之前,該分組已通過了6個路由器。只有當它到達NSFNET骨幹網的邊界時才檢測到差錯。這說明,6個路由器之所以能轉發分組是因為路由表中有預設項。只有當分組到達NSFNET骨幹網時,路由器才能知道每個連線到Internet上的每個網路的資訊。這說明許多路由器只能在區域性範圍內工作。