币安MTR输出解读 | AI生成和翻译
问题: 如何解读从我的Mac到 api.binance.com 的这份MTR输出?
回答:
MTR输出分析:192.168.1.46 → api.binance.com (103.200.31.172)
列名释义
| 列名 | 含义 |
|---|---|
| Loss% | 未收到回复的ICMP数据包百分比 |
| Snt | 发送的总数据包数(约46个) |
| Last | 最近一个数据包的往返时延(毫秒) |
| Avg | 所有数据包的平均往返时延(毫秒) |
| Best | 观测到的最佳(最低)往返时延(毫秒) |
| Wrst | 观测到的最差(最高)往返时延(毫秒) |
| StDev | 标准差 — 数值越高,抖动/不一致性越大 |
逐跳解析
第1跳 — 192.168.1.1 (您的家庭路由器)
- 丢包率:0.0% ✅
- 平均:9.9ms,最佳:5.3ms,最差:61.2ms,标准差:10.0
- 您的本地路由器状态健康,无丢包。较高的最差值(61ms)和标准差表明偶尔有Wi-Fi或路由器CPU峰值,但并非真正的问题。
第2跳 — 100.69.0.1 (您的ISP的第一个网关)
- 丢包率:0.0% ✅
- 平均:17.1ms,最佳:9.1ms,最差:80.9ms,标准差:16.0
- 依然健康。延迟增加(~7ms)是预期内的,因为数据包离开您的家庭网络进入ISP骨干网。较高的标准差表明ISP边缘存在一些抖动。
第3跳 — (waiting for reply) ⚠️
- 此跳显示为
???因为它没有发送TTL超时消息来响应探测。这并不罕见,如果丢失的跃点位于追踪路径的中间——追踪在此跳之后继续进行,则无需担心,这不是问题。
第4跳 — 14.147.135.205 — 丢包率:64.4% 🚨
- 表面上这是一个重大危险信号,但需要结合上下文。如果一个网络跃点显示丢包百分比,请检查后续跃点。如果任何后续跃点显示0%丢包,则并非实际丢包——这是由于该跃点未生成ICMP超时回复造成的。然而,由于第5跳也显示丢包,这需要进一步审视。
第5跳 — 14.147.135.206 — 丢包率:59.1% 🚨
- 同样高丢包率。当多个连续跃点显示出不同程度的丢包时,应信任后续跃点的报告。始终进行双向追踪,因为某些丢包可能由返回路径的问题解释。
第6跳 — 14.147.5.141 — 丢包率:22.2% ⚠️
- 丢包率在此处显著下降。这是一个积极信号。如果丢包持续超过一跳,则意味着存在一些实际的丢包或路由问题。但是,应将一系列连续跃点中的最低丢包百分比视为实际丢包率。
第7跳 — (waiting for reply)
- 如果报告显示问号但目的地没有丢包,则不存在网络连接问题。问号是由路由器丢弃ICMP数据包引起的。追踪似乎在此时仍在进行(您只发送了46个数据包),并且
api.binance.com本身尚未作为最终跃点出现。
总体诊断
关键问题:第4–6跳的丢包是真实的吗?
在后续所有跃点持续出现的丢包或高RTT表明存在实际问题。然而,一些网络提供商会配置路由器不生成ICMP超时回复,路由器也可能限制其发出的ICMP回复数量——这些行为可能导致看起来像丢包或高延迟,而实际上并非如此。
此处的模式——第4–5跳高丢包(64%、59%),在第6跳降至22%——表明两种可能的原因:
- ICMP速率限制(最可能):
14.147.x.xISP路由器降低了ICMP探测的优先级。只要后续跃点显示0.0%,单次峰值不能断定任何问题。大多数情况下,微小的丢包是ISP速率限制的结果。 - 实际拥塞或路由问题: 丢包在多个连续跃点(4、5、6)间持续存在,且中间没有零丢包的跃点,这使得很难将其完全归因于纯粹的速率限制。
后续步骤
- 运行更多周期以确认:
sudo mtr api.binance.com --report -c 200 - 尝试在443端口使用TCP模式(完全绕过ICMP速率限制):
sudo mtr api.binance.com -T -P 443 --report -c 100 -
检查最终目的地(以
103.200.31.172结束的跃点)是否显示丢包。 如果您在最终跃点未看到任何丢包或值得关注的RTT,那么尽管中间跃点统计数据有波动,您的网络路径仍然是健康的。您的输出在到达最终跃点前被截断,因此结论尚不明确。 - 执行反向MTR,从币安(Binance)端进行,或使用looking glass工具测试返回路径,因为从A到B的数据包路径通常与B到A的路径不同,这意味着特定跃点的丢包不一定是由该跃点引起的。
参考资料:
- 使用MTR诊断丢包和延迟 – AWS re:Post
- 如何正确解读traceroute或MTR – APNIC博客
- 使用MTR诊断网络问题 – DataPacket
- 使用MTR诊断网络问题 – Linode文档