blog icon indicating copy to clipboard operation
blog copied to clipboard

Google BBR加速VPS

Open realDuYuanChao opened this issue 5 years ago • 0 comments

原文地址: https://github.com/shellhub/blog/issues/54

google-bbr

给你的VPS开启Google BBR加速

TCP拥塞控制

TCP拥塞控制是传输控制协议(英语:Transmission Control Protocol,缩写TCP)避免网络拥塞的算法,是互联网上主要的一个拥塞控制措施。它使用一套基于线增积减模式的多样化网络拥塞控制方法(包括慢启动和拥塞窗口等模式)来控制拥塞。在互联网上应用中有相当多的具体实现算法。

TCP BBR

TCP BBR(Bottleneck Bandwidth and Round-trip propagation time)是由Google设计,于2016年发布的拥塞算法。以往大部分拥塞算法是基于丢包来作为降低传输速率的信号,而BBR则基于模型主动探测。该算法使用网络最近出站数据分组当时的最大带宽和往返时间来创建网络的显式模型。数据包传输的每个累积或选择性确认用于生成记录在数据包传输过程和确认返回期间的时间内所传送数据量的采样率。该算法认为随着网络接口控制器逐渐进入千兆速度时,分组丢失不应该被认为是识别拥塞的主要决定因素,所以基于模型的拥塞控制算法能有更高的吞吐量和更低的延迟,可以用BBR来替代其他流行的拥塞算法,例如CUBIC。Google在YouTube上应用该算法,将全球平均的YouTube网络吞吐量提高了4%,在一些国家超过了14%。 BBR之后移植入Linux内核4.9版本,并且对于QUIC可用。

最新Linux内核安装Google TCP BBR

Linux内核4.9以及上默认支持了该算法,直接启用就行

  • 检查Linux内核版本
    uname -r
    
  • 添加并启用Google BBR模块到内核
    echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
    echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
    sysctl -p
    
  • 检查是否成功加入Google BBR模块到内核中(可选)
    sysctl net.ipv4.tcp_available_congestion_control
    
  • 验证是否启用了Google BBR
    lsmod | grep bbr
    

脚本安装

TODO

参考

https://github.com/google/bbr https://en.wikipedia.org/wiki/TCP_congestion_control

realDuYuanChao avatar Jan 07 '20 05:01 realDuYuanChao