为什么在traceroute日志中仍然需要一个括号再次包含它?

网络工程 跟踪路由
2022-02-16 09:48:33

traceroute104.210.32.76

Traceroute Starting…

traceroute to 104.210.32.76 (104.210.32.76), 64 hops max, 72 byte packets
 1  10.10.10.1 (10.10.10.1)  25.326 ms  1.344 ms  1.135 ms
 2  100.64.0.1 (100.64.0.1)  3.942 ms  9.469 ms  5.892 ms
 3  * * *
 4  171.208.203.97 (171.208.203.97)  6.452 ms  113.181 ms  15.091 ms
 5  59.43.80.61 (59.43.80.61)  14.810 ms  7.005 ms  7.341 ms
 6  59.43.146.217 (59.43.146.217)  39.508 ms  38.473 ms  46.940 ms
 7  * 59.43.130.158 (59.43.130.158)  34.990 ms  41.833 ms
 8  59.43.187.146 (59.43.187.146)  48.928 ms  50.978 ms  55.455 ms
 9  59.43.183.110 (59.43.183.110)  64.377 ms  39.456 ms  43.075 ms
10  59.43.247.22 (59.43.247.22)  57.411 ms  50.446 ms  60.908 ms
11  210.48.136.74 (210.48.136.74)  44.653 ms  41.837 ms  41.412 ms
12  * * *
13  104.210.32.76 (104.210.32.76)  79.754 ms  53.262 ms  59.980 ms

我对日志有一些疑问:

  1. 数据列表,例如100.64.0.1 (100.64.0.1),它们都是网络的网关吗?为什么有括号?可以代表它的100.64.0.1地址,为什么还需要一个括号再次包含它?

  2. 为什么第 7 行有一个*且只有两个持续时间?三个持续时间的含义是什么?

  3. 我知道* * *hop 不允许 ping 的方式,那么,第 11 行的 address( 210.48.136.74) 是否直接传输到第 13( 104.210.32.76) 行?

1个回答

1 - 默认情况下,traceroute 尝试执行反向 DNS 查找,并将输出 DNS 名称,后跟括号中的 IP 地址。

许多路由器的 IP 地址没有 PTR 记录,因此 DNS 查找失败并且 traceroute 显示 IP 地址代替不存在的 DNS 名称,后跟括号中的 IP 地址。

如果您使用 -n 开关,告诉 traceroute 不执行反向 DNS 查找,您将只显示 IP 地址。

2 - 同样默认情况下,traceroute 会为每个 TTL 值发送三个探测,并显示每个探测的往返时间,因此您会看到三个“持续时间”。从我的 MacOS 系统上的 traceroute 手册页:

在每个 ttl 设置处发送三个探测(使用 -q 标志更改),并打印一行显示 ttl、网关地址和每个探测的往返时间。如果探测答案来自不同的网关,则会打印每个响应系统的地址。如果 5 秒内没有响应。超时间隔(使用 -w 标志更改),为该探针打印一个“*”。

因此,对于第 7 行,您收到了来自 3 个探测中的 2 个的响应。

您可以使用 -q 开关更改发送的探测数以及显示的 RTT 数。

3 - 不,第 11 跳和第 13 跳之间有一个路由器,但该路由器的配置使其不响应 traceroute 探测。

我建议您阅读 traceroute 的手册页,其中包含几个示例,有助于理解它的工作原理以及如何解释结果。

另请注意,在您控制的网络中,traceroute 是一个有用的工具,您知道预期结果,但在 Internet 上运行 traceroute 可能会产生奇怪/意外的结果。