Passa al contenuto principale

14. Dimensione del datagramma

14. Dimensione del datagramma

Un datagramma UDP può includere uno o più pacchetti QUIC. La dimensione del datagramma si riferisce alla dimensione totale del payload UDP di un singolo datagramma UDP che trasporta pacchetti QUIC. La dimensione del datagramma include una o più intestazioni di pacchetto QUIC e payload protetti, ma non le intestazioni UDP o IP.

La dimensione massima del datagramma è definita come la dimensione più grande del payload UDP che può essere inviata su un percorso di rete utilizzando un singolo datagramma UDP. QUIC NON DEVE inviare datagrammi più grandi della dimensione massima del datagramma.

14.1 Dimensione iniziale del datagramma

Un client DEVE espandere il payload di tutti i datagrammi UDP che trasportano pacchetti Initial ad almeno 1200 byte. L'invio di datagrammi UDP di questa dimensione garantisce che il percorso di rete supporti un'unità di trasmissione massima del percorso (PMTU) ragionevole, in entrambe le direzioni. Questo aiuta anche a ridurre l'ampiezza degli attacchi di amplificazione causati dalle risposte del server verso un indirizzo client non verificato; vedere Sezione 8.

14.2 Unità di trasmissione massima del percorso

La PMTU è la dimensione massima dell'intero pacchetto IP, inclusa l'intestazione IP, l'intestazione UDP e il payload UDP. Il payload UDP include una o più intestazioni di pacchetto QUIC e payload protetti.

Tutti i pacchetti QUIC inviati in un datagramma DEVONO adattarsi alla dimensione massima del datagramma. Se un pacchetto QUIC non può adattarsi alla dimensione massima del datagramma, DEVE essere inviato in un datagramma separato.

14.2.1 Gestione dei messaggi ICMP da parte di PMTUD

Le implementazioni DOVREBBERO gestire i messaggi ICMP che indicano che il pacchetto era troppo grande (PTB) [RFC1191][RFC8201].

14.3 Scoperta PMTU del livello di pacchettizzazione del datagramma

La scoperta PMTU del livello di pacchettizzazione del datagramma (DPLPMTUD) [RFC8899] si basa sul tracciamento della perdita o del riconoscimento dei pacchetti QUIC trasportati nelle sonde PMTU.

14.3.1 DPLPMTUD e connettività iniziale

Dal punto di vista di DPLPMTUD, QUIC è un livello di pacchettizzazione (PL) con riconoscimento. Un mittente QUIC può quindi entrare nello stato BASE di DPLPMTUD (Sezione 5.2 di [RFC8899]) una volta che la connessione QUIC è stabilita.

14.3.2 Validazione del percorso di rete con DPLPMTUD

QUIC è una PL con riconoscimento, quindi i riconoscimenti QUIC possono essere utilizzati come conferma che un pacchetto di una certa dimensione è stato ricevuto con successo.

14.3.3 Gestione dei messaggi ICMP da parte di DPLPMTUD

Un endpoint che utilizza DPLPMTUD richiede la conoscenza della dimensione massima del payload UDP che può essere inviato su un percorso.

14.4 Invio di sonde PMTU QUIC

Le sonde PMTU sono pacchetti che richiedono acknowledgment. Gli endpoint validano che un percorso sia in grado di supportare una particolare PMTU utilizzando sonde PMTU che sono almeno di quella dimensione.

14.4.1 Sonde PMTU contenenti l'ID di connessione sorgente

Gli endpoint che si affidano all'indirizzo preferito del server (Sezione 9.6) o alla migrazione della connessione (Sezione 9) verso un nuovo percorso DOVREBBERO assicurarsi che pacchetti di almeno la PMTU siano inviabili su questi percorsi.