Title: Modelli per il supporto della QoS nelle reti IP
1Modelli per il supporto della QoS nelle reti IP
- Alfio Lombardo
- (testo di riferimento Tofoni)
2Servizi di Rete Connectionless
3QoS in una rete a pacchetto
- Affidabilita basata sugli esiti della
trasmissione di pacchetti - Pacchetto trasferito correttamente
- Pacchetto errato
- Pacchetto perso
- Pacchetto inserito per errore
4Misure di affidabilità (perdita)
- Cause di Perdita di pacchetti nella rete
- Errori di trasmissione
- Eccessivo ritardo end-to-end
- Congestione
Tasso di perdita
5QoS in una rete a pacchetto
- Ritardo
- Componenti fisse
- Componenti variabili
Il ritardo è una variabile aleatoria descritta da
una pdf
6Misure di ritardo
- Distribuzione della densità di probabilità del
ritardo - ritardo medio
- deviazione standard
7Modelli per la stima del ritardo nelle reti a
pacchetto
Frequenza media di interarrivo pacchetti l
Tempi di servizio distribuiti esponenzialmente Con
valor medio 1/m
Distribuzione prob ritardo F(t)
1-exp-(m-l)t, tgt 0 Ritardo medio
E(t)1/m-l
8Target 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
9TE Ingegneria del Traffico
Tecniche per il controllo e distribuzione dei
flussi di traffico in rete
Qualita del servizio
Costi per le risorse di rete
Massimizzazione dei ricavi
- Ingegneria del Traffico
- Dimensionamento delle Risorse
- Valutazione delle Prestazioni
- Gestione del Traffico
10TE obiettivi di Qualità del Servizio
Con controllo della Congestione
Throughput
Congestione
Traffico Offerto
Senza controllo della Congestione
Zona di grave Congestione
Affidabilità
Ritardo
11QoS nelle reti IP
- Concetto end-to-end garantito probabilisticamente
- Il Gestore si impegna a rispettare quanto
concordato con - il Cliente in termini di QoS fintanto che il
traffico generato da - Questi e conforme a quanto dichiarato nel
contratto - Gestore/Cliente (Service Level Agreement)
SLA - Valori minimi di qualita garantiti -
Modalita di misura dei parametri di qualita -
Penali da corrispondere al cliente in caso di
violazione
12SLA example
Parametro Limite Penale
Banda garantita daccesso 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 95 dei pachetti entro 150 ms 99,9 dei paccheti entro 500 ms 1 del valore complessivo per ogni diminuzione di 5 punti della perc. di pacchetti consegnati entro 100 ms . .
Tasso di perdita lt 0,1 ..
13Differenziazione 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 unutenza eterogenea
- Differenziazione dei costi
14Meccanismi di QoS nelle reti IP
- Classificazione
- Controllo del traffico dutente (metering,
- marking, shaping, dropping)
- Scheduling
- Queue Management (controllo della congestione)
Ingegneria del traffico allocazione del
traffico sui percorsi di rete al fine di
utilizzare al meglio le risorse disponibili
15Meccanismi di QoS nelle reti IP
Classificazione (es. class. BA)
Classificazione (es. class. MF)
Traffico
Queue Man. Scheduling
Controllo Traffico
16Classificazione
- Il traffico in ingresso ad una rete può essere
classificato - A livello di singola sessione dutente
(micro-flusso) - - A livello di aggregato di micro-flussi aventi
le stesse - Caratteristiche (flusso)
Ai fini della classificazione viene utilizzata
una porzione dellintestazione 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
17Tipologie di classificazione
- Classificazione Behavior Aggergate
- classificazione in base ad una parte del campo
TOS - Usata nei nodi interni alla rete
- Classificazione Multi Field
- classificazione in base a
- Indirizzo IP sorgente e destinazione,
- indirizzo di porta sorgente e destinazione
- tipo di protocollo trasportato
- usata nei nodi di accesso alla rete
-
18Controllo del traffico dutente Profilo di
traffico
- descrive le proprietà temporali di un flusso di
traffico attraverso parametri quali ad es. - rate di arrivo dei pacchetti (rate medio, rate di
picco) - burst size
La funzione di metering deve controllare se i
parametri - sono nel range concordato (pacchetti
in profile) - non lo sono (pacchetti out of
profile)
19Controllo del traffico dutente(meteringmarking)
Token Bucket (Leaky Bucket)
Token rate r
Ampiezza del Bucket b
Gettoni
r
Bucket
Crediti Sufficienti ?
Nuovi Pacchetti
Si Pacchetto Conforme
NO Pacchetto non conforme
brT numero massimo di byte che possono essere
spediti in un tempo T
20Pacchetti non conformi
- Vengono inviati al Policer che tratta i
pacchetti in accordo alla politica di policing - implementata
- - scarto dei pacchetti
- - declassamento dei pacchetti
- - shaping
21Esempio 1/2
Valore iniziale di token 1000
Gettoni
r 1000 byte/sec
Bucket
Crediti Sufficienti ?
Pacchetto (450 byte)
Si Pacchetto Conforme
Valore finale di token 550
22Esempio 2/2
dopo 250 msec Valore iniziale di token (550
250) byte
Gettoni
r 1000 byte/sec
Bucket
Crediti Sufficienti ?
Pacchetto (900 byte)
NO Pacchetto non conforme
Valore finale di token 800
23Controllo del traffico dutenteSingle Rate TCM
trabocco
CIR tokens/s
C
E
EBS
CBS
Tc
Te
L byte
No Rosso
No
L ? Tc ?
L ? Te ?
Si Verde Tc ? Tc - L
Si Giallo Te ? Te - L
24srTCM Policing example
Scartati Best effort Con priorità
25Esempio 1/4
trabocco
CIR8kb/sec
C
E
EBS1000 bytes
CBS1000bytes
Tc
Te
L450 byte
L ? Tc ?
L ? Te ?
Si Verde Tc ? Tc 450550
26Esempio 2/4250 msec dopo.
trabocco
CIR 8kb/s
C
E
EBS
CBS
Tc550250
Te1000
L 900 byte
No
L ? Tc ?
L ? Te ?
Si Giallo Te ? Te L 100
27Esempio 3/4 400 msec dopo
trabocco
CIR 8kb/sec
C
E
EBS
CBS
Tc800200
Te 100200
L 1000byte
L ? Tc ?
L ? Te ?
Si Verde Tc ? Tc L 0
28Esempio 4/4200 msec dopo
trabocco
CIR 8 kb/sec
C
E
EBS
CBS
Tc0200
Te300
L400 byte
No Rosso
No
L ? Tc ?
L ? Te ?
29Two Rate TCM
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 pacchetti
per avere la garanzia di consegna a destinazione
con elevata probabilità si misurano in
ed include lheader IP ma non lheader di livello
2.
30Two Rate TCM rule 1
31Two Rate TCM rule 2
32Scheduling
Flusso 1
C l a s s i f i c.
Flusso 2
1
1
1
1
. . .
N
2
2
1
1
1
scheduler
2
2
2
.
N
Flusso N
Code
FIFO (FCFS) Priority Queueing WFQ
33Legge della conservazione
Se uno scheduler e work-conserving (inattivo
solo se coda vuota)
Dove N ei il num di flussi di traffico e W e il
tempo medio di attesa nel buffer
34FIFO
Flusso 1
C l a s s i f i c.
Flusso 2
. . .
scheduler
N
2
2
1
1
1
N
2
2
1
1
1
Flusso N
No QoS management (best effort)
35PQ
Flusso 1
C l a s s i f i c.
Flusso 2
1
1
1
1
. . .
1
1
1
scheduler
1
2
2
2
2
2
2
.
N
Flusso N
Code
Queue Starvation
36WFQ
weight
0,5
Flusso 1
0,2
C l a s s i f i c.
Flusso 2
0,3
1
1
1
1
. . .
N
2
1
1
1
scheduler
2
2
2
2
C 1 Mbit/s
.
N
Flusso N
Equivale a
C 300 Kbit/s
C 200 Kbit/s
C 500 Kbit/s
37Controllo della congestione
- Drop tail
- RED
- WRED
- AQV
- altri..
38Drop Tail
soglia
Coda FCFS
Pacchetti in arrivo
Scarto
39RED
Drop with prob P
Drop all
No drop
1
Probabilitàdi Scarto
0
Occupazione del buffer (stima)
THmax
THmin
40RED
Stima delloccupazione del buffer
THmin
THmax
Decisione
Pacchetti in arrivo
Coda FCFS
Scarto
Regione di possibile scarto
Stima delloccupazione del buffer (EWMA
Exponentially Weighted Moving Average) TH(n1)(1
-a)TH(n)aL(n1) a 0,02
41WRED
42AVQ Algorithm
g desired link utilization. a smooting
parameter l arrival rate
43Modelli emergenti di QoS
Integrated Services
Differentiated Services
Tecniche conformi ai modelli
MPLS
44Servizio
- DEFINIZIONE Un servizio definisce le
caratteristiche significative della trasmissione
di un pacchetto in una certa direzione attraverso
linsieme 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
45Classi di servizio in Integr Serv.
- Guaranteed Service garantisce un limite
superiore al ritardo e nessuna perdita - Controlled load Service garanzie migliori del
Best Effort - Best Effort
Assegnazione delle risorse a ciascun microflusso!!
46Int Serv
- Specifica dei parametri che identificano
- il microflusso
- Il profilo di traffico
- la classe di servizio
- Prenotazione di banda
-
- Classificazione, CAC, Policing, Scheduling
RSVP
47Int Sev
- Problemi
- Stati di prenotazione della banda (Soft State)
per ciascun microflusso
Non scalabile in reti di ampie dimensioni
48Integrated Services RSVP (rfc2205)
Messaggi PATH (Tspec) Messaggi RESV (Flow spec e
Filter spec)
Ricevitori
Trasmettitore
Nota RSVP utili zza i protocolli d routing IP
49Sessione. definisce la destinazione di un flusso
di dati ed è identificata dalla
tripletta ltindirizzo IP dest. porta TCP o UDP
dest. identificativo di protocollogt
PATH Tspec, specifies parameters available for
the flow TokenBucketRate, TokenBucketSize,
PeakRate
- RSVP
- Flow spec specifica la QoS desiderata.
utilizzato per definire scheduler e allocare i
relativi buffer - Classe di Servizio è un identificatore del tipo
di servizio richiesto - RSpec definisce lammontare della banda da
prenotare - TSpec definisce il profilo di traffico della
sessione - Filter spec definisce il sottoinsieme di
pacchetti per i quali è stata prenotata la banda.
50- Classe di Servizia
- RSpec definisce la banda richiesta /prenotata
- TSpec profilo di traffico della sessione
Pacchetti che passano il Filtro
Scheduler
Flowspec Policing, indirizzamento verso le
risorse riservate
(IP sorg.Porta sorg.)
Trattamento QoS
Filterspec classificazione
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 lammontare della banda da
prenotare TSpec definisce il profilo di
traffico della sessione. Il Filter spec specifica
un arbitrario sottoinsieme dei pacchetti di una
sessione (classif. multifield).
51RSVP messages
- I messaggi RSVP sono 7
- PATH (downstream)
- RESV (upstream)
- PATH ERR (upstream)
- RESV ERR (downstream)
- PATH TEAR (downstream)
- RESV TEAR (upstream)
- RESV CONF (downstream)
52RSVP 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)
53DiffServ Working Group RFC2575
- Compromesso fattibile tra
- Best effort
- Garanzia di QoS per micro flsso
54DiffServ Working Group RFC2575
- Gruppo di lavoro dellIETF
- Obiettivo migliorare IP prevedendo la
differenziazione in classi di servizio del
traffico - Risultato Differentiated Services (o DiffServ)
- Punti di forza
- semplicità
- scalabilità
55Caratteristiche principali
- Meccanismi di classificazione del traffico e
aggregazione dei micro flussi in classi di
servizio - Differenziazione delle Classi attraverso campo
TOS (DS-code pont) - Definisione SLA tra cliente e fornitore di
servizio - Trattamento differenziato delle Classi secondo
QoS predefinite attraverso Per Hop Behaviour
56Passi da seguire per realizzare la
Differenziazione dei Servizi
- Confini della rete i pacchetti ricevono un
marchio (identifica il tipo di servizio che
riceveranno) - Confini della rete condizionamento del traffico
(in accordo con le regole stabilite per ciascun
servizio) - Nodi interni marchio -gt forwarding behavior
57Funzioni dei Router ai confini della rete
Meter
Shaper/ Dropper/ Ricolorazione
Classificatore MF
Marker
58Funzioni dei Router Interni
PHB 1
Classificatore BA
PHB 2
PHB n
59Scalabilità
- Le funzioni di classificazione complesse (per
lattribuzione del valore al marchio) ed il
condizionamento devono essere effettuati solo ai
confini della rete. - Non è necessario mantenere ad ogni nodo il
per-flow state o il per-customer state. - Non è richiesta unapposita segnalazione ad ogni
hop.
60Nuova Terminologia
- DS codepoint (DSCP) valore assunto dalla
porzione dellheader 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
61Definizione del DS CodePoint Field
Type Of Service
- Header del pacchetto IPv4
62Definizione del DS Field
DS codepoint marchio, valore codificato nel DS
Field
- Struttura dellottetto IPv4 Type Of Service o
IPv6 Traffic Class nel DiffServ
63ECN
ECN11
feedback
64Per-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 (tipicamente
dalla stessa politica di scheduling, ecc.). Le
relazioni tra i PHB di uno stesso gruppo possono
essere espresse in termini di priorità relativa o
assoluta (tipicamente espresse dalla politica di
queue management utilizzata)
65Mapping DSCP -gt 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
- Al nodo giunge un pacchetto con DSCP 3
66Mapping DSCP -gt 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
DSCP ??? PHB di default
DSCP ???
- PHB di default DSCP non modificato
67PHB
- PHB di default
- PHB Class Selector
- Gruppo di PHB Assured Forwarding
- PHB Expedited Forwarding
68Best 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.
69Class Selector PHB
- compatibilità con il preesistente uso del campo
IP Precedence, che costituisce i primi tre bit
dellottetto Type Of Service dellheader del
pacchetto IPv4
xxx000
I PHB selezionati dai codepoint 11x000 devono
riservare un trattamento preferenziale rispetto
ai PHB selezionati dal codepoint 000000, per
preservare luso che comunemente si fa dei
valori 111 e 110 del campo IP Precedence
normalmente riservati al traffico di controllo).
70Assured 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 lt i lt N and 1 lt
j lt M. Currently, four classes (N4) with three
levels of drop precedence in each class (M3) are
defined for general use. More AF classes or
levels of drop precedence MAY be defined for
local use.
71AF PHBexample
weight
0,5
0,2
1
1
1
1
AF4x
0,3
AF3x
2
2
2
Servizio migliore
scheduler
AF2x
.
AF1x
N
1
Probabilitàdi Scarto
AF13
AF12
0
Lunghezza media della Coda
72Expedited 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).
73Expedited Forwarding PHB
- la creazione di un tale servizio deve essere
eseguita in due parti - configurando i nodi in modo che laggregato abbia
un ben definito rate minimo delle partenze - condizionando laggregato (attraverso operazioni
di policing e shaping) in modo tale che il suo
rate degli arrivi allingresso di ogni nodo sia
sempre inferiore al rate minimo configurato delle
partenze.
74EF PHB example
Classificazione
EF
Controllo Traffico
1
1
1
1
PQ-scheduler
1
2
1
1
1
2
2
2
2
2
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)
75Architettura del DiffServ Elementi Costitutivi
- Regione DS insieme di domini DS contigui in
grado di offrire differentiated services su
tutti i percorsi che li attraversano
76Problema
- Domini DS distinti che appartengono ad una
stessa regione DS possono - supportare PHB differenti
- eseguire il mapping dei DSCP nei PHB in modo
differente
77Service Level Agreement (SLA)
- Due domini DS contigui devono concordare un SLA
SLA può includere regole di condizionamento del
traffico (Traffic Conditioning Agreement TCA).
78Traffic 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)
79Accordo
- In generale, il concetto di accordo contiene
- considerazioni tecniche direttamente correlate al
DiffServ (SLS, TCS) - altre considerazioni tecniche
- ragioni di natura contrattuale, economica,
commerciale - SLA e TCA contengono 1. 2. e 3.
80SLS 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
81Service 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
82Traffic 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
83Classificazione
Classificazione
PHB
Controllo Traffico
Classificazione
Controllo Traffico
DS Domain
SLA
DS Domain
84(No Transcript)
85AVQ Algorithm
g
86AVQ Algorithm