Разработка протокола велась на протяжении восьми лет, и в этом году его, наконец, оформили в RFC 9000. Представители ИТ-индустрии по большей части тепло приняли технологию, но энтузиазм разделяют не все. Рассмотрим аргументы скептиков.
Настроения вокруг QUIC
QUIC — это транспортный протокол, построенный на базе UDP. Его представили инженеры из Google и IETF. Еще до оформления в RFC 9000 технологии пророчили светлое будущее в качестве замены TCP, главным образом из-за сокращения задержек при соединении. QUIC позволяет установить подключение за меньшее число рукопожатий — всего одно для знакомого и два для незнакомого сервера (TCP реализует «трёхэтапное рукопожатие»).
Согласно последним отчетам W3Techs, работу с QUIC поддерживает 6% сайтов в интернете — его внедряют крупные телекомы, облачные провайдеры и соцсети. Некоторые предлагают свои реализации протокола на разных языках программирования. По мнению экспертов, стандартизация QUIC ускорит его внедрение и подстегнёт развитие таких технологий, как WebTransport (для обмена данными между браузером и сервером) и MASQUE (проксирование соединений).
Однако не все представители ИТ-индустрии настроены оптимистично. Есть мнение, что новая технология пройдет по стопам IPv6 и попадет в своеобразный лимб, когда её внедрение растянется на десятки лет. И есть несколько причин так думать.
Неоднозначная ситуация
Согласно бенчмаркам, опубликованным компанией Google, QUIC более производителен, чем TCP. Во время тестов он сократил время загрузки веб-страниц на 3%, а число операций буферизации при просмотре YouTube-видео — на 18%.
Однако в начале месяца инженеры из Брауновского университета в США отметили, что разработчики анализировали работу протокола на неоптимизированных open source серверах. Исследователи установили, что в «боевых условиях» прирост пропускной способности по отношению к TCP получается не таким большим. Более того, аналогичного результата вполне можно добиться за счет тонкой настройки механизмов контроля перегрузки TCP и наборов шифров (стр.11).
К аналогичным выводам пришли специалисты из Вустерского политехнического института (стр.41). По их данным, разница в пропускной способности двух протоколов на ряде задач не превышает 0,1%. Инженеры интернет-регистратора APNIC также отмечают, что QUIC работает хуже, если возникает необходимость повторной передачи потерянных пакетов.
В том числе в беспроводных каналах
Неоднозначная ситуация сложилась и в беспроводных меш-сетях — они чувствительны к потерям из-за помех и затухания сигнала, их производительность может меняться. Инженеры из университетов Каталонии, Лювена и Турина установили (стр.20), что пропускная способность QUIC в таких условиях может быть хуже, чем у TCP. Специалисты говорят, что QUIC интерпретирует изменяющиеся параметры задержки как перегрузку, что мешает подобрать оптимальный объем передаваемых данных. В то же время механизм packet pacing не позволяет эффективно использовать функцию frame aggregation из семейства стандартов 802.11.
Справедливости ради стоит заметить, что инженерам удалось улучшить некоторые аспекты протокола и увеличить его пропускную способность на 28%. При этом практика отдельных компаний показывает, что QUIC может комфортно работать «по беспроводу». Еще пару лет назад на него перешли в Uber, а их приложение чаще всего используют в мобильных сетях. Там QUIC обошел TCP в плане снижения хвостовых задержек на 10–30%. Подробнее этот кейс разбирали на Хабре.
Вопросы безопасности
У специалистов также есть вопросы к безопасности — в начале года группа китайских инженеров обратила внимание, что QUIC более уязвим к «фингерпринтингу», чем HTTPS. Так, если у злоумышленника получится прослушать трафик, ему будет проще определить, какие сайты посещает пользователь — точность превышает 95% по 40 пакетам данных (стр.2). Хотя китайские коллеги проводили эксперименты в лабораторных условиях, и результаты в реальных сетях могут отличаться.
В одном из обсуждений QUIC на Хабре также «всплывала» тема нестабильности некоторых его реализаций, в частности в отношении ошибок обработки запросов. Необходимость в исправлении подобных вещей может помешать распространению технологии. К слову, затормозить процесс в корпоративной среде могут и строгие политики в отношении UDP, поверх которого работает QUIC.
Нет сомнений, что протокол будет внедрять все больше сайтов и ИТ-компаний (уже сейчас на графике W3Techs виден восходящий тренд), а ситуация с безопасностью и стабильностью станет лучше. Вопрос лишь в том, как быстро это произойдет, и не успеет ли угаснуть энтузиазм сообщества — как в случае с IPv6.
О чем еще мы пишем в корпоративном блоге VAS Experts: