Passa al contenuto principale

13. Pacchettizzazione e affidabilità

13. Pacchettizzazione e affidabilità

Un mittente invia uno o più frame in un pacchetto QUIC (Sezione 12.4). Un mittente può minimizzare i costi di larghezza di banda e computazionali per pacchetto includendo quanti più frame possibile in ciascun pacchetto QUIC. Un mittente PUÒ attendere un breve periodo di tempo per raccogliere più frame prima di inviare un pacchetto che non è massimamente riempito, per evitare di inviare grandi quantità di piccoli pacchetti.

13.1 Elaborazione dei pacchetti

Un pacchetto NON DEVE essere riconosciuto finché la protezione del pacchetto non è stata rimossa con successo e tutti i frame contenuti nel pacchetto non sono stati elaborati. Per i frame STREAM, ciò significa che i dati sono stati accodati in preparazione per essere ricevuti dal protocollo applicativo, ma non richiede che i dati siano consegnati e consumati.

13.2 Generazione di riconoscimenti

Gli endpoint riconoscono tutti i pacchetti che ricevono ed elaborano. Tuttavia, solo i pacchetti che richiedono acknowledgment causano l'invio di un frame ACK entro il ritardo massimo di acknowledgment. I pacchetti che non richiedono acknowledgment vengono riconosciuti solo quando un frame ACK viene inviato per altri motivi.

13.2.1 Invio di frame ACK

Ogni pacchetto DOVREBBE essere riconosciuto almeno una volta, e i pacchetti che richiedono acknowledgment DEVONO essere riconosciuti almeno una volta entro il ritardo massimo comunicato da un endpoint utilizzando il parametro di trasporto max_ack_delay; vedere Sezione 18.2.

13.2.2 Frequenza di riconoscimento

Un ricevitore determina quanto frequentemente inviare riconoscimenti in risposta ai pacchetti che richiedono acknowledgment. Questa determinazione è specifica dell'implementazione.

13.2.3 Gestione degli intervalli ACK

Quando viene inviato un frame ACK, vengono inclusi uno o più intervalli di pacchetti riconosciuti. L'inclusione di intervalli più vecchi riduce la probabilità di ritrasmissioni spurie causate dalla perdita di frame ACK inviati precedentemente.

13.2.4 Limitazione degli intervalli tramite tracciamento dei frame ACK

Quando un mittente riceve un riconoscimento per un pacchetto contenente un frame ACK, il mittente può smettere di riconoscere pacchetti minori o uguali al più grande riconosciuto in quel frame ACK.

13.2.5 Misurazione e segnalazione del ritardo dell'host

Un endpoint misura il ritardo dal momento in cui viene ricevuto un pacchetto che richiede acknowledgment al momento in cui viene inviato l'ACK corrispondente.

13.2.6 Frame ACK e protezione dei pacchetti

I frame ACK DEVONO essere trasportati solo in un pacchetto che ha lo stesso spazio di numeri di pacchetto del pacchetto riconosciuto.

13.2.7 I frame PADDING consumano la finestra di congestione

I pacchetti contenenti frame PADDING sono considerati in volo ai fini del controllo della congestione [QUIC-RECOVERY].

13.3 Ritrasmissione delle informazioni

QUIC utilizza una combinazione di riconoscimento negativo (NACK) e riconoscimento positivo (ACK) per attivare la ritrasmissione. I pacchetti QUIC non vengono ritrasmessi interamente; quando i pacchetti sono determinati persi, le informazioni che potrebbero essere trasportate in essi vengono inviate nuovamente in nuovi pacchetti secondo necessità.

Nuovi frame e pacchetti vengono utilizzati per trasportare informazioni determinate come perse. In generale, le informazioni vengono inviate nuovamente quando un pacchetto contenente tali informazioni è determinato perso e l'invio cessa quando un pacchetto contenente tali informazioni è riconosciuto.

13.4 Notifica esplicita di congestione

Gli endpoint QUIC utilizzano la notifica esplicita di congestione (ECN) [RFC3168] per rilevare e rispondere alla congestione della rete. ECN consente a un endpoint di contrassegnare i pacchetti per richiedere che un elemento di rete aggiunga una marcatura di congestione sperimentata (CE) piuttosto che scartare il pacchetto.

13.4.1 Segnalazione dei conteggi ECN

L'uso di ECN richiede che entrambi gli endpoint abilitino ECN nei pacchetti IP e segnalino la ricezione di marcature CE nei frame ACK QUIC.

13.4.2 Validazione ECN

È possibile che dispositivi di rete difettosi corrompano o scartino erroneamente pacchetti che portano un codepoint ECN diverso da zero. Per garantire la connettività in presenza di tali dispositivi, un endpoint valida i conteggi ECN che riceve dal suo peer e disabilita ECN se i conteggi appaiono inaffidabili.