双向MTR测试完全指南

双向MTR测试完全指南

大波博客地址:https://moeu.de/

MTR (My Traceroute) 是一个强大的网络诊断工具,它结合了 tracerouteping 的功能,能够实时显示数据包从源到目的地所经过的每一跳(网络节点)的延迟和丢包情况。双向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

你需要同时在两台设备上执行测试。

  1. 在设备A上执行正向测试 (A → B):
    打开终端,运行以下命令,并将结果保存到文件中。

    mtr -r -c 100 2.2.2.2 > mtr_A_to_B.txt
    
  2. 在设备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. 分析技巧

  1. 先看最后一跳

    • 如果最后一跳Loss% 大于0,说明网络路径中确实存在丢包
    • 如果只有中间节点Loss%,而最后一跳是 0.0%,这通常不是问题。很多运营商会对路由器的ICMP流量进行速率限制,导致MTR误报丢包。
  2. 定位问题节点

    • 丢包问题:如果最后一跳有丢包,从下往上回溯,第一个出现持续丢包的节点,就是问题开始的地方。
    • 延迟问题:延迟会随距离正常增加。你需要关注的是延迟突然剧增的节点。例如,第4跳延迟是20ms,第5跳突然变成200ms,那么问题就出在第4和第5跳之间。
  3. 结合双向报告
    对比 mtr_A_to_B.txtmtr_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
    • 一句话总结: 如果你的MTR结果中看到大量 202.97.x.x 的IP,那么你用的就是最普通的电信线路,高峰期卡顿是常态。
  • CN2网络 (AS4809)

    • 介绍: CN2 (Chinatelecom Next Carrier Network),中国电信的下一代承载网。它拥有独立的国际出口和更轻的负载。CN2分为 CN2 GT (中端) 和 CN2 GIA (高端),其中GIA是目前最稳定、速度最快的电信线路。
    • 识别方法:
      • IP地址: MTR路由跟踪中,出现 59.43.x.x218.30.x.x 的IP地址。
      • 主机名: 主机名中可能带有 cn2apcn2 的字样。
      • 自治系统号 (ASN): AS4809
    • 一句话总结: 看到 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

  1. 首选看回程: 在服务器上MTR你本地IP。
  2. 盯紧 59.43.x.x: 如果路由在离开服务器的机房后,很快就进入了 59.43.x.x,并且连续经过好几跳,那么恭喜你,这就是CN2 GIA。
  3. 警惕假GIA: 如果路由中出现了大量的 202.97.x.x,那么它就不是GIA。即使最后有一两跳是 59.43.x.x,那也大概率是CN2 GT。
  4. 双向测试: 最理想的情况是双向GIA,即去程和回程都满足GIA的特征。有些商家可能只提供了单程GIA,需要分别测试来确认。

一句话总结:全程 59.43 不放松,才是正宗GIA。

b. 中国联通 (China Unicom)

  • 普通163网络 (AS4837)

    • 介绍: 这是联通的普通骨干网,类似于电信的163网络(AS4134),承载了绝大部分联通用户的流量。其国际出口在高峰期同样会发生拥堵,但整体表现通常略好于电信163。
    • 识别方法:
      • IP地址: MTR路由跟踪中,出现以 219.158.x.x 开头的IP地址。
      • 自治系统号 (ASN): AS4837
    • 一句话总结: 如果MTR里看到 219.158.x.x,这就是标准的联通线路,性能中规中矩。
  • 高端网络 CUVIP / 9929 (AS10099)

    • 介绍: 这条线路常被称为 9929线路联通A网 (CUG)。它是联通为政企大客户准备的高端网络,类似于电信的CN2 GIA。负载低,带宽充裕,路由路径经过优化,速度和稳定性都非常好。
    • 识别方法:
      • 自治系统号 (ASN): AS10099 是最准确的判断标志。在路由跟踪中,如果路径经过了AS10099节点,即可判定为高端线路。
    • 一句话总结: 认准 AS10099,这就是联通目前最高质量的国际线路。

c. 中国移动 (China Mobile)

中国移动的国际网络也分为普通和高端两种。

  • 普通CMNET网络 (AS9808)

    • 介绍: 中国移动的普通国际出口带宽相对较小,且早期大部分国际流量需要绕道香港国际出口,因此在访问欧美服务器时,延迟通常会高于电信和联通。
    • 识别方法:
      • IP地址: MTR路由跟踪中,国内部分出现以 221.176.x.x221.183.x.x 开头的IP地址。
      • 主机名: 主机名通常包含 cmnetcmobile
      • 自治系统号 (ASN): AS9808
    • 一句话总结: 移动用户访问海外服务器,如果路由全程都在 AS9808 下,且延迟较高,属于普通线路的正常现象。
  • 高端CMI网络 (AS58453)

    • 介绍: CMI (China Mobile International) 是中国移动推出的高端国际线路,旨在对标电信CN2 GIA和联通9929。该线路为移动用户提供了低延迟、高稳定性的国际网络访问,尤其是优化了欧美方向的连接,不再严重绕路。
    • 识别方法:
      • 自治系统号 (ASN): AS58453 是判断CMI线路最核心、最准确的依据。路由路径中,一旦流量进入 AS58453 的节点,就表明走上了高端通道。
      • IP地址: MTR的国际段路由中,通常会出现以 223.118.x.x223.119.x.x223.120.x.x 开头的IP地址。
      • 主机名: 主机名中通常会明确包含 cmi 标识。
    • 一句话总结: 认准 AS58453,这是移动用户能获得的最高质量、速度最快的国际访问线路。
6 个赞

难得挤干货啊

1 个赞

大波开始疯狂发贴,积分超过我了

1 个赞

支持大波波!!

感谢分享 学习下

好长的教程 感谢楼主科普