Розробники нещодавно хто позаду з веб-браузера Google Chrome опублікувала новину про додавання підтримки протоколу HTTP / 3 до експериментальних версій Chrome Canary, який реалізує плагін для ввімкнення HTTP через QUIC.
Сам протокол QUIC був доданий до браузера п'ять років тому і з тих пір він використовується для оптимізації роботи зі службами Google. У той же час версія QUIC Google, яка використовується в Chrome, деякими деталями відрізнялася від версії специфікацій IETF, але зараз реалізації синхронізовані.
Google Chrome Canary щойно став першим (доступним) браузером, який інтегрував (дуже) експериментальний # QUIC та підтримка HTTP / 3!
Додайте прапори "–enable-quic –quic-version = h3-23", і ви побачите, як "http / 2 + quic / 99" відображається в devtools, що насправді маскується http3! pic.twitter.com/5Fhui46h3x
- Робін Маркс (@programmingart) Вересень 19, 2019
Важливо це виділити Google розробив QUIC (Швидкі UDP-підключення до Інтернету) з 2013 року як альтернатива пакету TCP + TLS для Інтернету, який вирішує проблеми з тривалим налаштуванням та часом узгодження для TCP-з'єднань та усуває затримки втрати пакетів під час передачі даних.
QUIC є доповненням до протоколу UDP, який підтримує мультиплексування кількох з'єднань і забезпечує методи шифрування, еквівалентні TLS / SSL.
Розглянутий протокол уже вбудований в серверну інфраструктуру Google, є частиною Chrome, планується включити у Firefox і активно використовується для обслуговування запитів клієнтів на серверах Google.
Серед основних характеристик QUIC, які виділяються, є:
- Високий рівень безпеки, подібний до TLS (насправді QUIC забезпечує можливість використання TLS через UDP)
- Контроль цілісності потоку, що запобігає втраті пакетів
- Можливість миттєвого встановлення з'єднання (0-RTT, приблизно в 75% випадків дані можуть передаватися відразу після відправки пакета налаштування з'єднання) і забезпечувати мінімальні затримки між відправленням запиту та отриманням відповіді (RTT, час зворотного зв'язку)
- Не використовувати однаковий номер послідовності при повторній передачі пакету, що дозволяє уникнути неоднозначності при визначенні прийнятих пакетів та усуває час очікування
- Втрата пакета впливає на доставку лише пов'язаного з ним потоку і не зупиняє доставку даних у потоках, що передаються паралельно по поточному з'єднанню
- Інструменти виправлення помилок, які мінімізують затримки через повторну передачу втрачених пакетів.
- Використання спеціальних кодів виправлення помилок на рівні пакетів для зменшення ситуацій, що вимагають повторної передачі втрачених пакетних даних.
- Криптографічні межі блоків вирівнюються з межами пакетів QUIC, зменшуючи вплив втрати пакетів на декодування вмісту наступних пакетів
- Немає проблем із блокуванням черги TCP
- Підтримка ідентифікатора з'єднання, що скорочує час на встановлення повторного підключення для мобільних клієнтів
- Можливість підключення вдосконалених механізмів для контролю перевантаження з'єднання
Також підкреслюється, що він використовує техніку прогнозування смуги пропускання в кожному напрямку забезпечити оптимальну інтенсивність доставки пакетів, запобігаючи досягненню ним стану перевантаження, при якому спостерігається втрата пакета;
Так само, як чудова продуктивність та приріст продуктивності порівняно з TCP. Для відеосервісів, таких як YouTube, QUIC продемонстрував зниження на 30% операцій повторної буферизації під час перегляду відео.
Протокол HTTP / 3 стандартизує використання QUIC як транспорту для HTTP / 2. Щоб увімкнути HTTP / 3 і версію QUIC 23 проекту специфікацій IETF, Chrome потрібно запустити з опціями "–enable-quic –quic-version = h3-23", а потім, коли сайт швидкого тестування відкриється .rocks: 4433 Режим перевірки мережі в інструментах розробника, діяльність HTTP / 3 відображатиметься як "http / 2 + quic / 99".
У порівнянні з пакетом, втраченим паралельними HTTP-з'єднаннями, лише 1 з багатьох з'єднань буде зупинено, а це означає, що QUIC може підтримувати доставку, що не працює, так що втрачений пакет матиме менший вплив.
Si ви хочете дізнатися більше про це з цього приводу ви можете проконсультуватися за наступним посиланням.