Passa al contenuto principale

10. Improving loss recovery for TCP (Miglioramento del recupero dalle perdite 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.