KCP 是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。
KCP:https://github.com/skywind3000/kcp
目前已经有非常多的网络服务采用KCP,著名的有kcptun,dog-tunnel,Lantern,rpcx等,同时KCP已经有众多语言的开源实现,如c、golang、java等,可以使用KCP协议做自己的网络相关服务。
kcptun是kcp协议的一个简单应用,可以用于任意tcp网络程序的传输承载,以提高在丢包环境下的网络流畅度。常见使用场景:要访问国外的服务器A,需要通过国内服务器B转发,则可以采用kcptun实现。以下是一个例子:阿里云SQL服务只能在阿里云服务器上访问,本地局域网要访问必须通过代理
./client_linux_amd64 -r "阿里云服务器局域网IP:4000" -l ":23306" -mode fast2
./server_linux_amd64 -t "阿里云SQL服务器局域网IP:3306" -l ":4000" -mode fast2
即可通过阿里云服务器的23306端口访问阿里云SQL服务。