跳到主要内容

很长一段时间里,“VPN 协议”指的就是一份很短的名单:IPsec、OpenVPN、WireGuard。MASQUE 不太一样。它并不是作为独立的 VPN 产品设计出来的,而是 IETF 提供的一组构件,让客户端通过普通的网页代理打开隧道,使用的是 HTTP/3,而 HTTP/3 又运行在 QUIC 之上。这个出身几乎解释了 MASQUE 协议的一切行为:它擅长什么,以及为什么会让期待传统 VPN 的人感到意外。

本文用通俗的话讲清 MASQUE 是什么,逐一介绍最常听到的两种隧道方法,与更熟悉的协议对比,并列出局限。这是知识性的介绍,不是产品推销。如果“协议”这个词还有点模糊,先读 VPN 协议是什么。

MASQUE 到底是什么

MASQUE 是 Multiplexed Application Substrate over QUIC Encryption 的缩写。它最初是 IETF 的一个工作组,如今这个名字也用来指该工作组产出的一系列规范。核心思想很简单:与其发明一套带有自己端口和握手流程的全新隧道格式,不如重用互联网上到处都在运行的东西,也就是 HTTP。

HTTP 代理平时转发网页请求。HTTP 还有一个叫 CONNECT 的方法,请求代理向目标打开一条原始连接,然后退到一旁。MASQUE 把这个老办法向两个方向扩展:

  • CONNECT-UDP:让客户端请求代理转发 UDP 数据报到目标。
  • CONNECT-IP:让客户端请求代理转发完整的 IP 数据包,这使代理变成 VPN 式的网关。

两者都运行在 HTTP/3 之上,所以隧道本身就承载在一条 QUIC 连接里。QUIC 是建立在 UDP 之上的现代传输协议,内置加密;这一层的细节可参阅参考资料中的 QUIC 标准。在本文里,只需记住 QUIC 带来了加密、多路复用,以及在网络变化时的良好表现。

MASQUE 隧道是怎样建立的

一次 MASQUE 会话有三个阶段,按顺序看就能理解设计。

  1. 连接代理。 客户端向代理打开一条 QUIC 连接,并完成 TLS 1.3 握手。代理用证书证明身份,与网站一样。
  2. 认证。 客户端发送带有凭据的 HTTP 请求,例如令牌或其他头部。代理决定是否允许建立隧道。由于这是普通的 HTTP 语义,现有的认证和策略系统可以直接复用。
  3. 打开隧道。 客户端发出 CONNECT-UDP 或 CONNECT-IP 请求。代理同意后,这条 HTTP 流保持打开作为控制通道,数据则以 HTTP 数据报的形式随之传输。

此后,你设备发出的数据包被封装进 HTTP 数据报,由 QUIC 加密,发往代理。代理拆开后转发到真正的目的地,回应沿同一路径返回。

在实践中,这意味着代理可以是一台普通的 HTTP/3 服务器加上额外功能,部署在已经为网站服务的同一批负载均衡器和证书工具后面。这对运营方很有吸引力,也是人们关注 MASQUE 的主要原因。

还有一个与大小有关的细节。每一层都会增加头部:内层 IP 包、HTTP 数据报封装、QUIC 以及外层 UDP 包。如果合起来的数据包超过网络允许的大小,就会被拆分或丢弃,隧道虽然显示已连接,却可能感觉卡住。写得好的客户端会为此选择保守的包大小,同样的思路也出现在 VPN 的 MTU 问题 一文中。

CONNECT-UDP 与 CONNECT-IP

这两个方法看起来相似,解决的却是不同的问题。

特点 CONNECT-UDP CONNECT-IP
承载内容 通往指定目的地的单独 UDP 流 完整的 IP 数据包,任何协议
典型用途 为某个应用代理 QUIC 或语音流量 为整台设备建立 VPN 式隧道
地址分配 无,客户端每次指明目的地 代理可为客户端分配地址和路由
代理角色 针对特定连接的中继 设备与网络之间的网关
是否适合“所有流量” 不适合 适合

CONNECT-IP 定义在名为“Proxying IP in HTTP”的标准中(见参考资料),正是它让 MASQUE 可以与 VPN 相提并论。借助它,客户端可以申请 IP 地址、接收路由,然后发送任意数据包。CONNECT-UDP 更接近针对特定应用的隐私代理,这种思路在 隐私中继与完整 VPN 的区别 中也有说明。

