Zum Hauptinhalt springen

14. Datagramm-Größe

14. Datagramm-Größe

Ein UDP-Datagramm kann ein oder mehrere QUIC-Pakete enthalten. Die Datagramm-Größe bezieht sich auf die gesamte UDP-Payload-Größe eines einzelnen UDP-Datagramms, das QUIC-Pakete trägt. Die Datagramm-Größe umfasst einen oder mehrere QUIC-Paket-Header und geschützte Payloads, jedoch nicht die UDP- oder IP-Header.

Die maximale Datagramm-Größe ist definiert als die größte UDP-Payload-Größe, die über einen Netzwerkpfad mit einem einzelnen UDP-Datagramm gesendet werden kann. QUIC DARF KEINE Datagramme senden, die größer als die maximale Datagramm-Größe sind.

14.1 Initiale Datagramm-Größe

Ein Client MUSS die Payload aller UDP-Datagramme, die Initial-Pakete tragen, auf mindestens 1200 Bytes erweitern. Das Senden von UDP-Datagrammen dieser Größe stellt sicher, dass der Netzwerkpfad eine angemessene Path Maximum Transmission Unit (PMTU) in beide Richtungen unterstützt. Dies hilft auch, die Amplitude von Verstärkungsangriffen zu reduzieren, die durch Serverantworten an eine nicht verifizierte Client-Adresse verursacht werden; siehe Abschnitt 8.

14.2 Pfad-Maximum-Transmission-Unit

Die PMTU ist die maximale Größe des gesamten IP-Pakets, einschließlich IP-Header, UDP-Header und UDP-Payload. Die UDP-Payload umfasst einen oder mehrere QUIC-Paket-Header und geschützte Payloads.

Alle QUIC-Pakete, die in einem Datagramm gesendet werden, MÜSSEN innerhalb der maximalen Datagramm-Größe passen. Wenn ein QUIC-Paket nicht in die maximale Datagramm-Größe passt, MUSS es in einem separaten Datagramm gesendet werden.

14.2.1 Behandlung von ICMP-Nachrichten durch PMTUD

Implementierungen SOLLTEN ICMP-Nachrichten behandeln, die anzeigen, dass das Paket zu groß war (PTB) [RFC1191][RFC8201].

14.3 Datagram Packetization Layer PMTU Discovery

Datagram Packetization Layer PMTU Discovery (DPLPMTUD) [RFC8899] basiert auf der Verfolgung von Verlust oder Bestätigung von QUIC-Paketen, die in PMTU-Sonden getragen werden.

14.3.1 DPLPMTUD und initiale Konnektivität

Aus der Perspektive von DPLPMTUD ist QUIC eine bestätigte Paketisierungsschicht (PL). Ein QUIC-Sender kann daher in den DPLPMTUD BASE-Zustand eintreten (Abschnitt 5.2 von [RFC8899]), sobald die QUIC-Verbindung hergestellt ist.

14.3.2 Validierung des Netzwerkpfads mit DPLPMTUD

QUIC ist eine bestätigte PL, sodass QUIC-Bestätigungen als Bestätigung verwendet werden können, dass ein Paket einer bestimmten Größe erfolgreich empfangen wurde.

14.3.3 Behandlung von ICMP-Nachrichten durch DPLPMTUD

Ein Endpunkt, der DPLPMTUD verwendet, benötigt Kenntnis der maximalen Größe der UDP-Payload, die über einen Pfad gesendet werden kann.

14.4 Senden von QUIC PMTU-Sonden

PMTU-Sonden sind ACK-auslösende Pakete. Endpunkte validieren, dass ein Pfad in der Lage ist, eine bestimmte PMTU zu unterstützen, indem sie PMTU-Sonden verwenden, die mindestens so groß sind.

14.4.1 PMTU-Sonden mit Source Connection ID

Endpunkte, die sich auf die bevorzugte Adresse des Servers (Abschnitt 9.6) oder Verbindungsmigration (Abschnitt 9) zu einem neuen Pfad verlassen, SOLLTEN sicherstellen, dass Pakete von mindestens der PMTU auf diesen Pfaden sendbar sind.