Modelli per il supporto della
QoS nelle reti IP
Alfio Lombardo
(testo di riferimento: Tofoni)
Servizi di Rete Connectionless
trasferimento di piccole quantità di dati
in tempi limitati
robustezza e flessibilità dei path
efficienza nell'uso delle risorse di rete
necessità di controllo del traffico offerto dalla
sorgente
processamento durante il trasferimento dei dati
Target reti IP
IP come unica piattaforma su cui far transitare:
Voce
Video
Dati
…….
Ma:
Impossibilità di ingegnerizzare il traffico
Impossibilità di supportare QoS
Impossibilità di differenziare Servizi
TE: Ingegneria del Traffico
Costi per
le risorse
di rete
 Ingegneria del Traffico
 Dimensionamento delle Risorse
 Valutazione delle Prestazioni
 Gestione del Traffico
Qualita’ del
servizio
+
Massimizzazione
dei ricavi
TE : obiettivi di Qualità del
Servizio
Throughput
Con controllo della
Congestione
 Input Traffic > Output Capacity
Congestione
Senza controllo della
Congestione
fT(rit.)
1-
Ritardo
Fisso
Traffico Offerto
Zona di “grave
Congestione”

ritardo
jitter
Ritardo max
Ritardo
Affidabilità
Differenziazione dei Servizi
• Esigenze diverse in termini di QoS
– Varie tipologie di traffico (trasferimento dati, real-time, …)
– Varie tipologie di utenti

Differenziazione dei Servizi offerti


Possibilità di servire un’utenza eterogenea
Differenziazione dei costi
QoS nelle reti IP:SLA
Parametro
Limite
Penale
Banda garantita d’accesso
Valore Contrattuale
1% del valore per ogni scostamento in
diminuzione di 1 punto percentuale
Banda garantita end-to-end
Valore Contrattuale
1% del valore per ogni scostamento in
diminuzione di 1 punto percentuale
Disponibilità unitaria
contrattuale
99,5%
0,2 % del valore per ogni scostamento
in diminuzione di 0,1 punto
percentuale
Disponibilità complessiva
99,9%
0,8 % del valore per ogni scostamento
in diminuzione di 0,1 punto
percentuale
Ritardo di trasferimento tra
ogni coppia di accessi
appartenenti allo stesso gruppo
di accessi IP
50% dei pachetti entro100
ms
1% del valore complessivo per ogni
diminuzione di 5 punti della perc. di
pacchetti consegnati entro 100 ms
95% dei pachetti entro 150
ms
….
….
99,9 dei paccheti entro
500 ms
Tasso di perdita
< 0,1 %
…..
Misure di affidabilità (perdita)
Cause di Perdita di pacchetti nella rete:
- Errori di trasmissione
- Eccessivo ritardo end-to-end
- Congestione
2
Buffer
1
3 2 1
Tasso di perdita:
0
3
pacchetti persi
P
pacchetti inviati
0
Misure di ritardo
• Distribuzione della densità di probabilità
del ritardo
ritardo medio
deviazione standard
1-
Ritardo
Fisso
Variazione del ritardo
Massimo ritardo

