Explicit Congestion Notification
Explicit Congestion Notification (ECN) ist eine Erweiterung des Netzwerkprotokolls TCP/IP zur Überlastkontrolle und wird in RFC 3168 (2001) beschrieben. Mittels ECN kann ein Router durch eine einfache Markierung eines Bits im IP-Header eine drohende Überlast mitteilen. ECN ist sowohl auf der IP-Ebene als auch auf der TCP-Ebene des Netzwerk-Schichtenmodells definiert und benötigt jeweils zwei Bits aus dem ehemaligen TOS-Byte im IP- und TCP-Header. Im TCP-Header werden zwei Bits aus einem 6-bit breiten Block verwendet, der für zukünftige Verwendung reserviert ist.
ECN kann mit Protokollen verwendet werden welche oberhalb von UDP liegen. Dafür muss jedoch die Staukontrolle von der Anwendung durchgeführt werden. Neuere UDP-basierte Protokolle wie QUIC verwenden ECN zur Staukontrolle,[1] ältere UDP-basierte Protokolle wie DNS verwendeten ECN jedoch nicht.
Sind alle Router auf dem Weg zwischen Quelle und Senke ECN-fähig, lässt sich mit diesem Verfahren die Anzahl der wegen Überlast verworfenen Pakete reduzieren, indem die Senke die vom Router angezeigte Überlastgefahr der Quelle zurückmeldet, woraufhin diese die Datenrate reduziert.
Wer ECN einsetzt, sollte sich bewusst sein, dass manche Administratoren die geänderte Semantik des TOS-Bytes durch den RFC 3168 im September 2001 noch nicht realisiert haben. Auch gehen Router und Firewalls selbst namhafter Unternehmen teilweise unvorhersehbar mit den ECN-Bits um. Es besteht daher die Gefahr, dass eine Verbindung mit eingeschaltetem ECN nicht zustande kommt.
ECN kann allerdings nur genutzt werden, wenn beide Hosts ihre Bereitschaft dazu erklären. Das Verfahren verwendet ein ECN-Bit, um (explizit) den Stau anzuzeigen, statt die Pakete vom Netzwerk-Scheduler mit RED-Algorithmus nur zu verwerfen (implizite Benachrichtigung Choke-Paket). Die sendende Station kann daraufhin ihren Datenstrom bewusst drosseln. Durch die dedizierte Information (ECN-Bit) wird die Leitungsqualität nicht künstlich verschlechtert, wie es bei RED/WRED der Fall ist, allerdings beherrschen nicht alle Netzwerkteilnehmer das ECN-Verfahren und verwerfen daher Pakete, die das ECN-Bit gesetzt haben. Da das korrekte Verhalten für den Fall von nicht-ECN-fähigen Komponenten das Ignorieren des ECN-Bits wäre, sind diese Geräte als fehlerhaft zu betrachten.
Ein ähnliches Verfahren ist das DEC-Bit.
Einzelnachweise
- QUIC Loss Detection and Congestion Control. RFC 9002. IETF, Mai 2021, abgerufen am 29. Mai 2021 (englisch, Section 7.1.).