Gestione della Qualità del Servizio su Reti IP Wired e Wireless per Applicazioni Multimediali



Documenti analoghi
Architetture software per la QoS

Reti di Calcolatori. Il software

Lo scenario: la definizione di Internet

Reti di Telecomunicazione Lezione 8

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

QoS e Traffic Shaping. QoS e Traffic Shaping

Reti di Telecomunicazione Lezione 6

SWITCH. 100 Mb/s (UTP cat. 5E) Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Protocolli di Comunicazione

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Università di Genova Facoltà di Ingegneria

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Inizializzazione degli Host. BOOTP e DHCP

Il routing in Internet Exterior Gateway Protocols

Reti di calcolatori. Lezione del 10 giugno 2004

RETI DI COMPUTER Reti Geografiche. (Sez. 9.8)

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

Dispositivi di rete. Ripetitori. Hub

DiffServ- Differentiated Services

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Università di Genova Facoltà di Ingegneria. Integrated Services Differentiated Services. dist. IP-QoS

SERVIZIO DI QoS SULLA RETE GARR: PREMIUM IP

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Progettare un Firewall

Informatica per la comunicazione" - lezione 8 -

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

DA SA Type Data (IP, ARP, etc.) Padding FCS

Reti di calcolatori ed indirizzi IP

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 1

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Dal protocollo IP ai livelli superiori

Reti e Internet: introduzione

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Firewall applicativo per la protezione di portali intranet/extranet

Linux User Group Cremona CORSO RETI

ARCHITETTURA DI RETE FOLEGNANI ANDREA

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Sicurezza nelle reti

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

Introduzione (parte I)

Interconnessione di reti

Multi-Protocol Label Switching (MPLS)

Standard per Reti a Commutazione di Pacchetto Prof. Vincenzo Auletta Università degli studi di Salerno Laurea in Informatica

Differentiated Service

Un sistema operativo è un insieme di programmi che consentono ad un utente di

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

Introduzione alla rete Internet

Il VoIP nel mondo di Internet e l evoluzione del carrier telefonico. Relatore: Ing. Carrera Marco - Audit Technical Manager Switchward

Reti diverse: la soluzione nativa

TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000

Trasmissione di dati al di fuori di un area locale avviene tramite la commutazione

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

Cos'è una vlan. Da Wikipedia: Una LAN virtuale, comunemente

11. Evoluzione del Software

Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI

Wi-Fi, la libertà di navigare in rete senza fili. Introduzione.

Architetture Applicative

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Principi fondamentali

Verifica scritta di Sistemi e Reti Classe 5Di

Allegato 3 Sistema per l interscambio dei dati (SID)

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Standard di comunicazione

Elementi di Informatica e Programmazione

VPN: connessioni sicure di LAN geograficamente distanti. IZ3MEZ Francesco Canova

Le fattispecie di riuso

Introduzione alle applicazioni di rete

Reti di Calcolatori

VideoStreaming su IP

12. Evoluzione del Software

Apparecchiature di Rete

Algoritmi di scheduling

Cos è. Protocollo TCP/IP e indirizzi IP. Cos è. Cos è

Interdomain routing. Principi generali e protocolli di routing. Mario Baldi

3. Introduzione all'internetworking

Indirizzi IP. Indirizzi IP

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 1

Una architettura peer-topeer per la visualizzazione 3D distribuita

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

Siti web centrati sui dati (Data-centric web applications)

Forme di indirizzamento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

Interdomain routing. Principi generali e protocolli di routing. Argomenti della presentazione. Nota di Copyright. Routing interdominio

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Infrastruttura di produzione INFN-GRID

Internet. Introduzione alle comunicazioni tra computer

Firewall e Abilitazioni porte (Port Forwarding)

Il livello 3 della pila ISO/OSI. Il protocollo IP e il protocollo ICMP

Elementi di Informatica e Programmazione

Lezione 1. Introduzione e Modellazione Concettuale

Transcript:

UNIVERSITÀ DEGLI STUDI DI PARMA FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica Gestione della Qualità del Servizio su Reti IP Wired e Wireless per Applicazioni Multimediali Relatore: Chiar.mo Prof. FRANCESCO ZANICHELLI Tesi di laurea di: ANDREA DONETTI Anno Accademico 2002-2003

