BBR 算法 (Bottleneck Bandwidth and Round-trip Propagation Time) 详解
BBR (Bottleneck Bandwidth and Round-trip Propagation Time) 是由 Google 开发的一种 TCP 拥塞控制算法。与传统的基于丢包的拥塞控制算法(如 Cubic, Reno)不同,BBR 专注于测量网络瓶颈带宽 (Bottleneck Bandwidth) 和往返传播时间 (Round-trip Propagation Time),并以此为基础来控制发送速率,旨在达到高吞吐量和低延迟的最佳平衡。 核心思想:基于带宽和 RTT 测量,而不是丢包,来探知网络的实际容量,从而更精准地控制发送速率,避免不必要的丢包,并充分利用带宽。 一、为什么需要 BBR?传统的 TCP 拥塞控制算法(如 Cubic、Reno)主要依赖于丢包作为网络拥塞的信号。它们的工作原理是: 不断增加发送窗口,直到出现丢包。 丢包发生后,认为网络拥塞,降低发送窗口。 循环往复,形成“锯齿状”的发送速率。 这种基于丢包的机制存在以下问题: “缓冲区膨胀” (Bufferbloat): 现代网络设备通常拥有较大的缓冲区。当网络开始拥塞时,数据包不会...
Hysteria2 详解
Hysteria2 是 Hysteria 协议的下一代版本,它是一种高性能、抗审查的代理协议,专注于在高丢包、高延迟、带宽受限的网络环境下提供稳定快速的连接。Hysteria2 在其前身的基础上进行了多项重大改进,将底层传输协议从 QUIC 升级为基于自定义 UDP 的协议栈,并引入了更灵活的流量控制和更强大的抗审查特性。其核心理念是通过高效的 UDP 传输、TCP BBR 拥塞控制算法和 TLS 加密,在恶劣网络条件下最大化可用带宽,同时保持高度的隐蔽性。 核心思想:在不可靠的 UDP 传输之上构建一个可靠的、高性能的、基于 TCP BBR 算法的传输层,并结合 TLS 加密和流量伪装,以应对高丢包、高延迟和严格审查的网络环境。 一、为什么需要 Hysteria2?传统的代理协议,无论是基于 TCP (如 Shadowsocks TCP, VLESS/Trojan over TCP+TLS) 还是基于 QUIC (如 Hysteria1),在高丢包率、高延迟的网络环境中(例如跨国长距离传输、卫星网络、受到干扰的网络)都可能表现不佳: TCP 协议的固有局限性...
REALITY 协议详解
REALITY 是 Xray-core 团队在 2022 年底推出的一种创新型传输协议,旨在彻底解决传统代理协议在 TLS 流量伪装上面临的主动探测和 TLS 指纹识别问题。REALITY 的核心思想是“无服务器指纹,无 TLS 握手特征,无需伪装域名和证书”,它通过重用目标网站的 TLS 证书和握手,将代理流量伪装成访问真实网站的流量,从而达到前所未有的隐蔽性。 核心思想:服务器不再持有自己的 TLS 证书和域名,而是被动地作为中继,复用一个真实存在且受欢迎的 HTTPS 网站的 TLS 证书和握手,将代理流量伪装成访问该网站的流量,从而达到极高的隐蔽性,并且不再需要自签证书和伪装域名。 一、为什么需要 REALITY?尽管 VLESS+XTLS 和 Trojan 等协议已经提供了很强的隐蔽性,但它们仍面临一些挑战: TLS 指纹识别 (TLS Fingerprinting):即使使用合法证书,客户端(如 Xray 客户端)在进行 TLS 握手时,其行为模式(支持的密码套件、扩展顺序、记录大小等)可能与主流浏览器存在细微差异,形成独特的“TLS 指纹”。审查者可以分析...
TUIC (Trojan-compatible UDP over ICMP/TCP) 协议详解
TUIC (TCP User Datagram Internet Connections) 是一个创新的代理协议,旨在结合 TCP 的稳定性和 UDP 的灵活性及高效率。它基于 QUIC 协议的思想,但在用户空间实现了一套自定义的拥塞控制和可靠传输机制,运行在 UDP 端口上,并利用 TLS 1.3 进行加密。TUIC 的核心目标是提供一个高性能、低延迟、抗审查且在各种网络环境下(尤其是高丢包、高延迟)表现优异的代理解决方案,同时保持极高的隐蔽性。 核心思想:在 UDP 端口上模拟 TCP 的可靠传输和拥塞控制(但拥有更强的灵活性和性能),并融入 QUIC 的多路复用优势,所有流量均通过 TLS 1.3 加密,以实现高性能、高隐蔽性和强抗审查能力。 一、为什么需要 TUIC?在代理协议的发展历程中,TCP 和 UDP 各有优劣: TCP 协议: 优点:可靠传输、有序交付、广泛兼容性、穿越 NAT 能力强。 缺点:队头阻塞 (Head-of-Line Blocking)、拥塞控制在高丢包/高延迟环境下效率低下、握手开销大。 UDP 协议: 优点:无连接、低延...
Trojan协议详解:伪装为 HTTPS 的无状态代理协议
Trojan 是一个开源的代理协议,其核心设计理念是“伪装为最常见的 HTTPS 流量”。它通过模仿 HTTPS 流量的特征,并利用 TLS (Transport Layer Security) 的加密和认证机制,旨在实现几乎无法被识别和阻断的代理连接。Trojan 协议放弃了传统代理协议常见的复杂头部和混淆算法,转而直接将代理数据封装在 TLS 中,并强制要求使用 443 端口和合法 TLS 证书,以最大化其隐蔽性。 核心思想:将代理流量深度伪装为 HTTPS 流量,通过在 443 端口上直接利用 TLS 协议的加密会话来传输代理数据,从而使其在外部看来与正常的 HTTPS 流量几乎无异。 一、Trojan 协议的诞生背景与目标Trojan 协议的出现,是对传统代理协议(如 Shadowsocks、VMess 等)在对抗深度包检测 (DPI) 和主动探测时的局限性的一种回应。主要背景如下: 协议特征识别:许多代理协议,即使经过混淆,仍可能因其特定的协议头部、握手流程、流量模式或不符合 TLS 规范的行为而被识别。 主动探测:审查系统可能会主动连接代理服务器,发送探测包...
XTLS (eXtended TLS) 详解
XTLS (eXtended TLS) 是 Xray-core 提出的一种创新性传输协议,旨在解决传统代理方案中 TLS 双重加密带来的性能损耗,同时保持甚至增强流量的隐蔽性。XTLS 的核心思想是优化 TLS 加密过程,只对必要的数据进行加密,避免重复加密,从而提高代理的性能和降低资源占用。 核心思想:避免 TLS 双重加密,直接复用 TLS 握手后的加密会话,将代理协议数据直接封装在 TLS Payload 中,从而实现高性能且隐蔽的传输。 一、为什么需要 XTLS?在 VLESS+WS+TLS 或 VMess+WS+TLS 等传统代理方案中,数据流通常会经历双重加密: 代理协议自身加密:例如,VMess 协议会对数据进行加密(VLESS 自身不加密,但通常会与其他加密方案结合)。 传输层 TLS 加密:WebSocket 流量再通过 TLS 进行加密,形成 代理协议数据 -> WS 帧 -> TLS 记录 的封装。 这种双重加密虽然增强了安全性,但带来了以下问题: 性能损耗:加密和解密操作是 CPU 密集型的,双重加密会显著增加 CPU 负担,尤其...
VLESS+WS+TLS 代理方式详解
VLESS+WS+TLS 是一种高效、安全且隐蔽的代理组合方案,广泛应用于突破网络审查和实现隐私保护。它结合了 VLESS 协议的轻量和高性能、WebSocket (WS) 的伪装能力以及 TLS 的加密和流量混淆特性。这种组合使得代理流量在网络传输中难以被检测和干扰,提供了良好的稳定性和抗封锁能力。 核心思想:VLESS 负责高效数据传输,WebSocket 将代理流量伪装成正常的网页浏览流量,TLS 提供端到端加密和证书认证,三者结合形成一个难以被识别、安全且高性能的代理通道。 一、各组件详解1.1 VLESS 协议VLESS 是一种由 Xray-core 开发的轻量级代理协议。它旨在提供比 VMess 更简单、更高效的数据传输,并减少协议开销。 特点: 无状态 (Stateless):与 VMess 不同,VLESS 不包含复杂的握手和会话管理,减少了协议开销。 高性能 (High Performance):由于协议简单,数据传输效率高。 透明性 (Transparency):VLESS 可以相对透明地传输数据,不进行额外的加密或混淆(通常与 TLS 或 XTL...
Dokodemo-door 协议详解
Dokodemo-door (任意门) 是 V2Ray (Project V) 中一个特殊的 Inbound (入站) 代理协议。它的设计灵感来源于哆啦A梦的“任意门”,主要作用是将指定端口或 IP/端口范围的所有流量透明地转发到预设的目标地址。与 SOCKS、HTTP 等常见的代理协议不同,Dokodemo-door 不期望客户端发送任何代理协议头信息,而是直接捕获并处理原始的 TCP/UDP 流量。 核心思想:透明地拦截并重定向指定端口/IP 的网络流量,无需客户端配置代理,实现“强制代理”或“透明代理”的效果。 一、Dokodemo-door 的工作原理与用途Dokodemo-door 协议本身并不是一个用于客户端与 V2Ray 服务端通信的“伪装”或“加密”协议(如 VMess、VLESS、Trojan)。它是一个入站协议 (Inbound Protocol),这意味着它在 V2Ray 的服务器端或本地代理端接收流量。 1.1 工作原理当配置了 Dokodemo-door Inbound 时,V2Ray 会监听指定的端口和/...
VLESS协议详解:下一代无状态加密传输协议
VLESS 是一种由 Xray-core 团队设计和实现的代理协议,旨在提供一种简洁、透明且高性能的传输方式。与 VMess 等协议不同,VLESS 自身不包含任何加密或混淆功能,它将这些任务委托给传输层(如 TLS, WebSocket)来完成。VLESS 的核心理念是“不加密,不混淆,只传输”,它极大地减少了协议自身的开销,从而带来了更快的速度和更低的资源占用。 核心思想:将协议开销降到最低,只负责将客户端的流量“透明”地转发给目标服务器,而将加密和混淆的重任完全交给底层的传输协议(如 TLS、WebSocket)。 一、VLESS 协议的诞生背景与目标VLESS 协议的诞生,是对 VMess 协议以及其他一些传统代理协议的反思和改进。它主要为了解决以下问题: 双重加密的性能损耗: 许多代理协议(如 VMess)自身会进行数据加密和混淆。 当这些协议再叠加 TLS(HTTPS)等传输层加密时,就会形成“双重加密”,导致不必要的 CPU 消耗和延迟。 协议特征暴露: 复杂的协议自身往往会产生固定的“指纹”或特征,可能被深度包检测 (DPI) 识别并封锁。 协议越简...
VMess协议详解:V2Ray核心加密代理协议
VMess 是 V2Ray 项目最初开发的一款加密传输协议,也是 V2Ray 的核心协议。它旨在提供一个安全、高效、高匿名性的代理传输方式,以应对复杂的网络审查环境。VMess 协议在设计时考虑了多种加密和混淆方案,并支持多种底层传输协议(如 TCP、WebSocket、mKCP 等),使其在各种网络环境下都具备较强的适应性和抗审查能力。 核心思想:VMess 协议通过复杂的协议头、多重加密机制和灵活的传输配置,实现在客户端和服务器之间建立一个加密且相对隐蔽的通信隧道,以达到绕过网络审查、保护用户隐私的目的。 一、为什么需要 VMess?传统的代理协议(如 SOCKS5、HTTP 代理)或简单的 VPN 协议(如 PPTP)在安全性和抗审查方面存在不足: 缺乏加密:数据明文传输,容易被监听和审查。 协议特征明显:协议固有的特征容易被防火墙识别和封锁。 安全性弱点:认证机制不够完善,易受到攻击。 VMess 协议旨在解决这些问题,提供一个增强安全性、抵抗审查、且高度可配置的代理方案。 二、VMess 的核心特性与机制VMess 协议的设计复杂而精妙,主要包含以下核心特性...
Shadowsocks(SS)详解:轻量级加密代理协议
Shadowsocks (SS) 是一个开源的SOCKS5 代理协议,由 @clowwindy 于 2012 年开发。它专门设计用于穿透网络审查,并保护用户隐私。与传统 VPN 不同,Shadowsocks 采取了轻量级的加密和混淆机制,旨在让代理流量看起来不那么“突出”,从而避免被网络防火墙识别和阻断。其简洁高效的设计概念,使其一度成为最流行的科学上网工具之一。 核心思想:Shadowsocks 通过特定的加密算法对SOCKS5代理流量进行加密,并通常通过在TCP层提供一个“看起来像随机数据”的加密层,来隐藏其代理本质,而非像 VPN 那样建立一个完整的隧道。 一、为什么需要 Shadowsocks?传统的 VPN 协议,如 PPTP、L2TP/IPSec 等,虽然能提供加密和匿名性,但在严格的网络审查环境下,其协议特征容易被防火墙识别和阻断。许多早期 VPN 服务商采用的 PPTP 协议甚至因为安全性弱点而不再被推荐。 Shadowsocks 旨在解决以下问题: 协议特征明显:传统 VPN 协议的握手和数据包结构特征明显,容易被防火墙识别。 性能开销:完整...
SOCKS5协议详解:网络代理的基础与通用协议
SOCKS5 是一种网络传输协议,它允许客户端通过一个“代理服务器”间接地连接到其他服务器。SOCKS 是 “SOCKet Secure” 的缩写,版本 5 是目前最常用的 SOCKS 协议版本。SOCKS5 协议工作在 OSI 模型中的会话层 (第五层),能够处理TCP 和 UDP 两种流量,并且支持多种认证方式。它本身不提供加密功能,主要用于路由流量和隐藏真实 IP 地址,是许多更高级代理协议(如 Shadowsocks、V2Ray 客户端的本地监听)的基础。 核心思想:SOCKS5 是一个通用的网络代理协议,它实现了在客户端和目标服务器之间建立连接的中间转发机制。它不关心应用层数据,只负责转发 TCP 连接和 UDP 数据包,并提供认证功能。 一、为什么需要 SOCKS5 代理?在没有代理的情况下,应用程序直接连接到目标服务器。SOCKS5 代理的出现,主要解决了以下问题: 突破网络限制:当直接访问某个服务受阻时,可以通过 SOCKS5 代理服务器进行中转,绕过本地网络限制。 隐藏真实 IP 地址:客户端的真实 IP 地址对目标服务器隐藏,保护用户隐私。 负载均衡...
