使用traceroute程序的-g選項,可以為寬松的源站選路指明一些中間路由器。采用該選項可以最多指定8個中間路由器(其個數是8而不是9的原因是,所使用的編程接口要求最后的表目是目的主機)。
在圖8-4中,去往NIC,即nic.ddn.mil的路由經過NASA Science Internet。在圖8-8中,我們通過指定路由器enss142.UT.westnet.net(192.31.39.21) 作為中間路由器來強制數據報通過NSFNET:

在這種情況下,看起來路徑中共有16跳,其平均RTT大約是350 ms。而圖8-4的通常選路則只有13跳,其平均RTT約為322 ms。默認路徑看起來更好一些(在建立路徑時,還需要考慮其他的一些因素。其中一些必須考慮的因素是所包含網絡的組織及政治因素)。
前面我們說看起來有16跳,這是因為將其輸出結果與前面的通過NSFNET(圖8-5)的示例比較,發現在本例采用寬松源路由,選擇了3個路由器(這可能是因為路由器對源站選路數據報產生ICMP超時差錯報文上存在一些差錯)。在netb和butch路由器之間的gateway.tuc.noao.edu路由器丟失了,同時,位于Gabby和enss142.UT.west.net之間的Westgate.Telcom.Arizona.edu和uu-ua.AZ.westnet.net兩個路由器也丟失了。在這些丟失的路由器上可能發生了與接收到寬松的源站選路選項數據報有關的程序問題。實際上,當采用NSFNET時,信源和NIC之間的路徑有19跳。本章習題8.5繼續對這些丟失路由器進行討論。
同時本例也指出了另一個問題。在命令行,我們必須指定路由器enss142.UT.westnet.net的點分十進制IP地址,而不能以其域名代替。這是因為,反向域名解析(14.5節中描述的通過IP地址返回域名)將域名與I P地址相關聯,但是前向解析(即給出域名返回IP地址)則無法做到。在DNS中,前向映射和反向映射是兩個獨立的文件,而并非所有的管理者都同時擁有這兩個文件。因此,在一個方向是工作正常而另一個方向卻失敗的情況并不少見。
還有一種以前沒有碰到過的情況是在TTL字段為8的情況下,對于第一個RTT,打印一個星號。這表明,發生超時,在5秒內未收到本次探查的應答信號。
將本圖與圖8-4相比較,還可以得出一個結論,即路由器nsn-FIX-pe.sura.net同時與NSFNET和NASA Science Internet相連。
- 第1章 概述
- 1.1 引言
- 1.2 分層
- 1.3 TCP/IP的分層
- 1.4 互聯網的地址
- 1.5 域名系統
- 1.6 封裝
- 1.7 分用
- 1.8 客戶-服務器模型
- 1.9 端口號
- 1.10 標準化過程
- 1.11 RFC
- 1.12 標準的簡單服務
- 1.13 互聯網
- 1.14 實現
- 1.15 應用編程接口
- 1.16 測試網絡
- 1.17 小結
- 第2章 鏈路層
- 2.1 引言
- 2.2 以太網和IEEE 802封裝
- 2.3 尾部封裝
- 2.4 SLIP:串行線路IP
- 2.5 壓縮的SLIP
- 2.6 PPP:點對點協議
- 2.7 環回接口
- 2.8 最大傳輸單元MTU
- 2.9 路徑MTU
- 2.10 串行線路吞吐量計算
- 2.11 小結
- 第3章 IP:網際協議
- 3.1 引言
- 3.2 IP首部
- 3.3 IP路由選擇
- 3.4 子網尋址
- 3.5 子網掩碼
- 3.6 特殊情況的IP地址
- 3.7 一個子網的例子
- 3.8 ifconfig命令
- 3.9 netstat命令
- 3.10 IP的未來
- 3.11 小結
- 第4章 ARP:地址解析協議
- 4.1 引言
- 4.2 一個例子
- 4.3 ARP高速緩存
- 4.4 ARP的分組格式
- 4.5 ARP舉例
- 4.5.1 一般的例子
- 4.5.2 對不存在主機的ARP請求
- 4.5.3 ARP高速緩存超時設置
- 4.6 ARP代理
- 4.7 免費ARP
- 4.8 arp命令
- 4.9 小結
- 第5章 RARP:逆地址解析協議
- 5.1 引言
- 5.2 RARP的分組格式
- 5.3 RARP舉例
- 5.4 RARP服務器的設計
- 5.4.1 作為用戶進程的RARP服務器
- 5.4.2 每個網絡有多個RARP服務器
- 5.5 小結
- 第6章 ICMP:Internet控制報文協議
- 6.1 引言
- 6.2 ICMP報文的類型
- 6.3 ICMP地址掩碼請求與應答
- 6.4 ICMP時間戳請求與應答
- 6.4.1 舉例
- 6.4.2 另一種方法
- 6.5 ICMP端口不可達差錯
- 6.6 ICMP報文的4.4BSD處理
- 6.7 小結
- 第7章 Ping程序
- 7.1 引言
- 7.2 Ping程序
- 7.2.1 LAN輸出
- 7.2.2 WAN輸出
- 7.2.3 線路SLIP鏈接
- 7.2.4 撥號SLIP鏈路
- 7.3 IP記錄路由選項
- 7.3.1 通常的例子
- 7.3.2 異常的輸出
- 7.4 IP時間戳選項
- 7.5 小結
- 第8章 Traceroute程序
- 8.1 引言
- 8.2 Traceroute程序的操作
- 8.3 局域網輸出
- 8.4 廣域網輸出
- 8.5 IP源站選路選項
- 8.5.1 寬松的源站選路的traceroute程序示例
- 8.5.2 嚴格的源站選路的traceroute程序示例
- 8.5.3 寬松的源站選路traceroute程序的往返路由
- 8.6 小結
- 第9章 IP選路
- 9.1 引言
- 9.2 選路的原理
- 9.2.1 簡單路由表
- 9.2.2 初始化路由表
- 9.2.3 較復雜的路由表
- 9.2.4 沒有到達目的地的路由
- 9.3 ICMP主機與網絡不可達差錯
- 9.4 轉發或不轉發
- 9.5 ICMP重定向差錯
- 9.5.1 一個例子
- 9.5.2 更多的細節
- 9.6 ICMP路由器發現報文
- 9.6.1 路由器操作
- 9.6.2 主機操作
- 9.6.3 實現
- 9.7 小結