机场的宣传页上写着「全 IEPL 专线」「三网直连」「双向 CN2」,你打开客户端,节点名一个比一个好看。问题是这些话你没法验证——除非你会看路由。路由追踪是唯一一个不依赖商家自述、自己动手就能做的线路体检:一条命令,几十跳输出,链路怎么走的、跨境段经过谁家的网络、绕了多远、哪一段在掉包,全写在里面。
这篇只讲方法:traceroute 和 mtr 的输出怎么读、每个字段是什么意思、去程和回程为什么必须分开测、以及十种最常见的误判。文中用作对照样本的都是全线 IEPL 专线的机场,比如自由猫这类线路特征稳定的服务——原因很实际:专线路径本身的抖动小,拿它当基准,才能把「线路问题」和「协议、客户端问题」干净地切开,这是后面所有测试口径成立的前提。
先把前提说清楚:线路类型本身的定义——IEPL、IPLC、BGP 分别是什么、为什么价格差这么多——在IEPL/IPLC/BGP 的区别里已经讲透了。本文不重复概念,只解决一个具体问题:怎么用工具把它验证出来。
一、为什么「看地区名」永远判断不出线路好坏
大多数人判断线路的方式是看三样东西:节点名字里的地区、客户端显示的延迟数字、以及一次测速跑出来的 Mbps。这三样恰好都是最容易骗人的指标。
误判源一:客户端显示的延迟是「入口延迟」,不是全链路延迟。Clash 之类客户端里的延迟测试,测的是「你的设备 → 节点入口 IP」这一段。入口在香港,测得 30ms,看起来很棒——但你的请求后面还要从香港出口走到目标站,那一段可能走的是拥堵的公网。入口 30ms + 出口 200ms 的组合,在客户端眼里依然是「30ms 的好节点」。测速软件把这种差异也掩盖掉:Speedtest 服务器常常就在节点同城,你测的是入口带宽,不是跨境能力。
误判源二:地区名和落地位置是两回事。节点标「香港」,可能只是入口在香港,流量再转日本落地;标「美国」,可能是广播 IP,实际机房在欧洲。地区名是营销字段,路由才是物理事实。
误判源三:单次测速数字没有统计意义。跨境链路的质量是一个分布,不是一根柱子。同一节点,白天 10ms、晚高峰 200ms 还带 5% 丢包,是常态而不是故障。只看一次结果,你既不知道最好情况,也不知道最差情况。
正确的做法是换一套可复现的口径,一共四步:先把基准线建立起来(第三节)→ 再用 AS 号和跳数判断路走了哪(第四、五节)→ 去程和回程分开测(第九节)→ 最后用固定的时段与采样次数做晚高峰复测(第十节)。这套流程不需要任何商家配合,一台电脑就够。
二、traceroute 和 mtr 到底在测什么
traceroute 的原理朴素得让人意外:它靠 TTL 做递进探测。你发出的包每经过一台路由器,TTL(Time To Live,生存时间)就减 1;减到 0 时那台路由器会丢掉这个包,并回一个 ICMP「超时」消息,消息里带着它自己的地址。把 TTL 从 1 开始逐个往上加,路径上的路由器就被一条条钓出来了。
理解原理之后,有两件事必须记住,否则后面一定读错:
- 每一跳测的是「你到那台路由器接口」的往返,不是「上一跳到这一跳」的耗时。第 5 跳显示 30ms,意思是你的包到第五台路由器再回到你这里花了 30ms,不是第四跳到第五跳用了 30ms。所以延迟是逐跳累加的,看的是趋势,不是单跳差值。
- 探测用的协议会影响结果。Linux 的 traceroute 默认发 UDP 高端口包,Windows 的 tracert 发 ICMP,mtr 默认也是 ICMP 但可以用
-T换成 TCP SYN。运营商对 ICMP 和 TCP 的处理策略可以完全不同,同一目标换协议测出的路径真的可能不一样。
mtr 相当于 traceroute 加上了连续采样:它同时对整条路径的每一跳反复发包,最后给出一行一跳的统计表。这张表里真正要看的只有六个字段:
| 字段 | 含义 | 怎么用 |
|---|---|---|
| Loss% | 该跳丢包率 | 只看最后一跳;中间跳的丢包多数是假警报(第七节) |
| Snt | 已发送探测包数 | 少于 50 的统计不可用,没意义 |
| Avg | 平均 RTT | 和第四节的物理下限对照,判断路绕没绕 |
| Best / Wrst | 最好 / 最差 RTT | 两者的差比 Avg 更能说明真实体验 |
| StDev | 标准差,即抖动 | 打游戏、开会、直播最该看的指标 |
| AS | 该跳所属自治系统(需 -z 参数) | 判断「这一跳是谁家的网络」,第五节的判据基础 |
读 mtr 的顺序永远是从下往上:先看最后一跳的丢包和延迟,确认这是真实端到端结果;再往上扫,找「从哪一跳开始变差」——那一跳的上游就是嫌疑段。数据包从输入网址到页面加载的完整旅程那篇把每一段的延迟来源拆得很细,对照着看,你能立刻分清问题出在本地、国际出口还是落地。
三、测之前先把三条基准线搭好
很多人的路由测试之所以得不出结论,是因为测了一个没有参照的数字:看到 180ms 就紧张,却不知道自己本地出口到任何国际目的地都是 160ms 起步——这 180ms 其实完全正常。所以先把参照系建立起来,三条线就够。
基准线 A:本机 → 节点入口 IP。衡量你本地网络到机场入口的质量,也是最能反映「自己家宽带有没有问题」的一段。这条线只在白天和晚高峰各测一次,就能判断出问题是不是出在自己这边。
基准线 B:节点出口 → 目标站。衡量跨境段与落地质量,是判断机场线路好坏的核心。它需要一个能在节点侧执行的出口(自建 VPS 或能登录的落地机),普通机场用户拿不到。
基准线 C:本机 → 目标站(不走代理)。衡量你本地直连的国际能力。这条线一测,你就知道自己的「底线」在哪里——如果直连都要 300ms,那么代理线路能到 180ms 已经是明显优化,而不是「还是慢」。
命令在 macOS 和 Linux 上通用(mtr 需要 brew install mtr 或 apt install mtr;Windows 上可以用 WSL,或者用 WinMTR 这类图形版):
# 报告模式 + 宽输出 + 显示 AS 号 + 100 次采样(最常用的一条)
mtr -rwzc 100 节点IP
# 绕开 ICMP 限速,改用 TCP SYN 探测 443(最接近真实上网行为)
sudo mtr -rwzc 100 -T -P 443 目标域名
# 同时显示 IP 和域名(默认只显示一个,排查时两个都要)
mtr -rwzc 100 -b 节点IP
# 把结果追加到带时间戳的文件,攒够几天的数据再对比
mtr -rwzc 100 节点IP >> ~/mtr-$(date +%F-%H%M).txt
如果手上只有机场订阅、没有能登录的机器,基准线 B 拿不到,这时用两个近似办法:一是看客户端里的节点延迟(它对应的是 A 段,别当成全链路);二是直接访问对延迟敏感的目标站,用体感和 A 段的 Wrst 变化做交叉判断。想把 B 段测准,就需要一个可执行的出口——同样的「分段定位」思路,在自建中转加速的两段测法里有完整的落地流程,思路可以直接借过来。
还有一点常被忽略:对照样本要选路径特征有差异的两家,而不是随便两家。一家纯专线、一家中转与专线混跑,你在对比跳数与 AS 交替时才有对照组。像万达云这类同时提供中转和 IEPL 专线套餐的机场,一个账号就能拉出两条指纹完全不同的路径——同一时间、同一本地网络、同一个目标站,唯一变量是线路,这样的对比结论才站得住。
四、读懂每一跳:跳数、AS 号与物理下限
加上 -z 参数,mtr 会显示每一跳所属的 AS(Autonomous System,自治系统)号。这是路由分析里最有用的一列,因为 AS 号是公开注册信息,谁在什么时候注册、名下有哪些 IP 段,都可以在 PeeringDB、bgp.he.net 或各区域互联网注册机构的 whois 里查到。商家可以给节点起任何名字,但改不了别人家路由器上跑的是谁的号。
国内这三张骨干网的 AS 号,认识几个就足够用了:
| AS 号 | 运营方 | 定位 | 常见特征 |
|---|---|---|---|
| AS4134 | 中国电信 CHINANET(俗称 163) | 大众国际出口,承载流量最大 | 202.97.x.x 段常见 |
| AS4809 | 中国电信 CN2 | 精品网,优先级高于 163 | 59.43.x.x 段常见 |
| AS23764 | 中国电信国际 CTGNet | 海外 POP 与落地 | 203.14.x.x 等段常见 |
| AS4837 | 中国联通 CHINA169 | 大众国际出口 | 219.158.x.x 段常见 |
| AS9929 | 中国联通工业互联网(CUII) | 精品线路,对标 CN2 | 210.78 等段常见 |
| AS10099 | 中国联通国际 CUG | 海外 POP 与落地 | —— |
| AS9808 | 中国移动 CMNET | 国内承载,家宽默认出口 | 221.183.x.x 等段常见 |
| AS58453 | 中国移动国际 CMI | 国际出口 | 223.118 / 223.119 等段常见 |
| AS58807 | 中国移动国际 CMIN2 | 精品国际网,一跳入境 | 223.120.x.x 段常见 |
跨境之后常见的国际骨干 AS 也值得混个脸熟:AS2914(NTT)、AS1299(Arelion)、AS3356(Lumen)、AS174(Cogent)、AS3257(GTT)、AS3491(PCCW Global)。看到这些号,说明流量进了 Tier-1 的公共骨干——能跑通,但拥塞优先级最低;反过来,如果全程都是国内三家运营商的国际 AS 加一家落地 AS,中间没掺公共骨干,通常意味着这是被优化过的路径。
⚠️ 一句话时效声明:运营商的 AS 归属、出口策略和 IP 段都会随成本与政策调整(移动的 CMIN2 就是后来才铺开的产品),上面这张表用于快速识别「这一跳大概属于谁家」,不适合拿来做精确对账。具体归属请以 PeeringDB 和 whois 的当前查询结果为准。
接下来是物理下限,它是整套方法里唯一一个绝对基准。光纤中的光速约为每秒 20 万公里(真空 30 万公里除以玻璃约 1.47 的折射率),换算过来就是每毫秒约 200 公里。而 RTT 是往返:
理论最低 RTT ≈ 单程地理距离(km) ÷ 200(km/ms) × 2
几个可以记在心里的量级:上海到东京约 1800 公里,理论 RTT ≈ 18ms;上海到新加坡约 3800 公里,≈ 38ms;上海到法兰克福约 9200 公里,≈ 92ms;上海到洛杉矶约 10500 公里,≈ 105ms。实际值一定会更高——路由不是直线,两端还要接入与设备转发——但反过来说:如果你测到的 RTT 比理论下限还低一大截,那只有两种解释:路径不是你以为的那条,或者你测的是入口而不是落地。这一个算式能戳穿相当多的宣传话术。
五、专线、中转、直连:三种线路的路由指纹
把 AS 号和跳数放在一起看,不同线路类型会呈现出完全不同的「指纹」。这是本文最核心的一张表:
| 维度 | 直连(纯公网) | 中转(BGP 入口 + 公网跨境) | 专线(IEPL / IPLC) |
|---|---|---|---|
| 跨境段跳数 | 多,10 跳以上常见 | 中,取决于入口与出口 | 少,常见 1-4 跳 |
| AS 交替次数 | 频繁,多家运营商交替出现 | 入口是国内 IDC,跨境段仍走公网 | 少,通常单家或少数运营商内部 |
| 中间跳返回 * 的比例 | 低 | 低 | 可能较高(MPLS 转发或不回应 TTL) |
| 抖动(StDev) | 大 | 中 | 小 |
| 晚高峰表现 | 掉速与丢包明显 | 有波动,分段差异大 | 相对稳定 |
| 自测判据 | 数跨境段 AS 数量 | 看入口归属与出口段 | 看跳数 + 抖动 |
读这张表时要小心三件事,它们是最常见的「反向误判」:
- 跳数少不等于专线。CN2 GIA、CMIN2 这类精品公网线路,同样能把跨境段压到很少的跳数。它们的本质仍是公网线路,只是优先级高、拥塞少、绕路被优化过。反过来,专线在中间设备不回应 TTL 时,跳数会被严重低估。
- 专线也可能显示很多跳,甚至一堆星号。IEPL/IPLC 的中间设备走 MPLS 转发,很多根本不回 ICMP 超时。因此「中间跳几乎全是 *」在专线场景下是正常现象,不能当成链路故障——判断依据回到最后一跳。
- 前几跳的城域网 AS 跟机场无关。你家宽出口之前那 3-5 跳本来就是你自己的本地运营商城域网,拿它们评判机场线路,只会得出「所有机场都很烂」的结论。测试时要明确从哪一跳开始才算「机场的责任」——一般是最后一跳国内骨干地址(电信 202.97 / 联通 219.158 / 移动 221.183 这类)之后的那一段。
实际动手时,我会把「跨境段 AS 交替次数」当作最有价值的单一指标:从国内骨干的最后一跳算起,到落地 IP 之间出现了几家不同的国际 AS。出现 1-2 家,是精品线路的典型特征;3 家算可接受;4 家以上基本可以确定流量是在公网上绕。这个指标不依赖任何商家配合,也不需要你看懂全部输出,属于投入产出比最高的一招。
这也是为什么纯专线机场做对照最好用:全线 IEPL 的SS-ID这类服务,在每个节点上给出的都是一条跨境段极短、AS 归属单一的路径。把它当成「专线基准线」,任何中转或纯公网路径的差别都会变得非常明显——不需要商家提供任何数据,你自己跑两条 mtr 就能看出来。
六、绕路怎么认:四种典型形态
绕路是公网线路最贵也最隐形的成本,它不写在套餐里,但体现在你每一个请求的延迟上。看路由时,下面四种形态出现得最多。
形态一:太平洋方向绕东北亚或东南亚。去美西的包先经日本或香港落地,再跨太平洋。表现是路径里先出现亚太落地 AS,然后才是美国段,实测 RTT 比物理下限高出 30%-60%。这种绕法在公网国际线路里非常普遍,也是「美西节点为什么只有 250ms」的常见原因。
形态二:欧洲方向绕北美。去法兰克福先到美东再折返大西洋。表现更极端:RTT 直接翻倍,物理下限 92ms 的路径实测 200ms 以上。这类绕路通常出现在流量小的方向上——运营商不愿为小流量单独买直连带宽,就借道自家的其他出口。
形态三:回流。包先出境,再回到国内另一个出口,然后重新出境。表现是路径里出现「国内骨干 → 海外 AS → 国内骨干 → 海外 AS」的交替。回流一般说明出口选择策略有问题,或者落地与入口的对接方式不理想。
形态四:伪本地节点。节点标「香港」,路由却显示跨境段先到日本再到香港。这时你在客户端看到的入口延迟很低(因为入口确实在香港),但落地在别处——流媒体解锁和账号地区识别会直接打脸。这一种最隐蔽,因为它能同时骗过延迟显示和解锁测试的偶然通过。
四种形态的判据始终是同一个:把实测 RTT 和第四节的物理下限对照。差值在 1.3 倍以内属于正常范围;1.3-2 倍之间要留意;超过 2 倍,要么路径绕了远路,要么落地根本不在标称地区。想知道按地区和 IP 类型选节点的完整对比,机场节点地区选择那篇给过逐地区的延迟与解锁数据,可以和你的实测结果对照着看。
七、中间跳丢包 80%,不代表你丢了 80% 的包
这是新手最容易恐慌的一条。mtr 输出里某一跳 Loss% 显示 60%、80% 甚至 100%,很多人立刻得出「链路断了」的结论。绝大多数情况下,那是路由器控制面在限速 ICMP:转发用户数据走的是硬件快路径,而回 ICMP 超时需要 CPU 处理,路由器为了保护自己,会给这类回包设一个配额(常见从每秒几包到几十包不等)。你的探测包刚好落在了配额之外,就被统计成了「丢包」。
判据只有一条:看最后一跳。如果最后一跳 Loss% 接近 0,中间那几跳的高丢包可以完全忽略;如果丢包从某一跳开始,一直延续到最后一跳,那才是真实的链路丢包。这个规则在所有主流网络故障排查文档里都是一致的结论,也是为什么「mtr 只看末跳」成了运维常识。
另一个好用的招数是换探测协议。ICMP 被限速时,改用 TCP SYN 探测 443 端口:
# ICMP 被限速时换 TCP(走 443,最接近真实上网行为)
sudo mtr -rwzc 100 -T -P 443 节点IP
# 换 UDP 探测(部分场景能绕开 ICMP 与 TCP 的限制)
sudo mtr -rwzc 100 -u 节点IP
如果换 TCP 之后中间跳的丢包消失了,说明确实是 ICMP 限速,链路本身没问题;如果 TCP 探测下依然丢包,那这条路径对真实流量也不友好——这种线路在晚高峰会非常明显。
还要会读抖动。Wrst 与 Best 的差、以及 StDev 的大小,比 Avg 更能说明体验。平均 60ms 但 Wrst 400ms、StDev 90ms 的线路,打游戏和开视频会议都会难受;平均 90ms 但 Wrst 110ms、StDev 8ms 的线路,体感反而更顺。原因很简单:延迟高但稳定,应用层可以靠缓冲区吃掉;延迟忽高忽低,缓冲区就必然要么延迟累积、要么丢帧。真遇到持续丢包要按顺序排查,OpenWrt 代理排障那篇有从本地到落地的完整排查顺序,可以省掉大量瞎试。
八、路由追踪看不到的东西:出口 IP 的类型
路由能把「怎么走」讲清楚,但它对「出口是谁的 IP」一无所知。而在很多场景里,后者比前者重要得多。同一个 AS 号下挂着的 IP,按来源大致分四档:
| IP 类型 | 来源 | 平台识别结果 | 适用场景 |
|---|---|---|---|
| 机房 IP | 数据中心常规分配 | 常见代理标记,风控敏感 | 纯浏览、看视频 |
| 广播 IP | ASN 归属与物理位置不一致 | 解锁时好时坏 | 看运气 |
| 原生 IP | 归属地与节点地区一致,ASN 干净 | 多数识别能通过 | 流媒体、AI 服务 |
| 住宅 IP | 家庭宽带出口 | 接近真实用户 | 多账号运营、养号 |
自查方法不难:拿到节点出口 IP(客户端里一般能直接看到,或者访问任意 IP 查询站点),反查它的 ASN 与地理归属,看是否与节点标称地区一致;再看这个 ASN 是否属于已知的数据中心运营商。ASN 归属与地理不一致,就是广播 IP;ASN 归属地一致且是家宽网段,才谈得上住宅 IP。这些查询都是公开信息,同样不需要商家配合。
这解释了为什么做跨境电商、社媒运营、金融账号的人不能只看路由:路径再漂亮,出口 IP 被平台标记成数据中心,账号照样出事。这一层需求要的是住宅或原生 IP 出口——仙路湾的价值就不体现在 mtr 的跳数上,而在出口 IP 的画像上,属于「路由工具测不出来、却决定成败」的那一半。IP 类型与地区解锁怎么系统自查,流媒体解锁与 IP 类型那篇写得很细,这里就不重复了。
顺带说一个容易被忽略的共享度问题:路由看不出同一落地 IP 上有多少人在用。如果你的节点出口延迟很低、丢包也干净,但流媒体频繁掉解锁、注册账号频繁触发验证,那大概率是出口 IP 被过度共享,而不是线路问题。这类现象不会出现在任何 mtr 输出里。
九、去程与回程:为什么必须两端各测一次
互联网路由是非对称的。你家到节点的路径,和节点回到你家的路径,经常走的不是同一批运营商:BGP 的选路规则由每个 AS 自己决定,谁便宜、谁的路由更短,流量就走谁。所以「去程 CN2、回程 163」的线路组合是完全可能的,而且相当常见。
这意味着只看本地跑出来的 mtr,你测到的其实只有去程。要测回程,必须有一个能登录的出口:
# 在节点机上反向追踪你家的公网 IP(这才是回程)
mtr -rwzc 100 你的家宽公网IP
# 从节点机看它到目标站的路径(这是基准线 B)
mtr -rwzc 100 目标域名
对比两边的结果,你才能回答「晚高峰到底是哪一段在拥堵」。现实一点说:绝大多数机场用户只能测到「你 → 节点」这一段,回程测不了,这意味着看到国内段很干净,并不代表晚高峰一定稳。这也是「三网回程优化」这类说法很难自证的原因——它需要链路两端都在你手上,或者由商家提供可验证的测试入口。
退而求其次的判断方法有两个:一是晚高峰用同一目标站连续测三天,记录 A 段的 Wrst 与 StDev 变化(如果 A 段稳定但体感变差,问题大概率在回程或落地);二是用对延迟一致性最敏感的应用(视频会议、游戏、SSH 交互)做体感验证,这类应用比测速软件更能暴露回程问题。
不对称路由最常见的两种组合,晚高峰表现差别很大,值得单独记住:
去程精品、回程公网。你本地跑出来的一切都很漂亮,白天 40ms、晚高峰 60ms,跳数少、AS 干净。但体感就是「点开网页要等一下」,尤其是下载和上传,速度上不去。这类组合的特征是「延迟好、吞吐差」——瓶颈在回程那条公网路径上,而它不在你能观测的范围里。判断依据是:既然 A 段数据完美,问题就不在你和入口之间。
去程公网、回程精品。你本地测出来抖动大、晚高峰 RTT 飙升,但一旦进入某个应用(尤其是下行流量为主的应用)却感觉相当顺。这类组合说明入口那一段是短板,跨境与回程被优化过。此时换一个入口质量更好的套餐或换本地网络环境(比如从 Wi-Fi 换有线),体验提升会比换节点更明显。
要区分这两种情况,最实用的办法不是继续加测量工具,而是分清「延迟敏感」与「吞吐敏感」两类体感:视频会议、SSH、游戏卡的是延迟;云盘同步、素材上传、大文件下载卡的是吞吐。前者的瓶颈在去程与回程的 RTT,后者的瓶颈在某一跳之后的带宽收敛。把体感归类,再去对照 A 段的哪一项指标异常,判断会快很多。
十、晚高峰复测:采样口径决定结论
单次测速的数字几乎没有意义。跨境链路的质量是一个分布:同一节点、同一目标,白天和晚高峰可以差出一个数量级。要得出可靠结论,采样口径必须固定下来:
- 同一时段:20:30-21:30 是跨境拥堵最典型的窗口,另外挑一个白天时段做对照。
- 同一路径:同节点、同探测协议、同采样次数(
-c 100起步,样本太少统计不可用)。 - 连续多天:至少 3 天,最好跨周末——周末晚高峰的流量结构和工作日不一样。
- 记录 Wrst 与 StDev,而不是只记 Avg。真正决定体感的是最差值和抖动。
记录模板可以直接抄,攒够一周就是一份属于自己的线路档案:
| 日期 | 时段 | 节点 | 采样 | Avg | Best | Wrst | StDev | 末跳丢包 | 备注 |
|---|---|---|---|---|---|---|---|---|---|
| 09-20 | 14:00 | A 节点 | 100 | 白天基准 | |||||
| 09-20 | 20:45 | A 节点 | 100 | 晚高峰 | |||||
| 09-21 | 20:45 | A 节点 | 100 | 复测 |
有了三天的数据,判断会变得非常干脆:白天的 Avg 和晚高峰的 Avg 差多少、Wrst 有没有突然飙高、丢包是不是只在晚高峰出现。之后再想换节点或换机场,也有据可依,而不是凭一次测速的心情。
⚠️ 另一条时效提醒:线路商的出口选择、优先级和 BGP 策略会随成本与政策调整,上周漂亮的路由这周可能就换了。所以本文给的是读法和判据,而具体的 AS 归属、出口网段、套餐与价格,请以运营商和机场官网当前公示的信息为准——线路行业没有一劳永逸的参数表。
十一、把数据变成决策:五个可执行判据
测量本身不是目的,判断才是。把前面所有字段压成五个可执行的判据,就够做决策了:
| 判据 | 怎么算 | 好 | 一般 | 差 |
|---|---|---|---|---|
| 物理下限达成率 | 实测 Avg RTT ÷ 理论下限 | ≤ 1.5 倍 | 1.5-2 倍 | > 2 倍 |
| 跨境段 AS 交替次数 | 数国内骨干末跳之后的国际 AS 家数 | 1-2 家 | 3 家 | ≥ 4 家 |
| 晚高峰末跳丢包 | 只看最后一跳的 Loss% | < 0.5% | 0.5%-3% | > 3% |
| 抖动 | StDev 与 Wrst 漂移 | StDev < 10ms | 10-40ms | > 40ms |
| 出口 IP 画像 | 反查 ASN 归属与 IP 类型 | 原生/住宅,归属与标称一致 | 归属一致的机房 IP | 广播 IP 或明显被共享 |
用这五条时不要追求满分。移动宽带用户、校园网、公司专线各有各的先天条件,正确的用法是先跑自己的基准线,再看差值:同一家机场,A 节点和 B 节点的达成率差两倍,那是节点问题;全部节点都比你的直连基准线还差,那才可能是机场问题,也可能是你家宽本身的问题。
五种使用者,各自该重点看哪两项,也顺便列清楚,省得对着五个判据平均用力:
| 使用画像 | 最该看的两项 | 可以妥协的 |
|---|---|---|
| 日常浏览、看视频、查资料 | 晚高峰丢包 + 出口 IP 画像 | Avg RTT(差 30ms 无感) |
| 实时交互(会议、游戏、SSH) | 抖动 StDev + 晚高峰末跳丢包 | 峰值带宽 |
| 大文件传输、素材同步、直播推流 | 晚高峰吞吐收敛 + 跨境段 AS 家数 | 低延迟(不是第一优先级) |
| 多账号运营、跨境电商、金融账号 | 出口 IP 画像 + 落地与标称地区一致性 | 跳数与 RTT(够用即可) |
| 预算有限的学生 / 轻度用户 | 晚高峰末跳丢包 + 单价 | 物理下限达成率 |
这张表的意义是:同一组数据,对不同的人是不同的结论。一个美西 200ms 但抖动 5ms 的节点,对打游戏的人是失望,对大文件传输的人是合格,对多账号运营的人只要 IP 干净就完全够用。先确定自己属于哪一行,再去看对应的两项,就不会被一堆参数牵着走。
最后给一个反直觉的结论,它值得单独说清楚:如果你以手动浏览、看视频、日常办公为主,不必为「再快 30ms」多付钱。人眼和手指感知不到的延迟差,对这类场景没有意义;真正决定体验的是晚高峰的丢包与抖动,以及出口 IP 干不干净。愿意为线路付溢价的人,应该是这几类:需要长连接稳定的实时交互场景、对丢包极度敏感的直播与游戏、以及必须靠 IP 画像活着的多账号运营。为参数好看付钱,和为解决真实问题付钱,是两件事。
十二、十个最常见的误判
- 把中间跳 100% 丢包当成断线。ICMP 限速而已,看最后一跳。
- 把 CDN 边缘节点当落地。访问大站时你测到的最后一跳常是 CDN 边缘,不是真实源站,路径看起来自然很近。
- 把入口延迟当全链路延迟。客户端里的 30ms 是到入口的,后面还有一整段跨境路。
- 把一片 * * * 当成链路故障。专线与 MPLS 场景下不回 TTL 很常见;末跳有结果就说明路径是通的。
- 把中转当专线。入口在国内 IDC、跨境段仍走公网,就是中转;它的价值在入口质量与出口优化,而不是「专线」。
- 把单次测速当线路质量。一次结果既不代表最好情况,也不代表最差情况。
- 把 ICMP 与 TCP 的表现混为一谈。两条探测路径可能完全不同;判断真实体验要用
-T -P 443。 - 把本地城域网的 AS 当成机场线路。你家宽出口前几跳是你自己的运营商,跟机场无关。
- 把「地区名」当落地位置。入口地区与落地地区可以不同,用物理下限一算就知道。
- 用 ping 的 RTT 判断带宽。延迟和吞吐是两件事,200ms 的线路照样可以跑满千兆,20ms 的线路也可能只有 20Mbps。
十三、常见问题(FAQ)
Q1:traceroute 和 mtr 该用哪个?
日常排查用 mtr:它自带统计,能给 Best/Wrst/StDev,一次命令就能看趋势。traceroute 适合看单次路径形状,或者目标不支持 ICMP 时的快速确认。真要下结论,一律用 mtr 加固定采样次数。
Q2:为什么 mtr 一开始几跳延迟很低,中间突然跳高?
前几跳是本地网络与城域网,中间那一跃升通常就是出境点。这个「跳变点」的位置很有价值——它能告诉你流量是从哪个国际出口出去的,以及出境前后各花了多少时间。
Q3:测出来中间跳丢包 50%,但网页完全正常,要处理吗?
不用。末跳丢包接近 0 就说明端到端没问题,中间跳的丢包是控制面限速造成的统计假象,对用户数据没有影响。
Q4:为什么换 TCP 探测之后,路径和 ICMP 测出来的不一样?
因为运营商对不同协议的转发策略与优先级可能不同,这在跨境线路上非常常见。判断真实体验时以 TCP 443 的结果为准,它最接近你实际的上网流量。
Q5:需要 root 权限吗?
ICMP 模式在现代系统上通常不需要;UDP/TCP 模式一般需要 sudo 或给 mtr 加上文件能力。macOS 上装好 mtr 后直接跑即可。
Q6:手机用户怎么做这套测试?
手机端很难跑 mtr。可行做法是:用同一 Wi-Fi 下的电脑对同一节点测(代表你的固定网络),或在手机上用支持反向追踪的工具软件。移动网络会引入额外的 NAT 与基站延迟,结论要单独看。
Q7:机场节点很多,要不要全测一遍?
不必。先按地区各挑一个代表节点(比如香港、日本、美西各一),跑完三条基准线,找出表现最好的地区;再在该地区内挑 2-3 个节点做晚高峰复测。全量测试的时间成本远高于收益。
Q8:为什么同一个节点,我测和朋友的结论完全相反?
因为去程取决于你的本地运营商。电信、联通、移动三网到同一个节点的出境路径是不同的,这完全正常。凡是自称「三网同优」的线路,评估时必须分别在三网环境中实测,只测一条网得出的结论不能推广。
Q9:物理下限这个算式,能用来判断机场是否虚假宣传吗?
能判断一部分。如果宣称「美西专线」,实测 RTT 明显低于上海到洛杉矶的物理下限(约 105ms),那它要么落地不在美西,要么入口不在上海附近。反过来,实测值高于下限不等于虚假宣传——绕路、拥塞、两端接入都会增加延迟,只能说明它不是最优路径。
Q10:路由看起来完美,但流媒体还是不解锁,为什么?
因为解锁取决于出口 IP 的画像,而不是路径。路径漂亮说明流量走得顺,IP 被标成数据中心说明平台不认。这两件事相互独立,需要分别验证。
Q11:多久该复查一次线路?
换节点、感觉变慢、或者听到线路调整时都值得跑一次。另外建议每月固定跑一次三条基准线存档,有了历史数据,你才能在「今天特别慢」的时候判断这是偶然波动还是线路真的变差了。
Q12:这些输出能拿去和机场客服沟通吗?
可以,而且比「你们好卡」有效得多。一份带时间、采样次数、末跳丢包、StDev 的 mtr 报告,能让对方直接定位到是哪一段出了问题。把报告里的 IP 段模糊掉再发即可,不需要暴露自己的公网 IP。
Q13:mtr 输出里出现 10.x、192.168.x 这类内网地址,正常吗?
正常。那通常是你本地 NAT 设备、光猫,或者运营商侧的内网节点。看到内网地址说明路径进入了别人的内部网络,不代表异常,接着往下看后面的公网跳即可。
Q14:拿什么目标站做测试目标最合适?
用你真实高频访问的目标最好,因为那才是你关心的实际路径。如果只是想评估线路本身,选一个稳定的公共目标即可。尽量避免用大型 CDN 站点做跨境判据——你测到的最后一跳往往是 CDN 边缘节点,会给出偏乐观的结论。
Q15:订阅里给的是域名不是 IP,能测吗?
可以,mtr 同样接受域名。但要注意两点:一是域名会先解析(可能解析出多个地址,路径未必一致);二是如果该域名前面挂了 CDN,你测到的是 CDN 边缘,不是真实落地。
Q16:这些命令在路由器上能跑吗?
多数 OpenWrt 固件默认没有 mtr,需要从软件源安装;装好之后在路由器上跑反而更有代表性,因为它测的是「旁路掉路由器之后」的真实出口路径。注意低端路由器的 CPU 跑 mtr 会有额外开销,测 100 次采样期间别同时做别的事。
十四、一页速查:一条命令 + 五个看数顺序
最后把全文压成一页,贴在备忘里就够用:
# 一条命令搞定
mtr -rwzc 100 -T -P 443 目标域名
# 五个看数顺序
1) 末跳 Loss% → 端到端是否真丢包(中间跳丢包忽略)
2) 末跳 Avg → 除以物理下限(距离km ÷ 200 × 2),比值 ≤1.5 算优秀
3) 跨境段 AS → 数国际 AS 家数,1-2 家是精品线路,≥4 家是公网绕
4) Wrst/StDev → 抖动能反映体感,比 Avg 更重要
5) 出口 IP → 反查 ASN 与 IP 类型,路由好看不等于 IP 干净
这套方法的全部价值在于:它把「线路好不好」从一个只能听商家说的主观问题,变成了一个自己能复现、能存档、能对比的客观问题。你不需要相信任何宣传,只需要把同一套命令在固定时段跑几遍,答案会自己浮出来。
建议顺手做一件很小但很有价值的事:把每次的结果按「日期-时段-节点」命名存进一个目录,一个月后你手上就有了一份属于自己的线路档案。到那时再看任何一家机场的宣传语,你都能在心里瞬间换算成数字——它说的「稳定」,到底是 StDev 8ms 还是 80ms;它说的「专线」,跨境段到底有几家 AS。这种判断力一旦建立,就不会再被话术带走。
最后一个提醒:所有测试结论都有保质期。跨境线路受运营商策略、带宽采购、海底光缆状态甚至季节性流量影响,上个月的最优解这个月未必成立。方法是长期的,参数是短期的——把方法留下,把参数随时更新。
推荐阅读
- 机场晚高峰横评 —— IEPL 专线、中转、住宅 IP 三类线路在晚高峰的抗拥堵实测,和本文的复测方法可以互相印证
- 晚高峰变慢的原理与 BBR 拥塞控制 —— 从 TCP 拥塞控制角度解释为什么晚高峰会掉速,理解它才知道哪一段该换线路、哪一段只能靠缓冲
- OpenWrt 性能优化与 MTU 调优 —— 本地侧同样会影响跨境体验,MTU、MSS 与转发性能的调优方法都在这篇里