6.1.1.1. Middlebox-Probleme (Middlebox Issues)
Einige Middleboxen (Firewalls, Load Balancer, Intrusion Detection Systems) können ECN-Verhandlung stören. Dieser Abschnitt beschreibt bekannte Probleme und Abhilfemaßnahmen.
6.1.1.1.1. Arten von Middlebox-Problemen
Problem 1: Blockieren von SYN-Paketen mit ECN-Flags
Einige Firewalls oder IDS:
- Verwerfen SYN-Pakete mit ECE=1 oder CWR=1
- Betrachten diese als "ungültig" oder "verdächtig"
- Verhindern dadurch die Verbindungsherstellung
Problem 2: Löschen von ECN-Bits
Einige Middleboxen:
- Löschen das ECN-Feld in durchgeleiteten Paketen
- Setzen ECT oder CE zurück auf Not-ECT
- Verhindern ECN-Funktionalität, aber brechen Verbindungen nicht
Problem 3: Ändern von TCP-Flags
Einige Middleboxen:
- Löschen unbekannte TCP-Flags (einschließlich ECE/CWR)
- Verhindern ECN-Verhandlung und -Betrieb
6.1.1.1.2. Auswirkungen auf Verbindungsherstellung
Wenn Middlebox SYN mit ECN blockiert:
- Die TCP-Verbindung schlägt fehl
- Host A erhält keine Antwort
- TCP-Neuübertragung des SYN erfolgt, aber schlägt ebenfalls fehl
Wenn Middlebox ECN-Bits löscht:
- Die Verbindung wird hergestellt
- ECN funktioniert nicht, aber die Verbindung ist verwendbar
- Fallback auf traditionelle Paketverlust-basierte Überlastungskontrolle
6.1.1.1.3. Abhilfestrategie: Fallback-Mechanismus
Um Middlebox-Probleme zu bewältigen, SOLLTEN TCP-Implementierungen:
Schritt 1: Verbindungsversuch mit ECN
- Erstes SYN mit ECE=1, CWR=1 senden
Schritt 2: Erkennung von Problemen
- Wenn keine Antwort nach mehreren SYN-Neuübertragungen
- Wenn die Verbindung wiederholt fehlschlägt
Schritt 3: Neuversuch ohne ECN
- Neues SYN mit ECE=0, CWR=0 senden
- Cache-Entscheidung für zukünftige Verbindungen zu diesem Host
6.1.1.1.4. Caching von ECN-Blockierungsinformationen
Implementierungen KÖNNEN cachen:
- Welche Remote-Hosts/Netzwerke ECN-SYN blockieren
- Cache-Einträge sollten zeitlich begrenzt sein (z.B. mehrere Stunden)
- Erlaubt periodisches Wiederprüfen, ob Probleme behoben sind
6.1.1.1.5. Konfigurierbare ECN-Einstellungen
Implementierungen SOLLTEN bereitstellen:
- Systemweite ECN-Aktivierung/Deaktivierung
- Per-Route oder Per-Destination ECN-Steuerung
- Fallback-Verhalten-Konfiguration
6.1.1.1.6. Erkennung nach Verbindungsherstellung
Nach erfolgreicher Verbindungsherstellung:
- Wenn ECN verhandelt wurde, aber CE-Markierungen nie durchkommen
- Kann auf Middlebox hinweisen, die ECN-Bits löscht
- Die Verbindung funktioniert weiterhin, aber ohne ECN-Vorteile
6.1.1.1.7. Empfohlenes Verhalten für neue Implementierungen
Neue TCP-Implementierungen SOLLTEN:
- Standardmäßig ECN aktivieren (aber mit Fallback)
- Automatischen Fallback implementieren für problematische Pfade
- Benutzerdiagnose-Tools bereitstellen zur ECN-Fehlerbehebung
- Statistiken sammeln über ECN-Erfolgs- und Misserfolgsraten