什么是 Hysteria2,以及它为何在糟糕的网络上依然很快
基于 QUIC 的 Hysteria2 协议如何工作、它与基于 TCP 的协议有何不同,以及什么时候它是正确的选择。
Hysteria2 是一种运行在 QUIC 之上的代理协议,也就是运行在 UDP 之上。它由开源项目 apernet 开发。它的主要思路是在普通 TCP 连接力不从心的地方保持高速:移动网络、拥挤的 Wi-Fi,以及会丢包的长距离国际线路。
工作原理
QUIC 是 HTTP/3 所运行的传输层。加密是内置的:握手使用 TLS 1.3,之后的一切都是加密的。Hysteria2 这样使用它:
- 客户端向服务器打开一个 QUIC 连接,并像浏览器一样检查其 TLS 证书。
- 在连接内,客户端发送一个带密码的 HTTP/3 风格请求。没有正确的密码,服务器的表现就像一台普通的网络服务器。
- 认证通过后,你的 TCP 数据流和 UDP 数据包都通过同一个连接传输。
在外部观察者看来,它就像是访问一个带有效证书的网站的 HTTP/3 流量。
为什么它在丢包的网络上更快
TCP 把丢失的数据包视为拥塞的迹象,并会急剧降速。在移动网络上,丢包是由无线链路而不是拥塞造成的,这会导致锯齿状的速度曲线和缓慢的恢复。
Hysteria2 有自己的拥塞控制(Brutal):客户端声明它期望的带宽,服务器则保持这一速率,通过重传而不是降速来弥补丢包。QUIC 还避免了队头阻塞:一个丢失的数据包不会使连接内的其他数据流停滞。
在实际使用中,你会在火车上、地铁里、乡村的 4G 网络以及跨大洲的线路上感受到它。
局限
- UDP 可能受限。 一些企业、酒店和移动网络会封锁或限制 UDP。这时 Hysteria2 无法连接,或者运行缓慢。
- 网络公平性。 激进的拥塞控制对你有利,但在非常弱的链路上可能会挤占其他设备。
- 并非对每种过滤都不可见。 一些过滤系统会对发往未知地址的 QUIC 流量单独进行检查。
Colitu 如何使用它
在每台 Colitu 服务器上,Hysteria2 都使用由 ACME 签发的证书,与其他协议使用同一个域名。在不稳定的网络上,应用会首先尝试它。如果 UDP 被封锁或连接失败,应用会转向 TCP 协议,即 VLESS Reality 或 Trojan,无需你做任何操作。
你不需要配置任何东西:选择协议是应用的工作。服务器页面会显示每台服务器支持哪些协议,安全页面则提供技术细节。
简而言之
| Hysteria2 | |
|---|---|
| 传输层 | QUIC (UDP) |
| 加密 | TLS 1.3 |
| 优势 | 丢包情况下仍有速度 |
| 弱点 | 限制 UDP 的网络 |
| 最适合 | 移动数据、Wi-Fi、长距离线路 |