实时测量网络的 瓶颈带宽(Bandwidth)和 最小往返时间(RTT),以最大化利用网络链路的能力,同时避免队列积压引发的网络拥塞。
主动测量:
-
瓶颈带宽(BtlBw):当前网络路径的最大可用带宽。
-
最小 RTT(RTTmin):数据在网络中传输的最小延迟。
-
发送速率 = 瓶颈带宽:
- BBR 根据测得的 BtlBw,精确设置数据发送速率,以确保链路充分利用。
- 避免传统算法中因过量发送导致的网络拥塞和丢包。
-
避免填满队列:
- 传统算法常通过积累网络队列增加吞吐量,导致高延迟。
- BBR 将延迟控制在 RTTmin 附近,显著降低队列延迟(Queue Delay)。
BBR 分为四个阶段动态调整发送行为:
- Startup:快速探测瓶颈带宽和最小 RTT,类似快速增长阶段。
- Drain:在带宽超出瓶颈时,降低发送速率,清空队列积压。
- ProbeBW:周期性探测更高的带宽,确保链路利用率。
- ProbeRTT:降低发送速率以更新 RTTmin,确保延迟估计准确。