实时测量网络的 瓶颈带宽(Bandwidth)和 最小往返时间(RTT),以最大化利用网络链路的能力,同时避免队列积压引发的网络拥塞。

主动测量:

  • 瓶颈带宽(BtlBw):当前网络路径的最大可用带宽。

  • 最小 RTT(RTTmin):数据在网络中传输的最小延迟。

  • 发送速率 = 瓶颈带宽

    • BBR 根据测得的 BtlBw,精确设置数据发送速率,以确保链路充分利用。
    • 避免传统算法中因过量发送导致的网络拥塞和丢包。
  • 避免填满队列

    • 传统算法常通过积累网络队列增加吞吐量,导致高延迟。
    • BBR 将延迟控制在 RTTmin 附近,显著降低队列延迟(Queue Delay)。

BBR 分为四个阶段动态调整发送行为:

  • Startup:快速探测瓶颈带宽和最小 RTT,类似快速增长阶段。
  • Drain:在带宽超出瓶颈时,降低发送速率,清空队列积压。
  • ProbeBW:周期性探测更高的带宽,确保链路利用率。
  • ProbeRTT:降低发送速率以更新 RTTmin,确保延迟估计准确。