Passa al contenuto principale

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.