机场知识 知识解读

VMess 是什么?V2Ray 经典协议的加密、认证与传输组合

VMess 是 V2Ray 的原生代理协议,自带加密并以 UUID 和时间戳认证。本文解释它的工作原理、alterId 与 AEAD 认证的区别、WS + TLS 等常见传输组合、客户端支持,以及它在机场中的定位。

首次发布
最后更新
内容类型
知识解读
资料核对
阅读时间
约 3 分钟

信息可能随服务调整而变化,请以最新官方信息为准。

直接答案

VMess 是 V2Ray 项目最早推出的代理协议,用 UUID 识别用户,并结合时间戳完成认证,协议本身自带加密。它可以运行在 TCP、WebSocket、gRPC 等多种传输方式上,最常见的机场组合是 VMess + WebSocket + TLS。VMess 成熟、兼容性好,但开销比 VLESS 大,并且对两端系统时间比较敏感,时间偏差过大会导致无法连接。

定义 VMess
V2Ray 设计的有状态加密代理协议。客户端使用 UUID 作为身份凭证,请求头中携带基于时间的认证信息,数据部分按选定的加密方式加密,可承载于 TCP、WebSocket、gRPC 等多种传输层之上。

Key Takeaways · 要点速览

  • VMess 自带加密,用 UUID 加时间戳认证,系统时间偏差过大会直接连不上。
  • 旧的 alterId 认证方式已被 AEAD 认证取代,alterId 设为 0 即启用 AEAD。
  • 常见组合是 VMess + WS + TLS,可以经过 CDN,但多一层加密带来额外开销。
  • 新部署多转向 VLESS,VMess 主要因兼容性仍保留在不少订阅中。

VMess 的直接解释

VMess 是 V2Ray 项目最早的核心协议,在很长一段时间里几乎是「V2Ray 节点」的代名词。它的设计目标是在不依赖外部 TLS 的情况下也能独立完成认证和加密:客户端用 UUID 证明身份,用时间戳防止重放,再用协商好的加密方式保护数据。

后来,人们发现把 VMess 再套进 TLS 能获得更好的伪装,于是出现了「VMess + WebSocket + TLS」这一经典组合。此时数据被加密了两次,这也是后续 VLESS 选择去掉协议自身加密的原因。

工作原理

  1. 客户端与服务器共享同一个 UUID,作为用户身份。
  2. 客户端发起连接时,用 UUID 和当前时间生成认证信息放在请求头中。
  3. 服务器在允许的时间窗口内校验认证信息,通过后解析目标地址。
  4. 后续数据按选定的加密方式加密传输。

注意VMess 对系统时间敏感,两端时间相差过大(官方文档给出的容差在分钟级以内,以 V2Ray / Xray 文档为准)就会认证失败,表现为节点全部超时或连接被重置。时区设置正确但时间本身不准,同样会出问题,建议开启系统自动对时。

alterId 与 AEAD 认证

早期 VMess 使用 alterId 参数配合旧式认证,后来被发现存在可被探测的弱点。V2Ray 随后引入 VMessAEAD 认证,alterId 设为 0 即启用新方式。较新的内核已逐步淘汰旧认证,订阅里如果仍出现较大的 alterId 值,可能是服务端配置较旧。

加密选项

选项 含义
auto 客户端按设备情况自动选择,通常是默认值
aes-128-gcm 适合带 AES 硬件加速的电脑与手机
chacha20-poly1305 适合无 AES 加速的设备
none / zero 不额外加密,通常仅在外层已有 TLS 时使用,按服务端配置为准

常见传输组合

组合 特点 适用情况
VMess + TCP 最简单,无伪装 内网或中转链路
VMess + WS + TLS 外观为 HTTPS 网站上的 WebSocket,可经过 CDN 最常见的机场组合
VMess + gRPC + TLS 基于 HTTP/2,支持多路复用 部分机场与 CDN 场景
VMess + HTTP/2 + TLS 基于 HTTP/2 较少见
VMess + mKCP 基于 UDP,带重传机制 特定弱网场景,流量开销较大

优点与局限

优点

  • 生态成熟,多年大规模使用,文档与教程丰富。
  • 传输方式灵活,WebSocket 组合可以借助 CDN 隐藏服务器真实 IP。
  • 主流客户端几乎都支持。

局限

  • 协议自带加密,叠加 TLS 后形成双重加密,CPU 与流量开销更大。
  • 依赖时间同步,设备时间不准就无法使用。
  • 新特性主要集中在 VLESS 上,VMess 本身更新较少。

客户端支持情况

客户端 VMess 说明
v2rayN 支持 V2Ray / Xray 生态原生协议
Clash Verge Rev(Mihomo 内核) 支持 常见传输方式均可用
sing-box 支持 以官方文档列出的传输方式为准
Shadowrocket / Stash 支持 传输方式支持以最新版本说明为准
Surge 支持 传输方式支持以官方说明为准

客户端设置可参考 v2rayN 完整使用教程。

在机场中的使用场景

  • 兼容性兜底:老设备或旧客户端不支持新协议时,VMess 节点往往还能用。
  • CDN 中转节点:VMess + WS + TLS 经过 CDN 时,可以在服务器 IP 不理想的情况下保持连通,但延迟通常更高。
  • 逐步被替代:不少机场已把主力节点迁移到 VLESS、Trojan 或 Hysteria2,VMess 只保留少量。

如果 VMess + TLS 节点报证书或握手错误,可参考 TLS 握手失败怎么办。

结论

VMess 是代理协议发展中的重要一代,自带加密、传输灵活、兼容性好。它的代价是额外的开销和对时间同步的依赖。在订阅中仍有 VMess 节点时可以正常使用,但如果同一地区还有 VLESS 或 Trojan 节点,通常优先考虑后者。更多协议对比见 代理协议对比。

常见问题

VMess 节点突然全部连不上,可能是什么原因?

最常见的原因是设备系统时间不准。VMess 认证依赖时间戳,两端时间相差过大时服务器会拒绝连接。先开启系统的自动对时,再重试;如果仍失败,再检查订阅是否过期或节点是否维护。

alterId 应该填多少?

现在应填 0,表示使用 VMessAEAD 认证。较大的 alterId 对应旧认证方式,安全性和抗探测能力较弱,较新的内核也可能不再支持。使用机场订阅时以订阅下发的参数为准。

VMess 和 VLESS 有什么区别?

VMess 自带加密并依赖时间认证,VLESS 去掉了协议自身的加密,交给 TLS 或 Reality 处理,开销更小,也不依赖时间同步。两者都来自 V2Ray / Xray 生态,新节点更多采用 VLESS。

VMess 还安全吗?

使用 AEAD 认证并配合 TLS 时,VMess 的数据仍是加密的,日常使用没有明显问题。它的主要劣势在于额外开销和流量特征,而不是数据会被直接解密。