- PVSM.RU - https://www.pvsm.ru -

«Уже почти RFC»: что происходит с QUIC

Компактный обзор хода развития проекта — последних новостей о тестах и представленных имплементациях протокола. Интересующихся темой приглашаем под кат.

/ Unsplash / Volodymyr Hryshchenko
/ Unsplash / Volodymyr Hryshchenko

Развитие проекта

QUIC [1] разрабатывают с 2013 года, а с марта 2016-го — к процессу подключились и в IETF (Internet Engineering Task Force [2]). На тот момент в протоколе, рассматриваемом в качестве замены TCP [3], обнаружили ряд недостатков: уязвимость перед DDoS-атаками, несовместимость с NAT [4], Anycast [5], ECMP [6]; плюс — потенциальные сложности для работы сетевых администраторов и мониторинга.

Для укрепления слабых мест QUIC начали активнее внедрять и тестировать. Тогда этим занялись крупные телекомы и ИТ-компании, предложившие собственные имплементации [7] протокола, а за последний год доля его «пользователей» от общего числа веб-сайтов практически удвоилась [8].

Кто тестирует

В конце прошлого года реализацию модуля для поддержки HTTP/3 [9] в NGINX предложили в Cloudflare. Компания подготовила ее на основе своей библиотеки quiche [10], учитывающей IETF-спецификацию QUIC’а, и отметила [11], что действовала без участия инженеров и официальной поддержки от NGINX.

Практически ровно через полгода NGINX объявили о запуске собственной экспериментальной версии QUIC+HTTP/3 и подчеркнули [12], что этот проект не связан с тем, что был представлен ранее Cloudflare. Сейчас NGINX поддерживают специальный wiki-портал по этой теме [13], где есть гайды по настройке [14] и ссылку на результаты тестирования [15] различных клиентских и серверных имплементаций.

В одно время с Cloudflare тестовую сборку выпустила и Mozilla. Для Firefox она была подготовлена на основе neqo [16]. С момента релиза прошло достаточно времени, но пока все еще можно увидеть критику [17] ее быстродействия по сравнению с кастомной реализацией поддержки QUIC для Chrome.

За год были выпущены и другие версии — например, имплементация от Microsoft на основе msquic [18].

Что сейчас

На днях в Chromium Blog’е объявили [19] о том, что компания распространит автоматическую поддержку с Google-QUIC еще и на IETF-QUIC. Эта редакция позволила добиться улучшения показателей основных сервисов компании — снизить задержку для поиска и время ребуферизации видео на 2% и 9% соотвественно, плюс — увеличить пропускную способность для мобильных и настольных платформ.

/ Unsplash / Taylor Vick
/ Unsplash / Taylor Vick

Релиз вызвал неоднозначную реакцию в IT-сообществе. Одни высказывались против [20] чрезмерной централизации процесса разработки протокола, другие — не были впечатлены [21] «незначительным» приростом производительности, третьи — выразили озабоченность общей сложностью QUIC [22].

Опасения [23], что «замена TCP дорого обойдется» с точки зрения распределения нагрузки, звучали и ранее. Но в ходе обсуждения проекта на HN резиденты даже вспомнили [24] проект тридцатилетней давности под названием CORBA [25] (Common Object Request Broker Architecture), указав на то, что от его чрезмерной сложности было гораздо больше «выхлопа» по сравнению с текущими новинками и их недостатками — например, неразрешенной неустойчивостью протокола к атакам с амплификацией [26].

Нельзя сказать, что обошлось без мнений в защиту [27]. Но профильные издания все-таки отметили весомый факт — технически в Safari поддержка появилась [28] еще раньше, с вводом 14-й версии.

Ближайший майлстоун

Рабочая группа по QUIC завершает [29] сбор обратной связи, обсуждение различных аспектов [30] работы протокола и готовится к принятию соответствующего стандарта. С какой интенсивностью и эффективностью пойдет его дальнейшее внедрение — покажут ближайшие несколько месяцев.

P.S. Дополнительное чтение в нашем хабраблоге:


Автор: VAS Experts

Источник [33]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/setevy-e-tehnologii/358032

Ссылки в тексте:

[1] QUIC: https://ru.wikipedia.org/wiki/QUIC

[2] Internet Engineering Task Force: https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%B6%D0%B5%D0%BD%D0%B5%D1%80%D0%BD%D1%8B%D0%B9_%D1%81%D0%BE%D0%B2%D0%B5%D1%82_%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%D0%B0

[3] замены TCP: https://habr.com/ru/company/vasexperts/blog/429380/

[4] NAT: https://ru.wikipedia.org/wiki/NAT

[5] Anycast: https://ru.wikipedia.org/wiki/Anycast

[6] ECMP: https://en.wikipedia.org/wiki/Equal-cost_multi-path_routing

[7] имплементации: https://github.com/quicwg/base-drafts/wiki/Implementations

[8] удвоилась: https://w3techs.com/technologies/details/ce-quic

[9] HTTP/3: https://ru.wikipedia.org/wiki/HTTP/3

[10] quiche: https://github.com/cloudflare/quiche

[11] отметила: https://blog.cloudflare.com/experiment-with-http-3-using-nginx-and-quiche/

[12] подчеркнули: https://habr.com/ru/news/t/506322/

[13] wiki-портал по этой теме: https://quic.nginx.org/

[14] гайды по настройке: https://quic.nginx.org/readme.html

[15] результаты тестирования: https://interop.seemann.io/

[16] neqo: https://github.com/mozilla/neqo

[17] можно увидеть критику: https://support.mozilla.org/en-US/questions/1290453

[18] msquic: https://github.com/microsoft/msquic

[19] объявили: https://blog.chromium.org/2020/10/chrome-is-deploying-http3-and-ietf-quic.html

[20] против: https://news.ycombinator.com/item?id=24712520

[21] не были впечатлены: https://news.ycombinator.com/item?id=24710991

[22] общей сложностью QUIC: https://news.ycombinator.com/item?id=24710737

[23] Опасения: https://habr.com/ru/company/vasexperts/blog/509630/#comment_21815868

[24] вспомнили: https://news.ycombinator.com/item?id=24711918

[25] CORBA: https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture

[26] атакам с амплификацией: https://news.ycombinator.com/item?id=24711334

[27] мнений в защиту: https://news.ycombinator.com/item?id=24711590

[28] появилась: https://developer.apple.com/videos/play/wwdc2020/10111/

[29] завершает: https://github.com/quicwg/base-drafts

[30] обсуждение различных аспектов: https://habr.com/ru/company/vasexperts/blog/509630/

[31] Работа провайдеров и развитие систем связи: https://habr.com/ru/company/vasexperts/blog/521466/

[32] Namespace-децентрализация: кто и что предлагает делать: https://habr.com/ru/company/vasexperts/blog/522070/

[33] Источник: https://habr.com/ru/post/523598/?utm_source=habrahabr&utm_medium=rss&utm_campaign=523598