很多 iKuuu 用户都会在客户端设置里看到「WireGuard」这个选项,却不太清楚它和「更快、更安全」之间到底是什么关系。WireGuard 不是 iKuuu 的私有技术,而是一个开源的现代 VPN 协议,2016 年由密码学家 Jason Donenfeld 提出,2020 年被并入 Linux 内核主线。iKuuu 把它作为默认协议,正是因为它在速度和安全性之间做到了罕见的平衡。

在 WireGuard 出现之前,主流 VPN 协议要么像 OpenVPN 一样功能强大但代码庞杂,要么像 IPSec 一样历史悠久但实现复杂。WireGuard 的核心代码只有约 4000 行,而 OpenVPN 加 OpenSSL 依赖动辄几十万行。代码量小意味着可审计、可维护,也意味着更少的潜在漏洞面。

WireGuard 是什么

WireGuard 是一个基于 UDP 的三层 VPN 协议。它在通信双方之间建立一条加密隧道,把原始 IP 数据包封装后传输。与基于 TLS 的 OpenVPN 不同,WireGuard 从设计之初就只保留一种加密套件,没有协商过程——双方预先交换公钥,连接时直接加密传输,省去了握手协商的开销。

这种「去协商」的设计是它快的关键之一。传统协议在建立连接时需要来回协商加密算法、密钥长度等参数,WireGuard 则把这些都固定下来,连接建立几乎是即时的。

为什么它更快

WireGuard 的加密套件是经过精心选择的现代算法:ChaCha20 负责对称加密,Poly1305 负责消息认证,Curve25519 负责密钥交换。ChaCha20 是流式加密算法,在移动设备上执行效率远高于传统 AES 的软件实现,这也是 iKuuu 手机端使用 WireGuard 时省电又流畅的原因。

另一个速度来源是 WireGuard 运行在内核空间。由于它已被并入 Linux 内核,数据包在内核中完成加密与转发,减少了内核态与用户态之间的数据拷贝,吞吐量显著高于在用户态运行的协议。

WireGuard 与主流协议对比
特性WireGuardOpenVPNIPSec
核心代码量约 4000 行数十万行复杂
加密算法ChaCha20AES 等AES 等
运行空间内核态用户态内核态
连接建立无协商,即时TLS 握手IKE 协商

iKuuu 如何使用 WireGuard

iKuuu 把 WireGuard 作为默认协议,同时保留 Shadowsocks 与 V2Ray 作为备选。选择 WireGuard 作为默认,是因为在绝大多数家庭与移动网络下,它的 UDP 传输能带来最低延迟。当网络环境封锁 UDP 时,iKuuu 会自动切换到 Shadowsocks 或 V2Ray 的 TCP 模式,保证连接不断。

对用户而言,这套协议选择机制是完全透明的。你在客户端看到的只是一次流畅的连接,背后则是 iKuuu 在三种协议之间的实时调度。

性能对比与实测

在同等网络条件下,WireGuard 的吞吐量通常能达到 OpenVPN 的 2 倍以上。iKuuu 内部基准测试显示,在 100Mbps 带宽的测试环境里,WireGuard 单连接吞吐达到 89Mbps,而 OpenVPN 仅 41Mbps;移动端的差距更明显,WireGuard 的 CPU 占用约为 OpenVPN 的三分之一。

「换成 WireGuard 协议后,手机看视频发热明显小了,速度还更快。」——iKuuu 用户在客户端反馈区的留言

理解 WireGuard,也就理解了 iKuuu 为什么能同时做到「快」和「稳」。如果你还没体验过,可以免费下载 iKuuu,在设置中默认就是 WireGuard 协议。