Zusammenfassung

  • Das gebilligte Verfahren deckelt das Fensterwachstum eines durch Anwendung oder Empfänger begrenzten Senders anhand des größten tatsächlich genutzten Flugs seit der letzten cwnd-Senkung.
  • Ein gültiges ACK belegt die Zustellung gesendeter Daten, nicht die Sicherheit ungenutzter Kapazität, die nie auf dem Pfad lag.

Die Zahl wuchs schneller als der Pfad

Das Beispiel beginnt mit zehn Segmenten Initialfenster. Der Sender schickt alle und pausiert. Ohne Verlust und mit einem ACK je Segment steigt cwnd im Slow Start auf zwanzig.

Dann liefert die Anwendung vier Segmente. Auch sie werden gesendet und bestätigt. Ohne besondere Grenze erhöhen vier ACKs cwnd auf vierundzwanzig. Der größte Flug pro RTT bleibt jedoch zehn.

Die ACKs sind korrekt. Der Fehler entsteht erst, wenn die Zustellung eines kleinen, begrenzten Flugs als Erlaubnis für einen nie genutzten Teil des Fensters gilt.

Das ist kein gemeldeter Vorfall, sondern ein bewusst vereinfachter Nachweis. Verzögerte ACKs, Byte-Buchführung, Pacing und Verlust sind ausgeblendet, damit eine Frage sichtbar wird: Welche Beobachtung darf die Menge unbestätigter Daten vergrößern, die ein Host ins Netz stellt?

IESG-Billigung ist nur ein Übergang

Die Bekanntmachung vom 24. August, 17:57 UTC, billigt Revision 10 von „Increase of the Congestion Window when the Sender Is Rate-Limited“ als Proposed Standard. Das Dokument der Congestion Control Working Group aktualisiert DCCP CCID 2, TCP, QUIC, SCTP und CUBIC.

Am 28. August zeigte der Datatracker weiterhin Active Internet-Draft und RFC Ed Queue; Autoreneingabe war erforderlich. IANA-Aktionen sind nicht vorgesehen. Billigung, RFC-Nummer, Softwareaufnahme, Aktivierung und gemessener Betrieb sind getrennte Tatsachen.

Die Mitteilung nennt mehrere Implementierungen und Verhalten in Linux seit Version 3.16. Das zeigt praktische Herkunft, aber nicht Build, Einstellung oder Telemetrie eines bestimmten Dienstes.

Wer hielt die Übertragung zurück?

Die Staukontrolle kann mehr erlauben, als gesendet wird. Die Anwendung hat vielleicht keine Daten. Der Empfänger begrenzt rwnd oder QUIC-Credit. Ein Pacer verteilt Abgänge über die Zeit.

Cwnd-limited bezeichnet einen Fluss, der die Erlaubnis nutzt. Rate-limited ist nach RFC 7661 ein Fluss, der höchstens die Hälfte von cwnd verbraucht und sich in einer nicht validierten Phase befindet.

Die Zuständigkeiten unterscheiden sich: Anwendung liefert Bytes, Empfänger Credit, Transport das Fenster, Pacer den Zeitpunkt, der Pfad Verlust, ECN, Laufzeit und Zustellung. Ein einziges Unterauslastungsfeld verschweigt, welche Oberfläche geschlossen war.

Cwnd ist deshalb keine Bandbreitenmessung. Sie ist lokale Erlaubnis für unbestätigte Daten im Flug. Sie garantiert weder freie Linkkapazität noch Empfängerbereitschaft oder einen unveränderten Pfad.

maxFS bindet Erlaubnis an Nutzung

Die Regel speichert maxFS, die größte FlightSize seit der letzten cwnd-Senkung. Sie startet mit dem Initialfenster und nimmt danach das Maximum jeder Flugmessung an.

Jede Verringerung von cwnd setzt maxFS auf null. Der nächste Flug bildet eine neue Basis. Verlust, ECN oder eine andere Senkung beenden damit auch die Beweiskraft des alten Maximums.

Wenn FlightSize < cwnd, dürfen ACKs weiterhin Wachstum auslösen, doch das Ergebnis bleibt unter limit(maxFS). Das ist die Fenstergröße, die der Algorithmus nach erfolgreicher Bestätigung eines vollständigen Flugs der Größe maxFS erzeugt hätte.

Im Slow Start nach RFC 5681 ist die Beispielgrenze 2 * maxFS, in Congestion Avoidance maxFS + SMSS. ACKs werden nicht verworfen; ihre Autorität wird begrenzt.

Bei zehn plus vier darf das erste Fenster zwanzig erreichen. Die späteren vier ACKs sind gültig, überschreiten aber den Deckel nicht. Erst ein tatsächlich größerer Flug bewegt maxFS und schafft eine neue Grundlage.

Gemeinsame Grenze, unterschiedliche Ausführung

Standard-TCP kannte hier keinen ausdrücklichen Deckel. DCCP CCID 2 konnte ohne cwnd-Begrenzung wachsen. QUIC sollte bei Unterauslastung nicht wachsen. SCTP und CUBIC enthielten ebenfalls konservativere Stopps.

Der neue Text erlaubt begrenztes Wachstum statt vollständigem Stillstand und verhindert zugleich grenzenlosen Kredit. Ratenbasierte Verfahren müssen unter der maximalen Dauerrate bleiben, die das cwnd-Verfahren erlaubt hätte. Pacing bleibt möglich, wenn es nur Abstände, nicht die Flugmenge pro RTT verändert.

Bei BBR und anderen Hybriden gehören Ratenschätzung, Pacing, cwnd und anwendungsbegrenzte Samples in getrennte Messreihen. Gemeinsam ist die Beweisgrenze, nicht der Quellcode.

Ein altes Maximum kann auf einem neuen Pfad landen

Ohne cwnd-Senkung kann maxFS lange bestehen und die aktuelle Ende-zu-Ende-Strecke nicht mehr abbilden. Mobilfunkwechsel, Routing-, Tunnel- oder Queue-Änderungen erzwingen nicht automatisch einen Reset.

RFC 7661 behandelt mit Congestion Window Validation und pipeACK das verwandte Problem eines Fensters, das größer als der jüngste Flug ist. Es ist nicht dieselbe Funktion: Hier geht es um Wachstum, dort um ein untergenutztes Fenster und dessen Stauantwort.

Das Maximum verhindert unnötiges Neulernen nach jeder Anwendungspause. Ohne Zeit, Pfad und Senkungshistorie wird es jedoch zu Erinnerung ohne Herkunft.

Ein authentisches ACK bleibt ein enger Beleg

Staukontrolle setzt angemessene Bestätigungen voraus. Angriffsresistenz hängt vom Schutz des Transports ab. Auch ein authentisches ACK bestätigt nur bestimmte Daten; es bescheinigt keine ungenutzte Kapazität, künftige RTT, Fairness oder stabile Route.

ACK-Zulässigkeit, bestätigter Versand und lokal genehmigtes Wachstum müssen getrennt protokolliert werden. Aktueller Linux-Reno- und CUBIC-Code prüft vor dem Wachstum, ob der Fluss cwnd-limited ist. Das ist öffentliches Running-Code-Evidence, kein Nachweis für eine benannte Flotte.

Die Betriebskette verbindet Transport und Build, Anwendungspuffer, Empfänger-Credit, Pacing, cwnd, FlightSize, maxFS, Initialfenster, ssthresh, bestätigte Bytes, Verlust- oder ECN-Senkung, berechneten Deckel, Pfad und Ergebnis nach Wiederaufnahme. Der Standard definiert die Mindestregel; lokale Messung beweist ihre Wirkung.

Quellen