Hysteria2 协议是什么:基于 QUIC 为何在高丢包网络更快、适合哪些场景

介绍 Hysteria2 的 QUIC/UDP 传输与拥塞控制思路,说明它在丢包、高延迟链路上的表现,以及 UDP 受限网络中可能遇到的问题。

本文速览

Hysteria2 基于 QUIC,通过 UDP 承载连接;它在部分高延迟、随机丢包链路上可能取得更高吞吐,但前提是 UDP 可达、带宽设置合理且服务端有足够余量。本文面向已经拥有自己的服务商与订阅、准备在 Shadowrocket 中使用 Hysteria2 的用户,按协议原理、适用场景、连接验证与故障定位说明操作,不把协议名称当成速度保证。

Hysteria2、QUIC 与 UDP 分别负责什么

在 Shadowrocket(小火箭)中,Hysteria2 是一种可选连接协议。它使用 QUIC 作为底层传输,而 QUIC 通常通过 UDP 发送数据包。因此,访问目标网站最终使用 HTTPS,并不代表设备到 Hysteria2 服务端这一段使用 TCP;排查时需要分清代理传输与目标网站连接。

UDP 本身不保证数据按顺序到达,也不负责重传。QUIC 在 UDP 之上实现加密握手、可靠流、丢包恢复和流量控制。Hysteria2 再利用这些能力承载代理业务,并结合自身的认证、转发与拥塞控制设计。把它简单理解为“UDP 不重传,所以更快”是不准确的。

UDP
设备到 Hysteria2 服务端的底层传输
TLS 1.3
QUIC 使用的加密握手机制
443/UDP
可用的服务端监听示例,并非固定端口

端口必须与自己的服务端资料一致。例如,服务端配置为 443/UDP,就需要该 UDP 端口可达;仅确认 443/TCP 能连接,不能证明 Hysteria2 可以工作。端口号相同也不代表协议相同,普通 HTTPS 服务不能直接作为 Hysteria2 服务端使用。

高丢包网络为何可能更快:先区分丢包原因

传统的丢包型拥塞控制通常把丢包视为网络拥塞信号,降低发送速率,以减轻队列压力。但无线干扰、链路质量波动等随机丢包,不一定意味着带宽已经用满。在往返时延较高的链路上,降低速率后再逐步恢复,可能使可用带宽长期得不到充分利用。

Hysteria2 的带宽配置与拥塞控制选择会影响这种表现。在使用带宽估计驱动的 Brutal 模式时,其发送策略并非简单地每遇丢包就按传统方式退让,而会结合设定带宽与丢包情况工作。这能改善部分随机丢包链路的吞吐,但不能凭空增加物理带宽;实际采用的控制方式还取决于客户端实现、参数与服务端设置。

判断:先验证 UDP,再观察负载时延

若连接可以建立,但一开始传输大文件网页就明显变慢,应先降低带宽设定并重新测试;若连握手都无法完成,应优先检查 UDP 可达性,而不是继续提高带宽数值。

QUIC 的多流机制也可以减少不同可靠流之间的传输层队头阻塞:某条流缺失数据时,其他流不必全部等待同一条 TCP 字节流恢复。但这些流仍共享路径与拥塞状态,所以不能据此推导出所有网页都会更快,或高延迟会被消除。

哪些网络值得测试,哪些情况应先排除

协议选择应围绕当前网络条件。保持服务端位置、测试目标、时间段和 Global Routing 姿态一致,再观察连接成功率与持续传输表现。不能用一个服务端的 Hysteria2 与另一个位置的其他协议直接对比,然后把所有差异归因于 QUIC。

网络场景可能表现先做什么
高延迟且有随机丢包持续传输可能更充分利用带宽确认 UDP 可达,记录空闲与负载时延
稳定、低丢包的 Wi-Fi未必有明显收益比较相同目标的加载耗时与稳定性
UDP 被限制的网络握手超时或连接反复中断切换 Wi-Fi 与蜂窝网络交叉验证
上行已被其他任务占满请求发出变慢,交互卡顿暂停后台上传,再做相同测试

蜂窝网络中出现波动,也可能来自基站负载和信号变化。一次测速不足以证明协议优势;建议在相近条件下重复三次,并分别记录连接是否成功、页面是否完整加载、大文件是否持续传输。本文不提供固定提升百分比,因为这些数据需要具体链路的实际测量支持。

在 Shadowrocket 中验证 Hysteria2 连接

