Когда появился QUIC, его называли преемником TCP и предвестником нового сверхбыстрого интернета. Однако с годами выходит все больше исследований, авторы которых утверждают: в ряде случаев QUIC работает даже хуже «классического» протокола. Сегодня обсудим ситуацию и мнения сообщества.
Пара слов о 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 году предрекали бурный рост. Но многие по-прежнему не видят смысла переходить на новую версию.
Однако 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.
Комментарии (2)
radioxoma
03.11.2024 18:08Ещё TCP fast open, пишут, не настолько fast.
QUIC был бы более полезен, если бы реализации не пытались сначала установить соединение по TCP.
Balling
Самое неприятное это баги типо как UDP uTP в библиотеке lintorrent, uTorrent быстрее. https://github.com/arvidn/libtorrent/issues/3542
Впрочем недавние патчи Nagle исправили часть проблем.