我的网站

耀世注册

联系我们

地址:海南省海口市

邮编:570521

电话:0898-08980898

传真:0898-1230-5678

公司动态

当前位置: 首页 > 耀世资讯 > 公司动态

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

添加时间:2023-07-09 07:19:48

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


附上:


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


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


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



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


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


  • 自己搭建的Shadowsocks服务器, 希望可以更快的访问,可以通过KcpTun进行加速


  • 服务器在国内,海外用户访问自己的服务比较慢,也可以使用KcpTun进行加速


  • 游戏加速器,网游加速,玩海外游戏加速



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





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


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



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


安装KcpTun :


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


在国内服务器开启server端:



https://zhuanlan.zhihu.com/p/server_linux_amd64 -t "IP:80" -l ":4000" -mode fast3


在国外服务器开始client端:


https://zhuanlan.zhihu.com/p/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}"\
"  xxxx.sunmi.com
xxxx---code:200:time:0.568:dns:0.004:connect:0.212:starttransfer:0.568
curl -s -w ---code:%{http_code}:time:%{time_total}:dns:%{time_namelookup}:connect:%{time_connect}:starttransfer:%{time_starttransfer}"\
"  localhost:8080
xxxx---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}"\
"  xxxx.sunmi.com
xxxx---code:200:time:0.148:dns:0.001:connect:0.002:starttransfer:0.148
curl -s -w ---code:%{http_code}:time:%{time_total}:dns:%{time_namelookup}:connect:%{time_connect}:starttransfer:%{time_starttransfer}"\
"  localhost
xxxx---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 可以得到比较好点效果



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


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

地址:海南省海口市电话:0898-08980898传真:0898-1230-5678

Copyright © 2012-2018 耀世娱乐-耀世注册登录入口 版权所有ICP备案编号:琼ICP备xxxxxxxx号

平台注册入口