Linode东京1机房的SSR速度实在是太慢了,之前在搬瓦工那里的VPS,系统默认带Google BBR,看youtube 4k视频无压力,准备在Linode VPS上也安装,纠结到底是用BBR还是锐速,找了些资料。

锐速

参考资料:

http://bbs.kuaibo.com/thread-315336-1-1.html

http://www.tcpedge.com/features.html

锐速是一个依赖于内核的模块,其基本原理是将丢包进行评估,将预判到可能会产生丢包的数据包再发一次。所以可能会产生我们所见到的,锐速会加速VPS流量消耗。也就是我们所说的锐速多倍发包。在ACK到来之前会重发一次甚至更多。导致的结果就是重复发送。

BBR

参考资料:

https://emiria.io/post/TCP-BBR/

https://www.nanqinlang.com/controllor-bbr.html

https://www.nanqinlang.com/controllor-bbr.html

拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。这种现象跟公路网中经常所见的交通拥挤一样,当节假日公路网中车辆大量增加时,各种走向的车流相互干扰,使每辆车到达目的地的时间都相对增加(即延迟增加),甚至有时在某段公路上车辆因堵塞而无法开动(即发生局部死锁)。
拥塞控制就是针对此问题的控制技术/解决方案,但也不能说是解决,控制技术只能起到尽量避免/缓解拥塞的作用。

TCP-BBR技术呢,用了一种溢水原理的思想,来预判丢包率,调配发包速率。
假设你有一支较细的U形管,下面还有一堆不可溶的填塞物,你从一边开始大量灌水,如果另一边出水正常,你就可以继续加大灌水量,达到最大带宽。如果另一边发现水时断时有,就证明下面出现了随机拥堵,这时,你就要减小灌水量,等待水位落下。这时如果采用传统继续灌水时,也就会造成水溢出(丢包现象的产生)。所以这是真正的按需发包。当然,这一切是建立在系统预估的情况下。

总结

锐速属于多倍发包类型的算法,而BBR是基于溢水模型的。BBR设计的更为科学,而且正在走向一个完美的拥塞算法的路上。锐速是一种损人利己的算法,虽然效果是可以,但是会加剧骨干网的负担。造成很多不必要的流量浪费。至于两者的加速效果,请各位自行测试,没有绝对地哪一种快。

先放两张油管的4K视频播放截图,带参数。

百度搜索SS或者SSR,是获取不到需要的信息的,如同VPN一样,因为SS&SSR的翻墙特性,这一关键词被屏蔽。But….我们可以搜索其中文名,酸酸乳,一个好听又好记的名字,就能获取大量信息。

什么是VPN:

VPN的正确理解是虚拟专用隧道,在很多人心目中就是用来翻墙的工具,其实不是。vpn最主要的功能,并不是用来翻墙,只是它可以达到翻墙的目的。vpn–虚拟专用网络,它的功能是:在公用网络上建立专用网络,进行加密通讯。在企业网络和高校的网络中应用很广泛。你接入vpn,其实就是接入了一个专有网络,你的网络访问都从这个出口出去,你和vpn之间的通信是否加密,取决于你连接vpn的方式或者协议。

什么是SS&SSR

SS:作者是clowwindy,大约两年前,他自己为了翻墙写了shadowsocks,简称ss或者叫影梭,后来他觉得这个东西非常好用,速度快,而且不会被封锁,他就把源码共享在了github上,然后就火了,但是后来作者被请去喝茶,删了代码,并且保证不再参与维护更新。现在这个好像是一个国外的大兄弟在维护。

SSR:在SS作者被喝茶之后,github上出现了一个叫breakwa11(破娃)的帐号,声称ss容易被防火墙检测到,所以在混淆和协议方面做了改进,更加不容易被检测到,而且兼容ss,改进后的项目叫shadowsocks-R,简称ssr,然后ss用户和ssr用户自然分成了两个派别,互相撕逼,直到前阵子,破娃被人肉出来,无奈之下删除了ssr的代码,并且解散了所有相关群组。

ss和ssr它的原理都是一样的,就是socks5代理,。socks代理只是简单的传递数据包,而不必关心是何种协议,所以socks代理比其他应用层代理要快的多。socks5代理是把你的网络数据请求通过一条连接你和代理服务器之间的通道,由服务器转发到目的地,这个过程中你是没有通过一条专用通道的,只是数据包的发出,然后被代理服务器收到,整个过程并没有额外的处理。通俗的说,现在你有一个代理服务器在香港,比如你现在想要访问google,你的电脑发出请求,流量通过socks5连接发到你在香港的服务器上,然后再由你在香港的服务器去访问google,再把访问结果传回你的电脑,这样就实现了翻墙。

