Ubuntu18.04开启BBR网络拥塞控制协议

操作环境

OS info:

master@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:    18.04
Codename:    bionic

Google TCP BBR 协议说明

TCP BBR 拥塞控制协议是 Google 2016 年推出的一种网络拥塞控制算法,但这并不是 Google 的一款官方产品。相比于传统的设置拥塞窗口和慢启动等拥塞控制方式,BBR 拥塞控制算法可以在拥塞发生之后的恢复阶段通过主动探测的方式快速恢复对带宽资源的利用。在客户端到服务器之间的网络环境不佳时,开启 BBR 加速能够较明显地改善连接使用体验。据报道,Google 在 YouTube 上使用 BBR 协议后,YouTube 的全球的平均网络吞吐量提高了 4 %,在一些国家甚至超过了 14 %.

自 Linux 4.9 版本内核开始,Linux 内核已经内置了 BBR 协议,也就是说,在目前较新版本的 Linux 系统中都可以直接开启 BBR 协议,而不需要安装。

(Linux 4.9 版本内核正式发布于 2016 年 12 月 11 日)

开启 BBR 协议的过程

查看系统的内核版本,发现其内核版本为 “4.15”, 故已内置了 BBR 协议:

master@ubuntu:~$ uname -r
4.15.0-91-generic

查看当前可用的拥塞控制协议,发现只有 “reno” 和 “cubic” 两个协议可用:

master@ubuntu:~$ sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic

查看当前已启用的拥塞控制协议,发现只有 “cubic” 协议:

master@ubuntu:~$ sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = cubic

接下来,我们要通过修改系统变量的方式开启 BBR 协议。不过,这里需要注意的是,如果当前使用的是普通用户身份,则首先要使用 su root 命令切换到 ROOT 用户。使用普通用户或者使用 sudo 提升权限的方式在执行下面的操作过程中都会被提示 “Permission denied”.

修改系统变量:

root@ubuntu:/home/master# echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
root@ubuntu:/home/master# echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

之后,让内核从上面被修改的配置文件中读取配置信息:

root@ubuntu:/home/master# sysctl -p
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
root@ubuntu:/var/www/html/wp/wp-includes# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr

之后,再次检查,发现 BBR 协议已经可用:

root@ubuntu:/home/master# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr
root@ubuntu:/home/master# sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = bbr

使用 lsmod 命令过滤出已装载进内核的模块,发现 BBR 协议正在运行,其 Size 值为 20480:

root@ubuntu:/home/master# lsmod | grep bbr
tcp_bbr                20480  1

References:
[1]. TCP congestion control – Wikipedia
https://en.wikipedia.org/wiki/TCP_congestion_control#TCP_BBR
[2]. google/bbr
https://github.com/google/bbr

EOF


荒原之梦网全部内容均为原创,提供了涵盖考研数学基础知识、考研数学真题、考研数学练习题和计算机科学等方面,大量精心研发的学习资源。

意见反馈 | 内容纠错 | 微信 | QQ | 公众号 | 知乎 | 微博 | 博客园 |CSDN | B 站 | 电子邮件
豫 ICP 备 17023611 号-1 | 公网安备 - 荒原之梦 豫公网安备 41142502000132 号 | SiteMap
Copyright © 2017-2024 ZhaoKaifeng.com 版权所有 All Rights Reserved.

Copyright © 2024   zhaokaifeng.com   All Rights Reserved.
豫ICP备17023611号-1
 豫公网安备41142502000132号

荒原之梦 自豪地采用WordPress