Zum Hauptinhalt springen

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:

  1. Standardmäßig ECN aktivieren (aber mit Fallback)
  2. Automatischen Fallback implementieren für problematische Pfade
  3. Benutzerdiagnose-Tools bereitstellen zur ECN-Fehlerbehebung
  4. Statistiken sammeln über ECN-Erfolgs- und Misserfolgsraten