QoS nella rete Internet
Transcript
QoS nella rete Internet
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 QoS nella rete Internet Andrea BIANCO [email protected] http://www.telematica.polito.it/ QoS IN INTERNET - 1 QoS IN INTERNET - 2 Primo Postulato Classificazione • Classificazione dei pacchetti (ai bordi della rete) • Avviene ai bordi della rete • Può essere fatta dagli host oppure da speciali dispositivi nei router di ingresso • Basata su: – 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 – indirizzi – applicazioni – servizi – utenti – contenuto QoS IN INTERNET - 3 QoS IN INTERNET - 4 Secondo Postulato Verificabilita` • Verificabilità dei contratti di traffico • Richiede 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 – Permette al fornitore di servizi di evitare frodi – Consente all’utente di controllare se il servizio ricevuto è conforme alle aspettative QoS IN INTERNET - 5 QoS IN INTERNET - 6 Pag. 1 QoS nella rete Internet Token Bucket Terzo Postulato • Isolamento dei diversi flussi token generati a tasso costante ogni T secondi dalla sorgente – 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 alla rete QoS IN INTERNET - 7 QoS IN INTERNET - 8 Isolamento dei flussi Quarto Postulato • Funzione da implementare nei router • Possibili algoritmi di accodamento: • Controllo di accesso (CAC) – Una nuova chiamata deve essere accettata dalla rete solo se: – Trunking (inefficiente) – Weighted Round Robin (WRR) – Weighted Fair Queueing (WFQ) • 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 INTERNET - 9 QoS IN INTERNET - 10 Controllo di accesso (CAC) Quinto Postulato • Elevato uso delle risorse. Motivazioni: • Segnalazione delle risorse disponibili • Segnalazione del servizio richiesto • Algoritmi per la valutazione della QoS attesa – 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 • Apparati che implementano in modo organico queste tre funzioni – Multiplazione statistica – QoS descritta in modo statistico – Algoritmi di inoltro dei pacchetti “work conserving” (WFQ, RR, WRR, PQ, CPQ) • Non tutti concordano su questo aspetto QoS IN INTERNET - 11 QoS IN INTERNET - 12 Pag. 2 QoS nella rete Internet Proposte IETF Buffer management nei router • Best-effort • Il trattamento dei pacchetti nelle code (buffer) dei router ha un effetto determinante sull’equità – Migliorare efficienza con politiche di scarto intelligenti • Architetture per QoS – Integrated Services • RSVP Output link – Differentiated Services • Bandwidth Brokers • Protocolli per supporto multi-media Algoritmo di accettazione Quando un pacchetto arriva da un link di ingresso di un router, l’algoritmo determina se il pacchetto può essere accettato QoS IN INTERNET - 14 QoS IN INTERNET - 13 Buffer management nei router Buffer management nei router • Due domande fondamentali • Obiettivi: controllare la quantità di pacchetti nel buffer per – Quando scartiamo un pacchetto? – Offrire equità ai flussi best-effort – Proteggere da flussi che non rispondono a segnalazioni di congestione – Raggiungere una buona utilizzazione del link di uscita • 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 QoS IN INTERNET - 15 è costante) QoS IN INTERNET - 16 DropTail buffer Buffer AQM • L’algoritmo più ovvio • Principio: quando il buffer è pieno, il pacchetto in arrivo viene scartato • Vantaggi: • 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 RED (Random Early Detection), – Facile da implementare – Limita le perdite con buffer di dimensioni elevate – ne esistono diverse versioni e varianti • Svantaggi: – Punisce indiscriminatamente tutti i flussi – Non è la soluzione migliore per TCP QoS IN INTERNET - 17 QoS IN INTERNET - 18 Pag. 3 QoS nella rete Internet Random Early Detection Random Early Detection • Implementabile in router con una singola coda logica • Si cerca di ottenere una bassa (ma non nulla) occupazione media del buffer • RED è stato proposto da Floyd, Jacobson e il suo uso è raccomandato nell’RFC 2309 • Implementato in molti router, es. da Cisco • Principio: – Basso ritardo per applicazioni multimedia e TCP – Utilizzazione efficiente del link di uscita – Rilevare 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 • Approssima una politica equa di scarto di pacchetti • Scarta pacchetti in modo “TCP friendly” – TCP reagisce male a perdite in blocco QoS IN INTERNET - 19 QoS IN INTERNET - 20 RED: principi di funzionamento RED: Algoritmo • Come si misura la congestione? 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 – 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 9 pmax 9 Min_th x Max_th 9 Evita di scartare pacchetti consecutivi di uno stesso flusso “punisce” statisticamente i flussi più presenti Evita sincronizzazione in flussi TCP QoS IN INTERNET - 21 QoS IN INTERNET - 22 RED: problemi RED: 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 pmax, rendendo RED instabile (Firoiu- • RED è essenzialmente un algoritmo di controllo ad anello chiuso – Se i flussi sono “non-responsive” (es, multimedia non adattativo), RED 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? Borden, Infocom’00) • Introduzione della variante “gentle RED” p(x) 1 pmax 2*Max_th Min_th Max_th x QoS IN INTERNET - 23 QoS IN INTERNET - 24 Pag. 4 QoS nella rete Internet Varianti AQM Architetture per QoS • IntServ • Varianti di RED: – FRED (Ling-Morris, SIGCOMM’97): contabilità dei flussi attivi per punire chi usa più banda – BRED (Anjum-Tassiulas, INFOCOM’99): Balanced RED punisce i flussi più presenti nel buffer – SRED (Lakshman-Wong, INFOCOM’99): Stabilized RED varia p(x) anche in funzione del numero di flussi attivi – DRED (Aweya et al., Computer Networks, 2001) varia p(x) secondo la distanza della coda da una soglia – RED-PD (Floyd) – Integrated Services • DiffServ – Differentiated Services • BLUE (http://thefengs.com/wuchang/blue/) QoS IN INTERNET - 25 QoS IN INTERNET - 26 Integrated Services 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) IntServ • Caratterizzazione del traffico tramite le specifiche vettoriali “T-spec” di ogni flusso • Caratterizzazione della QoS richiesta tramite specifiche vettoriali “R-spec” di ogni flusso • Problemi di scalabilita` IntServ QoS IN INTERNET - 27 QoS IN INTERNET - 28 Caratterizzazione del traffico e richieste di Qos Apertura di una chiamata • T-spec – insieme di parametri che descrivono il traffico che verrà iniettato in rete segnalazione hop-by-hop • R-spec – insieme di parametri che descrivono la QoS richiesta dal traffico (sempre associata ad una Tspec) • T-spec ed R-spec servono ai nodi per stabilire se ci sono abbastanza risorse per la nuova connessione IntServ IntServ QoS IN INTERNET - 29 Pag. 5 QoS IN INTERNET - 30 QoS nella rete Internet Servizio “Guaranteed Quality” Servizio “Controlled Load” • Fornisce un limite superiore assoluto e “dimostrabile” al ritardo che un pacchetto può esperire in un nodo • 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 – 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 IntServ flusso IntServ QoS IN INTERNET - 31 RSVP Resource ReSerVation Protocol RSVP: specifiche di progetto • Protocollo di segnalazione per IntServ • Fornisce un servizio di trasporto hop-by-hop direttamente su IP per i messaggi di segnalazione • Non specifica • 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 – protocolli di routing multicast – CAC – come i nodi prenotano le risorse – come i nodi forniscono la QoS richiesta IntServ QoS IN INTERNET - 32 – Basato sul concetto di “soft-state”: ogni prenotazione deve essere continuamente rinfrescata, altrimenti viene cancellata allo scadere di un contatore IntServ QoS IN INTERNET - 33 QoS IN INTERNET - 34 RSVP: sommario RSVP: operazioni • Esempio: audioconferenza multicast con una sorgente e molteplici “ricevitori” registrati • La sorgente invia messaggi PATH, (quasi) periodicamente, agli indirizzi dei ricevitori • Prenota risorse per un flusso dati per volta • E’ il ricevitore a decidere se prenotare, e quanto prenotare • I messaggi di controllo di RSVP (Es., le richieste di prenotazioni) sono propagati come datagram IP • Non occorre conferma end-to-end di avvenuta prenotazione (solo di fallimento) – T-spec (token rate, token bucket depth, minimum policed size, maximum packet size, peak rate, …) • Il ricevitore invia messaggi RESV seguendo il percorso inverso registrato nei messaggi PATH – – – – QoS IN INTERNET - 35 Pag. 6 T-spec R-spec tipo di servizio Intserv richiesto F-spec (filtro che caratterizza sottoinsieme di pacchetti QoS IN INTERNET - 36 per cui si fa prenotazione) QoS nella rete Internet RSVP: operazioni • I messaggi RESV, 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 RESV – se due o più messaggi RESV 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 TEARDOW IntServ QoS IN INTERNET - 37 RSVP: merging flusso dati IntServ QoS IN INTERNET - 38 Il soft state • RSVP gestisce i mutamenti di instradamento come se fossero la norma, non l’eccezione: messaggi di prenotazione “merged” – in assenza di cambi di percorso, messaggi PATH e RESV periodici “rinfrescano” lo stato di prenotazione ai nodi intermedi – quando si verificano cambiamenti, nuovi messaggi PATH identificano il nuovo cammino e nuovi messaggi RESV seguono – stati di prenotazione non “rinfrescati” scadono messaggi di prenotazione • Garanzia per tutta durata del flusso solo se routing non cambia QoS IN INTERNET - 39 QoS IN INTERNET - 40 Request For Comments IntServ: osservazioni • RFC 1633: Architettura generale • RFC 2210: RSVP - la segnalazione di IntServ • RFC 2211: Servizio “Controlled-Load” • RFC 2212: Servizio “Guaranteed Quality” • RFC 2215: Parametri e configurazioni • Scalabilità pessima • Ogni router deve mantenere informazione di stato per flussi di strato 4 – elaborazione messaggi RSVP in tutti i router – classificazione di tutti i pacchetti per ogni flusso – policing/queueing/scheduling per flusso • Richiede definizione precisa del traffico – difficile per alcune applicazioni IntServ QoS IN INTERNET - 41 QoS IN INTERNET - 42 Pag. 7 QoS nella rete Internet Differentiated Services 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 ISP • 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 RSVP R2 Cust3 Cust1 R3 Cust5 Backbone ISP R1 Cust2 BR2 BR1 ISP R4 BR3 Contratto x Mbps di best-effort ISP Cust7 R6 Cust9 R5 Cust8 QoS IN INTERNET - 43 QoS IN INTERNET - 44 Architettura core-and-edge 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 DiffServ network edge network core DiffServ QoS IN INTERNET - 45 • Rete divisa in due parti Router interni • Classificazione dei pacchetti (Primo Postulato) Border routers – classe di servizio è indicata esplicitamente in ogni pacchetto IP mediante marking fatto da Diffserv domain A Cust2 ER R Diffserv domain B R Edge routers Cust7 R ER QoS IN INTERNET - 46 Funzioni di bordo (edge functions) DiffServ: Architettura Cust2 network edge • cliente • edge router • border router BR BR • Condizionamento del traffico (Secondo Postulato) – Router interni semplici per funzionare ad alte velocità – Funzionalità complesse fornite solo ai nodi di bordo (border e edge routers) DiffServ DiffServ QoS IN INTERNET - 47 Pag. 8 QoS IN INTERNET - 48 QoS nella rete Internet Funzioni della parte interna (core functions) 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) • Commutazione e trasmissione dei pacchetti in base alla sola classe di servizio di appartenenza dei pacchetti – (per-hop-behavior) dalla sorgente alla rete classification DiffServ QoS IN INTERNET - 49 QoS IN INTERNET - 50 DiffServ: Packet Marking Condizionamento • Si ridefinisce la semantica del byte ToS nell’header del pacchetto IP VER HLEN TOS protocol • 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 0 1 2 3 4 5 6 7 total length F L A G Identification TTL DSCP CU fragment offset Riservato ad uso Futuro (ECN) header checksum DiffServ Code Point Usato per specificare come la Rete deve trattare il pacchetto Default DSCP 000000 Significa “best-effort” source IP address destination IP address DiffServ QoS IN INTERNET - 51 Condizionamento classification classification marking marking meter meter shaper • Il meter confronta le caratteritiche del flusso rispetto ad un contratto di traffico (traffic profile) (Quarto Postulato) classification marking meter shaper confine tra reti DiffServ dropper alla rete QoS IN INTERNET - 52 Condizionamento Meter + Shaper o Meter + Dropper meter alla rete marking DiffServ dropper alla rete DiffServ QoS IN INTERNET - 53 Pag. 9 dispositivo token bucket QoS IN INTERNET - 54 QoS nella rete Internet Fornitura di servizi DiffServ Fornitura di servizi DiffServ Cust2 Cust2 Cust2 Diffserv domain B ER R R ER Diffserv domain A La rete dà alcune garanzie - perdita di pacchetti entro un certo periodo - ritardo end-to-end in punti chiave - affidabilità della rete - ... R R ER Diffserv domain A BR Shaping Diffserv Codepoints Il gestore della rete definisce i servizi che vuole offrire e li associa ad uno degli DSCP Classification Marking Discarding Metering BR ER può ritardare pacchetti di alcuni flussi ER può cambiare DSCP di alcuni pacchetti in base a classificazione e metering ER può scartare alcuni pacchetti in base a classificazione e metering QoS IN INTERNET - 55 QoS IN INTERNET - 56 Per-Hop-Behavior (PHB) • Insieme di regole coerenti che consentono di inoltrare i pacchetti in modo differenziato solamente in funzione del loro DSCP Cust2 Diffserv domain B ER R R ER Diffserv domain A – comportamento differenziato misurabile dall’esterno, senza alcuna specifica sui meccanismi interni BR R BR • PHB definiti – default (best effort) – class selector – expedited forwarding DiffServ – assured forwarding Ruoli di BR Supporta le stesse funzioni di ER, ma per bande più elevate e traffico inter-dominio. Se necessario, ripete il marking se i domini A e B usano DSCP differenti (problemi di mappatura tra i domini) QoS IN INTERNET - 57 Default PHB QoS IN INTERNET - 58 Class-Selector PHB • Servizio base • Conforme a tradizionale servizio best-effort in Internet • RFC 2474 • DSCP = 000000 (raccomandato) DiffServ BR R Fornitura di servizi DiffServ Cust2 Diffserv domain B ER BR R Service Level Agreement Specifica, per ogni servizio supportato dal Dominio DiffServ la quantità di traffico che Cust2 può inviare in rete (eventualmente specificando la destinazione) Cust2 • 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 INTERNET - 59 QoS IN INTERNET - 60 Pag. 10 QoS nella rete Internet Class-Selector PHB Expedited Forwarding 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. • RFC 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) DiffServ QoS IN INTERNET - 61 Expedited Forwarding PHB QoS IN INTERNET - 62 Assured 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 • RFC 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 • Il valore consigliato per il campo DSCP e’ 101110. DiffServ QoS IN INTERNET - 63 Assured Forwarding PHB QoS IN INTERNET - 64 Assured Forwarding PHB • Simile al servizio Controlled Load Service presente nei modelli IntServ. • 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. • 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. QoS IN INTERNET - 65 QoS IN INTERNET - 66 Pag. 11 QoS nella rete Internet Assured Forwarding PHB Gestione della rete • Una classe puo’ essere specificata da un valore DSCP pari a xyzab0 Speciali entita`chiamate Bandwidth Brockers (BB) scambiano informazioni e “gestiscono” le risorse definite con i PHB – ove xyz puo’ valere {001,010,011,100} – mentre ab corrisponde al valore di drop precedence ? ? ? DiffServ QoS IN INTERNET - 67 Request For Comments • • • • • Una possibile soluzione RFC 2474: Definizioni e Formati RFC 2475: L’architettura di principio RFC 2597: Modelli di Servizio RFC 2598: Modelli di Servizio RFC 2638: Un’architettura semplificata DiffServ QoS IN INTERNET - 68 isola IntServ isola IntServ IntServ + DiffServ QoS IN INTERNET - 69 Pag. 12 backbone DiffServ isola IntServ QoS IN INTERNET - 70