目錄
📋 先決條件
🔧 啟用步驟
📝 額外檢查與說明
?? 注意事項
BBR(Bottleneck Bandwidth and Round-trip time)是谷歌開發的一種TCP擁塞控制算法,它能有效提升網絡傳輸速度和性能,尤其在高延遲、有輕微丟包的場景下效果顯著。下面是如何在現代Linux系統上啟用和驗證BBR的步驟。
📋 先決條件
首先,確保你的Linux內核版本是4.9或更高。BBR算法在該版本開始被引入。
你可以通過以下命令檢查當前內核版本:
uname -r
🔧 啟用步驟
以下是啟用BBR的主要步驟概覽:
步驟 | 操作 | 命令/配置 |
1. 檢查當前算法 | 查看當前使用的擁塞控制算法 |
|
2. 修改sysctl配置 | 編輯配置文件啟用BBR | 在 |
3. 應用配置 | 使新的配置立即生效 |
|
4. 驗證啟用 | 確認BBR已成功啟用 |
|
檢查當前的擁塞控制算法:在啟用之前,你可以先查看系統當前使用的算法,通常默認是cubic
。
sysctl net.ipv4.tcp_congestion_control
修改sysctl配置文件:使用你喜歡的文本編輯器(如nano
或vi
)打開 /etc/sysctl.conf
文件。
sudo nano /etc/sysctl.conf
將以下兩行配置添加到文件末尾:
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
這里,net.core.default_qdisc=fq
表示設置公平隊列(Fair Queueing)作為默認的隊列規則,net.ipv4.tcp_congestion_control=bbr
則是設置TCP擁塞控制算法為BBR。
保存并應用配置:保存對 /etc/sysctl.conf
文件的修改后,運行以下命令使更改立即生效:
sudo sysctl -p
驗證BBR是否成功啟用:執行以下命令來檢查BBR是否已經成為當前的擁塞控制算法。
sysctl net.ipv4.tcp_congestion_control
如果輸出結果為 net.ipv4.tcp_congestion_control = bbr
,則說明BBR已經成功啟用。
📝 額外檢查與說明
你也可以使用以下命令查看系統支持的所有擁塞控制算法,確認bbr
在其中。
sysctl net.ipv4.tcp_available_congestion_control
在某些系統(如Ubuntu)上,你可能需要顯式加載tcp_bbr
模塊(盡管現代內核通常已將其編譯在內)。可以使用 lsmod | grep bbr
來檢查。
根據一些資料,BBR對上行流量的加速效果更為顯著。這意味著它可能更有利于作為服務器或需要大量上傳帶寬的場景。
如果以后需要關閉BBR,只需注釋掉(或刪除)之前在 /etc/sysctl.conf
中添加的兩行配置,然后再次運行 sudo sysctl -p
即可。
?? 注意事項
內核版本:確保你的Linux內核版本高于4.9。如果版本過低,你需要先升級內核。
隊列規則 (qdisc):建議將默認隊列規則設置為 fq
(Fair Queueing) 以獲得BBR的最佳性能。部分系統也可能使用 fq_codel
。
網絡環境:BBR在存在一定延遲和輕微丟包的網絡環境中(如跨國鏈路)改善效果尤為明顯。在網絡條件非常好的局域網內,性能提升可能感知不強。
無需重啟:通過 sysctl -p
應用配置后通常立即生效,無需重啟系統。