代理协议

代理协议概览(SOCKS5/HTTP/Shadowsocks/VMess等)

#tech / network #type / concept #status / growing

代理协议

概览(Overview)

代理协议 (Proxy Protocol)允许一台代理服务器代表客户端向目标服务器发送请求,并将目标服务器的响应回传给客户端。 它的核心作用是:

  • 充当中介: 代理服务器位于客户端和目标服务器之间,所有流量都先经过代理服务器。
  • 隐藏真实身份(匿名性): 目标服务器看到的是代理服务器的 IP 地址,而不是客户端的真实 IP 地址,从而保护了客户端的隐私。
  • 安全与控制: 可以在代理服务器上实施安全策略、内容过滤或访问控制。
  • 缓存: 代理服务器可以缓存目标服务器的响应(如网页、图片),当客户端再次请求相同资源时,可以直接从代理服务器获取,提高访问速度并节省带宽。

代理协议 (Proxy Protocol): 客户端与代理服务器之间通信遵循的规范。常见的有:

  • HTTP 代理: 最早的代理,通常只用于代理 HTTP/HTTPS 流量,无法代理通用 TCP/UDP 流量。
  • SOCKS (Socket Secure): 更通用的代理协议,能代理任何类型的 TCP/UDP 连接,版本 SOCKS5 是主流。
  • Shadowsocks/V2Ray/Trojan 等: 专为混淆和加密设计的新一代代理协议,旨在更好地对抗深度包检测(DPI)。

总而言之,在网络代理中,需要使用代理协议来加密客户端和代理服务器之间的信息传输。 然后,代理协议有多种不同的规范,用于适应变化的环境。

基础概念

1. VMess 协议

起源与背景

  • VMess 是 V2Ray 的原生协议,专门设计用于 V2Ray 项目,起源于互联网用户需求的匿名性与加密通信。V2Ray 由 V2Fly 团队开发,旨在克服当时代理工具(如 Shadowsocks)面临的一些局限性,尤其是对抗深度包检测(DPI)和封锁。
  • VMess 的出现,尤其是对比 Shadowsocks,提供了更强的抗封锁能力和更高的安全性。VMess 采用 基于 UUID 的身份认证内置加密,使得其在保持较高性能的同时,还能确保流量的隐私性和安全性。

出现原因

  • 抗封锁需求:随着越来越多国家和地区对互联网进行审查,特别是针对 VPN 和代理服务,Shadowsocks 等协议越来越容易被 DPI 检测到。VMess 协议的设计加入了更强的加密和防封锁措施,使其在抵抗审查和检测方面具有明显优势。
  • 灵活性与扩展性:VMess 允许使用多种传输方式(如 TCP、mKCP、WebSocket、HTTP/2、gRPC 等),为不同的网络环境提供优化解决方案。它也支持 多路复用,提高了流量利用率。

发展

  • V2Ray 项目(包括 VMess)从2015年开始出现,并迅速发展成一个全面的代理工具,尤其受到需要翻墙的用户群体的欢迎。它为大多数人提供了不仅仅是翻墙工具的功能,还涉及网络安全、隐私保护等领域。

2. VLESS 协议

起源与背景

  • VLESS 协议是 V2Ray 项目中的一个轻量级协议,旨在解决 VMess 的一些局限性。特别是在性能和扩展性方面,VLESS 的设计目标是 去掉内置的加密功能,将加密任务交给 TLS 等其他传输层加密协议,从而提高性能和降低协议开销。

出现原因

  • 性能需求:VMess 协议虽然安全性较高,但其内置的加密机制(基于混合的算法和加密)会带来一定的性能消耗。对于一些用户或服务器,尤其是对带宽、延迟敏感的场景,VLESS 的出现正是为了解决这一问题。
  • 简化设计:VLESS 去除了内置的加密和认证机制,变得更加简洁轻量,尤其适合高性能环境和需要大规模扩展的场景。它更依赖 TLS 来提供加密和身份认证。

发展

  • VLESS 的设计理念更侧重于 高效、低开销,它与 VMess 相比没有了内置的加密,尤其适用于在高性能环境下的应用,广泛用于 流量大、延迟要求低 的场景。

3. Shadowsocks 协议

起源与背景

  • Shadowsocks 是一个起源于中国的开源代理协议,最初由一个名为 clowwindy 的开发者在2012年发布。Shadowsocks 最初是为了帮助中国大陆用户突破 防火长城(GFW),访问被封锁的外部互联网资源而开发的。随着中国网络封锁技术的不断升级,Shadowsocks 成为最早被广泛使用的 加密代理工具

出现原因

  • 防火墙绕过:Shadowsocks 的出现是针对当时互联网审查的直接回应。中国大陆对 VPN 和其他代理服务进行了严格封锁,Shadowsocks 利用 简单的 SOCKS5 代理 和多种加密方式,很快成为 翻墙工具 的主力。
  • 轻量化设计:相比其他代理协议(如 PPTP、OpenVPN 等),Shadowsocks 设计简单、性能高效、易于部署和使用,且通过加密流量可以有效避免被检测到。

发展

  • Shadowsocks 的简单性和高效性使其成为全球范围内最受欢迎的代理协议之一。它已经有了多个实现版本,包括官方实现和第三方实现,广泛应用于各种翻墙工具中。

4. Trojan 协议

起源与背景

  • Trojan 协议是一个 HTTPS 代理,由开发者 Trojan-Qt5 团队设计。其目的是解决现有代理协议(如 Shadowsocks 和 V2Ray)的 易被识别和封锁 的问题。Trojan 协议通过将流量伪装成正常的 HTTPS 流量,从而提高了协议的隐蔽性和抗封锁能力。

出现原因

  • 对抗深度包检测(DPI):随着大部分代理协议(包括 Shadowsocks 和 VMess)越来越容易被深度包检测(DPI)系统识别,Trojan 通过将数据伪装为 HTTPS 流量,有效避开了许多审查技术。
  • 高隐蔽性与简单性:Trojan 协议不需要复杂的加密和认证机制,它依赖 共享密码 进行简单的身份验证,且与普通的 HTTPS 流量几乎没有区别,从而减少了被封锁的风险。

发展

  • Trojan 在安全性和隐蔽性上做得非常到位,它目前被广泛应用于需要 高隐蔽性和抗封锁 的网络环境中,如翻墙或反审查工具。

5. Xray 和 Clash(衍生协议)

起源与背景

  • Xray 是一个基于 V2Ray 的分支,针对性能进行了优化,并增加了一些新的特性。Xray 的目的是为 V2Ray 提供更强的稳定性和性能,特别是在高延迟、低带宽的环境下。
  • Clash 是一个基于 V2Ray 核心的客户端工具,它与 V2Ray 一样支持多个代理协议,但它有一个更加直观的图形界面,便于用户管理和配置。

出现原因

  • 性能与稳定性需求:Xray 致力于提供更高效的代理性能和更加稳定的运行体验,解决了 V2Ray 在某些网络环境下的性能瓶颈问题。
  • 用户体验:Clash 的出现主要是为了简化用户操作,通过易于使用的 GUI 界面,使得 V2Ray 的配置更加简单易懂。

创建于 2025/1/1 更新于 2026/5/27