Back

Google BBR 优化网络拥堵的算法,实现 TCP 加速,达到vps网速加速效果.

Small color 2016年12月10日

1.png

文章转自Leonn

这是 2016 年 9 月份才开源的一个优化网络拥堵的算法。

  • 目前最新版本的 Linux 内核(4.9-rc8)中已经集成了该算法。
  • 据很多人反馈,速度比锐速还厉害!!
  • 毕竟是新鲜的东西,难免有 BUG,酌情使用。

开源地址

https://github.com/google/bbr
注意这不是 Google 官方的产品。

安装方式

Debian8/Ubuntu14

  • 下载最新内核, 最新内核查看这里

    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9-rc8/linux-image-4.9.0-040900rc8-generic_4.9.0-040900rc8.201612051443_amd64.deb

  • 安装内核

    dpkg -i linux-image-4.9.0*.deb

  • 删除其余内核

    dpkg -l|grep linux-image
    sudo apt-get remove linux-image-[Tab补全] #删旧内核,在这里,就是把第一个3.13的删掉

  • 更新 grub 系统引导文件并重启

    update-grub
    reboot

  • 开启 bbr

    echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
    echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

  • 保存生效 sysctl -p

  • 执行 sysctl net.ipv4.tcp_available_congestion_control

如果结果中有 bbr, 则证明你的内核已开启 bbr
执行lsmod | grep bbr, 看到有 tcp_bbr 模块即说明 bbr 已启动

CentOS 7

  • 估计可用(据说有人已经成功。)

    wget http://mirrors.kernel.org/debian/pool/main/l/linux/linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb
    ar x linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb
    tar -Jxf data.tar.xz

    install -m644 boot/vmlinuz-4.9.0-rc8-amd64 /boot/vmlinuz-4.9.0-rc8-amd64

    cp -Rav lib/modules/4.9.0-rc8-amd64 /lib/modules/
    depmod -a 4.9.0-rc8-amd64
    #centos >= 6
    dracut -f -v --hostonly -k '/lib/modules/4.9.0-rc8-amd64' /boot/initramfs-4.9.0-rc8-amd64.img 4.9.0-rc8-amd64

    grub2-mkconfig -o /boot/grub2/grub.cfg

  • 然后修改系统启动引导文件:

    vi /etc/grub.conf

  • 需要修改 Grub 引导顺序,让新安装的内核作为默认内核。

或者执行:

grub2-set-default "CentOS Linux (4.9.0-rc8-amd64) 7 (Core)"
  • 然后重启 reboot

  • 重启后,查看内核是否安装成功。uname -r

  • 开启 bbr, 据人反馈:先把/etc/sysctl.conf 文件中 关于
    net.ipv4.tcp_congestion_control的配置注释掉。

    echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
    echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

  • 保存生效 sysctl -p

  • 执行 sysctl net.ipv4.tcp_available_congestion_control

如果结果中有 bbr, 则证明你的内核已开启 bbr

  • 执行lsmod | grep bbr, 看到有 tcp_bbr 模块即说明 bbr 已启动。

CentOS6

RMP 安装 (推荐)

  • RMP地址

    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    yum install -y http://elrepo.org/people/ajb/devel/kernel-ml/el6/x86_64/RPMS/kernel-ml-4.9.0-0.rc8.el6.elrepo.x86_64.rpm

  • CAC CentOS6 系统可直接执行以下代码

    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    yum install -y http://elrepo.org/people/ajb/devel/kernel-ml/el6/x86_64/RPMS/kernel-ml-devel-4.9.0-0.rc8.el6.elrepo.x86_64.rpm

  • 安装完成,修改启动引导。(自己百度 vi 命令用法)

    vi /etc/grub.conf

