正确答案
Tracert程序发送一份TTL字段为1的IP数据报给目的主机。处理这份数据报的第一个路由器将TTL值减1,丢弃该数据报,并发回一份超时ICMP报文,这样就得到了该路径中的第一个路由器的地址。然后Tracert程序发送一份TTL值为2的数据报,这样就可以得到第二个路由器的地址。继续这个过程直至该数据报到达目的主机。Tracert程序发送一份UDP数据报给目的主机,但它选择一个不可能的值作为UDP端口号(大于30,000),使目的主机的任何一个应用程序都不可能使用该端口。因此,当该数据报到达时,将使目的主机的UDP模块产生一份“端口不可到达”错误的ICMP报文。这样,Traceroute程序所要做的就是区分接收到的ICMP信息是超时还是端口不可到达,以判断什么时候结束。