根据这里:
...您的数据包到达该点并返回您的计算机的往返时间 (RTT)。
在示例中,它显示:
第 5 跳的 RTT 小于第 4 跳。
但
RTT_4 = t1 + t2 + t5
RTT_5 = t1 + t2 + t3 + t6
RTT_5 < RTT_4 怎么可能?还是因为 t3 + t6 < t5 有可能?
2022 年 3 月 21 日上午 10 点 49 分添加
(感谢 Ron Mauphin 的回答。)
我认为我之前对 traceroute 如何工作的说明是错误的。它应该是这样的:
RTT (Round Trip Time) = t1 + t2 + t3
TTL = number of hops
重要的提示
这些线是虚线,因为它们不一定是直接交通。中间可以有路由器。Traceroute 只关心每一行的来源和目的地。
Traceroute 是一个智能工具,它利用路由器在数据包的 TTL 达到 0 时发送的 TTL 和 ICMP 超时错误消息。有效的结果是粗略地获得源到达目的地的路径和到达每个节点的 RTT中间。这很粗糙,因为无法保证 traceroute 显示的节点真的/严格来说是一个接一个。traceroute 发送的每个探测数据包都可能通过完全不同的路径,该路径不包括之前探测的所有先前的中间节点。
严格来说,traceroute 本质上是随着距离的增加(TTL,即最大允许跳数)进行探测。它发出 3 个数据包,但即使这 3 个数据包也不能保证遵循相同的路径。它根本不测量延迟。它只说了两件事:
- 这次可以达到多少TTL。
- 如果可以在指定的最大 TTL/跳数内到达某个目的地。
但是,它仍然很有用。
一个相关的线程: traceroute的解释


