快喵VPN · 四协议接入门户。线路公告 · RSS · 协作邮箱 protocol@kuuimiao.com.cn。
快喵VPN 品牌标识快喵VPNKUAIMIAO TECHNICAL PORTAL下载客户端

首页 / 协议 / 选路与线路

选路逻辑:三条判据、一个粘滞窗口

自动选路不是挑最快的节点,而是在可用集合里挑最稳的一条。劣化发生后 30 秒内完成降级。本文把判据、阈值与切换过程全部写出来。

地球与全球连线图,展示跨境出口与骨干汇聚的路径关系

01

选路是一条决策链,不是一个分数

很多人以为客户端在给节点打分,然后选最高分。实际做法是三层过滤:先删掉不可用的,再在可用的里比稳定性,最后才比速度。

地球与全球连线图,展示三层过滤后的候选路径
三层过滤:第一层删掉端口不可达的节点,第二层删掉丢包与时延劣化的,第三层才在剩余候选里择快。

第一层:可达性

端口探测决定「能不能连」。UDP 403 次全失败即判定为不可用,不进入后续比较;这一层过滤掉的节点占全部候选的 11%。

第二层:稳定性

丢包、抖动与时延共同决定「稳不稳」。这一层不看绝对延迟高低,而看与历史基线的偏差,避免被一次偶然快的结果带偏。

  • 第三层才比较速度,且只在延迟差超过 15% 时才允许改变结论。
  • 三层过滤的顺序不能调换:先比速度会选出「快但连不上」的节点,这正是手动选节点最常见的翻车方式。
  • 过滤结果会写入诊断日志,包含每层被淘汰的节点数与原因。

02

三类探测信号:延迟、丢包、端口

探测本身要便宜,否则会占用用户带宽。三类信号合计每 20 秒消耗不到 2 KB 流量,对吞吐几乎无影响。

表 1 · 三类探测的参数(客户端 4.8.0)
信号探测方式周期单次成本阈值
延迟向 8 个采样节点各发 5 个 ICMP 或 UDP 包20 秒约 640 字节优于当前 15%
丢包统计最近 30 秒内业务流与探测流的丢包比例滚动窗口0 字节(复用业务流)高于 2%
端口对 443 与 UDP 高位端口做三次握手探测60 秒约 180 字节三次全失败
测速仪表盘界面截图,对应延迟、丢包与抖动的三档读数
三档读数:延迟取中位、丢包取 30 秒滚动窗口、抖动取 95 分位,三者分别对应一条判据。

丢包信号不额外发包,而是复用业务流的统计。这一点很重要:如果为了测丢包而额外发包,在低带宽链路上反而会加重拥塞,测出来的丢包是自己造成的。

探测结果会与本机历史基线比较,而不是与全网平均值比较。原因很简单:上海用户的 19 毫秒与乌鲁木齐用户的 19 毫秒不是同一件事。

03

延迟优先:比什么、和谁比

延迟优先的实质是「相对优势」而不是「绝对最小」。客户端保存过去 24 小时的每小时基线,用它判断当前线路是否变差。

比较对象是基线

每个节点每小时生成一个中位延迟基线,当前读数与基线比较。基线在 24 小时后过期,避免用昨天的好成绩判断今天。

确认周期是 2 轮

延迟优势必须连续 2 个周期(40 秒)成立才允许切换。这条规则把「地铁进隧道」这类瞬时抖动挡在切换之外。

回退条件独立

切换后若连续 3 次读数落后,立即回退到切换前的节点,不等待确认周期,避免用户在劣化状态里停留过久。

表 2 · 延迟判据的实际触发情况(2026 年 10 月,全部用户样本)
场景触发次数占比平均确认时长切换后延迟变化
晚高峰跨境拥塞41%44 秒下降 22 至 38 ms
本地无线干扰27%38 秒下降 9 至 15 ms
运营商路由变更18%52 秒下降 31 至 70 ms
节点侧负载升高14%41 秒下降 18 至 26 ms

