1. 传统 TCP 拥塞控制在跨境弱网下的致命死穴
要理解 Hysteria 2 的逆天性能,必须先明白标准 TCP 协议在跨境公网上的困境:
- **TCP 的谦让本性(Cubic 算法)**:诞生于半个世纪前,其设计核心原则是「网络拥塞时必须主动退避让行」。一旦检测到哪怕 1% 的丢包,TCP 算法会立即认为骨干网发生了严重塞车,强制将发送窗口(Congestion Window)减半甚至清零;
- **现代公网骨干的随机丢包**:在晚高峰或跨越太平洋的海底光缆上,丢包往往不是因为链路真塞死了,而是运营商硬件设备的随机 RED 丢包。
- **恶果**:即使你的家庭宽带是 1000M,服务器也是 10Gbps 口子,一个 5% 的偶发丢包就能让 TCP 下载速度瞬间从 100MB/s 暴跌至 2MB/s,并长时间处于龟速爬坡状态!
💡 Hysteria 2 诞生初衷就是为了向不讲道理的公网丢包发起降维反击。
2. Brutal 暴力单边拥塞控制算法数学模型
Hysteria 2 抛弃了 TCP,完全构建在无连接的 **UDP(魔改版 QUIC)** 之上,其独创的 **Brutal 算法** 逻辑极其简单霸道:
### 算法工作逻辑:
1. 客户端在建立连接时,向服务器声明自己的下行带宽(如 `download: 300mbps`);
2. 服务器**完全忽略任何网络丢包信号**!只要网络还能收到心跳,服务器就以恒定 300Mbps 的速率源源不断地向客户端推送数据包;
3. 遇到丢包怎么办?客户端在应用层发现丢包后,通过快速重传指令让服务器直接将丢失的特定分片补发过来;
4. **测试结论**:在 30% 丢包的网络下,传统 TCP 速度归零,而 Hysteria 2 仅仅损失了 30% 的重传开销,依然能稳定保持在 210Mbps 的极高有效吞吐!
yaml
# Mihomo 中配置 Hysteria 2 节点标准范例
proxies:
- name: "美国 01 | Hysteria 2 暴力加速"
type: hysteria2
server: us.clashwiki.example.com
port: 443
ports: 20000-50000 # 开启端口跳跃区间
up: "50 Mbps" # 本地上行物理带宽
down: "500 Mbps" # 本地下行物理带宽
password: "YourSecurePassword2026"
sni: www.bing.com
skip-cert-verify: false 3. 端口跳跃(Port Hopping)破解运营商 UDP 限速
由于 Hysteria 2 的流量全是高吞吐 UDP,国内部分省份的电信/联通运营商部署了针对 UDP 的严厉 QoS 策略:
- 当检测到某个固定 IP 的固定 UDP 端口在连续 2 分钟内持续跑满 100Mbps 以上时,运营商路由器会直接将该端口掐断或限速至 128Kbps。
### 端口跳跃解决方案:
- 节点配置中声明端口范围:`ports: 20000-50000`;
- 客户端在后台与服务端保持一套伪随机跳跃时钟,每隔几十秒自动将 UDP 发送端口漂移至新的随机端口;
- 运营商的 QoS 计数器被频繁重置,完全无法建立持续的限速规则,从而实现全天候极速无阻。
💡 自建 Hysteria 2 服务端时,需在 Linux 上通过 iptables 将端口区间的 UDP 流量重定向至服务监听端口。
4. Hysteria 2 的适用边界与选型忠告
尽管 Hysteria 2 在弱网下表现神勇,但网络工程师必须清醒认识到其物理边界:
- **它无法降低物理延迟**:上海到美西的物理光缆延迟恒为 130ms,协议无法跨越光速;
- **极度消耗发包算力**:高丢包下的暴力重传会导致路由器 CPU 占用与流量消耗略有增加(约多消耗 10%~20% 流量用于重传冗余);
- **专线网络无需使用**:若购买的是 IEPL 物理专线(丢包率恒为 0%),使用 Shadowsocks 延迟更低更平稳,无需大炮打蚊子使用 Hysteria 2。
❓ 常见疑问与排查步骤
Hysteria 2 的 down 参数填得越大越好吗?
严禁乱填!down 必须严格如实填写你的本地宽带实际物理下载速度。如果你的宽带只有 100M 却填写了 1000M,服务器会以 1000M 疯狂发包,瞬间打满本地光猫缓存引发严重的 Bufferbloat 拥塞排队,网速反而会极剧变卡。
公司内网封锁了所有 UDP 还能用 Hysteria 2 吗?
不能。Hysteria 2 纯粹基于 UDP 传输,如果局域网防火墙阻断了所有外部 UDP 出站,连接将完全超时,此时必须切换回基于 TCP 的 VLESS 或 Trojan 节点。
老版原版 Clash 能连 Hysteria 2 节点吗?
原版 Clash 核心永久不支持该协议。必须使用内置 Mihomo(Clash Meta)内核的现代客户端。