tech/protocol · 集群 A · 主流协议原理 · 4/6

Hysteria2 协议解析:基于 QUIC 的 UDP 传输与拥塞控制原理

发布时间 待核实核实日期 待核实最近更新 待核实测试状态 Not Tested
Answer First · 核心结论

Hysteria2 是基于 QUIC(UDP)的代理协议,认证通过 HTTP/3 请求完成,加密由 QUIC 内置的 TLS 1.3 提供。它的特点是可配置的拥塞控制,在丢包较多的链路上可能比基于 TCP 的协议更有韧性;但它完全依赖 UDP,所在网络限制 UDP 时可能无法使用,实际表现需自行测试。

为什么会有基于 UDP 的代理协议

基于 UDP 的代理协议,是为了解决 TCP 在长距离、高丢包链路上「速度上不去」的问题而出现的。TCP 的拥塞控制把丢包视为网络拥塞的信号,一旦丢包就主动降低发送速率;在跨境链路上,丢包有时并非来自拥塞,而是来自链路本身的质量问题,这时 TCP 的退让反而让带宽无法被充分利用。

QUIC 是一个运行在 UDP 之上的传输协议,它把可靠传输、拥塞控制和加密都放在用户态实现,也是 HTTP/3 的基础。Hysteria2 就是建立在 QUIC 之上的代理协议,它保留了 QUIC 的加密与多路复用,同时在拥塞控制上提供了不同于标准 TCP 的选择。

┌──────────────────────────────────┐
│ 应用数据(TCP 流 / UDP 数据报)    │
├──────────────────────────────────┤
│ Hysteria2 代理层                  │  ← 转发请求与 UDP 消息
├──────────────────────────────────┤
│ HTTP/3(仅用于认证阶段)          │  ← 认证请求
├──────────────────────────────────┤
│ QUIC(内置 TLS 1.3 + 拥塞控制)   │  ← 加密、可靠传输
├──────────────────────────────────┤
│ UDP                               │
└──────────────────────────────────┘

认证流程:借用 HTTP/3 的形态

Hysteria2 的认证是在 QUIC 连接上发送一个 HTTP/3 请求完成的。客户端先完成 QUIC 握手(其中包括 TLS 1.3 握手与证书校验),然后发送一个携带认证信息的 HTTP/3 请求;服务端校验通过后返回特定的成功状态,之后这条 QUIC 连接就进入代理模式。

如果认证不通过,服务端可以像一个普通的 HTTP/3 网站那样响应,这与 Trojan 协议的回落机制 在思路上类似:让未授权访问看到的是普通的 Web 服务。需要说明的是,这类设计只是降低某一类可判断性,不能保证协议不被识别,相关原理可阅读 协议识别的原理。

阶段 内容 失败常见原因
QUIC 握手 UDP 上完成 TLS 1.3 握手 UDP 不通、证书校验失败
HTTP/3 认证 发送认证请求 密码错误、订阅过期
代理转发 TCP 请求走 QUIC 流,UDP 走数据报 线路质量、节点负载

拥塞控制:Brutal 与 BBR

拥塞控制是 Hysteria2 最常被讨论的特性。它提供两类行为:一类通常被称为 Brutal,客户端声明自己的大致带宽,协议按这个速率发送,不会因为丢包而主动降速,而是通过重传弥补丢失;另一类是在未声明带宽时使用 BBR 等常规拥塞控制算法。

可以这样理解两者的差异:

模式 行为 适合理解为 注意点
Brutal 按声明带宽发送,丢包时不主动退让 在丢包较多但带宽充足的链路上争取吞吐 带宽声明过高会造成大量重传,反而变差
BBR 等 根据测得的带宽与延迟动态调整 通用场景下的平衡选择 在高丢包链路上可能不如 Brutal 激进

对普通用户来说,最重要的一点是:如果客户端要求填写上下行带宽,应填写接近自己真实网络带宽的值,而不是越大越好。声明值远高于实际带宽时,发送端会持续以超出链路能力的速率发包,丢包与重传随之增加,体验反而下降。具体数值没有通用答案,本站也未进行任何实测。

UDP 承载的优势与限制

UDP 承载让 Hysteria2 在部分场景中有天然优势,也带来了明确的使用限制。

优势方面:其一,QUIC 的多路复用不存在 TCP 那样的队头阻塞,一个流丢包不会拖慢其他流;其二,代理 UDP 应用(语音、游戏、部分实时应用)时可以以数据报方式转发,而不必封装进 TCP 流;其三,QUIC 支持连接迁移,网络切换(例如 Wi-Fi 换到移动数据)时理论上更平滑,实际效果取决于实现。

