Passa al contenuto principale

Appendice B. Pseudocodice di controllo congestione (Congestion Control Pseudocode)

Questa appendice descrive un'implementazione di esempio del controllore di congestione descritto nella Sezione 7.


B.1. Costanti di interesse (Constants of Interest)

  • kInitialWindow: Finestra di congestione iniziale
  • kMinimumWindow: Finestra di congestione minima
  • kLossReductionFactor: Fattore di riduzione (raccomandato: 0.5)
  • kPersistentCongestionThreshold: Durata congestione persistente (raccomandato: 3)

B.2. Variabili di interesse (Variables of Interest)

  • max_datagram_size: Dimensione massima payload corrente
  • ecn_ce_counters[kPacketNumberSpace]: Valori contatore ECN-CE
  • bytes_in_flight: Totale byte di pacchetti in volo
  • congestion_window: Massimo byte consentiti in volo
  • ssthresh: Soglia di avvio lento

B.3-B.9. Funzioni dell'algoritmo

Funzioni per implementare l'algoritmo di controllo della congestione:

  • B.3. Inizializzazione: Inizializzare variabili di controllo congestione
  • B.4. All'invio di un pacchetto: Aggiornare byte in volo
  • B.5. Alla conferma del pacchetto: Elaborare pacchetti confermati
  • B.6. Al nuovo evento di congestione: Gestire rilevamento congestione
  • B.7. Elaborare informazioni ECN: Elaborare feedback ECN
  • B.8. Alla perdita di pacchetti: Gestire perdita pacchetti
  • B.9. Rimuovere pacchetti scartati: Aggiornare byte per pacchetti scartati

Nota: Per implementazioni complete dello pseudocodice, consultare l'Appendice B del documento ufficiale RFC 9002.