Aller au contenu principal

Annexe B. Pseudocode de contrôle de congestion (Congestion Control Pseudocode)

Cette annexe décrit un exemple d'implémentation du contrôleur de congestion décrit dans la section 7.


B.1. Constantes d'intérêt (Constants of Interest)

  • kInitialWindow: Fenêtre de congestion initiale
  • kMinimumWindow: Fenêtre de congestion minimale
  • kLossReductionFactor: Facteur de réduction (recommandé : 0.5)
  • kPersistentCongestionThreshold: Durée de congestion persistante (recommandé : 3)

B.2. Variables d'intérêt (Variables of Interest)

  • max_datagram_size: Taille maximale actuelle de la charge utile
  • ecn_ce_counters[kPacketNumberSpace]: Valeurs du compteur ECN-CE
  • bytes_in_flight: Total des octets des paquets en vol
  • congestion_window: Maximum d'octets autorisés en vol
  • ssthresh: Seuil de démarrage lent

B.3-B.9. Fonctions d'algorithme

Fonctions implémentant l'algorithme de contrôle de congestion :

  • B.3. Initialisation: Initialiser les variables de contrôle de congestion
  • B.4. Lors de l'envoi d'un paquet: Mettre à jour les octets en vol
  • B.5. Lors de l'accusé de réception: Traiter les paquets accusés
  • B.6. Lors d'un nouvel événement de congestion: Gérer la détection de congestion
  • B.7. Traiter les informations ECN: Traiter les retours ECN
  • B.8. Lors de la perte de paquets: Gérer la perte de paquets
  • B.9. Supprimer les paquets rejetés: Mettre à jour les octets pour les paquets rejetés

Note : Pour les implémentations complètes du pseudocode, veuillez consulter l'annexe B du document officiel RFC 9002.