打开 Clash 或 V2rayN 之类的客户端,添加节点的时候经常会看到 Shadowsocks、Trojan、VLESS、VMess、Hysteria2、TUIC 这些协议名称,很多人根本不知道该怎么选,甚至以为这只是节点名字的一部分。这篇文章基于这几种协议公开的设计目标和技术定位,帮你理清它们之间的差异,不会给出“哪个协议实测快百分之多少”这类无法验证的数字。

先明确一个概念:协议是什么

协议,简单说就是客户端和服务器之间“怎么对话”的规则。同样是把你的流量从设备传输到目标网站,不同协议在数据封装方式、加密方式、流量特征、连接建立方式上采用了不同的设计,这些设计上的差异,决定了协议各自的定位和适用场景。

需要强调的是,协议和“线路类型”(比如是否走 IPLC 专线、是否中转)是两个完全独立的维度,一个节点可以是“Trojan 协议 + IEPL 专线”,也可以是“Shadowsocks 协议 + 普通线路”,两者可以自由组合,关于线路类型可以参考《IPLC / IEPL / 原生IP / 中转节点基础知识》。

六种协议横向对比

下表基于各协议公开的设计定位做梳理,仅描述架构层面的特点,不代表具体某个机场节点的实际表现:

协议 传输层基础 设计定位 公开的特点
Shadowsocks (SS) TCP / UDP 早期广泛使用的轻量代理协议 实现简单、生态成熟,是很多后续协议设计的参照对象
VMess TCP / UDP(可封装) V2Ray 项目原生协议 支持灵活的传输层封装(如 WebSocket、mKCP 等),配置项相对丰富
VLESS TCP / UDP(可封装) Xray 生态在 VMess 基础上的轻量化设计 协议本身开销更小,通常搭配 TLS 等外层加密一起使用
Trojan 基于 TCP,模拟标准 TLS 面向“伪装成正常网站流量”设计 流量特征上尽量贴近普通 HTTPS 访问,用于降低被特征识别的概率
Hysteria2 基于 QUIC(UDP) 面向弱网、高丢包环境优化 利用 QUIC 的多路复用和拥塞控制机制,理论上对丢包容忍度更高
TUIC 基于 QUIC(UDP) 同样基于 QUIC 的新一代协议 强调连接建立速度和多路复用能力,设计目标与 Hysteria2 有相似之处

分组理解:三个技术脉络

把这六种协议按照技术脉络分组,会更容易记住它们之间的关系。

脉络一:Shadowsocks —— 简洁路线的起点

Shadowsocks 是这几个协议里资历最老的一个,设计初衷就是“足够简单、足够轻量”。它的实现相对简洁,客户端生态非常成熟,几乎所有主流代理客户端都原生支持。也正因为设计简单,它后续启发了不少改进型协议的出现。

脉络二:VMess → VLESS —— V2Ray/Xray 生态的演进

VMess 是 V2Ray 项目的原生协议,设计上支持比较灵活的传输层封装方式,可以搭配 WebSocket、mKCP 等多种传输方式使用,配置的自由度比较高。VLESS 是在 VMess 之后、由 Xray 生态推出的协议,设计目标是精简协议本身的开销,把更多加密和安全性的工作交给外层的 TLS 等机制去承担。可以理解为 VLESS 是对 VMess 设计思路的一次轻量化重构。

脉络三:Trojan —— 伪装路线

Trojan 的设计思路和前面几个不太一样,它的核心目标是让代理流量在外观上尽可能接近普通的 HTTPS 网站访问流量,从而降低被网络中间设备根据流量特征识别出“这是代理流量”的概率。这种“伪装成正常流量”的思路,是 Trojan 区别于其他协议最大的特点。

脉络四:Hysteria2 与 TUIC —— 基于 QUIC 的新生代

Hysteria2 和 TUIC 都构建在 QUIC 协议之上。QUIC 本身是运行在 UDP 之上的一种传输层协议,相比传统的 TCP,QUIC 在设计上原生支持多路复用、更快的连接建立、以及更灵活的拥塞控制策略。Hysteria2 和 TUIC 分别基于这些特性做了各自的协议设计,公开资料显示它们的定位都偏向“更适应丢包率高、网络质量不稳定的环境”,比如移动网络切换频繁、跨国链路波动较大的场景。这属于协议架构层面的设计目标,实际使用中的表现还会受到具体网络环境、服务器部署方式等多种因素影响。

普通用户该怎么理解这些协议选项

对大多数用户来说,不需要精通每种协议的底层实现,但了解以下几点会有帮助:

  • 协议不是越新越“高级”:Shadowsocks 虽然资历最老,但因为简单成熟,至今仍被广泛使用,不存在“新协议一定取代旧协议”的说法;
  • 协议选择要结合自己的网络环境:如果所在网络对 UDP 流量限制较多,基于 QUIC 的 Hysteria2、TUIC 可能会受到影响;如果所在网络对流量特征审查较严格,Trojan 这类伪装类协议的设计初衷会更贴合需求;
  • 同一个机场通常会提供多种协议节点:这是为了让用户能够灵活切换,而不是让你必须精通所有协议才能使用。

小结

Shadowsocks、VMess、VLESS、Trojan、Hysteria2、TUIC 这几种协议各有各的设计脉络:Shadowsocks 走轻量简洁路线,VMess/VLESS 出自同一生态、强调传输封装的灵活性,Trojan 走流量伪装路线,Hysteria2 和 TUIC 则是基于 QUIC 面向不稳定网络设计的新生代协议。了解这些定位差异,有助于你在客户端里看到协议选项时,知道自己大致在选什么,而不是随便点一个了事。