网页卡、视频转圈、游戏掉线,打开 Ping 测试一看,延迟又高又抖。可你想知道的是:问题到底出在哪一段线路上? 这时候就要用路由追踪工具:traceroute 和 MTR。
这篇文章讲它们的原理、命令怎么用,以及最关键的部分:怎么读结果、哪些现象是真问题、哪些是假警报。
路由追踪的原理
数据从你的电脑到目标服务器,要经过很多个路由器,每一个叫"一跳"。traceroute 的做法是:
- 发出一批数据包,把 TTL(生存时间)设为 1,第一个路由器收到后 TTL 减到 0,会丢弃并返回一个"超时"通知,你就知道了第一跳的地址和往返时间;
- 把 TTL 设为 2,同理得到第二跳;
- 依次增加,直到到达目标。
所以 traceroute 能列出路径上每一跳的地址和延迟。注意它只显示去程的路径,回程路径可能完全不同。
命令怎么用
Windows:
tracert example.com
pathping example.com
pathping 会在追踪之后统计每一跳的丢包,耗时较长。
Linux / macOS:
traceroute example.com
Linux 的 traceroute 默认用 UDP 探测包,Windows 的 tracert 用 ICMP。有些网络会拦截其中一种,所以结果显示不全时,可以换协议再试,比如 Linux 上用 traceroute -I 走 ICMP,或 traceroute -T -p 443 走 TCP。
MTR(推荐): MTR 把 ping 和 traceroute 合在一起,持续探测并统计每一跳的丢包和延迟,结果比一次性的 traceroute 可靠得多。
mtr -rwzbc 100 example.com
参数含义:-r 报告模式、-w 宽输出、-z 显示 AS 号、-b 同时显示 IP 和主机名、-c 100 探测 100 轮。Windows 上可以用 WinMTR 这类图形工具。
怎么读结果:几个关键的字段
MTR 报告里常见这几列:
- Loss%:该跳的丢包率;
- Snt:已发送的包数;
- Last / Avg / Best / Wrst:最近、平均、最好、最差的往返延迟(毫秒);
- StDev:延迟的标准差,越大说明抖动越厉害。
判断真假问题的四条规则
1. 看最后一跳,别只看中间。 真正影响你的是到达目标的整体质量。如果最后一跳没有丢包、延迟正常,中间某一跳显示的丢包通常可以忽略。
2. 中间跳丢包、后面不丢,是假警报。 很多路由器会把"回复探测包"的优先级调得很低,或限制回复速率,所以中间跳显示高丢包,但转发真实流量没问题。判断依据是:真正的丢包会一直延续到后面所有的跳,包括最后一跳。
3. 星号 * 不等于线路断了。 星号表示在超时时间内没收到回复,可能是该路由器配置为不回复,或防火墙过滤了探测包。如果后面的跳依然正常响应,说明流量是通的。
4. 延迟突增要看位置。 如果某一跳开始延迟明显升高,并且之后所有跳都保持在高位,那这里很可能是真正的瓶颈或长距离链路。如果只有中间某一跳高、后面又降下来,则多半是该设备处理探测包慢,不影响你。
常见的几种现象与解读
- 延迟在某个国际出口附近从几十毫秒跳到一百多毫秒:跨洋链路的正常现象,光传播需要时间。大致每 100 公里至少 1 毫秒的往返;
- 某一跳之后丢包持续存在:这一跳或它之后的链路有问题,把这段信息发给你的网络服务商;
- 最后一跳延迟忽高忽低、StDev 很大:抖动问题,视频、游戏、AI 流式输出会受影响,见《网络延迟、抖动与丢包》;
- 路径绕远:比如到邻近国家的服务器却先经过很远的地区,常见于线路选路不佳,也可能是 IP 位置与实际使用地不符的线索,见《原生 IP 与广播 IP》。
把结果交给服务商时要带什么
想让对方认真处理,不要只说"网很卡"。要带上:
- 完整的 MTR 报告(至少 100 轮),别只截最后几行;
- 测试时间、你的出口 IP、目标地址;
- 最好同时提供反方向的结果,因为回程路径可能不同;
- 对比信息:换网络或换时间段后,结果有没有差别。
和 ipscoper 的 Ping 测试怎么配合
浏览器没办法发 ICMP 包,所以 ipscoper Ping 测试测的是 HTTP 往返延迟,包含 DNS、TCP 和 TLS 耗时。它适合做第一步判断:到某些服务的整体延迟、抖动、是否不可达。判断好坏的标准见《Ping 多少算正常》。一旦发现问题,再用 traceroute 或 MTR 去定位具体哪一段。这两者是接力关系,不是替代关系。
小结
读路由追踪结果,核心是三点:看最后一跳、看问题是否一直延续到后面、别被中间跳的丢包和星号吓到。掌握这几条,你就能区分真正的线路问题和设备的"假警报",也能给服务商提供有用的证据。如果你的问题发生在使用特定服务时,可以先按《AI 服务总被要求验证或限制?先自查 IP 与网络环境》里的步骤把"被限制"和"网络差"分开。