8
ha sempre offerto un solo livello di servizio chiamato "Best Effort" dove tutti i
pacchetti sono trattati nella rete allo stesso modo senza particolari riguardi per il
tipo di applicazione trasportata. Una rete Best Effort fornisce connettività senza
alcun tipo di garanzia: se le risorse di rete sono disponibili il traffico viene
consegnato, altrimenti viene scartato. In questo modo, ad esempio, può accadere
che applicazioni, come i file transfer, possano consumare tutte le risorse della rete
obbligando i router a scartare i pacchetti video di una sessione di
videoconferenza. Tuttavia, le nuove applicazioni di rete richiedono di essere
trattate con cura al fine di garantire un buon livello di servizio all'utente finale.
Pertanto, oltre al livello di servizio Best Effort, diventa necessario definire
altri modelli di trattamento del traffico che garantiscano i requisiti richiesti dai
diversi tipi di applicazioni.
Il termine Qualità del Servizio (QoS - Quality of Service) indica un
insieme di architetture, protocolli, algoritmi e tecnologie il cui obiettivo è
permettere alle diverse applicazioni di condividere la stessa infrastruttura
garantendo i requisiti al fine di offrire all'utente finale un servizio di qualità. Con
questo significato, il termine QoS non è riferito ad una particolare tecnologia, ma
coinvolge tutte le esistenti e future tecnologie di rete quali IP, Frame Relay,
ATM, MPLS, Ethernet, etc. come pure le future reti mobili di terza generazione e
le nuove reti wireless. La QoS prevede un vasto insieme di tecniche per il
trattamento del traffico interattivo e multimediale, per la prevenzione e la
gestione delle congestioni, per l'allocazione ottimale delle risorse trasmissive e
per la classificazione e la differenziazione del traffico. Infine QoS significa anche
opportuni criteri di progettazione degli apparati e di ingegnerizzazione dell'intera
infrastruttura di rete.
E’ questa la sfida che affronta il progetto “CADENUS”
1
proponendo una
propria architettura che s’integra nella maniera più indolore possibile e che limiti
1
CADENUS (Creation And Deployment of ENd User Services in premium-IP
networks) è il progetto IST-1999-11017 http://www.cadenus.org
9
la sua invasività allo stretto necessario, per evitare di stravolgere la struttura di
rete che ormai è consolidata da anni e che ha dimostrato di possedere grandi
pregi. La rete IP, infatti, fonde il suo successo proprio nella sua abilità di operare
attraverso una qualunque rete e su una qualunque piattaforma. IP lavora bene
perché è semplice. Il suo disegno deriva dall’approccio end-to-end che mette
l’intelligenza negli host sorgente e destinazione e lascia il cuore della rete
inattivo. D’altra parte, però, questa stessa semplicità rappresenta un grosso limite
poiché IP fornisce solo un servizio di tipo ‘Best-Effort’ .
L’obiettivo che si pone “CADENUS” è di introdurre un nuovo paradigma,
differente dall’originale modello best-effort, che possa assicurare la QoS
appropriata alle esigenze d’ogni applicazione. Precisamente il traguardo sperato è
quello di definizione di componenti, procedure e processi per l’offerta e la
negoziazione di servizi di comunicazione avanzata nelle reti Premium IP
attraverso infrastrutture globali le quali dovrebbero avere un alto grado di
complessità in termini non solo di scala, ma anche del numero di operatori e
livelli di eterogeneità tecnologica. Per raggiungere tale obiettivo viene definita
un’architettura modulare, consistente di uno stack di livelli orizzontali, ognuno
dei quali percepisce un concetto di qualità del servizio a un livello differente di
astrazione.
Lo scopo della tesi è inizialmente quello di individuare un insieme di
parametri utili ad identificare senza ambiguità diversi livelli di QoS, in maniera
tale da permettere la contrattazione di precisi livelli di servizio tra gli utenti ed i
gestori della rete. Successivamente è stata effettuata una fase di studio tesa a
tradurre un servizio così descritto, in termini quantitativi di risorse di rete
necessarie alla sua applicazione sulla rete. Data l’aleatorietà connessa ad una serie
di parametri in gioco, non è sempre possibile operare questa traduzione in
maniera deterministica. Si è dunque proceduto alla ricerca di una serie di bound
per queste risorse attraverso l’uso di modelli analitici e statistici. Dei bound
individuati è stato valutato il livello di effettiva applicabilità in scenari reali ed,
10
attraverso l’uso di un ambiente per la simulazione delle reti a commutazione di
pacchetto, la loro qualità. La parte finale del lavoro è consistita nella definizione
ed implementazione di un algoritmo per effettuare l’admission control facendo
uso dei modelli scelti ed alla sua validazione, sempre attraverso simulazioni di
scenari reali.
Un’intensa ricerca è stata fatta per individuare dei modelli per la stima di:
Packet Loss Probability (PLP), Delay, Jitter e Troughput (Cap.3).
I risultati delle simulazioni sono stati elaborati (attraverso procedure scritte
in OTCL) per estrarre la PLP, il Delay ed il Jitter effettivamente sperimentato
dalle sorgenti. Da tali dati è stato possibile quantificare la bontà dell’algoritmo.
Gli scenari simulati realizzati hanno contemplato un insieme eterogeneo di
casistiche a complessità crescente. Tra i parametri variabili nelle diverse
configurazioni ci sono: dimensione del buffer delle code, numero dei nodi della
rete, topologia, banda disponibile sui link.
Capitolo 1
La QoS (Quality of Service)
1.1 Cos’è la QoS
In questi ultimi anni Internet è diventata una realtà per tutto il mondo. Essa
è oggi parte integrante e fondamentale di molte aziende e attività lavorative di
ogni tipo. La crescita di Internet ha portato ad un aumento vertiginoso del traffico
sulla rete ed alla creazione di nuove applicazioni che possono essere usate su di
essa. Caratteristica comune a queste ultime è l’alta quantità di banda di cui
necessitano, e questo ha portato tutte le aziende fornitrici di servizio Internet ad
affrontare il problema fondamentale che ne deriva, ovvero, l’essere in grado di
soddisfare con dei livelli di qualità sufficienti tutte le richieste che arrivano.
La “QoS in Internet” è uno dei principali temi di ricerca e sviluppo degli
ultimi anni.
Per QoS s’intende, la possibilità di fornire delle garanzie sui servizi forniti
attraverso Internet. In altre parole la QoS rappresenta la capacità da parte della
rete (applicazione, host, router,link, ecc.) di garantire che i livelli di traffico e i
servizi richiesti siano soddisfatti. La QoS per esistere richiede sia la cooperazione
di tutti i livelli
1
dell'architettura di rete, dal più alto al più basso, che quella di tutti
gli altri nodi della rete che stanno tra la sorgente e la destinazione delle
informazioni.
C'è da ricordare, inoltre, che la QoS non crea ampiezza di banda. Non è
possibile, infatti, per la rete dare di più di quanto essa disponga. La QoS gestisce
la distribuzione della banda tra tutte le richieste, oltre che a preoccuparsi di
assicurare determinati livelli di trasmissione per ogni flusso di dati. Uno dei
1
Ci riferiamo a modelli di rete a strati (ISO/OSI, TCP/IP).
Capitolo 1. La QoS 12
compiti della QoS, è anche quello di fare in modo che il traffico relativo a
richieste best-effort sia soddisfatto e che non rimanga completamente bloccato.
1.2 La situazione attuale
Adesso la metodologia utilizzata da Internet per lo scambio d’informazioni
non sfrutta al meglio tutta la sua capacità. Internet, infatti, potrebbe avere una
grand’ampiezza di banda a sua disposizione, ma purtroppo è molto difficile
riuscire a sfruttarla poiché non esiste nessun tipo di controllo che permetta di
trasferire dati in modo efficiente. Come ben noto la politica di Qualità del
Servizio utilizzata si chiama "best-effort", in altre parole "si fa meglio che si
può". Nulla è garantito, non esistono aziende che assicurano delle connessioni ad
Internet affidabili per qualsiasi tipo di dati si possa trasmettere e con dei tempi
rigidamente fissati (fig 1.1) [3].
fig.1.1 IP Network
Capitolo 1. La QoS 13
Tra i motivi fondamentali che hanno portato molte compagnie ad
affrontare il problema QoS, c'è, infatti, anche la grand’ampiezza di banda
necessaria per trasmettere i dati utilizzati nei nuovi servizi. Infatti, finché Internet
era utilizzata per trasmettere informazioni come file, posta semplice, dati per
connessioni telnet ecc. non esistevano problemi di QoS. Invece, da quando sono
nati i protocolli e le tecnologie per utilizzare Internet anche come mezzo per
trasmettere voce e video in tempo reale, il problema della QoS si è fatto sentire.
Questi tipi di trasmissioni richiedono una grand’ampiezza di banda che non
sempre è garantita dalla rete e che quindi rende queste trasmissioni inaffidabili, e
di conseguenza tali sono anche i servizi che si basano su di esse.
Oltre alle nuove tipologie di trasmissioni, un'altra cosa che ha reso il
problema della QoS rilevante è il continuo aumento degli utilizzatori di Internet.
Questo porta, infatti, ad una notevole congestione della rete e quindi, ad un calo
delle risorse pro-capite disponibili.
È chiaro che, se le compagnie che offrono servizi ad Internet vogliono
fornire delle connessioni affidabili devono incominciare a gestire i vari servizi
offerti sulla rete e le diverse connessioni creando dei contratti specifici che diano
delle garanzie.
Internet, allo stato attuale, non offre alcun tipo di garanzia per i servizi che
supporta, ed ecco il motivo per il quale si affronta il problema della QoS.
Da molto tempo si sta cercando di trasportare servizi differenti su di
un'unica architettura di rete, questi servizi oggi hanno reti dedicate
(TV,telefono,radio,ecc.), ma queste applicazioni stanno migrando verso l’uso di
reti IP
2
.
2
Un qualunque segnale analogico deve attraversare diverse fasi(es. conversione digitale,
pacchettizzazione,ecc.) per poter essere trasmesso su Internet.
Capitolo 1. La QoS 14
Quando applicazioni differenti, che hanno reti dedicate, devono divenire
IP-Based, le tecnologie di QoS devono garantire delle prestazioni simili a quelle
che esse hanno nelle proprie reti.
1.3 Parametri di prestazione
Per garantire la QoS bisogna prevedere servizi differenziati e prestazioni
assicurate end-to-end per le applicazioni in Internet (fig.1.2).
Applicazioni differenti possono avere servizi differenti in accordo alle loro
richieste.
fig.1.2 QoS end to end
Capitolo 1. La QoS 15
Un gruppo di parametri può essere utilizzato per determinare il livello di
servizio da offrire o da ricevere. Questi parametri consistono in [1]:
Network Availability, Bandwidth, Delay, Jitter, Packet loss, Throughput.
Network availability: può avere un effetto significativo sulla QoS.Questo
parametro è legato ad un (supposto) breve periodo di tempo in cui la rete può
fornire un servizio con prestazioni impredicibili o indesiderabili.
Il Network availability tiene conto dell’ affidabilità degli elementi che la
rete utilizza, ecco perché si hanno dispositivi di rete ridondanti come interfacce,
processori e alimentatori in router e switch, connessioni.
Bandwidth: è probabilmente il secondo parametro più significativo, è la
larghezza di banda che la rete può offrire all’utente. L’allocazione della larghezza
di banda può essere di due tipi: Available Bandwidth e Guaranteed Bandwidth.
Nell’available bandwidth gli utenti competono per la banda disponibile,
essi possono usufruire di più o di meno banda in base all’ammontare del traffico
sulla rete in un dato tempo.
Nella guaranteed bandwidth gli operatori di rete offrono un servizio che
provvede a garantire un minimo ed un picco di banda. Poiché la banda è garantita
questo servizio ha un prezzo maggiore dell’available bandwidth.
Delay: è il tempo che intercorre tra il momento in cui un messaggio viene
consegnato alla rete, per essere recapitato a destinazione, e il tempo in cui
effettivamente viene consegnato all’utente destinatario. Se un pacchetto dati può
arrivare anche dopo diversi secondi, invece, un segnale audio o video di una
sessione interattiva non può superare i limiti imposti al ritardo di consegna, in
quanto l’informazione nella sua globalità si degraderebbe eccessivamente.
Il Delay, che un generico pacchetto subirà, sarà dovuto alla somma dei
ritardi accumulati su ogni link attraversato. Il ritardo associato ad ogni link, è
costituito da quattro componenti :
Capitolo 1. La QoS 16
1. PROCESSING DELAY (RITARDO DI PROCESSAMENTO): tempo che
trascorre tra quando il pacchetto è correttamente ricevuto al nodo di testa del link
e quando esso viene assegnato alla coda di trasmissione di un link d’uscita.
2. QUEUEING DELAY (RITARDO DI CODA): tempo che trascorre tra
l’istante in cui il pacchetto è assegnato ad una coda per la trasmissione e l’istante
in cui il pacchetto inizia ad essere trasmesso.
Questo ritardo è quello di natura maggiormente statistica, perché dipende
da tanti fattori che non si riescono a prevedere con precisione.
3. TRANSMISSION DELAY (RITARDO DI TRASMISSIONE): tempo che
trascorre tra gli istanti in cui il primo e l’ultimo bit del pacchetto sono spediti.
4. PROPAGATION DELAY (RITARDO DI PROPAGAZIONE): tempo che
trascorre tra l’istante in cui l’ultimo bit è spedito dal nodo di testa del link e
l’istante in cui esso è ricevuto dal nodo di coda del link. Questo tempo dipende
dalle caratteristiche del mezzo trasmissivo, ed è proporzionale alla distanza che
separa il sender dal receiver. Tale delay risulta essere molto piccolo salvo nel
caso delle trasmissioni via satellite. Tipicamente i mezzi di comunicazione
utilizzati (cavo coassiale) hanno una velocità di propagazione pari circa a
8
2*10 m/s .
Jitter: è la misura della variazione del delay tra due pacchetti consecutivi
per un dato flusso di traffico. In una rete packet-switched il jitter è la distorsione
dei tempi d’arrivo dei pacchetti comparata ai tempi dei pacchetti della
trasmissione originale. Questa distorsione danneggia molto il traffico di dati
multimediali (voce e video).
Tutte le reti introducono un jitter perché in ogni nodo di rete i pacchetti
sperimentano un delay variabile a causa dell’accodamento. Comunque la QoS
deve garantire un bound per questo parametro.
Capitolo 1. La QoS 17
Packet Loss (PLP Packet Loss Probability): indica la quantità, in termini
percentuali, dei pacchetti persi sui pacchetti totali per un determinato flusso di
traffico.
La perdita di un pacchetto si può avere o per errori introdotti dal mezzo
fisico di trasmissione o per la congestione della rete. La maggior parte delle linee
di trasmissione hanno un PLP basso legato alla misura del BER (Bit Error Rate),
però connessioni wireless o via satellite hanno un BER elevato e variabile con le
condizioni ambientali e geografiche, infatti la nebbia, la pioggia, interferenze RF,
ostacoli fisici come edifici, montagne ed alberi contribuiscono alla crescita del
BER e, quindi, del PLP.
Alcune tecnologie wireless trasmettono informazioni ridondanti per
contrastare la PLP (codifica dei dati a controllo o a correzione di errore).
La perdita dei pacchetti può avvenire anche quando la rete è congestionata,
in tal caso in un’architettura di rete esistono protocolli, come il TCP
(Transmission Control Protocol), che danno una protezione alla perdita dei
pacchetti ritrasmettendo i pacchetti che sono stati persi o corrotti dalla rete.
Quando la rete è fortemente congestionata la perdita dei pacchetti aumenta e si
incrementa il numero di ritrasmissioni, se la congestione continua le prestazioni
della rete si abbassano significativamente, perché molta banda è utilizzata per
ritrasmettere i pacchetti persi.
Poiché la congestione ha un impatto diretto sul PLP conviene
implementare meccanismi che riescono ad evitarla.
Throughput: misura l’efficienza del sistema, e rappresenta il volume del
traffico che viene smaltito dalla rete nell’unità di tempo: analiticamente esso si
può quantificare attraverso il rapporto tra il traffico offerto ed il traffico smaltito.
Esiste un’altra interpretazione (non di interesse prestazionistico) di throughput,
inteso come volume di traffico offerto alla rete.
Per quanto riguarda l’efficienza, essa è del 100% quando tutto quello
Capitolo 1. La QoS 18
immesso nella rete riesce ad essere interamente smaltito.
1.4 Categorie di applicazioni
In tab.1.1 è illustrata in termini qualitativi la QoS richiesta per alcune
applicazioni comuni [1].
tab.1.1 Prestazioni richieste
Possiamo ottenere delle categorie di applicazioni basandoci o sulle
aspettative dell’utente finale o sulle prestazioni richieste dall’applicazione.
Alcune applicazioni sono svolte tra utenti (video conferenza, VoIP, ecc.)
altre tra utente e dispositivo di rete (PC e un server web) ed altre tra dispositivi di
rete (tra router). In tab 1.2 illustriamo quattro differenti categorie di traffico e per
ognuna di esse alcuni esempi di applicazioni che ne fanno parte.
Capitolo 1. La QoS 19
tab.1.2 Categorie di traffico
Le applicazioni sono interactive quando due o più persone vi partecipano
attivamente. I partecipanti si aspettano un servizio real-time dalla rete.
In questo contesto bisogna assicurare un minimo delay ed una minima
variazione del delay (jitter) tra chi trasmette e chi riceve.
Esempi di applicazioni interactive sono VoIP, video conferenza e giochi
iterattivi.
Queste applicazioni sono di solito UDP-Based per garantire un delay
minimo, quindi non si ha nessun controllo sui pacchetti persi, essi non saranno
ritrasmessi. Comunque la ritrasmissione dei pacchetti persi non reca alcun
beneficio alle applicazioni interactive che sono time-based, ovvero la consegna
dei pacchetti deve avvenire nello stesso ordine con cui i pacchetti sono stati
trasmessi.
Percui queste applicazioni richiedono anche un PLP contenuto.
Nella categoria responsive troviamo applicazioni tra utenti e dispositivi di
rete (server). Un utente può richiedere una rapida risposta ad una richieta fatta ad
un dispositivo di rete. Queste applicazioni sono simili a quelle real-time e
richiedono un piccolo delay, piccolo jitter ed un basso PLP; in ogni caso le
richieste non sono così stringenti come nel real-time.
Questa categoria include streaming media ed applicazioni web-based.
Capitolo 1. La QoS 20
Le applicazioni streaming media includono radio, audio e video broadcast
su internet.
Queste applicazioni richiedono delle risposte a determinate segnalazioni
senza dover aspettare troppo, per esempio mentre un utente vede un video on-
demand può richiedere la ritrasmissione, la pausa, il rewind o il fast-forward e
l’applicazione deve reagire simulando un VCR, anche nei tempi di risposta.
Le applicazioni web-based includono la selezione di un hyperlink per
saltare ad una nuova pagina web o la richiesta di particolari servizi.
Queste applicazioni possono includere anche una transazione finanziaria.
Le applicazioni responsive possono essere UDP o TCP-Based.
Le applicazioni streaming media sono tipicamente UDP-Based, ma
possono essere anche TCP-Based. Le applicazioni web-Based utilizzano il
protocollo HTTP (HyperText Transport Protocol) e sono sempre TCP-Based.
La categoria timely include quelle applicazioni che non richiedono
prestazioni stringenti, ma solo che vengano effettuate in modo opportuno.
Esempi di applicazioni per questa categoria sono l’e-mail ed il
trasferimento file (FTP).
Esse richiedono un bound sul delay, per esempio se un’e-mail impiega
pochi minuti per arrivare a destinazione il servizio è accettabile, ma se impiega
più di 10 minuti non è accettabile.
Il trasferimento dei file è TCP-Based, il protocollo TCP fa in modo che
tutti i pacchetti arrivino a destinazione in modo affidabile.
Quindi le applicazioni di questa categoria richiedono un bound sul delay
(non stringente), l’effetto del jitter è trascurabile ed il protocollo TCP fa in modo
che l’applicazione non risenta della perdita dei pacchetti.
Nella categoria Network control troviamo quelle applicazioni utilizzate per
il controllo e l’amministrazione della rete. Esempi sono: gestione dei protocolli di
routing, fatturazioni e misure per QoS.