5. Modifiche rispetto alla RFC 793 (Changes from RFC 793)
Questa sezione riassume le principali modifiche apportate in questo documento rispetto alla RFC 793 e ai suoi aggiornamenti successivi.
5.1. Modifiche alla specifica del protocollo
Aggiornamenti del formato dell'intestazione:
- Aggiornamento dei bit di controllo dell'intestazione TCP secondo la RFC 3168, aggiungendo i flag CWR (Congestion Window Reduced, finestra di congestione ridotta) ed ECE (ECN-Echo, eco ECN)
- Chiarimento dei requisiti di gestione per i bit riservati
Gestione dei numeri di sequenza:
- Chiarimento del meccanismo di selezione del numero di sequenza iniziale (Initial Sequence Number, ISN)
- Aggiornamento del confronto dei numeri di sequenza e della gestione del wrap-around
Gestione delle connessioni:
- Aggiunta di chiarimenti per la gestione del reset nello stato SYN-RECEIVED (aggiorna la RFC 5961)
- Chiarimento della gestione dell'apertura simultanea (Simultaneous Open)
- Aggiornamento della durata e della gestione dello stato TIME-WAIT
Elaborazione delle opzioni:
- Chiarimento del set di opzioni obbligatorie: End of Option List, No-Operation, Maximum Segment Size
- Aggiornamento dei requisiti di gestione per opzioni sconosciute
- Aggiunta di riferimenti alle opzioni sperimentali
5.2. Contenuto reso obsoleto
Questo documento rende obsolete le seguenti RFC:
- RFC 793 - Specifica TCP originale (1981)
- RFC 879 - Dimensione massima del segmento TCP e argomenti correlati
- RFC 2873 - Elaborazione TCP del campo di precedenza IPv4
- RFC 6093 - Sull'implementazione del meccanismo urgente TCP
- RFC 6429 - Chiarimento del mittente TCP per la condizione di persistenza
- RFC 6528 - Difesa contro gli attacchi al numero di sequenza
- RFC 6691 - Opzioni TCP e dimensione massima del segmento (MSS)
5.3. Contenuto aggiornato
Questo documento aggiorna le seguenti RFC:
- RFC 1011 - Protocolli Internet ufficiali (sezione TCP)
- RFC 1122 - Requisiti per gli host Internet -- Livelli di comunicazione (sezione TCP)
- RFC 5961 - Miglioramento della robustezza di TCP agli attacchi blind in-window (gestione dello stato SYN-RECEIVED)
5.4. Miglioramenti della sicurezza
- Aggiunta di meccanismi di protezione contro gli attacchi ciechi
- Aggiornamento delle difese contro gli attacchi al numero di sequenza
- Chiarimento delle migliori pratiche di implementazione della sicurezza
- Aggiunta di considerazioni per gli attacchi SYN flood
5.5. Miglioramenti delle prestazioni
- Riferimento agli algoritmi moderni di controllo della congestione
- Aggiornamento del calcolo del timeout di ritrasmissione (Retransmission Timeout, RTO)
- Aggiunta di riferimenti alle estensioni ad alte prestazioni (scaling della finestra, timestamp, SACK)
- Chiarimento dei requisiti di implementazione dell'algoritmo di Nagle
5.6. Chiarimenti sull'interoperabilità
- Chiarimento della gestione dei segmenti malformati
- Aggiornamento della gestione delle condizioni di errore
- Chiarimento del comportamento nei casi limite
- Unificazione della terminologia e delle definizioni
5.7. Modifiche editoriali
- Modernizzazione del linguaggio e della terminologia
- Riorganizzazione dei contenuti per migliorare la leggibilità
- Aggiunta di linee guida per l'implementazione
- Aggiornamento dei riferimenti
- Standardizzazione dell'uso delle parole chiave RFC 2119
5.8. Contenuto non incluso
Il seguente contenuto, pur essendo parti importanti delle implementazioni TCP moderne, è specificato in documenti separati:
- Algoritmi dettagliati di controllo della congestione (RFC 5681, ecc.)
- Estensioni ad alte prestazioni (RFC 7323 - scaling della finestra, timestamp)
- Riconoscimento selettivo SACK (RFC 2018, RFC 2883)
- TCP Fast Open (RFC 7413)
- TCP multipath (RFC 8684)
Questa è una scelta progettuale deliberata per mantenere la chiarezza della specifica di base consentendo a queste estensioni di evolversi indipendentemente.
Nota: Per un elenco completo delle modifiche e delle correzioni errata, vedere la sezione 5 del documento ufficiale RFC 9293.