TCP BBR(Bottleneck Bandwidth and Round-trip propagation time)是由Google設計,于2016年發(fā)布的擁塞算法。以往大部分擁塞算法是基于丟包來作為降低傳輸速率的信號,而BBR則基于模型主動探測。該算法使用網(wǎng)絡最近出站數(shù)據(jù)分組當時的最大帶寬和往返時間來創(chuàng)建網(wǎng)絡的顯式模型。數(shù)據(jù)包傳輸?shù)拿總€累積或選擇性確認用于生成記錄在數(shù)據(jù)包傳輸過程和確認返回期間的時間內(nèi)所傳送數(shù)據(jù)量的采樣率。
Google在YouTube上應用該算法,將全球平均的YouTube網(wǎng)絡吞吐量提高了4%,在一些國家超過了14%。根據(jù)實地測試,在部署了最新版內(nèi)核并開啟了 TCP BBR 的機器上,網(wǎng)速甚至可以提升好幾個數(shù)量級。
從 4.9 開始,Linux 內(nèi)核已經(jīng)用上了該算法,并且對于QUIC可用。如果想在Linux使用BBR,那么首先就是判斷內(nèi)核版本是否大于4.9,如果符合版本標準,那么直接啟動BBR就可以了,如果低于4.9,升級內(nèi)核之后啟動就行了。
本腳本為秋水逸冰的一鍵安裝。
系統(tǒng)支持:CentOS 6+,Debian 7+,Ubuntu 12+
虛擬技術:OpenVZ 以外的(KVM、Xen、VMware等)
內(nèi)存要求:≥128M
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh
安裝完成后,腳本會提示需要重啟 VPS,輸入 y 并回車后重啟。
重啟完成后,進入 VPS,驗證一下是否成功安裝最新內(nèi)核并開啟 TCP BBR,輸入以下命令:
uname -r
查看內(nèi)核版本,含有 4.9 以上就表示 OK 了
sysctl net.ipv4.tcp_available_congestion_control
返回值一般為:net.ipv4.tcp_available_congestion_control = bbr cubic reno
sysctl net.ipv4.tcp_congestion_control
返回值一般為:
net.ipv4.tcp_congestion_control = bbr
sysctl net.core.default_qdisc
返回值一般為:
net.core.default_qdisc = fq
lsmod | grep bbr
返回值有 tcp_bbr 模塊即說明bbr已啟動。