Zum Hauptinhalt springen

Anhang B. Staukontroll-Pseudocode (Congestion Control Pseudocode)

Dieser Anhang beschreibt eine Beispielimplementierung des in Abschnitt 7 beschriebenen Staukontrollers.


B.1. Relevante Konstanten (Constants of Interest)

  • kInitialWindow: Anfängliches Staufenster
  • kMinimumWindow: Minimales Staufenster
  • kLossReductionFactor: Reduzierungsfaktor (empfohlen: 0.5)
  • kPersistentCongestionThreshold: Dauer anhaltender Stau (empfohlen: 3)

B.2. Relevante Variablen (Variables of Interest)

  • max_datagram_size: Aktuelle maximale Nutzlastgröße
  • ecn_ce_counters[kPacketNumberSpace]: ECN-CE-Zählerwerte
  • bytes_in_flight: Gesamtbytes in Übertragung befindlicher Pakete
  • congestion_window: Maximal zulässige Bytes in Übertragung
  • ssthresh: Schwellenwert für langsamen Start

B.3-B.9. Algorithmusfunktionen

Funktionen zur Implementierung des Staukontrollalgorithmus:

  • B.3. Initialisierung: Staukontrollvariablen initialisieren
  • B.4. Beim Senden eines Pakets: Bytes in Übertragung aktualisieren
  • B.5. Bei Paketbestätigung: Bestätigte Pakete verarbeiten
  • B.6. Bei neuem Stauereignis: Stauerkennung behandeln
  • B.7. ECN-Informationen verarbeiten: ECN-Feedback verarbeiten
  • B.8. Bei Paketverlusten: Paketverlust behandeln
  • B.9. Verworfene Pakete entfernen: Bytes für verworfene Pakete aktualisieren

Hinweis: Für vollständige Pseudocode-Implementierungen konsultieren Sie bitte Anhang B des offiziellen RFC 9002-Dokuments.