Когда появился QUIC, его называли преемником TCP и предвестником нового сверхбыстрого интернета. Однако с годами выходит все больше исследований, авторы которых утверждают: в ряде случаев QUIC работает даже хуже «классического» протокола. Сегодня обсудим ситуацию и мнения сообщества.

Фотография: Red Zeppelin / Unsplash.com

Пара слов о QUIC

Протокол QUIC представляет собой надстройку над UDP и был разработан еще в 2012 году. Девять лет спустя Инженерный совет Интернета (IETF) принял его в качестве стандарта RFC 9000. И сегодня, согласно данным W3Techs, QUIC использует 8,4% сайтов.

Еще в 2018 году в Google утверждали, что QUIC сократил время загрузки страниц поиска на 3%, а время буферизации видео на YouTube — на 18%. Эти данные частично подтвердили независимые исследователи, отметив, что производительность QUIC превосходит TCP, например, в некоторых случаях передачи потокового видео.

В 2022 году китайские специалисты из Сямэньского университета также провели свои испытания (соответствующая работа опубликована в электронной библиотеке научно-технических знаний IEEE Xplore). По их оценкам, QUIC с алгоритмом Cubic и активированной функцией 0-RTT (zero round trip time) сокращает время загрузки веб-страниц на 37% по сравнению с показателями в случае использования TCP.

Не так уж и быстро

Однако далеко не все исследования подтверждают эффективность QUIC. С момента появления протокола его производительность неоднократно ставили под сомнение. Так, в 2021 году специалисты Брауновского университета выяснили, что широко обсуждаемые преимущества QUIC над TCP могли быть несколько преувеличены. Ученые отметили, что ранние тесты проводили на неоптимизированных серверах и не учитывали разнообразие возможных сетевых условий, поэтому результаты предыдущих экспериментов и оценок производительности нового протокола сложно считать репрезентативными.

Были и другие исследования, которые отражали неоднозначную природу заявлений авторов QUIC. Например, эксперименты, проведенные азиатскими учёными, показали, что в высоконагруженной сети производительность у TCP выше, чем у QUIC. В сентябре вышла еще одна работа уже от группы американских экспертов. Они сделали близкие выводы о низкой эффективности протокола в высоконагруженных сетях. В частности — показали, что QUIC демонстрирует схожую эффективность с TCP лишь в условиях нагрузки до 600 Мбит/с, также он более требователен к вычислительным ресурсам.

Кроме того, исследователи и эксперты отмечают несколько нюансов, связанных с безопасностью протокола QUIC. В конце 2022 года группа инженеров, в которую вошли представители Еврокомиссии, подготовила обзор ряда уязвимостей нулевого дня в протоколе. В теории злоумышленники могут использовать обнаруженные эксплойты для перегрузки серверных ресурсов. Например, осуществить MITM-атаку для последующего проведения DoS. В работе специалисты также делают вывод о том, что, по их мнению, QUIC пока рано считать полностью готовым для ИБ-критичных задач и проектов.

Мнения и другие исследования

Одна из публикаций по теме недостаточной эффективности протокола вызвала интерес аудитории Hacker News. В треде отметили возможные проблемы и поделились мнением о том, что стек UDP, поверх которого построен QUIC, менее оптимизирован сам по себе. Также резиденты площадки заметили, что методы для оптимизации UDP уже давно разработаны, а проблема с производительностью скорее заключается в частоте датаграмм, которые необходимо обрабатывать при использовании UDP для QUIC.

В целом есть мнение, что QUIC поспешили выпустить на рынок. Аналогичная история произошла и с сетевым протоколом HTTP/2, которому ещё в 2016 году предрекали бурный рост. Но многие по-прежнему не видят смысла переходить на новую версию.

Фотография: Nicolas Peyrol / Unsplash.com

Однако QUIC продолжает оставаться объектом внимания специалистов. Так, в IETF представили фреймворк, позволяющий исследовать пропускную способность протокола в различных условиях. Также несколько лет назад команда индийских инженеров предложила его модифицированную версию ModQUIC. В свою очередь — группа исследователей из стран Азии представила архитектуру Q-MOFI, ориентированную на мобильные устройства и превосходящую возможности MOFI-архитектуры на базе UDP.

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

О чем еще мы пишем на Хабре и не только:

  • VoWiFi, DIY-свитчи и другие сетевые эксперименты — подготовили подборку материалов о технологиях в работе интернет-провайдеров и дата-центров. Также коротко рассказали о материалах с обзорами исследований и любительских экспериментов в области открытого сетевого железа и не только.

  • На замену TCP — мы наблюдаем за развитием QUIC вот уже несколько лет. В тот момент, когда представители IETF объявили о старте его широкомасштабного тестирования, мы рассказали о предпосылках появления технологии, особенностях работы протокола и привели первую критику, с которой он столкнулся.

  • Как идет обсуждение QUIC — поговорили о сложностях на пути QUIC к тому, чтобы стать стандартом RFC. Также отметили тех, кто приступил к внедрению протокола и рассмотрели ход обсуждения материалов, посвященных его работе.

  • QUIC стал RFC, но как дела с перспективами — рассказали о мнениях сообщества относительно становления QUIC в роли стандарта. Как и следовало ожидать, они разделились на относительно положительные оценки и критику. В последнем случае речь шла о низкой работоспособности в беспроводных сетях и вопросах по части ИБ.

  • В копилку уязвимостей BGP — коротко обсудили ещё одну атаку на протокол BGP под названием Kirin. Она использует маршруты IPv6, чтобы перегружать сетевые устройства. Также поговорили о проектах, предлагающие альтернативные подходы к организации сетевой архитектуры: SCION, MobilityFirst и некоторых других.

  • Собрать DIY-коммутатор — рассмотрели примеры любительских проектов в продолжение темы с компактным open source коммутатором, спроектированным учениками школы в Нью-Гэмпшире. Здесь вы найдете подборку других экспериментальных и открытых свитчей вроде SatCat5 и пары других.

  • Больше, чем Quagga — говорим о форке одиного из известных пакетов маршрутизации, развитие которого столкнулось со сложностями. В качестве альтернативы появился проект Free Range Routing (FRRouting). Его задача — сохранить наработки предшественника и предложить новые возможности. Обсуждаем ожидания сообщества и альтернативы: BIRD и ExaBGP.