首页/网络/网络排障速查/mtr 长跑报告与逐跳丢包判读

mtr 长跑报告与逐跳丢包判读

mtr 把 ping 与 traceroute 合成逐跳统计:用 -c 大样本与 -r 生成报告,重点区分「中间跳只丢 ICMP」与「端到端真丢包」。

网络排障速查网络更新于 2026-10-13

mtr 长跑报告的价值

mtr 把 ping 与 traceroute 合并成逐跳统计,边探测边累计每个中间节点的丢包率与延迟。默认的交互界面样本太少、百分比抖动大,排障时应改用 -c 大样本加 -r 生成一次性报告,结论才稳定。判读的核心是区分两种丢包:只有中间跳丢、后续跳和末跳都不丢,说明该设备只是限制 ICMP;末跳也丢才是真实的端到端丢包。

基本信息

适用平台Linux/macOS(mtr 或 mtr-tiny 包);Windows 可用 WinMTR
常用参数-c 轮数、-r 报告模式、-n 不解析域名、-T -P 用 TCP 探测
取样建议排障至少 300 轮,样本低于 100 时百分比噪声很大
TCP 探测mtr -n -T -P 443 绕过对 ICMP 的限速策略
方向限制只测去程;判断回程需在两端各跑一次对比

典型使用场景

  • 用户报跨地域访问慢:用大样本报告看延迟在哪一跳开始抬升
  • 疑似运营商链路丢包:区分中间跳 ICMP 限速与真实丢包
  • ICMP 被策略限制的网络:改用 TCP 443 探测获得可用结果
  • 跳板机或专线质量评估:定期采集报告做趋势对比
  • 排除回程问题:两端各跑一次,比较去程与回程的差异

长跑与报告

长跑与报告
mtr -n -c 500 -r 10.0.0.5                      # 500 轮生成报告,样本足够稳定
mtr -n -w -b -z -c 500 -r 10.0.0.5             # 宽格式并解析 ASN,便于判断运营商段落
mtr -n -T -P 443 -c 300 -r example.com         # 用 TCP 443 探测,绕过 ICMP 限速
mtr -n -i 0.2 -c 1000 -r 10.0.0.5              # 0.2 秒间隔高速采样,快速积累样本
mtr -n -c 300 -r 10.0.0.5 | tail -5            # 只看末几跳,快速判读端到端结果

报告列与判读

列含义判读要点
Loss%该跳丢包百分比末跳数值才是端到端真实丢包
Snt已发送探测数数值远小于 -c 指定轮数说明中途被限速或超时
Last / Avg最近一次与平均延迟Avg 更稳定,单看 Last 容易被抖动带偏
Best / Wrst最小与最大延迟Best 与 Avg 差距大说明抖动明显
StDev延迟标准差标准差大表示链路质量不稳定,即使平均延迟正常
运营商骨干与防火墙普遍对 ICMP 报错限速,会造成「中间跳大面积丢包、末跳却完美」的经典误读;判读顺序永远是先看末跳。

易错点

  • 看到中间跳 20% 丢包就断定故障:未核对末跳结果,把设备的 ICMP 限速当成链路问题,责任找错对象
  • 只用 ICMP 探测:对 ICMP 限速或封禁的设备上结论失真,应加 -T -P 443 复测
  • 样本量过小:几十轮的报告百分比抖动剧烈,据此判断丢包会时对时错
  • 忽略取样方向:只在本地跑一次就断言回程也没问题,实际上回程路径可能完全不同

数据来源与参考

  • mtr 手册页(--report/--tcp)
  • RFC 792:TTL 超时与 ICMP

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