Для каналов с потерями

Протокол Hysteria2

Hysteria2 построен поверх QUIC и рассчитан на каналы с потерями и высокой задержкой. Вместо обычного контроля перегрузки он использует модель с заранее заданной скоростью и держит поток там, где другие протоколы проседают.

Обновлено

Протокол Hysteria2

Профиль по четырём осям

Скорость93
Незаметность74
Стабильность76
Простота настройки52

Оценки сравнительные, в пределах этой таблицы: 100 — лучший показатель среди рассмотренных протоколов, а не абсолютная величина.

Когда выбиратьБерите Hysteria2, когда канал заметно теряет пакеты: мобильная сеть на краю покрытия, спутник, дальняя международная трасса.

Ключевые характеристики

Год появления2022, версия 2 — 2023
ОсноваQUIC поверх UDP, рукопожатие TLS 1.3
Контроль потокаBrutal с заданной скоростью либо стандартный BBR
ШифрованиеTLS 1.3 внутри QUIC, AES-256-GCM или ChaCha20
МультиплексированиеВстроено в QUIC: потоки независимы друг от друга
АутентификацияПароль либо внешняя проверка на стороне сервера
МаскировкаПорт и поведение как у обычного трафика QUIC

Сильные стороны

  • Лучшая устойчивость в подборке к потерям: при 5% потерь сохраняет 80–85% полосы там, где TCP-решения теряют больше половины.
  • Независимые потоки внутри одного соединения — один тяжёлый поток не тормозит остальные.
  • Быстрое подключение и восстановление после смены сети.
  • Снаружи выглядит как обычный трафик QUIC, которого в интернете уже около четверти от общего объёма.
  • Одинаково хорошо работает на спутниковом канале и на мобильной сети на краю покрытия.

Ограничения

  • Режим Brutal ведёт себя на сети агрессивно: он не уступает полосу соседям и может ухудшить работу других устройств в той же сети.
  • Заданную скорость приходится указывать вручную, и завышенное значение приводит к постоянным потерям вместо выигрыша.
  • Служебные расходы выше: на тот же полезный объём уходит на 5–9% больше трафика, что заметно на пакетном тарифе.
  • Только UDP, и на сети с ограничением полосы для UDP протокол страдает первым.
Схема работы протокола Hysteria2
Как проходит соединение: от клиента до целевого сервиса
Устройство

Что отличает Hysteria2

Скорость на плохом канале

При 5% потерь обычный TCP-туннель теряет до 70% пропускной способности. Hysteria2 в тех же условиях сохраняет 80–85% от заявленной полосы, потому что не сокращает окно при каждой потере.

Независимые потоки QUIC

Потеря пакета в одном потоке не останавливает остальные. Загрузка файла и видеозвонок внутри одного туннеля не мешают друг другу — этого нет у решений поверх TCP.

Быстрое установление связи

Рукопожатие QUIC совмещает согласование транспорта и TLS. Соединение поднимается за один круг обмена, обычно 60–120 мс против 200–300 у связки TCP плюс TLS.

Переживает смену сети

QUIC опознаёт соединение по идентификатору, а не по паре адресов. Переход между Wi-Fi и сотовой сетью не рвёт сессию.

QUIC как основа

QUIC — транспорт, разработанный в Google и стандартизованный в 2021 году как основа HTTP/3. Он работает поверх UDP, но реализует надёжную доставку сам, в пользовательском пространстве, и совмещает транспортное рукопожатие с TLS 1.3 в один обмен.

Для Hysteria2 важны два свойства QUIC. Первое — независимые потоки: внутри одного соединения живёт множество логических каналов, и потеря пакета в одном не блокирует остальные. У TCP такого нет: там любая потеря останавливает весь поток до восстановления.

Второе — идентификатор соединения вместо пары адресов. Смена сети не рвёт сессию, потому что собеседник опознаётся по идентификатору. Побочный плюс: доля QUIC в интернете уже около четверти всего трафика, так что сам факт его использования ничего не выделяет.

Brutal: контроль перегрузки с заданной скоростью

Классические алгоритмы трактуют потерю пакета как признак перегрузки и сокращают окно передачи. Логика разумная для проводной сети, где потери действительно означают переполненный буфер. На мобильной или спутниковой линии потери вызваны помехами, а не нехваткой полосы — и алгоритм сбрасывает скорость там, где этого не требуется.

Brutal переворачивает подход. Вы указываете реальную скорость канала, и протокол держит её, восполняя потери повторной отправкой, а не сокращением окна. При 5% потерь на канале в 100 Мбит/с обычный алгоритм даст 25–35 Мбит/с, Brutal — 80–85.

Плата очевидна из описания. Протокол игнорирует главный сигнал вежливого поведения в сети. Если указать скорость больше фактической, он будет упорно слать пакеты в переполненный канал, ухудшая ситуацию и себе, и соседям. Стандартный BBR тоже доступен и в спокойной сети предпочтительнее.

Где выигрыш действительно есть

Первый сценарий — мобильная сеть на краю покрытия. Потери 3–8% там обычное дело, и именно на них TCP-решения проседают сильнее всего. Разница на практике выглядит как «видео идёт» против «видео буферизуется каждые двадцать секунд».

Второй — спутниковая связь и дальние международные маршруты. Задержка 250–600 мс сама по себе ограничивает окно TCP: протокол просто не успевает разогнаться на коротких сессиях. Модель с заданной скоростью этой проблемы не имеет.

Третий — перегруженный домашний канал вечером, когда провайдерский узел работает на пределе. Здесь выигрыш есть, но получен он за счёт других пользователей того же узла, и это стоит понимать. В спокойной сети преимущества нет вовсе: WireGuard даст ту же скорость с меньшими накладными расходами.

Честные издержки

Служебный трафик. QUIC несёт собственные заголовки поверх UDP, а Brutal при потерях отправляет пакеты повторно. Итог — на 5–9% больше переданных байтов на тот же полезный объём. На безлимитном тарифе это не важно, на мобильном пакете в 15 ГБ разница набегает почти в гигабайт за месяц.

Нагрузка на процессор. QUIC реализован в пользовательском пространстве, поэтому обработка пакетов дороже, чем у WireGuard в ядре. На потоке 500 Мбит/с расход составляет 18–25% одного ядра против 5–8% у WireGuard. На слабом роутере это заметный предел.

Транспорт UDP. Оборудование, ограничивающее полосу для UDP, бьёт по Hysteria2 первым: запасного режима поверх TCP у протокола нет. Если в сети UDP не проходит, нужен другой протокол, и никакие настройки этого не изменят.

Вопросы

Частые вопросы

Hysteria2 быстрее WireGuard?
На чистом канале — нет, WireGuard быстрее и экономнее по ресурсам. На канале с 4–6% потерь картина обратная: Hysteria2 сохраняет 80–85% полосы, а WireGuard проседает вместе с транспортом внутри туннеля.
Что означает «заданная скорость»?
В настройках указывается реальная пропускная способность канала, и протокол придерживается её независимо от потерь. Значение нужно ставить честно: завышение приводит к постоянным повторным отправкам и ухудшает результат вместо улучшения.
Правда ли, что Hysteria2 мешает другим устройствам в сети?
В режиме Brutal — да, такое возможно. Протокол не уступает полосу при появлении конкурирующего трафика. Если каналом пользуется несколько человек, разумнее переключиться на стандартный BBR: он вежливее и в спокойной сети не медленнее.
Чем версия 2 отличается от первой?
Вторая версия перешла на стандартный QUIC вместо собственной надстройки, упростила аутентификацию и добавила маскировку под обычный веб-сервер на том же порту. Совместимости с первой версией нет — это разные протоколы.
Подойдёт ли Hysteria2 для игр?
Для игр важнее стабильность задержки, чем пропускная способность. На канале с потерями Hysteria2 действительно даёт более ровный пинг. На хорошем проводном подключении выигрыша нет: WireGuard добавит к задержке меньше.
Все протоколы в одном клиенте

Hysteria2 включён во все платные тарифы

Транспорт выбирается в настройках клиента одним пунктом, доплаты за него нет. Если Hysteria2 в вашей сети перестал подниматься, соседний протокол обычно работает — переключение занимает секунды и не требует переустановки.

Подписка оформляется в Telegram-канале сервиса · Безлимитный трафик · Поддержка круглосуточно