Capitolo 1 Qualita’ del servizio (QoS) su reti IP.
9
tipo di applicazioni il contenuto informativo di un pacchetto ha una validita’
temporale limitata e quindi non puo’ essere consegnato a destinazione oltre
un prefissato tempo limite.
Nasce quindi l’idea di occuparsi di nuove applicazioni assicurando loro
predeterminate specifiche, ad esempio in termini di banda o di garanzia di
consegna entro un ritardo prestabilito; nasce la QoS , qualità di sevizio,
intesa come possibilità per l’utente di richiedere un trattamento preferenziale
per il proprio traffico, con l’intento di soddisfare predeterminati requisiti
prestazionali.
In questi anni si sono delineate due diverse architetture di rete, basate su due
differenti filosofie:
Architetture a servizi integrati (IntServ, IS)
Architetture a servizi differenziati (DiffServ, DS)
Il paradigma IntServ che analizzeremo nel presente capitolo si basa
essenzialmente su due concetti fondamentali: la suddivisione di traffico su
base flusso e l’utilizzo di differenti classi di servizio per flussi di
datagrammi.
Il paradigma DiffServ, si basa invece sul concetto di aggregazione di flusso,
di trattamento preferenziale in accordo a comportamenti prestabiliti e con
l’applicazione di regole ai nodi di confine.
Entrambi gli approcci appena introdotti, sono stati sviluppati dall’IETF
(Internet Engineering Task Force), una organizzazione che si occupa di
fornire gli standard per Internet.
Capitolo 1 Qualita’ del servizio (QoS) su reti IP.
10
1.2 Reti IP a servizi integrati.
1.2.1 Introduzione.
L’architettura a servizi integrati, (IS, Integrated Services) sviluppata da un
gruppo di lavoro(WG-working group) dell’IETF, non si e’ occupata di
fornire una nuova definizione dell’architettura tradizionale IP ma si e’
piuttosto occupata di estenderla per il supporto della qualita’ di servizio.
Tale modello nasce, infatti, dall’esigenza di rendere la classica architettura
Internet in grado di supportare ad esempio diverse classi di servizio.
In un tale scenario si assume che sia il traffico real-time che quello non real-
time utilizzino le stesse infrastrutture, ed inoltre che il traffico non
appartenente ad alcuna classe di servizio continui ad essere trattato in
modalità best-effort.
Abbiamo gia’ accennato che uno uno dei concetti fondamentali alla base
dell’architettura IS e’ quello di flusso (flow), definito come una sequenza di
datagrammi generata da una applicazione verso uno o più riceventi.
Questa architettura prevede lo sviluppo di determinate funzioni all’interno
dei router atte a gestire tali flussi in base al tipo di servizio richiesto. Per
tale motivo l’architettura in questione viene definita orientata al flusso.
1.2.2 Tipologie di servizio.
Attualmente oltre al tradizionale servizio Best Effort il modello IS fornisce
due tipologie di servizio:
Guaranteed: assicura la consegna del 100 % dei datagrammi con
un ritardo sempre inferiore ad una data soglia, garantendo sempre
un minimo livello di banda.
Capitolo 1 Qualita’ del servizio (QoS) su reti IP.
11
Controlled Load: fornisce un servizio analogo al best effort ma
utilizza il modulo di Admission Control per garantire la qualità di
servizio e prevenire eventuali condizioni di sovraccarico della
rete. In questa tipologia di servizio il traffico e’ soggetto allo
stesso trattamento che subirebbe se fosse in una rete best-effort
scarica.
In un contesto quale quello appena introdotto, la QoS rappresenta perciò la
capacità, da parte degli elementi della rete quali router host o applicazioni
vere e proprie, di garantire che un certo traffico o una data richiesta di
servizio possa essere soddisfatta.
Ciò che attraverso la qualità di servizio si riesce ad ottenere non è
ovviamente di creare una larghezza di banda superiore (resta l’impossibilità
di creare qualcosa che non esiste), ma di gestire tale banda, cercando di
rispettare tutte le domande provenienti dalle varie applicazioni, in modo tale
da riuscire a fornire diversi livelli di servizio a diversi gruppi di utenti.
La banda allocata ad una dato flusso è intesa come una riservazione di
risorsa e per questo non sarà disponibile, per tutto il tempo di durata di quel
flusso, ne’ per il servizio best effort, ne’ per qualsiasi altro flusso.
Ovviamente favorire i servizi a qualità di servizio garantita, non deve
provocare la “starvation“ di altre classi, non deve cioe’ creare dei flussi che
risentano in modo sproporzionato di questa gestione della banda in base a
privilegi e diritti di determinati flussi rispetto ad altri. A tutte le classi deve
continuare ad essere garantito un servizio, ossia si puo’ arrecare loro al
massimo un ritardo nell’esecuzione ma non una cancellazione della stessa.
L’esistenza di utenti privilegiati rispetto ad altri conduce necessariamente
all’utilizzo di particolari meccanismi di controllo, l’insieme dei quali prende
il nome di Policy Control.
Capitolo 1 Qualita’ del servizio (QoS) su reti IP.
12
Allo stesso tempo, d’altronde, una tale diversificazione dei diritti conduce
alla necessità di un meccanismo di autenticazione dell’utente e ad una
diversificazione di prezzo a seconda dei servizi richiesti.
Il meccanismo IS si basa sul protocollo di riservazione di risorse RSVP
(Reservation Protocol), protocollo su base flusso, utilizzato, in questo
contesto, per comunicare, ai router dell’intera rete, le caratteristiche e le
richieste prestazionali di ciascun flusso.
Il protocollo RSVP pur essendo una parte fondamentale nell’architettura a
servizi integrati non va tuttavia confuso con essa; RSVP puo’ infatti essere
utilizzato anhe in altri contesti.
Conviene immediatamente sottolineare che il limite fondamentale di questo
approccio è la sua poca scalabilità.
Inoltre la complessità dell’approccio IS, spinge ad utilizzarlo solo in alcune
aree della rete, ad esempio nelle zone di accesso.
1.2.3 Architettura e funzionamento di un router IS.
Vediamo ora i componenti principali che dovrebbero essere presenti in un
nodo che supporti il metodo IS.
All’interno di un generico router si possono individuare alcuni componenti
basilari:
Admission control: È un modulo che essenzialmente implementa un
algoritmo che si occupa di decidere se la richiesta di un dato servizio
può essere o meno garantita
Packet Classifier: È l’elemento che si occupa di suddividere i vari
pacchetti in uscita dal router, assegnandoli alle varie classi di
servizio. Opera sulla base del contenuto del filterspec.
Packet scheduler: È in genere situato al livello Link Layer, si occupa
della gestione dei pacchetti, appartenenti alle diverse classi decise dal
Capitolo 1 Qualita’ del servizio (QoS) su reti IP.
13
Classifier, ed utilizza vari criteri per disciplinare la trasmissione dei
pacchetti uscenti dalle code di output.
Tale modulo opera sulla base del contenuto del flowspec. Un altro
importante compito che spesso gli viene attribuito è quello di
misurare il traffico di rete e di fornire delle statistiche utilizzate sia
da lui stesso che dal modulo di admission control .
RSVP
PACKET
CLASSIFIER
flowspec
filterspec
Pacchetti
dati
Pacchetti
RSVP
Pacchetti dati
PACKET
SCHEDULER
ADMISSION
CONTROL
Come evidenziato dalla figura in un router così fatto, dal pacchetto RSVP
vengono estratti i due oggetti filterspec e flowspec, il primo dei quali viene
inviato al Packet Classifier, il secondo al Packet Scheduler.
Capitolo 1 Qualita’ del servizio (QoS) su reti IP.
14
1.3 Reti IP a servizi differenziati.
1.3.1 Introduzione.
Analizziamo ora un secondo approccio alla qualità di servizio: l’architettura
a servizi differenziati (DiffServ, DS).
L’idea base di questa architettura è di fornire un trattamento preferenziale ad
alcuni tipi di traffico a discapito di altri. L’allocazione preferenziale delle
risorse avviene attraverso un trattamento diverso dei vari datagrammi in
accordo al valore specificato all’interno di uno campo del datagramma
stesso, il DS-field, campo che ne indica appunto il livello di priorità. Questa
informazione sarà tradotta dal router nel PHB (Per Hop Behaviour) che
specifica la modalita’ di trattamento di ogni pacchetto all’interno del router
stesso.
1.3.2 Architettura DiffServ.
In una architettura DiffServ i router IP hanno diversi compiti e svolgono
diversi ruoli a seconda della loro collocazione all’interno della rete stessa.
In questo tipo di scenario la rete e’ pensata come formata da un insieme di
domini ognuno dei quali formato da un insieme di nodi DiffServ, che
implementano lo stesso insieme di PHB e che rispettano le stesse regole di
policy.
Una prima grossa distinzione da fare per i nodi DiffServ è quella che li
distingue in nodi di frontiera, DS-Boundary, e nodi interni, DS-Interior.
Capitolo 1 Qualita’ del servizio (QoS) su reti IP.
15
I primi si occupano di interconnettere tra loro diversi domini, mentre i
secondi si occupano esclusivamente dell’instradamento all’interno del
dominio stesso.
Un nodo DS-Boundary ha il fondamentale compito di classificare tutti i
pacchetti che attraversano le interfacce verso l’esterno o l’interno del
dominio a cui appartiene.
Tale nodo svolge infatti il duplice ruolo di ingress router ed egress router,
occupandosi quindi sia di un semplice controllo della corretta conformità del
traffico entrante nel dominio che di eventuali azioni correttive da attuare al
traffico uscente dal dominio, in accordo con i TCS (Traffic Conditioning
Specifications).
I DS-Boundary quindi, stabiliscono anche i confini del dominio DiffServ
(DS-Domain).
Una regione a servizi differenziati è costituita da un gruppo di DS-Domain,
all’interno dei quali è garantita la qualità di servizio.
Per quel che concerne la classificazione del traffico si sfruttano dei
particolari accordi tra domini adiacenti, che sostanzialmente sono di due tipi:
Service Level Specifications (SLS)
Traffic Conditioning Specification (TCS)
I SLS si occupano di stabilire il trattamento dei pacchetti all’interno della
rete in termini di banda allocata e di tempi di attesa, mentre i TCS sono veri
e propri contratti di condizionamento del traffico.
Un DS-Boundary deve essere in grado di garantire i TCS tra il proprio
dominio e i domini adiacenti a cui questo è connesso.
Per rendere possibile l’implementazione di un servizio differenziato in un
dominio, bisogna innanzitutto svolgere due compiti fondamentali:
Configurare il traffico aggregato, per garantire un minimo rate di
partenza, rate che deve essere sempre indipendente da altri
eventuali tipi di traffico presenti in rete.
Capitolo 1 Qualita’ del servizio (QoS) su reti IP.
16
Condizionare il traffico aggregato con funzioni di policing, per
rendere il rate di ingresso in un nodo sempre inferiore al rate
configurato in uscita da quel nodo.
Il Per Hop Behaviour (PHB) è definito per ciascuna classe di traffico e
consente la realizzazione del primo punto, del secondo punto invece se ne
occupano come gia’ accennato i DS-Boundary attraverso l’applicazione dei
TCS.
All’interno di un nodo DiffServ i pacchetti IP subiscono quindi prima una
classificazione del traffico seguito poi da un condizionamento dello stesso.
Nella figura seguente è rappresentata la struttura del Traffic Conditioner, la
struttura che si occupa di gestire il traffico in accordo con TCS e SLS.
Classifier Marker Shaper/
Dropper
Meter
Vediamo ora un po’ più nel dettaglio quali sono i ruoli svolti da ciascuno dei
componenti del Traffic Conditioner:
Classifier: è il primo elemento chiamato in gioco e si occupa di
selezionare determinati pacchetti presenti nel flusso; tale selezione
avviene in base al campo DS-field nell’intestazione.
Meter: è l’elemento che si occupa di confrontare caratteristiche di
flusso dei pacchetti selezionati dal classifier con quelle specificate
nel TCS. L’appartenenza o meno dei pacchetti a determinati
Capitolo 1 Qualita’ del servizio (QoS) su reti IP.
17
profili influenzerà le azioni svolte da determinati moduli che
seguiranno il Meter.
Marker: questo modulo marca il DS-field dei pacchetti con un
codice opportuno, tale modulo quindi stabilisce il diritto di un
pacchetto di usufruire di un determinato trattamento.
Ad ogni codice, infatti, verrà associato un particolare
comportamento che sarà tenuto dai router, noto con il nome di Per
Hop Behaviour (PHB).
Shaper/Dropper: questo ultimo modulo si occupa di scartare o
eventualmente ritardare determinati pacchetti per rendere il flusso
conforme al profilo a cui oramai appartiene.
1.3.3 Classi di servizio.
Fino ad ora sono stati definiti tre PHB oltre al best effort:
Expedited Forwarding: assicura ai pacchetti un trattamento
grazie al quale la frequenza di partenza dei pacchetti stessi non
risulta mai inferiore ad una soglia prestabilita. Il ritardo nella rete
è dovuto essenzialmente al transito dei pacchetti nei router
gestiti con discipline di coda.
Per evitare lunghe attese si deve cercare di mantenere piccole
code e facendo in modo che il massimo rate del traffico
aggregato in arrivo sia sempre inferiore al massimo rate del
traffico aggregato in uscita, si riesce ad evitare un pericoloso
allungamento delle code. Inoltre il trattamento di cui i flussi
usufruiranno sarà indipendente dall’intensità del traffico nel
nodo, e questo sarà garantito dall’utilizzo di code di priorità
diversa a seconda dei PHB.
Capitolo 1 Qualita’ del servizio (QoS) su reti IP.
18
Assured Forwarding: utilizza delle classi di servizio, ad ognuna
delle quali assicura l’utilizzo di una minima quantità di risorse
(banda o buffer). I pacchetti verranno trattati poi in base alla
classe di servizio a cui appartengono ed in base ad una ulteriore
divisione per livello di priorità nel caso di congestione della rete.
Class Selector Compliant: in questo caso a nessun servizio e’
riservata banda. Ad ogni servizio e’ assegnata una priorita’ e
verranno soddisfatte prima le richieste con la piu’ alta priorita’.
L’architettura DiffServ è particolarmente semplice e facilmente scalabile, al
contrario dell’architettura IntServ, tuttavia un suo limite consiste proprio
negli accordi bilaterali tra i domini adiacenti al dominio DiffServ, tali
accordi infatti non consentono una allocazione esclusiva delle risorse. Gli
accordi bilaterali sono di natura predefinita e non sempre facilmente
adattabili ai cambiamenti di traffico. La soluzione ottimale sarebbe quella di
riuscire a mantenere le caratteristiche positive di entrambi gli approcci.
1.4 Interlavoro tra reti a Servizi Integrati e Differenziati.
Abbiamo già accennato come le due architetture che sono state proposte,
ossia quella a servizi differenziati e quella a servizi integrati, rappresentino
due valide soluzioni al raggiungimento dell’obiettivo qualità di servizio.
Bisogna tuttavia ricordare che entrambe le soluzioni presentano degli
svantaggi che sarebbe auspicabile evitare:
l’approccio IntServ in termini di scalabilità
l’approccio DiffServ pur essendo facilmente scalabile e
particolarmente semplice non consente grossa flessibilità poiché si
basa su accordi bilaterali tra domini, accordi che come abbiamo già
Capitolo 1 Qualita’ del servizio (QoS) su reti IP.
19
detto sono di natura predefinita, e non consentono una gestione
dinamica dei flussi.
E’ chiaro quindi come nasce l’idea di utilizzare una architettura mista
IntServ/DiffServ che consenta di usufruire dei vantaggi di entrambi i
modelli.
Appare chiaro come l’utilizzo di una struttura di questo tipo renda necessarie
alcune modifiche ad entrambi gli approcci, in particolar modo in questo
paragrafo vedremo come in questo scenario assuma un ruolo fondamentale
il dispositivo di bordo tra i due domini IS e DS..
Diffserv
Core
Intserv
Network
RSVP capable
Router
Diffserv Core
Routers
ER ER
Edge Router
(RSVP aware)
Intserv
Network
Tx
Rx
RSVP capable
Router
Figura 1.1 Scenario di interlavoro.
Tale dispositivo, che in figura abbiamo chiamato semplicemente edge
router, si trova a svolgere contemporaneamente il ruolo di router di ingresso
o di router di uscita per le due reti che interconnette.
Questa particolare posizione all’interno delle rete fa si che si trovi a dover
svolgere numerose funzionalita’ di seguito elencate:
Capitolo 1 Qualita’ del servizio (QoS) su reti IP.
20
Classificazione: e’ la fase in cui i flussi entranti dal dominio
IntServ vengono distinti e suddivisi in vari gruppi in base alle loro
esigenze in termini di qualita’.
Mapping: dopo aver raggruppato i vari flussi nella fase di
classificazione si istanziano delle corrispondenze tra le classi di
servizio proprie del dominio IntServ e quelle presenti in un
dominio DiffServ. Ciò equivale a dire che si crea una
corrispondenza tra una classe IntServ e un dato PHB DS.
Marking: a seconda del PHB stabilito in questa fase viene marcato
il campo DS dei pacchetti in ingresso.
Controllo di ammissione: e’ la funzione piu’ importante applicata
dal dispositivo di bordo e viene applicata all’ingresso della rete
Diffserv per assicurare che le risorse richieste siano effettivamente
disponibili anche all’interno di tale dominio.
Per attuare un controllo di ammissione in un contesto di interlavoro si
possono seguire due diverse strategie basate su due diversi approcci
concettuali, la prima prevede una gestione delle risorse di tipo centralizzato,
la seconda al contrario vuole basarsi su una gestione di tipo distribuito:
Approccio distribuito: al contrario del caso precedente in questo
tipo di filosofia non è previsto alcun metodo per mantenere le
informazioni di disponibilità delle risorse dell’intera rete; ciò
implica la necessità che ogni dispositivo di bordo memorizzi tutta
una serie di informazioni locali utili per attuare poi il controllo di
ammissione.
Approccio centralizzato: per seguire questa filosofia risulta
necessario l’utilizzo di una nuova entita’ che si occupi di
mantenere tutte le informazioni necessarie alla gestione delle
risorse dell’intera rete. Tale entità che chiameremo Bandwidth
Broker avrà il ruolo quindi di un vero e proprio server per il
controllo di ammissione.
Capitolo 1 Qualita’ del servizio (QoS) su reti IP.
21
L’approccio distribuito infatti pur essendo un approccio molto semplice
presenta alcuni svantaggi:
Necessita di edge router molto piu’ complessi in accordo con le
numerose funzioni che questi si trovano a dover svolgere.
La loro conoscenza dello stato della rete e’ imprecisa e parziale.
Per questi motivi e’ preferibile l’approccio centralizzato rispetto a quello
distribuito.
IS
ISDS
DS
Bandwidth Broker
Admission Control Server
Edge
Router
TX
RX
IntServ Network IntServ Network
DiffServ Network
DS
Edge
Router
Figura 1.2 Scenario di interlavoro con Admission
Control Server
Vediamo ora cosa accade in una struttura mista di questo genere quando host
vuole ottenere una riservazione delle risorse:
L’applicazione mittente Tx genera un messaggio RSVP-Path, tale
messaggio contenente le caratteristiche del flusso viene inoltrato
hop by hop verso il ricevitore Rx.
Tale messaggio sara’ processato all’interno della reti di accesso
IntServ in accordo a quanto stabilito per contesti di questo tipo,
mentre sara’ trasportato in modo del tutto trasparente nella sezione
DiffServ.
Capitolo 1 Qualita’ del servizio (QoS) su reti IP.
22
All’arrivo del messaggio Path il Rx generera’ il corrispondente
messaggio Resv che inoltrera’, attraverso la rete, in direzione
dell’host mittente Tx che ha aperto la sessione.
Nel dispositivo di bordo dal lato mittente (Ingress Edge Router)
l’arrivo del messaggio di Resv provocherà una interrogazione
verso l’entita’ BB.
L’entita’ BB, sulla base delle informazioni contenute nel Resv e
sulla base delle informazioni in suo possesso in merito alle risorse
disponibili nella rete DS, decide se ammettere o meno la richiesta
di riservazione banda che gli e’ appena pervenuta.
A questo punto il messaggio di Resv sara’ inoltrato o meno nella
rete IntServ a seconda della risposta del BB.
Lo scambio di messaggi tra il dispositivo di bordo ER e l’entità BB deve
avvenire attraverso un protocollo, quali ad esempio il COPS ( Common
Open Policy Server ).
1.5 Il controllo di ammissione.
Come accennato precedentemente uno dei fulcri di una struttura di tipo
misto e’ rappresentato da una funzione nota come controllo di ammissione.
E’ per questo motivo che si e’ scelto di introdurre in questo paragrafo i
concetti base e gli elementi costitutivi di una struttura idonea ad eseguire
controlli di ammissione.
La scelta dell’utilizzo di una entità centralizzata, il BB, per la gestione delle
risorse della rete DiffServ, prevede quindi una struttura in cui ogni decisione
venga demandata all’esterno. Uno scenario di questo genere è comunemente
utilizzato in un contesto di “Policy Control”.