以下步骤以用户已有自己的服务商与订阅为前提。先使用提供方给出的完整参数或已导入条目,避免在测试时同时修改服务器地址、认证信息和带宽值。Hysteria 与 Hysteria2 不能仅靠改名相互转换;应确认条目对应 Hysteria2。

  1. 核对条目

    进入 Home,打开已有服务器条目的编辑页面,核对 Type 为 Hysteria2,并对照自己的配置资料检查服务器地址、端口与认证信息;如有 SNI 或混淆参数,也需保持一致。

  2. 选中服务器

    回到 Home,点选该服务器,确认选中标记落在此次要测试的条目上。订阅内存在多个条目时,先记录选中的名称,避免后续结果来自另一条连接。

  3. 固定路由

    打开 Home → Global Routing,临时选 Proxy 进行对照测试,使测试请求按代理姿态处理。不要在一次测试过程中来回切换 Config 与 Proxy。

  4. 建立连接

    打开 Home 的连接开关,首次使用时按系统提示允许添加 VPN 配置,再执行 Home → Connectivity Test。若失败,先排查握手、认证和 UDP 路径。

  5. 验证业务

    打开同一个网页并进行一次持续传输,记录是否超时、是否中断以及负载时的交互变化。完成后回到 Home → Global Routing,恢复日常使用的 Config 或原有姿态。

Connectivity Test 是连通性线索,不是完整的吞吐测试。测试成功只能说明相应探测在当时完成,不能证明所有域名、UDP 业务或大流量传输都可用。若探测成功但特定网页失败,应继续检查规则、DNS 与目标站本身。

用 Global Routing 区分协议问题与规则问题

Hysteria2 决定代理连接如何传输,Global Routing 决定请求如何选择路径,两者不在同一层。Config 下的一条 DOMAIN-SUFFIX,example.com,DIRECT 会让匹配请求直接连接;即使当前选中了 Hysteria2 服务器,也不代表这条请求经过它。

日常使用:Config

推荐

按当前配置的规则选择策略,结果可能为 DIRECT、REJECT 或代理策略。需要确认测试目标命中了什么规则,才能解释其连接表现。

适合:已有规则配置、需要按目标分流的日常使用

临时排查:Proxy

以代理姿态处理流量,用于减少规则分流对测试的干扰。若 Proxy 能打开目标、Config 不能,应重点查看规则匹配与所选策略。

适合:短时确认代理路径、隔离 Config 规则影响

直连基线:Direct

直接连接目标,不用于验证 Hysteria2 隧道性能。可以记录目标在本地网络中的直连表现,作为排查目标站故障的参考。

适合:核对本地网络和目标站是否可直接访问

Global Routing 还包括 Scene,可根据已有 Scene 设置选择行为,不宜在协议基准测试中引入额外场景切换。排查规则时,可进一步检查 DOMAIN-SUFFIX、IP-CIDR、GEOIP 的顺序与最终 FINAL 策略;规则语义可在规则手册中继续核对。

连接超时、速度不稳与带宽参数的常见问题

同一个条目在蜂窝可用,Wi-Fi 一直超时?

保持服务器与 Global Routing 不变,分别在两种网络执行 Home → Connectivity Test。若差异能够重复出现,优先检查 Wi-Fi 所在网络的 UDP 限制、路由器策略及登录认证状态;这一现象不能单独证明认证信息有误。

带宽数值是不是填得越大越快?

不是。带宽设置参与传输控制,不是购买带宽,也不是解除限速的开关。先核对字段单位,区分 Mbps 与 MB/s,二者相差 8 倍;再依据当前可持续使用的容量保守设置,每次只改一个方向,观察负载时延与中断情况。

换网络后失败,关开连接才恢复?

先在 Home 关闭再打开连接开关,重新执行 Connectivity Test。QUIC 具备连接迁移相关能力,但实际恢复仍受实现、网络地址变化与超时影响。再查看 Settings → On Demand 是否启用;它管理按需连接,不负责让被限制的 UDP 路径变得可达。

出现证书错误,可以跳过验证吗?

应先核对设备时间、服务器域名、SNI 与服务端证书是否对应,并向自己的配置提供方确认。跳过证书验证会削弱身份校验,不应作为常规提速或修复步骤;证书错误与拥塞控制是两类问题。

若仍无法确定原因,整理“使用的网络、Type、服务端端口、Global Routing 姿态、失败发生在连接建立还是持续传输阶段”这几项信息。分享排查记录前删除密码、订阅 token 与完整订阅地址,保留足以复现问题的现象即可。

App Store 下载