BBR(Bottleneck Bandwidth and Round-trip propagation time)是一種由Google開發的TCP擁塞控制算法,旨在通過最佳化網路頻寬瓶頸和往返傳輸時間來提高TCP的性能表現。BBR利用瓶頸頻寬和往返傳播時間,被認為是迄今為止跨越不同路由傳送數據的最快方法,當數據路由擁擠時,能夠更有效地處理流量。
BBR的工作原理是根據網路擁塞程度調整TCP的傳送速率,從而達到最優的網路利用率和延遲。它以一定速度不斷評估多個路由的吞吐量和往返流量時間,得出遍歷網路需要的時間。這樣一來,BBR以網路可處理的速度傳送流量,比最初的TCP擁塞控制更有效果。
BBR加速軟體可以充分利用網路頻寬,儘量跑滿頻寬,並且儘量不要有排隊的情況。它可以起到單邊加速TCP連線的效果,通俗來講就是最大化利用網路上瓶頸線路的頻寬。BBR解決的問題是在有一定丟包率的網路鏈路上充分利用頻寬,非常適合高延遲,高頻寬的網路線路。降低網路線路上的buffer占用率,從而降低延遲。
BBR算法可套用於Web伺服器、視頻流媒體等網路套用中,可以顯著提高這些套用的性能和用戶體驗。目前,BBR已經集成在Linux核心中,也就是說大家幾乎都已經用上了BBR加速。