双向MTR测试完全指南
大波博客地址:https://moeu.de/
MTR (My Traceroute) 是一个强大的网络诊断工具,它结合了 traceroute 和 ping 的功能,能够实时显示数据包从源到目的地所经过的每一跳(网络节点)的延迟和丢包情况。双向MTR测试则能提供更全面的诊断视图,因为它同时包含了数据“去”和“回”两个方向的路径信息。
一、 为什么需要双向MTR?
网络路径通常是不对称的,数据从A点到B点的路径,与从B点回到A点的路径可能完全不同。很多网络问题(如拥堵、丢包)可能只发生在其中一个方向上。只做单向测试可能会让你错失问题的根源。
- 正向路径:从你的设备 (A) 到目标服务器 (B)。
- 反向路径:从目标服务器 (B) 回到你的设备 (A)。
通过双向测试,可以精确判断问题出在去程、回程还是两个方向上。
二、 如何操作双向MTR测试
步骤1:安装MTR
如果你的系统中尚未安装MTR,请根据你的操作系统进行安装。
-
Ubuntu / Debian:
sudo apt-get update sudo apt-get install mtr -y -
CentOS / RHEL:
sudo yum install mtr -y -
macOS (使用 Homebrew):
brew install mtr -
Windows:
Windows没有官方的命令行MTR。推荐使用图形化工具 WinMTR,请从其官方网站下载。
步骤2:执行测试
假设你有两台设备,并且你对两台设备都有控制权:
- 设备A (源): IP地址为
1.1.1.1 - 设备B (目标): IP地址为
2.2.2.2
你需要同时在两台设备上执行测试。
-
在设备A上执行正向测试 (A → B):
打开终端,运行以下命令,并将结果保存到文件中。mtr -r -c 100 2.2.2.2 > mtr_A_to_B.txt -
在设备B上执行反向测试 (B → A):
登录到设备B,运行以下命令,并将结果保存到文件中。mtr -r -c 100 1.1.1.1 > mtr_B_to_A.txt
命令参数解释:
-r或--report: 以报告模式运行。MTR会发送指定数量的数据包,然后生成一份总结报告并退出。-c 100: 指定发送的数据包数量。建议至少为100个,以获得更准确的平均值。> mtr_A_to_B.txt: 将输出结果重定向保存到文本文件中,方便分析和分享。
三、 如何解读MTR报告
MTR报告的每一行代表一个网络节点。下面是一个示例报告及解读。
Host Loss% Snt Last Avg Best Wrst StDev
1. my-router.local 0.0% 100 0.8 0.9 0.7 2.1 0.2
2. isp-gateway.com 0.0% 100 1.2 1.5 1.0 5.3 0.5
3. some-node-1.net 5.0% 100 10.5 10.2 10.0 15.1 1.1
4. some-node-2.net 5.0% 100 10.8 10.6 10.1 16.2 1.3
5. destination-server.com 5.0% 100 20.1 20.5 20.0 25.8 0.9
1. 各列含义
| 列名 | 解释 |
|---|---|
Host |
路由节点的域名或IP地址。 |
Loss% |
丢包率。数据包在该节点丢失的百分比,是核心指标。 |
Snt |
已发送 (Sent) 的数据包数量。 |
Last |
最后一个数据包的延迟(毫秒)。 |
Avg |
平均延迟。所有数据包往返时间的平均值,是核心指标。 |
Best |
最小(最快)的延迟。 |
Wrst |
最大(最慢)的延迟。 |
StDev |
标准差。延迟的离散程度,值越高说明网络抖动越大、越不稳定。 |
2. 分析技巧
-
先看最后一跳:
- 如果最后一跳的
Loss%大于0,说明网络路径中确实存在丢包。 - 如果只有中间节点有
Loss%,而最后一跳是0.0%,这通常不是问题。很多运营商会对路由器的ICMP流量进行速率限制,导致MTR误报丢包。
- 如果最后一跳的
-
定位问题节点:
- 丢包问题:如果最后一跳有丢包,从下往上回溯,第一个出现持续丢包的节点,就是问题开始的地方。
- 延迟问题:延迟会随距离正常增加。你需要关注的是延迟突然剧增的节点。例如,第4跳延迟是
20ms,第5跳突然变成200ms,那么问题就出在第4和第5跳之间。
-
结合双向报告:
对比mtr_A_to_B.txt和mtr_B_to_A.txt两个文件,判断问题是单向还是双向的。这是双向测试的精髓所在。
四、 如何从MTR结果中看出线路类型
通过解读主机名,可以推断出数据包经过的运营商、地理位置和线路等级。
1. 识别运营商
观察主机名中是否包含运营商的标识。
- 中国电信:
chinatelecom.cn,chinanet,AS4134(163骨干网),AS4809(CN2) - 中国联通:
chinaunicom.cn,unicom,AS4837(普通线路),AS10099(9929/CUG高端线路) - 中国移动:
cmnet,AS9808
2. 识别地理位置
主机名中常包含城市或地区的缩写。
bj(北京),sh(上海),gz(广州)hkg(香港),tyo(东京),lax(洛杉矶),sjc(圣何塞)
好的,完全没问题。中国移动确实也有其高端国际线路,通常称为CMI。我们来补充这部分说明,并将其整合到之前的指南中。
3. 识别线路质量 (以中国三大运营商为例)
通过MTR的主机名和IP地址,我们可以大致判断出连接中国大陆的国际线路质量。这对于选择VPS或诊断国际网络问题至关重要。
a. 中国电信 (China Telecom)
-
普通163骨干网 (AS4134)
- 介绍: 这是中国电信最普通、最常见、承载用户量最大的网络。因为它承载了大量的普通宽带用户流量,所以在晚高峰时段(北京时间晚上到凌晨),其国际出口处非常容易拥堵,导致访问海外服务器时延迟飙高、丢包严重。
- 识别方法:
- IP地址: MTR路由跟踪中,省级出口之前的路由节点IP地址以
202.97.x.x开头。 - 自治系统号 (ASN):
AS4134。
- IP地址: MTR路由跟踪中,省级出口之前的路由节点IP地址以
- 一句话总结: 如果你的MTR结果中看到大量
202.97.x.x的IP,那么你用的就是最普通的电信线路,高峰期卡顿是常态。
-
CN2网络 (AS4809)
- 介绍: CN2 (Chinatelecom Next Carrier Network),中国电信的下一代承载网。它拥有独立的国际出口和更轻的负载。CN2分为 CN2 GT (中端) 和 CN2 GIA (高端),其中GIA是目前最稳定、速度最快的电信线路。
- 识别方法:
- IP地址: MTR路由跟踪中,出现
59.43.x.x或218.30.x.x的IP地址。 - 主机名: 主机名中可能带有
cn2或apcn2的字样。 - 自治系统号 (ASN):
AS4809。
- IP地址: MTR路由跟踪中,出现
- 一句话总结: 看到
59.43.x.x就是CN2线路,是高质量的保证。如果从海外回程一开始就进入59.43.x.x,那很可能就是顶级的CN2 GIA。
如何精确识别 CN2 GIA (Global Internet Access)。
关键在于:CN2 GIA 拥有独立的回国链路,全程都走在 AS4809 的网络上,而 CN2 GT 则会在部分国内路段“混入”传统的163骨干网(AS4134)。
因此,识别的核心就是观察MTR报告中,59.43.x.x 这个“黄金IP段” 出现的位置和是否全程贯穿。
如何精确识别CN2 GIA
1. 核心识别方法:看IP地址 59.43.x.x
这是判断CN2 GIA最准确、最直观的方法。59.43.x.x 是中国电信CN2网络专属的骨干网IP地址段。
- CN2 GIA: 无论是去程还是回程,骨干网部分全程都会经过
59.43.x.x的节点。 - CN2 GT: 通常只有在国际出口处的1-2跳才会看到
59.43.x.x,国内部分走的还是202.97.x.x(163网络)。
2. 分析回程路由 (最重要)
对于购买海外VPS的用户来说,回程路由(从你的服务器到你的本地电脑)决定了你下载、看视频、SSH操作的体验,因此这是考察的重中之重。
- 测试方法: 在你的海外服务器上,执行
mtr <你的本地公网IP>。 - CN2 GIA 回程表现:
MTR结果会显示,数据包从服务器出来后,很快(通常在2-4跳之内)就会进入59.43.x.x的IP段,然后连续经过多个59.43.x.x的节点,直到快要进入你所在省份的城域网时才会变回普通IP。
【CN2 GIA 回程 MTR 示例】
# 从美国洛杉矶的服务器 MTR 到上海电信本地IP
Host Loss% Snt Last Avg Best Wrst StDev
1. lax-server-gw.com 0.0% 100 ...
2. 59.43.187.145 0.0% 100 1.2 1.5 1.0 5.3 0.5 <-- 第2跳就进入59.43,GIA的标志
3. 59.43.130.222 0.0% 100 1.5 1.8 1.1 6.1 0.6 <-- 全程在CN2骨干网内
4. 59.43.246.129 0.0% 100 150.1 150.5 150.0 155.8 0.9 <-- 到达中国出口,延迟正常
5. 59.43.138.34 0.0% 100 151.2 151.5 151.0 156.3 1.1 <-- 依然在CN2国内骨干部分
6. 202.97.94.1 0.0% 100 ... <-- 在最后一两跳转接到163网进入城域网 (正常)
7. 101.x.x.x.chinatelecom.com.cn 0.0% 100 ... <-- 到达本地
与CN2 GT回程的对比:
CN2 GT 会先经过其他国际运营商网络,然后在中国边境才转入202.97.x.x (163网络),在快到你家门口时,可能会在省级出口蹭一下 59.43.x.x 的节点,但国内骨干走的还是拥堵的163。
【CN2 GT 回程 MTR 示例】
# GT线路从服务器回程
Host Loss% Snt Last Avg Best Wrst StDev
1. lax-server-gw.com 0.0% 100 ...
2. some-transit-provider.net 0.0% 100 ...
3. 202.97.45.1 0.0% 100 180.1 ... <-- 在边境直接进入了163网络(AS4134),这是GT的标志
4. 202.97.50.2 5.0% 100 210.5 ... <-- 在拥堵的163骨干网上传输,出现丢包
5. 202.97.94.1 5.0% 100 ...
6. 59.43.138.34 5.0% 100 ... <-- 可能在最后一跳才见到59.43,但为时已晚
7. 101.x.x.x.chinatelecom.com.cn 5.0% 100 ... <-- 丢包已带到本地
3. 分析去程路由 (次重要)
去程路由(从你的本地电脑到服务器)决定了你上传文件和发送命令的体验。
- 测试方法: 在你的本地电脑上,执行
mtr <你的服务器IP>。 - CN2 GIA 去程表现:
数据包离开你所在城市的城域网后,会很快进入省级骨干网的59.43.x.x节点,然后通过CN2的国际出口出国。
总结:如何快速判断CN2 GIA
- 首选看回程: 在服务器上MTR你本地IP。
- 盯紧
59.43.x.x: 如果路由在离开服务器的机房后,很快就进入了59.43.x.x,并且连续经过好几跳,那么恭喜你,这就是CN2 GIA。 - 警惕假GIA: 如果路由中出现了大量的
202.97.x.x,那么它就不是GIA。即使最后有一两跳是59.43.x.x,那也大概率是CN2 GT。 - 双向测试: 最理想的情况是双向GIA,即去程和回程都满足GIA的特征。有些商家可能只提供了单程GIA,需要分别测试来确认。
一句话总结:全程 59.43 不放松,才是正宗GIA。
b. 中国联通 (China Unicom)
-
普通163网络 (AS4837)
- 介绍: 这是联通的普通骨干网,类似于电信的163网络(AS4134),承载了绝大部分联通用户的流量。其国际出口在高峰期同样会发生拥堵,但整体表现通常略好于电信163。
- 识别方法:
- IP地址: MTR路由跟踪中,出现以
219.158.x.x开头的IP地址。 - 自治系统号 (ASN):
AS4837。
- IP地址: MTR路由跟踪中,出现以
- 一句话总结: 如果MTR里看到
219.158.x.x,这就是标准的联通线路,性能中规中矩。
-
高端网络 CUVIP / 9929 (AS10099)
- 介绍: 这条线路常被称为 9929线路 或 联通A网 (CUG)。它是联通为政企大客户准备的高端网络,类似于电信的CN2 GIA。负载低,带宽充裕,路由路径经过优化,速度和稳定性都非常好。
- 识别方法:
- 自治系统号 (ASN):
AS10099是最准确的判断标志。在路由跟踪中,如果路径经过了AS10099节点,即可判定为高端线路。
- 自治系统号 (ASN):
- 一句话总结: 认准
AS10099,这就是联通目前最高质量的国际线路。
c. 中国移动 (China Mobile)
中国移动的国际网络也分为普通和高端两种。
-
普通CMNET网络 (AS9808)
- 介绍: 中国移动的普通国际出口带宽相对较小,且早期大部分国际流量需要绕道香港国际出口,因此在访问欧美服务器时,延迟通常会高于电信和联通。
- 识别方法:
- IP地址: MTR路由跟踪中,国内部分出现以
221.176.x.x或221.183.x.x开头的IP地址。 - 主机名: 主机名通常包含
cmnet或cmobile。 - 自治系统号 (ASN):
AS9808。
- IP地址: MTR路由跟踪中,国内部分出现以
- 一句话总结: 移动用户访问海外服务器,如果路由全程都在
AS9808下,且延迟较高,属于普通线路的正常现象。
-
高端CMI网络 (AS58453)
- 介绍: CMI (China Mobile International) 是中国移动推出的高端国际线路,旨在对标电信CN2 GIA和联通9929。该线路为移动用户提供了低延迟、高稳定性的国际网络访问,尤其是优化了欧美方向的连接,不再严重绕路。
- 识别方法:
- 自治系统号 (ASN):
AS58453是判断CMI线路最核心、最准确的依据。路由路径中,一旦流量进入AS58453的节点,就表明走上了高端通道。 - IP地址: MTR的国际段路由中,通常会出现以
223.118.x.x、223.119.x.x或223.120.x.x开头的IP地址。 - 主机名: 主机名中通常会明确包含
cmi标识。
- 自治系统号 (ASN):
- 一句话总结: 认准
AS58453,这是移动用户能获得的最高质量、速度最快的国际访问线路。