DOCS / FIELD NOTE

VLESS 协议深度剖析:从 XTLS 到 Vision 架构流控演进

在 Project V 与 Xray-core 的演进谱系中,VLESS 协议的出现标志着代理传输协议迈入了“轻量化与极致性能”的新时代。相较于包含冗余二次加密的经典 VMess 协议,VLESS 取消了服务端强力的二次对称加密,转而依托内嵌的 TLS / REALITY 保证传输安全。本文将深度剖析 VLESS 的报文结构、XTLS 零拷贝黑科技及其核心流控(Flow)算法演进。

一、 VLESS 协议设计哲学:为什么消灭二次加密?

在经典的 VMess over TLS 传输链路上,数据实际上经历了两次加密与两次解密:

  1. 客户端用 AES-128-GCM 加密 VMess 报文;
  2. TLS 协议层再用 TLS 密钥加密整个数据流。

这种双重加密在早年网络设备性能较低时构成了极大的 CPU 负担。VLESS 协议做出了重大创新:

  • 无状态(Stateless):服务端无需在内存中维护复杂的会话状态。
  • 免二次加密(Lightweight):VLESS 本身只负责带上简单的认证 Header(UUID)和目标地址,加密工作完全交由外层的标准 TLS / REALITY 完成,整体传输效率提升了 30% 以上。

二、 流控演进史:从 XTLS 到 Vision

为了消除 TLS 内嵌入代理流量时产生的双重握手特征,Xray 团队历经了数代流控算法的迭代:

  1. 经典 XTLS:XTLS 最初通过识别代理内部 TLS 流量的 Client Hello,在握手完成后直接让代理内核将原始数据包跳过二次封装,直接在 Socket 间复制数据,CPU 占用率急剧下降。
  2. 最新 Vision 流控 (xtls-rprx-vision):通过在连接建立的前几个数据包中注入随机长度的 Padding 混淆,破坏了固定长度的握手特征,同时保留了高效传输特性。

配置示例(Xray 客户端):

{
  "outbounds": [
    {
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "my-server.com",
            "port": 443,
            "users": [
              {
                "id": "c7a8b9e0-1234-5678-9abc-def123456789",
                "encryption": "none",
                "flow": "xtls-rprx-vision"
              }
            ]
          }
        ]
      }
    }
  ]
}

VLESS 协议配合 Vision 流控与 REALITY 伪装,已成为现代化代理网络中最具高可用性与高性能的代表。