Marco Listanti Architetture per la QoS in Internet
Integrated Service Architecture (Intserv)
Architettura Integrated Service (Intserv) (1) Ha lo scopo i fornire il supporto di servizi a qualità garantita in una rete IP E un estensione del modello classico IP Le nuove componenti sono aggiuntive rispetto a quelle comprese nel modello IP classico e non le sostituiscono Il modello Intserv comprende tre classi di servizio Best effort service Guaranteed service Controlled load
Architettura Integrated Service (Intserv) (2) Uili Utilizza procedure di reservation procedure di set-up esplicite resource reservation admission control policing Utilizza un approccio per flusso (per flow) Definisce dei flow state nei router e non solo negli host Utilizza stati di tipo soft nei router robustezza e semplicità
Modello di Router Intserv (1) Background Functions Routing Protocol Routing DB Reservation Protocol Admission Control Tr. Ctrl. DB Management Agent Il controllo del traffico in un router Intserv è realizzato mediante quattro componenti logiche Input Driver Classifier Packet Scheduler Output Driver Packet Scheduler Classifier Admission Control Forwarding Path Reservation Protocol (RSVP)
Modello di Router Intserv (2) Packet Scheduler stabilisce l ordine di rilancio e l eventuale scarto dei datagrammi dalla coda di uscita utilizza un insieme di code e altri meccanismi (es. timer) esegue funzionalità di policing Classifier individua il flusso a cui appartiene ogni datagram entrante nrn e determina rmn la classe di servizio con cui verrà trattato dal packet scheduler la classe di servizio può essere definita localmente e essere diversa in diversi i router
Modello di Router Intserv (3) Admission Control implementa l algoritmo di decisione per l accettazione di un nuovo flusso ReSerVation Protocol (RSVP) crea e mantiene lo stato riguardante un flusso negli host e nei router trasporta le specifiche del flusso (TSpec) e le richieste di servizio (RSpec) Un TSpec è una lista di parametri che definiscono le caratteristiche di un flusso Un RSpec è una lista di parametri che specifica la qualità di servizio richiesta
Contratto di Traffico Tra sorgente e rete viene stabilito un contratto di traffico la sorgente comunica alla rete il TSpec e l RSpec la rete esegue l algoritmo di admission control e comunica il risultato alla sorgente la rete provvede garantire durante l emissione della sorgente la QoS concordata la rete verifica che i parametri del TSpec siano rispettati dalla sorgente eventuali pacchetti che non rispettano il TSpec sono trattati come traffico best effort
Guaranteed Service (1) E orientato al traffico real time Garantisce un livello minimo di throughput Garantisce l assenza di perdita di pacchetti per overflow dei buffer dei router Garantisce un ritardo massimo m di transito in rete Il ritardo massimo (D Max ) di transito in rete è dato da due componenti D fix è la componente fissa del ritardo (trasmissione, propagazione) D Max_que è il ritardo massimo complessivo per attese in coda D Max = D fix + D Max_que E garantito un valore massimo non superato di D Max_que
Guaranteed Service (2) Nell invocazione del servizio, la sorgente deve specificare il TSpec e l RSpec I parametri del TSpec sono: r byte/s token rate b byte buffer size p byte/s peak rate (p r) M byte m byte Maximum datagram size minimum policed unit I parametri dell RSpec sono R byte/s requested rate (R r) S μs termine di correzione (slack term)
Guaranteed Service (3) Il termine di correzione S indica la differenza tra il ritardo desiderato dalla sorgente e ritardo ottenuto tramite l assegnazione della banda R Può essere utilizzato dalla rete in caso di necessità per allocare una banda inferiore rispetto a quella richieste dalla sorgente (R <R) In un elemento di rete vengono assegnate ad un flusso una banda R (byte/s) (richiesta dagli utenti) un buffer di dimensione B (byte) Ogni elemento di rete, in base ai parametri di TSpec e RSpec, calcola il valore di B in modo che sia evitata la perdita di pacchetti
Guaranteed Service (4) Policing verifica che il flusso emesso da una sorgente sia conforme al TSpec occorre controllare se per ogni pacchetto entrante t la sorgente aveva il numero di token necessario per la sua trasmissione, ovvero che in un qualsiasi intervallo di tempo la sorgente non abbia emesso un numero di bit X > min[pt, b+rt] i pacchetti di lunghezza inferiore a m sono considerati di lunghezza uguale a m viene effettuato solo ai bordi della rete i datagrammi non conformi al TSpec saranno trattati in modo best effort Reshaping ritarda i datagrammi sino a che il flusso non sia conforme al TSpec può essere effettuato da elementi all interno della rete
Allocazione delle risorse nel GS (1) Ogni elemento di rete deve assicurare un servizio corrisponda al servizio che si avrebbe se sorgente e destinazione fossero collegati da un canale a capacità fissa R (modello fluidico di banda R) Il ritardo massimo d Max introdotto da un tale elemento è B C d = + D Max R R + B è il valore del buffer che assicura assenza di perdite che possono essere causate dall arrivo arrivo di datagrammi al rate di picco (p) C e D sono termini di errore che tengono conto della massima deviazione possibile rispetto al modello fluidico C tiene conto della trasmissione a pacchetto nello scheduler WFQ e dell overhead degli strati inferiori (es C = M) D tiene conto del tempo di attesa massimo per la trasmissione di un pacchetto (es. canale slottato)
Allocazione delle risorse nel GS (2) b C D 1 Max = + + R R 1 D 1 D b R C R sum _ k tot Maxk = + + Dsum _ k Max _ tot tot R b C D = + + D R R Source NE 1 NE K NE N Destin. B 1 = D B k = b + Csum _ k + R Dsum _ B k k = b + Ctot + R Dtot b + C + R 1 k C sum = C _ k i = 1 k D sum = D _ k i = 1 i i 1 I valori di C sum_k e D sum_k (i=1,..,k-1) devono essere comunicati dall elemento di rete k-mo all elemento (k+1)-mo (Exported Information) Il valori B i (i=1,..,k) sono calcolati considerando il caso peggiore che si avrebbe se R
Allocazione delle risorse nel GS (3) Il limite superiore della dimensione del buffer da allocare negli elementi di rete è BMax = b+ Ctot + R Dtot Tenendo conto del bit rate di picco p e della massima dimensione M del datagramma si ha che il buffer massimo può essere ridotto a ( b M )( p R ) ' M+ + Ctot + R Dtot se p > R > r BMax = p r M + C tott + R D tott se R > p > r
Allocazione delle risorse nel GS (4) Il ritardo massimo garantito dalla procedura di allocazione on è quindi D Max = B R ' Max D Max b-m p-r M+ Ctot + + Dtot se p > R > r R p-r R = M+ Ctot + Dtot se R > p > r R
Controlled Load (1) E orientato al trattamento di traffico real-time di tipo adattativo La QoS approssima quella percepita dall utente t che utilizza un servizio di tipo best effort nel caso di rete scarica Il ritardo di coda non è limitato superiormente Un elevata percentuale di pacchetti non subirà un ritardo molto superiore a quello minimo di attraversamento della rete Una percentuale molto elevata di pacchetti sarà consegnata a destinazione i la percentuale di pacchetti persi deve essere dell ordine del packet error rate dovuto ai mezzi trasmissivi
Controlled Load (2) Nell invocazione del servizio, la sorgente deve specificare il proprio TSpec Il TSpec comprende i parametri p, b, r, m, e M Gli elementi di rete devono assegnare al flusso banda sufficiente al soddisfacimento dei requisiti di ritardo buffer sufficiente i per il soddisfacimento i dei requisiti iti di perdita Gli algoritmi di allocazione non sono definiti I requisiti di ritardo e perdita possono essere soddisfatti mediante algoritmi di scheduling
Garanteed Service vs. Controlled Load Caratteristica Garanteed Service Controlled Load Servizio end-to-end Applicazioni Metodo di allocazione Elementi di rete delle risorse Parametri richiesti Exported Information Policing Ritardo Max garantito Prob. di perdita nulla Real Time Modello Fluidico Ideale: Banda (R) e Buffer (B) TSpec = r, b, p, M, m RSpec = R, S C, D (deviazione dal modello fluidico ideale) A(T) M + min [pt, rt+b-m] Equivalente ad un servizio Best effort su rete scarica Sensibili alla congestione in rete Controllo di ammissione da definire TSpec = r, b, p, M, m Nessuna A(T) = rt + b
Differentiated Service Architecturectur (Diffserv)
Differentiated Service (Diffserv) (1) L approccio Intserv è difficilmente applicabile a reti in cui il numero di flussi per link è molto elevato reti di grandi dimensioni link ad elevata velocità (Gbit/s) La limitata scalabilità dipende dalla scelta di gestire il singolo flusso di pacchetti (per flow approach) User plane necessità delle funzioni di classifier, policer e scheduler in ogni router Control plane trattamento dei messaggi di segnalazione (RSVP) in ogni router memorizzazione e gestione degli stati di riservazione per singolo flusso (path reservation state) in ogni router
Differentiated Service (Diffserv) (2) L approccio Diffserv raggiunge una maggiore scalabilità applicando le seguenti regole Le funzioni più complesse (policing e classificazione) sono eseguite solo nei router di bordo della rete Ad ogni datagramma entrante nella rete è assegnata una classe di servizio (aggregato di flussi) Ad ogni datagramma entrante è assegnato un codice (DS codepoint) che india esplicitamente la sua classe di servizio Nei router interni della rete sono definite regole di trattamento dei datagrammi (Per Hop Behaviour - PHB) valide per ogni singola classe di servizio Sono eliminati i reservation state nei router interni alla rete Almeno in una prima fase, il servizi di trasferimento sono offerti su base contrattuale o semi-permanente (provisioning) e quindi non è necessario l uso di un protocollo di segnalazione
Campo Service Type in IPv4 Bit 0-2: Precedence 111 - Network Control 110 - Internetwork Control 101 - CRITIC/ECP 100 - Flash Override 011 - Flash 010 - Immediate 001 - Priority 000 - Routine Bit 3-5: TOS Bit 3: 0 = Normal Delay, 1 = Low Delay. Bits 4: 0 = Normal Throughput 1 = High Throughput Bits 5: 0 = Normal Reliability 1 = High Reliability Bit 6-7: Reserved for Future Use 0 1 2 3 4 5 6 7 +-----+-----+-----+-----+-----+-----+-----+-----+ PRECEDENCE D T R 0 0 +-----+-----+-----+-----+-----+-----+-----+-----+
Diff Serv (DS) field Il campo DS sostituisce i campi Service Type nel protocollo IPv4 Traffic Class nel protocollo IPv6 La struttura del campo DS è la seguente 1 2 3 4 5 6 7 8 DSCP CU DSCP: Differentiated Service Code Point CU : Currently Unused Il campo DSCP è usato come indice per determinare il trattamento del pacchetto in un router
Dominio Diffserv Flusso aggregato SLA Border DS Router SLA Border DS Router Interior DS Router Border DS Router SLA Interior DS Router Classificazione Marking Policing Packet forwarding (PHB) Border DS Router SLA
Service Level Agreement Un Service Level Agreement (SLA) specifica il contratto di traffico tra un utente ed il service provider e indica il livello ll di QoS del traffico generato dall utente t Un SLA specifica i parametri di servizio, quali Parametri prestazionali (throughput, loss probability, latency) Profilo di traffico (parametri del token bucket) Trattamento del traffico in eccesso rispetto al profilo di traffico concordato Marking service Shaping service
Border DS Router (1) Routing DB Routing Protocol Background Functions Policer Forwarding Path Classifier Marker Shaper Dropper Scheduler
Router Diffserv (2) Classifier Meter Marker r identifica il flusso a cui appartiene il datagramma entrante identifica il tipo di trattamento del datagramma misura i parametri temporali del flusso effettua il confronto con il profilo di traffico stabilito dallo SLA assegna il valore del campo DSCP al datagramma assegna il datagramma ad un particolare flusso aggregato
Router Diffserv (3) Shaper/Dropper sagoma il flusso di datagrammi in accordo al profilo di traffico concordato per il flusso aggregato scarta i datagrammi che sono fuori dal profilo di traffico concordato per il flusso aggregato Scheduler determina l ordine di trasmissione dei datagrammi in accordo alle regole di trattamento del particolare flusso aggregato g a cui appartiene il datagramma
Per Hop Behaviour (PHB) Un PHB stabilisce le regole con cui devono essere trattati i datagrammi nei router di un dominio DS E definito it un insieme i di PHB che corrispondono ai diversi i livelli di QoS che un dominio DS può offrire Un livello di QoS offerto da un dominio DS è dato dalla composizione dei PHB applicati nei router attraversati dai datagrammi Oggi sono definiti tre PHB Best effort Expedited Forwarding (EF) Assured Forwarding (AF)
Expedited Forwarding (EF) (1) Il PHB Expedited Forwarding (EF) è usato per costruire un servizio caratterizzato da bassa probabilità di perdita basso ritardo bassa variabilità del ritardo banda garantita Il servizio ottenuto tramite il PHB EF, visto agli estremi di un dominio DS, deve essere equivalente a quello ottenuto attraverso una linea virtuale dedicata (Virtual Leased Line)
Expedited Forwarding (EF) (2) Un PHB EF deve assicurare che i datagrammi non subiscano accodamenti eccessivi nei buffer dei router I router devono essere configurati in modo che il flusso aggregato sia trattato con un livello minimo di tasso di servizio (Service rate) Il flusso aggregato deve essere configurato, mediante le funzioni di policing e shaping, in modo che il suo tasso di arrivo (Configurable rate) ) ad un qualsiasi as router r sia inferiore o uguale al tasso di servizio (Service rate) Le regole di allocazione sono di competenza dell operatore di rete
Expedited Forwarding (EF) (3) Descrizione del PHB EF Il service rate del flusso aggregato deve essere uguale o superiore al configurable rate Il traffico EF deve ricevere il service rate in modo indipendente dagli altri tipi di traffico che caricano un router Il service rate deve essere almeno uguale al valore medio del rate di arrivo dei datagrammi del flusso aggregato misurato su qualsiasi finestra temporale Il servizio è analogo a quello della classe Guaranteed Service dell architettura tt Intserv Il valore fissato del campo DSCP è 101110
Assured Forwarding (AF) (1) L AF PHB ha lo scopo dare la possibilità ad un operatore di rete di definire un insieme di livelli di trasferimento (Forwarding Assurances) per differenziare il trattamento dei flussi in un dominio IP Sono definiti quattro classi AF (AFxy, x=1234) x=1,2,3,4) per ognuna di esse è allocato in ogni router un diverso insieme di risorse (banda e buffer) ( ) Per ciascuna delle quattro classi sono definiti tre livelli di priorità di scarto dei pacchetti (drop precedence) (AFxy, y=1,2,3) in caso di congestione i pacchetti sono scartati nell ordine stabilito dal livello ll di drop precedence
Assured Forwarding (AF) (2) Banda allocata alle classi AF4x AF3x C 4 Buffer AF4x C Buffer AF3x C 3 QoS crescente Pacchetti entranti AF2x Buffer AF2x C 2 Pacchetti uscenti AF1x Drop AF1 1/2/3 Buffer AF1x Drop AF1 2/3 Drop AF13 No drop C 1 AF11 AF12 AF13 Drop thresholds
Assured Forwarding (AF) (3) In un router se x < y, i datagrammi della classe AFx non devono subire una probabilità di perdita o un ritardo maggiore dei datagrammi della classe AFy Il primo pedice indica il valore della classe di servizio all interno di una stessa classe AF, se p < q, i datagrammi con drop precedence p non devono subire una probabilità di perdita maggiore dei datagrammi con drop precedence q Il secondo predice indica la priorità di scarto all interno di ogni classe di servizio I valori del campo DSCP sono Drop Precedence AF x1 AF x2 Classe AF AF 1y AF 2y AF 3y AF 4y 010000 010010 011000 011010 100000 100010 101000 101010 AF x3 010100 011100 100100 101100
Esempio AF Realizzazione del così detto Olympic Service Tre classi di servizio: Gold, Silver e Bronze I pacchetti della classe Gold vedranno in rete un carico più basso dei pacchetti della classe Silver Il ritardo e la perdita dei pacchetti di classe Gold saranno inferiori a quelli della classe Silver I pacchetti della classe Silver vedranno in rete un carico più basso dei pacchetti della classe Bronze Il ritardo e la perdita dei pacchetti di classe Silver saranno inferiori a quelli della classe Bronze In ogni classe possono essere creati livelli di drop precedence (esempio 3 livelli) Totale 9 classi Classe Gold x = 1 y = 1, 2,3 Classe Silver x = 2 y = 1, 2,3 Classe Bronze x = 3 y = 1, 2,3
RFC (1) INTEGRATED SERVICES (IntServ) RFC Title Date 1633 Integrated Services in the Internet Architecture: an Overview. June 1994. 2205 Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification. September 1997. 2210 The Use of RSVP with IETF Integrated Services. September 1997. 2211 Specification of the Controlled-Load d Network Element Service. September 1997. 2212 Specification of Guaranteed Quality of Service. September 1997. 2215 General Characterization Parameters for Integrated Service Network Elements. September 1997. 2216 Network Element Service Specification Template. September 1997.
RFC (2) DIFFERENTIATED SERVICES (DiffServ) RFC Title Date 2430 2474 A Provider Architecture for Differentiated Services and Traffic Engineering (PASTE). Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers. October 1998. December 1998. 2475 An Architecture for Differentiated Service. December 1998. 2597 Assured Forwarding PHB Group June 1999 2638 A Two-bit Differentiated Services Architecture for the Internet. July 1999. 3246 An Expedited Forwarding PHB (Per-Hop Behavior) March 2002