Colitu VPN
指南

UDP 被封锁:这对你的 VPN 和 Hysteria2 意味着什么

为什么有些网络会封锁 UDP 和 QUIC、这对 Hysteria2 有什么影响,以及 Colitu 的 Adaptive Connect 如何无需你的操作就回退到 TCP 传输。

互联网上的大部分流量运行在两种传输协议之上。TCP 提供可靠、有序的数据流:网页、下载、电子邮件。UDP 发送相互独立的数据报,不内置送达保证:DNS、语音和视频通话、在线游戏,并且越来越多地用于网页本身,因为 HTTP/3 运行在 QUIC 之上,而 QUIC 运行在 UDP 之上。基于 UDP 构建的 VPN 协议,在它所遇到的每个网络上都会承受 UDP 的命运。

为什么有些网络会封锁或限制 UDP

UDP 并不是因为“不好”才被封锁。网络限制它有若干现实的原因:

  • 简单的防火墙策略。 许多企业、学校和酒店的防火墙只允许基于 TCP 的网页流量加上 DNS,其余一律丢弃。
  • 可见性较低。 QUIC 几乎对所有包头都进行了加密。检查或优化流量的设备看到的内容比 TCP 少得多,因此一些运营方会封锁 QUIC,因为他们知道浏览器会回退到 TCP。
  • 防止滥用。 UDP 可能被滥用于放大攻击,所以有些网络会对 UDP 限速,或只允许其访问知名服务。
  • 过滤。 一些过滤系统会对发往陌生目的地的 QUIC 区别对待,将其减速或丢弃。
  • NAT 行为。 家用路由器和运营商级 NAT 只会在有限的时间内保留 UDP 映射;空闲的 UDP 流可能会丢失映射并停止工作。

QUIC 标准已预料到这一点:RFC 9308 告知应用程序,UDP 可能被封锁,因此它们需要备用方案。

如何识别 UDP 问题

  • VPN 在一个网络上能连接,但在另一个网络上耗时长得多,或者失败。
  • 即使不使用 VPN,在该网络上视频通话也会卡顿或中断。
  • 问题出现在特定类型的网络上:办公室 Wi-Fi、酒店,或某个特定的移动运营商。

在这样的网络上首次连接较慢,往往是回退机制在起作用的可见迹象:应用先尝试了 UDP 传输,发现没有流量通过,然后转向下一种。

这对 Hysteria2 意味着什么

Hysteria2 运行在 QUIC 之上,使用 TLS 1.3 和自有的拥塞控制,使其在丢包的链路上也能保持速率。这使它成为 Colitu 在移动网络和长距离线路上最快的传输方式。但这一切都取决于 UDP 能否通过:

  • UDP 被完全封锁: Hysteria2 根本无法连接。
  • UDP 被限速: 能连接,但运行缓慢或不稳定。
  • UDP 一段时间后被丢弃: 工作几分钟,然后不再传输流量。

当网络有意丢弃数据包时,任何拥塞控制都无能为力。解决办法是换一种传输方式,而这正是 Adaptive Connect 的用途。

Adaptive Connect 如何回退到 TCP

每台 Colitu 服务器都提供五种传输方式。Hysteria2 使用 UDP;其余四种通过 TCP 连接:

传输方式传输途径
VLESS RealityTCP,带 Reality 伪装的 TLS 1.3
VLESS XHTTPTCP,在 Reality 之上由独立的上行和下行请求组成的类 HTTP 数据流
TrojanTCP,看起来像 HTTPS 的 TLS
Shadowsocks 2022TCP,带重放保护的 AEAD 加密

Adaptive Connect 会替你在它们之间做选择;没有手动的协议设置:

  1. 顺序。 在 Android 和 iOS 上,应用依次尝试 Hysteria2、VLESS Reality、VLESS XHTTP、Trojan 和 Shadowsocks 2022。在 Windows 和 Linux 上,它先尝试 Hysteria2,然后是各 TCP 传输方式,按到服务器的 TCP 连接打开的快慢排序;无法到达的排在最后。
  2. 要看真实流量,而不只是握手。 只有当真实流量通过检查(Android 上约 12 秒,iOS 上约 9 秒)时,某种传输方式才算有效。UDP 被封锁的网络无法通过这项检查,应用便会转向下一种。
  3. 记忆。 没有承载任何流量的传输方式会被往后放:在 Windows 和 Linux 上为 10 分钟,在 Android 上标记为停滞,在 iOS 上给予惩罚。Android 还会记住每台服务器上最后一次可用的传输方式。
  4. 连接期间持续监测。 Windows 应用每两秒检查一次隧道是否仍在传输流量,如果停止就会重新连接,这涵盖了过一段时间会丢弃 UDP 的网络。

应用还会以汇总形式向面板报告哪些传输方式可用,这样默认设置会随时间不断改进。你不需要配置任何东西。

TCP 的取舍

回退能让你保持在线,但 TCP 的表现有所不同。出现丢包时它会放慢速度以进行恢复,一个丢失的数据包可能会拖住其后的所有数据。在干净的办公室网络上你几乎不会察觉;而在微弱的移动信号下,TCP 传输可能比在允许 UDP 的网络上使用 Hysteria2 时感觉更慢。

你可以做什么

  1. 通常什么都不用做:请等应用完成连接,而不是取消后重试。
  2. 如果速度很重要且你有选择余地,请使用能通过 UDP 的网络,例如用家里的网络而不是酒店 Wi-Fi。
  3. 在工作或学校的网络上,请遵守所在机构的 IT 规定;网络的所有者决定什么是被允许的。
  4. 如果在某个网络上没有任何传输方式能够连接,请尝试其他位置,然后联系客服,并提供网络类型和你所在的地区。更多检查方法见帮助中心:连接问题和速度优化。

相关阅读:VPN 在 Wi-Fi 下可用,但在移动数据下不可用和VPN 被 DPI 封锁。

来源