Chrome dodaje eksperymentalną obsługę protokołu HTTP/3

Do eksperymentalnych konstrukcji Chrome Canary dodany поддержка протокола HTTP/3, реализующего надстройку для обеспечения работы HTTP поверх протокола QUIC. Непосредственно протокол QUIC был добавлен в браузер пять лет назад и с тех пор используется для оптимизации работы с сервисами Google. При этом применявшийся в Chrome вариант QUIC от Google в некоторых деталях отличался от варианта из specyfikacje 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, zaplanowany для включения в Firefox и активно применяется для обслуживания запросов клиентов на серверах Google.

Głównym Cechy SZYBKO:

  • Wysokie bezpieczeństwo podobne do TLS (zasadniczo QUIC zapewnia możliwość korzystania z TLS przez UDP);
  • Kontrola integralności przepływu, zapobiegająca utracie pakietów;
  • Możliwość błyskawicznego nawiązania połączenia (0-RTT, w około 75% przypadków dane mogą zostać przesłane natychmiast po wysłaniu pakietu konfigurującego połączenie) i zapewnienia minimalnych opóźnień pomiędzy wysłaniem żądania a otrzymaniem odpowiedzi (RTT, Round Trip Time);
  • Nieużywanie tego samego numeru sekwencyjnego podczas retransmisji pakietu, co pozwala uniknąć niejednoznaczności w identyfikacji odebranych pakietów i pozbyć się przekroczeń limitu czasu;
  • Utrata pakietu wpływa jedynie na dostarczanie powiązanego z nim strumienia i nie wstrzymuje dostarczania danych w równoległych strumieniach przesyłanych bieżącym połączeniem;
  • Funkcje korekcji błędów minimalizujące opóźnienia spowodowane retransmisją utraconych pakietów. Zastosowanie specjalnych kodów korekcji błędów na poziomie pakietu w celu ograniczenia sytuacji wymagających retransmisji utraconych danych pakietowych.
  • Криптографические границы блоков выравнены с границами пакетов QUIC, что уменьшает влияние потерь пакетов на декодирование содержимого следующих пакетов;
  • Brak problemów z blokowaniem kolejek TCP;
  • Obsługa identyfikatora połączenia, co skraca czas potrzebny na nawiązanie ponownego połączenia dla klientów mobilnych;
  • Możliwość podłączenia zaawansowanych mechanizmów kontroli przeciążenia łączy;
  • Wykorzystuje techniki prognozowania przepustowości w poszczególnych kierunkach, aby zapewnić, że pakiety są wysyłane z optymalną szybkością, zapobiegając ich przeciążeniu i powodując utratę pakietów;
  • Wyczuwalny zyskać wydajność i przepustowość w porównaniu do protokołu TCP. Wykazano, że w przypadku usług wideo, takich jak YouTube, QUIC zmniejsza liczbę operacji ponownego buforowania podczas oglądania filmów o 30%.

Źródło: opennet.ru

Dodaj komentarz