欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

TCP 拥塞控制:从 Reno 到 BBR 的演进

发表于:|最后更新:|分类:Linux与网络|阅读:1875 次

TCP 拥塞控制决定发送方如何探测可用带宽,直接影响高延迟与丢包环境下的吞吐表现。

一、经典算法对比

  • Reno/NewReno:基于丢包的 AIMD(加性增乘性减),在高带宽长距离网络中吞吐受限
  • CUBIC:Linux 默认算法,使用三次函数窗口增长,适合高带宽场景
  • BBR:基于带宽与 RTT 建模,不依赖丢包信号,在弱网与跨洲链路上表现优异

二、切换拥塞控制算法

bash
# 查看可用算法
sysctl net.ipv4.tcp_available_congestion_control
# 切换为 BBR
sysctl -w net.ipv4.tcp_congestion_control=bbr
sysctl -w net.core.default_qdisc=fq

BBR 需配合 fq 队列调度器使用,才能充分发挥其 pacing 发送机制的优势。