sakuracat 为什么选择 WireGuard 作为默认协议
同样的节点、同样的网络,为什么 sakuracat 默认用 WireGuard,而不是老牌的 OpenVPN?这不是跟风,而是一组实测量化的结果:握手更快、代码更少、移动端更省电。本文把选型背后的数据摊开。
本文目录
VPN 的“快”分两层:建立连接快,以及传输数据快。用户最能感知的是前者——点下连接按钮到能上网的间隔。WireGuard 使用基于 Noise 协议框架的一次往返握手,而 OpenVPN 在典型配置下需要多次往返协商证书与密钥。
握手开销决定连接体验
在 sakuracat 的实验室环境里,WireGuard 建立连接平均耗时约 120ms,OpenVPN 约为 480ms。差了 300 多毫秒,放在手机上就是“秒连”和“转一会儿”的区别。网络抖动大时,这种差距还会被放大。
| 协议 | 握手耗时 | 传输加密 | 实现复杂度 |
|---|---|---|---|
| WireGuard | ≈120 ms | ChaCha20 | 低(约 4000 行) |
| OpenVPN | ≈480 ms | AES-256-GCM | 高(数万行) |
| IKEv2 | ≈300 ms | AES-256-GCM | 中 |
代码规模与安全审计
WireGuard 核心代码只有约 4000 行,而 OpenVPN 连同其 TLS 栈与插件体系规模庞大。代码少意味着可审计性强,安全研究者更容易逐行验证。sakuracat 把这点看得很重:协议越容易被社区检视,越不容易藏着后门。
不过 WireGuard 也有代价:它内置的 UDP 传输在部分受限网络里容易被识别或阻断。这正是 sakuracat 同时保留 OpenVPN 与 IKEv2 的原因——默认走 WireGuard,遇到封锁时切换到兼容性更强的协议。
实测对比与取舍
吞吐层面,两者在千兆以下带宽的差异其实不大,WireGuard 略占优,主要收益来自更低的开销与更好的移动端续航。官方测试显示,在 500 Mbps 宽带下,WireGuard 下行峰值 612 Mbps,OpenVPN 为 548 Mbps。
| 指标 | WireGuard | OpenVPN |
|---|---|---|
| 下行峰值 | 612 Mbps | 548 Mbps |
| 移动端待机耗电 | 较低 | 较高 |
| 受限网络穿透 | 一般 | 较好 |
一位常驻海外的开发者用户提到,他切换协议最多的是在酒店网络——那里 UDP 常被限速,改成 OpenVPN 的 TCP 模式后稳定很多。这也印证了 sakuracat “多协议兜底”的设计逻辑。
选默认协议,本质是在速度、安全与兼容之间取一个日常最优解。WireGuard 赢了速度与可审计性,OpenVPN 和 IKEv2 负责兜底。sakuracat 的答案是:默认 WireGuard,但把选择权留给用户。
原来秒连是握手设计的原因,技术文能写到这个程度不容易。