Indice 1 Introduzione 1 1.1 Contributi della tesi.......................... 2 1.2 Organizzazione della tesi....................... 3 2 Qualità del servizio su reti IP 5 2.1 QoS nelle reti di calcolatori...................... 5 2.1.1 Le reti IP........................... 5 2.1.2 Qualità del servizio...................... 8 2.2 Meccanismi per offrire QoS..................... 10 2.2.1 Control Plane......................... 10 2.2.2 Data Plane.......................... 11 2.2.3 Management Plane...................... 17 2.3 Differentiated Services........................ 17 2.3.1 QoS end-to-end basata su domini amministrativi...... 18 2.3.2 Controllo del flusso all interno di un dominio........ 20 2.4 Bandwidth Broker........................... 23 2.4.1 Base di dati.......................... 25 2.4.2 Protocolli di comunicazione................. 26 2.5 QoS per applicazioni multimediali in reti eterogenee........ 27 2.5.1 Caratteristiche delle applicazioni multimediali....... 27 2.5.2 Gestione dell infrastruttura di rete.............. 29 3 Qualità del servizio su reti wireless 32 3.1 Il protocollo IEEE 802.11....................... 32 3.2 QoS su reti wireless 802.11...................... 34 i

INDICE INDICE 3.2.1 802.11............................ 34 3.2.2 802.11e draft......................... 36 3.2.3 Cisco Aironet 350 Series Access Point............ 38 3.3 QoS end-to-end tra Diffserv e 802.11e WLAN............ 40 4 Realizzazione di una architettura DiffServ 42 4.1 Supporto DiffServ in Linux...................... 43 4.1.1 Traffic Control........................ 43 4.1.2 Code, classi, filtri e policing................. 45 4.1.3 Configurazione del kernel.................. 55 4.2 Architettura per il controllo d accesso................ 56 4.2.1 Modelli di interazione con il BB............... 57 4.2.2 Prototipo realizzato...................... 60 4.2.3 Componenti del sistema................... 61 4.3 QoS tra rete Wired e rete Wireless.................. 74 4.3.1 Filtraggio del traffico destinato alla rete wireless...... 74 4.3.2 Domini DiffServ....................... 81 5 Risultati sperimentali 84 5.1 Configurazione della rete....................... 84 5.2 Utilizzo di schede wireless su computer Linux............ 85 5.3 Testbed................................ 87 5.4 Risultati................................ 89 5.4.1 Assenza di QoS........................ 90 5.4.2 Presenza di QoS....................... 92 5.4.3 Presenza di QoS e banda in downstream variabile...... 96 6 Conclusioni 99 6.1 Sviluppi futuri............................. 100 Bibliografia 101 ii

Capitolo 1 Introduzione Negli ultimi anni sono aumentate enormemente sia la diffusione che la larghezza di banda delle reti IP. Questa disponibilità di risorse ha favorito l incremento della richiesta di applicazioni distribuite multimediali in diversi ambiti, come ad esempio l intrattenimento, l istruzione e il telelavoro. Anche strumenti di uso comune come il telefono stanno migrando verso reti IP a commutazione di pacchetto. La trasmissione di segnali vocali e video che devono essere riprodotti immediatamente dall applicazione ricevente è molto sensibile alla perdita di pacchetti e richiede che vengano rispettati precisi vincoli temporali. Nella maggior parte delle reti IP attualmente utilizzate non viene fatta distinzione tra i dati in transito e non c è modo di garantire la consegna secondo i vincoli richiesti dal traffico multimediale. In letteratura [1, 2, 3, 4, 5, 6] sono documentati alcuni meccanismi per differenziare il trattamento dei dati, dando maggiore priorità al traffico più sensibile alla qualità del servizio offerto dalla rete. In particolare l Internet Engineering Task Force (IETF) ha ideato alcuni modelli per soddisfare le richieste di qualità del servizio. Tra questi ha suscitato particolare interesse l approccio Differentiated Services (DiffServ) [4, 5], che garantisce maggiore scalabilità e miglior adattamento all architettura delle reti IP esistenti rispetto alle altre soluzioni proposte. Al contrario del modello Integrated Services (IntServ) [3], che prevede il mantenimento di uno stato per ogni flusso in ciascun router attraversato, il modello DiffServ definisce un insieme limitato di classi utilizzate per differenziare il trattamento dei dati in transito. 1

