什么是 Traceroute 与 MTR?网络路径诊断工具详解
Traceroute 追踪网络路径,MTR 持续监控质量。本文详解二者原理、差异及在中国网络环境下的使用方法。
Dig Trace 团队· 网络工程团队3 分钟阅读
数据包从电脑传到远程服务器,中间经过多台路由器。Traceroute 和 MTR 用来暴露这条链路:前者画出单张快照,后者提供持续监控,定位延迟、丢包和路由绕行。
Traceroute 与 MTR 是什么
Traceroute 发送探测包,记录路径上的每台路由器(称为“跃点”)及往返时间(RTT)。Windows 下名为 tracert,Linux 和 macOS 则使用 traceroute 命令。
MTR,全称 My Traceroute,把 traceroute 与 ping 的持续探测结合起来。它先发现路由,再向每个跃点循环发包,实时聚合延迟与丢包。正如 Cloudflare 官方中文解释 所述,其核心价值在于把单次快照扩展为持续监控。两者都依赖 TTL:每台路由器把 TTL 减 1,归零后丢弃包并返回 ICMP “Time Exceeded” 消息,暴露自身地址。
工作原理
Traceroute 将 TTL 设为 1 发出探测包。第一跳路由器将其减为 0 后返回 ICMP 错误,工具记录地址和耗时。随后 TTL 递增,逐跳暴露路径直到抵达目标。Linux 默认 UDP,Windows 默认 ICMP。
MTR 发现路径后并行向所有跃点发包并持续刷新。默认 ICMP,但两者都支持 UDP 或 TCP。这在防火墙过滤 ICMP 时尤为重要。
不是每次探测都能收到回复。某跳超时时输出显示星号,这不一定代表故障,可能只是路由器禁用了 ICMP 回复。APNIC 的相关文章 提醒,正确解读这些空白是诊断关键。
关键差异
Traceroute 只捕捉瞬间路径,MTR 收集数十轮样本,能发现间歇性丢包。
输出上也截然不同。Traceroute 仅展示路径与单次 RTT;MTR 额外计算丢包百分比、平均延迟与标准差,更容易定位嘈杂链路或过载路由器。
MTR 并行探测所有跃点,traceroute 通常逐跳等待,因此前者生成完整结果更快。此外,MTR 的固定 ICMP 探针在多路径网络中易停留在同一流;traceroute 的 UDP 端口变化则可能暴露多条并行路径。
在中国网络下使用
国内运营商骨干网(如 AS4134)对 ICMP 和 UDP 的优先级处理不同,防火墙也可能限速。用户可优先使用 itdog.cn 这类多节点 MTR 工具,从电信、联通、移动线路发起测试,查看 AS 号与地理位置。这比仅从国际节点测试更能反映真实质量。
在中国网络中还需注意协议选择。MTR 默认 ICMP 有时显示更保守的丢包,切换到 TCP 模式(-T)可模拟真实流量,绕过部分 ICMP 限制。
尽管中间某跳可能出现星号,国内社区普遍强调不要急于下结论。
运营商骨干路由器常把 ICMP 回复置于低优先级,中间星号或丢包不一定影响业务。诊断应以最后一跳的丢包和延迟为准。
基础用法示例
在 Linux 终端执行快速 traceroute,禁用 DNS 反解以加速输出:
traceroute -n 8.8.8.8典型输出如下:
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 192.168.1.1 1.2 ms 1.1 ms 1.3 ms
2 10.10.0.1 5.4 ms 5.2 ms 5.5 ms
3 * * *
4 202.97.x.x 15.1 ms 14.9 ms 15.2 ms
5 8.8.8.8 25.3 ms 24.8 ms 25.1 ms若需持续统计,可用 MTR 的报告模式:
mtr --report -n --cycles 100 8.8.8.8这会向每一跳发送 100 轮探测,输出丢包率与平均延迟等表格:
Host Loss% Drop Rcv Avg StDev Javg
1. AS4134 _gateway (192.168.1.1) 0.0% 0 100 1.7 0.8 0.6
2. AS4134 10.10.0.1 0.0% 0 100 5.3 1.2 0.8
3. AS4837 no-ptr (202.97.x.x) 0.3% 0 100 15.2 3.1 2.4
4. AS15169 dns.google (8.8.8.8) 0.0% 0 100 24.8 2.5 1.9Loss% 为丢包率,Avg 为平均延迟,StDev 为标准差。AS 号前缀标识该跃点所属的运营商网络。对需要向机房或运营商提交证据的场景,量化结果远比单次 traceroute 有说服力。
何时使用与进阶方向
快速确认路由走向用 traceroute 足够;排查间歇性故障或评估机房线路质量则必须上 MTR。附上 MTR 报告比口头描述“网速慢”有效得多。
理解这两个工具后,可进一步学习 BGP 与 AS 路径,把 traceroute 看到的 hops 放到自治系统互联的视角中。也可结合 Dig Trace 的 在线 Traceroute 工具 与 DNS 解析知识,区分路径问题与域名解析问题。网络诊断从来不是单一工具的独奏,而是多源数据的交叉验证。