Ritardo
Meccanismi di QoS nelle reti IP
•Classificazione
•Controllo del traffico d’utente (metering,
marking, shaping, dropping)
•Scheduling
•Queue Management (controllo della congestione)
Meccanismi di QoS nelle reti IP
Traffico
Classificazione
(es. class. MF)
Classificazione
(es. class. BA)
Controllo
Traffico
Queue Man.+
Scheduling
Classificazione
Il traffico in ingresso ad una rete può essere cjassific:
- A livello di singola sessione d’utente (micro-flusso)
-- A livello di aggregato di micro-flussi aventi le stesse
Caratteristiche (flusso)
Ai fini della classificazione viene utilizzata una porzione
dell’intestazione del pacchetto IP e/o del segmento TCP/UDP;
ad esempio:
- classificazione in base ad una parte del campo TOS
- classificazione in base a
Indirizzo IP sorgente e destinazione,
indirizzo di porta sorgente e destinazione
tipo di protocollo trasportato
Controllo del traffico d’utente
(metering+marking):
Token Bucket (Leaky Bucket)
Token rate: r
Ampiezza del Bucket: b
Gettoni
r
Bucket
Nuovi
Pacchetti
b
Crediti
Sufficienti
?
Si: Pacchetto Conforme
NO: Pacchetto non conforme
b+rT=
numero massimo di byte che possono essere spediti in un tempo T
Controllo del traffico d’utente:
Single Rate TCM
trabocco
C
CIR tokens/s
CBS
E
EBS
Tc
L byte
L  Tc ?
Si: Verde
Tc  Tc - L
No
Te
No: Rosso
L  Te ?
Si: Giallo
Te  Te - L
Two Rate TCM
PIR
CIR
PBS
CBS
C
flusso
di
input
E
CONDIZIONATORE
flusso
marcato
Peak Information Rate (PIR): rate di picco massimo consentito;
Committed Information Rate (CIR): rate massimo per il quale si garantisce la consegna
dei pacchetti con alta probabilità;
Peak Burst Size (PBS): massima dimensione che può avere un burst di pacchett
perché si tenti di offrirgli risorse disponibili e non si proceda allo scarto;
Committed Burst Size (CBS): massima dimensione che può avere un burst di
acchetti per avere la garanzia di consegna a destinazione con elevata probabilità;
 byte 
si misurano ins 
ed include l’header IP ma non l’header di livello 2.
Two Rate TCM: rule 1
COLOR-BLIND MODE
All’arrivo di ogni pacchetto:
‘ All’istante t arriva un nuovo pacchetto di B bytes


If B  T p (t ) Then
New _ mark  rosso
‘ (Tp e Tc non vengono aggiornati)
Else
If B  Tc (t )  Then
New _ mark  giallo
Tp  Tp  B
Else
New _ mark  verde
Tp  Tp  B
Tc  Tc  B
Two Rate TCM: rule 2
COLOR-AWARE MODE
All’arrivo di ogni pacchetto:
‘ All’istante t arriva un nuovo pacchetto di B bytes