Capitolo 1. Introduzione In ingresso ad ogni dominio caratterizzato da un unica amministrazione, i pacchetti vengono marcati con il codice di una delle classi previste, in base alla priorità delle informazioni contenute. Questa marcatura viene utilizzata nei nodi centrali per decidere l ordine di inserimento nelle interfacce di uscita dei router e la probabilità di eliminazione in caso di congestione. Per le funzioni di negoziazione del livello di servizio, di controllo di accesso e di configurazione dinamica della rete può essere utilizzato un componente chiamato Bandwidth Broker [7]. Alcuni centri di ricerca hanno realizzato dei prototipi di Bandwidth Broker secondo le proprie necessità, ma gli studi in questo campo non hanno ancora portato alla definizione di un sistema completo e soddisfacente. Tra le varie tecnologie per la connessione di dispositivi elettronici, quella senza filo (wireless) ha ultimamente avuto un grande sviluppo. La tecnologia wireless permette di connettere comodamente ad Internet dispositivi mobili (computer portatili, telefoni cellulari, PDA) negli ambienti più disparati. Sono stati definiti alcuni standard per la comunicazione wireless mentre altri sono attualmente in via di sviluppo. In particolare l Institute of Electrical and Electronics Engineers (IEEE) ha proposto il protocollo 802.11 utilizzato dalla maggior parte dei dispositivi. Il gruppo di lavoro 802.11e, che non ha ancora concluso il suo lavoro, definirà prossimamente uno standard per offrire qualità del servizio su reti wireless [8, 9, 10]. Il canale wireless presenta caratteristiche differenti rispetto alle reti fisse; ad esempio la perdita di pacchetti, praticamente assente su reti locali (LAN), è sperimentata frequentemente durante comunicazioni wireless. Ad oggi non sono ancora disponibili meccanismi robusti per offrire un servizio end-to-end di qualità ad utenti wireless. 1.1 Contributi della tesi Questa tesi si colloca nel progetto, in corso presso il Dipartimento di Ingegneria dell Informazione dell Università degli Studi di Parma, per la realizzazione di una infrastruttura di rete che permetta a professori, ricercatori e studenti di utilizzare in modo soddisfacente servizi di E-Learning, videoconferenza, streaming video e tutte le applicazioni multimediali che possano essere utili per attività didattiche e di ricerca. Lo scopo di questa tesi è stato quello di dotare l infrastruttura di rete ete- 2

Capitolo 1. Introduzione rogenea (wired e wireless) esistente di strumenti per il trattamento differenziato del traffico secondo il modello DiffServ e realizzare un sistema software per garantire un utilizzo semplice, equo e controllato delle risorse disponibili. Per realizzare i nodi di rete DiffServ sono stati utilizzati personal computer dotati di software GNU/Linux. È stata predisposta una rete locale comprendente i router (edge e core) previsti dal modello DiffServ. Per le funzioni di controllo d accesso, allocazione delle risorse e configurazione dinamica del sistema sono stati studiati diversi modelli di interazione tra i componenti di un dominio. È stato inoltre realizzato un prototipo che comprende un bandwidth broker basato sul codire sviluppato presso l Università del Kansas ed un proxy che si occupa di configurare per l utente la qualità del servizio. Questa soluzione permette l utilizzo sia dal lato client che dal lato server di programmi che ignorano la qualità del servizio, consentendo di servirsi di qualsiasi prodotto disponibile. L allocazione delle risorse, richiesta da un componente integrato nel sistema, viene effettuata secondo le politiche specificate dai gestori del sistema stesso. Sono state studiate e sperimentate le caratteristiche di qualità del servizio offerte dai dispositivi di connettività wireless disponibili in dipartimento, che realizzano alcune funzionalità di differenziazione del traffico basate sulle bozze del protocollo 802.11e. Per migliorare le prestazioni non soddisfacenti ed offrire un sistema maggiormente configurabile è stato progettato e realizzato un meccanismo che integra la parte wireless nell architettura DiffServ predisposta per la rete wired. In particolare è stato introdotto un core router tra il resto della rete fissa e l access point per adattare il traffico diretto ai dispositivi mobili secondo una politica di qualità del servizio. 1.2 Organizzazione della tesi Il secondo capitolo introduce i concetti fondamentali relativi alla qualità del servizio sulle tradizionali reti IP, con particolare attenzione al modello DiffServ. Successivamente viene descritto a livello teorico il funzionamento di un bandwidth broker. Infine viene proposto un esempio di utilizzo della qualità del servizio nel contesto di un campus universitario. Il terzo capitolo presenta lo stato dell arte della qualità del servizio su reti wi- 3

Capitolo 1. Introduzione reless; in particolare sono presentate le caratteristiche degli access point disponibili presso il dipartimento. Il quarto capitolo è dedicato alla descrizione dei meccanismi per la qualità del servizio utilizzati e del prototipo di architettura DiffServ realizzato. Viene inoltre presentato il sistema proposto per migliorare la qualità del servizio per il traffico diretto alla rete wireless. Il quinto capitolo mostra i risultati degli esperimenti compiuti per valutare le prestazioni offerte dai meccanismi di qualità del servizio realizzati. Il sesto capitolo infine riassume i risultati ottenuti e indica alcune possibili evoluzioni del progetto. 4

