晚高峰绕路:拥堵时你的数据被送去了哪

晚上 VPS 变慢,traceroute 一看,平时直达的路由绕了半个地球。小够讲清晚高峰绕路的成因、 BGP 选路机制、三种绕路形态,以及怎么发现、能不能解决。

我是小够。今天讲晚高峰最魔幻的现象:绕路。

白天你的数据从洛杉矶直达上海,150ms。晚上九点一测,变成洛杉矶 → 达拉斯 → 法兰克福 → 上海,280ms。数据没丢,就是去旅游了一圈。为什么?

路由不是固定的

很多人以为网络路由像高铁线路,固定不变。错了。互联网路由是动态的,BGP 协议会根据策略、拥塞、成本实时调整。运营商手里有多条路,堵了就换一条,这就是绕路的本质。

BGP 选路有个特点:它选的是"按策略最优",不是"按距离最短"。运营商的策略里,成本和拥塞的权重经常压过距离。所以你的数据晚上去欧洲旅游一圈,不是导航坏了,是运营商觉得这条路"更划算"。

绕路的三个成因

1. 拥塞调度(最常见)

晚高峰国际出口一堵,运营商把部分流量导到不那么堵的链路上。比如直达上海的 CN2 满了,就先送到日本、欧洲,再绕回来。多走几千公里,延迟自然上去。这叫"用距离换畅通",总比堵死强。

2. 商家买的带宽不够

小商家买的 CN2 带宽是定量的,晚高峰用户一多就不够分。自己的路走不下了,流量就被运营商扔到普通 163 上——你买的是 GIA,晚上用的却是 163 的体验。这种最气人,但也最常见。识别方法:看商家敢不敢贴晚高峰的 traceroute,不敢贴的,心里有数。

3. DDoS 清洗牵引

如果机房正在被攻击,流量会被牵引到清洗中心"洗一遍"再送回来。清洗中心可能在另一个城市甚至另一个国家,延迟暴涨。这时候绕路反而是保护,真把攻击流量直灌进来,机器直接就挂了。清洗牵引一般持续几小时到一两天,攻击停了路由就恢复。

绕路的几种形态

  • 国内绕:洛杉矶 → 圣何塞 → 上海,多一两跳,延迟增加 20–50ms,轻微。
  • 绕亚太:洛杉矶 → 东京 → 上海,多几千公里,延迟增加 50–100ms,常见。
  • 绕欧洲:洛杉矶 → 法兰克福 → 上海,横跨大半个地球,延迟直奔 300ms,重度。
  • 回程绕:去程直达、回程绕路。用户最容易误判的一种——自己 traceroute 看去程挺好,实际用起来卡,因为卡的是回程。

最后一种最阴险:你测去程一切正常,但网页打开就是慢。这时候要去 VPS 上反向 traceroute 看回程,或者用 Looking Glass 从机房往回测。

怎么发现绕路:早晚对比法

  1. 早上跑一次 traceroute,保存结果(截图或文本)。
  2. 晚上 21:00再跑一次,同样保存。
  3. 对比三点:跳数变了没、中间出现平时没有的城市没(东京、法兰克福、新加坡)、延迟涨了多少——三者占一,就是绕路了。

连续测几天,如果每天晚上固定绕路,那就是常态,不是偶发。进阶玩法:建个表格,每天记录早晚的延迟、跳数、关键节点,一个月下来,这条线路的"人品"一目了然。买长期套餐前,花一周做这件事,比看十篇评测都值。

能不能解决

看成因:

  • 运营商调度:用户侧无解,这是骨干网层面的事。能做的是换一家调度策略好的商家,或者换个机房。
  • 商家带宽不够:换商家。这是最值得换的情况——钱花了,服务没给。识别信号:每天晚上固定时间变慢,白天生龙活虎。
  • 清洗牵引:等攻击过去。长期频繁被牵引,说明这个机房/这个 IP 段是重灾区,考虑换 IP 或换机房。

还有一个很多人忽略的:换个时段用。如果你的业务允许(比如备份、批量任务),把重度使用挪到凌晨,绕不绕路都和你没关系。对抗不了规律,就顺应规律。

