Passa al contenuto principale

10. Low-loss header compression for TCP (Compressione delle intestazioni a bassa perdita per TCP)

10. Improving loss recovery for TCP (Miglioramento del recupero dalle perdite per TCP)​

Questa sezione descrive due meccanismi che accelerano il recupero dopo la perdita di intestazioni TCP compresse. Questi meccanismi sono particolarmente importanti per link a media velocità con un alto tasso di perdita dei pacchetti.

10.1 Explicit header request from decompressor (Richiesta esplicita di intestazione dal decompressore)​

Quando il decompressore rileva che il contesto di una connessione TCP non è sincronizzato, può richiedere un'intestazione completa inviando una richiesta di intestazione al compressore. La richiesta di intestazione è un pacchetto speciale che contiene l'elenco dei CID delle connessioni TCP non sincronizzate.

Un modo in cui il decompressore può rilevare la mancata sincronizzazione è ricevere un pacchetto TCP il cui checksum TCP fallisce. Questo indica che l'intestazione TCP compressa è stata decompressa in modo errato.

Dopo aver ricevuto una richiesta di intestazione, il compressore dovrebbe inviare un'intestazione completa o un pacchetto COMPRESSED_TCP_NODELTA per le connessioni TCP corrispondenti ai CID elencati.

10.2 CONTEXT_STATE packet (Pacchetto CONTEXT_STATE)​

Il pacchetto CONTEXT_STATE è un pacchetto speciale inviato dal decompressore al compressore. Contiene l'elenco dei CID TCP che hanno perso la sincronizzazione.

Il formato del pacchetto CONTEXT_STATE è il seguente:

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CONTEXT_STATE marker | Number of CIDs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CID 1 | CID 2 | ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Il marker CONTEXT_STATE è un valore speciale a 16 bit che identifica questo pacchetto come pacchetto CONTEXT_STATE.

Il campo Number of CIDs indica quanti CID sono contenuti in questo pacchetto.

Il campo CID è un valore CID a 8 bit.

Dopo aver ricevuto un pacchetto CONTEXT_STATE, il compressore dovrebbe inviare un'intestazione completa o un pacchetto COMPRESSED_TCP_NODELTA per le connessioni TCP corrispondenti ai CID elencati.