04

丢包优先:为什么把丢包单独拎出来

丢包与延迟是两种不同的伤害:延迟让人等,丢包让人断。TCP 遇到丢包会减速重传,视频遇到丢包会花屏,会议遇到丢包会卡音。

2% 是临界点

实测在 2% 丢包以下,四种协议的吞吐差异主要由握手与数据面决定。超过 2% 后,Hysteria2 的相对优势开始指数级放大,3% 时是 WireGuard 的 1.8 倍。

确认周期只有 1 轮

丢包档不等待第二个周期,因为 20 秒的等待足以让一次视频会议掉帧 600 帧。代价是可能误判,因此回退条件也设得更宽松(60 秒内降到 0.5% 以下即回退)。

表 3 · 丢包档触发后的协议变化(东京出口实测)
切换前协议切换后协议吞吐变化丢包口径
WireGuardHysteria2318 → 588 Mbps3% 随机丢包
TrojanHysteria2241 → 588 Mbps3% 随机丢包
OpenVPNHysteria2132 → 588 Mbps3% 随机丢包
Hysteria2保持无变化3% 随机丢包

05

端口可用性:最后一道硬门槛

端口不可达时,任何优化都没有意义。端口探测只做一件事:确认 443 与 UDP 高位端口能否完成一次完整握手。

表 4 · 端口探测结果与对应的协议档位
探测结果含义协议档位典型网络
443 与 UDP 均通无限制WireGuard 优先家庭宽带、部分企业网
仅 443 通UDP 被封Trojan办公网、校园网、酒店
仅 UDP 通443 被策略拦截Hysteria2少数运营商定制网络
两者均不通全端口受限OpenVPN TCP 兜底或断开国际漫游、机场 Wi-Fi
  • 探测使用真实握手而非仅做 SYN,因为部分网络对 SYN 放行但对后续握手重置。
  • 探测失败不等于永久不可用,客户端每分钟重试一次,恢复后自动回升。
  • 端口探测结果与协议选择都会写入诊断日志,便于向网络管理员取证。
  • 企业环境可以用配置文件固定端口,跳过探测,适合有明确策略的组织。

06

切换过程:5 秒平滑过渡

切换不是断开再连,而是新旧两条连接并行 5 秒,让已建立的会话有时间迁移。用户通常感觉不到切换,最多看到一次 200 毫秒的停顿。

  1. 第 0 秒:确认周期满足,客户端建立新连接并完成握手,旧连接保持不动。
  2. 第 1 至 4 秒:新连接接管新发起的请求,旧连接继续服务已存在的会话。
  3. 第 5 秒:旧连接关闭,路由表更新为新出口,DNS 缓存刷新一次。
  4. 第 6 秒起:新连接进入常规探测节奏,写入一条切换记录(原因、耗时、前后读数)。
蓝色网络拓扑图,展示切换期间新旧两条连接并行的过渡状态
过渡状态:新旧两条连接并行 5 秒,已建立的会话在旧连接上跑完,新请求走新连接。

平滑过渡的代价是切换期间双份带宽占用,实测约 3.4 MB 的额外流量。对按流量计费的移动网络,这个代价在设置里可以关掉,代价是切换时会有一次 1 至 2 秒的断流。

2026 年 10 月的统计数据:开启平滑过渡的用户,切换引发的会话中断率是 0.4%;关闭后升到 7.1%,其中 82% 发生在视频会议与在线课堂场景。

07

切换阈值表:可查、可调、可追溯

阈值集中在高级设置里,共 5 项。改动会写入诊断日志,便于事后复盘「为什么当时切了」。

