Kcptun 协议详解

Kcptun 是一个非常简单和快速的,基于 KCP 协议的 UDP 隧道,它可以将 TCP 流转换为 KCP+UDP 流。而 KCP 是一个快速可靠协议,能以比 TCP 浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。

Kcptun 是 KCP 协议的一个简单应用,可以用于任意 TCP 网络程序的传输承载,以提高网络流畅度,降低掉线情况。由于 Kcptun 使用 Go 语言编写,内存占用低(经测试,在64M内存服务器上稳定运行),而且适用于所有平台,甚至 Arm 平台。

Kcptun 工作示意图:

KCP 协议:https://github.com/skywind3000/kcp

Kcptun 项目地址:https://github.com/xtaci/kcptun

相关项目

以下为 Kcptun 的相关项目,如果有兴趣,可以了解一下。

1.https://github.com/kcptunsocks/kcptun/tree/router

 

Shadowsocks 客户端配置

在客户端中新建服务器:

  • 服务器 IP 填写本机:127.0.0.1
  • 服务器端口填写:12948

正确填写你的 Shadowsocks 密码,加密方式,协议和混淆方式。

切换到该服务器上,测试是否正确运行。

速度实测

我用的服务器是搬瓦工 512M 内存,费利蒙机房,以此测试加速效果。

  • 按结论看,Kcptun 的加速效果略逊于 Finalspeed,估计需要细调配置。
  • 刚运行 Finalspeed 时,内存占用就达到了 9.1% 也就是接近 47M;而此时 Kcptun 占用 0.4%,也就是 2M左右。
  • YouTube 1440p 满跑情况下,FInalspeed 最高内存占用 15.4%,接近 79M;而此时 Kcptun 占用 3% 左右,即 15.5M。
  • 速度方面,Finalspeed 最大速度达到了10000 Kbps +,Kcptun 6000+ Kbps。

以上结论为本人测试所得,仅作为参考;实际情况请自行测试,如有纰漏,欢迎指出。

多人同时使用

如果想多人使用同一个服务器并同时使用 Kcptun 加速,经博主测试,需要满足以下两个条件:

  • 启动多个 Kcptun 服务端,并使用不同的端口,你可以将 start.sh 拷贝一份,然后修改其中的端口;
  • 各个 Kcptun 加速不同的 Shadowsocks 服务端端口,也就是 Shadowsocks 也需要开多端口。

Android上使用

请看这篇文章:Shadowsocks-Android客户端上的KCP配置说明

 

在路由器上使用

如果需要在路由器上使用 Kcptun,首先你得有个智能路由器,然后能进入shell。

编译好的客户端文件在这里下载:

https://github.com/bettermanbao/openwrt-kcptun/releases

小米路由器、极路由等一大批国产智能路由器都是 MT7620 的芯片,请下载 ramips 版本。

点赞

发表评论