第一幕 · 长肥网络之殇:传统 TCP 的吞吐雪崩
在跨境网络通信中,物理距离带来的高往返时延(RTT 常在 150ms 到 300ms 以上)与国际出口节点的拥塞丢包,共同构成了所谓的“长肥网络”(Long Fat Network)。在这一环境下,沿用了几十年的传统 TCP 协议暴露出致命的结构性缺陷:TCP 将任何数据包丢失一律视为网络拥塞的信号,一旦发生丢包,发送端便会立刻触发乘法减小(Multiplicative Decrease),将拥塞窗口削减一半甚至重置为初始大小。
这种在传统局域网中表现良好的“公平”机制,在恶劣的跨国翻墙场景下却演化为一场灾难。许多用户的海外 VPS 物理带宽高达 1Gbps,但由于运营商在高峰期对国际 UDP/TCP 施加高达 10% 到 20% 的人为 QoS 随机丢包,传统基于 TCP 的代理(无论是 Shadowsocks、VMess 还是 VLESS)在客户端测速时往往只能跑出区区几兆的惨淡带宽。此外,TCP 单一数据流中单个丢包造成的队头阻塞(Head-of-Line Blocking)会让整个连接的所有应用请求陷入停顿,造成极差的网页加载与流媒体缓冲体验。[2]
第二幕 · 暴力美学:跳出 TCP 拥抱定制 QUIC
面对这一困扰中文网民数年之久的物理级痛点,开发者 tobyxdd 拒绝在已经缝缝补补的 TCP 框架内打转,而是将目光投向了由 IETF 标准化推进的新一代传输层协议——基于 UDP 的 QUIC。
2021 年 3 月 25 日,tobyxdd 与团队在 GitHub 正式开源 Hysteria 初代,并在 README 中清晰定调:“Hysteria is a feature-packed proxy & relay utility optimized for lossy and unstable networks, powered by a customized QUIC protocol.” 项目利用 QUIC 协议天生支持连接多路复用且无队头阻塞的卓越特性,将上层代理的并发请求拆解为相互独立的 QUIC 流。
更具颠覆性的是,2021 年 12 月 10 日,tobyxdd 在发布 Brutal 算法设计原理时一针见血地指出:“标准 TCP 拥塞控制在恶劣高丢包网络下表现太保守了。Hysteria 的 Brutal 算法就是要无视丢包,把丢包当成常态,按设定的目标速率坚定发包,榨干每一兆可用的物理带宽。”Brutal 彻底颠覆了传统算法“丢包就减速”的被动逻辑,采用主动速率控制模型:用户只需根据自身物理下行带宽设定目标速率,Brutal 便会以恒定速率持续发包与快速重传。无数用户在高峰期原本仅有 2Mbps 的卡顿网络,在使用 Hysteria 后瞬间飙升至数百度光纤的峰值速度,“歇斯底里”名副其实地成为了弱网救星。[1][3]
第三幕 · 从 Hysteria 到 Hysteria 2:工业化重构与抗封锁
一代 Hysteria 的成功验证了自适应暴力发包模型在跨境长肥网络中的无匹威力,但也伴随着部分协议特征易遭运营商针对性阻断的挑战。tobyxdd 没有停留在初代辉煌中,而是于 2023 年启动了历时一年的推倒重来式架构重塑。
2023 年 8 月 28 日,tobyxdd 在 Hysteria 2 发布说明中写下重构宣言:“Hysteria 2 并不是在 v1 上的小修小补,而是一次推倒重来的彻底重构。我们重新设计了握手协议、引入了端口跳跃(Port Hopping),只为了在更严苛的网络封锁中保持坚不可摧的极速。”Hysteria 2 彻底废弃了初代容易被特征匹配的部分,引入全新的自研轻量级握手协议与 Salamander 流量混淆机制;将 Brutal 算法深度内置为自适应探测引擎;更原生支持了端口跳跃功能,让客户端在数百个 UDP 端口之间动态无缝切换,彻底粉碎了运营商针对单一端口长时间大流量发包的 QoS 限速封杀。[1][2]