Qualità del servizio: secchio di gettoni, DiffServ, MPLS e SDN
Parametri di qualità, secchio di gettoni con dimostrazione dei limiti sul traffico e sul ritardo, discipline di servizio, IntServ e DiffServ, commutazione a etichetta MPLS, reti definite dal software e network slicing.
Internet tratta tutti i pacchetti allo stesso modo, ma non tutti i servizi hanno le stesse esigenze: una telefonata sopporta qualche perdita ma non i ritardi oltre i 150 ms, un trasferimento di file il contrario, il controllo di un robot remoto richiede ritardi piccoli e garantiti. La qualità del servizio (QoS) è l’insieme delle tecniche per dare garanzie diverse a flussi diversi. In questa lezione vediamo il secchio di gettoni con la dimostrazione del limite sul traffico e sul ritardo, le discipline di servizio delle code, le architetture IntServ e DiffServ, la commutazione a etichetta MPLS e le reti definite dal software.
Che cosa si garantisce
I parametri di un flusso sono la banda, il ritardo da estremo a estremo, la sua variabilità (jitter) e la perdita. Il ritardo di propagazione è fisso; quello che si può controllare è il ritardo nelle code (lezione sulle code). Per dare garanzie bisogna fare due cose: descrivere il traffico che un flusso immetterà, e servire le code in modo da rispettare gli impegni.
Il secchio di gettoni
Un flusso si descrive con un secchio di gettoni (token bucket) di parametri
e
: un secchio di capacità
si riempie di gettoni al ritmo di
gettoni al secondo; ogni byte trasmesso consuma un gettone, e se il secchio è vuoto bisogna aspettare. Il flusso può così mandare raffiche fino a
byte, ma in media non più di
byte al secondo.
Teorema. Il traffico
che esce da un secchio di gettoni in un qualsiasi intervallo di durata
soddisfa
![]()
Dimostrazione. All’inizio dell’intervallo il secchio contiene al massimo
gettoni. Durante l’intervallo ne arrivano al massimo
. Ogni byte trasmesso consuma un gettone, quindi i byte trasmessi non possono superare i gettoni disponibili,
. ∎

Teorema. Se un flusso conforme al secchio
è servito da un collegamento che gli garantisce almeno la velocità
, il ritardo in coda non supera
.
Dimostrazione. Il caso peggiore è una raffica di
byte che arriva tutta insieme a coda vuota: l’ultimo byte deve aspettare che i precedenti siano trasmessi, cioè
. Dopo la raffica i dati arrivano al massimo con velocità
, più lentamente di quanto vengono serviti, quindi la coda non può superare quella iniziale. ∎
Lo stesso secchio, posto all’ingresso della rete, serve da sagomatore (che ritarda i pacchetti in eccesso) o da regolatore (che li scarta o li marca come meno importanti).
Le discipline di servizio
- FIFO: il primo arrivato è il primo servito. Semplice, ma un flusso aggressivo ritarda tutti gli altri.
- Priorità: più code, e si serve sempre quella a priorità più alta non vuota. Ottima per la voce, ma i flussi a bassa priorità possono restare a digiuno.
- Accodamento equo pesato (WFQ) e le sue approssimazioni efficienti come il deficit round robin: ogni flusso ha una coda e un peso
, e riceve almeno la frazione
della capacità. È ciò che permette di garantire la velocità
del teorema precedente.
Contro il gonfiarsi delle code (bufferbloat) si usano anche le gestioni attive delle code, come CoDel, che scartano o marcano pacchetti prima che la coda sia piena, per segnalare in anticipo la congestione a TCP (lezione su TCP).
IntServ e DiffServ
L’architettura IntServ prenotava le risorse per ogni singolo flusso lungo tutto il percorso: garanzie rigorose, ma ogni router doveva ricordare milioni di flussi, e non ha mai funzionato su larga scala. DiffServ classifica invece i pacchetti al bordo della rete in poche classi, scritte in 6 bit dell’intestazione IP: per esempio “inoltro rapido” (EF) per la voce, “inoltro garantito” (AF) con vari livelli, “al meglio” per il resto. I router interni trattano ogni classe con la propria coda e la propria priorità, senza conoscere i flussi. È ciò che usano oggi gli operatori per separare telefonia, televisione e Internet sulla stessa rete.
MPLS
Nelle reti degli operatori i pacchetti vengono spesso inoltrati non guardando l’indirizzo IP, ma una breve etichetta aggiunta all’ingresso della rete: è la commutazione MPLS (multiprotocol label switching). Ogni router cerca l’etichetta in una piccola tabella, la sostituisce con quella successiva e inoltra il pacchetto lungo un percorso a etichetta stabilito in anticipo. Il vantaggio non è più tanto la velocità quanto il controllo: l’operatore può instradare il traffico su percorsi diversi da quelli minimi per bilanciare il carico (ingegneria del traffico), predisporre percorsi di riserva attivabili in 50 ms, e realizzare reti private virtuali che separano i clienti sulla stessa infrastruttura.
Le reti definite dal software
Nei router tradizionali ogni apparato decide da solo con i protocolli di instradamento. Le reti definite dal software (SDN) separano il piano di controllo, che decide i percorsi, dal piano dei dati, che inoltra i pacchetti: un controllore centrale, un programma che vede tutta la rete, installa nelle tabelle degli apparati le regole di inoltro (con protocolli come OpenFlow). La rete diventa programmabile: si può cambiare il comportamento con il software invece che riconfigurando apparato per apparato. Insieme alla virtualizzazione delle funzioni di rete (NFV), che sostituisce apparati dedicati con programmi su server comuni, è la base delle reti dei centri dati e del nucleo delle reti 5G, dove la stessa infrastruttura fisica si divide in “fette” (network slicing) con garanzie diverse per servizi diversi.



