QoS nella rete Internet Le basi per fornire QoS Esistono alcuni principi indispensabili per poter fornire QoS Sono criteri euristici di buon senso (anche se molto spesso negati!), ma non dimostrabili Sono chiamati principi o postulati Andrea BIANCO Andrea.Bianco@polito.it http://www.telematica.polito.it/ QoS IN INTENET - 1 QoS IN INTENET - 2 Primo Postulato Classificazione dei pacchetti (ai bordi della rete) Consente agli apparati di distinguere tra diversi clienti o classi di traffico Permette di definire diversi livelli di QoS per flussi classificati in modo diverso Consente una tariffazione differenziata Classificazione Avviene ai bordi della rete Può essere fatta dagli host oppure da speciali dispositivi nei router di ingresso Basata su: indirizzi applicazioni servizi utenti contenuto QoS IN INTENET - 3 QoS IN INTENET - 4 Secondo Postulato Verificabilità dei contratti di traffico Permette al fornitore di servizi di evitare frodi Consente all utente di controllare se il servizio ricevuto è conforme alle aspettative Verificabilita` ichiede un profilo di traffico descrivibile Necessita di un algoritmo di misura delle caratteristiche del traffico: il Token Bucket Algorithm Speciali dispositivi per la sagomatura (shaping) e il contollo (policing) del traffico implementano TBA QoS IN INTENET - 5 QoS IN INTENET - 6
dalla sorgente Token Bucket token generati a tasso costante ogni T secondi alla rete Terzo Postulato Isolamento dei diversi flussi Separa il traffico proveniente da applicazioni diverse Permette un trattamento differenziato della QoS in funzione della classe di traffico Consente la coesistenza di priorità diverse all interno della rete QoS IN INTENET - 7 QoS IN INTENET - 8 Isolamento dei flussi Funzione da implementare nei router Possibili algoritmi di accodamento: Trunking (inefficiente) Weighted ound obin (W) Weighted Fair Queueing (WFQ) Quarto Postulato Controllo di accesso (CAC) Una nuova chiamata deve essere accettata dalla rete solo se: 1) puo` ricevere il servizio richiesto con la qualita` richiesta con elevata probabilita` 2) non danneggia la QoS delle chiamate gia` accettate 3) non porta la rete in instabilita` QoS IN INTENET - 9 QoS IN INTENET - 10 Controllo di accesso (CAC) Segnalazione delle risorse disponibili Segnalazione del servizio richiesto Algoritmi per la valutazione della QoS attesa Apparati che implementano in modo organico queste tre funzioni QoS IN INTENET - 11 Quinto Postulato Elevato uso delle risorse. Motivazioni: mantiene basso il costo dei servizi mantiene alto il guadagno del fornitore fattore abilitante per l introduzione di servizi ad alto valore aggiunto Per ottenerlo Multiplazione statistica QoS descritta in modo statistico Algoritmi di inoltro dei pacchetti work conserving (WFQ,, W, PQ, CPQ) Non tutti concordano su questo aspetto QoS IN INTENET - 12
Proposte IETF Best-effort Migliorare efficienza con politiche di scarto intelligenti Architetture per QoS Integrated Services SVP Differentiated Services Bandwidth Brokers Protocolli per supporto multi-media QoS IN INTENET - 13 Buffer management nei router Il trattamento dei pacchetti nelle code (buffer) dei router ha un effetto determinante sull equità Algoritmo di accettazione Quando un pacchetto arriva da un link di ingresso di un router, l algoritmo determina se il pacchetto può essere accettato Output link QoS IN INTENET - 14 Buffer management nei router Due domande fondamentali Quando scartiamo un pacchetto? Quando il buffer è pieno? ( droptail ) Quando il buffer si sta riempiendo troppo? (AQM) Quale pacchetto dev essere scartato? Il pacchetto che arriva (ma è lui responsabile per la congestione?) Un pacchetto del flusso che ha il maggior numero di pacchetti in coda? (complicato) Il pacchetto in testa alla coda (ha già atteso troppo, probabilmente è già scaduto ha senso se la velocità di svuotamento e riempimento del buffer non Buffer management nei router Obiettivi: controllare la quantità di pacchetti nel buffer per Offrire equità ai flussi best-effort Proteggere da flussi che non rispondono a segnalazioni di congestione aggiungere una buona utilizzazione del link di uscita è costante) QoS IN INTENET - 15 QoS IN INTENET - 16 DropTail buffer L algoritmo più ovvio Principio: quando il buffer è pieno, il pacchetto in arrivo viene scartato Vantaggi: Facile da implementare Limita le perdite con buffer di dimensioni elevate Svantaggi: Punisce indiscriminatamente tutti i flussi Non è la soluzione migliore per TCP Buffer AQM Con Active Queue Management (AQM) si intendono tutte le tecniche di buffer management che non scartano i pacchetti in modo indiscriminato L esempio più comune è l algoritmo ED (andom Early Detection), ne esistono diverse versioni e varianti QoS IN INTENET - 17 QoS IN INTENET - 18
andom Early Detection Implementabile in router con una singola coda logica Si cerca di ottenere una bassa (ma non nulla) occupazione media del buffer Basso ritardo per applicazioni multimedia e TCP Utilizzazione efficiente del link di uscita Approssima una politica equa di scarto di pacchetti Scarta pacchetti in modo TCP friendly TCP reagisce male a perdite in blocco QoS IN INTENET - 19 andom Early Detection ED è stato proposto da Floyd, Jacobson e il suo uso è raccomandato nell FC 2309 Implementato in molti router, es. da Cisco Principio: ilevare la congestione misurando l occupazione media del buffer Scartare un numero sempre maggiore di pacchetti al crescere della congestione Pacchetti scartati anche se il buffer non è pieno QoS IN INTENET - 20 ED: principi di funzionamento Come si misura la congestione? Stima del valore medio x dell occupazione del buffer usando un filtro numerico passa-basso Lo scarto dei pacchetti avviene con probabilità p(x), entro soglie che determinano scarto totale o nullo p(x) Perché scarto probabilistico? 1 Evita di scartare pacchetti consecutivi di uno stesso flusso p max punisce statisticamente i flussi più Min_th Max_th x presenti Evita sincronizzazione in flussi TCP QoS IN INTENET - 21 ED: Algoritmo Packet arrival : compute average queue occupancy: avg if (avg < min_th) // no congestion accept packet else if (min_th <= avg < max_th ) // near congestion, probabilistic drop calculate probability Pa with probability Pa discard packet else with probability (1-Pa) accept packet else if avg => max_th discard packet QoS IN INTENET - 22 ED: problemi Difficile scelta dei parametri e prestazioni inferiori a droptail (Christiansen et al, SigComm 00) All aumentare dei flussi nel buffer, p oscilla intorno a p max, rendendo ED instabile (Firoiu- Borden, Infocom 00) Introduzione della variante gentle ED p(x) p max 1 2*Max_th ED: problemi ED è essenzialmente un algoritmo di controllo ad anello chiuso Se i flussi sono non-responsive (es, multimedia non adattativo), ED funziona male Anche in presenza di flussi responsive (es, TCP o multimedia adattativi) il filtro passa-basso introduce ritardo aggiuntivo (Hollot et al., Infocom 01) usare valore istantaneo dell occupazione del buffer? Min_th Max_th x QoS IN INTENET - 23 QoS IN INTENET - 24
Varianti AQM Varianti di ED: FED (Ling-Morris, SIGCOMM 97): contabilità dei flussi attivi per punire chi usa più banda BED (Anjum-Tassiulas, INFOCOM 99): Balanced ED punisce i flussi più presenti nel buffer SED (Lakshman-Wong, INFOCOM 99): Stabilized ED varia p(x) anche in funzione del numero di flussi attivi DED (Aweya et al., Computer Networks, 2001) varia p(x) secondo la distanza della coda da una soglia ED-PD (Floyd) BLUE (http://thefengs.com/wuchang/blue/) Architetture per QoS Integrated Services Differentiated Services QoS IN INTENET - 25 QoS IN INTENET - 26 Integrated Services Architettura per fornire QoS individuale a ciascun flusso applicativo; i nodi della rete riservano le risorse necessarie al flusso (terzo postulato) Instaurazione delle chiamate tramite segnalazione: ogni applicazione apre una chiamata separata che può essere rifiutata (quarto postulato) Integrated Services Caratterizzazione del traffico tramite le specifiche vettoriali T-spec di ogni flusso Caratterizzazione della QoS richiesta tramite specifiche vettoriali -spec di ogni flusso Problemi di scalabilita` QoS IN INTENET - 27 QoS IN INTENET - 28 Apertura di una chiamata segnalazione hop-by-hop QoS IN INTENET - 29 Caratterizzazione del traffico e richieste di Qos T-spec insieme di parametri che descrivono il traffico che verrà iniettato in rete -spec insieme di parametri che descrivono la QoS richiesta dal traffico (sempre associata ad una T- spec) T-spec ed -spec servono ai nodi per stabilire se ci sono abbastanza risorse per la nuova connessione QoS IN INTENET - 30
Servizio Guaranteed Quality Fornisce un limite superiore assoluto e dimostrabile al ritardo che un pacchetto può esperire in un nodo no garanzie su ritardi medi e su jitter no perdite per overflow (buffer riservati) Garanzie fornite a pacchetti conformi non conformi diventano best effort Piuttosto complicato, ma l idea di base e` quella emulare in ogni nodo la presenza di dispositivi tipo token buket dedicati ad ogni Servizio Controlled Load Fornisce una qualita` di servizio quasi indistinguibile dalla QoS che lo stesso flusso riceverebbe se l elemento di rete fosse scarico Non fornisce garanzie assolute ma solo statistiche su ritardo e perdita Ha come obiettivo soprattutto fornire un servizio migliore a applicazioni real-time sviluppate per reti best-effort QoS IN INTENET - 31 QoS IN INTENET - 32 flusso SVP esource eservation Protocol Protocollo di segnalazione per Fornisce un servizio di trasporto hop-by-hop direttamente su IP per i messaggi di segnalazione Non specifica protocolli di routing multicast CAC come i nodi prenotano le risorse come i nodi forniscono la QoS richiesta QoS IN INTENET - 33 SVP: specifiche di progetto Adatto a sessioni sia unicast sia multicast Supporto per ricevitori eterogenei Protocollo pilotato dai ricevitori: chi riceve le informazioni prenota le risorse e le mantiene durante la comunicazione Adattamento automatico a cambiamenti Basato sul concetto di soft-state : ogni prenotazione deve essere continuamente rinfrescata, altrimenti viene cancellata allo scadere di un contatore QoS IN INTENET - 34 SVP: sommario Prenota risorse per un flusso dati per volta E il ricevitore a decidere se prenotare, e quanto prenotare I messaggi di controllo di SVP (Es., le richieste di prenotazioni) sono propagati come datagram IP Non occorre conferma end-to-end di avvenuta prenotazione (solo di fallimento) QoS IN INTENET - 35 SVP: operazioni Esempio: audioconferenza multicast con una sorgente e molteplici ricevitori registrati La sorgente invia messaggi PATH, (quasi) periodicamente, agli indirizzi dei ricevitori T-spec (token rate, token bucket depth, minimum policed size, maximum packet size, peak rate, ) Il ricevitore invia messaggi ESV seguendo il percorso inverso registrato nei messaggi PATH T-spec -spec tipo di servizio Intserv richiesto F-spec (filtro che caratterizza sottoinsieme di pacchetti per cui si fa prenotazione) QoS IN INTENET - 36
SVP: operazioni I messaggi ESV, hop per hop, eseguono le prenotazioni di banda richieste dal ricevitore se un router non ha sufficienti risorse, ne informa il ricevitore che ha inviato il ESV se due o più messaggi ESV prenotano dati dalla stessa sorgente sullo stesso link, sono fusi (merging) prima di essere inoltrati a monte verso la sorgente. Algoritmi merging non banali. Alla fine della sessione, sorgente o ricevitore inviano un messaggio TEADOW QoS IN INTENET - 37 QoS IN INTENET - 38 flusso dati SVP: merging messaggi di prenotazione merged messaggi di prenotazione QoS IN INTENET - 39 Il soft state SVP gestisce i mutamenti di instradamento come se fossero la norma, non l eccezione: in assenza di cambi di percorso, messaggi PATH e ESV periodici rinfrescano lo stato di prenotazione ai nodi intermedi quando si verificano cambiamenti, nuovi messaggi PATH identificano il nuovo cammino e nuovi messaggi ESV seguono stati di prenotazione non rinfrescati scadono Garanzia per tutta durata del flusso solo se routing non cambia QoS IN INTENET - 40 equest For Comments FC 1633: Architettura generale FC 2210: SVP - la segnalazione di FC 2211: Servizio Controlled-Load FC 2212: Servizio Guaranteed Quality FC 2215: Parametri e configurazioni : osservazioni Scalabilità pessima Ogni router deve mantenere informazione di stato per flussi di strato 4 elaborazione messaggi SVP in tutti i router classificazione di tutti i pacchetti per ogni flusso policing/queueing/scheduling per flusso ichiede definizione precisa del traffico difficile per alcune applicazioni QoS IN INTENET - 41 QoS IN INTENET - 42
Differentiated Services Architettura di rete più semplice Considera solo flussi aggregati, ovvero classi di traffico (scalabilità) e definisce QoS per classe Fornisce modelli di servizio flessibili e aperti Supporta la QoS senza bisogno di un sistema di segnalazione complesso come SVP QoS IN INTENET - 43 Perché Diffserv? Il caso dell ISP In fase di progetto, ISP prende decisioni economiche Di ogni cliente, si conosce il livello di traffico immesso in rete ma non la destinazione Occorrono upgrade di banda e monitoraggio dei link Cust1 1 ISP Contratto x Mbps di best-effort Cust3 6 2 B1 Backbone Cust9 B2 B3 3 5 ISP 4 ISP Cust5 ISP Cust7 Cust8 QoS IN INTENET - 44 Architettura core-and-edge Struttura differenziata tra i bordi della rete (edge) e la parte interna (core) Le funzioni più complesse sono svolte solo sul bordo della rete La parte interna si concentra su poche funzioni fondamentali Architettura core-and-edge network edge network core QoS IN INTENET - 45 network edge QoS IN INTENET - 46 Edge routers : Architettura ete divisa in due parti E Cust7 outer interni E Diffserv domain A B Border routers Diffserv domain B outer interni semplici per funzionare ad alte velocità Funzionalità complesse fornite solo ai nodi di bordo (border e edge routers) B Funzioni di bordo (edge functions) Classificazione dei pacchetti (Primo Postulato) classe di servizio è indicata esplicitamente in ogni pacchetto IP mediante marking fatto da cliente edge router border router Condizionamento del traffico (Secondo Postulato) QoS IN INTENET - 47 QoS IN INTENET - 48
Funzioni della parte interna (core functions) Commutazione e trasmissione dei pacchetti in base alla sola classe di servizio di appartenenza dei pacchetti (per-hop-behavior) Classificazione dei pacchetti Si suddivide in due parti: scelta della classe di traffico o behavior aggregate (classification) assegnazione del codice DSCP Differentiated Service Code Point (marking) dalla sorgente classification marking QoS IN INTENET - 49 QoS IN INTENET - 50 alla rete VE HLEN TOS total length Identification : Packet Marking Si ridefinisce la semantica del byte ToS nell header del pacchetto IP F L A G fragment offset TTL protocol header checksum source IP address destination IP address 0 1 2 3 4 5 6 7 DSCP CU iservato ad uso Futuro (ECN) Code Point Usato per specificare come la ete deve trattare il pacchetto Default DSCP 000000 Significa best-effort QoS IN INTENET - 51 Condizionamento Il condizionamento del traffico serve a rendere un flusso di pacchetti con un dato DSCP conforme ad un contratto di traffico Si svolge mediante un dispositivo di misura (meter) associata ad un dispositivo di sagomatura (shaper) o scarto (dropper) dei pacchetti QoS IN INTENET - 52 classification marking meter shaper alla rete Condizionamento classification marking meter confine tra reti dropper alla rete classification marking meter shaper alla rete meter dropper QoS IN INTENET - 53 Condizionamento Il meter confronta le caratteritiche del flusso rispetto ad un contratto di traffico (traffic profile) (Quarto Postulato) Meter + Shaper o Meter + Dropper dispositivo token bucket QoS IN INTENET - 54
Fornitura di servizi Fornitura di servizi E Diffserv domain B B E Diffserv domain B B Service Level Agreement Specifica, per ogni servizio supportato dal Dominio la quantità di traffico che può inviare in rete (eventualmente specificando la destinazione) La rete dà alcune garanzie - perdita di pacchetti entro un certo periodo - ritardo end-to-end in punti chiave - affidabilità della rete -... E Diffserv domain A B Diffserv Codepoints Il gestore della rete definisce i servizi che vuole offrire e li associa ad uno degli DSCP QoS IN INTENET - 55 Classification Metering Shaping Marking Discarding E Diffserv domain A B E può ritardare pacchetti di alcuni flussi E può cambiare DSCP di alcuni pacchetti in base a classificazione e metering E può scartare alcuni pacchetti in base a classificazione e metering QoS IN INTENET - 56 Fornitura di servizi E E Diffserv domain A B Diffserv domain B uoli di B Supporta le stesse funzioni di E, ma per bande più elevate e traffico inter-dominio. Se necessario, ripete il marking se i domini A e B usano DSCP differenti (problemi B Per-Hop-Behavior (PHB) Insieme di regole coerenti che consentono di inoltrare i pacchetti in modo differenziato solamente in funzione del loro DSCP comportamento differenziato misurabile dall esterno, senza alcuna specifica sui meccanismi interni PHB definiti default (best effort) class selector expedited forwarding assured forwarding di mappatura tra i domini) QoS IN INTENET - 57 QoS IN INTENET - 58 Default PHB Servizio base Conforme a tradizionale servizio best-effort in Internet FC 2474 DSCP = 000000 (raccomandato) Class-Selector PHB Per mantenere compatibilità con gli schemi di IP-precedence implementati nella rete, si definisce un valore del DSCP del tipo xxx000 ove x valga 0 o 1. I codici di tipo xxx000 vengono anche detti Class-Selector Code Points. QoS IN INTENET - 59 QoS IN INTENET - 60
Class-Selector PHB Ad esempio, un pacchetto con DSCP=110000 (equivalente ad un valore di 110 negli schemi basati su IP-precedence) avranno un trattamento preferenziale rispetto a pacchetti aventi DSCP=100000. Le caratteristiche degli schemi basati su IPprecedence sono quindi conservate. Expedited Forwarding PHB FC 2598-4 classi: da garantita a besteffort Il tasso di servizio di ogni classe e`>= di un tasso specificato indipendentemente dalle altre classi (isolamento dei flussi) Definizione semplice Ottenibile con algoritmi a bassa complessita`(forse) QoS IN INTENET - 61 QoS IN INTENET - 62 Expedited Forwarding PHB EF puo essere implementato utilizzando il meccanismo di priority-queueing (PQ) insieme al meccanismo di rate-limiting basandosi sul tipo di classe. EF permette di definire un virtual-leased circuit oppure un servizio di tipo premium Il valore consigliato per il campo DSCP e 101110. QoS IN INTENET - 63 Assured Forwarding PHB FC 2597-4 classi X 3 priorita` di scarto = 12 DSCP Piu` complesso di EF-PHB Esprime le garanzie di servizio in termini di banda, ritardo, perdite e capacita` di memorizzazione Puo` essere usato come base per costruire servizi con QoS ben definita QoS IN INTENET - 64 Assured Forwarding PHB Simile al servizio Controlled Load Service presente nei modelli. Il traffico può essere suddiviso nelle seguenti classi: Gold: 50% della larghezza di banda allocata. Silver: 30% della larghezza di banda allocata. Bronze: 20% della larghezza di banda allocata. Assured Forwarding PHB Si possono inoltre definire quattro classi AF: AF1, AF2, AF3, AF4. Ad ogni classe viene assegnato una quantità specifica di memoria e larghezza di banda ad ogni interfaccia, conformemente alle specifiche SLA. Per ogni classe e possibile specificare tre drop-precedence. QoS IN INTENET - 65 QoS IN INTENET - 66
Assured Forwarding PHB Una classe puo essere specificata da un valore DSCP pari a xyzab0 ove xyz puo valere {001,010,011,100} mentre ab corrisponde al valore di drop precedence Speciali entita`chiamate Bandwidth Brockers (BB) scambiano informazioni e gestiscono le risorse definite con i PHB Gestione della rete??? QoS IN INTENET - 67 QoS IN INTENET - 68 equest For Comments FC 2474: Definizioni e Formati FC 2475: L architettura di principio FC 2597: Modelli di Servizio FC 2598: Modelli di Servizio FC 2638: Un architettura semplificata isola Una possibile soluzione backbone isola QoS IN INTENET - 69 + isola QoS IN INTENET - 70