我在两台服务器之间进行测试traceroute
(仅单跳),我想知道为什么后续运行显示不同的结果?
(1)
# traceroute to 172.22.10.12 (172.22.10.12), 30 hops max, 60 byte packets
1 172.22.10.12 0.167 ms 0.634 ms 0.152 ms
(2)
# traceroute to 172.22.10.12 (172.22.10.12), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * 172.22.10.12 0.120 ms 0.094 ms
编辑:2013 年 12 月 18 日星期三 18:09:23 GMT
为什么这个问题有负面投票?我想知道为什么 traceroute 每次显示的结果(跳数)都不同。
编辑:2013 年 12 月 18 日星期三 19:05:44 GMT
两台服务器都连接到单个交换机,因此不存在任何“路由”,路径应该相同:
# ping -R -c 5 172.22.10.12
PING 172.22.10.12 (172.22.10.12) 56(124) bytes of data.
64 bytes from 172.22.10.12: icmp_seq=1 ttl=64 time=0.161 ms
RR: 172.22.10.10
172.22.10.12
172.22.10.12
172.22.10.10
64 bytes from 172.22.10.12: icmp_seq=2 ttl=64 time=0.470 ms (same route)
64 bytes from 172.22.10.12: icmp_seq=3 ttl=64 time=0.113 ms (same route)
64 bytes from 172.22.10.12: icmp_seq=4 ttl=64 time=0.162 ms (same route)
64 bytes from 172.22.10.12: icmp_seq=5 ttl=64 time=0.160 ms (same route)
--- 172.22.10.12 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4001ms
rtt min/avg/max/mdev = 0.113/0.213/0.470/0.130 ms
答案1
第二条跟踪路由包含 5 组* * *
,并未指示不同的路径。您已告诉我们您知道没有其他路径,这些事物位于同一 L2 域中,甚至位于同一交换机上。Tracert 将绝不显示中间跳跃,但事实上在这种情况下并没有这样做。
无论出于什么原因,您的目标主机在第二次 tracert 的前几次尝试中都没有回复 ICMP。 这就是您看到的全部内容。可能是因为太忙而无法回复 ICMP?这就是简单的 ping 测试无法准确判断服务是否正常运行的原因之一。
(我不知道你为什么使用 L3 工具来展示一些与 L3 无关的行为。)
答案2
IP 流量不一定遵循相同的路径。因此,在发送 ICMP 数据包的 traceroute 的情况下,它们也不一定总是遵循相同的路径(ICMP 在 IP 之上运行)
希望这可以帮助。