Zusammenfassung

  • Bei der ECN Nonce wählte der Sender zufällig ECT(0) oder ECT(1). Eine CE-Markierung löschte diesen Unterschied und erschwerte es dem Empfänger, Überlastung mit einer passenden Rückmeldung zu verbergen.
  • Die kumulative Parität war weder Authentifizierung noch eindeutiger Schuldnachweis. Auch ehrliche Überlastungsmeldungen machten eine Pause und anschließende Synchronisierung der Prüfung notwendig.
  • Das Experiment wurde 2018 beendet, obwohl es spezifikationsgemäß funktionierte. Begrenzte Nutzung und konkurrierende Verwendungsmöglichkeiten veränderten die Begründung für die Reservierung.

Dieselben Bits erzählen nicht immer dieselbe Geschichte

Wer heute ECT(1) in einer Paketaufzeichnung sieht, hat damit noch keine ECN Nonce gefunden. Der Codepunkt trägt eine Geschichte, aber die Geschichte ersetzt nicht die Kenntnis der tatsächlich verwendeten Semantik. In RFC 9331, einem Experimental-Dokument vom Januar 2023, dient ECT(1) als L4S-Kennung. Das ist eine andere Aufgabe als die zufällige Auswahl des Experiments von 2003.

Auch das aktuelle IANA-Verzeichnis des ECN-Feldes führt die vier Codierungen und verweist bei ECT(1) auf die einschlägigen experimentellen Dokumente. Aus einem Wert allein lassen sich weder Implementierung noch Verbreitung ableiten. Die spätere Spezifikation belegt eine neue Bedeutung, nicht automatisch deren weltweite Nutzung oder allgemeine Leistungsfähigkeit.

Warum wurde die alte Bedeutung aufgegeben? Nicht, weil ein mathematischer Fehler das Verfahren unbrauchbar gemacht hätte. Die interessante Antwort liegt im Unterschied zwischen einem brauchbaren Mechanismus und einem ausreichenden Grund, gemeinsam nutzbaren Protokollraum weiter ausschließlich dafür freizuhalten.

Der Sender behält, was der Router entfernt

Die klassische ECN-Regelung aus RFC 3168, September 2001, unterscheidet vier Zustände in zwei Bits: Not-ECT mit 00, ECT(1) mit 01, ECT(0) mit 10 und CE mit 11. Ein geeigneter Router kann ein ECN-fähiges Paket bei Überlastung markieren, anstatt es zu verwerfen. Der TCP-Empfänger meldet dies mit ECE zurück; der Sender zeigt seine Reaktion mit CWR an.

Für diesen klassischen Router sind beide ECT-Werte zum Markieren geeignet. Ersetzt er einen davon durch CE, ist anschließend nicht mehr sichtbar, welcher ursprünglich gesetzt war. Der Nutzinhalt kann vollständig ankommen, obwohl dieser eine Unterschied im Kopf des Pakets verlorengegangen ist.

N. Spring, D. Wetherall und D. Ely machten daraus im Juni 2003 ein Prüfprinzip. Ihr Experimental-RFC 3540 ließ den Sender zufällig zwischen ECT(0) und ECT(1) wählen. Er bewahrte die erwarteten Werte auf. Der Empfänger konnte dagegen nur diejenigen Werte in seine Rückmeldung aufnehmen, die den Weg tatsächlich unverändert überstanden hatten.

Ein Empfänger, der CE verheimlichen wollte, musste somit nicht nur behaupten, es habe keine Überlastung gegeben. Er musste auch eine Antwort liefern, die zu einer ihm fehlenden Zufallsinformation passte. Der Sender konnte sie mit seinem eigenen Wissen vergleichen. Der Router musste weder Geheimnisse speichern noch die Vertrauenswürdigkeit des Empfängers beurteilen; die normale Markierung genügte.

Diese Asymmetrie ist keine Verschlüsselung. Sie belegt keine Identität und schützt nicht die Integrität der gesamten Verbindung. Sie gibt einem Sender eine begrenzte Möglichkeit, die Behauptung einer ungestörten Übermittlung zu prüfen. Ein selbst regelwidrig handelnder Sender wird dadurch nicht zur Kooperation gezwungen.

Warum ein einzelnes Echo zu wenig gewesen wäre

