Linux拥塞控制与内核源码级横评:BBR、BBRplus与第三方内核

测试环境:本文实测数据来自 DMIT 的 VPS。

很多 VPS 玩家在优化网络时,第一件事就是找各种一键脚本刷内核、开 BBR。但市面上的脚本五花八门:有原版 BBR、BBRplus、BBRv2/v3,还有 XanMod、Liquorix、Zen 等一大堆第三方定制内核。

到底它们在底层代码层面改了什么?为什么有时候换了内核反而更卡?本文从内核源码实现剖析它们的差异,带你彻底搞清楚如何根据自己的 VPS 线路做正确选型。


核心选型横向对比大表

内核 / 算法方案 源码核心改动与调度特性 弱网抗丢包能力 吞吐表现 适合场景
官方内核 + 原版 BBR 基于最大带宽与最小 RTT 估算模型,按节奏发包 (Pacing) 中等(晚高峰易降速) 高(专线/好线路极稳) 日本/香港低延迟直连、建站生产环境
BBRplus 屏蔽了原版频繁退让的排队判断,持续保持激进发包速率 强(暴力抢占带宽) 极高(晚高峰提升显著) 跨国高延迟(美西/欧洲)、晚高峰丢包达 10% 以上的线路
XanMod 内核 x86_64-v3 指令集优化 + 支持 CAKE 队列规则(手动开启) 优秀 极高(抗延迟抖动极强) 多核 VPS、兼顾代理中转与高并发建站
Liquorix / Zen 偏向桌面低延迟交互(MuQSS/PDS 调度器) 中等 良好 高并发短连接突发交互场景

一、 拥塞控制的源码级秘密:BBR vs BBRplus

1. 原版 BBR 的痛点:君子协议在公网吃亏

在 Linux 源码 net/ipv4/tcp_bbr.c 中,BBR 状态机设计了一个关键阶段叫做 PROBE_RTT:

1
2
3
4
5
6
7
8
9
/* net/ipv4/tcp_bbr.c 核心逻辑示意(非逐行源码) */
static void bbr_update_min_rtt(struct sock *sk, const struct rate_sample *rs) {
...
/* 默认每 10 秒强制将发包窗口降至 4 个包,以测量真实无排队 RTT */
if (bbr->min_rtt_stamp &&
now - bbr->min_rtt_stamp > bbr_min_rtt_win_sec) {
bbr->probe_rtt_mode = 1;
}
}

当你在晚高峰跑美西或欧洲线路时,公网路由器本身就在排队丢包。原版 BBR 一旦检测到 RTT 上升,就会频繁进入 PROBE_RTT 降速,导致你测速时速度忽高忽低。如果遇到开启后完全没速度的情况,可以先参考我们实测总结的 《BBR 开启后没有速度提升?排查这 5 个关键原因》 来判断是否是 NAT 限制或链路瓶颈。

2. BBRplus:打破规则的“流氓算法”

早期由国内开发者基于 Linux 4.14 内核修改的 BBRplus,核心逻辑就是在 tcp_bbr.c 里动了手术:大幅度放宽了因丢包而缩减 cwnd(拥塞窗口)的逻辑,并减少了进入 PROBE_RTT 的频率。

  • 优点:即使公网丢包严重,它依然像推土机一样持续推流,通过暴力重传抢占信道带宽。这也是很多玩家在通过 《BBRplus 与其他加速方式安装教程》 部署后,晚高峰看 4K 视频瞬间不卡的原因。
  • 代价:它会把同链路其他守规矩的 TCP 流量挤压得非常严重。

二、 第三方定制内核到底改了什么?

除了拥塞控制算法,编译内核时采用的补丁集决定了数据包在服务器 CPU 和内存中周转的效率。

1. XanMod:网络吞吐与抗抖动的优选

XanMod 是目前公认在服务器端性能出色的第三方内核。它的核心优势不在于玄学加速,而在于实打实的编译参数升级:

  • 支持高级排队规则(需手动开启):官方通用内核默认常配 fq_codel,而 XanMod 内核支持新一代 《Linux流控队列深度对比:fq、fq_codel与CAKE》 中的 CAKE 算法(需手动设置 net.core.default_qdisc=cake 开启,XanMod 默认拥塞算法是 BBRv3)。通过它特有的 DiffServ 优先级划分,保证了网络在吃满带宽时不会导致 SSH 卡死。
  • CPU 架构微架构优化:提供针对现代 CPU 的 x86-64-v2/v3 专属编译包,开启更高精度的时钟中断,大幅降低软中断调度延迟。想要尝试的读者可以直接通过 《一键更换为 XanMod 内核实战》 快速平滑切换。

2. Liquorix 与 Zen 内核

Liquorix 主要是面向低延迟桌面交互设计的,它采用了更激进的进程抢占模型(PREEMPT)。对于纯跑网络大吞吐的 VPS 来说,过度的进程上下文切换反而会带来轻微的 CPU 开销增加,因此更适合轻量多任务场景,纯网络代理首选仍建议 XanMod。


三、 实战总结:如何为你的 VPS 挑选最佳方案?

  1. 大厂优质直连机(如搬瓦工 GIA、日本软银、欧洲联通 9929):
    • 线路本身质量高、丢包极少,直接使用 Debian/Ubuntu 官方高版本内核 + 原生 BBR 即可,兼顾最大吞吐与系统稳定性。
  2. 普通骨干网高延迟线路(如普通美西 4837、普通欧洲节点):
    • 晚高峰经常存在恶性丢包。此时如果用官方 BBR 跑不动,可以考虑切换至 BBRplus 或者 XanMod 内核;如果想排查沿途路由丢包具体发生在哪个骨干网节点,建议配合 《NextTrace教程:开源可视化路由追踪》 进行精准链路定位。
  3. 日常多服务综合运维机: