Все статьи

СТРИМИНГ

QUIC: что это за протокол и как он делает интернет быстрее

4 мин чтения

QUIC: что это за протокол и как он делает интернет быстрее

Сегодня пользователи привыкли к тому, что сайты открываются практически мгновенно.

Никто не хочет ждать несколько секунд, пока браузер установит соединение и только после этого начнет загружать страницу.

Именно для решения этой проблемы был создан QUIC.

Изначально протокол разработала Google, а позже он был стандартизирован организацией IETF. Сегодня QUIC лежит в основе HTTP/3 — самой современной версии HTTP — и помогает уменьшить задержки, ускорить загрузку сайтов и сделать соединения более стабильными.

HTTP/3 protocol stack built on top of QUIC and UDP

Что такое QUIC?

QUIC (Quick UDP Internet Connections) — это современный транспортный протокол, построенный поверх UDP.

В отличие от классической связки HTTP и TCP, QUIC объединяет механизмы передачи данных и шифрования в рамках одного протокола.

Его основные задачи:

  • быстрее устанавливать соединение;
  • уменьшать задержки;
  • эффективнее работать в нестабильных сетях;
  • быстрее восстанавливаться после смены подключения.

Сегодня поддержку QUIC и HTTP/3 можно встретить у большинства крупных сайтов и облачных сервисов.


Зачем понадобился QUIC?

Чтобы понять идею QUIC, достаточно посмотреть на ограничения традиционных TCP-соединений.

При открытии HTTPS-сайта браузеру необходимо:

  • установить TCP-соединение;
  • выполнить TLS-рукопожатие;
  • только после этого начать передачу данных.

Если по пути теряется пакет, TCP может задержать обработку последующих данных до его повторной передачи. А при переключении, например, с Wi-Fi на мобильную сеть соединение часто приходится создавать заново.

На домашнем интернете это не всегда заметно.

Но в мобильных сетях или при нестабильном соединении подобные задержки способны существенно увеличить время загрузки страниц.

Именно эти проблемы и должен был решить QUIC.


Как работает QUIC?

Вместо TCP QUIC использует в качестве транспорта UDP, но при этом самостоятельно реализует функции, которые обычно ассоциируются с TCP.

В частности, протокол отвечает за:

  • надежную доставку данных;
  • управление перегрузкой сети;
  • восстановление потерянных пакетов;
  • встроенное шифрование.
Comparison of traditional TCP plus TLS handshake and QUIC handshake

Благодаря этому количество обменов между клиентом и сервером сокращается, а передача данных начинается быстрее.

При этом QUIC нельзя назвать просто «UDP с шифрованием». Это самостоятельный протокол со своей собственной логикой работы.


QUIC и TCP: в чем разница?

Хотя QUIC работает поверх UDP, по своим возможностям он во многом напоминает TCP.

quicvstcp

При этом задача QUIC — не заменить TCP полностью.

Он создавался прежде всего для современных веб-приложений, где особенно важны низкие задержки и быстрое восстановление соединений.


QUIC и HTTP/3

Главная причина широкого распространения QUIC — появление HTTP/3.

До появления HTTP/3 предыдущие версии протокола строились поверх TCP:

  • HTTP/1.1 → TCP → IP
  • HTTP/2 → TCP → IP

С выходом HTTP/3 стек изменился:

  • HTTP/3 → QUIC → UDP → IP
Comparison of HTTP/1.1 HTTP/2 and HTTP/3 protocol stacks

Без UDP работа QUIC невозможна — именно этот транспортный протокол лежит в основе всей архитектуры.


Почему QUIC считается быстрее?

Многие считают, что QUIC быстрее только потому, что использует UDP вместо TCP.

На самом деле ускорение достигается за счет нескольких архитектурных решений одновременно.

QUIC позволяет:

  • сократить время установки соединения;
  • встроить TLS непосредственно в протокол;
  • быстрее восстанавливаться после обрывов связи;
  • уменьшить влияние потери отдельных пакетов;
  • сохранять соединение при смене сети благодаря технологии Connection Migration.

В результате сайты и веб-приложения могут работать заметно быстрее, особенно при использовании мобильного интернета или нестабильного Wi-Fi.


QUIC и VPN

Поскольку QUIC работает поверх UDP, транспортный протокол VPN тоже имеет значение.

VPN-протоколы, поддерживающие UDP — например, OpenVPN через UDP или IKEv2 — позволяют передавать QUIC-трафик практически без дополнительных задержек и сохраняют большинство его преимуществ.

Протоколы, основанные на TCP, включая SSTP или OpenVPN через TCP, также способны передавать QUIC-трафик. Однако инкапсуляция UDP внутри TCP может увеличить задержки и частично снизить эффективность QUIC, особенно в нестабильных сетях.

Например, WhoX VPN поддерживает как OpenVPN по UDP, так и IKEv2, благодаря чему HTTP/3 и QUIC работают в штатном режиме, если сеть не блокирует UDP-соединения.


Почему QUIC может не работать?

Несмотря на широкую поддержку, QUIC доступен не всегда.

Чаще всего это связано со следующими причинами:

  • UDP-трафик блокируется файрволом;
  • корпоративная сеть запрещает использование UDP;
  • VPN настроен без поддержки UDP;
  • используемый прокси-сервер не умеет пересылать UDP-пакеты.

В подобных ситуациях браузеры обычно автоматически переключаются на HTTP/2 поверх TCP.

Для большинства пользователей этот переход остается незаметным.


QUIC и SOCKS5-прокси в WadeX

Поддержка UDP важна и при работе через прокси.

Чтобы QUIC корректно функционировал в WadeX, должно выполняться одно из условий:

  • прямое подключение → QUIC ✅;
  • SOCKS5 с поддержкой UDP ASSOCIATE → QUIC ✅;
  • SOCKS5 без поддержки UDP → QUIC ❌.

Даже если браузер поддерживает QUIC, он не сможет использовать этот протокол через SOCKS5-сервер без пересылки UDP.

Поэтому при выборе прокси для HTTP/3, WebRTC и других UDP-зависимых технологий стоит заранее убедиться в наличии поддержки UDP ASSOCIATE.


Заменит ли QUIC TCP?

Полностью — нет.

TCP остается одним из важнейших протоколов интернета и продолжает использоваться огромным количеством приложений.

QUIC решает другую задачу: он оптимизирует современный веб-трафик и позволяет HTTP/3 работать быстрее и стабильнее.

Для обычного пользователя переход практически незаметен.

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


FAQ

QUIC действительно быстрее TCP?

Во многих реальных сценариях — да. Однако прирост производительности достигается не только благодаря UDP, но и за счет архитектуры самого протокола.

HTTP/3 может работать без QUIC?

Нет. HTTP/3 построен на базе QUIC, а QUIC, в свою очередь, использует UDP в качестве транспортного уровня.

Почему QUIC не работает в некоторых сетях?

Самая распространенная причина — блокировка UDP-трафика или отсутствие поддержки UDP в используемом VPN либо SOCKS5-прокси.

Последние статьи

Все