Capitolo 2 Qualità del servizio su reti IP 2.1 QoS nelle reti di calcolatori In questo capitolo vengono introdotti i concetti fondamentali di funzionamento delle reti IP e della qualità del servizio. Vengono inoltre indicati alcuni dei meccanismi proposti in letteratura per realizzare la qualità del servizio. In particolare viene descritta l architettura Differentiated Services, utilizzata in questo lavoro di tesi. Per una trattazione più dettagliata si rimanda al testo [1]. 2.1.1 Le reti IP La maggior parte delle reti di calcolatori attualmente utilizzate in tutto il mondo si basa sulla suite di protocolli TCP/IP, ideata più di vent anni orsono e affermatasi largamente con lo sviluppo di Internet. Il protocollo di livello rete IP (Internet Protocol) è di tipo best effort, cioè non garantisce nulla riguardo l effettiva ricezione, l ordinamento e la prioritizzazione dei pacchetti. Il protocollo IP ha le seguenti caratteristiche: è connectionless: il trasferimento dei dati non avviene attraverso un unico percorso stabilito per tutta la durata della connessione. scelte di instradamento prese hop-by-hop nessun meccanismo di identificazione e correzione degli errori 5

Capitolo 2. Qualità del servizio su reti IP supporto per diverse tecnologie al livello 2 del modello OSI (data link) Alcune funzionalità quali la numerazione dei pacchetti e la ritrasmissione in caso di smarrimento possono essere gestite al livello superiore di trasporto utilizzando il protocollo TCP. Negli ultimi anni è aumentato enormemente il numero di computer connessi a Internet, oltre alla disponibilità di risorse hardware, software e di connettività. In particolare c è stato un incremento della richiesta di applicazioni multimediali (video on demand, videoconferenza, voice over IP, e-learning, ecc.) che necessitano di banda larga ma soprattutto costante. Nella tabella 2.1 sono riportati alcuni valori indicativi sull utilizzo di banda da parte di alcune delle più comuni applicazioni di rete. Applicazione Banda tipica Voice 6 Kbps to 64 Kbps Whiteboard 10 Kbps to 100 Kbps Web Application 10 Kbps to 500 Kbps File Transfer 10 Kbps to 1 Mbps Video (streaming) 100 Kbps to 1 Mbps Video-conferencing 128 Kbps to 1 Mbps Video MPEG 1 Mbps to 100 Mbps Medical images 10 Mbps to 100 Mbps Tabella 2.1: Banda tipicamente utilizzata da alcune applicazioni Nel caso di un flusso di dati in streaming, ossia utilizzati in tempo reale dall applicazione che li riceve, è necessario che i pacchetti rispettino dei vincoli temporali abbastanza precisi al fine di evitare che il risultato finale risulti degradato. Esistono degli accorgimenti per ridurre l effetto di eventuali ritardi nella ricezione dei dati, come ad esempio l utilizzo di un buffer, ma queste soluzioni non garantiscono comunque un servizio del tutto soddisfacente all utente. Queste applicazioni avrebbero bisogno di una tipologia di servizio migliore rispetto al best effort messo a disposizione dal protocollo IP. La versione 4 del protocollo IP impone la presenza, nell header dei pacchetti, di un byte che specifica il tipo di servizio (Type of Service): i primi tre bit ( PRECE- DENCE, da 0 a 2) sono utilizzati per indicare la precedenza mentre i successivi 4 ( TOS, da 3 a 6) contengono informazioni relative all instradamento (figura 2.1). 6

Capitolo 2. Qualità del servizio su reti IP 0 1 2 3 4 5 6 7 PRECEDENCE TOS MBZ IPv4 RFC 1349 MBZ = Must Be Zero Figura 2.1: TOS nell header IP L ultimo bit (7) deve essere 0. I bit PRECEDENCE indicano priorità crescente con l aumentare del valore, mentre i bit TOS significano (scrivendo per primo il bit numero 3 e per ultimo il numero 6): 0000 = normal service 1000 = minimize delay 0100 = maximize throughput 0010 = maximize reliability 0001 = minimize monetary cost L utilizzo di queste informazioni comporta però overhead nei router, in particolare in quelli ad alte prestazioni che elaborano grandi quantità di pacchetti. Nella pratica tali informazioni sono di fatto ignorate dai router, per evitare un degrado della qualità del servizio offerta dalla la rete. La versione 6 cerca di migliorare il supporto alla qualità del servizio, oltre a risolvere altri problemi che non sono però oggetto di questo lavoro. IPv6 definisce nell header i campi flow label e traffic class: flow label ha lo scopo di consentire la manipolazione dei pacchetti a seconda del flusso di appartenenza. Un pacchetto con la flow label specificata può essere inoltrato in modo efficiente, utilizzando quella informazione indipendentemente dal resto dell header. L identificazione basata sulla label viene utilizzata da sistemi di gestione della QOS quali IntServ [3] e Multi-Protocol Label Switching (MPLS) [6]. 7

