喵咪永久网站入口,喵了个咪

[喵咪开源软件推荐(6)]TCP链路加速技术KcpTun

今天有给大家带来新的东西KcpTun,KcpTun是利用Kcp技术对Tcp链路传输进行加速,大家熟知的网络协议一般是UDP和TCP,UDP传输快但是没有状态消息不可靠,TCP虽然稳定也有重试机制但是因为机制复杂三次握手等机制速度会稍微比较慢,大名鼎鼎的谷歌就基于UDP重新开发过QUIC协议,Kcp协议也是基于UDP上进行算法封装的快速可靠协议,我们就一同来看看基于KCP的开源软件KcpTun有什么神奇的吧!

附上:

喵了个咪的博客:w-blog.cn

Kcp-Github地址:https://github.com/skywind3000/kcp

KcpTun-Github地址:https://github.com/xtaci/kcptun

1.了解Kcp – KcpTun

Kcp是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果,纯算法实现.

基于Kcp之后就有了KcpTun也就是我们今天的主角TCP转发开源程序,有的童鞋会问了 “为什么要转发TCP啊 ??? ” , 当然是为了提高访问速度啊. 比如如下两个场景

自己搭建的Shadowsocks服务器, 希望可以更快的访问,可以通过KcpTun进行加速服务器在国内,海外用户访问自己的服务比较慢,也可以使用KcpTun进行加速游戏加速器,网游加速,玩海外游戏加速

一句话总结只要是TCP协议的东西都可以通过KcpTun进行加速,我们一起来看下图就能简单了解KcpTun起到了什么作用

正常情况下的访问都只直接通过Tcp进行的, 其中握手,丢包重传等机制都会比较慢

当我们换成了KcpTun正常访问的都是离自己比较近的Kcp-Client端,然后通过Kcp链路中转到Kcp-Server端,在请求到最终的服务器

2.安装使用

这里以liunx为例子,选用系统centos

安装KcpTun :

wget https://github.com/xtaci/kcptun/releases/download/v20170930/kcptun-linux-amd64-20170930.tar.gztar -zxvf kcptun-linux-amd64-20170930.tar.gz

在国内服务器开启server端:

./server_linux_amd64 -t “IP:80” -l “:4000” -mode fast3

在国外服务器开始client端:

./client_linux_amd64 -r “serverIP:4000” -l “:80” -mode fast3

通过俄罗斯访问国内时间消耗:

curl -s -w —code:%{http_code}:time:%{time_total}:dns:%{time_namelookup}:connect:%{time_connect}:starttransfer:%{time_starttransfer}”\n” xxxx.sunmi.comxxxx—code:200:time:0.568:dns:0.004:connect:0.212:starttransfer:0.568curl -s -w —code:%{http_code}:time:%{time_total}:dns:%{time_namelookup}:connect:%{time_connect}:starttransfer:%{time_starttransfer}”\n” localhost:8080xxxx—code:200:time:0.289:dns:0.004:connect:0.004:starttransfer:0.289

时间消耗从0.568秒缩短到了0.289秒节约时间0.279秒几乎节约100%的时间

通过新加坡访问国内

curl -s -w —code:%{http_code}:time:%{time_total}:dns:%{time_namelookup}:connect:%{time_connect}:starttransfer:%{time_starttransfer}”\n” xxxx.sunmi.comxxxx—code:200:time:0.148:dns:0.001:connect:0.002:starttransfer:0.148curl -s -w —code:%{http_code}:time:%{time_total}:dns:%{time_namelookup}:connect:%{time_connect}:starttransfer:%{time_starttransfer}”\n” localhostxxxx—code:200:time:0.084:dns:0.001:connect:0.001:starttransfer:0.084

时间从0.148秒缩短到了0.084秒 节约时间0.064秒

kcptun有多种加速模式对应的速度排序如下(default: “fast”):

fast3, fast2, fast, normal, manual

如果使用默认模式”fast”新加坡响应时间0.110 俄罗斯响应时间0.357 消耗时间会有所增加,一般推荐使用 fast2 可以得到比较好点效果

3 总结

利用KcpTun链路加速技术能够解决在使用中的各种网络,比如海外网络加速, Shadowsocks,OpenVpn加速等,如果大家喜欢可以自己体验一下!

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

快三稳赚10大技巧fer}”\n” localhost:8080xxxx—code:200:time:0.289:dns:0.004:connect:0.004:starttransfer:0.289

时间消耗从0.568秒缩短到了0.289秒节约时间0.279秒几乎节约100%的时间

通过新加坡访问国内

curl -s -w —code:%{http_code}:time:%{time_total}:dns:%{time_namelookup}:connect:%{time_connect}:starttransfer:%{time_starttransfer}”\n” xxxx.sunmi.comxxxx—code:200:time:0.148:dns:0.001:connect:0.002:starttransfer:0.148curl -s -w —code:%{http_code}:time:%{time_total}:dns:%{time_namelookup}:connect:%{time_connect}:starttransfer:%{time_starttransfer}”\n” localhostxxxx—code:200:time:0.084:dns:0.001:connect:0.001:starttransfer:0.084

时间从0.148秒缩短到了0.084秒 节约时间0.064秒

kcptun有多种加速模式对应的速度排序如下(default: “fast”):

fast3, fast2, fast, normal, manual

如果使用默认模式”fast”新加坡响应时间0.110 俄罗斯响应时间0.357 消耗时间会有所增加,一般推荐使用 fast2 可以得到比较好点效果

3 总结

利用KcpTun链路加速技术能够解决在使用中的各种网络,比如海外网络加速, Shadowsocks,OpenVpn加速等,如果大家喜欢可以自己体验一下!

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注