表 5 · 默认阈值与可调范围
判据默认阈值可调范围确认周期回退条件
延迟优于当前 15%5% 至 40%2 个周期连续 3 次落后
丢包高于 2%1% 至 10%1 个周期降到 0.5% 以下 60 秒
抖动95 分位高于 12 ms6 至 40 ms2 个周期回到 6 ms 以内
端口三次全失败固定 3 次立即UDP 恢复可用
带宽低于峰值 40%20% 至 60%3 个周期回到 70% 以上
阈值总数
5 项
生效方式
下个探测周期
日志留存
本地 7 天
可导出
CSV / JSON
默认值版本
4.8.0 / 2026-10-26
  • 把延迟阈值调到 5% 会让切换次数从每小时 2 次升到 17 次。不建议在移动网络下调整。
  • 把丢包阈值调到 5% 会让视频在 3% 丢包时仍留在 WireGuard,体感明显变差。
  • 带宽判据只做提示不做切换,因为测速本身占带宽,频繁测速会拖慢体感。

08

与节点的关系:落地决定出口

节点决定流量从哪个城市的哪个 IP 出去,这影响了目标站点的地理判定与回程路径。选路的第二层会把节点的城市与上联一起计入。

表 6 · 分区域节点与上联(2026 年 10 月 12 日至 10 月 26 日)
区域节点中位延迟上联线路协议支持
中国香港819 msCN2 GIA / BGP 双路WireGuard、Trojan、Hysteria2
日本东京1134 msNTT / IIJ 双上联四协议全支持
新加坡946 msSingtel / Telin四协议全支持
美国洛杉矶14138 msGTT / Cogent四协议全支持
美国圣何塞7146 msCogent / HEWireGuard、OpenVPN、Trojan
德国法兰克福8176 msDE-CIX 直连WireGuard、Trojan、Hysteria2
英国伦敦6188 msLINX 对接四协议全支持
阿联酋迪拜4172 msEtisalatOpenVPN、Trojan

同一城市通常有 2 至 3 个不同上联的入口。以香港为例,CN2 GIA 与 BGP 两条回程在晚高峰的丢包差异可达 1.3 个百分点。选路会优先选择历史上更稳的那一条,而不是延迟更低的那一条。

09

与线路的关系:跳数与丢包的分工

线路是跨境段实际走的骨干。跳数影响延迟,丢包影响稳定,两者的修复手段完全不同。

机房机柜阵列照片,对应节点上联设备与线路接入点
接入点实拍:机柜内的上联交换机直连不同骨干,线路标签由探测端写入(东京千代田机房)。

跳数决定延迟下限

香港 CN2 GIA 到上海 4 跳,BGP 回程 9 至 11 跳,延迟差 11 至 19 毫秒。这个差值无法靠协议弥补。

丢包决定体验上限

同一线路在晚高峰的丢包从 0.1% 升到 1.4%,WireGuard 吞吐从 928 掉到 640 Mbps。换协议比换线路更快见效,因为线路侧的拥塞无法在客户端解决。

  • 线路标签分三类:直连、普通、绕行。绕行线路只在直连不可用时启用。
  • 海缆维护期会提前写入线路黑名单,选路自动绕开,无需用户操作。
  • 线路健康度每小时汇总一次,异常线路会连续 3 小时降权,直到恢复正常。

10

故障演练:人为断掉一条腿

选路的可靠性不能只靠线上验证。本站每月做一次演练,人为切断一条链路,看切换是否在承诺时间内完成。

  1. 演练一:切断香港出口的 UDP,预期 30 秒内切到 Trojan,实际中位 24 秒完成。
  2. 演练二:注入 3% 随机丢包,预期 20 秒内切到 Hysteria2,实际中位 19 秒完成。
  3. 演练三:让主节点 CPU 打满,预期吞吐降至 40% 时触发提示,实际在 51 秒时触发。
  4. 演练四:同时切断 UDP 与 443,预期提示用户检查网络,实际在 15 秒内给出明确提示而非静默失败。

演练记录可查

每次演练的输出都归档在公告页,包含注入方式、观察到的切换时间与最终档位。2026 年 1 月至 10 月共完成 10 轮。

失败也算结果

