Résumé

  • La version 02 du projet MASQUE, datée du 28 octobre, précise que le paramètre mtu annoncé par un pair borne la taille du paquet après reconstruction. Il ne mesure ni le chemin IP ni la place disponible dans une trame QUIC DATAGRAM.
  • À taille d’origine égale, la compression peut produire des datagrammes de tailles différentes. La réussite d’une sonde PMTU ne garantit donc pas le passage des autres paquets; la section 5.1.5 demande de considérer la compression la moins favorable pour le trafic qui partage un MTU de tunnel.

Un chiffre sur la porte du destinataire

Dans le champ HTTP http-datagram-contexts, un pair peut annoncer mtu=1500. L’inscription concerne sa capacité à recevoir un paquet une fois les opérations de traitement achevées. Un modèle peut retirer les octets stables; un contexte peut recalculer une longueur ou compléter une somme de contrôle; le destinataire reconstitue ensuite le paquet destiné au protocole transporté. Le plafond annoncé protège cette dernière étape. Il dit combien le destinataire accepte de remettre sur pied, pas combien de place offre chaque lien en amont.

Cette distinction commence avant le premier octet comprimé. Les capacités sont directionnelles. Chaque extrémité annonce les contextes qu’elle accepte de recevoir et de maintenir pour les datagrammes venant de l’autre. Un émetteur ne peut créer un contexte que si son pair a annoncé la capacité correspondante. La même valeur de mtu affichée par les deux côtés ne rend pas leurs autres capacités symétriques: l’exemple du projet montre des listes différentes de champs dérivables et une prise en charge différente du calcul de somme de contrôle.

La version 01 de juillet connaissait déjà le plafond des paquets reconstruits. Elle interdisait d’envoyer un datagramme qui, une fois traité, dépasserait la limite annoncée. La version 02 n’invente pas cette règle. Elle ajoute les mots qui empêchent de la vendre comme une mesure du réseau: mtu représente le choix du récepteur, et une valeur annoncée ne garantit pas qu’un paquet de cette taille entre dans une trame QUIC DATAGRAM. La contrainte s’applique aussi aux DATAGRAM Capsules et aux paquets envoyés sans contexte de compression. On peut contourner une méthode de transport, pas la capacité de reconstruction que l’autre extrémité a déclarée.

Le chemin ne lit pas l’étiquette

La compression promet de vrais gains. Des paquets IP ou des trames Ethernet transportés par HTTP répètent des champs identiques sur un flux. Les modèles MASQUE retirent des segments constants; les champs dérivés évitent d’expédier des valeurs que le destinataire peut recalculer. Un paquet trop gros dans sa forme complète peut devenir assez court pour entrer dans une trame QUIC DATAGRAM. Le fait décisif est la taille après ces opérations, avec ses en-têtes extérieurs.

La section 5.1.5 exige que la trame QUIC DATAGRAM ainsi obtenue respecte la limite de trame du pair. Le paquet IP extérieur, en comptant HTTP/3, QUIC, UDP et IP, doit tenir dans le MTU du chemin courant. Un paquet reconstruit de 1500 octets peut passer si la forme transmise est assez courte. Un autre, pourtant plus petit que le plafond du récepteur, peut échouer faute de contexte adapté ou parce que ses octets se compriment mal. L’annonce du récepteur est une condition d’acceptation. Le chemin pose une autre condition, à un autre endroit.

La révision d’octobre donne un avertissement plus mordant pour la découverte du MTU. Deux paquets de même taille initiale, y compris une sonde PMTU et un paquet de travail, peuvent bénéficier de compressions différentes. La sonde passe; l’exploitant relève le MTU apparent du tunnel; le trafic suivant rencontre la porte étroite. Le résultat de la sonde prouve le passage de ce datagramme-là, avec son contexte et sa taille sur le fil. Il ne délivre pas un permis général aux paquets de même taille avant compression. Le projet renvoie aussi à RFC 8899 pour le cas où plusieurs flux partagent un état de PMTU tout en employant des contextes distincts.

Le conseil opérationnel découle de cette asymétrie: pour choisir le MTU du tunnel ou signaler un PMTU au trafic transporté, les extrémités devraient tenir compte de la compression la moins disponible aux flux qui partagent ce nombre, y compris l’absence de compression. Le chiffre tiré du paquet le plus docile est une publicité pour un modèle. Il ne décrit pas la capacité commune. Le coût d’une valeur trop optimiste n’apparaît pas sur la sonde qui a réussi; il apparaît sur les paquets que le modèle ne savait pas amincir.

Le détour fiable change le service

Une autre tentation se présente quand la trame QUIC DATAGRAM ne peut pas transporter le paquet: le placer dans des DATAGRAM Capsules réparties sur plusieurs paquets de transport. Le projet reconnaît cette possibilité là où le protocole HTTP sous-jacent l’autorise. Elle apporte une livraison fiable, du blocage en tête de ligne, des tampons et des retransmissions supplémentaires. L’ordre par rapport aux trames QUIC DATAGRAM peut changer. L’application qui attendait un chemin de datagrammes reçoit alors un autre profil de délai et d’ordre, même si le contenu initial n’a pas grandi.

La section 5.1.5 rappelle les règles de CONNECT-IP et CONNECT-UDP: pour les paquets trop gros, ces textes recommandent de les éliminer et de renvoyer un ICMP Packet Too Big, plutôt que de les faire passer discrètement dans des capsules. Le signal permet au trafic transporté d’ajuster sa taille. Le détour fiable peut masquer la limite à sa découverte du PMTU. Il n’augmente ni le MTU du chemin ni le plafond de reconstruction annoncé par le récepteur.

Le dossier public ne contient pas de capture d’un tunnel déployé ni de mesure d’incident. Le test utile mettrait côte à côte deux paquets de même taille d’origine, les contextes choisis, leurs tailles sur le fil, la limite du chemin et le retour Packet Too Big. C’est assez pour établir si l’écart redouté se produit dans une implémentation, sans inventer de gain universel. Le Datatracker classe toujours la version 02 comme projet actif du groupe MASQUE, avec l’état IESG « I-D Exists ».

On peut supprimer des octets redondants dans un proxy. On ne supprime pas, par contrat HTTP, la largeur d’un passage dans le réseau.

Sources