Capitolo 2. Qualità del servizio su reti IP traffic class permette di specificare una priorità associata ad ogni pacchetto introducendo il concetto di classe di servizio; in una classe sono raggruppati pacchetti appartenenti a flussi differenti, che formano quindi degli aggregati. Questo concetto sta alla base dell architettura Differentiated Service (DiffServ) [4] [5]. 2.1.2 Qualità del servizio La Quality of Service (QoS) è definita come la misura delle prestazioni di un sistema di comunicazione, che si riflette nella qualità della trasmissione e nella disponibilità del servizio. Dal punto di vista dell utente la QoS è percepibile, in modo meno rigoroso, attraverso il funzionamento più o meno corretto e soddisfacente dell applicazione utilizzata. La qualità della trasmissione è espressa dai seguenti parametri: perdita di pacchetti (loss): è il rapporto tra la quantità di pacchetti ricevuti rispetto a quanti ne sono stati trasmessi. I pacchetti possono andare perduti perchè scartati dai router in caso di congestione (queue overflow per lentezza di trasmissione o per picchi di dati in input), perchè male indirizzati oppure per colpa di errori di trasmissione. latenza (delay): rappresenta tutti i vari tipi di ritardi che i pacchetti subiscono attraversando la rete. La latenza può essere espressa in vari modi, ad esempio come latenza end-to-end, come tempo di risposta, come ritardi introdotti dalle applicazioni e come ritardi introdotti dai componenti di rete (router, hub, switch, firewall). variazione di latenza (jitter): è la variazione dei ritardi che subiscono i vari pacchetti. Per esempio, se un pacchetto impiega 100ms per attraversare la rete da sorgente a destinazione e il successivo impiega 125ms per percorrere lo stesso tragitto, il jitter calcolato è 25ms. Valori elevati di jitter possono causare rimescolamento dei pacchetti ed errori di temporizzazione. Questo fenomeno può essere causato da congestioni della rete, o da altri fattori legati alla rete e ai tempi di risposta dei suoi componenti. Per diminuire l influenza del jitter sulla qualità di applicazioni che trasmettono audio o video in tempo reale 8

Capitolo 2. Qualità del servizio su reti IP viene spesso utilizzato un buffer in ricezione. Questo comporta un aumento del ritardo percepito dall utente ed è efficace, a seconda della dimensione, solo entro un certo range di jitter. affidabilità: percentuale di tempo in cui il sistema funziona senza malfunzionamenti, particolarmente importante per applicazioni mission-critical. Solitamente viene stipulato un accordo tra utente e provider di servizi di rete sul livello di servizio, detto Service Level Agreement (SLA). In questo accordo vengono specificati i valori che possono assumere i parametri di QoS, con l aggiunta di altre informazioni quali ad esempio la banda massima utilizzabile, il prezzo del servizio e il comportamento da realizzare se i vincoli concordati non possono essere soddisfatti. Ad esempio, se le condizioni di traffico non consentono di fornire il servizio concordato, un utente può scegliere tra diverse opzioni: proseguire l applicazione in corso utilizzando la rete con prestazioni inferiori richiedere un servizio peggiore a livello applicativo che funzioni correttamente con le condizioni di rete (ad esempio richiedere un filmato con bitrate minore) attendere che vengano rispettate le condizioni indicate nel SLA Il livello di servizio concordato deve essere realizzato dalla rete lungo tutto il percorso, in modo da garantire un comportamento adeguato dell applicazione che sia soddisfacente per l utente. Il servizio di tipo best effort offerto dalle reti IP funziona sufficientemente bene per molte applicazioni comunemente utilizzate; queste applicazioni possono essere classificate come: applicazioni asincrone: per esempio l email o il traffico HTTP, in entrambi i casi la rete riesce solitamente a garantire prestazioni accettabili per l utente. applicazioni burst: applicazioni che producono picchi istantanei nel bitrate che variano sensibilmente rispetto al valore medio. applicazioni bulk: applicazioni che trasferiscono grandi quantità di dati ad una velocità abbastanza costante, nel caso che i dati non debbano essere utilizzati con precisi limiti temporali (ad esempio FTP). 9

