首页/网络/BGP 与广域网速查/mtr:持续路径质量监测
广域网排障60 条

mtr:持续路径质量监测

mtr 结合 ping 与 traceroute:循环探测每跳的丢包与时延,适合观察间歇性问题;报告模式输出便于留档与前后对比。

BGP 与广域网速查网络更新于 2026-10-13

mtr 解决什么问题

mtr 把 ping 的统计能力和 traceroute 的逐跳能力合到一个工具里:它对路径上每一跳持续发包,统计每跳的丢包率与时延分布,因此特别适合观察间歇性问题。报告模式跑完输出一张表,可以直接留档并与变更前的结果做对比;交互模式则适合现场盯着看,观察丢包是否随时间波动。使用时有两个前提要记住:一是路径可能不对称,去程看到的跳与回程不同;二是很多设备对探测报文的响应做了限速,中间跳的高丢包率未必代表真实转发丢包。

基本信息

平台Linux 及多数发行版软件源可装,网络设备通常不提供
报告模式mtr -rwzc <次数> <目标>,跑完输出结果
交互模式不带 r 参数,实时刷新便于现场观察
关键列Loss%、Avg、StDev 与 Best/Wrst
常用参数-n 不做反解、-z 显示 ASN、-T 用 TCP 探测
留档输出重定向到文件,供前后对比

典型使用场景

  • 间歇性卡顿:连续探测看丢包发生在哪一跳
  • 跨运营商排障:用 ASN 显示区分责任边界
  • 变更前后对比:同一目标同一参数跑两次留档
  • 验证链路质量:结合 StDev 判断时延稳定性
  • 疑似策略拦截:改用 TCP 或指定端口探测绕开 ICMP 限制

用法示例

用法示例
# 报告模式:100 次探测后输出并留档
mtr -rwzc 100 10.2.2.1 | tee mtr-report.txt
# 用 TCP 443 探测,绕开部分 ICMP 限速
mtr -n --tcp --port 443 10.2.2.1
# 显示 ASN,便于区分运营商边界
mtr -zwn 10.2.2.1
# 本地侧检查到目标的基本路径
mtr -rzc 50 8.8.8.8

输出逐列读法

列名含义正常与异常
Loss%该跳丢包比例中间跳偏高常为限速,末端高才是真丢包
Snt发送探测次数过少时统计意义不足
Avg平均时延逐跳递增属正常,突增处即嫌疑点
StDev时延标准差偏大说明抖动明显
Best/Wrst最优与最差时延差距大提示路径不稳定
判断原则是从后往前看:如果某一跳开始丢包,但后面所有跳都不丢,通常说明该跳只是不响应探测,而不代表真的丢了流量。
ICMP 探测被限速时结果会失真,可改用 TCP 模式指定业务端口,得出的结论更贴近真实转发行为。

易错点

  • 把中间跳的高丢包率当成故障点:多数情况是该设备对探测进行了限速
  • 探测次数太少:几十次以内的结果随机性大,不足以支撑结论
  • 只做一次测试:间歇性问题需要多次或长时间观察,单次结果可能正好落在正常区间
  • 忽略去回程路径可能不同:mtr 只反映去程的一侧路径
  • 用 mtr 结论替代打流验证:时延与丢包的最终判断仍需业务层数据交叉确认

数据来源与参考

  • mtr 手册
  • RFC 792: ICMP
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