演练中若切换超过 60 秒,会作为缺陷进入下一版修复队列。4.7.x 曾有一次因确认周期叠加导致 78 秒才切换,4.8.0 已修正。

11

已知边界:不做什么

选路能解决链路选择问题,解决不了下面四件事。把它们写清楚,比含糊地承诺「智能加速」更有用。

不能突破物理带宽

家里 100 Mbps 的宽带,任何协议与节点都只能接近 100 Mbps。选路不改变上限,只让上限被更充分地利用。

不能绕过应用层封锁

目标站点对出口 IP 做了策略限制时,换节点才有用;换协议在这一层无效。

不能修复本地故障

路由器过热、无线干扰、网卡驱动问题都不在选路的解决范围内,诊断页会尝试区分但无法修复。

不做静默重试欺骗

连不上就明确提示,不用反复重试制造「能动」的假象。重试 3 次后给出可执行的建议。

  • 选路日志只记录协议、端口与三档读数,不记录访问目标与内容。
  • 任何阈值调整都会在诊断页顶部显示一行提示,避免用户忘记自己改过。
  • 不提供「锁定节点」的隐藏开关来规避自动劣化,也不做后台静默改协议。

13

五个现场问题

这些问题来自 2026 年 9 月至 10 月的工单,答案都指向本页的某一节。

为什么在两个节点之间来回跳

两个节点的历史基线接近,导致延迟差在 15% 阈值附近反复穿越。处理办法是把阈值调到 20%,或直接固定其中一个节点。

为什么手动选的节点更快却更容易断

手动固定绕过了稳定性过滤,选中的节点可能丢包偏高。诊断页第二行能看到该节点最近 30 分钟的丢包曲线。

为什么切换后速度反而慢

新节点可能与当前协议不匹配,例如切到只放行 443 的节点上还留在 WireGuard。日志里会显示 port=udp 状态。

为什么日志里没有切换记录

只在确认周期满足时才写记录,单次抖动不算切换。若想看到每次读数,可以打开详细日志模式。

为什么企业网里的切换更频繁

企业网关常对 UDP 做时断时续的限速,导致端口探测在可用与不可用之间摆动。建议固定 Trojan 并关闭端口探测。

以上五个问题的处理动作都写进了客户端 4.8.0 的帮助面板,搜索关键词即可定位,不需要翻文档。

12

诊断与日志:出问题时有据可查

选路的所有判断都留下记录。用户不需要读懂它,但把日志发给支持人员,就能复现当时的判断过程。

日志字段
时间、协议、端口、RTT、丢包、抖动、档位、原因
采样频率
每 20 秒一条
留存
本地 7 天,约 40 MB
导出
CSV / JSON 两种
包含访问目标
否
表 7 · 常见日志行与含义
日志片段含义是否需要处理
switch=loss 3.1%→hy2因丢包切到 Hysteria2无需处理,自动恢复
port=udp fail x3UDP 三次探测失败如需 UDP 请联系网络管理员
hold=sticky 2/2延迟优势待确认无需处理
mtu=1280 pmtud路径 MTU 被下调如频繁出现请检查隧道层
cpu=88% ovpnOpenVPN 单核接近打满建议切换协议
笔记本屏幕上的诊断页与日志导出界面,对应选路记录的查看方式
日志现场:诊断页底部可导出 CSV,字段固定为七列,便于对照与归档。

最后提醒一句:日志里的读数永远比感觉可靠。觉得「今天特别慢」时,先导出前两个小时的记录,看是某一档位持续劣化,还是几次短促抖动被体感放大了。这两种情况的处理方式完全不同。

  • 延迟优先
  • 丢包优先
  • 端口可用性
  • 粘滞窗口
  • 5 秒平滑过渡
  • 阈值可调
  • 日志可导出

选路的上游是协议,下游是具体线路。协议差异见四协议对照表,握手耗时见握手与加密开销,自己机器的现场判断见一分钟自测。

按症状查

按场景查

按数字查