Scheduler di rete
# Scheduler di rete

Uno scheduler di rete (in inglese network scheduler o packet scheduler), è un programma che gestisce la sequenza di pacchetti di rete in una coda di trasmissione/ricezione di una scheda di rete. Esistono più scheduler disponibili per differenti kernel e che implementano differenti algoritmi di scheduling.

## Algoritmi di scheduling

Col passare del tempo, sono stati ideati e sviluppati diversi algoritmi di scheduling di rete. Molti di questi sono stati implementati come Loadable Kernel Module e sono disponibili gratuitamente:

* AVQ (Adaptive Virtual Queue)
* CBQ (Class-based queueing)
* CHOKe (CHOose and Keep for responsive flows, CHOose and Kill for unresponsive flows) variante dell'algoritmo RED (vedi sotto)
* CoDel (Controlled Delay) e Fair Queue CoDel
* Credit-based fair queueing
* DRR (Deficit round robin) e DWRR, scritto da Patrick McHardy per il kernel Linux e rilasciato sotto GNU General Public License
* HFSC (Hierarchical Fair Service Curve)
* NETEM Network emulator
* HTB (Hierarchy Token Bucket)
* QFQ (Quick Fair Queueing)
* FQ (Fair queueing) and WFQ (Weighted fair queueing)
* pkt_sched: fq: Fair Queue packet scheduler
* RED (Random early detection) e le varianti ARED, GRED, RRED (Robust random early detection) WRED (Weighted random early detection)
* SFB (Stochastic Fair Blue) e la variante Resilient SFB
* SFQ (Stochastic Fairness Queueing)
* TBF (Token Bucket Filter)
* TEQL (Trivial Link Equalizer)
* RR (Round-robin) e WRR (Weighted round robin)
* PIE (Proportional integral controller enhanced)
* HFF (Heavy-hitter filter)