Capitolo 2. Qualità del servizio su reti IP Le applicazioni che invece necessitano di una specifica qualità del servizio sono dette real time e si differenziano in soft real time e hard real time: le prime richiedono garanzie su determinati vincoli temporali ma possono anche accettare alcune fluttuazioni delle caratteristiche di servizio senza compromettere il risultato percepito dall utente. Le applicazioni hard real time, invece, non accettano variazioni nei parametri della QoS. Una descrizione più approfondita sui vincoli richiesti dai vari tipi di applicazioni multimediali si trova nel sottoparagrafo 2.5.1. 2.2 Meccanismi per offrire QoS Un primo elementare metodo per garantire la qualità del servizio consiste nel sovradimensionare le strutture di rete in modo da riuscire a soddisfare ogni richiesta degli utenti; chiaramente questa è una soluzione effettivamente utilizzabile solo in piccole reti locali a causa dei costi e del continuo sviluppo delle applicazioni e del numero degli utenti. Di fatto per regolare i parametri della QoS si utilizza un insieme di meccanismi studiati per controllare a vari livelli il traffico di rete. Questi componenti base di una architettura per la QoS si possono suddividere in tre aree: Control Plane, Data Plane e Management Plane [2]. 2.2.1 Control Plane Riguarda i meccanismi che gestiscono il percorso attraverso il quale viaggia il traffico degli utenti. Quest area comprende: Admission control: controlla il traffico che può transitare all interno della rete, in modo che un nuovo flusso accettato non causi perdita di qualità al traffico esistente. Normalmente l admission control è guidato da un insieme di regole concordate dal service provider con gli utenti della rete. QoS routing: si occupa di scegliere un percorso che soddisfi le richieste di QoS dei flussi di traffico. Spesso si utilizzano algoritmi differenti dal tradizionale shortest path, basati su metriche che utilizzano i parametri di QoS 10

Capitolo 2. Qualità del servizio su reti IP (banda, latenza, ecc.). Per realizzare questi meccanismi è necessaria la conoscenza delle richieste di QoS del flusso e delle caratteristiche di rete che variano frequentemente. Questa conoscenza si ottiene tipicamente grazie a protocolli di segnalazione, come Resource ReserVation Protocol (RSVP) o estensioni di Open Shortest Path First (OSPF). Resource reservation: questo meccanismo prenota le risorse di rete richieste da una applicazione per garantire le prestazioni concordate. La capacità di garantire le risorse è legata alle funzioni di admission control. Una condizione necessaria per soddisfare una richiesta di prenotazione è che ci siano sufficienti risorse di rete. Le caratteristiche del resource reservation dipendono dalle performance di rete richieste e dallo specifico approccio per realizzare la QoS. Un esempio di protocollo per riservare risorse è il RSVP, particolarmente usato nella architettura Integrated Service (IntServ). 2.2.2 Data Plane Contiene i meccanismi che intervengono direttamente sul traffico degli utenti, ad esempio modificando il modo in cui i router elaborano e inoltrano i pacchetti in transito. Le operazioni effettuate dai router, descritte in modo molto semplice, sono le seguenti: i pacchetti ricevuti in modo sincrono o asincrono vengono messi nelle code di input, successivamente sono elaborati secondo le operazioni di base del protocollo IP (controllo del TTL, gestione degli indirizzi, ecc.) ed infine sono indirizzati nella giusta coda di output per essere trasmessi. Questi processi a seconda della capacità di elaborazione, della dimensione della memoria, della velocità di trasmissione del router introducono latenza e sono una delle principali fonti di perdita dei pacchetti. Inoltre non c è nessuna garanzia che i pacchetti provenienti da una stessa sorgente vengano gestiti allo stesso modo, perciò la latenza dei vari pacchetti tende ad essere variabile producendo jitter. Le principali operazioni che fanno parte del Data Plane sono packet conditioning, queue scheduling e congestion control. Per quanto riguarda il packet conditioning si usano le seguenti tecniche: packet classification and marking: i pacchetti vengono classificati in base ai 11

Capitolo 2. Qualità del servizio su reti IP SHAPING CLASSIFICATION + MARKING... POLICING... OUTPUT INTERFACE INPUT QUEUES OUTPUT QUEUES SCHEDULING CONGESTION CONTROL Figura 2.2: Data plane all interno di un router parametri degli header a seconda della politica da realizzare e marcati per essere rapidamente riconosciuti nelle successive elaborazioni. La classificazione può essere fatta esaminando i parametri a diversi livelli: Layer 2 (802.1Q Class of Service CoS, MAC address, MPLS experimental values) Layer 3 (IP precedence, DSCP, indirizzo IP sorgente/destinazione) Layer 4 (porte TCP o UDP) Layer 7 (application signatures) I pacchetti vengono marcati in modo differente a seconda dell architettura utilizzata (Diffsev, Intserv, ecc.). Ogni architettura definisce infatti un campo o un significato specifico ad un campo esistente in un header. I nodi interni di rete classificano i pacchetti analizzando solamente questo campo. packet prioritization: i pacchetti vengono serviti con più o meno priorità a seconda del marchio che hanno ricevuto. Per esempio gli algoritmi di scheduling nei router possono decidere il successivo pacchetto da analizzare in base alla priorità assegnata. traffic shaping: i flussi di dati vengono modellati in modo da filtrare eventuali picchi limitando la banda disponibile per i vari profili. Il traffico out-of-profile (che eccede i limiti fissati) viene gestito a seconda del sistema e della politica utilizzata. Per effettuare questa operazione solitamente i sistemi di QoS utilizzano uno schema token-bucket. Lo schema token-bucket viene utilizzato per controllare le caratteristiche principali dei flussi di pacchetti come la 12

