BBR 是 Google 开发的 TCP 拥塞控制算法,通过实时测量带宽和延迟来决定发包速度,能在丢包较多的线路上大幅提升传输速度,被广泛用于 Linux 服务器和 VPS 网络加速。

| 类型 | TCP 拥塞控制算法 |
| 开发商 | |
| 推出时间 | 2016 年 |
| 集成环境 | Linux 内核 4.9 及以上 |
| 国家或地区 | 美国 |
| 官网 | github.com/google/bbr |
BBR(Bottleneck Bandwidth and Round-trip propagation time)是 Google 开发并开源的一种 TCP 拥塞控制算法,通过持续测量链路的瓶颈带宽和往返延迟来控制发送速率,目标是在不塞满缓冲队列的前提下尽量跑满带宽。
拥塞控制是 TCP 协议避免网络拥塞的核心机制:发送方通过慢启动、拥塞窗口等手段动态调整发包速度,防止大家一起把网络挤爆。传统主流算法(如 Reno、CUBIC)大多以「丢包」作为拥塞信号——一旦检测到丢包就大幅降速。这套逻辑在有线内网表现尚可,但在跨国线路、无线网络等本身就存在随机丢包的环境里,会把正常丢包误判为拥塞,导致速度始终提不起来。
BBR 换了一种思路:它不依赖丢包信号,而是不断估算当前链路的最大带宽和最小往返时延,据此建立网络模型并按合适的速率平滑发包。这样既能充分利用带宽,又能避免把数据堆积在路由器缓冲区里造成高延迟(即所谓缓冲膨胀)。该算法于 2016 年公布并合入 Linux 内核 4.9,Google 自家的服务也在使用它。
BBR 在中文技术圈最常见的用途是给海外 VPS 加速:中国大陆访问境外服务器的线路往往丢包率偏高,传统算法下载速度上不去,开启 BBR 后网站访问、代理转发的吞吐量通常有可观改善,因此几乎成了建站和搭建代理前的标配操作。此外,视频分发、跨境传输等对吞吐敏感的业务也普遍受益。社区中还流传各种「魔改 BBR」,通过调整参数换取更激进的抢带宽效果,但可能牺牲对其他用户的公平性。
问:如何在 Linux 上开启 BBR?答:确认内核版本不低于 4.9,在 sysctl 配置中将默认拥塞控制算法设为 bbr(通常配合 fq 队列调度)即可,重启后可用命令验证是否生效。
问:BBR 能提升下载别人服务器资源的速度吗?答:不能。拥塞控制作用于发送端,你在自己服务器上开启 BBR,加速的是从这台服务器向外发送数据的方向;你本机的下载速度取决于对方服务器的配置。
问:BBR 有什么缺点?答:初版 BBR 在与传统算法共存时可能过于激进地抢占带宽,对同链路其他连接不够公平;后续版本针对这一点做了改进。日常建站场景下,这些影响通常可以接受。

| 类型 | TCP 拥塞控制算法 |
| 开发商 | |
| 推出时间 | 2016 年 |
| 集成环境 | Linux 内核 4.9 及以上 |
| 国家或地区 | 美国 |
| 官网 | github.com/google/bbr |
登录 后参与讨论
暂无讨论,来发表第一条评论吧