Modelli per il supporto della QoS nelle reti IP Alfio Lombardo (testo di riferimento: Tofoni)
-
Upload
firmino-caruso -
Category
Documents
-
view
217 -
download
4
Transcript of Modelli per il supporto della QoS nelle reti IP Alfio Lombardo (testo di riferimento: Tofoni)
Modelli per il supporto della QoS nelle reti IP
Alfio Lombardo
(testo di riferimento: Tofoni)
Servizi di Rete Connectionlesstrasferimento 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:VoceVideoDati…….
Impossibilità di supportare QoS
Impossibilità di ingegnerizzare il traffico
Ma:
Impossibilità di differenziare Servizi
TE: Ingegneria del Traffico
Ingegneria del Traffico DimensionamentoDimensionamento delle Risorse delle Risorse ValutazioneValutazione delle Prestazionidelle Prestazioni GestioneGestione del Traffico del Traffico
Costi per Costi per le risorsele risorse
di retedi rete
Qualita’ delQualita’ delservizio servizio
+ + Massimizzazione Massimizzazione
dei ricavidei ricavi
TE : obiettivi di Qualità del Servizio
Senza controllo della Senza controllo della CongestioneCongestione
Con controllo della Con controllo della CongestioneCongestione
Zona di “grave Zona di “grave Congestione”Congestione”
Traffico Offerto
Th
rou
gh
pu
t
Input Traffic > Output Capacity
RitardoFisso jitter
1 -
Ritardo max
ritardo
fT(rit.)
AffidabilitàAffidabilità
RitardoRitardo
CongestioneCongestione
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:SLAParametro Limite PenaleBanda 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
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 < 0,1 % …..
Misure di affidabilità (perdita)
Cause di Perdita di pacchetti nella rete:
- Errori di trasmissione- Eccessivo ritardo end-to-end- Congestione
Buffer
1
2
3
3 2 1 0
0Tasso di perdita:
inviatipacchetti
persipacchettiP
Misure di ritardo
• Distribuzione della densità di probabilità del ritardo
ritardo medio
deviazione standard
RitardoFisso
Variazione del ritardo
1-
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)
Classificazione(es. class. MF)
Controllo Traffico
Classificazione(es. class. BA)
Queue Man.+Scheduling
Meccanismi di QoS nelle reti IP
Traffico
ClassificazioneIl 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 destinazionetipo di protocollo trasportato
Controllo del traffico d’utente(metering+marking):
Token Bucket (Leaky Bucket)
Nuovi Pacchetti Si: Pacchetto ConformePacchetto Conforme
NO: Pacchetto non conformePacchetto non conforme
Crediti
Sufficienti ?
r
Gettoni
bBucket
Token rate: r
Ampiezza del Bucket: b
b+rT= numero massimo di byte che possono essere spediti in un tempo T
Controllo del traffico d’utente:Single Rate TCM
Si: VerdeVerdeTc Tc Tc - L Tc - L
L Te ?L Tc ?
CBSCBS
L byte
EBSEBS
No: RossoRosso
CIRCIR tokens/s
Tc Te
No
Si: GialloGialloTe Te Te - L Te - L
traboccotrabocco
C E
Two Rate TCM
flusso di input
CONDIZIONATORE
CIR
flusso marcato
CBS
PBS
C E
PIR
Peak Information Rate (PIR): rate di picco massimo consentito; Committed Information Rate (CIR): rate massimo per il quale si garantisce la consegnadei 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à;
si misurano in ed include l’header IP ma non l’header di livello 2.
s
byte
Two Rate TCM: rule 1
C O L O R - B L I N D M O D E
A l l ’ a r r i v o d i o g n i p a c c h e t t o : ‘ A l l ’ i s t a n t e t a r r i v a u n n u o v o p a c c h e t t o d i B b y t e s
I f )( tTB p T h e n
markNew _ r o s s o ‘ ( T p e T c n o n v e n g o n o a g g i o r n a t i )
E l s e
I f )( tTB c T h e n
markNew _ g i a l l o
BTT pp E l s e markNew _ v e r d e
BTT pp
BTT cc
Two Rate TCM: rule 2
C O L O R - A W A R E M O D E
A l l ’ a r r i v o d i o g n i p a c c h e t t o : ‘ A l l ’ i s t a n t e t a r r i v a u n n u o v o p a c c h e t t o d i B b y t e s
I f )( tTB p O r ( O l d _ m a r k = r o s s o ) T h e n
markNew _ r o s s o ‘ ( T p e T c n o n v e n g o n o a g g i o r n a t i )
E l s e
I f )( tTB c O r ( O l d _ m a r k = g i a l l o ) T h e n
markNew _ g i a l l o
BTT cc E l s e markNew _ v e r d e
BTT pp
BTT cc
Scheduling
11 11 11
22 22
NN
NN 22 22 11 11 11scheduler
FlussoFlusso 11
FlussoFlusso NN
FlussoFlusso 22 Classifi
c.
.
.
.
Code
…….22
11
FIFO (FCFS)Priority QueueingWFQ
FIFO
scheduler
FlussoFlusso 11
FlussoFlusso NN
FlussoFlusso 22 Classifi
c.
.
.
.
NN 22 22 11 11 11NN 22 22 11 11 11
No QoS management (best effort)
PQ
11 11 11
22 22
NN
11 11 11scheduler
FlussoFlusso 11
FlussoFlusso NN
FlussoFlusso 22 Classifi
c.
.
.
.
Code
…….22
11
11222222
Queue Starvation
WFQ
C = 300 Kbit/s
C = 200 Kbit/s
C = 500 Kbit/s
11 11 11
22 22
NN
NN22 22 11 11 11scheduler
FlussoFlusso 11
FlussoFlusso NN
FlussoFlusso 22 Classifi
c.
.
.
. …….22
11
weight: 0,5
0,2
0,3
Equivale a:
Controllo della congestione
• Drop tail
• RED
• WRED
Drop Tail
Coda FCFS
soglia
Scarto
Pacchetti inarrivo
Pro
bab
ilit
àd
i S
cart
o
1
Occupazione del buffer (stima)
0THmaxTHmin
RED:No drop
Drop with prob P
Drop all
RED
Decisione
Coda FCFS
Scarto
Pacchetti inarrivo
Regione di possibilescarto
THminTHmax
Stima dell’occupazione del buffer
WRED
Profilo di servizioStandardStandard
Profilo di servizio PremiumPremium
Pro
bab
ilit
àd
i S
cart
o
1
Lunghezza media della Coda
0
Modelli emergenti di QoS
Integrated Services
Differentiated Services
MPLS
Tecniche conformi ai modelli
“Servizio”
• DEFINIZIONE: Un “servizio” definisce le caratteristichecaratteristiche 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
Trasmettitore
Ricevitori
Messaggi PATH (Tspec)PATH (Tspec)
MessaggiMessaggi RESV RESV ((Flow spec e Filter spec)
Integrated Services: RSVP
Trattamento Trattamento Best-effortBest-effort
FilterspecFilterspec
FlowspecFlowspec Trattamento Trattamento QoSQoS
Pacchetti di una Pacchetti di una SessioneSessione
(IP dest.;Porta dest.; Prot. ID)(IP dest.;Porta dest.; Prot. ID)Altri pacchettiAltri pacchetti
Pacchetti che passano il FiltroPacchetti che passano il FiltroSchedulerScheduler
(IP sorg.;Porta sorg.)(IP sorg.;Porta sorg.)
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
IP (v4/v6)
UDP
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àsemplicità
– scalabilità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
MarkerClassificatoreMF
Meter
Shaper/Dropper/
Ricolorazione
Funzioni dei Router Interni
Classificatore BA
PHB 1
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 (DSCPDSCP): valore assunto dalla porzione dell’header IP utilizzata per marcare i pacchetti
• DS behavior aggregate (BABA): collezione di pacchetti, marcati con lo stesso DSCP, che attraversano un link in una particolare direzione
• Per-Hop Behavior (PHBPHB): “forwanding behavior” esternamente osservabile che un nodo DS riserva a tutti i pacchetti di uno stesso BA
Definizione del DS CodePoint Field
Header del pacchetto IPv4
Type Of Service
Definizione del DS Field
Struttura dell’ottetto IPv4 Type Of Service o IPv6 Traffic Class nel DiffServ
0 1 2 3 5 4 6 7
DS Field ECN
DS codepoint DS codepoint = marchio, valore codificato nel
DS Field
Da ignorare
ECN
ECN=11
feedback
Per-Hop-Behaviour (PHB)
• E’ la strategia di “forwarding” applicata ad un aggregatoaggregato di traffico
• Specifica le modalità di allocazioneallocazione/gestionegestione delle risorse agli aggregati di traffico
– Banda da allocare (via scheduling)Banda da allocare (via scheduling)– Priorità di scarto (via “queue management”)Priorità di scarto (via “queue management”)
• “Gruppo di PHBGruppo 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 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
DSCP 3
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
DSCP ??? PHB di default
DSCP ???
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 IPv4xxx000
xxx000I 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).
AFAF1x1x
AFAF2x2x
AFAF3x3x
AFAF4x4x
Soglie di scartodei pacchetti
AFAF1111; AFAF1212; AFAF1313
Serviziomigliore
Assured Forwarding PHB
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.
AFAF1x1x
AFAF2x2x
AFAF3x3x
AFAF4x4x
Serviziomigliore
AF PHB:example
11 11 11
22 22
NN
scheduler
…….
22
11
weight: 0,5
0,2
0,3
AF13
Pro
bab
ilit
àd
i S
cart
o1
Lunghezza media della Coda0
AF12
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).
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.
Expedited Forwarding PHB
EF PHB: example
11 11 11
22 2211 11 11PQ-scheduler
22
11
11222222
Controllo Traffico
Un rigido controllo del traffico puo’ evitare la starvation nel PQPer evitare la starvation viene definito un rate di servizio massimo (oltre che quello minimo)
Classificazione
EF
Regione DS
Architettura del DiffServ: Elementi Costitutivi
Regione DSRegione DS = insieme di domini DS contigui in grado di offrire “differentiated services” su tutti i percorsi che li attraversano
Domini DS stesse definizioni
per i PHB
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
SLA Utente Service
Provider
Service Level Agreement (SLA)
• Due domini DS contigui devono concordare un SLA
Dominio DS (sorgente o a valle)
Cliente di un’organizzazione o dominio a monte
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
SLA Utente Service
Provider SLS
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
Controllo Traffico
Classificazione
PHBClassificazione
SLA
DS Domain
DS Domain
Controllo Traffico