Tecnologie e servizi di rete/Qualità del servizio
![]() |
![]() | ![]() | 8. Cenni di sicurezza e crittografia ![]() |
---|
2-3-34 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.
- 4 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 | modifica sorgente]
- 7 Marcatura dei pacchetti necessaria per il router per distinguere tra classi diverse; e nuova politica del router per trattare i pacchetti di conseguenza.
- 8 Fornire protezione (isolamento) per una classe dalle altre.
- 9 Mentre si fornisce isolamento, si desidera utilizzare le risorse in modo il più efficiente possibile.
- 26 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[modifica | modifica sorgente]
Meccanismi di scheduling dei pacchetti[modifica | modifica sorgente]
L'obiettivo dei meccanismi di scheduling è gestire le priorità dei pacchetti in arrivo.
10 Scheduling FIFO[modifica | modifica sorgente]
È 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à.
11-26 Scheduling a priorità[modifica | modifica sorgente]
Per 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.
12 Scheduling round robin[modifica | modifica sorgente]
Effettua ciclicamente la scansione delle code delle classi, servendone una per ogni classe (se disponibile).
Garantisce l'isolamento ed è equa, ma non garantisce la priorità.
13 Weighted fair queuing[modifica | modifica sorgente]
Generalizza 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 <math>R_i</math> della classe <math>i</math> avente peso <math>w_i</math> è data dalla formula seguente (le code vuote hanno peso nullo):
- <math>R_i=\frac{w_i}{\sum_j w_j} R_{tot}</math>
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[modifica | modifica sorgente]
14 L'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 <math>b</math> gettoni;
- i gettoni vengono generati alla frequenza <math>r</math> gettoni/s, a meno che il secchiello non sia pieno;
- su un intervallo di lunghezza <math>t</math>, il numero di pacchetti ammesso è minore o uguale a <math>(rt+b)</math>.
IntServ[modifica | modifica sorgente]
- 27 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.
- 29 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[modifica | modifica sorgente]
17 Differentiated 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à.
18-19-20-21 Architettura[modifica | modifica sorgente]
L'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[modifica | modifica sorgente]
22 La 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.
25 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[modifica | modifica sorgente]
25 Sono 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.
24 I PHB specificano i servizi da offrire, non come implementarli.
Note[modifica | modifica sorgente]
![]() |
![]() | ![]() | 8. Cenni di sicurezza e crittografia ![]() |
---|