VPS 网络加速小结

Author Avatar
呃哦 1月 27, 2020

网络加速从应用层讲,可以通过代理机器,比如常见的网游加速器等

通过中继节点加速网络请求。不过除了应用层,在底层上,也可以通过对 TCP/IP 层优化提高网络复用率从而提高网络体验。

加速工具

从加速手段讲,可以有两种,单边加速双边加速

单边加速

常见如 锐速 BBR 等软件,通过优化底层的 拥塞控制算法,提高网络传输速度。

以下记录下用过的底层网络加速工具。

锐速 ServerSpeeder

  • 介绍

    第一个接触的网络加速工具,国内公司开发的,不过已经闭源,据说转为面向企业用户,但是找不到官网都…

    目前网络上基本是破解版锐速安装,可以看下这个仓库 serverspeeder。提供下载安装以及一键脚本。

  • 原理

    锐速是从内核层次进行网络优化,其基本原理是通过系统算法预判,对可能丢包的数据包,重复再发一遍,也就是重复发包,从而降低了丢包率。因此使用锐速在一定程素上加速VPS的流量消耗。

    由于降低丢包率,因此锐速对于看视频之类的持续性数据传输的网络请求,会有比较明显的速度提升。

  • 总结

    通过重复发包降低丢包率,对于海外VPS提升明显,但由于缺少开源支持,持续更新,个人觉得会跟不上时代,比如目前锐速支持的内核才 3.1 内核

谷歌BBR加速

  • 介绍

    来自谷歌内部员工开发的网络加速模块,第二个接触的加速工具,开源项目,仓库地址 BBR ,由于是开源项目,因此有网友进行各种参数调整等,所以还有

    • BBR Plus
    • BBR 魔改版
    • BBR 原版

    这几个常见版本,具体特点以及效果对比,没有进行测试过。

  • 安装

    由于个人水平有限,因此用的是一键安装脚本进行的安装。一键脚本仓库 Linux-NetSpeed

    一键脚本安装方式

    wget --no-check-certificate -O tcp.sh https://github.com/cx9208/Linux-NetSpeed/raw/master/tcp.sh && chmod +x tcp.sh && ./tcp.sh
    
  • 原理

    BBR 加速是通过调整拥塞控制算法,优化流量传输,就像道路交通,降低阻塞自然能提交车辆速度。

  • 总结

    开源持续更新项目,有Google亲爹,应该会比较香,看好 BBR 模块。

双边加速

单边加速是通过服务器端对TCP拥塞,丢包等情况进行优化,基于TCP包的协议基础上,而双边加速,一般是通过服务器和客户端建立一条自己的通信隧道,数据通信通过隧道传输,因此通信协议可以按照隧道内自有的数据协议传输,相当于黑盒操作。个人认为,就像 HTTP 通信,和自定义 RPC 通信同理。

目前的双边加速,个人而言,只用过 kcptun

kcptun

  • 介绍

    go 语言写的一款基于 KCP 协议实现的双边隧道通信工具,分为服务端和客户端。

    服务端监听指定端口,以及转发到目标端口。

    客户端同理,连接远程服务器端口,并本地监听端口。此后通过本地端口隧道进行通信。

    KCP 协议可以在这里了解下。传送门

  • 安装

    可在 release 下载对应的操作系统版本。

    基于 ssh 隧道通信加速示范如下

    # 服务器端
    ./server_linux_amd64 -t '127.0.0.1:22' -l ":4000" -mode fast3 -nocomp -sockbuf 16777217 -dscp 46
    # 本地机器
    ./client_darwin_amd64 -r 'server_host:4000' -l ":8000" -mode fast3 -nocomp -autoexpire 900 -sockbuf 16777217 -dscp 46
    # 本地 ssh 连接远程服务器 
    ssh [email protected] -p 8000