与你熟悉的协议相比

对比有助于定位它。以下是一般性的描述,并不针对任何具体产品。

方面 WireGuard OpenVPN MASQUE(CONNECT-IP)
出身 专为 VPN 设计 专为 VPN 设计 由 HTTP 代理扩展到 IP
传输 UDP UDP 或 TCP QUIC over UDP(HTTP/3)
握手 简短,基于密钥 基于 TLS QUIC 内的 TLS 1.3
认证 公钥 证书、密码 HTTP 式凭据、令牌、证书
常见服务端软件 专用守护进程 专用守护进程 支持 HTTP/3 的代理
成熟度 广泛部署 极为广泛部署 较新,实现较少

想深入了解两个老牌选择,请读 WireGuard 与 OpenVPN 对比。这里的要点是:MASQUE 用专用 VPN 协议的极简,换来了与网页基础设施的融合。这可能意味着运维更简单、认证更灵活、手机在 Wi-Fi 与移动数据间切换时表现更好,但也意味着需要把更大的一套软件栈做对。

设计在现实中带来的差别

手机切换网络。 小陈走出火车站,手机从站内 Wi-Fi 切换到移动数据。QUIC 用内部的连接 ID 而不是发送方地址来识别连接,所以 MASQUE 隧道往往不必完全重启就能继续。小陈只是感觉到短暂停顿,而不是会话掉线。传统隧道也能处理,但 QUIC 把它变成了内置能力,而不是外加功能。

已经在运行网页代理的公司。 IT 团队有负载均衡器、证书自动化和绑定在网页体系上的单点登录。在 HTTP/3 代理上加入 CONNECT-IP,员工就可以用已经信任的登录规则访问内部资源,而不必再运行一个有自己证书流程的独立 VPN 守护进程。

丢弃 UDP 的网络。 有些酒店和办公室只允许基于 TCP 的网页流量。HTTP/3 需要 UDP,所以 MASQUE 隧道可能无法启动。有的设计会回退到基于 TCP 的 HTTP/2,能用,但会失去一些优点。这是技术限制,不该靠瞎猜来应对;如果遇到,故障排查文章 VPN 在某个 Wi-Fi 下无法使用 提供了合理的检查步骤。

MASQUE 与普通网页代理的区别

读者常问它和浏览器里的代理设置有什么不同。传统代理转发程序发给它的网页请求或 TCP 连接,每个程序都要被单独告知使用它。CONNECT-IP 则让整台设备在隧道内获得地址和路由,所有应用都走同一条路径,无需分别设置。VPN 与代理的区别 中讲的差异依然成立,只是 MASQUE 让界线变得模糊,因为两者建立在同一个基础上。

举个小例子。假设一个视频通话应用每秒发送约五十个 UDP 数据包。用 CONNECT-UDP,代理接收这些数据报并转发给应用的服务器,只有这一条流进入隧道。用 CONNECT-IP,你的浏览器、邮件和系统更新也会进入同一条隧道,因为代理把一切都当作 IP 包处理。这就是为什么要仔细阅读产品细节,弄清它所说的“MASQUE”是哪一种。

MASQUE 没有改变的事

新技术很容易被夸大,请记住下面这些限制。

  • 它不是隐私保证。 隧道把你的数据包送到代理。此后,代理的运营方能看到你访问的目的地,和任何 VPN 网关一样。对运营方的信任比协议名称更重要。
  • 它不会对网站隐藏你。 登录账号、接受 Cookie 或使用有特征的浏览器,依然能识别你。参见 VPN 无法保护你的哪些方面。
  • 它不会让慢网变快。 加密、距离和线路质量仍是速度的主要因素。关于这一点,为什么使用 VPN 后网速会变化 是更好的参考。
  • 它不会让所有网站都能用。 网站仍可能拒绝来自代理或网关地址的流量。
  • 支持情况参差不齐。 操作系统、应用和服务端软件对 MASQUE 的支持程度不一,生态也比 WireGuard 或 OpenVPN 年轻。你可能在产品里用到它却从未见过这个词,因为它可能藏在某个功能之下,而不是作为菜单选项出现。

我们不对任何具体服务商提供哪些协议作出说明。如果某个服务宣传使用 MASQUE,请看清它的实际含义:是为设备建立完整隧道、只为部分应用提供代理,还是内部构件。

如何评估基于 MASQUE 的产品

