In experimentele builds ondersteuning voor het HTTP/3-protocol, dat een laag biedt voor het uitvoeren van HTTP boven het QUIC-protocol. Het QUIC-protocol zelf is vijf jaar geleden aan de browser toegevoegd en sindsdien wordt het gebruikt om de werking van Google-diensten te optimaliseren. De in Chrome toegepaste versie van QUIC van Google verschilde echter in enkele details van de versie uit IETF, maar nu zijn de implementaties gesynchroniseerd.
HTTP/3 standardiseert het gebruik van QUIC als transport voor HTTP/2. Om HTTP/3 en de QUIC-variant uit van de IETF-specificaties te activeren, moet Chrome worden gestart met de opties Ā«āenable-quic āquic-version=h3-23Ā», waarna de opening van een testwebsite in de netwerkinspectietool van de ontwikkelaar de activiteit via HTTP/3 zal weergeven als Ā«http/2+quic/99Ā».
Laten we niet vergeten dat het protocol (Quick UDP Internet Connections) sinds 2013 door Google wordt ontwikkeld als een alternatief voor de combinatie TCP+TLS voor het web, dat problemen met lange installatie- en onderhandeltijden in TCP oplost en vertragingen bij het verlies van pakketten tijdens gegevensoverdracht elimineert. QUIC is een laag boven het UDP-protocol, dat multiplexing van meerdere verbindingen ondersteunt en versleutelingsmethoden biedt die gelijk zijn aan TLS/SSL. Het behandelde protocol is al geĆÆntegreerd in de serverinfrastructuur van Google, maakt deel uit van Chrome, wordt opgenomen in Firefox en wordt actief gebruikt om klantverzoeken op Google-servers te verwerken.
Belangrijkste QUIC:
- Hoge beveiliging, vergelijkbaar met TLS (in wezen biedt QUIC de mogelijkheid om TLS boven UDP te gebruiken);
- Integriteitscontrole van de stream, wat pakketverlies voorkomt;
- De mogelijkheid om onmiddellijk verbinding te maken (0-RTT, in ongeveer 75% van de gevallen kunnen gegevens direct worden verzonden na het verzenden van het verbindingspakket) en minimale vertragingen te waarborgen tussen het verzenden van een verzoek en het ontvangen van een antwoord (RTT, Round Trip Time);
- Het niet gebruiken van het nummer van dezelfde volgorde bij het opnieuw verzenden van een pakket, wat dubbelzinnigheid bij de identificatie van ontvangen pakketten voorkomt en tijdsoverschrijdingen elimineert;
- Pakketverlies heeft alleen invloed op de aflevering van de bijbehorende stroom en stopt de aflevering van gegevens in de parallelle stromen die via de huidige verbinding worden verzonden;
- Foutcorrectiemechanismen verminderen vertragingen door het opnieuw verzenden van verloren pakketten. Het gebruik van speciale foutcorrectiecodes op het niveau van pakketten om situaties te verkorten die opnieuw verzenden van verloren gegevens vereisen.
- Cryptografische blokgrenzen zijn afgestemd op de QUIC-pakketgrenzen, waardoor de invloed van pakketverlies op het decoderen van de inhoud van volgende pakketten vermindert;
- Geen problemen met TCP-queue blocking.
- Ondersteuning voor een connectie-ID, waardoor de tijd voor het opnieuw tot stand brengen van een verbinding voor mobiele clients kan worden verkort.
- De mogelijkheid om geavanceerde mechanismen voor congestiecontrole in te schakelen.
- Het gebruik van bandbreedtevoorspellingstechnieken in beide richtingen om een optimale verzendintensiteit van pakketten te waarborgen, en te voorkomen dat het systeem in een overbelastingsstaat terechtkomt waarin pakketverlies optreedt.
- Significante van prestaties en bandbreedte vergeleken met TCP. Voor videoservices zoals YouTube heeft het gebruik van QUIC aangetoond dat het aantal herbufferingsoperaties tijdens het bekijken van video's met 30% is verminderd.
Bron: opennet.ru
