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