RFC 7413 - TCP Fast Open
- Stato: Experimental
- Pubblicato: December 2014
- Stream: IETF
- Errata: Nessun errata
Riepilogo
Questo documento descrive un meccanismo TCP sperimentale chiamato TCP Fast Open (TFO). TFO consente lo scambio di dati durante l'handshake TCP utilizzando un TFO Cookie (un campo di opzione TCP) per validare i client precedentemente connessi. Questo riduce la latenza delle nuove connessioni TCP ed è particolarmente prezioso per le applicazioni sensibili alla latenza come i servizi web.
Importanza tecnica: TCP Fast Open può ridurre il tempo di richiesta-risposta HTTP di un tempo di andata e ritorno (RTT) completo, particolarmente vantaggioso per le connessioni di breve durata.
Indice
Sezioni principali
-
- 1.1. Motivazione
- 1.2. Concetti chiave
-
- 2.1. Richiesta cookie TFO
- 2.2. Risposta cookie TFO
- 2.3. Connessione TCP Fast Open
- 2.4. Riutilizzo dei cookie
-
- 3.1. Richiesta cookie TCP Fast Open
- 3.2. Concessione cookie TCP Fast Open
- 3.3. TCP Fast Open
- 3.4. Gestione dei cookie
-
4. Considerazioni sulla sicurezza
- 4.1. Minacce di attacco
- 4.2. Attacchi di amplificazione
- 4.3. Esaurimento delle risorse
- 4.4. Considerazioni sulla privacy
-
- 6.1. Riferimenti normativi
- 6.2. Riferimenti informativi
Appendici
Punti tecnici chiave
Meccanismo cookie TFO
- Generazione cookie: Il server genera il cookie utilizzando la crittografia basata sull'indirizzo IP del client
- Validazione cookie: Il client include il cookie nelle connessioni successive per la validazione
- Trasporto dati: Dopo la validazione, i dati nel pacchetto SYN possono essere ricevuti dal livello applicazione
Vantaggi in termini di prestazioni
- Riduce una latenza RTT completa
- Particolarmente adatto per connessioni brevi e modelli richiesta-risposta
- Miglioramento significativo delle prestazioni per la navigazione web e le chiamate API
Protezione della sicurezza
- Previene attacchi di amplificazione: Limita la dimensione dei dati SYN
- Previene l'esaurimento delle risorse: Meccanismo di validazione dei cookie
- Compatibilità: Coesiste in modo trasparente con TCP tradizionale
RFC correlati
- RFC 793: Transmission Control Protocol
- RFC 6994: Shared Use of Experimental TCP Options
- RFC 7323: TCP Extensions for High Performance
Stato di implementazione
Questo RFC è sperimentale ed è stato implementato in diversi sistemi operativi principali:
- Kernel Linux (3.6+)
- Apple iOS e macOS
- Windows 10 (1607+)
Nota: Lo stato sperimentale significa che questo meccanismo è ancora in fase di valutazione; le implementazioni dovrebbero considerare attentamente le implicazioni per la sicurezza e la compatibilità.