定义:
- Traceroute程序时一个能更深入探索TCP/IP协议的方便可用的工具。
功能:
- Traceroute程序可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由。
- Traceroute程序还可以让我们使用IP源路由选项。
存在意义:
- 不是所有路由器都支持记录路由选项
- 记录路由一般是单向的选项,记录地址翻了一番(一来一回)
- IP首部中留给选项的空间有限,不能存放当前大多数的路径
操作:
- Traceroute程序使用ICMP报文和IP首部中的TTL字段(生存周期)。
- TTL字段是由发送端初始设置一个8bit字段
- 每个处理数据报的路由器都需要把TTL的值减1,即跳站计数器
- 源主机发送TTL为1的IP数据报给目的主机,处理该数据报的第一个路由器将TTL值减1,丢弃该数据报,并发回一份超时ICMP报文,这样就得到了该路径的第一个路由器的地址。
- 为区分目的主机和路径中路由器的地址,Traceroute程序发送一份UDP数据报给目的主机,但选择一个不可能的值作为UDP端口(大于30000),使目的主机的任何一个应用程序都不可能使用该端口。因此,当该数据报到达时,目的主机的UDP模块产生一份“端口不可达” 错误的ICMP报文。Traceroute程序需做的就是区分接收到的ICMP报文是超时还是端口不可达,以判断什么时候结束
局域网输出
- 输出的第1个无标号行给出了目的主机名和其I P地址,指出t r a c e r o u t e程序最大的T T L字段值为3 0