Assemblages expérimentaux prise en charge du protocole HTTP/3, qui implémente une couche pour exécuter HTTP sur le protocole QUIC. Le protocole QUIC a été ajouté au navigateur il y a cinq ans et est depuis utilisé pour optimiser les services de Google. Cependant, la variante de QUIC utilisée dans Chrome différait sur certains points de celle de l'IETF, mais les implémentations sont désormais synchronisées.
HTTP/3 standardise l'utilisation de QUIC comme transport pour HTTP/2. Pour activer HTTP/3 et la variante QUIC de des spĂ©cifications de l'IETF, il faut lancer Chrome avec les options « âenable-quic âquic-version=h3-23 », aprĂšs quoi l'ouverture d'un site de test en mode d'inspection rĂ©seau dans les outils pour dĂ©veloppeurs affichera l'activitĂ© HTTP/3 comme « http/2+quic/99 ».
Rappelons que le protocole (Quick UDP Internet Connections) est dĂ©veloppĂ© depuis 2013 par Google comme une alternative Ă la combinaison TCP+TLS pour le Web, rĂ©solvant les problĂšmes liĂ©s aux temps de connexion Ă©levĂ©s et Ă la nĂ©gociation dans TCP, et Ă©liminant les retards lors de la perte de paquets pendant la transmission des donnĂ©es. QUIC est une surcouche sur le protocole UDP, prenant en charge le multiplexage de plusieurs connexions et fournissant des mĂ©thodes de chiffrement Ă©quivalentes Ă TLS/SSL. Ce protocole est dĂ©jĂ intĂ©grĂ© dans l'infrastructure serveur de Google, fait partie de Chrome, pour ĂȘtre activĂ© dans Firefox et est largement utilisĂ© pour traiter les demandes des clients sur les serveurs de Google.
Principales QUIC :
- Haute sécurité, similaire à TLS (en substance, QUIC permet d'utiliser TLS sur UDP) ;
- ContrĂŽle de l'intĂ©gritĂ© du flux, empĂȘchant la perte de paquets ;
- PossibilitĂ© d'Ă©tablir une connexion instantanĂ©ment (0-RTT, dans environ 75% des cas les donnĂ©es peuvent ĂȘtre transmises immĂ©diatement aprĂšs l'envoi du paquet d'Ă©tablissement de connexion) et de garantir des dĂ©lais minimaux entre l'envoi de la demande et la rĂ©ception de la rĂ©ponse (RTT, Round Trip Time) ;
- Non-utilisation lors de la retransmission d'un paquet du mĂȘme numĂ©ro de sĂ©quence, permettant d'Ă©viter toute ambiguĂŻtĂ© lors de la dĂ©termination des paquets reçus et d'Ă©liminer les dĂ©lais d'attente ;
- La perte d'un paquet n'affecte que la livraison du flux qui lui est associé et ne bloque pas la livraison des données dans les flux simultanément transmis via la connexion actuelle ;
- Les mécanismes de correction d'erreurs réduisent les délais dus à la retransmission des paquets perdus. L'utilisation de codes spécifiques de correction d'erreurs au niveau du paquet permet de réduire les situations nécessitant la retransmission des données d'un paquet perdu.
- Les frontiÚres cryptographiques des blocs sont alignées sur les frontiÚres des paquets QUIC, ce qui réduit l'impact des pertes de paquets sur le décodage du contenu des paquets suivants.
- Absence de problĂšmes de blocage de la queue TCP.
- Support de l'identifiant de connexion, permettant de réduire le temps d'établissement d'une reconnexion pour les clients mobiles.
- Capacité à se connecter à des mécanismes avancés de contrÎle de congestion.
- Utilisation de techniques de prĂ©vision de bande passante dans chaque direction pour garantir une intensitĂ© d'envoi optimale des paquets, empĂȘchant un glissement vers un Ă©tat de congestion, oĂč des pertes de paquets sont observĂ©es.
- Une augmentation de performance et de bande passante par rapport à TCP. Pour les services vidéo tels que YouTube, l'application de QUIC a montré une réduction de 30% des opérations de re-buffering lors du visionnage de vidéos.
Source : opennet.ru
