Tecnologie e servizi di rete/Qualità del servizio
La qualità del servizio è l'insieme delle tecnologie per tentare[1] di garantire specifici requisiti sul ritardo e sul jitter[2] dei pacchetti per le applicazioni multimediali di rete che generano del traffico anelastico.
- Approcci principali
Sono stati proposti tre approcci per la qualità del servizio:
- servizi integrati (IntServ): richiede cambiamenti fondamentali all'infrastruttura di rete in modo che l'applicazione possa riservare banda end-to-end → nuovo software complesso negli host e nei router;
- servizi differenziati (DiffServ): richiede meno cambiamenti all'infrastruttura di rete;
- laissez-faire: chi se ne importa dei ritardi e della qualità del servizio, la rete non sarà mai congestionata → tutta la complessità a livello applicazione.
Principi
modifica- Marcatura dei pacchetti necessaria per il router per distinguere tra classi diverse; e nuova politica del router per trattare i pacchetti di conseguenza.
- Fornire protezione (isolamento) per una classe dalle altre.
- Mentre si fornisce isolamento, si desidera utilizzare le risorse in modo il più efficiente possibile.
- Il flusso dichiara le proprie necessità con una call admission, quindi la rete può bloccare la chiamata (ad es. segnale occupato) se non è in grado di soddisfare le necessità.
Meccanismi
modificaMeccanismi di scheduling dei pacchetti
modificaL'obiettivo dei meccanismi di scheduling è gestire le priorità dei pacchetti in arrivo.
Scheduling FIFO
modificaÈ facile da implementare ed efficiente solo se c'è una politica di scarto sofisticata:
- drop della coda: scarta sempre il pacchetto in arrivo;
- casuale: scarta un pacchetto a caso nella coda;
- priorità: scarta il pacchetto con la classe a più bassa priorità.
Scheduling a priorità
modificaPer ogni classe è disponibile un buffer, e viene servito sempre il pacchetto con la classe a più alta priorità.
Non garantisce l'isolamento e può introdurre starvation: i pacchetti nei buffer a bassa priorità non vengono mai serviti perché continuano ad arrivare pacchetti ad alta priorità. Inoltre, se temporaneamente la coda ad alta priorità è vuota permettendo di iniziare la trasmissione di un pacchetto nella coda a bassa priorità, ma arriva un pacchetto ad alta priorità subito dopo l'inizio della trasmissione, quest'ultimo dovrà aspettare che la trasmissione finisca, soprattutto se il pacchetto è lungo → vengono introdotti dei ritardi di trasmissione.
Scheduling round robin
modificaEffettua ciclicamente la scansione delle code delle classi, servendone una per ogni classe (se disponibile).
Garantisce l'isolamento ed è equa, ma non garantisce la priorità.
Weighted fair queuing
modificaGeneralizza il round robin combinandolo con lo scheduling a priorità.
Ogni classe riceve una quantità pesata del servizio in ogni ciclo, e la larghezza di banda della classe avente peso è data dalla formula seguente (le code vuote hanno peso nullo):
Tuttavia questa soluzione non è molto scalabile perché la formula, che coinvolge operazioni in virgola mobile, deve essere calcolata per ogni singolo pacchetto.
Meccanismi di policing
modificaL'obiettivo dei meccanismi di policing è limitare il traffico in modo che non superi i parametri dichiarati, come:
- frequenza media (a lungo termine): quanti pacchetti si possono inviare per unità di tempo;
- frequenza di picco: misurata in pacchetti al minuto;
- burst size (massimo): massimo numero di pacchetti inviati consecutivamente (senza inattività intervenienti).
Il secchiello a gettoni è la tecnica usata per limitare l'ingresso ad uno specifico burst size e ad una specifica frequenza media:
- un secchiello può contenere gettoni;
- i gettoni vengono generati alla frequenza gettoni/s, a meno che il secchiello non sia pieno;
- su un intervallo di lunghezza , il numero di pacchetti ammesso è minore o uguale a .
IntServ
modifica- Riservamento delle risorse
Fondamentalmente un host chiede un servizio che richiede alcune risorse (messaggio di path): se la rete è in grado di fornire questo servizio servirà l'utente, altrimenti non lo servirà (messaggio di reservation).
Il riservamento delle risorse è una funzionalità che non è nativa in IP.
- Call admission
La sessione in arrivo utilizza il protocollo di segnalazione Resource Reservation Protocol (RSVP) per dichiarare:
- R-spec: specifica la qualità del servizio richiesta;
- T-spec: definisce le caratteristiche del traffico.
Il ricevitore, non il mittente, specifica il riservamento delle risorse.
Questa è senza dubbio una soluzione non scalabile. Ha ancora dei problemi importanti, e attualmente non c'è alcuna ragione per implementare meglio IntServ.
DiffServ
modificaDifferentiated Services (DiffServ) è un'architettura proposta da IETF per la qualità del servizio: sposta la complessità (secchielli e buffer) dal core della rete agli edge router (o host) → più scalabilità.
Architettura
modificaL'architettura DiffServ è costituita da due componenti principali che effettuano al gestione del traffico per flusso:
- edge router: contrassegnano i pacchetti come in-profile (ad alta priorità) o out-profile (a bassa priorità);
- core router: effettuano il buffering e lo scheduling in base alla marcatura eseguita ai margini, dando preferenza ai pacchetti in-profile.
Marcatura
modificaLa marcatura viene eseguita dagli edge router nel campo Differentiated Service Code Point (DSCP), che sta nei 6 bit più significativi del campo "Type of Service" nell'intestazione IPv4 e del campo "Priority" nell'intestazione IPv6.
Sarebbe meglio lasciare che la sorgente, a livello applicazione, effettui la marcatura perché solo la sorgente conosce esattamente il tipo di traffico (traffico voce o traffico dati), ma quasi tutti gli utenti dichiarerebbero tutti i pacchetti come ad alta priorità perché non sarebbero onesti → la marcatura va eseguita dai gateway che sono sotto il controllo del provider. Tuttavia alcuni studi hanno rilevato che i router sono in grado di riconoscere correttamente al massimo il 20-30% del traffico, a causa per esempio del traffico criptato → si può semplificare la distinzione per i router connettendo il PC a una porta e il telefono a un'altra porta, così il router può marcare il traffico in base alla porta di ingresso.
PHB
modificaSono stati sviluppati alcuni Per Hop Behaviour (PHB):
- expedited forwarding: il tasso di partenza dei pacchetti di una classe eguaglia o supera un tasso specificato;
- assured forwarding: quattro classi di traffico: ognuna garantisce una minima quantità di larghezza di banda e tre partizioni di preferenze di drop.
I PHB specificano i servizi da offrire, non come implementarli.