TCP-Bestätigungen können ausbleiben oder verzögert werden. Eine kumulative Bestätigung kann Daten mehrerer ursprünglicher Pakete umfassen. Würde nur der zuletzt empfangene Zufallswert zurückgesandt, könnte mit einer ausgelassenen Bestätigung auch die Rechenschaft über frühere Werte verschwinden.

Die ECN Nonce verwendet deshalb eine kumulative Summe modulo zwei, also eine Parität. Sie beginnt bei eins und wird im NS-Flag zurückgegeben. Der Empfänger ergänzt die Nonce-Werte, wenn die kumulative Bestätigung über in der richtigen Reihenfolge vorliegende Daten voranschreitet. Der Sender ordnet seine erwarteten Summen den Endsequenznummern der ursprünglichen Pakete zu.

Außerhalb der Reihenfolge eingetroffene Daten zählen erst, sobald die kumulative Bestätigung ihre Position erreicht. Das ist weder eine Inhaltsprüfsumme noch eine separate Summe für jeden SACK-Block. Ohne die ursprünglichen Segmentgrenzen und den Fortschritt der Bestätigung lässt sich das einzelne NS-Bit nicht sinnvoll bewerten.

Ein unbekanntes, gleichverteiltes Bit lässt dem Empfänger eine Wahrscheinlichkeit von einem Halb, die richtige Parität zu erraten. Ein falscher Bericht muss daher nicht sofort auffliegen. Neu gelöschte, unabhängige Zufallsinformation kann weitere Prüfgelegenheiten schaffen. Wiederholte Bestätigungen, die alle vom gleichen fehlenden Bit abhängen, sind aber nicht automatisch unabhängige Versuche.

Damit ist auch eine Grenze statistischer Auswertung benannt. Die Anzahl gesammelter ACKs allein rechtfertigt keine beliebig hohe Sicherheit. Entscheidend ist, ob tatsächlich neue unabhängige Ungewissheit entstanden ist. Die Parität zählt außerdem nicht die gesamte Überlastung und liefert keine vollständige zeitliche Liste aller Markierungen.

Die ehrliche Meldung unterbricht die Prüfung

Ein ehrlicher Empfänger kennt den durch CE gelöschten Wert ebenso wenig wie ein unehrlicher. RFC 3540 lässt ihn fehlende Nonce-Werte ignorieren, entsprechend einem Beitrag von null, und ECE setzen. Während der zugehörigen Überlastungserholung prüft der Sender die Summe nicht.

Nach der Verkleinerung des Fensters und dem Versand neuer Daten mit CWR kann die passende Bestätigung einen neuen gemeinsamen Ausgangspunkt schaffen. Der Sender synchronisiert sich anhand der Empfängersumme; dafür lässt sich ein Ein-Bit-Versatz verwenden. Das verlorene Wissen wird nicht zurückgewonnen. Es wird verhindert, dass sein Fehlen sämtliche späteren Vergleiche verfälscht.

Die Unterbrechung gehört deshalb zum Sicherheitsargument des Verfahrens. Wer in diesem Zeitraum jede Abweichung als Täuschung wertet, verlangt eine Antwort, die ein ehrlicher Teilnehmer gar nicht besitzen kann. Erst der Zustand der Verbindung entscheidet, ob die Zahlen überhaupt vergleichbar sind.

Unter den Regeln von 2003 waren Wiederholungsübertragungen Not-ECT und enthielten keine Nonce. Auch vom Sender gewählte Nicht-ECT-Abschnitte erforderten Synchronisierung. Das beschreibt die damaligen Versuchsbedingungen, kein zeitloses Verbot für spätere ECN-Experimente mit Wiederholungen oder Steuerpaketen. RFC 8311 lockerte solche Beschränkungen später ausdrücklich für Experimente.

Lokale Reaktion statt öffentlicher Verurteilung

Die Spezifikation trennte Prüfung und Reaktion. Das Prüfen blieb optional; wie auf eine falsche Summe reagiert wurde, war eine lokale Entscheidung. Wenn der Sender daraufhin handelte, diskutierte der Text mindestens eine ECE entsprechende Reaktion, darüber hinaus stärkere Reduktionen oder den Verzicht auf ECT. Daraus entstand kein einheitliches Strafverfahren für das Internet.

