把节点的核心从 Go 换成 Rust,不是赶时髦——
是为了在最吃紧的环境里,既快、又省内存、又不崩。
把 VPN 想象成一艘船。你平时看到的 App 界面,是船的驾驶台——决定航向。而数据平面,是船底那间引擎室:它负责真正搬运你的每一个数据包。
引擎室一出问题,整艘船就停——你的连接就断。
它需要同时支持多种协议,又需要在手机省电后台和路由器小内存这种吃紧环境里长时间运行。旧栈面临三大痛点:
运行时和垃圾回收器本身就占了一大块常驻内存,留给协议处理的空间更紧张。
垃圾回收的「stop-the-world」暂停带来不可预测的延迟毛刺,影响实时转发。
空指针、数据竞争等运行时错误有可能在高并发场景下偶发出现,导致隧道中断。
这不是一次小修小补,而是引擎室的整体重建。
同一个 Rust 数据平面,可以同时「讲」多种现代传输协议——不用为每种协议维护一套独立代码。
iOS 的网络扩展(VPN 后台进程)内存上限极严格——一超,系统就直接杀进程,隧道就断。
Rust 的可控、可预测内存占用,让隧道在后台稳得住、不被系统杀掉。
内存可控 = 后台保活 = 用户不掉线
用户感受到的「稳」和「快」,
来自引擎室里这些看不见的工程选择。
可靠不是运气,是架构。
引擎室里的每一个工程决策,最终都是为了一件事:让你的连接更稳、更快、更省电。这份底层的稳,就是你日常体验顺滑的原因。
想用上同款高性能、低内存的数据平面能力?欢迎提交工单沟通。