Die klassische Überlastkontrolle nutzt Verlust als einziges Signal: Ein Router verwirft ein Paket, der Sender nimmt Überlastung an und halbiert sein Fenster. Das funktioniert, aber es verwirft Daten, die bereits bezahlt wurden, und erzwingt eine Neuübertragung.
ECN fügt zwei Bits zum IP-Header hinzu, sodass ein Router „Überlastung bildet sich“ allein durch Markieren eines Pakets sagen kann. Der Empfänger kopiert die Markierung in die Bestätigung, und der Sender reagiert auf das ECN-Flag statt auf einen Verlust.
Der Kniff besteht darin, dass die Benachrichtigung nahezu kostenlos ist: Ein bereits unterwegs befindliches Flag liefert dieselbe Information, die eine Neuübertragung liefern würde, sodass das Netzwerk Überlastkontrolle ohne die redundante Übertragung erhält.
Ein Bit nutzen, nicht ein verworfenes Paket, um „langsamer“ zu sagen
Markieren vermeidet die Neuübertragung, die ein Verwerfen auslösen würde.
Das Überlastsignal nimmt denselben Pfad und erreicht denselben Sender.
Die Markierung kommuniziert, bevor die Warteschlange tatsächlich überläuft.
Wenn der einzige Weg, ein Signal zu übermitteln, darin besteht, genau das zu zerstören, worüber signalisiert wird, erfinde stattdessen einen kostengünstigen Seitenkanal; die Markierung spart Arbeit, die der Sender sonst erneut erledigen müsste.
Als Protokoll auf dem Standards-Track eingeordnet, wird ECN in TCP/IP-Stacks und Datacenter-Transports weitgehend unterstützt, und seine Idee von In-Band-Markierungen statt Verlusten liegt späteren Überlastsignalisierungen in Datacenter-Netzwerken zugrunde.
DEN BELEGEN FOLGEN
Die Quellen
- RFC 3168: The Addition of Explicit Congestion Notification (ECN) to IP IETF · rfc-editor.org
- RFC 2884: Performance Evaluation of Explicit Congestion Notification (ECN) in IP Networks IETF · rfc-editor.org