上一小节,我们接收了两种拥塞控制算法,一个是Reno、一个是New Reno,现如今,google研发了新的拥塞控制算法BBR,详情见:https://www.zhihu.com/question/53559433
对于BBR算法的测试结果可以参考: https://www.zhihu.com/question/52933117
那我们如何修改拥塞控制算法呢?
- 首先我们要确保我们是否升级到了4.9版本,使用uname -r 或者uname -a
lizhiyong@ubuntu:~$ uname -r
4.4.0-87-generic
lizhiyong@ubuntu:~$ uname -a
Linux ubuntu 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
lizhiyong@ubuntu:~$
- 下载linux内核代码方法:到官网下载https://www.kernel.org/ 或者git:https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
升级内核版本的方法:https://kernelnewbies.org/KernelBuild
修改内核使用的拥塞控制算法:
更新完系统内核之后,就可以开启TCP-BBR了。
- 编辑/etc/sysctl.conf,并保存
#在文件最底部添加如下两行,如果之前已经有这些内容,请酌情删掉或修改 net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr
-
执行sysctl -p使修改后的配置文件生效 root@linode:~# sysctl -p net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
-
查看BBR是否开启
首先,执行下边的命令来确定内核已经开启BBR(如果返回的结果中含有BBR则证明内核已经开启):
sysctl net.ipv4.tcp_available_congestion_control 然后,执行下边的命令,看到有tcp_bbr模块,则说明BBR已经启动:
lsmod | grep bbr