Capitolo 2. Qualità del servizio su reti IP velocità media, i picchi istantanei di velocià ed i burst (numero di pacchetti che temporaneamente possono essere inviati nonostante venga superato il limite massimo di banda utilizzabile). Il funzionamento di un semplice filtro token-bucket (TBF) è il seguente (figura 2.3): i token che rappresentano i crediti sono generati ad una velocità predefinita r i token sono accumulati in un bucket (cestino) fino ad un limite fissato b che rappresenta la dimensione del bucket i pacchetti che arrivano alla velocità media p hanno accesso alla rete grazie ai crediti disponibili nel cestino i pacchetti subiscono un comportamento definito dall amministratore se non sono disponibili crediti nel cestino (out-of-band). Ad esempio questi pacchetti possono essere eliminati oppure indirizzati in un apposita coda di output. Token generation rate (r) Bucket size (b) Bucket Packet Packet size (m) Network out of band packet Figura 2.3: Filtro Token Bucket Il valore r rappresenta quindi la velocità media prevista per il flusso. La dimensione del cestino rappresenta la variazione possibile rispetto alla velo- 13

Capitolo 2. Qualità del servizio su reti IP cità media, ossia il numero massimo di pacchetti che possono essere inoltrati istantaneamente al di sopra del rate fissato. I pacchetti consumano un numero differente di crediti in proporzione alla loro dimensione. policing: applicazione di un insieme di regole che devono essere rispettate relativamente al servizio. In base a queste regole (ad esempio gli accordi definiti in un SLA) vengono decise le azioni da compiere sui pacchetti come, ad esempio, scartare quelli che sono oltre il limite di banda fissato. Per migliorare le prestazioni per quanto riguarda latenza e jitter si è possibile intervenire sulla dimensione dei pacchetti in modo da evitare che pacchetti di grosse dimensioni e bassa priorità siano causa ritardi eccessivi al traffico prioritario. Il queue scheduling rappresenta un insieme di algoritmi e meccanismi usati per controllare il trasferimento dei pacchetti dalle code di input a quelle di output nei router. Gli obiettivi sono quelli di condividere la banda in modo equo evitando la starvation di alcuni utenti, garantire i parametri di QoS come banda e latenza se specificati e ridurre i jitter. Gli algoritmi usati più frequentemente per realizzare questi obiettivi sono: First-In First-Out (FIFO): la coda più semplice, il primo arrivato è il primo ad uscire. Tutti i pacchetti ricevono lo stesso trattamento. Funziona bene grazie alla sua semplicità in assenza di congestioni. Priority Queuing (PQ): ci sono n code alle quali è associata una priorità relativa. I pacchetti con priorità maggiore vengono serviti prima. I pacchetti in una coda vengono serviti solo se le code a priorità maggiore sono vuote. Causa problemi di starvation. Round Robin (RR) e Weighted Round Robin (WRR): sono presenti varie code. L algoritmo base serve in ordine tutte le code, un pacchetto per volta. Nella versione weighted è possibile specificare il numero di pacchetti serviti per le singole code ad ogni turno. Garantisce priorità e non provoca starvation. Non viene considerata la dimensione dei pacchetti, quindi possono verificarsi lunghe attese per pacchetti di piccole dimensioni. Non può quindi garantire limiti di banda o latenza. 14

Capitolo 2. Qualità del servizio su reti IP Weighted-Fair Queuing (WFQ): è un algoritmo complesso pensato per fornire imparzialità e per evitare la starvation, offrendo una priorità prefissata ai vari flussi. Class-Based Queuing (CBQ): consente di suddividere il traffico in varie classi, ognuna delle quali può gestire il traffico in modo autonomo tramite code interne. Esistono anche altri metodi di gestione delle code, ad esempio variazioni agli algoritmi indicati, realizzazioni proprietarie di soluzioni generiche e nuove soluzioni che non sono generalmente presenti nei router. Il congestion control è l insieme dei meccanismi usati per prevenire ed eliminare le congestioni nelle reti. Vi sono tecniche reattive che tendono a diminuire l intensità del traffico che attraversa la rete, e tecniche proattive che cercano di evitare il formarsi di congestioni. I principali approcci al problema sono: Tail Drop: vengono eliminati i pacchetti ricevuti se la coda di output è piena. Random Early Detection (RED): i pacchetti vengono scartati con una data probabilità in modo da evitare la formazione di congestioni. Quando le code sono lontane dalla saturazione e si è quindi in condizioni di traffico sostenibile dalla rete nessun pacchetto viene scartato. Se il numero di pacchetti in coda supera una soglia specificata il meccanismo RED comincia a scartare alcuni pacchetti in modo casuale; la probabilità che hanno i pacchetti di essere scartati aumenta con la percentuale di riempimento della coda, arrivando a scartare tutti i pacchetti in arrivo quando il buffer è pieno. Explicit Congestion Notification (ECN): i router notificano la congestione esplicitamente ad un ECN-capable end-system invece di segnalarla scartando semplicemente dei pacchetti. Per realizzare soluzioni che garantiscano la qualità del servizio sono state proposte varie architetture. In particolare l Internet Engineering Task Force (IETF) ha ideato le proposte che più hanno influito nell evoluzione delle reti IP. I due principali approcci di gestione dei pacchetti sono i seguenti: 15

