14. Taille du datagramme
14. Taille du datagramme
Un datagramme UDP peut inclure un ou plusieurs paquets QUIC. La taille du datagramme fait référence à la taille totale de la charge utile UDP d'un seul datagramme UDP transportant des paquets QUIC. La taille du datagramme inclut un ou plusieurs en-têtes de paquet QUIC et charges utiles protégées, mais pas les en-têtes UDP ou IP.
La taille maximale du datagramme est définie comme la plus grande taille de charge utile UDP pouvant être envoyée sur un chemin réseau en utilisant un seul datagramme UDP. QUIC NE DOIT PAS envoyer de datagrammes plus grands que la taille maximale du datagramme.
14.1 Taille initiale du datagramme
Un client DOIT étendre la charge utile de tous les datagrammes UDP transportant des paquets Initial à au moins 1200 octets. L'envoi de datagrammes UDP de cette taille garantit que le chemin réseau supporte une unité de transmission maximale de chemin (PMTU) raisonnable, dans les deux directions. Cela aide également à réduire l'amplitude des attaques d'amplification causées par les réponses du serveur vers une adresse client non vérifiée; voir Section 8.
14.2 Unité de transmission maximale de chemin
La PMTU est la taille maximale du paquet IP entier, y compris l'en-tête IP, l'en-tête UDP et la charge utile UDP. La charge utile UDP inclut un ou plusieurs en-têtes de paquet QUIC et charges utiles protégées.
Tous les paquets QUIC envoyés dans un datagramme DOIVENT tenir dans la taille maximale du datagramme. Si un paquet QUIC ne peut pas tenir dans la taille maximale du datagramme, il DOIT être envoyé dans un datagramme séparé.
14.2.1 Traitement des messages ICMP par PMTUD
Les implémentations DEVRAIENT traiter les messages ICMP qui indiquent que le paquet était trop grand (PTB) [RFC1191][RFC8201].
14.3 Découverte PMTU de la couche de paquétisation de datagramme
La découverte PMTU de la couche de paquétisation de datagramme (DPLPMTUD) [RFC8899] repose sur le suivi de la perte ou de l'accusé de réception des paquets QUIC transportés dans les sondes PMTU.
14.3.1 DPLPMTUD et connectivité initiale
Du point de vue de DPLPMTUD, QUIC est une couche de paquétisation (PL) avec accusé de réception. Un expéditeur QUIC peut donc entrer dans l'état BASE de DPLPMTUD (Section 5.2 de [RFC8899]) une fois que la connexion QUIC est établie.
14.3.2 Validation du chemin réseau avec DPLPMTUD
QUIC est une PL avec accusé de réception, donc les accusés de réception QUIC peuvent être utilisés comme confirmation qu'un paquet d'une certaine taille a été reçu avec succès.
14.3.3 Traitement des messages ICMP par DPLPMTUD
Un point de terminaison utilisant DPLPMTUD nécessite la connaissance de la taille maximale de la charge utile UDP pouvant être envoyée sur un chemin.
14.4 Envoi de sondes PMTU QUIC
Les sondes PMTU sont des paquets nécessitant un accusé de réception. Les points de terminaison valident qu'un chemin est capable de supporter une PMTU particulière en utilisant des sondes PMTU d'au moins cette taille.
14.4.1 Sondes PMTU contenant l'ID de connexion source
Les points de terminaison qui s'appuient sur l'adresse préférée du serveur (Section 9.6) ou la migration de connexion (Section 9) vers un nouveau chemin DEVRAIENT s'assurer que des paquets d'au moins la PMTU sont envoyables sur ces chemins.