如果厂商说它的隧道基于 MASQUE,可以直接问几个简单的问题。

  1. 是 CONNECT-IP 还是 CONNECT-UDP? 前者承载全部流量,后者只承载选定的流。
  2. UDP 被阻断时会怎样? 应用是会回退、给出清晰的错误,还是直接卡住?
  3. 运营方能看到什么? 阅读条款,看看关于目的地和连接数据说了什么。
  4. 客户端如何认证? 令牌和证书都可以,但要知道它们存放在哪里、怎么撤销。
  5. 是否防止泄漏? 无论哪种协议,都应测试 DNS 和 IPv6 的表现。如何测试 VPN 列出了简单的检查方法。
  6. 它的宣传是什么,诚实吗? “下一代”不是功能。

总结

MASQUE 是一组标准,通过 HTTP/3 代理为 UDP 流或完整 IP 数据包建立隧道,用 QUIC 传输,用 TLS 1.3 保障安全。它的优势来自对网页基础设施的复用、灵活的认证,以及网络变化时的平滑表现。它的局限与任何 VPN 隧道相同:运营方仍能看到你的目的地,UDP 限制可能造成干扰,它也不会让你匿名。评价产品时,请看条款、测试和诚信,而不是宣传册上的协议名称。

如果你想用一种简单的预付方式在自己的设备上试用 VPN,可以看看 价格页面 了解有哪些选择。

常见问题

MASQUE 是什么的缩写?

Multiplexed Application Substrate over QUIC Encryption。它是 IETF 一个工作组的名字,也泛指该工作组制定的、用于通过支持 HTTP/3 的 HTTP 代理建立隧道的一组标准。

MASQUE 是 VPN 协议吗?

它可以作为 VPN 的隧道层。其 CONNECT-IP 方法承载完整的 IP 数据包,正是 VPN 所需要的;CONNECT-UDP 则承载单独的 UDP 流,更像代理。

MASQUE 比 WireGuard 或 OpenVPN 更快吗?

一般不是。速度取决于实现、距离、拥塞和所用设备。MASQUE 的设计目标是灵活,以及与网页基础设施契合,而不是比拼速度。

MASQUE 能让我匿名吗?

不能。它只是承载流量的方式,并不承诺运营方能看到什么,或网站能了解你的什么。账号、Cookie 和设备指纹依然能识别你。

网络能阻断 MASQUE 吗?

只要网络丢弃隧道所依赖的流量,任何隧道都可能被干扰。MASQUE 的 HTTP/3 依赖 UDP,屏蔽 UDP 的网络可能让它无法工作,不过有些实现可以回退到基于 TCP 的 HTTP。

关于作者

Bob Kanokphon Thongdee,XPASS VPN 创始人

Bob Kanokphon Thongdee

  • XPASS VPN 创始人
  • eSIMonline.asia 联合创始人
  • 7 年以上网络营销经验
  • Cojourney Visa 与 Cojourney Travel 创始人

短途出行或忙碌的一个月,需要 VPN?

XPASS 提供按天数计算的预付通行证。一次付款,不会自动续费。

查看通行证

继续阅读

VPN 基础

什么是 VPN 协议?

VPN 协议规定了你的设备与 VPN 服务器如何连接并保护流量。本文用通俗的语言讲清楚它的含义和主要取舍。

阅读约 9 分钟

VPN 安全

WireGuard 与 OpenVPN 有什么区别

WireGuard 和 OpenVPN 都能建立加密隧道,但设计、复杂度和灵活性不同。本文用通俗的方式比较,并说明该怎样选择。

阅读约 9 分钟

VPN 基础

VPN 隧道是什么?数据是怎样被层层包起来的

VPN 隧道不是一个地方,而是一种封装方法:你的数据被包进另一层数据里送到服务器。了解它的结构、生命周期与局限。

阅读约 9 分钟

VPN 基础

隐私中继、安全网关与完整 VPN 有什么区别?

设备内置的隐私中继和免费的安全网关应用能隐藏部分流量,但它们不是完整的 VPN。本文比较覆盖范围、信任和局限,帮你选对工具。

阅读约 9 分钟

VPN 基础

VPN 和代理有什么区别

VPN 和代理都在你与网站之间充当中间一环,但范围、加密和信任方式不同。本文给出清晰对比,包括 Chrome 代理设置与系统 VPN 的区别。

阅读约 9 分钟