路由追踪为什么有的跳显示超时
看到星号别慌,这大概率不是故障。
超时是怎么来的
路由追踪靠路由器回 ICMP TTL 超时消息来识别每一跳。TTL 减到 0,设备本该回一句「包在我这过期了」。
但很多设备选择不回。原因有两种:一是安全策略,不想暴露自己的地址;二是性能考虑,回这种包要占 CPU,干脆丢掉。
不回,工具等不到响应,就显示成 * 或者超时。可数据包本身还是被正常转发了。
什么时候是正常的
判断标准很简单:看后面。
如果中间几跳超时,但后续跳有响应、最终目标也通了,那就是正常的隐藏节点。路径是通的,只是有几台设备不愿意露脸。
骨干网的核心路由器尤其常见,它们每天处理海量流量,不会为探测包浪费资源。
什么时候是真异常
三种情况要警惕:
一是从某一跳开始,后面全部超时,目标也不通。这说明流量真的断在那里了。
二是目标能通,但最后几跳全超时且延迟异常高,可能是末端防火墙在丢包。
三是同一跳在多次追踪里时通时不通,且伴随业务抖动,那可能是链路不稳。
别用超时跳数算距离
有人喜欢数「经过了多少跳」来判断远近。中间有隐藏节点时,这个数字是偏小的,不能作为依据。
要看的是有响应的那些跳的归属地和延迟,而不是总数。
怎么进一步确认
换个协议再测。很多工具支持 ICMP、TCP、UDP 三种探测方式,ICMP 被限速时,用 TCP 追踪往往能看到完整路径。
再不行就用 MTR 连续跑一段时间,看丢包是集中在某一跳还是均匀分布。