研发手记 · 第 02 篇

快连 8 年没被封的 5 个协议细节

王慎之 · CTO 2026-07-26 阅读约 9 分钟 技术深度 ⭐⭐⭐⭐

2017 到 2026 年,9 年里我们见过太多同类产品大规模失效。某些产品在某个节点被识别后,整个服务停摆 24–72 小时;某些产品被精准识别出 IP 池,几小时内全池失效。

快连从来没有经历过这种「全停」。不是因为我们运气好,而是协议层有几个细节做得比同行更早。这篇文章公开其中 5 个。我们认为「好的抗封设计」应该被行业知道,而不是靠信息不对称挣饭吃。

一、协议头混淆:让流量看起来像 HTTPS

最早期的 VPN 协议有个特征:客户端发出去的第一个包有明显特征(特定字节序列、特定握手长度)。这让网络运营商可以用 DPI(深度包检测)一秒识别。

我们的做法是:把 VPN 握手包伪装成 TLS 1.3 Client Hello。真实的 Client Hello 里会有 SNI(域名)、密码套件列表、扩展字段。我们伪造这些字段,握手包的内容、长度、字段顺序都与真 HTTPS 一致。

# 抓包看到的样子(实际就是 TLS 1.3 Client Hello)
$ tcpdump -i eth0 -nn -X 'host 198.18.x.x'
12:34:56.789 IP 198.18.x.x.443 > 203.x.x.x.51234
  0x0010: 1603 0301 0200  ...TLS record layer
  0x0014: 0100 01fc 0303  ...handshake type 1
  0x0018: ffff ffff ...    ...random
        SNI: klb-cdn.example.com
        ALPN: h2, http/1.1
        supported_versions: TLSv1.3

但握手完之后,我们就切换到自研协议的密文格式——这时 DPI 已经「被骗」过了,握手后的流量加密强度足够,运营商只能按 IP 限速,没法按特征封禁。

二、心跳包随机化

传统 VPN 的心跳包(keepalive)是固定周期、固定大小。运营商只要观察一段时间,看到「每 30 秒一个 60 字节的固定模式包」,就能用机器学习识别这是 VPN。

我们的做法是:心跳周期在 23–67 秒之间随机抖动,大小在 47–512 字节之间随机。每次连接的「心跳指纹」都不一样。DPI 即便识别出 100 万次心跳,每次的模式都不重复,就无法建模型。

三、IP 池动态调度

很多 VPN 厂商用的是固定 IP 池。一旦某个 IP 被运营商封禁,整个池子都会被重点监控。

我们的 IP 池是动态调度的

代价是:用户每次连接的 IP 都不同。但我们的服务是按延迟而非 IP 工作的,所以普通用户察觉不到差异。

四、端口随机化

除了 IP,端口也是 DPI 识别的维度之一。早期某些 VPN 协议默认走 1194(OpenVPN)或 443/TCP(WireGuard 模仿)。运营商按端口统计流量,能快速筛出可疑目标。

我们的客户端每次连接时从 32768–60999 之间随机选一个端口,握手完成后立即切换到正式端口。这意味着运营商的端口流量统计图是「大量端口均匀分布」,不会被任何单端口的高占比暴露。

五、退出快速握手

这是同行最少提到、我们认为最重要的细节。

很多 VPN 协议在客户端主动断开时,会发一个"FIN"包,里面包含客户端的特征信息(比如魔数、版本号、用户 ID)。运营商只要在某个握手完成时抓到 FIN 包,反向追踪连接开始时的 SYN 包,就能把"开始-结束"流量对识别为同一会话。

我们的做法:客户端断开时不发 FIN,而是直接「静默退出」——TCP RST 由网络层自然产生,UDP 则是直接停止后续包。这种设计让会话边界变得模糊,运营商即便抓到一段流量,也很难确定它的开始和结束。

这五个细节的代价

我们没骗你——这些设计都有代价。

但换来的是:8 年没被大规模封禁、用户不需要为「节点失效」焦虑、客服工单里没有"为什么我连不上"的同类问题。

接下来面对的挑战

2024 年起,行业出现了一种新的对抗策略:基于「行为特征」的机器学习识别。运营商不再按流量指纹封禁,而是按用户行为封禁——比如"同一个 ASN 在过去 30 天内连接了大量不同国家的 IP" 这种行为模式。

这已经不是协议层能解决的了。我们正在研究的方向是「会话混淆」——让 VPN 连接看起来像普通 HTTPS 浏览行为,在协议层之上再加一层行为层混淆。预计 v9.0 会是这部分的第一次落地。

这篇写到这里。下一篇会讲「为什么快连坚持不让你注册」——这是一个更关于设计哲学、关于产品取舍的话题。

—— 王慎之 / 2026 年 7 月写于新加坡

下一篇:为什么快连坚持不让你注册

一个网络工具要求你交出隐私,本身就是矛盾的。下一篇我们讲讲这个设计哲学是怎么被坚持了 9 年的。

继续阅读 →