知道为什么到外部主机的 tracert (traceroute) 会返回以下内容吗:
tracert 10.34.25.23
1 myborderouter.example3.com (10.52.2.41) 1.113 ms 1.103 ms 1.100 ms
2 ae0--931.maincorerouter.example2.com (10.102.65.44) 4.028 ms 4.046 ms 4.042 ms
3 gi0-1.mainrouter.example2.com (10.72.12.85) 6.653 ms 6.661 ms 6.645 ms
4 * * *
5 somebox.example.com (10.34.25.23) 7.361 ms 7.339 ms 8.723 ms
6 somebox.example.com (10.34.25.23) 11.047 ms 10.882 ms 10.802 ms
7 somebox.example.com (10.34.25.23) 8.318 ms 7.076 ms 7.016 ms
当 * * * 应该是:10.34.25.23(10.72.12.85 和 10.34.25.23 之间没有其他设备)
ping 10.34.25.23
PING 10.34.25.23 (10.34.25.23) 56(84) bytes of data.
64 bytes from 10.34.25.23: icmp_seq=1 ttl=122 time=8.21 ms
64 bytes from 10.34.25.23: icmp_seq=2 ttl=122 time=8.28 ms
64 bytes from 10.34.25.23: icmp_seq=3 ttl=122 time=7.73 ms
64 bytes from 10.34.25.23: icmp_seq=4 ttl=122 time=7.21 ms
****所有地址均已更改,不反映真实地址。**
答案1
因为第四台主机没有完全处理 ICMP(可能是由于安全原因和/或配置错误)。
Traceroute 基于“ICMP 超时”响应,当 ICMP 数据包超出其最大 TTL 时返回该响应,因此中间路由器会丢弃它;但可以配置路由器不通知发送者 ICMP 数据包已过期,即使它回复 ping(使用不同的 ICMP 数据包类型)。
更多信息请点击这里:http://en.wikipedia.org/wiki/Traceroute
答案2
我们都知道 ping 和 tracert 本质上是一样的。ping 是一个 ICMP Echo 请求,其 TTL 设置为机器的最大值(除非以某种方式被覆盖)。
Tracert 使用相同的 ICMP 请求,但 TTL 值不同 {1,2,3,4,...max}。
如果不是因为 ping 成功,我会同意存在路由环路。如果存在路由环路,ping 应该会失败。
@OP - Ping 10.102.65.44 以便我们可以看到您的默认 TTL 是多少。