很多玩家 翻GFW 都是通过租一个海外vps,并在其上布置shadowsocks(后文用ss代之)服务端。
对于像我这样的普通玩家来说,从搬瓦工上租用一个最便宜的vps即可满足基本要求(使用ss进行网页浏览、搜索资料的速度还可以),但要想下载一些东西,(至少对于我的这台vps)速度着实不敢恭维-.-。
前些天想下载一些东西,无奈下载速度只有十几KB/s,最终还下载失败 - -!就想去了解如何优化ss的上网速度(找到了net-speeder)。
使用的具体步骤作者在github上说得比较详细,我也就不再赘述。下面简单阐述其中涉及到的一些原理。
首先有必要了解一下ss的工作原理:
ss是基于ssh创建的sock5协议工作的,由于GFW设置了许多过滤,数据包在进行ssh的client ——>GFW——> server过程中,虽然避免了gfw的关键词分析,但是ssh本身特征是明显的,GFW会通过分析连接的特征进行干扰,导致ssh存在被定向进行干扰的问题。
ss的作者曾在github上分享了他的解决方案(一年前被和谐…),简单理解:ss是将原来ssh创建的socks5协议拆成server端和client端…
详细原理戳这儿
net-speeder:
项目简介
源码是c写的,没看懂= =!简单来讲,net-speeder就是通过翻倍发包来降低丢包率
这是我在vps上ping google.com -c 2的结果,连接还算稳定,发出去的两个包全收到了。想必有些同学已经发现这和ping局域网的广播ip一样(linux系统下)出现了DUP。But,DUP是个啥??
在《tcp/ip详解》里,提到过unix某些主机在ping广播地址时,
如果出现重复序列号的数据包就显示DUP!这意味着一个数据包已经在某处重复了。
下面是使用net-speeder后的效果图:
这速度下载个小文件还是能够接受的~不过作者也提到了:对于不加速就可以跑满带宽的类型来讲(多线程下载),开启后反而由于多出来的无效流量,导致速度减半。所以对于多线程/高速链路,这个方案是不适合的。
第一次写博客,如有错误或表达不善的地方,还垦请大家不吝赐教。^_^