首页/网络/网络排障速查/mtr 进阶:TCP/UDP 模式与字段口径
连通性与链路检测54 条

mtr 进阶:TCP/UDP 模式与字段口径

默认 mtr 用 ICMP,会被限速或策略干扰;-T -P 指定 TCP 端口即模拟真实业务流量,-u -P 则用 UDP:探针模式决定你测的是『哪条命』。

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

mtr 与探测协议选择

mtr 把 ping 的持续探测与 traceroute 的逐跳还原合成一张表,默认用 ICMP。但很多设备对 ICMP 单独限速,测出来的丢包与抖动并不代表业务流量。mtr 支持切换探测协议:用 -T -P 指定 TCP 端口模拟真实业务,用 -u -P 走 UDP,等于换一条「命」去测同一条链路,结论差异往往就是答案。

什么时候必须换协议

当 ICMP 结果显示中间跳开始大量丢包、而末跳与业务端口完全正常时,第一反应应该是换 TCP 模式复测,而不是去报链路故障。反过来,如果 TCP 模式在某一跳之后出现与业务一致的丢包和抖动,那才是可以上报的证据。原则很简单:探测协议与业务协议越接近,结论越有代表性。

业务级探测

业务级探测
mtr -T -P 443 -r -c 100 -n 10.0.0.5     # TCP 443,模拟 HTTPS 流量
mtr -T -P 3306 -r -c 100 -n 10.0.0.6    # TCP 3306,模拟数据库访问
mtr -u -P 53 -r -c 100 -n 10.0.0.7      # UDP 探测,用于对照
mtr -s 1400 -r -c 50 -n 10.0.0.5        # 指定包大小,配合 MTU 排查
mtr -i 0.5 -r -c 200 -n 10.0.0.5        # 0.5 秒间隔长跑,观察稳定性
mtr -r -c 100 -n 10.0.0.5 | tee /tmp/mtr-before.txt   # 留存基线便于前后对比

字段逐列读法

字段含义正常与异常
Loss%该跳探针丢失比例中间跳偏高但末跳为 0 通常只是限速
Snt已发送探针数样本少于 100 时百分比噪声大
Last最近一次往返时延容易受瞬时波动影响,仅作参考
Avg平均往返时延与相邻跳对比可看出时延在何处抬升
Best最小往返时延接近物理下限,可用于估算链路距离
Wrst最大往返时延与 Best 差距过大说明存在排队或抖动
StDev往返时延标准差偏大即抖动明显,实时业务体感差

典型使用场景

  • 用户反馈视频会议卡顿:用 TCP 模式长跑,看是丢包还是抖动主导
  • 怀疑运营商集客线路质量:把 ICMP 与 TCP 两种模式的报告一起对比提交
  • 云上跨地域调用变慢:逐跳看时延在哪一段抬升,判断是公网还是内网段
  • 带宽验收:结合 iperf3 结果与 mtr 的丢包抖动,形成完整的链路画像
  • 故障前后对比:同一命令、同一源点分别留存报告,量化恢复效果
mtr 的 TCP 模式需要目标端口有监听或至少网络可达;选真实业务端口(443、3306)结果最有代表性,选一个对端没开的端口会被防火墙直接拒绝,反而看不出链路质量。
用 TCP 模式探测负载均衡或集群地址时,多次探测可能落到不同后端,结果方差会明显放大;此时应针对单个真实节点探测。

易错点

  • 只用 ICMP 探测就下结论:对 ICMP 限速的设备上结果失真,必须加 -T -P 复测
  • 看到 StDev 很大但 Avg 正常仍判「链路健康」,漏掉抖动型故障,实时业务会持续受影响
  • 样本量太小(几十次)就按百分比上报,统计噪声会被当成故障幅度
  • 用 TCP 模式探测负载均衡地址,多探针落到不同后端,把后端差异误读为链路抖动

数据来源与参考

  • mtr 官方手册(-T/-u/-P/-s)
  • 网络质量探测方法

相关工具

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