自研协议
HaloTun我们自研的隧道协议
HaloTun 是 HaloCloud 自研的三层 VPN 协议:基于 TCP 隧道,支持 AES、ChaCha20 和国密 SM4 加密,还能穿透 NAT、下发多网段路由。本页公开它的设计思路和实验室测试数据。
- HaloTun · 16 线程 TCP 吞吐
- 5,615Mbps
- 同一环境下的 WireGuard
- 1,020Mbps
- 吞吐对比
- 5.5×
01 · 协议架构
业务流量
这样穿过公网
业务流量进入 TUN 虚拟网卡后,先加密,再封装进 TCP 隧道,穿过公网到达对端后还原。应用不用做任何改动,跨网段访问就像在本地网络里一样。
- S1 TUN 捕获
三层业务报文进入虚拟网卡。
- S2 加密封装
用 AES、ChaCha20 或国密 SM4 加密数据。
- S3 TCP 隧道
穿过 NAT 和公网,送到对端。
- S4 对端还原
对端解密、拆包,把数据送进目标网段。
- 类型
- 三层 VPN · TUN 组网
- 传输层
- 自研 TCP 隧道
- 加密算法
- AES · ChaCha20 · 国密 SM4
- NAT 穿透
- 无公网 IP 也能组网
- 路由
- 多网段路由下发 · 按需分流
02 · 性能测试
时延几乎一样
吞吐最高 5.5 倍
比较吞吐之前,先确认两组测试的网络条件一致:公网直连和两种隧道内的 RTT 都在 66 ms 左右,HaloTun 与 WireGuard 只差 0.08 ms。
- 公网直连 · 无隧道 · ICMP ping 平均 RTT
- 66.820ms
- WireGuard 隧道内 · iperf3 测试期间实测
- 65.874ms
- HaloTun 隧道内 · iperf3 测试期间实测
- 65.956ms
TCP 吞吐 · iperf3 · Mbps · 两组用同一刻度
正向 · 上行
反向 · 下行
| 线程数 | 正向 HaloTun | 正向 WireGuard | 反向 HaloTun | 反向 WireGuard |
|---|---|---|---|---|
| 1 | 2,899 | 725 | 3,253 | 804 |
| 4 | 3,695 | 975 | 4,456 | 999 |
| 8 | 5,012 | 1,004 | 4,139 | 1,059 |
| 16 | 5,615 | 1,020 | 4,141 | 911 |
测试条件:两台 Vultr vhp-4c-8gb-intel(4 核 8 GB),分别位于东京和新加坡,经公网直连;iperf3 单次 20 秒,HaloTun 固定使用 AES 加密。以上为实验室参考值,实际表现以具体线路的测试为准。
03 · 主要功能
连得上 转得稳 控得住
NAT 打洞
没有公网 IP 的节点也能建立稳定的隧道,分支机构的普通宽带、云上与本地混合部署、受限网络都能接入。
端口转发
支持多条规则、多种协议,把隧道里的服务通过指定入口对外开放。
路由下发
可以下发多个网段的路由、按需分流,支持跨网段互通,也方便分批迁移业务。
多算法加密
AES、ChaCha20 与国密 SM4 按场景选用,兼顾性能与合规。
跨地域组网
总部和分支、云上和本地、不同机房之间都能互通,走公网也连得更稳。
04 · 设计初衷
它要解决的
是这些问题
HaloTun 目前不单独销售;基于它开发的 SD-WAN 组网产品 HaloWan 还没有上线。
- 01 分支拿不到公网 IP
分支只有普通宽带、没有固定公网 IP,仍然要和总部、云上资源互通。
- 02 跨境公网不稳定
跨境线路丢包、抖动明显,普通 VPN 用起来经常掉线。
- 03 内网服务要对外开放
隧道里的后台、数据库等服务,要通过指定的入口,按规则对外开放。