Technische Randfälle begrenzen schon die Feststellung selbst. Ein unmarkiertes IPv4-Fragment kann den ursprünglichen Nonce-Wert verraten, obwohl ein anderes Fragment markiert wurde. Damit lässt sich die Schutzwirkung gegen das Verschweigen einer Markierung schwächen. Bitfehler im IPv6-Kopf können falsche Summen verursachen. Teilbestätigungen müssen im Verhältnis zur ursprünglichen Segmentgrenze interpretiert werden.

Die Zufallsfolge muss nicht kryptographische Qualität besitzen, darf aber aus bereits beobachteten Bits nicht leicht vorhersagbar sein. Sie soll auch nicht für andere Zwecke wiederverwendet werden. Ein falscher Vergleich kann auf Fehler oder Eingriffe entlang des Rückmeldewegs hindeuten, benennt aber keinen verantwortlichen Menschen und keine verantwortliche Organisation.

Selbst die Erkennung der Unterstützung war enger gefasst als eine ausgehandelte Sicherheitsfunktion. Ein von null verschiedenes NS in anfänglichen Handshake-Antworten erlaubte eine entsprechende Schlussfolgerung; RFC 3540 bezeichnete das ausdrücklich nicht als Aushandlung. Weder Identität noch allgemeine Verbindungsauthentizität wurden dadurch bestätigt.

Die Nutzung musste die Reservierung tragen

Andere ECN-Bedeutungen stellten dieselbe gemeinsame Schnittstelle vor neue Fragen. RFC 4774 behandelte im November 2006 die Erkennung alternativer Semantik, schrittweise Einführung und das Zusammenwirken mit klassischen oder nicht ECN-fähigen Routern sowie konkurrierendem Verkehr. Ein neuer Gebrauch muss verständlich und verträglich sein; wenige Bits machen diese Pflicht nicht kleiner.

Im August 2015 formulierte RFC 7560 Anforderungen an genauere Überlastungsrückmeldungen. Das Dokument berichtete damals von keiner bekannten Nutzung der Nonce in TCP-Stacks. Es verlangte Aufmerksamkeit für Integrität und ehrliche Kooperation, nicht zwingend die Bewahrung dieses einen Mechanismus. Genauigkeit der Meldung und Schutz gegen ihre Verfälschung blieben unterschiedliche Aufgaben.

RFC 8311 hielt im Januar 2018 fest, dass die Nonce wie spezifiziert funktionierte und in begrenzten Umgebungen eingesetzt worden war. Eine breite Nutzung hatte sich jedoch nicht entwickelt. Das Dokument erläuterte den Abschluss des Experiments und die Umstufung von RFC 3540 von Experimental zu Historic. Es behauptete weder, der Algorithmus sei widerlegt, noch, es habe nie eine Implementierung gegeben.

Der RFC berichtete außerdem über eine Studie mit Daten von 2014. Von 581.711 getesteten IPv4-Servern nutzte nach ECN-Aushandlung keiner beide ECT-Werte. Unter 17.028 IPv6-Servern waren es vier, wobei sowohl Nonce-Nutzung als auch fehlerhaftes Neumarkieren als Erklärung infrage kamen. Das sind zeitgebundene Stichproben mit ausdrücklich offener Deutung, keine heutige Vollerhebung und keine hier erneut durchgeführte Messung.

Angesichts anderer experimenteller Verwendungen und anderer Integritätsansätze rechtfertigte die Nutzung nicht mehr, ECT(1) ausschließlich für die Nonce freizuhalten. Die Freigabe hob aber die gemeinsame Ordnung nicht auf: Für die von RFC 8311 ermöglichten Experimente waren passende Experimental-RFCs im IETF-Stream vorgesehen, und Anforderungen an Überlastungssteuerung und Koexistenz blieben bestehen.

Die spätere L4S-Kennung zeigt, dass eine Bedeutung abgelöst werden kann, ohne dass die Bits verschwinden. Sie beweist hier weder eine bestimmte Marktdurchdringung noch generelle Sicherheit oder Leistung von L4S. Die historische Aussage ist enger und wichtiger: Ein funktionierendes Experiment besitzt nicht allein deshalb ein unbegrenztes Recht auf den gemeinsam benötigten Bedeutungsraum.