和"优化线路"的关系

为什么 CN2 GIA 晚上很少绕路?三层原因:

  1. 带宽买足:按峰值买,晚高峰也有余量。
  2. 路由固定:承诺固定路由,不轻易调度。
  3. SLA 保障:达不到指标要赔,不敢乱来。

便宜线路的绕路,本质上是把成本转嫁给了你的体验——商家省了带宽钱,你付了时间。所以看线路评测,别只看白天的数字:晚高峰的路由,才是这条线路的真面目。一篇评测如果只贴了下午三点的 traceroute,参考价值打对折;真正负责的评测,会贴早晚对比。

BGP 选路:运营商是怎么决定走哪条路的

BGP 选路不是"选最短的",而是按一串规则打分,简化版:

  1. LOCAL_PREF(本地优先级):运营商自己定的,最高的优先。这是运营商说了算的部分,也是绕路的根源——运营商觉得某条路"更划算",你的流量就走那条。
  2. AS_PATH 长度:经过的自治系统越少越好。这是"距离"因素,但排在策略之后。
  3. MED、IGP 开销:更细的 tie-breaker,普通用户不用记。

理解这套规则,就理解了绕路:策略优先于距离。运营商一切换 LOCAL_PREF,你的流量就被送去了另一条路,不管那条路有多远。

拥塞的根源:国际出口带宽是买的

运营商的国际出口带宽是真金白银买的(向海缆系统、向对端运营商结算)。晚高峰流量涨了,带宽不够,就两种选择:加钱扩容,或者把流量导到便宜的链路上。

大运营商一般选择扩容(面子不能丢),小商家则经常选择"导流"——把你的 GIA 流量导到 163 上。这就是为什么便宜 VPS 的晚高峰格外难熬:你付的钱,只够买白天的路。

清洗牵引:被攻击时的绕路

如果机房正在被 DDoS,流量会被牵引到清洗中心"洗一遍"再送回来。清洗中心可能在另一个城市甚至另一个国家,延迟暴涨是必然的。

怎么判断是清洗牵引还是普通绕路?看时间:清洗牵引一般持续几小时到一两天,攻击停了路由就恢复;普通拥塞绕路每天晚上固定上演。如果某个 IP 段长期频繁被牵引,说明那是重灾区,换 IP 或换机房是正解。

商家带宽不足的识别信号

  • 每天晚上固定时间变慢,白天生龙活虎
  • 绕路的路径里出现 163(202.97),而你买的是 GIA
  • 同一机房别人的机器不慢,就你的慢(超售到你这台母机了)
  • 商家从不敢贴晚高峰的 traceroute

占两条以上,基本可以判定是商家的问题,不是你的问题。

不同绕路形态的延迟对照

以洛杉矶机房、国内电信宽带为例(大致范围,实际因地区而异):

形态路径示意延迟
直达洛杉矶 → 上海140–170ms
国内绕洛杉矶 → 圣何塞 → 上海170–210ms
绕亚太洛杉矶 → 东京 → 上海200–260ms
绕欧洲洛杉矶 → 法兰克福 → 上海280–350ms

拿着这张表对照你的实测,一眼就知道绕到哪了。280ms 以上,基本就是绕欧洲了。

长期监测:建个线路档案

买长期套餐前,花一周做这件事:

  1. 每天早、中、晚各 ping 一次,记录延迟和丢包
  2. 每天早晚各 traceroute 一次,记录关键节点
  3. 建个表格,一周后看规律

规律比单次测试重要得多。每天晚上固定绕路的,和偶尔绕一次的,是两种完全不同的线路。一周的记录,胜过十篇评测。

晚高峰时间表:各地不一样

“晚高峰"不是全国统一的:

  • 北京时间 20:00–23:00:国内用户上网高峰,国际出口最堵
  • 美国西岸时间对应:洛杉矶是 UTC-7,北京时间 21:00 是洛杉矶早上 6:00——机房那边是清晨,堵的是国内出口这一侧
  • 欧洲方向:时差小一些,晚高峰部分重叠

理解时差,就理解了"为什么美国机房晚上卡”:卡的不是机房,是国内出海口。机房那边天还没亮呢。