我最早的socks5应用应该是15年前运用扫描到的IP用socks5代理做跳板,爆破密码,很多场合下,同一个IP不断尝试破解一个目标时,该目标会做出防御措施,封锁该源IP,在爆破场合下,必须用socks5代理不断变更源IP来进行暴力破解,当然socks5的具体应用远不止这些。
SS&SSR的安装
我用了秋水逸冰的一键安装脚本在VPS上成功部署,简单快捷,过程略。测试速度一个字:快,两个字:很快,三个字:非常快。就算不做加速处理,其速度也比收费VPN快很多倍,如果需要做加速处理,可以安装锐速补丁或者Google的BBR,我在banwagon的vps上安装了bbr,速度并没有感觉提升多少,感觉更多的是bbr优化的更多的是TCP的丢包,也可能是因为原本就很快,再快也感觉不出来,可是有一点,youtube上观看4K,我安装BBR加速的SSR(banwagon)会略卡,而linode原生SSR确一点也不卡,这也是为什么我在最适合国人的VPS上推荐linode的主要原因之一。
重点:

SS/酸酸

加密请使用 AEAD 加密,包括以下几个:

  1. aes-128-gcm
  2. aes-192-gcm
  3. aes-256-gcm
  4. chacha20-ietf-poly1305
  5. xchacha20-ietf-poly1305
  1. 对于移动设备来说,ARM v8 以后的 CPU 使用aes-gcm的效率要高于chacha20,因此更推荐使用aes-256-gcm
  2. 混淆请使用plain,即不使用混淆插件,或者使用http_simple

SSR/酸酸乳

  1. 加密请使用none
  2. 协议请使用chain_a
  3. 混淆请使用plain或者http_simple
能用plain没问题就用plain,当在plain情况下你察觉到网络有异样*,且你了解http_simple混淆参数的用途,再酌情使用http_simple

有很多萌新同学直接拿一键脚本搭建的,脚本要求设置参数的时候也许萌新们就直接一路回车默认过去或者随便选了,殊不知这可能就正是VPS被Q的原因

混淆为什么不选tls
这是有可能导致被Q的一个首要原因,因此我也放到第一位来讲,也许细心的同学们也发现了上述推荐配置中的混淆这一行都加粗了,是的,这非常重要

前段时间我与其他人讨论的时候,就发现了一个共同点,那就是被Q的人大多数都使用了tls1.2_ticket_auth混淆;而一些混淆plain的人,即使还在使用老旧甚至过时的协议,却安然无恙

很有理由猜测 GFW 已经掌握了 tls 混淆的特征

让我更确信了我的猜测的是,后来询问我被Q相关问题的人,大多数都用的是搬瓦工后台自带酸酸乳,因为我从没有用过搬瓦工,我询问了他们后才知道,搬瓦工的酸酸乳是强制tls1.2_ticket_auth混淆,嗯,真不愧是 GFW 最佳合作伙伴(而且搬瓦工自带酸酸居然没有 AEAD 加密)

后来,推特上也有人指出

“酸酸乳的tls凭据复用已经成为安全问题 不要用了”

而且,就 tls 混淆原本的用途来说,tls 混淆只是为了突破部分地区的网络环境才有的 QoS 限制,一般情况下根本不需要使用
破娃酱也在文档里说的很明白,一切因使用混淆而产生的看似是网络加速了的效果都是因为绕过了限制,混淆实际上会减慢你的网络速度

并且,如果你并不明白http(s)协议的具体细节,没有这方面的计算机网络知识,那么也不要轻易使用http_simple之类的混淆;如果没有必要,也不要使用80和443端口;这些在 GFW 眼里很可能会成为一种明显的特征,会成为“为什么我的VPS好好的就被Q了”的直接原因

加密这块到底是怎么回事
简单的来说,我们若干年前使用的非 AEAD 加密,都存在被主动探测到的风险(这一块如果感兴趣想了解,可以自行谷歌 AEAD 加密的相关科普博文)

因此,如果是酸酸,强烈推荐使用之前提到的那5种 AEAD 加密,为了防止今后(可能的)来自 GFW 的主动探测

而酸酸乳,虽然目前并没有使用到 AEAD 加密,但是破娃酱在设计协议的时候已经考虑到了主动探测问题并且针对这块进行了设计,因此目前来说还是相对安全的,前提是你使用的是chain_a或auth_aes128_md5或auth_aes128_sha1协议

对于酸酸乳,chain_a是目前最佳的协议;chain_b虽然说更难以被识别,但是仍是一个测试版协议,并且实际使用发现丢包现象莫名十分严重,并不能用;至于酸酸乳乳那些chain_c/d/e/f,可以看看这里

之前提到的推荐配置中,酸酸乳的加密为none的原因是,auth_chain系列协议已经自带了RC4加密,针对 UDP 部分也有加密及长度混淆,因此一般情况下不需要再进行额外的加密;如果你觉得RC4加密有安全隐患,再套一层其他加密也可。

总结:结合Shadowssock客户端,PC、cellphone都可以很愉快的在互联网上翱翔,多种模式,配置灵活。