赞
踩
QUIC是 google 制定的一种基于UDP的低时延的可靠的互联网传输层协议。google 为其研发了优秀的重传算法和拥塞控制算法,和同样是可靠传输协议相较于传统的 TCP 相比 QUIC 的表现可以说相当优秀,尤其是在互联网长距离传输并且存在丢包的网络环境,QUIC 的表现相较于 TCP 有着成倍的提升。目前最著名的基于 QUIC 的应用就是 HTTP3 了。
由于 QUIC 是一个新型的传输层协议,出现时间比较晚,像 HTTP3 这种应用具有后发优势,能很容易的使用上 QUIC 协议,但是目前据大部分应用还都是基于 TCP 的,QUIC 的普及还需要相当长的一段时间。那么有没有别的办法能让传统 TCP 应用间接的使用上 QUIC 呢?答案显而易见,当然是有:就是今天我想向大家介绍的 quic-tun,下面就让我们快速体验一下这个工具。
从 release 页面下载最新版本,然后解压,在编写本文时 0.0.4 是最新版本:
wget https://github.com/kungze/quic-tun/releases/download/v0.0.4/quic-tun_0.0.4_linux_amd64.tar.gz
tar xvfz quic-tun_0.0.4_linux_amd64.tar.gz
启动 server 端程序
./quictun-server --listen-on 172.18.31.36:7500
需要更具自己环境的实际情况调整监听的 IP 和端口(UDP 端口)。
启动客户端程序
./quictun-client --listen-on tcp:127.0.0.1:6500 --server-endpoint 172.18.31.36:7500 --token-source tcp:172.18.30.117:22
客户端程序的参数复杂了许多,这里我来一一解释:
等待客户端启动后,我们访问客户端监听的地址,quic-tun 就会把流量转发到后端真实服务。转发流程可以分为三个阶段:
从上面客户端的启动参数可以看出我想优化的 TCP 服务是一个 SSH 服务(172.18.30.117:22),那么我们可以用 ssh 命令测试一下效果:
$ ssh root@127.0.0.1 -p 6500
root@127.0.0.1's password:
代码仓库:https://github.com/kungze/quic-tun
官方文档:https://kungze.github.io/documents/quic-tun/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。