Résumé
- Un datagramme UDP peut contenir plusieurs paquets QUIC complets, notamment Initial, Handshake et données applicatives.
- Chaque paquet conserve sa protection, son espace de numéros de paquets, son traitement, son ACK et son état de perte.
- Les systèmes doivent conserver les preuves par paquet et les relier séparément aux résultats applicatifs.
Une capture peut montrer Initial, Handshake et 1-RTT dans le même datagramme UDP. Cette proximité décrit un mode de transport observé depuis un point de capture donné ; elle ne constitue pas une nouvelle unité de livraison. Pour QUIC, le paquet est une unité complète et traitable. UDP fournit seulement l’enveloppe qui peut en transporter un ou plusieurs.
La coalescence améliore l’efficacité du transport sur le réseau. Elle peut réduire le nombre de datagrammes nécessaires pour terminer l’établissement cryptographique et commencer l’échange de données. Le récepteur doit néanmoins être capable de repérer et de traiter les paquets coalescés. Les paquets Initial, 0-RTT et Handshake possèdent un champ Length qui permet de retrouver leurs limites. Un paquet à en-tête court ne possède pas ce champ et ne peut donc être placé qu’en dernier. Les paquets Retry et Version Negotiation ne sont pas coalescés avec un autre paquet, et des identifiants de connexion différents interdisent la coalescence.
Ces contraintes de format ne fusionnent pas les sémantiques des paquets. Chaque paquet coalescé doit être traité individuellement et acquitté séparément, comme s’il était arrivé dans un datagramme différent. Si un paquet ne peut pas être déchiffré, le récepteur peut le supprimer ou le mettre en attente, mais il doit tout de même tenter de traiter les autres. Un tableau de bord qui transforme l’ensemble en un seul événement de réussite de la négociation perd donc une distinction que le protocole impose de conserver.
Les espaces de numéros de paquets confirment cette séparation. Initial, Handshake et les données applicatives utilisent des espaces distincts. Un ACK désigne les paquets de l’espace auquel il appartient ; la juxtaposition dans une enveloppe UDP ne crée ni séquence unique ni domaine d’acquittement commun. La perte ne produit pas davantage un objet de retransmission partagé. Lorsque QUIC déclare un paquet perdu, les trames qu’il transportait déterminent l’information à envoyer de nouveau. Cette information est généralement placée dans de nouveaux paquets et le numéro du paquet d’origine n’est pas réutilisé.
Il faut aussi distinguer plusieurs paquets coalescés de plusieurs trames dans un seul paquet. La perte d’un paquet peut bloquer les flux dont les données y figuraient, tandis que d’autres flux continuent de progresser. Cette conséquence vient du multiplexage de trames dans le même paquet QUIC, et non du fait que des paquets distincts partagent un datagramme UDP.
La règle des 1200 octets est une contrainte particulière de transport. Un datagramme UDP qui porte un paquet Initial doit atteindre ce minimum par remplissage ou coalescence ; un serveur élimine un Initial reçu dans un datagramme plus petit. Cette règle de taille ne transforme pas tous les paquets de l’enveloppe en une livraison indivisible.
Les considérations de sécurité de RFC 9000 vont dans le même sens : sauf la règle de remplissage applicable aux datagrammes contenant Initial, modifier le regroupement des paquets dans les datagrammes UDP n’a pas d’effet fonctionnel sur la connexion, même si les caractéristiques de performance peuvent changer.
Il faut conserver l’identifiant du datagramme et le point de capture, les extrémités source et destination, la taille totale, les offsets et longueurs ordonnés, les identifiants de connexion, les types, les niveaux de chiffrement, les espaces de numéros et les numéros décodés lorsqu’ils sont disponibles. Le relevé doit aussi inclure le résultat de déchiffrement et de traitement pour chaque paquet, l’inventaire des trames, la lignée des ACK et des plages d’ACK, les déclarations de perte, la correspondance avec les informations retransmises, les identifiants et plages de flux, la conformité aux 1200 octets et le rôle éventuel d’une sonde PMTU.
La réception par l’application reste un enregistrement distinct.
Observer une enveloppe prouve seulement qu’un datagramme a été observé à un point de capture précis et qu’un événement de transport a eu lieu depuis ce point de vue. Cela ne prouve pas que chaque paquet a été déchiffré, traité ou acquitté, ni que l’information de chacun a été récupérée après une perte. Cela ne prouve pas non plus que des octets ont atteint l’espace utilisateur, qu’un message est terminé, qu’une écriture durable a été effectuée ou qu’une action métier a abouti.
Briefing des membres
Contexte approfondi du profil
Connectez-vous avec le bon niveau d'adhésion pour débloquer le briefing complet et les notes de source.
Réservé à Strategic Circle
Strategic Circle
Ouvert à tous les lecteurs. Débloquez les briefings de profil après adhésion et connexion.
Rejoindre Strategic CircleRéservé aux membres de Leadership Alliance
Leadership Alliance
Réservé aux propriétaires et dirigeants qualifiés d'actifs IP ; connectez-vous pour débloquer les briefings Alliance.
Rejoindre Leadership Alliance

