Главная

Интернет меняется: HTTP/3 больше не будет использовать TCP

QUIC — протокол, лежащий в основе следующей версии HTTP.

Поделиться:
 

6+

Открытое международное сообщество IETF сообщило, что третья официальная версия HTTP больше не будет использовать TCP. Вместо этого он будет работать по протоколу QUIC, разработанному компанией Google еще в 2012 году.

Что такое QUIC?

Quick UDP Internet Connections (QUIC) — как следует из названия, это протокол транспортного уровня, основанный на мультиплексированных UDP-соединениях. Фактически, QUIC использует комбинацию TCP + TLS + SPDY через UDP с некоторыми улучшениями по сравнению с текущей реализацией HTTP/2. IETF работает над стандартизированной версией Google QUIC с 2016 года, и недавно они объявили о своем намерении включить QUIC в новую версию HTTP/3. Однако стоит отметить, что версия IETF QUIC уже значительно отличается от первоначальной.

Image for post

Протокол QUIC имеет преимущество в простоте и скорости, при этом сохраняет остается достаточно безопасным благодаря шифрованию TLS 1.3. Можно сказать, что QUIC более эффективен с точки зрения установления соединения и передачи данных. Google говорят, что рукопожатия QUIC часто требуют 0 циклов приема-передачи перед отправкой полезных данных(с англ. payload) по сравнению с 1–3 циклами приема-передачи по TCP + TLS. Фактически, первое соединение требует одного обхода, а все последующие будут работать с 0.

Кроме того, QUIC лучше справляется с потерей пакетов. Каждый повторно передаваемый пакет получает порядковый номер, что устраняет двусмысленность и предотвращает появление RTO . Как утверждает Яна Айенгар из IETF, QUIC — это не только новое определение транспортного уровня Интернета, но и новое изобретение, позволяющее делать транспортировку должным образом. На данный момент только 1,2% ведущих веб-сайтов поддерживают QUIC. Как правило, это сайты с высоким трафиком: почти каждый сервис Google поддерживает собственный протокол QUIC.

Безопасен ли QUIC?

Первая версия QUIC включала собственное шифрование, однако это была временная реализация, предназначенная для последующей замены на TLS 1.3. Фактически, установление соединения QUIC основано на комбинации криптографического и транспортного подтверждения.

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

Image for post

QUIC шифрует все по умолчанию. Несмотря на это, в QUIC, как и в любой другой технологии, действительно есть узкие места. Работа Роберта Лычева и Самуэля Джеро в 2015 году резюмировала о нескольких слабых местах в протоколе. Производительность QUIC может снизиться из-за атак, таких как атака повторного воспроизведения конфигурации сервера. Что касается конфиденциальности и подлинности данных, то они, по-видимому, защищены должным образом.

Если вы хотите узнать больше о QUIC и о том, как он будет интегрирован в следующую версию HTTP, я настоятельно рекомендую посмотреть официальную документацию от Google и мануалы от IETF.

Image for post
6+