Ubuntu 如何开启bbr加速算法

标签: , , ,

正在查看 1 条回复
  • 作者
    帖子
    • okass2 - WirelessLink Forumokass2
      版主
      #1853
      Up
      1
      ::

      前提条件
      内核版本:BBR 需要 Linux 内核 4.9 或更高。Oracle Cloud 的默认镜像(如 Oracle Linux 8、Ubuntu 20.04/22.04)通常已满足要求。
      权限:需要 root 权限。
      模块支持:内核需编译 CONFIG_TCP_CONG_BBR 和 CONFIG_NET_SCH_FQ。

       

      1.查看当前拥塞控制:

      sysctl net.ipv4.tcp_congestion_control

       

      默认可能是 cubic。

      2.验证加载:

      lsmod | grep -E 'tcp_bbr|sch_fq'

       

      3.持久化配置:

      vim /etc/sysctl.d/10-bbr.conf
      
      net.core.default_qdisc=fq
      net.ipv4.tcp_congestion_control=bbr

       

      4.应用

      sysctl -p /etc/sysctl.d/10-bbr.conf

       

      5.确保开机加载模块

      vim /etc/modules
      tcp_bbr
      sch_fq

       

      reboot重启

      6.验证是否加载bbr模块并生效

      sysctl net.ipv4.tcp_congestion_control
      
      输出应为:net.ipv4.tcp_congestion_control = bbr
      
      检查队列调度器
      sysctl net.core.default_qdisc
      输出应为: net.core.default_qdisc = fq
      
      查看可用算法
      sysctl net.ipv4.tcp_available_congestion_control
      输出应该包含bbr

      7. 服务器端开启iperf3

      apt update && apt install -y iperf3
      
      开启iperf
      iperf3 -s

      客户端iperf3测速

      iperf3 -c <VPS_IP> -t 30 -i 2

      8.对比前后吞吐量的变化

       

      访问ChatGPT的可用VPS机房IP推荐 Lisahost美国原生IP搬瓦工美西DMITTripodcloudFrantech
    • okass2 - WirelessLink Forumokass2
      版主
      #1854
      Up
      0
      ::

      bbrv2和bbrv1的区别

      背景

      • BBR(Bottleneck Bandwidth and Round-trip propagation time) 是 Google 开发的一种 TCP 拥塞控制算法,旨在优化网络吞吐量和延迟。
      • BBRv1:发布于 2016 年,集成到 Linux 内核 4.9(2016 年 12 月)。
        目标:替代传统基于丢包的算法(如 CUBIC),通过测量网络的瓶颈带宽(BtlBw)和最小往返时延(RTprop)动态调整发送速率。
      • BBRv2:发布于 2019 年,逐步完善并在 Linux 内核 5.4+(2019 年 11 月)中引入测试版本,5.10+(2020 年 12 月)更稳定。
        目标:解决 BBRv1 的局限性(如对丢包敏感性低、队列延迟过高),提高公平性和性能。

      BBRv1 和 BBRv2 的区别
      1. 设计理念
      BBRv1:核心思想:假设网络缓冲区较深,追求最大化带宽利用率。
      模型:周期性探测瓶颈带宽(BtlBw)和最小 RTT(RTprop),通过“发送速率 = BtlBw × Gain”控制数据发送。
      问题:对丢包反应迟钝,可能在高丢包网络中过度发送数据。
      在共享带宽时对其他流(如 CUBIC)不够公平,容易抢占资源。
      在浅缓冲区(如路由器缓存小)时,队列延迟(Queue Delay)较高。

      BBRv2:核心思想:平衡带宽利用和延迟,增强对丢包和网络变化的响应。
      改进:引入丢包率和 ECN(显式拥塞通知)作为控制信号,优化公平性和队列管理。
      目标:在高性能的同时减少不必要的延迟和拥塞。

       

      2. 工作模式
      BBRv1:四种状态:Startup、Drain、ProbeBW、ProbeRTT。
      ProbeBW:周期性增加发送速率(Gain=1.25)探测带宽,减少到 0.75 清空队列。
      问题:在高丢包或小缓冲区网络中,ProbeBW 可能导致持续拥塞。

      BBRv2:保留类似状态,但优化了切换逻辑。
      改进:根据丢包率动态调整 Gain,避免过度填充。
      ProbeRTT 更频繁触发(当检测到高延迟或丢包时),清空队列并重新测量 RTprop。

      3. 性能表现
      吞吐量:BBRv1:在高带宽、低丢包场景(如数据中心内网)表现优异,接近理论最大值。
      BBRv2:吞吐量可能略低于 BBRv1(因更保守),但在高丢包或混合流量中更稳定。
      延迟:BBRv1:队列延迟较高(几十到几百 ms),不适合实时应用。

      BBRv2:显著降低延迟(通常 <50ms),更适合游戏、视频流等。
      公平性:BBRv1:与其他流竞争时抢占资源。
      BBRv2:通过丢包率和 ECN 反馈,减少对 CUBIC 等流的压制。

      访问ChatGPT的可用VPS机房IP推荐 Lisahost美国原生IP搬瓦工美西DMITTripodcloudFrantech
正在查看 1 条回复
  • 哎呀,回复话题必需登录。
WirelessLink Forum
Logo