Capitolo 2. Qualità del servizio su reti IP flow-based packet processing: per flusso (flow) si intende in genere una trasmissione unidirezionale di dati fra due applicazioni identificata tipicamente dagli indirizzi IP e porte (sorgente/destinazione) oppure da un identificatore di flusso; questo identificatore è utilizzato, ad esempio, nella soluzione proposta da IPv6 e nel RSVP nell architettura IntServ. Utilizzando il concetto di flusso si riescono a suddividere in modo capillare i vari pacchetti che attraversano una rete. Secondo questo approccio i pacchetti vengono elaborati per ottenere la QoS in modo diverso in base al flusso di appartenenza. Questa capillarità porta a problemi di scalabilità nel caso di grosse reti con molti utenti, sia a causa dell aumento dell elaborazione richiesta, sia per il numero delle informazioni che bisogna memorizzare per ogni flusso. Il concetto di flusso, che ricorda il concetto di chiamata nelle linee telefoniche, si scontra con la natura connectionless del protocollo IP. class-based packet processing: i flussi possono essere raggruppati insieme utilizzando in modo incrociato differenti caratteristiche come ad esempio la rete di origine e qualsiasi altra informazione contenuta nell intestazione IP. Grazie a questi classificatori si possono ottenere aggregati di traffico che raggruppano in una classe flussi differenti ma che hanno in comune qualche attributo identificativo. Aggregato e classe sono i termini che identificano questa soluzione. I pacchetti vengono elaborati nei nodi di rete a seconda della classe di apparteneza, non più in modo individuale come avviene nel caso precedentemente illustrato. Il metodo Class-based scala bene con l aumetare dei nodi e degli utenti e richiede la memorizzazione di poche informazioni. Considerando flussi aggregati si riduce l analisi dell header dei pacchetti diminuendo quindi l overhead introdotto dai router. Un altro vantaggio è quello di semplificare la gestione e la realizzazione delle politiche da parte dell amministratore, dovendo considerare solamente poche classi di servizio. Il principale inconveniente è invece la scarsa personalizzazione del servizio possibile. Questo approccio è realizzato dalla architettura Differentiated Service (DiffServ). 16

Capitolo 2. Qualità del servizio su reti IP 2.2.3 Management Plane Fanno parte di quest area i meccanismi che riguardano gli aspetti di gestione e di amministrazione degli traffico. Appartengono a questo insieme: Metering: monitorare le caratteristiche variabili di un flusso di dati (ad esempio la velocità di traferimento) in modo che rientrino nel profilo concordato. Uno strumento che esegue questa funzione può richiedere un trattamento particolare per il traffico monitorato (ad esempio shaping o dropping). Service Level Agreement (SLA): un SLA è l accordo tra un cliente ed il suo fornitore di servizi, nel quale sono indicati il livello di affidabilità, di prestazioni e altri attributi del servizio. Può includere anche aspetti di natura economica come le tariffe. Nella parte tecnica vengono specificati i parametri di traffico specifici utilizzati dall architettura che gestisce la QoS nel dominio. Traffic Restoration: è la capacità della rete di funzionare in condizioni di guasti ed errori. Gli errori possono verificarsi a livello di nodi di rete o di connessione fra due nodi. 2.3 Differentiated Services In questo tesi è stato scelto il modello DiffServ per fornire qualità del servizio, preferendolo a quello IntServ perchè maggiormente scalabile, come spiegato precedentemente. L idea fondamentale di questa modello è di ridurre la complessità nei nodi centrali della rete che devono trattare un numero enorme di dati. Un piccolo insieme di primitive per l invio differenziato dei pacchetti può essere composto per creare un vasto insieme di caratteristiche di QoS. I nodi centrali della rete devono gestire solamente questo piccolo insieme di primitive. Il modello DiffServ evidenzia come sia possibile offrire un servizio di QoS attraverso la configurazione statica dei nodi centrali della rete. Vengono tenute separate le funzionalità di elaborazione dei pacchetti e di configurazione dei parametri di QoS nei router centrali: la classificazione dei pacchetti avviene alla velocità con cui viaggiano nella rete, mentre la configurazione delle primitive utilizzate dai core 17