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 Internet oggi offre solo servizi best effort
QoS in una rete a pacchetto Affidabilita’: basata sugli esiti della trasmissione di pacchetti –Pacchetto trasferito correttamente –Pacchetto errato –Pacchetto perso –Pacchetto inserito per errore
Misure di affidabilità (perdita) Cause di Perdita di pacchetti nella rete: - Errori di trasmissione - Eccessivo ritardo end-to-end - Congestione Buffer Tasso di perdita:
Ritardo –Componenti fisse –Componenti variabili QoS in una rete a pacchetto Il ritardo è una variabile aleatoria descritta da una pdf
Misure di ritardo Distribuzione della densità di probabilità del ritardo ritardo medio deviazione standard Ritardo Fisso Variazione del ritardo 1- Massimo ritardo Ritardo
Modelli per la stima del ritardo nelle reti a pacchetto Es.: M/M/1 Frequenza media di interarrivo pacchetti Tempi di servizio distribuiti esponenzialmente Con valor medio 1/ Distribuzione prob ritardo F(t)= 1-exp[-( )t], t> =0 Ritardo medio E(t)=1/
Target reti IP IP come unica piattaforma su cui far transitare: Voce Video Dati ……. Impossibilità di supportare QoS Impossibilità di ingegnerizzare il traffico Ma: Impossibilità di differenziare Servizi
TE: Ingegneria del Traffico Ingegneria del Traffico Dimensionamento delle Risorse Valutazione delle Prestazioni Gestione del Traffico Costi per le risorse di rete Qualita’ del servizio Tecniche per il controllo e distribuzione dei flussi di traffico in rete Massimizzazione dei ricavi
TE : obiettivi di Qualità del Servizio Senza controllo della Congestione Con controllo della Congestione Zona di “grave Congestione” Traffico Offerto Throughput Input Traffic > Output Capacity Ritardo Fisso jitter 1 - Ritardo max ritardo f T (rit.)Affidabilità Ritardo Congestione
QoS 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
SLA example ParametroLimitePenale Banda garantita d’accessoValore Contrattuale 1% del valore per ogni scostamento in diminuzione di 1 punto percentuale Banda garantita end-to-endValore Contrattuale1% 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à complessiva99,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 %…..
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
Meccanismi di QoS nelle reti IP Classificazione Controllo del traffico d’utente (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 QoS Model: Diff Serv MPLS
Classificazione (es. class. MF) Controllo Traffico Classificazione (es. class. BA) Queue Man.+ Scheduling Meccanismi di QoS nelle reti IP Traffico
Classificazione Il traffico in ingresso ad una rete può essere classificato: - 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
Tipologie 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
Controllo del traffico d’utente: 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)
Controllo del traffico d’utente (metering+marking): Token Bucket (Leaky Bucket) Nuovi Pacchetti Pacchetto Conforme Si: Pacchetto Conforme Pacchetto non conforme NO: Pacchetto non conforme Crediti Sufficienti ? r Gettoni b Bucket Token rate: r Ampiezza del Bucket: b b+rT= numero massimo di byte che possono essere spediti in un tempo T
Pacchetti non conformi Vengono inviati al “Policer” che “tratta” i pacchetti in accordo alla politica di policing implementata: - scarto dei pacchetti - declassamento dei pacchetti - shaping
Esempio 1/2 Pacchetto (450 byte) Pacchetto Conforme Si: Pacchetto Conforme Crediti Sufficienti ? r = 1000 byte/sec Gettoni b = 1000 byte Bucket Valore iniziale di token = 1000 Valore finale di token = 550
Esempio 2/2 Pacchetto (900 byte) Pacchetto non conforme NO: Pacchetto non conforme Crediti Sufficienti ? Gettoni Bucket r = 1000 byte/sec b = 1000 byte … dopo 250 msec Valore iniziale di token = ( ) byte Valore finale di token = 800
Controllo del traffico d’utente: Single Rate TCM Verde Si: Verde Tc Tc - L L Te ? L Tc ? CBS L byte EBS Rosso No: Rosso CIR CIR tokens/s TcTe No Giallo Si: Giallo Te Te - L trabocco C E
srTCM Policing example Scartati Best effort Con priorità
Esempio 1/4 Verde Si: Verde Tc Tc – 450=550 L Te ? L Tc ? CBS=1000 bytes L=450 byte EBS=1000 bytes CIR=8kb/sec TcTe trabocco C E
Esempio 2/4 250 msec dopo…. L Te ? L Tc ? CBS L= 900 byte EBS CIR CIR =8kb/s Tc= Te=1000 No Giallo Si: Giallo Te Te – L= 100 trabocco C E
Esempio 3/4 400 msec dopo… Verde Si: Verde Tc Tc – L= 0 L Te ? L Tc ? CBS L = 1000byte EBS CIR CIR = 8kb/sec Tc= Te= trabocco C E
Esempio 4/4 200 msec dopo… L Te ? L Tc ? CBS L=400 byte EBS Rosso No: Rosso CIR CIR = 8 kb/sec Tc=0+200Te=300 No trabocco C E
Two 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 l’header IP ma non l’header di livello 2.
Two Rate TCM: rule 1
Two Rate TCM: rule 2
Scheduling N N22111 scheduler Flusso 1 Flusso N Flusso 2 C l a s i f i c Code ……. 2 1 FIFO (FCFS) Priority Queueing WFQ
Legge 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
FIFO scheduler Flusso 1 Flusso N Flusso 2 C l a s i f i c N N No QoS management (best effort)
PQ N 111 scheduler Flusso 1 Flusso N Flusso 2 C l a s i f i c Code …… Queue Starvation
WFQ C = 300 Kbit/s C = 200 Kbit/s C = 500 Kbit/s N N scheduler Flusso 1 Flusso N Flusso 2 C l a s i f i c ……. 2 1 weight: 0,5 0,2 0,3 Equivale a: C = 1 Mbit/s
Controllo della congestione Drop tail RED WRED AQV altri…..
Drop Tail Coda FCFS soglia Scarto Pacchetti in arrivo
Probabilità di Scarto 1 Occupazione del buffer (stima) 0 TH max TH min RED: No drop Drop with prob P Drop all
RED Decisione Coda FCFS Scarto Pacchetti in arrivo Regione di possibile scarto TH min TH max Stima dell’occupazione del buffer Stima dell’occupazione del buffer (EWMA: Exponentially Weighted Moving Average) TH(n+1)=(1- )TH(n)+ L(n+1); = 0,02
WRED Profilo di servizioStandard Premium Probabilità di Scarto 1 Lunghezza media della Coda 0
g = desired link utilization. a = smooting parameter l= arrival rate AVQ Algorithm
Modelli emergenti di QoS Integrated Services Differentiated Services MPLS Tecniche conformi ai modelli
“Servizio” caratteristicheDEFINIZIONE: 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
Classi 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!!
Int Serv Specifica dei parametri che identificano –il microflusso –Il profilo di traffico –la classe di servizio –Prenotazione di banda + Classificazione, CAC, Policing, Scheduling RSVP
Int Sev Problemi: –Stati di prenotazione della banda (Soft State) per ciascun microflusso Non scalabile in reti di ampie dimensioni
Trasmettitore Ricevitori PATH (Tspec) Messaggi PATH (Tspec) Messaggi RESV ( Messaggi RESV ( Flow spec e Filter spec) Integrated Services: RSVP (rfc2205) Path state Reserv. state Nota: RSVP utili zza i protocolli d routing IP
Sessione. definisce la destinazione di un flusso di dati ed è identificata dalla tripletta: 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 l’ammontare 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. PATH: Tspec, specifies parameters available for the flow TokenBucketRate, TokenBucketSize, PeakRate
Trattamento Best-effort Filterspec:classificazione Flowspec: Policing, indirizzamento verso le risorse riservate Trattamento QoS Pacchetti di una Sessione (IP dest.;Porta dest.; Prot. ID) Altri pacchetti Pacchetti che passano il Filtro Scheduler (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 (classif. multifield). Classe di Servizia RSpec: definisce la banda richiesta /prenotata; TSpec: profilo di traffico della sessione
RSVP 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)
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
Compromesso “fattibile” tra Best effort Garanzia di QoS per micro flsso 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à
Caratteristiche 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
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 Marker Classificatore MF 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 DSCPDS codepoint ( DSCP ): valore assunto dalla porzione dell’header IP utilizzata per marcare i pacchetti BADS behavior aggregate ( BA ): collezione di pacchetti, marcati con lo stesso DSCP, che attraversano un link in una particolare direzione PHBPer-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 Header del pacchetto IPv4 Type Of Service
Definizione del DS Field Struttura dell’ottetto IPv4 Type Of Service o IPv6 Traffic Class nel DiffServ DS codepoint DS codepoint = marchio, valore codificato nel DS Field Da ignorare
ECN ECN=11 feedback
Per-Hop-Behaviour (PHB) aggregatoE’ la strategia di “forwarding” applicata ad un aggregato di traffico allocazionegestioneSpecifica 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“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)
Mapping DSCP -> PHB DSCPPHB Tipo PHB DSCP di defaultPHB di defaultStandard DSCP 1PHB AStandard DSCP 2PHB BStandard DSCP 3PHB CStandard DSCP 4PHB DLocale DSCP 5PHB ELocale DSCP 6PHB FLocale ……… Al nodo giunge un pacchetto con DSCP 3 DSCP 3
Mapping DSCP -> PHB DSCPPHB Tipo PHB DSCP di defaultPHB di defaultStandard DSCP 1PHB AStandard DSCP 2PHB BStandard DSCP 3PHB CStandard DSCP 4PHB DLocale DSCP 5PHB ELocale DSCP 6PHB FLocale 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 IPv4 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).
AF 1x AF 2x AF 3x AF 4x Soglie di scarto dei pacchetti AF 11 AF 12 AF 13 AF 11 ; AF 12 ; AF 13 Servizio migliore 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.
AF 1x AF 2x AF 3x AF 4x Servizio migliore AF PHB:example N scheduler ……. 2 1 weight: 0,5 0,2 0,3 AF13 Probabilità di Scarto 1 Lunghezza media della Coda 0 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 ) 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 PQ-scheduler Controllo Traffico 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) Classificazione EF
Regione DS Architettura del DiffServ: Elementi Costitutivi Regione DS Regione 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
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 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
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 PHB Classificazione SLA DS Domain Controllo Traffico
AVQ Algorithm g