限制方面:首先,部分家庭宽带、企业网络、校园网或公共 Wi-Fi 会对 UDP 限速甚至丢弃,此时 QUIC 握手无法完成,Hysteria2 节点会完全不可用;其次,部分运营商在高峰期对大流量 UDP 的处理策略与 TCP 不同,体感波动可能更明显;最后,在激进拥塞控制下,Hysteria2 对共享链路的「友好度」较低,这也是部分服务商限制带宽声明上限的原因之一。

TCP 与 UDP 的基础差异,可参考 网络原理与排障 专题。

客户端兼容与判断方法

Hysteria2 需要较新的客户端内核支持,原版 Clash 内核不支持,mihomo、sing-box 以及 Hysteria 官方客户端支持,部分 iOS 客户端也已加入支持。导入订阅后看不到 Hysteria2 节点,通常是内核不支持;能看到但连不上,则要优先怀疑 UDP 是否通畅。

Hysteria2 节点不可用
├─ 列表中没有节点 → 客户端内核不支持,升级或更换客户端
├─ 所有网络下都连不上 → 检查订阅是否更新、证书是否被校验失败
└─ 只在某些网络下连不上 → 多为该网络限制 UDP,
                           改用基于 TCP 的节点(如 VLESS、Trojan)

本站品牌库中,没有品牌资料标注 Hysteria2;资料标注协议的品牌均为 VLESS,另有五个品牌协议待核实,本站不推测其是否提供 Hysteria2 节点。如果你明确需要基于 UDP 的协议,应在购买前确认服务商是否提供,并在自己的网络环境下测试。

如何客观评估 Hysteria2 是否适合你

评估 Hysteria2 是否适合自己,最可靠的方法是在同一时间段、同一网络下与基于 TCP 的节点做对照,而不是看网上的单次测速截图。网上的测速结果受测试者所在地区、运营商、时段与节点负载影响,几乎无法迁移到你自己的环境。

一个相对规范的对照方法是:选择同一地区的 Hysteria2 节点与 TCP 类节点,在日间与晚高峰各测试若干次,记录延迟、下载速度与网页加载的主观体验,并留意是否出现断流。如果两者差异不明显,选择兼容性更好、更不挑网络的那一个往往更省心;如果 Hysteria2 在晚高峰明显更平稳,再考虑把它作为主力。测速方法与指标解读可参考 测速与稳定 专题。

还要注意移动设备的耗电与发热:QUIC 在用户态实现加密与拥塞控制,部分设备上的 CPU 占用可能高于 TCP 类协议,长时间使用时值得观察。

小结

Hysteria2 的价值在于把代理放到了 QUIC 之上,用可配置的拥塞控制争取高丢包链路上的吞吐,同时天然适合转发 UDP。它的前提是 UDP 通畅,代价是对网络环境更挑剔。把它当成 TCP 类协议的补充,而不是替代,是比较稳妥的理解方式。

协议选择的完整思路见 如何选择代理协议;想查看各品牌的协议资料,可以前往 机场品牌库 或使用 对比工具。

常见问题

Hysteria2 一定比 TCP 协议快吗?

不一定。它在高丢包链路上可能更有优势,但在 UDP 被限速或丢弃的网络中可能更差甚至无法连接,本站未实测任何品牌的 Hysteria2 表现。

Hysteria2 里的带宽参数是什么意思?

在 Brutal 拥塞控制模式下,客户端需要声明大致的上下行带宽,协议按此速率发送而不因丢包主动降速;不声明时可回退到 BBR 等常规拥塞控制。

为什么 Hysteria2 在某些 Wi-Fi 下连不上?

部分公共网络、企业网络或运营商环境对 UDP 不友好,QUIC 握手无法完成时就会连接失败,这时基于 TCP 的协议通常更可靠。

Hysteria2 需要证书吗?

需要。QUIC 内置 TLS 1.3,服务端要提供证书,客户端会进行校验,与其他 TLS 类协议一样不建议随意关闭校验。

信息来源与更新时间

信息来源
品牌清单资料(品牌公开信息整理)
测试范围
本站未进行测速与解锁实测,所有能力描述均为资料声明或未测试状态。
发布时间
待核实
核实日期
待核实
最近更新
待核实

字段含义与数据状态见 字段说明;核查进度见 品牌动态与核查日志。