MTR 是 My Traceroute 的缩写,它把 traceroute 和 ping 的功能合二为一:不仅显示数据包经过的每一跳路由,还实时统计每一跳的丢包率和延迟波动。这让它成为诊断跨网络问题的终极利器。
但现实是,90% 的用户只会运行 mtr 命令,看到结果却不知道每一列是什么意思,更不知道如何判断哪里出问题了。这篇文章用真实案例把这件事讲透。
一、MTR 每一列到底代表什么
用 BiuPing 的在线 MTR 工具或本地 mtr 命令跑一次,会看到类似这样的输出:
HOST: myserver Loss% Snt Last Avg Best Wrst StDev
1. 192.168.1.1 0.0% 10 0.8 0.9 0.6 1.2 0.2
2. 10.10.10.1 0.0% 10 1.5 1.8 1.3 2.1 0.3
3. 111.202.4.5 0.0% 10 5.2 5.5 4.9 6.8 0.6
4. 219.158.12.45 10.0% 10 25.4 26.1 24.8 30.2 1.8
5. 219.158.9.178 0.0% 10 28.3 28.5 27.9 29.1 0.4
6. 202.97.65.221 0.0% 10 45.6 46.2 45.1 48.9 1.2
...
每一列的含义:
- HOST:这一跳的路由器 IP 或域名。
- Loss%:丢包率——这一跳回应 ICMP 包的失败比例。这是最重要的指标。
- Snt:已发送的探测包数量。
- Last:最近一次探测的延迟(毫秒)。
- Avg:平均延迟。
- Best:最小延迟(最好一次)。
- Wrst:最大延迟(最差一次)。
- StDev:延迟的标准差,衡量抖动程度。
二、看 MTR 最容易踩的三个坑
坑 1:中间跳丢包 ≠ 网络有问题
很多人看到第 4 跳 Loss% 10% 就慌了,以为线路不通。但看 Avg 和后续跳,第 5 跳第 6 跳 Loss% 都是 0,延迟正常。这意味着数据包实际上正常转发到了终点。
原因是:中间路由器为了保护 CPU 资源,经常对 ICMP 包降级处理。它转发 TCP/UDP 业务包是优先的,但回复给你的 ICMP Echo 会故意丢掉一部分。这种丢包只是"回复不及时",不是真的丢了你的业务数据。
判断依据:只看最后一跳的 Loss%。如果最后一跳是 0%,中间任何跳的丢包都可以忽略。
坑 2:延迟突然上升不代表某一跳"慢"
假设你看到这样的结果:
3. 111.202.4.5 5ms
4. 219.158.12.45 50ms
5. 219.158.9.178 55ms
6. 目标 60ms
很多人以为第 3 跳到第 4 跳之间"堵了"。其实不一定。真正需要关注的是相邻两跳的延迟差值:
- 第 3→4 跳延迟增加了 45ms(有可能是跨城市/跨运营商)
- 第 4→5 跳延迟只增加 5ms(说明 4→5 之间是同机房传输)
- 第 5→6 跳延迟只增加 5ms(目标到了)
所以真正的"长链路"在 3→4 之间——这里可能是从你所在城市穿越到了省骨干网,或者跨入了不同运营商。这不是故障,是物理距离决定的正常延迟。
坑 3:Wrst 很高不代表线路差
偶尔出现一次 Wrst 值高达几百毫秒,但 Avg 很低——这只是偶发抖动。但如果 StDev(标准差)超过 Avg 的 30%,说明延迟持续波动,这才是真问题。
三、四种典型故障模式识别
模式 A:终点节点丢包(服务器故障)
1. 网关 0.0%
2. ISP节点 0.0%
3. 骨干网 0.0%
...
10. 目标服务器 30.0% ← 所有包都丢
所有中间跳都正常,只有终点丢包。说明服务器本身或服务器所在机房的入口拥塞。联系服务器提供商或检查服务器负载。
模式 B:特定运营商路径故障
1-4. 本地运营商 0.0%
5. 跨网交换点 80.0% ← 全部都丢
6-10. 目标运营商路径 100% ← 无响应
在跨网交换点开始大量丢包。这是两个运营商互联带宽不足或互联故障——典型的电信-联通互访问题。解决办法:换用有 CN2/BGP 线路的服务器,或让服务商做三网优化。
模式 C:海外入口拥塞(晚高峰拥堵)
1-5. 国内线路 0.0% 延迟 20ms
6. 国际出口 5.0% 延迟 150ms
7. 海外第一跳 5.0% 延迟 180ms
8-12. 目标海外 5.0% 延迟 180ms
国际出口开始延迟翻了近 10 倍,但丢包率不高。这是国际出口带宽拥塞——中国出境带宽有限,晚上 8-12 点最严重。用 BiuPing 的路由追踪工具在不同时段多测几次,能明显看到延迟差异。
模式 D:不对等路由(回程走了坏线路)
有时你 ping 海外服务器延迟 300ms,但海外服务器 ping 回你只要 100ms——这就是不对等路由。MTR 只能看去程,看不出回程。这种情况要在两端都跑 MTR 对比。
四、国内跨运营商线路判断
看 MTR 结果里的 IP 段归属,能判断数据包走的是什么线路。BiuPing 的路由追踪工具自动标注了每一跳的 ASN 和运营商信息,方便对比。
| IP 段特征 | 线路类型 | 特点 |
|---|---|---|
| 59.43.x.x | 电信 CN2 GIA | 国际精品线路,延迟最低 |
| 202.97.x.x | 电信 163 骨干 | 普通国际出口,晚高峰易堵 |
| 219.158.x.x | 联通骨干 169 | 一般走 AS4837 |
| 221.183.x.x | 移动 CMI | 国际出口走香港 |
| 223.118.x.x | 移动 CMI 国际 | 走新加坡/日本 |