绕路、拥塞、丢包:三者的关系

  • 拥塞:路堵了,延迟涨,但还走原路
  • 绕路:太堵了,换条路走,延迟涨得更多
  • 丢包:堵到包都扔了,最严重

程度递进:拥塞 → 绕路 → 丢包。看到绕路,说明拥塞已经严重到要换路了;看到丢包,说明连换路都救不了。判断线路质量,看它处在哪个阶段。

商家带宽采购的三种模式

  1. 买足:按峰值买带宽,晚高峰也有余量。贵,稳。
  2. 买均值:按平均流量买,晚高峰不够,导流到便宜链路。便宜,晚上卡。
  3. 赌:买很少,用户多了再扩。最便宜,赌输了就跑路。

你的 VPS 晚上卡不卡,取决于商家是哪种模式。而商家的模式,取决于它收你多少钱。一分钱一分货,在带宽上体现得最诚实。

各运营商的晚高峰特点

  • 电信:用户最多,163 晚高峰波动最大,CN2 GIA 最稳
  • 联通:4837 波动中等,9929 稳,欧洲方向相对好
  • 移动:CMI 昼夜差异最大,CMIN2 改善明显

三家各有各的痛。买 VPS 时按自己的宽带对号入座,别人的痛和你没关系。

换商家的时机

出现这些信号,考虑换:

  1. 每天晚上固定时间变慢,白天正常
  2. 绕路路径里出现低等级线路(买 GIA 却走 163)
  3. 找客服,对方承认带宽不足或含糊其辞
  4. 连续一周监测,规律稳定

别为"便宜"忍受每晚的卡顿。时间也是成本,体验差的便宜等于贵。

不同业务的晚高峰策略

  • 建站:访客晚上最多,必须保证晚高峰质量,GIA 或口碑好的商家
  • 游戏:延迟敏感,晚高峰是主战场,线路等级拉满
  • 下载/备份:挪到凌晨,什么线路都行,省钱
  • 学习折腾:白天用,163 够了,别多花钱

业务决定线路,不反过来。先想清楚自己什么时候用网,再选。

晚高峰测试的标准流程

  1. 拿商家测试 IP(没有就先买月付)
  2. 连续三天,21:00 跑 MTR(100 个包)
  3. 记录延迟、丢包、路由变化
  4. 三天都稳,再考虑长期套餐

三天时间,换来一年的安心,值。

一句话:晚高峰的路由才是真面目

看线路评测,别只看白天的数字。晚高峰的路由,才是这条线路的真面目。只贴下午三点 traceroute 的评测,参考价值打对折。真正负责的评测,会贴早晚对比——记住这条,你就不会被忽悠。你的使用时段,决定了你该为什么付费。别为用不上的稳定性付费,也别在关键业务上省那点差价。先测,再买。

常见问题

Q:绕路会持续多久? A:看成因。拥塞调度一般随晚高峰结束而恢复(23:00 后慢慢正常);商家带宽不足是每天重复;清洗牵引看攻击持续时间。

Q:绕路和丢包哪个更严重? A:都难受,但性质不同。绕路是"慢但到",丢包是"到不了要重传"。轻微绕路(多 50ms)可以忍,丢包超过 2% 就得重视。最惨的是又绕路又丢包,那就别犹豫,换。

Q:换 DNS 能解决绕路吗? A:不能。绕路发生在骨干网层面,和 DNS 解析无关。这是小白最常见的误区之一,放在这里再强调一次。

Q:怎么选不绕路的商家? A:看三点:买足带宽的口碑(看晚高峰评测)、GIA 这类承诺固定路由的产品、以及商家是否敢贴晚高峰的 traceroute。敢贴的,一般不差。

Q:我的 VPS 晚上绕路,白天正常,要换吗? A:先看影响:如果只是 SSH 慢一点、能忍,不用换;如果是跑业务、访客晚上最多,那必须换。决策看你的使用时段,不看别人的评测。

Q:绕路是商家故意的吗? A:大部分不是。运营商调度是骨干网行为,商家控制不了;商家能控制的是"买足带宽"。所以问题不在"绕不绕",而在"商家有没有为不绕路花钱"。