第8章 Traceroute程序
8.1 引言
Traceroute程序由Van Jacobson编写,用于查看IP数据报经过的路由。
8.2 Traceroute程序的操作
原理
- 发送TTL=1的UDP数据报
- 第一个路由器返回ICMP超时
- 发送TTL=2、3…直到到达目的主机
- 目的主机返回ICMP端口不可达
关键点
- 使用UDP,目的端口号>30000
- 每跳发送3个探测包
- 打印RTT和路由器地址
8.3 局域网输出
traceroute to slip (140.252.13.65), 30 hops max 1 bsd (140.252.13.35) 20 ms 10 ms 10 ms 2 slip (140.252.13.65) 120 ms 120 ms 120 ms
text
ICMP超时报文
- 类型:11
- 代码:0(传送超时)/ 1(分片重装超时)
8.4 广域网输出
典型输出包含:
- 本地路由器
- 地区性网络
- NSFNET主干网
- 目标网络
8.5 IP源站选路选项
宽松源站选路(LSRR)
- code:0x83
- 指定必须经过的路由器列表
- 可在列表之间自由选择路径
严格源站选路(SSRR)
- code:0x89
- 指定完整路径
- 路由器不能选择其他路径
源路由处理
- 发送端指定路由清单
- 每个路由器将目的地址替换为清单中的下一项
- 记录经过的路由器地址
8.6 小结
Traceroute使用ICMP超时和端口不可达报文来发现路由。支持源站选路选项。