Zum Hauptinhalt springen

3. Annahmen und allgemeine Prinzipien (Assumptions and General Principles)

Dieses Kapitel beschreibt die allgemeinen Annahmen und Prinzipien, die der ECN-Spezifikation zugrunde liegen.

3.1. Inkrementelle Bereitstellung (Incremental Deployment)​

ECN ist so konzipiert, dass es inkrementell bereitgestellt werden kann. Nicht-ECN-fähige Router können mit ECN-fähigen Endpunkten koexistieren und umgekehrt. Das Fehlen von ECN-Unterstützung in einem Teil der Infrastruktur führt nicht zu Fehlfunktionen, sondern lediglich zum Verzicht auf die Vorteile von ECN in diesem Segment.

3.1.1. Abwärtskompatibilität (Backwards Compatibility)​

ECN MUSS vollständig abwärtskompatibel mit nicht-ECN-fähigen Hosts und Routern sein. Insbesondere:

  • Ein nicht-ECN-fähiger Router SOLL ECN-Markierungen ignorieren und normal funktionieren
  • Ein nicht-ECN-fähiger Host kann mit ECN-fähigen Hosts kommunizieren
  • Eine Verbindung zwischen einem ECN-fähigen und einem nicht-ECN-fähigen Host wird ohne ECN fortgesetzt

3.2. End-to-End-Prinzip (End-to-End Principle)​

ECN folgt dem End-to-End-Prinzip der Internetarchitektur. Die Interpretation und Reaktion auf ECN-Signale ist primär die Verantwortung der Endpunkte. Router signalisieren lediglich Überlastung; die Entscheidung, wie darauf zu reagieren ist, liegt bei den Endpunkten.

3.2.1. Vertrauensmodell (Trust Model)​

Diese Spezifikation geht von einem bestimmten Vertrauensmodell aus:

  1. Router werden als vertrauenswürdig angesehen, das CE-Codepoint korrekt zu setzen, wenn sie Überlastung erfahren
  2. Endpunkte werden ermutigt, angemessen auf ECN-Signale zu reagieren
  3. Es gibt keine kryptographischen Mechanismen, um die Integrität von ECN-Signalen zu gewährleisten

3.3. Überlastungskontrolle (Congestion Control)​

ECN ist ein Mechanismus zur Überlastungsbenachrichtigung, nicht zur Überlastungskontrolle selbst. Die eigentliche Überlastungskontrolle wird von den Endpunkten durchgeführt, typischerweise durch das Transportprotokoll (z.B. TCP).

3.3.1. Äquivalenz von CE und Paketverlust​

Ein wesentliches Prinzip ist, dass das Empfangen eines CE-Codepoints als äquivalent zum Verlust eines Pakets behandelt werden SOLLTE, in Bezug auf die Überlastungskontrollreaktion.

Dies bedeutet:

  • Der Sender SOLLTE sein Überlastungsfenster in ähnlicher Weise reduzieren, wie er es bei einem Paketverlust tun würde
  • Die Reaktion SOLLTE nicht schwächer sein als die Reaktion auf Paketverlust
  • Die Reaktion SOLL nicht aggressiver sein als die Reaktion auf Paketverlust

3.4. Aktive Warteschlangenverwaltung (Active Queue Management)​

ECN ist eng mit Active Queue Management (AQM) Mechanismen wie RED (Random Early Detection) verbunden. AQM-Mechanismen in Routern:

  • Erkennen beginnende Überlastung, bevor Warteschlangen vollständig gefüllt sind
  • Verwenden probabilistische Mechanismen zur Überlastungsbenachrichtigung
  • Können entweder Pakete verwerfen (traditionell) oder das CE-Codepoint setzen (mit ECN)

3.5. Transparenz (Transparency)​

ECN-Mechanismen SOLLTEN so transparent wie möglich für Anwendungen sein. Die ECN-Unterstützung wird auf der IP- und Transportebene implementiert; Anwendungen müssen normalerweise nicht ECN-bewusst sein.

3.6. Fairness (Fairness)​

Die Einführung von ECN SOLL die Fairness zwischen verschiedenen Flüssen nicht beeinträchtigen. Insbesondere:

  • ECN-fähige Flüsse SOLLEN keinen unfairen Vorteil gegenüber nicht-ECN-fähigen Flüssen haben
  • Die Überlastungskontrollreaktionen SOLLEN vergleichbar sein
  • Router-Mechanismen SOLLEN ECN-fähige und nicht-ECN-fähige Pakete gleichmäßig behandeln

3.7. Robustheit (Robustness)​

Das ECN-Design MUSS robust gegenüber verschiedenen Fehlermodi sein:

3.7.1. Fehlerhaftes Verhalten von Endpunkten​

  • Ein Endpunkt, der fälschlicherweise ECN-Fähigkeit anzeigt, aber nicht angemessen reagiert, SOLL Paketverlust erleiden
  • Die Netzleistung für andere Flüsse SOLL nicht wesentlich beeinträchtigt werden

3.7.2. Fehlerhaftes Verhalten von Routern​

  • Ein Router, der ECN-Bits fälschlicherweise setzt oder löscht, SOLL hauptsächlich die betroffenen Flüsse beeinträchtigen
  • Der Mechanismus SOLL nicht zu netzwerkweiten Störungen führen

3.7.3. Middlebox-Interferenz​

  • ECN MUSS robust gegenüber Middleboxen sein, die ECN-Bits möglicherweise löschen oder ändern
  • Verbindungen SOLLEN auch dann funktionieren, wenn Middleboxen ECN-Verhandlung stören

3.8. Konservative Erweiterung (Conservative Extension)​

Diese Spezifikation nimmt einen konservativen Ansatz zur Erweiterung des IP-Protokolls:

  • Nur zwei Bits werden verwendet
  • Das Verhalten ist klar definiert und einfach zu implementieren
  • Unerwartetes Verhalten wird minimiert
  • Die Spezifikation lässt Raum für zukünftige Erweiterungen

3.9. Verhältnis zu anderen Mechanismen​

ECN ist komplementär zu anderen Mechanismen:

3.9.1. Differentiated Services (DiffServ)​

  • ECN kann mit DiffServ koexistieren
  • Die ECN-Bits sind unabhängig vom DSCP-Feld
  • Per-Hop-Behaviors (PHBs) können ECN-bewusst sein

3.9.2. Integrated Services (IntServ)​

  • ECN kann in IntServ-Umgebungen verwendet werden
  • RSVP-Signalisierung ist unabhängig von ECN
  • Ressourcenreservierung beeinflusst ECN-Verhalten nicht direkt

3.9.3. Multiprotocol Label Switching (MPLS)​

  • ECN kann über MPLS-Netzwerke transportiert werden
  • Spezifische Mechanismen für ECN über MPLS sind in separaten Dokumenten definiert

3.10. Keine Unterstützung für Multicast​

Diese Spezifikation behandelt nur Unicast-Verkehr. Die Verwendung von ECN mit Multicast erfordert zusätzliche Überlegungen und ist nicht Gegenstand dieses Dokuments.

3.11. Versionsneutralität (Version Neutrality)​

ECN ist für sowohl IPv4 als auch IPv6 definiert. Die Mechanismen sind im Wesentlichen identisch, mit nur geringfügigen Unterschieden in der Feldplatzierung innerhalb des IP-Headers.