У Chrome дададзена эксперыментальная падтрымка пратаколу HTTP/3

У эксперыментальныя зборкі Chrome Canary дададзена поддержка протокола HTTP/3, реализующего надстройку для обеспечения работы HTTP поверх протокола QUIC. Непосредственно протокол QUIC был добавлен в браузер пять лет назад и с тех пор используется для оптимизации работы с сервисами Google. При этом применявшийся в Chrome вариант QUIC от Google в некоторых деталях отличался от варианта из спецыфікацый IETF, но теперь реализации синхронизированы.

HTTP/3 стандартизирует использование QUIC в качестве транспорта для HTTP/2. Для включения HTTP/3 и варианта QUIC из 23 черновика спецификаций IETF требуется запуск Chrome с опциями «—enable-quic —quic-version=h3-23», после чего при открытии тестового сайта quic.rocks:4433 в режиме инспектирования сети в инструментах для разработчиков активность по HTTP/3 будет отображаться как «http/2+quic/99».

Напомним, что протокол QUIC (Quick UDP Internet Connections) c 2013 года развивается компанией Google в качестве альтернативы связке TCP+TLS для Web, решающей проблемы с большим временем установки и согласования соединений в TCP и устраняющей задержки при потере пакетов в процессе передачи данных. QUIC представляет собой надстройку над протоколом UDP, поддерживающую мультиплексирование нескольких соединений и обеспечивающую методы шифрования, эквивалентные TLS/SSL. Рассматриваемый протокол уже интегрирован в серверную инфраструктуру Google, входит в состав Chrome, запланаваны для включения в Firefox и активно применяется для обслуживания запросов клиентов на серверах Google.

Асноўныя асаблівасці QUIC:

  • Высокая бяспека, аналагічная TLS (па сутнасці QUIC дае магчымасць выкарыстання TLS па-над UDP);
  • Кантроль за цэласнасцю патоку, які прадухіляе страту пакетаў;
  • Магчымасць імгненна ўсталяваць злучэнне (0-RTT, прыкладна ў 75% выпадках дадзеныя можна перадаваць адразу пасля адпраўкі пакета ўсталёўкі злучэння) і забяспечыць мінімальныя затрымкі паміж адпраўкай запыту і атрыманнем адказу (RTT, Round Trip Time);
  • Не выкарыстанне пры паўторнай перадачы пакета таго ж нумара паслядоўнасці, што дазваляе пазбегнуць двухсэнсоўнасці пры вызначэнні атрыманых пакетаў і пазбавіцца ад таймаўтаў;
  • Страта пакета ўплывае на дастаўку толькі злучанага з ім струменя і не спыняе дастаўку дадзеных у раўналежна перадаюцца праз бягучае злучэнне струменях;
  • Сродкі карэкцыі памылак, якія мінімізуюць затрымкі з-за паўторнай перадачы страчаных пакетаў. Выкарыстанне спецыяльных кодаў карэкцыі памылак на ўзроўні пакета для скарачэння сітуацый, якія патрабуюць паўторнай перадачы даных страчанага пакета.
  • Криптографические границы блоков выравнены с границами пакетов QUIC, что уменьшает влияние потерь пакетов на декодирование содержимого следующих пакетов;
  • Адсутнасць праблем з блакіроўкай чаргі TCP;
  • Падтрымка ідэнтыфікатара злучэння, які дазваляе скараціць час на ўстаноўку паўторнага злучэння для мабільных кліентаў;
  • Магчымасць падлучэння пашыраных механізмаў кантролю перагрузкі злучэння;
  • Выкарыстанне тэхнікі прагназавання прапускной здольнасці ў кожным кірунку для забеспячэння аптымальнай інтэнсіўнасці адпраўкі пакетаў, прадухіляючы скочванне ў стан перагрузкі, пры якой назіраецца страта пакетаў;
  • Прыкметны прырост прадукцыйнасці і прапускной здольнасці, у параўнанні з TCP. Для відэасэрвісаў, такіх як YouTube, ужыванне QUIC паказала скарачэнне аперацый паўторнай буферызацыі пры праглядзе відэа на 30%.

Крыніца: opennet.ru

Дадаць каментар