If B  T p (t ) Or (Old_mark = rosso) Then
New _ mark  rosso
‘ (Tp e Tc non vengono aggiornati)
Else
If
B  Tc (t )  Or (Old_mark = giallo) Then
New _ mark  giallo
Tc  Tc  B
Else
New _ mark  verde
Tp  Tp  B
Tc  Tc  B
Scheduling
Flusso 1
Flusso 2
.
.
.
C
l
a
s
s
i
f
i
c.
11 1 1
2 2 2
scheduler
N 2 2 1 1 1
…….
N
Flusso N
Code
FIFO (FCFS)
Priority Queueing
WFQ
FIFO
Flusso 1
Flusso 2
.
.
.
C
l
a
s
s
i
f
i
c.
N 2 2 1 1 1
scheduler
N 2 2 1 1 1
Flusso N
No QoS management (best effort)
PQ
Flusso 1
Flusso 2
.
.
.
C
l
a
s
s
i
f
i
c.
11 1 1
2 2 2
…….
N
Flusso N
Code
Queue Starvation
scheduler
2 2 2 1 1 1 1
WFQ
weight:
Flusso 1
Flusso 2
.
.
.
0,5
0,2
C
l
a
s
s
i
f
i
c.
0,3
11 1 1
2 2 2
scheduler
2 N 2 1 1 1
…….
N
Flusso N
Equivale a:
C = 300 Kbit/s
C = 200 Kbit/s
C = 500 Kbit/s
Controllo della congestione
• Drop tail
• RED
• WRED
Drop Tail
soglia
Pacchetti in
arrivo
Coda FCFS
Scarto
RED:
No drop
Drop with
prob P
Drop all
Probabilità
di Scarto
1
0
THmin
THmax
Occupazione del
buffer (stima)
RED
Stima dell’occupazione
del buffer
THmax
THmin
Decisione
Pacchetti in
arrivo
Coda FCFS
Scarto
Regione di possibile
scarto
WRED
Probabilità
di Scarto
1
Profilo di servizio
Standard
Profilo di servizio
Premium
0
Lunghezza media della Coda
Modelli emergenti di QoS
Integrated Services
Differentiated Services
Tecniche conformi ai modelli
MPLS
“Servizio”
• DEFINIZIONE: Un “servizio” definisce le
caratteristiche significative della trasmissione
di un pacchetto in una certa direzione
attraverso l’insieme di uno o più percorsi
interni di una rete.
• 2 Modi per esprimere tali caratteristiche:
– In termini assoluti
• Thoughtput, Ritardo, Jitter, Perdite
– In termini relativi
• Classi di traffico, Priorità relativa di accesso alle risorse
Integrated Services: RSVP
Messaggi PATH (Tspec)
Messaggi RESV (Flow spec e Filter spec)
Ricevitori
Trasmettitore
Pacchetti che passano il Filtro
Scheduler
(IP sorg.;Porta sorg.)
Trattamento
QoS
Flowspec
Filterspec
Trattamento
Best-effort
Pacchetti di una
Sessione
(IP dest.;Porta dest.; Prot. ID)
Altri pacchetti
Flow spec specifica la QoS desiderata: viene utilizzato per definire una classe di flussi nello scheduler e
allocare i relativi buffer. In generale un Flow spec contiene i seguenti elementi:
Classe di Servizio: è un identificatore del tipo di servizio richiesto;
RSpec: definisce l’ammontare della banda da prenotare;
TSpec: definisce il profilo di traffico della sessione.
Il Filter spec specifica un arbitrario sottoinsieme dei pacchetti di una sessione
.
RSVP protocol stack
• RSVP viene incapsulato direttamente in
un pacchetto IP con protocol number 46
ma può operare anche su UDP
RSVP
UDP
IP (v4/v6)
DiffServ Working Group [RFC2575]
• Gruppo di lavoro dell’IETF
• Obiettivo: migliorare IP prevedendo la
differenziazione in classi di servizio del
traffico
• Risultato:
Differentiated Services (o DiffServ)
• Punti di forza
– semplicità
– scalabilità
Passi da seguire per realizzare la
Differenziazione dei Servizi
1. Confini della rete: i pacchetti ricevono un
marchio (identifica il tipo di servizio che
riceveranno)
2. Confini della rete: condizionamento del
traffico (in accordo con le regole stabilite per ciascun
servizio)
3. Nodi interni:
marchio -> “forwarding behavior”
Funzioni dei Router ai confini
della rete
Meter
Classificatore
MF
Marker
Shaper/
Dropper/
Ricolorazione
Funzioni dei Router Interni
PHB 1
Classificatore
BA
PHB 2
PHB n
Scalabilità
1. Le funzioni di classificazione complesse (per
l’attribuzione del valore al marchio) ed il
condizionamento devono essere effettuati
solo ai confini della rete.
2. Non è necessario mantenere ad ogni nodo il
“per-flow state” o il “per-customer state”.
3. Non è richiesta un’apposita segnalazione ad
ogni “hop”.
Nuova Terminologia
• DS codepoint (DSCP): valore assunto dalla
porzione dell’header IP utilizzata per marcare i pacchetti
• DS behavior aggregate (BA): collezione di
pacchetti, marcati con lo stesso DSCP, che attraversano
un link in una particolare direzione
• Per-Hop Behavior (PHB): “forwanding behavior”
esternamente osservabile che un nodo DS riserva a tutti
i pacchetti di uno stesso BA
Definizione del DS CodePoint Field
Type Of Service
Header del pacchetto IPv4
Definizione del DS Field
Da ignorare
DS codepoint = marchio, valore codificato nel
DS Field
0
1
2
3
DS Field
4
5
6
7
ECN
Struttura dell’ottetto IPv4 Type Of Service o IPv6 Traffic Class nel DiffServ
ECN
ECN=11
feedback
Per-Hop-Behaviour (PHB)
• E’ la strategia di “forwarding” applicata ad un aggregato di
traffico
• Specifica le modalità di allocazione/gestione delle risorse
agli aggregati di traffico
– Banda da allocare (via scheduling)
– Priorità di scarto (via “queue management”)
• “Gruppo di PHB”: insieme di PHBs caratterizzati dallo
stesso insieme di vincoli (es. stessa politica di “queue
management”, di scheduling, ecc.). Le relazioni tra i PHB
di uno stesso gruppo possono essere espresse in termini
di priorità relativa o assoluta
Mapping DSCP -> PHB
DSCP
PHB
Tipo PHB
DSCP di default
PHB di default
Standard
DSCP 1
PHB A
Standard
DSCP 2
PHB B
Standard
DSCP 3
PHB C
Standard
DSCP 4
PHB D
Locale
DSCP 5
PHB E
Locale
DSCP 6
PHB F
Locale
…
…
…
Tabella di mapping di un nodo DS (DSCP: indice tabella)
Mapping DSCP -> PHB
DSCP 3
DSCP
PHB
Tipo PHB
DSCP di default
PHB di default
Standard
DSCP 1
PHB A
Standard
DSCP 2
PHB B
Standard
DSCP 3
PHB C
Standard
DSCP 4
PHB D
Locale
DSCP 5
PHB E
Locale
DSCP 6
PHB F
Locale
…
…
…
Al nodo giunge un pacchetto con DSCP 3
Mapping DSCP -> PHB
DSCP ???
DSCP
PHB
Tipo PHB
DSCP di default
PHB di default
Standard
DSCP 1
PHB A
Standard
DSCP 2
PHB B
Standard
DSCP 3
PHB C
Standard
DSCP 4
PHB D
Locale
DSCP 5
PHB E
Locale
DSCP 6
PHB F
Locale
DSCP ???
PHB di default
PHB di default – DSCP non modificato
PHB
•
•
•
•
PHB di default
PHB Class Selector
Gruppo di PHB Assured Forwarding
PHB Expedited Forwarding
Best Effort PDB (Default PHB)
• preserva, entro limiti ragionevoli, i servizi offerti
ai pacchetti che non richiedono alcuna speciale
differenziazione
• garantisce che i pacchetti ricevano dai domini “il
più possibile ed il più presto possibile”.
• I pacchetti non dovranno essere mai
completamente bloccati e, quando saranno
disponibili delle risorse (nel senso che non
saranno richieste da altri aggregati di traffico), gli
elementi di rete dovranno essere configurati in
modo tale da permettere ai pacchetti di questo
PDB di utilizzarle.
Class Selector PHB
• compatibilità con il preesistente uso del
campo IP Precedence, che costituisce i
primi tre bit dell’ottetto Type Of Service
dell’header del pacchetto
IPv4
xxx000
xxx000
I PHB selezionati dai codepoint ‘11x000’ devono riservare un
trattamento preferenziale rispetto ai PHB selezionati dal
codepoint ‘000000’, per preservare l’uso che comunemente si fa
dei valori ‘111’ e ‘110’ del campo IP Precedence
normalmente riservati al traffico di controllo).
Assured Forwarding PHB
AF4x
AF3x
Servizio
migliore
AF2x
AF1x
AF11; AF12; AF13
Soglie di scarto
dei pacchetti
Assured Forwarding (AF) PHB group provides forwarding of IP packets in N independent AF classes. Within each AF class,
an IP packet is assigned one of M different levels of drop precedence. An IP packet that belongs to an AF class i and has
drop precedence j is marked with the AF codepoint AFij, where 1 <= i <= N and 1 <= j <= M. Currently, four classes (N=4)
with three levels of drop precedence in each class (M=3) are defined for general use. More AF classes or levels of drop
precedence MAY be defined for local use.
AF PHB:example
weight:
AF3x
Servizio
migliore
0,2
11 1 1
AF4x
AF2x
scheduler
…….
Probabilità
di Scarto
N
1
0
0,3
2 2 2
AF1x
0,5
AF13
AF12
Lunghezza media della Coda
Expedited Forwarding PHB
• servizio end-to-end a bassa perdita, basso
ritardo, basso jitter e banda minima
assicurata attraverso i domini DS
• Tale servizio(servizio Premium.101110)
appare agli “endpoint” come una
connessione punto-punto o come una
VLL, che sta per Virtual Leased Line (=
linea virtualmente affittata).
Expedited Forwarding PHB
la creazione di un tale servizio deve essere
eseguita in due parti:
• configurando i nodi in modo che l’aggregato
abbia un ben definito rate minimo delle partenze
• condizionando l’aggregato (attraverso
operazioni di policing e shaping) in modo tale
che il suo rate degli arrivi all’ingresso di ogni
nodo sia sempre inferiore al rate minimo
configurato delle partenze.
EF PHB: example
Classificazione
Controllo
Traffico
11 1 1
PQ-scheduler
2 2 2 1 1 1 1
2 2 2
EF
Un rigido controllo del traffico puo’ evitare la starvation nel PQ
Per evitare la starvation viene definito un rate di servizio
massimo (oltre che quello minimo)
Architettura del DiffServ: Elementi
Costitutivi
Regione DS
Domini DS
stesse definizioni
per i PHB
Regione DS = insieme di domini DS contigui in grado di offrire “differentiated
services” su tutti i percorsi che li attraversano
Problema
Domini DS distinti che appartengono ad
una stessa regione DS possono:
– supportare PHB differenti
– eseguire il mapping dei DSCP nei PHB in
modo differente
Service Level Agreement (SLA)
• Due domini DS contigui devono
concordare un SLA
Utente
Cliente di un’organizzazione o
dominio a monte
SLA
Service
Provider
Dominio DS (sorgente o a valle)
SLA può includere: regole di condizionamento del traffico
(Traffic Conditioning Agreement: TCA).
Traffic Conditioning Agreement (TCA)
• TCA = accordo che specifica:
– regole per il classificatore;
– possibili profili di traffico;
– operazioni di condizionamento eseguite (se
necessario) sui flussi selezionati dal classificatore
• Un TCA contiene tutte le regole per il condizionamento
del traffico esplicitamente specificate in un SLA, insieme
ad altre regole implicite (es: principali requisiti del
servizio)
“Accordo”
•
In generale, il concetto di “accordo”
contiene:
1. considerazioni tecniche direttamente correlate
al DiffServ (SLS, TCS)
2. altre considerazioni tecniche
3. ragioni di natura contrattuale, economica,
commerciale
•
SLA e TCA contengono 1. 2. e 3.
SLS e TCS
• RFC 3220: per descrivere quegli
elementi del servizio e del
condizionamento di traffico riguardanti
direttamente il DiffServ (1.) devono
essere usate le nozioni di SLS e TCS
Service Level Specification (SLS)
• SLS = è costituita da un set di parametri e dai
rispettivi valori, che, insieme, definiscono nel
complesso il servizio offerto da un dominio DS
ad un particolare flusso di traffico
Utente
SLA
SLS
Service
Provider
Traffic Conditioning Specification (TCS)
• TCS = è costituita da un set di parametri e dai
rispettivi valori che, insieme, specificano:
– un profilo di traffico
– un set di regole per il classificatore.
• Una TCS è una parte integrante di una SLS
Classificazione
Classificazione
Controllo
Traffico
PHB
Classificazione
Controllo
Traffico
DS Domain
SLA
DS Domain
Scarica

Lezione 5 - Ingegneria Informatica e delle Telecomunicazioni