linux:bbr
Table of Contents
BBR
BBR is the optimization for the tcp, and it can increase the network speed significant. So it's the same as kcptun.
BBR on Raspberry Pi
Check the kernel version, the kernel is already 4.9+, so it already support bbr
pi@raspberrypi:~ $ uname -a Linux raspberrypi 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux
Enable bbr
sysctl net.core.default_qdisc=fq sysctl net.ipv4.tcp_congestion_control=bbr
pi@raspberrypi:~ $ sudo sysctl net.ipv4.tcp_congestion_control=bbr net.ipv4.tcp_congestion_control = bbr pi@raspberrypi:~ $ lsmod |grep bbr tcp_bbr 6366 18 pi@raspberrypi:~ $ sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp_available_congestion_control = bbr cubic reno pi@raspberrypi:~ $ sysctl net.ipv4.tcp_congestion_control net.ipv4.tcp_congestion_control = bbr
DigitalOcean enable BBR
Refer
Install the grub loader in the console panel, first you need power off, then after install the grub loader, then power on.
Install the new kernel, you can find the kernel what you want
apt-cache search --names-only linux-image
sudo apt-get install linux-image-4.11.0-13-generic linux-headers-4.11.0-13-generic
Or
sudo apt-get install linux-image-4.10.0-42-generic linux-headers-4.10.0-42-generic
Actuall after install the above kernel, it doesn't support BBR, and the working kernel is following one, you need manual download and install it
cd kernel4.9/ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb sudo dpkg -i linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb
Update the grub
sudo vim /etc/default/grub
Add the line:
GRUB_DISABLE_SUBMENU = Y export GRUB_CONFIG=`sudo find /boot -name "grub.cfg"` sudo update-grub
Now you find all the kernel
grep 'menuentry ' $GRUB_CONFIG | cut -f 2 -d "'" | nl -v 0
And you need update /etc/default/grub, and set update the index to the one your want
GRUB_DEFAULT=0
Now you can reoot the VPS
Some tips
uname -r #查看内核版本,含有4.9.0就表示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已启动。
Refer
/var/www/dokuwiki/wiki/data/pages/linux/bbr.txt · Last modified: 2018/01/08 14:40 by percy