Anhang A. Verlustwiederherstellungs-Pseudocode (Loss Recovery Pseudocode)
Dieser Anhang beschreibt eine Beispielimplementierung der in Abschnitt 6 beschriebenen Verlusterkennungsmechanismen.
A.1. Verfolgung gesendeter Pakete (Tracking Sent Packets)
Zur korrekten Implementierung der Staukontrolle verfolgt ein QUIC-Sender jedes bestätigungsanfordernde Paket.
A.1.1. Gesendete Paketfelder
Schlüsselfelder für jedes gesendete Paket:
packet_number: Paketnummerack_eliciting: Ob Paket Bestätigung erfordertin_flight: Ob Paket zu Bytes in Übertragung zähltsent_bytes: Anzahl gesendeter Bytestime_sent: Sendezeitstempel
A.2. Relevante Konstanten (Constants of Interest)
- kPacketThreshold: Maximale Paketneuordnung (empfohlen: 3)
- kTimeThreshold: Maximale Zeitneuordnung (empfohlen: 9/8)
- kGranularity: Timer-Granularität (empfohlen: 1 ms)
- kInitialRtt: Anfänglicher RTT-Wert (empfohlen: 333 ms)
A.3-A.11. Algorithmusfunktionen
Funktionen zur Implementierung des Verlustwiederherstellungsalgorithmus:
- A.4. Initialisierung: Verlusterkennungsvariablen initialisieren
- A.5. Beim Senden eines Pakets: Paketinformationen speichern
- A.6. Beim Empfang eines Datagramms: Anti-Amplifikations-Entsperrung behandeln
- A.7. Beim Empfang einer Bestätigung: ACK-Rahmen verarbeiten
- A.8. Timer-Einstellung: Erkennungstimer konfigurieren
- A.9. Bei Timeout: Timer-Ablauf behandeln
- A.10. Erkennung verlorener Pakete: Verlorene Pakete identifizieren
- A.11. Beim Verwerfen von Schlüsseln: Schlüsselverwerfung behandeln
Hinweis: Für vollständige Pseudocode-Implementierungen konsultieren Sie bitte Anhang A des offiziellen RFC 9002-Dokuments.