TCP加速原理与BBR 增强版 for Debian/Ubuntu
TCP加速
1基本内容
2TCP透明代理
3TCP加速技术
双边TCP加速
单边TCP加速
商业化的TCP加速
1 基本内容 编辑
TCP加速指的是通过一组优化技术,使TCP在通过Internet传输数据的性能更高(与标准TCP相比);同时,不需要修改具体应用。
常见的TCP加速技术包括TCP透明代理及TCP 卸载引擎等。
2 TCP透明代理 编辑
TCP透明代理的工作原理如下:
透明代理分别与TCP连接的两端分别进行交互,这样就把端到端的TCP控制分割成几部分,这样就可以根据这几部分的丢包、延时情况进行不同的优化,从而提高TCP的性能。
TCP加速器的核心思想就是采用透明代理的方式,将TCP一端的连接终结,然后重新发起一个连接到TCP的另外一端。这样,两端的数据包都被缓存在两端的TCP加速器上,TCP加速器之间的数据发送由TCP加速器进行控制。
3 TCP加速技术 编辑
目前主流的TCP加速技术主要包括双边TCP优化和单边TCP优化两种。
双边TCP加速
双边TCP优化,顾名思义,就是在TCP连接的两端部署硬件设备或安装软件,TCP透明代理工作在TCP连接的两端,代理了两端的连接,两个代理之间通常通过UDP或其它自定义协议进行工作。
在实际使用中,TCP协议的两端与软件或硬件设备在一个局域网内,两个透明代理设备之间是广域网链路,通常具有一定的丢包、延迟,会造成TCP性能下降,所以在这两个透明代理之间,通常将协议转换为UDP协议或其它自定义协议,这些协议本身可以完全按照自己的要求进行控制,达到提高TCP性能的效果;同时,双边TCP加速还可以引入压缩、缓存等技术进一步提高TCP性能。
双边TCP优化比较适用于公司具有多个分支机构的情况,在这种情况下,TCP连接的两端通常比较容易控制,可以较容易的安装硬件设备或软件客户端。
单边TCP加速
单边TCP加速意味着可以只在TCP的一端部署软件或设备,达到提升TCP性能的目标。
单边TCP加速的一个基本要求就是经过透明代理出去的协议必须是TCP协议(包括5元组和TCP的各种状态)。单边TCP加速的透明代理,在WAN一侧运行的应该是一个与标准TCP兼容、同时性能提高的TCP。绝大多数的单边TCP加速,都是在通过改进TCP的拥塞控制算法来进行TCP加速,例如TCP Vegas, CUBIC, FastTCP, Zeta-TCP等。
与双边TCP相比,单边TCP优化的适应性更广且更灵活。例如只要在服务器端进行了TCP加速,所有访问此服务器的客户端都会受益,并且不需要客户端安装任何软件或部署硬件设备。这样,就更加适用于服务器的访问对象不固定的情况,例如某个服务器是广大的互联网用户来访问。
但是,单边TCP加速无法直接实现压缩、缓存等功能,如果要实现这些功能,同样也需要双边部署。
==================================================
BBR相较于锐速,不占资源,网络优化较好。下面的修改版,比原版更适合国内网络环境。
在Debian8,Debian9,Ubuntu16.04使用完美。
ssh下:
wget --no-check-certificate -qO 'BBR.sh' 'https://zhujiwiki.com/usr/uploads/2017/08/BBR.sh' && chmod a+x BBR.sh && bash BBR.sh -f
脚本说明:
执行过程中会重新编译模块.
模块默认为开机自动加载.
模块名称:tcp_bbr_powered
可用 modprobe tcp_bbr_powered 命令进行加载模块.
可执行 lsmod |grep ‘bbr_powered’
结果不为空,则加载模块成功
可执行 sysctl -w net.ipv4.tcp_congestion_control=bbr_powered 使用此模块.
以上只是说明,直接使用一键脚本即可.