Lezione 8 - Dipartimento di Ingegneria Informatica e delle
by user
Comments
Transcript
Lezione 8 - Dipartimento di Ingegneria Informatica e delle
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 2 Buffer 1 3 2 1 Tasso di perdita: 0 3 pacchetti persi P pacchetti inviati 0 QoS in una rete a pacchetto • Ritardo – Componenti fisse – Componenti variabili Il ritardo è una variabile aleatoria descritta da una pdf Misure di ritardo • Distribuzione della densità di probabilità del ritardo ritardo medio deviazione standard 1- Ritardo Fisso Variazione del ritardo Massimo ritardo Ritardo Modelli per la stima del ritardo nelle reti a pacchetto • Es.: M/M/1 Frequenza media di interarrivo pacchetti l k ( l t ) P( N (t ) k ) k! Tempi di servizio distribuiti esponenzialmente e - lt Con valor medio 1/m Distribuzione prob ritardo F(t)= 1-exp[-(m-l)t], t> =0 Ritardo medio E(t)=1/m-l 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 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 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à 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 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 % ….. 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 Model: Diff Serv •Classificazione •Controllo del traffico d’utente (metering, marking, shaping, dropping) •Scheduling •Queue Management (controllo della congestione) MPLS Meccanismi di QoS nelle reti IP Ingegneria del traffico: allocazione del traffico sui percorsi di rete al fine di utilizzare al meglio le risorse disponibili + 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 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) 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 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 Valore iniziale di token = 1000 Gettoni r = 1000 byte/sec Bucket Pacchetto (450 byte) b = 1000 byte Crediti Sufficienti ? Si: Pacchetto Conforme Valore finale di token = 550 Esempio 2/2 … dopo 250 msec Valore iniziale di token = (550 + 250) byte Gettoni r = 1000 byte/sec Bucket Pacchetto (900 byte) b = 1000 byte Crediti Sufficienti ? NO: Pacchetto non conforme Valore finale di token = 800 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 srTCM Policing example Scartati Best effort Con priorità Esempio 1/4 trabocco C CIR=8kb/sec CBS=1000 bytes E Tc EBS=1000 bytes Te L=450 byte L Tc ? Si: Verde Tc Tc – 450=550 L Te ? Esempio 2/4 250 msec dopo…. trabocco C CIR =8kb/s CBS E Tc=550+ 250 L= 900 byte L Tc ? No EBS Te=1000 L Te ? Si: Giallo Te Te – L= 100 Esempio 3/4 400 msec dopo… trabocco C CIR = 8kb/sec CBS E Tc=800+ 200 EBS Te= 100+200 L = 1000byte L Tc ? Si: Verde Tc Tc – L= 0 L Te ? Esempio 4/4 200 msec dopo… trabocco C CIR = 8 kb/sec CBS E Tc=0+200 L=400 byte L Tc ? No EBS Te=300 No: Rosso L Te ? 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 pacchetti per avere la garanzia di consegna a destinazione con elevata probabilità; byte s si misurano in 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 Legge della conservazione Se uno scheduler e’ work-conserving (inattivo solo se coda vuota) E W Cos tan te i i i 1 N Dove N ei il num di flussi di traffico e W e’ il tempo medio di attesa nel buffer FIFO Flusso 1 Flusso 2 . . . C l a s s i f i c. N 2 1 2 1 1 scheduler N 2 1 2 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 C= 1 Mbit/s N Flusso N Equivale a: C = 300 Kbit/s C = 200 Kbit/s C = 500 Kbit/s Controllo della congestione • • • • • Drop tail RED WRED AQV altri….. Drop Tail soglia Pacchetti in arrivo Scarto Coda FCFS 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 Stima dell’occupazione del buffer (EWMA: Exponentially Weighted Moving Average) TH(n+1)=(1-)TH(n)+L(n+1); = 0,02 WRED Probabilità di Scarto 1 Profilo di servizio Standard Profilo di servizio Premium 0 Lunghezza media della Coda AVQ Algorithm g desired link utilization. smooting parameter l arrival rate 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 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 RSVP + Classificazione, CAC, Policing, Scheduling Int Sev • Problemi: – Stati di prenotazione della banda (Soft State) per ciascun microflusso Non scalabile in reti di ampie dimensioni Integrated Services: RSVP (rfc2205) Messaggi PATH (Tspec) Messaggi RESV (Flow spec e Filter spec) Ricevitori Path state Reserv. state Trasmettitore Nota: RSVP utili zza i protocolli d routing IP Sessione. definisce la destinazione di un flusso di dati ed è identificata dalla tripletta: <indirizzo IP dest.; porta TCP o UDP dest.; identificativo di protocollo> 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 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. •Classe di Servizia • RSpec: definisce la banda richiesta /prenotata; • TSpec: profilo di traffico della sessione Pacchetti che passano il Filtro Scheduler Flowspec: (IP sorg.;Porta sorg.) Policing, indirizzamento verso le risorse riservate 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 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) . 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 UDP IP (v4/v6) DiffServ Working Group [RFC2575] • 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 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 (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 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 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 EF Controllo Traffico 11 1 1 PQ-scheduler 2 2 2 1 1 1 1 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) 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 AVQ Algorithm g AVQ Algorithm