Руководства

UDP заблокирован: что это значит для VPN и Hysteria2

Почему некоторые сети блокируют UDP и QUIC, как это влияет на Hysteria2 и как Adaptive Connect в Colitu сам переключается на TCP-транспорты.

Большая часть интернета работает на двух транспортных протоколах. TCP доставляет надёжный упорядоченный поток: веб-страницы, загрузки, почту. UDP отправляет независимые датаграммы без встроенных гарантий доставки: DNS, голосовые и видеозвонки, онлайн-игры и всё чаще сам веб, ведь HTTP/3 работает поверх QUIC, а QUIC — поверх UDP. VPN-протокол на базе UDP разделяет судьбу 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, TLS 1.3 с маскировкой Reality
VLESS XHTTPTCP, HTTP-подобный поток из отдельных запросов на отправку и получение поверх Reality
TrojanTCP, TLS, похожий на HTTPS
Shadowsocks 2022TCP, шифрование AEAD с защитой от повторов

Adaptive Connect выбирает между ними за вас; ручной настройки протокола нет:

  1. Порядок. На Android и iOS приложение пробует Hysteria2, затем VLESS Reality, VLESS XHTTP, Trojan и Shadowsocks 2022. На Windows и Linux первым идёт Hysteria2, затем TCP-транспорты, отсортированные по тому, как быстро открывается TCP-соединение с сервером; недоступные — в конце.
  2. Реальный трафик, а не только рукопожатие. Транспорт засчитывается, только когда через него проходит проверка реальным трафиком (около 12 секунд на Android, около 9 секунд на iOS). В сети с заблокированным UDP эта проверка не проходит, и приложение идёт дальше.
  3. Память. Транспорт, через который ничего не прошло, отодвигается: на Windows и Linux на 10 минут, на Android помечается как зависший, на iOS получает штраф. Android ещё и запоминает последний рабочий транспорт для каждого сервера.
  4. Наблюдение во время работы. Приложение для Windows каждые две секунды проверяет, идёт ли трафик через туннель, и переподключается, если нет. Это закрывает случай сетей, которые режут UDP через какое-то время.

Кроме того, приложения в обобщённом виде сообщают панели, какие транспорты сработали, чтобы настройки по умолчанию со временем становились лучше. Вам ничего настраивать не нужно.

Чем приходится платить за TCP

Запасной вариант сохраняет связь, но TCP ведёт себя иначе. При потерях пакетов он замедляется, чтобы восстановиться, а один потерянный пакет может задержать всё, что идёт за ним. В чистой офисной сети вы этого почти не заметите; при слабом мобильном сигнале TCP-транспорты могут казаться медленнее, чем был бы Hysteria2 в сети, которая пропускает UDP.

Что можете сделать вы

  1. Обычно ничего: дождитесь, пока приложение закончит подключение, вместо того чтобы отменять и пробовать снова.
  2. Если важна скорость и есть выбор, используйте сеть, которая пропускает UDP, например домашний интернет вместо Wi-Fi в отеле.
  3. В рабочей или учебной сети соблюдайте правила IT-отдела: что разрешено, решает владелец сети.
  4. Если в какой-то сети не подключается ни один транспорт, попробуйте другую локацию, затем напишите в поддержку, указав тип сети и регион. Дополнительные проверки — в справочном центре: проблемы с подключением и оптимизация скорости.

Читайте также: VPN работает по Wi-Fi, но не на мобильном интернете и VPN блокируют с помощью DPI.

Источники