修改成 default=0
2.jpg

  • 保存然后重启 reboot

  • 重启后,查看内核是否安装成功。uname -r

  • 开启 bbr, 据人反馈:先把/etc/sysctl.conf 文件中 关于
    net.ipv4.tcp_congestion_control的配置注释掉。

    echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
    echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

  • 保存生效 sysctl -p

  • 执行 sysctl net.ipv4.tcp_available_congestion_control

如果结果中有 bbr, 则证明你的内核已开启 bbr

  • 执行lsmod | grep bbr, 看到有 tcp_bbr 模块即说明 bbr 已启动。

3.jpg

编译安装(不推荐)

速度较慢。

yum install vim wget gcc gcc-c++ xz bc ncurses-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel openssl-devel -y
cd /usr/local/src/
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/testing/linux-4.9-rc8.tar.xz
tar xvJf linux-4.9-rc8.tar.xz
cd linux-4.9-rc8
make menuconfig
uname -r
#2.6.32-573.3.1.el6.x86_64
cp /boot/config-2.6.32-573.3.1.el6.x86_64 .config
#cp: overwrite `.config'? #输入y

sudo sh -c 'yes "" | make oldconfig'
make #执行比较久,可以去看一集电视剧
make modules_install install#忽略提示could not find module vmware_balloon
  • 修改 Grub 引导顺序,让新安装的内核作为默认内核。default = 0

    vi /boot/grub/menu.lst #修改启动项

  • 保存然后重启 reboot

  • 重启后,查看内核是否安装成功。uname -r

  • 开启 bbr, 据人反馈:先把/etc/sysctl.conf 文件中 关于
    net.ipv4.tcp_congestion_control的配置注释掉。

    echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
    echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

  • 保存生效 sysctl -p

  • 执行 sysctl net.ipv4.tcp_available_congestion_control

  • 如果结果中有 bbr, 则证明你的内核已开启 bbr

  • 执行lsmod | grep bbr, 看到有 tcp_bbr 模块即说明 bbr 已启动。

测试效果

  • 参见各大论坛讨论,基本看下来与锐速差别不大

参考资料

如有乐享:Google BBR 优化算法,实现 TCP 加速

138VPS:开启谷歌 TCP BBR 拥塞控制算法 这是一个取代锐速的工具

源地址:开启 TCP BBR 拥塞控制算法

注意:
  • 担心迷路?请收藏备用网址:smallcolor.top  备用网址2:smallcolor.org
  • 免责声明:本站为非营利性站点,本网站提供的资源均系收集于各大外网网站,本网站只提供web页面服务,并不提供影片资源存储和下载,也不参与录制、上传、翻译。
  • Disclaimer: This site for non-profit site, this website provides the resources are collected in each big web site, the site provides web page service only, does not provide video resources storage and download, or recording, upload, translation will not be involved.
  • 本站严格遵守(CC BY-NC-SA 4.0)国际许可协议,所有信息我都注明来源。
  • This website strictly complies with the (CC BY-NC-SA 4.0) international license agreement and indicates the source of all information.
  • 若本站收录的节目无意侵犯了贵司版权,请给下面邮箱地址来信(或者留言),我们会及时处理和回复,谢谢!
  • If the content included in this website is not intended to infringe your copyright, please send a letter to the following email (or message), we will promptly handle and reply, thank you for your support!
  • 富强、民主、文明、和谐,自由、平等、公正、法治,爱国、敬业、诚信、友善。
  • emoji_u1f625.pngemoji_u1f629.pngicon_twisted.pngemoji_u1f62a.pngemoji_u1f61c.pngemoji_u1f64d.pngemoji_u1f618.pngemoji_u1f611.pngicon_cool.pngemoji_u1f61e.pngicon_wink.pngicon_neutral.pngicon_smile.pngemoji_u1f646.pngemoji_u1f620.pngemoji_u1f626.pngemoji_u1f623.pngicon_razz.pngemoji_u1f603.pngemoji_u1f62b.pngicon_eek.pngemoji_u1f605.png
    >Submit

      商业友情链接:

    >