CentOS 7安裝TCP BBR擁塞算法

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

TCP BBR(Bottleneck Bandwidth and Round-trip propagation time)是由Google設計,於2016年發布的擁塞算法。以往大部分擁塞算法是基於丟包來作為降低傳輸速率的信號,而BBR則基於模型主動探測。該算法使用網路最近出站數據分組當時的最大帶寬和往返時間來創建網路的顯式模型。數據包傳輸的每個累積或選擇性確認用於生成記錄在數據包傳輸過程和確認返回期間的時間內所傳送數據量的采樣率。

Google在YouTube上應用該算法,將全球平均的YouTube網路吞吐量提高了4%,在一些國家超過了14%。根據實地測試,在部署了最新版內核並開啟了 TCP BBR 的機器上,網速甚至可以提升好幾個數量級。

從 4.9 開始,Linux 內核已經用上了該算法,並且對於QUIC可用。如果想在Linux使用BBR,那麼首先就是判斷內核版本是否大於4.9,如果符合版本標準,那麼直接啟動BBR就可以了,如果低於4.9,升級內核之後啟動就行了。

下面就介紹一下在CentOS 7.3上安裝TCP BBR的方法。

CentOS 7安裝TCP BBR擁塞算法

首先將Centos系統更新,更新到7.3版本。

yum update

查看系統版本,輸出的release數值大於7.3即可。

cat /etc/redhat-release

對於某些機器來說,安裝一下wget

yum install wget

方法1:自動安裝,使用一鍵安裝腳本

wget –no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

方法2:手動安裝

使用下面命令安裝elrepo並升級內核

rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

yum –enablerepo=elrepo-kernel install kernel-ml -y

更新grub文件並重啟(reboot後,ssh會斷開,稍等一會兒重新連接)

egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d ‘

grub2-set-default 0

reboot

開機後查看內核是否已更換為4.9

uname -r

啟動BBR。依次執行下面命令就可以了。

echo “net.core.default_qdisc = fq” >> /etc/sysctl.conf

echo “net.ipv4.tcp_congestion_control = bbr” >> /etc/sysctl.conf

sysctl -p

驗證bbr是否已經開啟

A,驗證當前TCP控制算法的命令:

sysctl net.ipv4.tcp_available_congestion_control

返回值一般為:net.ipv4.tcp_available_congestion_control = bbr cubic reno 或者為:net.ipv4.tcp_available_congestion_control = reno cubic bbr

B,驗證BBR是否已經啟動。

sysctl net.ipv4.tcp_congestion_control

返回值一般為:net.ipv4.tcp_congestion_control = bbr

lsmod | grep bbr

返回值有 tcp_bbr 模塊即說明 bbr 已啟動。

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!