Modelli per il supporto della QoS nelle reti IP Alfio Lombardo (testo di riferimento: Tofoni)

Post on 01-May-2015

217 views 4 download

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