RFC 7413 - TCP Fast Open
- Status: Experimental
- Veröffentlicht: December 2014
- Stream: IETF
- Errata: Keine Errata
Zusammenfassung
Dieses Dokument beschreibt einen experimentellen TCP-Mechanismus namens TCP Fast Open (TFO). TFO ermöglicht den Datenaustausch während des TCP-Handshakes, indem TFO-Cookies (ein TCP-Optionsfeld) zur Validierung zuvor verbundener Clients verwendet werden. Dies reduziert die Latenz beim Aufbau neuer TCP-Verbindungen und ist besonders wertvoll für latenzempfindliche Anwendungen wie Webdienste.
Technische Bedeutung: TCP Fast Open kann die HTTP-Request-Response-Zeit um eine vollständige Round-Trip-Zeit (RTT) reduzieren, insbesondere für Kurzverbindungen.
Inhaltsverzeichnis
Hauptabschnitte
-
- 1.1. Motivation
- 1.2. Schlüsselkonzepte
-
- 2.1. TFO-Cookie-Anfrage
- 2.2. TFO-Cookie-Antwort
- 2.3. TCP Fast Open Verbindung
- 2.4. Cookie-Wiederverwendung
-
- 3.1. TCP Fast Open Cookie-Anfrage
- 3.2. TCP Fast Open Cookie-Gewährung
- 3.3. TCP Fast Open
- 3.4. Cookie-Verarbeitung
-
- 4.1. Angriffsvektoren
- 4.2. Verstärkungsangriffe
- 4.3. Ressourcenerschöpfung
- 4.4. Datenschutzerwägungen
-
- 6.1. Normative Referenzen
- 6.2. Informative Referenzen
Anhänge
Wichtige technische Punkte
TFO-Cookie-Mechanismus
- Cookie-Generierung: Server generiert Cookie mit Verschlüsselung basierend auf Client-IP-Adresse
- Cookie-Validierung: Client trägt Cookie in nachfolgenden Verbindungen zur Validierung
- Datenübertragung: Nach Validierung können Daten im SYN-Paket von der Anwendungsschicht empfangen werden
Leistungsvorteile
- Reduziert eine vollständige RTT-Latenz
- Besonders geeignet für Kurzverbindungen und Request-Response-Muster
- Signifikante Leistungsverbesserung für Web-Browsing und API-Aufrufe
Sicherheitsschutz
- Verhindert Verstärkungsangriffe: Begrenzt SYN-Datengröße
- Verhindert Ressourcenerschöpfung: Cookie-Validierungsmechanismus
- Kompatibilität: Kann transparent mit traditionellem TCP koexistieren
Verwandte RFCs
- RFC 793: Transmission Control Protocol
- RFC 6994: Shared Use of Experimental TCP Options
- RFC 7323: TCP Extensions for High Performance
Implementierungsstatus
Dieses RFC ist experimentell und wurde in mehreren großen Betriebssystemen implementiert:
- Linux-Kernel (3.6+)
- Apple iOS und macOS
- Windows 10 (1607+)
Hinweis: Experimenteller Status bedeutet, dass dieser Mechanismus noch evaluiert wird; Implementierungen sollten Sicherheits- und Kompatibilitätsauswirkungen sorgfältig berücksichtigen.