Internet QoS
Transcript
Internet QoS
RETI INTERNET MULTIMEDIALI Internet Quality of Service Il documento è adattato da materiale cortesemente messo a disposizione dai Prof. Antonio Capone, Flaminio Borgonovo, Paolo Giacomazzi e Stefano Paris IL PROBLEMA DELLA QoS Cosa è la QoS La QoS (Quality of Service) è un indice di qualità che misura la rispondenza del livello di servizio rispetto alle attese dell’utente La QoS è associata ai servizi della rete ed ai corrispondenti flussi informativi ed è influenzata da Banda disponibile (compressione, rate di trasmissione) Ritardi Jitter (varianza) dei ritardi Packet dropping Blocking probability Set-up delay La QoS può essere definita in modo assoluto o relativo: Assoluto: definizione dei valori che devono essere rispettati da un insieme di parametri prestazionali (es. ritardo massimo, probabilità di perdita di pacchetti, … ) Relativo: definizione delle modalità di trattamento di una classe di traffico rispetto ad altre (es. livello di priorità di servizio, livello di priorità di scarto, …) La Banda E’ la velocità di trasferimento (elaborazione) dell’informazione E’ misurata in bit/s (byte/s, pacchetti/s,..) Può essere variabile nel tempo I sistemi trasmissivi fisici hanno banda costante nel tempo SDH-fibra -.. TX RX La Commutazione di Circuito Ritaglia un circuito a banda costante (64 kbit/s) end-to-end Ogni bit è trasferito con la stessa velocità (servizio sincrono) (quasi) nessun jitter La Commutazione di Pacchetto Trasferisce pacchetti (trame, celle, ..) ossia unità di più bit Il trasferimento è asincrono Le variazioni di traffico variano la banda disponibile I conflitti introducono ritardi variabili (jitter) Banda Variabile pkt/sec picco media t Si definiscono Banda media Banda di picco etc. Banda Variabile banda di generazione del flusso b rete a banda B La rete introduce variabilità anche nei flussi costanti B banda media b Modello di nodo di rete QoS in Internet Attualmente il funzionamento di Internet e di larga parte delle reti IP è basato sulla modalità primitiva: best-effort Nessuna garanzia di consegna (ritardo, fedeltà, certezza, …) La chiave del successo dell’IP best-effort è la semplicità e finora ha prevalso la pratica di potenziare le risorse di rete senza intervenire sulla modalità nativa per fronteggiare l’esigenza di crescita di traffico e di integrazione di servizi con requisiti di consegna Questa affermazione vale per Internet, mentre nelle reti IP per le aziende si sono sviluppate le tecniche proposte per arricchire le reti IP di garanzia di qualità (IP MPLS, IP diffserv, IP intserv, …) La richiesta di qualità nelle reti IP cresce e si sono sviluppate soluzioni, standard e prodotti Requisiti di QoS e Servizi Disponibilità Un requisito tipico delle reti di comunicazioni è la disponibilità: • percentuale di tempo in cui il servizio di rete eroga la funzionalità attesa in modo corretto • Tipicamente espressa con livelli di disponibilità contrattualizzati in Service Level Agreement (SLA) specificati in percentuale (es. 99,99%) Per numerosi servizi di comunicazione sono richieste prestazioni minime di qualità (requisiti) più specifici per indici di qualità che riguardano: Ritardo di consegna e varianza del ritardo di consegna (jitter) Volume di dati consegnati nell’unità di tempo (throughput) Tasso di perdita (Loss) Rispetto della sequenza nella consegna dei dati Servizi real-time ed elastici I servizi real-time sono sensibili al ritardo (assoluto e varianza), al throughput ed alla perdita di dati Per questi servizi, la consegna tardiva di un dato è superflua e la ritrasmissione del dato non è praticabile perché incompatibile con gli obiettivi di ritardo Es. VoIP I servizi elastici sono più tolleranti e robusti rispetto al ritardo di consegna, ma tipicamente meno tolleranti rispetto alla perdita e si prestano al riscontro di avvenuta corretta consegna (ACK) e alla eventuale ritrasmissione Servizi real-time playback Una classe importante dei servizi real-time è definita come playback (RFC 1633) e raggruppa i casi in cui la sorgente pacchettizza flussi di dati continui che vengono consegnati con ritardo variabile dalla rete In ricezione viene introdotta una funzione di buffering che consente di compensare la variabilità dei ritardi, svuotando il buffer con un tasso costante Viene definito punto di playback il ritardo fisso che viene introdotto tra il tempo di partenza del pacchetto alla sorgente e il tempo in cui il pacchetto viene estratto dal buffer I dati che arrivano prima che scada il relativo punto di playback possono essere usati per ricostruire il flusso, mentre i dati che arrivano oltre il punto di playback sono inutilizzabili per la costruzione del flusso Il valore dell’offset di ritardo usato per determinare il punto di playback richiede una valutazione del tempo massimo di consegna dei dati (upper delay bound) Latenza e fedeltà La prestazione di servizi real-time playback si caratterizza secondo due indicatori: Latenza Fedeltà I servizi intolleranti non ammettono violazioni dei requisiti di playback in modo assoluto e stringente (es. emulazione di circuito) IETF ha proposto un trattamento del traffico IP in grado di garantire un bound sul ritardo (Guaranteed Service Class) proprio per i servizi intolleranti I servizi tolleranti ammettono violazioni lievi dei requisiti di playback (es. VoIP e video streaming) IETF ha proposto un trattamento del traffico IP in grado di garantire un limite più lasco sul ritardo di consegna (Predictive Service Class) L’imposizione di obiettivi prestazionali meno stringenti favorisce maggiore efficienza nell’uso delle risorse di rete Servizi elastici I servizi elastici sono caratterizzati da non imporre esigenze particolari in termini di ritardo di consegna (valore assoluto e varianza) In questo caso i dati consegnati possono essere immediatamente utilizzati dall’applicazione ricevente che attende la consegna dei dati e non necessita di memorie tampone La prestazione di questi servizi è legata al tempo medio di consegna più che alla coda della statistica del ritardo di consegna Email, trasferimento file e navigazione Internet richiedono un servizio elastico ITU-T G.1010: End-user multimedia QoS categories La raccomandazione ITU-T G.1010 definisce una mappa dei requisiti QoS con riferimento all’esigenza d’utente Packet Loss 5% Conversational voice and video 0% Zero loss 100 ms Command /control (e.g. Telnet, Interactive games) Voice/video messaging 1s Transactions (e.g. E-commerce, Web-browsing, E-mail access) Streaming audio/video 10 s Messaging, Downloads Fax Delay 100 s Background (e.g. Usenet) (e.g. FTP, still image) T1213050-02 ITU-T G.1010: End-user multimedia QoS categories La raccomandazione ITU-T G.1010 fornisce anche un modello della QoS con riferimento all’esigenza d’utente Error tolerant Conversational voice and video Voice/video messaging Streaming audio and video Fax Error intolerant Command/control (e.g. Telnet, interactive games) Transactions (e.g. E-commerce, WWW browsing, Email access) Messaging, Downloads (e.g. FTP, still image) Background (e.g. Usenet) Interactive (delay <<1 s) Responsive (delay ~2 s) Timely (delay ~10 s) Non-critical (delay >>10 s) T1213060-02 ITU-T G.1010: End-user multimedia QoS categories Table I.1/G.1010 – Performance targets for audio and video applications Application Medium Audio Audio Conversationa l voice Voice messaging Degree of symmetry Two-way Typical data rates 4-64 kbit/s Key performance parameters and target values One-way delay Delay variation Information loss (Note 2) <150 ms < 1 ms < 3% packet loss ratio (PLR) < 1 ms < 3% PLR << 1 ms < 1% PLR preferred (Note 1) Primarily one-way 4-32 kbit/s <400 ms limit (Note 1) < 1 s for playback Other < 2 s for record Audio High quality streaming audio Primarily one-way 16-128 kbit/s Video Videophone Two-way 16-384 kbit/s Video One-way One-way 16-384 kbit/s < 10 s (Note 3) < 150 ms preferred (Note 4) <400 ms limit < 10 s < 1% PLR Lipsynch: < 80 ms < 1% PLR NOTE 1 – Assumes adequate echo control. NOTE 2 – Exact values depend on specific codec, but assumes use of a packet loss concealment algorithm to minimise effect of packet loss. NOTE 3 – Quality is very dependent on codec type and bit-rate. NOTE 4 – These values are to be considered as long-term target values which may not be met by current technology. ITU-T G.1010: End-user multimedia QoS categories Table I.2/G.1010 – Performance targets for data applications Medium Application Typical amount of data Key performance parameters and target values One-way delay (Note) Delay variation Information loss Preferred < 2 s /page N.A. Zero ~10 KB – HTML Primarily oneway Data Bulk data transfer/retrieval Primarily oneway 10 KB-10 MB Preferred < 15 s N.A. Zero Data Transaction services – Two-way high priority e.g. e-commerce, ATM < 10 KB Acceptable < 60 s Preferred < 2 s N.A. Zero Data Data Command/control Still image Two-way One-way ~ 1 KB < 100 KB < 250 ms Preferred < 15 s N.A. N.A. Zero Zero Data Data Interactive games Telnet Two-way Two-way (asymmetric) Primarily oneway < 1 KB < 1 KB Acceptable < 60 s < 200 ms < 200 ms N.A. N.A. Zero Zero < 10 KB Preferred < 2 s N.A. Zero N.A. Zero N.A. <10-6 BER N.A. <10-6 BER N.A. Zero N.A. Zero Data Web-browsing Degree of symmetry E-mail (server access) Data Data E-mail (server to server transfer) Fax ("real-time") Acceptable < 4 s /page Acceptable < 4 s Acceptable < 4 s Can be several minutes < 30 s/page Primarily one< 10 KB way Primarily oneData ~ 10 KB way Can be several Data Fax (store & forward) Primarily one~ 10 KB way minutes Low priority Primarily oneData < 10 KB < 30 s transactions way Primarily oneCan be 1 MB or Can be several Data Usenet way more minutes NOTE – In some cases, it may be more appropriate to consider these values as response times. RFC 4595 “Configuration Guidelines for DiffServ Service Classes” http://tools.ietf.org/html/rfc4594 RFC 4595 “Configuration Guidelines for DiffServ Service Classes” http://tools.ietf.org/html/rfc4594 RFC 4595 “Configuration Guidelines for DiffServ Service Classes” http://tools.ietf.org/html/rfc4594 Prestazioni Quale banda B assegnare al flusso b? Se B < b si perdono pacchetti in rete Se B > b si hanno ritardi tanto minori quanto più grande è B B banda media b Prestazioni Problema: quale banda B occorre assegnare per garantire i ritardi? Non esiste una risposta univoca Dipende dal tipo di flusso Modello di Arrivi di Poisson Il modello degli arrivi di Poisson consente di calcolare i ritardi medi e i percentili In particolare, dalla Pollaczek-Khinchin (P-K) Formula per code M/G/1), il ritardo medio è dato da: T = tempo di trasmissione dei pacchetti b = banda media del flusso B = banda costante del canale 2 = varianza del tempo di servizio T T2 T Wm 1 2 2T T Ritardo medio Wm b B T 1 r il ritardo massimo non è garantito Burstiness I flussi reali si scostano dal modello di Poisson Traffico “bursty” Traffico Poisson Per indagare i ritardi occorre definire la “variabilità” (burstiness) (si può fare solo in modo approssimato) Traffic Conditioning Agreement e Service level Agreement Un provider di servizi IP a qualità garantita deve preliminarmente stabilire con il cliente due “contratti”: il Traffic Conditioning Agreement (TCA) e il Service Level Agreement (SLA) Lo SLA specifica la QoS che il provider si impegna a garantire al cliente per uno specifico insieme di flussi di traffico Non è possibile, né sensato ipotizzare che l’impegno del provider sulla garanzia dello SLA possa prescindere dalla quantità di traffico generata dal cliente Il TCA specifica il profilo di traffico, inteso come il limite superiore del traffico offerto dal cliente per cui il provider assicura l’impegno ad onorare lo SLA Dato un flusso, la parte del traffico conforme al TCA si chiama traffico IN o traffico conforme La parte di traffico che eccede il TCA viene chiamata traffico OUT o nonconforme Policing, shaping e marking Il provider deve garantire lo SLA solo per il traffico conforme, mentre possono essere effettuate diverse strategie di trattamento per il traffico non conforme Infatti, il provider deve proteggere gli SLA dei flussi conformi in rete dagli eccessi di traffico che possono essere immessi da un cliente in violazione del proprio TCA Se non si intervenisse sui traffici eccedenti il TCA si potrebbero generare condizioni di sovraccarico delle risorse di rete che comprometterebbero gli SLA del traffico conforme Esempi di trattamento del traffico OUT: Policing: il traffico OUT viene scartato Shaping: il traffico OUT viene ritardato in modo da attribuire un comportamento conforme al TCA Marking:il traffico OUT viene offerto alla rete con un contrassegno che in caso di congestione viene eliminato con priorità rispetto al traffico non contrassegnato Allocazione delle risorse La capacità del provider di garantire gli SLA per flussi o aggregati di flussi si fonda sulla riservazione di un adeguato ammontare di risorse di rete La quantità adeguata di risorse dipende sia dai TCA e dagli SLA dei flussi che condividono ogni risorsa di rete (in particolare ogni linea) Le risorse riservate sono allocate per il traffico conforme L’accettazione in rete di traffico non conforme, ad allocazione di risorse avvenuta sulla base dell’insieme di TCA e SLA, è rischiosa perché il traffico non conforme potrebbe consumare risorse in misura tale da compromettere la capacità di garantire gli SLA L’accettazione in rete di traffico non conforme è operazione delicata; può essere fatta marcando il traffico in violazione della conformità per renderlo predisposto allo scarto in caso di sovraccarico delle risorse (priorità nello scarto) o attribuire priorità inferiore rispetto al servizio (il traffico non conforme vene servito solo dopo il traffico conforme) Traffic Conditioning Agreement Il TCA può includere una varietà di parametri che caratterizzano il traffico conforme e non conforme Tali parametri includono usualmente: Velocità o Tasso di picco (Peak rate) Velocità o Tasso medio (Average rate) Massima lunghezza del burst: massimo numero di pacchetti consecutivi trasmessi alla velocità di picco del flusso Lunghezza massima dei pacchetti Lunghezza minima dei pacchetti IL TCA specifica il profilo statistico del traffico conforme Regolatore del traffico all’ingresso Stabilito per un flusso il TCA e lo SLA, il traffico offerto alla rete viene esaminato da un Regolatore che distingue il traffico in almeno due flussi (traffico conforme e traffico non conforme al TCA) Il trattamento del traffico non conforme distingue i diversi tipi di regolatore Regolatore Utente Rete Traffico Conforme Traffico NON Conforme Regolatore del traffico all’ingresso POLICER Regolatore Utente Rete Traffico Conforme Traffico NON Conforme SCARTO SHAPER MARKER Regolatore Utente Rete Traffico Conforme Regolatore Utente Rete Traffico Conforme Traffico NON Conforme Traffic conditioner Un traffic conditioner può comprendere i seguenti elementi: meter, marker, shaper e dropper Un flusso di traffico viene trattato da un classifier che veicola i pacchetti a un traffic conditioner, dopo aver individuato il flusso a cui appartiene ogni pacchetto entrante, determinando la classe di servizio con cui verrà trattato Un meter misura il traffico con riferimento ad un profilo di traffico specificato dal TCA e in base all’andamento nel tempo del traffico può determinare il marking dei pacchetti, lo scarto o lo shaping Traffic Conditioner Meter Shaper Classifier Dropper Marker Policing Il token bucket policing regulator ha un serbatoio di crediti (token) con dimensione massima k [unità di traffico]: token bucket size L’unità di misura di k può essere bit, byte o pacchetti Il serbatoio dei crediti viene incrementato ogni 1/r s, dove r è il token rate (tasso di generazione dei token) Il dispositivo ammette il passaggio di una unità di traffico offerta (bit, byte o pacchetto) se il serbatoio dei crediti contiene dei token (il contatore viene decrementato in ragione delle unità di credito corrispondenti alle unità di traffico ammesse) Se al contrario il serbatoio non dispone di crediti, le unità di traffico trattate dal regolatore vengono scartate r k X(t) Shaping Il serbatoio dei crediti di uno shaping regulator opera come nel caso del policer Un unità di traffico passa direttamente attraverso il regolatore se al suo arrivo il serbatoio ha capienza idonea e il buffer di ingresso è vuoto Altrimenti se il buffer non è vuoto e/o il serbatoio di token non ha capienza idonea, l’unità di traffico viene trattenuta nel buffer di ingresso Quando il buffer di ingresso non è vuoto, una unità di traffico viene prelevata e inoltrata non appena viene generata capienza idonea nel token X(t) bucket I parametri r e k di policer e shaper hanno significato fisico intuitivo: Il parametro r controlla il tasso medio del traffico che passa in regolatore, poiché l’uscita non può ammettere più di r unità di traffico al secondo in media Il parametro k controlla la lunghezza dei burst r k ∞ I regolatori policer e shaper implementano una funzione vincolo La funzione vincolo è la retta k+rt e rappresenta il numero massimo di unità di traffico corrispondenti al traffico conforme che il regolatore lascia passare in rete In un periodo di tempo di durata t, il massimo traffico conforme che il regolatore lascia passare è uguale a k+rt Il traffico in eccesso è non conforme ed è trattato in modo diverso da policer e shaper Traffico cumulativo Funzione vincolo Traffico non conforme (OUT o rosso) k t Traffico conforme (IN o verde) Un policer scarta il traffico non conforme In questo modo, solo il traffico conforme entra in rete La curva cumulativa in grassetto indica il risultato dell’operazione di policing, ossia il profilo del traffico conforme cumulato che entra in rete Il pattern di traffico è un Linearly Bounded Arrival Process (LBAP) Traffico cumulativo Comportamento del policer Traffico non conforme (OUT o rosso) k t Traffico conforme (IN o verde) Traffico conforme inoltrato dal policer Uno shaper trattiene il traffico non conforme nel buffer e lo serve appena sono disponibili token in conformità con il vincolo upper boound LBAP per il traffico cumulato Lo shaper elimina la perdita di pacchetti all’ingresso ma aggiunge ritardo Il policer praticamente non introduce ritardo ma causa perdita di pacchetti Traffico cumulativo Comportamento dello shaper k t Traffico conforme (IN o verde) Un token bucket marker lavora come un policer ma non scarta il traffico non conforme Il traffico non conforme viene marcato e inoltrato in rete In caso di congestione i pacchetti marcati possono essere scartati prima del traffico conforme Traffico cumulativo Marker Traffico non conforme (OUT o rosso) k t Traffico conforme (IN o verde) Banda media e di picco Il tasso di arrivo dei crediti (token) definisce il tasso medio del traffico offerto alla rete r Se consideriamo un tasso di r unità di traffico (bit/byte/pacchetti al secondo) al secondo ammesse in rete, il traffico medio offerto usualmente si indica come la «banda media» e viene indicato con b (misurato in bit/s) k X(t) p r La «banda di picco», indicata con p (misurata in bit/s) indica il tasso massimo di traffico offerto alla rete Corrisponde alla velocità della linea (velocità del servente) Ovviamente b<p b b k X(t) ∞ p Traffico «bursty» La presenza del serbatoio di crediti consente al traffico che viene generato dalla sorgente di essere ammesso in rete ad una velocità maggiore della banda media Il traffico offerto alla rete assume pertanto un profilo tipicamente discontinuo che si presenta con «raffiche» (o «burst» di traffico) alternate a periodi di inattività I regolatori controllano la banda media b=r, la banda di picco p>b e la durata massima del burst L Sussiste la relazione seguente: pL k bL r b k X(t) p r b k X(t) ∞ k L p b p Modello token-bucket completo Si introducono alcuni parametri addizionali: Minimum Policed Unit (m): il policer deve rimuovere almeno m token per ogni pacchetto conforme (riduce l’overhead di processing per pacchetto e limita l’overhead dell’header costringendo i pacchetti ad essere almeno di lunghezza m (byte)) Maximum Policed Unit (M): il pacchetto di dimensione massima + lungo M byte La quantità di dati offerta alla rete nel tempo T: • 𝑫 𝑻 ≤ 𝒎𝒊𝒏 (𝒑𝑻 + 𝑴, 𝒓𝑻 + 𝒌) p r Token presenti quando arriva il pacchetto = x1 x1 Arriva pacchetto X <x ? 1 lungo X k Si: x1 = x1 - X No: pacchetto non conforme Token presenti quando arriva il pacchetto = x2 x2 X <x2 ? M Si: x2 = x2 - X No: pacchetto non conforme Modello token-bucket completo La quantità di dati offerta alla rete nel tempo rappresenta la «curva degli arrivi»: • 𝜶 𝒕 ≤ 𝒎𝒊𝒏 (𝒑𝒕 + 𝑴, 𝒓𝒕 + 𝒌) Se consideriamo il «fixed delay server» come il modello di servizio che introduce un ritardo Td (pacchettizzazione ed altre elaborazioni nel router) e ha un tasso di servizio a velocità B (bit/s) sulla linea si ottiene la «curva di servizio»: • 𝜷𝑩, 𝑻𝒅 𝒕 = 𝑩 𝒕 − 𝑻𝒅 + = 𝑩 𝒕 − 𝑻𝒅 𝒔𝒆 𝒕 > 𝑻𝒅 𝟎 𝒂𝒍𝒕𝒓𝒊𝒎𝒆𝒏𝒕𝒊 slope r arrival curve bits service curve b k dmax Bmax M slope p slope B t Td Modello token-bucket completo Il valore massimo del backlog Bmax è dato da: • 𝑩𝒎𝒂𝒙 = 𝒌 + 𝒓 ∗ 𝒎𝒂𝒙 ( 𝒌 − 𝑴)/(𝒑 − 𝒓) 𝑻𝒅 Il valore massimo del ritardo dmax è: 𝒌−𝑴 • 𝒅𝒎𝒂𝒙 = 𝑴+ 𝒑−𝒓 𝒑−𝑩 + 𝑩 + 𝑻𝒅 slope r arrival curve bits service curve b k dmax Bmax M slope p slope B t Td Risultati per modello Token Bucket Il traffico è caratterizzato da k, p, b, e da M (maximum policed unit) e m (minimum policed unit) Si riesce a controllare il ritardo massimo WM usando banda B k M pB M C WM D B p b B B se B p M C D B B se B p tiene conto del burst http://www.ietf.org/rfc/rfc2212.txt WM C e D costanti Risultati per modello Token Bucket Bound WM ritardo b Bm p B Fissato il massimo ritardo ammissibile si può ricavare il minimo B (Bm) che lo garantisce Problema: Bm è molto spesso molto più grande di b Single-rate three-color marker (srTCM) Il Single Rate Three Color Marker (srTCM) può essere usato come regolatore del traffico nel modello Diffserv proposto da IETF Il regolatore srTCM misura un flusso di traffico e marca i pacchetti secondo tre parametri del profilo di traffico Committed Information Rate (CIR) (green) Committed Burst Size (CBS) (yellow) Excess Burst Size (EBS) (red) Un pacchetto viene marcato come green se non eccede il CBS, yellow se eccede il CBS ma non l’EBS, red altrimenti Il regolatore può operare sia in condizioni in cui è consapevole di marcature precedenti o meno, operando in ogni caso la rimarcatura in base alla propria misura La marcatura viene inserita nel campo DS dell’intestazione del pacchetto IP, conformemente al Per-Hop-Behaviour del flusso Impiego del srTCM Il CIR si misura in bit/s (byte/s) e include l’intestazione IP, ma non l’intestazione del livello data-link CBS e EBS sono misurati in bit (byte) e vanno configurati in modo che almeno uno dei due sia >0 e >= la dimensione del pacchetto di dimensione massima generato dal flusso IP I contatori dei token dei due serbatoi CBS e EBS Tc e Te sono aggiornati con una cadenza di CIR volte al secondo: Se Tc<= CBS, Tc si incrementa di 1 altrimenti se Te <EBS, Te si incrementa di 1, altrimenti Tc e Te non vengono incrementati Token CBS Flusso non colorato srTCM operante in blind-mode EBS Flussi colorati Token CBS Flussi colorati srTCM operante in color-aware mode EBS Flussi colorati srTCM blind-mode Quando un pacchetto di dimensione X byte arriva al tempo t, se il regolatore srTCM è configurato in blind-mode: Se Tc(t)-X >= 0, il pacchetto è green e Tc si decrementa di X fino al valore minimo pari a 0, altrimenti se Te(t)-X >= 0, il pacchetto è yellow e Te si decrementa di X fino al valore minimo 0, altrimenti Il pacchetto è red e Tc e Te non vengono decrementati Token CBS Flusso non colorato srTCM operante in blind-mode EBS Flussi colorati srTCM color-aware-mode Quando un pacchetto di dimensione X byte arriva al tempo t, se il regolatore srTCM è configurato in color-aware-mode: Se il pacchetto è precolorato green e Tc(t)-X >= 0, il pacchetto è green e Tc si decrementa di X fino al valore minimo 0, altrimenti se il pacchetto è precolorato green o yellow e se Te(t)-X >= 0, il pacchetto è yellow e Te si decrementa di X fino al valore minimo 0, altrimenti il pacchetto è red e Tc eTe non vengono decrementati Token CBS Flussi colorati srTCM operante in color-aware mode EBS Flussi colorati Two-rate three-color marker (trTCM) Il Two-Rate Three Color Marker (trTCM) può essere usato come regolatore del traffico nel modello Diffserv proposto da IETF Il regolatore srTCM misura un flusso di traffico IP e marca i pacchetti sulla base di due data rate: Peak Information Rate (PIR) Committed Information Rate (CIR) I burst di traffico associati possono essere contrassegnati come: Green Yellow Red Un pacchetto è marcato Red se eccede il PIR Altrimenti viene marcato come green o yellow se rispetta o eccede il CIR rispettivamente Two-rate three-color marker (trTCM) Il trTCM viene configurato rispetto all’operatività su flussi in ingresso indistinti o colorati (color-blind o color-aware) e assegnando valori a quattro parametri: Peak Information Rate (PIR) e l’associato Peak Burst Size (PBS) Committed Information Rate (CIR) e l’associato Committed Burst Size (CBS) PIR e CIR sono misurati in byte al secondo, comprendendo l’header IP ma non le intestazioni del livello di linea PIR deve essere maggiore o uguale a CIR PBS e CBS sono misurati in byte e devono essere maggiori di 0 Si raccomanda che siano maggiori o uguali al pacchetto IP di dimensione massima trTCM Il comportamento del Meter è specificato con il funzionamento dei due token bucket con i rate CIR e PIR La massima dimensione del token bucket a rate PIR è PBS e la massima dimensione del token bucket a rate CIR è CBS Inizialmente i due token bucket sono pieni, Tp(0) = PBS e Tc(0) = CBS Successivamente il contatore Tp è incrementato di uno PIR volte al secondo fino a PBS Il contatore Tc è incrementato di 1 CIR volte al secondo fino a CBS Il trTCM opera in blind-mode quando considera il flusso in ingresso non colorato Token a rate CIR CBS Flusso non colorato Token a rate PIR PBS Flussi colorati trTCM operante in blind-mode trTCM blind-mode Quando un pacchetto di dimensione X byte arriva al tempo t, il trTCM configurato in blind-mode opera come segue: Se Tp(t)-X < 0, il pacchetto è marcato red, altrimenti se Tc(t)-X < 0, il pacchetto è marcato yellow e Tp viene decrementato di X, altrimenti Il pacchetto viene marcato come green e sia Tp che Tc sono decrementati di X Token a rate CIR CBS Flusso non colorato Token a rate PIR PBS Flussi colorati trTCM operante in blind-mode trTCM color-aware-mode Quando un pacchetto di dimensione X byte arriva al tempo t, se il regolatore trTCM è configurato in color-aware-mode: Se il pacchetto è precolorato red o se Tp(t)-X < 0, il pacchetto è marcato come red, altrimenti se il pacchetto è precolorato yellow o se Tc(t)-X < 0, il pacchetto è marcato yellow e Tp viene decrementato di X, altrimenti il pacchetto è marcato green e Tp e Tc vengono decrementati di X Token a rate CIR CBS Flussi colorati Token a rate PIR trTCM operante in color-aware mode PBS Flussi colorati trTCM operante in blind-mode Token a rate CIR CBS Flusso non colorato Token a rate PIR Traffico cumulativo trTCM blind-mode PBS Flussi colorati PBS/PIR t STRUMENTI PER GARANTIRE LA QoS Strumenti per garantire la QoS Per garantire la QoS servono strumenti di identificazione dei flussi (label, virtual circuit, etc.) … flusso 1 Label 1 informazione Label 1 informazione flusso 2 Label 2 informazione Label 2 informazione Strumenti per garantire la QoS … e servono strumenti per suddividere la banda nei router (tecniche di scheduling) Scheduler Strumenti per garantire la Banda Per garantire la banda occorrono strumenti per fissare i cammini in rete Garantire la Banda in modo dinamico Occorrono meccanismi di controllo delle risorse (CAC: Call Admission Control) che possano rifiutare la richiesta se la banda non è disponibile … STOP Garantire la Banda in modo dinamico ... e meccanismi di segnalazione delle risorse di rete (banda disponibile sui vari cammini) Controllo del traffico immesso Il traffico immesso non è vincolato dal mezzo fisico è spesso variabile, con banda media b minore di quella di linea p (picco) i contratti tengono conto della media e del picco (lunghezza del burst) Strumenti di Policing Per evitare che la banda venga sottratta occorrono strumenti di policing che controllino il traffico immesso verifichino la conformità alle risorse prendano provvedimenti in caso di violazione Viola il contratto Packet discarding Over-provisioning Se la banda fosse infinita… … la QoS non sarebbe un problema La banda non è infinita (ha un costo) Le richieste fluttuano nel tempo (si dimensiona sul picco?) Le richieste crescono col tempo (previsioni?) Le richieste prima o poi generano conflitti che causano perdita di QoS e trattamento iniquo dei flussi (unfairness) Traffic Engineering Con il CAC la QoS può essere garantita su qualunque rete Basta limitare il traffico ammesso a un livello sufficientemente basso Ma il traffico troppo basso scontenta i gestori Per questo in aggiunta si usano strumenti di traffic engineering che consentono di sfruttare meglio le risorse e quindi di spostare il livello di traffico a cui far intervenire il CAC a valori più elevati SUDDIVISIONE DELLA BANDA Scheduling Strumenti per suddividere la banda nei router (tecniche di scheduling) Scheduler Time Division Multiplexing Code a ogni “giro” (3 slot) Corrispondenza rigida fra time-slot e code 3 2 1 3 2 1 2 3 2 1 3 2 1112 2 32 3 t Non consente il riutilizzo di risorse non usate da un flusso Round Robin (Fair Queuing) Suddivisione dinamica ed uguale della banda ottenuta trasmettendo un pacchetto per ogni flusso ciclicamente Code a ogni “giro” Non vengono sprecati slots 3 2 1 3 2 1 2 3 2 1 3 2 1112 2 32 3 t Weighted Fair Queuing Suddivisione dinamica e proporzionale della banda ottenuta trasmettendo Ki pacchetti per ogni flusso “i” in modo pseudo ciclico. Code ogni 4 slot : proporzione 2-1-1 5 3 1 4 2 1 2 3 2 1 3 2 1211 3 42 523 t Risultati per modello Token Bucket Il traffico è caratterizzato da k, p, b, e da M (maximum policed unit) e m (minimum policed unit) Si riesce a controllare il ritardo massimo W usando Weighted Fair Queueing che assegna banda B k M pB M C W D B p b B B se B p M C D B B se B p W http://www.ietf.org/rfc/rfc2212.txt C e D costanti che dipendono dal tipo di algoritmo usato C e D sono termini di errore che tengono conto della massima deviazione rispetto al modello teorico fluidico - C tiene conto della trasmissione a pacchetto nello scheduler WFQ e dell’overhead degli strati inferiori - D tiene conto del tempo di attesa massimo per la trasmissione di un pacchetto (es. canale slotted) Suddivisione della Banda I pacchetti sono unità intere di lunghezza variabile La suddivisione è quantizzata a pacchetti di lunghezza variabile E’ complicato suddividere esattamente Si introducono ritardi e jitter Priorità di Servizio Suddivisione dinamica preferenziale della banda. Non garantisce le priorità inferiori Servizio esaustivo ogni slot: priorità alta media bassa 3 2 3 3 2 1 1 2 2 1 2 2 1 1 1 1 1 2 2 2 2 2 1122 1 2 33 t Priorità nelle LAN Lo standard IEEE 802.1Q (VLAN) introduce campi di priorità anche per 802.3 e 802.11 (che non servono per l’accesso multiplo) byte 7 Sync 1 6 SD Destinaz. 6 2 Sorgente 2 0-1500 Length Type payload 2 Tag type(0x8100) Tag Control Inf. 4 802.3 FCS 2 2-30 Length/type RIF (facolt.) byte Routing Information Field (RIF) 3 PCP 1 DE Priority Code Point (PCP) –IEEE 802.1p Drop Eligible (DE) VLAN Identifier (VID) 12 VID bit Priorità nelle LAN Fino a 8 priorità di servizio sono state standardizzate in 802.1Q Mappano le priorità della trama MAC Queste sono impostate al momento dell’incapsulamento dei livelli superiori in base alle priorità di questi o alla VLAN di appartenenza o al tipo di traffico trasportato (livelli 4) Priorità e Scheduling Priorità e scheduling vengono effettuate sulla base di pacchetti interi non si possono interrompere le trasmissioni Se i pacchetti in trasmissione sono lunghi gli altri ne subiscono il ritardo Priorità di Servizio Esempio: Rosso alta priorità Effetto di un pacchetto verde lungo e di due verdi di lunghezza metà trasmissione LP HP attesa trasmissione LP HP attesa LP Trasmissione delle Trame 64 kbit/s 1500 Byte (max Ethernet) 40 Byte (voce) 187.5 ms 5 ms 128 kbit/s 93.75 ms 2.5 ms 512 kbit/s 23.4 ms 0.625 ms 2 Mbit/s 6 ms 0.16 ms 10 Mbit/s 1.2 ms 0.033 ms Necessità di frammentare su link poco veloci Modalità di Frammentazione Ridurre la lunghezza di tutte le trame IP porta ad enormi inefficienze Si possono frammentare trame a livello IP solo su connessioni lente. Ma poi IP le ricostruisce solo al destinatario Occorre un meccanismo a livello 2 sulle connessioni lente che possa frammentare le trame lunghe in trasmissione e che le ricomponga in ricezione IP IP Frammentazione Frammentazione Linea (HDLC) Linea (HDLC) Il protocollo Multilink PPP http://tools.ietf.org/html/rfc1990 Layer 3 NCP-2 NCP-1 + 2 byte Frammentazione e Layer 2 inverse multiplexing LCP-1 MLCP + 6 byte LCP-2 LCP-3 + 6 byte Layer 1 Il protocollo Multilink PPP Gli strati LCP e MLCP incapsulano nella loro trama il SAP del sottostrato superiore, cosicché in ricezione la catena viene ripercorsa a rovescio fragment fragment fragment 2 PROTOCOL 2 PROTOCOL = 003d Information 1 B E 1 Address 1 Control Information 3 N SN Information Information http://tools.ietf.org/html/rfc1990 0-1500 2 Information FCS Utilizzo proprietario del protocollo PPP VOCE (alta priorità) Layer 3 Dati (bassa priorità) NCP NCP Frammentazione Layer 2 LCP Alta priorità Layer 1 MLCP LCP Scheduler Bassa priorità IL CONTROLLO D’ACCESSO Call Admission Control Definizione ITU-T Raccomandazione I.371 («Traffic control and congestion control in B ISDN») Insieme delle azioni intraprese da una rete durante la fase di instaurazione (set-up) di una connessione (flusso, canale virtuale, …), o in fase di ri-negoziazione di una connessione, allo scopo di stabilire se la richiesta possa essere accettata Lo scopo della procedura di CAC è quello di assicurare che sul cammino (path) tra sorgente/i e destinazione/i seguito dal flusso attraverso la rete siano assegnati al flusso su ogni link del path: una porzione della capacità del link (Bandwidth Assignment) e una porzione di buffer (Buffer Assignment) La quantità di banda e di buffer allocata ad un flusso dipende dai requisiti di QoS Call Admission Control La procedura di CAC deve conoscere la quantità di risorse richiesta la quantità di risorse usata su ogni link calcolare se esiste un cammino con tale disponibilità prenotare le risorse in caso di accettazione STOP Modalità di calcolo e prenotazione Le modalità di calcolo e prenotazione possono essere suddivise in tre gruppi: Centralizzata: il CAC viene effettuato da un server centrale Distribuita: Ogni nodo concorre al CAC Mista: tecnica che consente il CAC solo ai nodi d’ingresso della rete Modalità Centralizzata Il CAC viene effettuato da un server centrale Il server riceve tutte le richieste e conosce tutto La segnalazione verso i nodi è semplificata (non sempre è necessaria) Può essere determinato il cammino ottimale Svantaggi Problemi di complessità, scalabilità, affidabilità e velocità Non consona ad IP (se non per sistemi semplici) Per il cammino ottimale occorre poter dominare e segnalare l’instradamento Modalità Centralizzata Adatta a piccoli sistemi con server ridondati in reti di tipo Hub and Spoke Modalità Distribuita Ogni nodo conosce le risorse occupate e concorre al CAC Caratteristiche E’ un sistema robusto Occorre un sistema di segnalazione per raccogliere la disponibilità dei nodi e prenotare (SS7, RSVP) E’ molto complesso determinare il cammino ottimale Modalità all’ingresso Il CAC è effettuato dai router all’ingresso E’ un sistema misto Si può determinare il cammino ottimale (QoS Routing) Caratteristiche Occorre un sistema di segnalazione per raccogliere lo stato di occupazione (estensioni di IGP, BGP) Occorre un sistema di segnalazione per prenotare (RSVP) IL CONTROLLO DELLE RISORSE IntServ, DiffServ Meccanismi di controllo delle risorse Il controllo delle risorse deve utilizzare meccanismi scalabili e distribuiti Ci sono due approcci in IETF che si differenziano per le garanzie che offrono e la complessità che presentano Integrated Services (IntServ) Differentiated Services (DiffServ) INTEGRATED SERVICES IntServ Integrated Services Introducono in IP una modalità di controllo dinamica e assoluta (RFC 2215) di ciascun flusso d’utente Offrono due classi di servizio oltre alla classe Best-Effort Controlled Load (RFC 2211) • Emula il “best effort” in una rete non congestionata Guaranteed Service (RFC 2212) • Emula il servizio a circuito con ritardi garantiti Si basano su modifiche sostanziali all’architettura dei router Utilizzano RSVP per prenotare le risorse (RFC 2210) Modalità assoluta di controllo e assegnazione delle risorse E’ il paradigma da sempre utilizzato in telefonia: Sistema di prenotazione flusso per flusso a blocco Le risorse vengono richieste dall’utente Se esistono vengono prenotate Se non esistono la richiesta è rifiutata Miglioramenti introdotti con IP Diverse classi di servizio (risorse) Utilizzo di risorse prenotate ma non usate IntServ: funzionalità dei router Signaling Signaling Reservation Routing Admission Packet flow Packet flow Classifier Classificatore Identifica il flusso a cui appartiene il pacchetto in arrivo Shaper Shaper Ritarda flussi che non rispettano determinate condizioni Scheduler Scheduler Seleziona il pacchetto che deve essere inviato per primo sul link di uscita IntServ: prenotazione risorse RSVP (Resource reSerVation Protocol) - RFC 2205 Trasmette ai router sul cammino informazioni di richiesta di risorse e QoS relative ogni flusso I router valutano se le richieste possono essere accettate Se si, memorizzano le richieste delle chiamate accettate in modo da poterle soddisfare all’arrivo dei flussi Lo stato nei router ha una validità limitata nel tempo (soft state) RSVP – PATH MESSAGE Fissa il cammino su cui si effettua la riservazione (segue le regole dell’instradamento IP) Destinazione Origine PATH PATH PATH PATH La sorgente invia un messaggio di PATH verso la destinazione (messaggi PATH sono emessi periodicamente per consentire la rivelazione di eventuali variazioni dell’instradamento) Ciascun router che riceve un messaggio di PATH mantiene un «path state»: parametri del flusso a cui si riferisce, indirizzo del nodo precedente attraversato dal flusso, incoming interface, outgoing interface RSVP – PATH MESSAGE Informa i router delle caratteristiche del flusso PATH TSPEC ADSPEC TSPEC contiene la descrizione del traffico generato dalla sorgente (per es. attraverso i parametri del token bucket) TSPEC non può essere modificato dai router RSVP – PATH MESSAGE Raccoglie informazioni preliminari sulla QoS sul cammino PATH TSPEC ADSPEC ADSPEC, esaminato e opportunamente modificato ad ogni hop, sintetizza informazioni sulla QoS conseguibile sul cammino (es. se ci sono router non RSVP-compliant, se alcuni classi di servizio non sono supportate, la MTU minima sul cammino etc.) RSVP – RESV MESSAGE Un receiver emette i messaggi RESV verso i sender per effettuare le richieste di riservazione I messaggi RESV devono seguire, in verso opposto, lo stesso cammino (Reverse Path indicato nei messaggi PATH) che seguono i pacchetti dati emessi dai sender che sono inclusi nella richiesta (l’instradamento dei messaggi RESV non segue quindi le regole dell’instradamento IP) Destinazione Origine RESV RESV RESV RESV Sulla base del Sender TSPEC e del campo ADSPEC ricevuto, la destinazione stabilisce la richiesta di riservazione da effettuare, e la invia nel campo FLOWSPEC del messaggio RESV verso la sorgente RSVP – RESV MESSAGE RESV FLOWSPEC (Receiver TSPEC) (Receiver RSPEC) In TSPEC sono contenute le descrizioni del traffico, eventualmente cambiate dal receiver In RSPEC sono contenute le descrizioni del tipo di servizio desiderato Controllo di ammissione Riceve in input informazioni sul nuovo flusso RSPEC: definisce la QoS desiderata (Reserve Spec.) TSPEC: descrive il flusso dati (Traffic Spec.) Conosce l’occupazione delle risorse dovuta a chiamate già accettate Parametri di traffico ‘a priori’ delle chiamate accettate ‘misurazioni’ della effettiva occupazione delle risorse Determina le risorse da assegnare alla nuova chiamata Accetta il nuovo flusso se le risorse esistono Altrimenti rigetta il flusso Determina nuove RSPEC da inviare a monte RSVP – RESV MESSAGE Decisione al router Il flusso verrà accettato dalla rete se questa è in grado di soddisfare i parametri di QoS richiesti dall’utente senza compromettere i contratti di servizio in essere (Connection Admission Control) Vengono settati i parametri di scheduler e classifier RESV: FLOWSPEC si Tspec Rspec’ Se accetto il flusso ci sono abbastanza risorse per tutti?? si Tspec Rspec Controllo di ammissione Scheduler In caso di accettazione, al flusso vengono virtualmente assegnate le risorse di rete (banda, buffer) necessari al soddisfacimento dei requisiti di QoS (Resource Allocation) REJECT Controllo del traffico I Router di frontiera devono effettuare POLICING sui parametri dichiarati Meter singolo flusso Classifier Shaper/Dropper Marker CONDITIONER Controllo del traffico I router interni effettuano Classificazione dei pacchetti di ciascun flusso Shaping nei casi richiesti per semplificare lo scheduler Scheduling basato sulla QoS richiesta Packet flow Packet flow Classifier Shaper Scheduler Soft State Lo stato nei router ha una validità limitata nel tempo e controllata da un timer. La sorgente e la destinazione inviano quindi periodicamente nuovi messaggi di PATH / RESV Un soft-state è confermato dal destinatario mediante l’invio di messaggi di refresh e viene cancellato se entro un tempo stabilito non viene confermato Se l’instradamento varia, il ricevente deve riservare esplicitamente le risorse sul nuovo cammino Vantaggi: recupero da situazioni di errore tolleranza alla perdita di pacchetti di segnalazione buona adattabilità a cambiamenti del cammino tra sorgente e destinazione (adatto ad ambito connectionless con routing dinamico) Svantaggio: segnalazione pesante Il protocollo RSVP E’ un protocollo che si colloca a livello 3, anche se usa i servizi stessi di IP IP RSVP I messaggi RSVP vengono trasmessi all’interno di un pacchetto IP con protocol ID 46 E’ richiesto che venga limitata la congestione dei pacchetti di segnalazione, tramite o l’assegnazione di una quantità di banda per la segnalazione, o l’utilizzo di meccanismi a priorità Messaggi RSVP PATH messaggio iniziale sul cammino di andata RESV messaggio di prenotazione (reservation) sul cammino di ritorno PATH ERR comunica l’identificazione di errori durante l’elaborazione del messaggio di PATH RESV ERR indica il fallimento della fase di prenotazione PATH TEAR abbattimento dello stato instaurato nei router da un messaggio di PATH RESV TEAR abbattimento dello stato instaurato nei router da un messaggio di RESV RESV CONF è un messaggio inviato alla destinazione per confermare la riuscita della fase di prenotazione delle risorse Formato dei messaggi RSVP 64 bit Header Multiplo di 32 bit Oggetto 1 32 bit Header di oggetto Oggetto N K*32 bit Informazioni Ciascun oggetto (multiplo di 32 bit) raggruppa informazioni di carattere simile trasportate dal messaggio (ad esempio la caratterizzazione del traffico, o dati di policing) Header dei messaggi RSVP Vers Flags Msg Type Send_TTL Reserved RSVP Checksum RSVP Length Vers indica la versione del protocollo (attualmente 1) Flags non e’ ancora specificato Msg Type contiene l’identificatore del tipo di messaggio (PATH, RESV, etc) RSVP Checksum verifica l’integrità del contenuto del messaggio Send_TTL (tramite il confronto con il TTL dell’header IP permette di individuare l’attraversamento di nodi non RSVP) RSVP Length indica la lunghezza del messaggio Formato degli oggetti RSVP 16 bit 8 bit 8 bit Lunghezza Class_NUM C-Type Oggetto Lunghezza indica la lunghezza dell’oggetto in byte Class_NUM identifica un tipo di oggetto (Es. FILTER_SPEC, ADSPEC, SENDER_TSPEC, RSVP_HOP, TIME VALUES, etc.) C_Type identifica univocamente il tipo di formato usato per un tipo di oggetto (1 IPv4, 2 IPv6) Formato dei messaggi di PATH 1 Flag Send_TTL 1 RSVP Checksum Reserved RSVP Length INTEGRITY (autentic. e integrità) SESSION (identifica la sessione) RSVP_HOP (ultimo nodo RSVP compatibile) TIME_VALUES (refresh) POLICY_DATA SENDER_TEMPLATE (identifica i flussi di ogni SENDER) TSPEC (caratteristiche del flusso) ADSPEC (stime raccolte) Formato dei messaggi di RESV 1 Flag Send_TTL 2 RSVP Checksum Reserved RSVP Length INTEGRITY (autentic. e integrità) SESSION (sessione di riferimento) RSVP_HOP (ultimo nodo RSVP compatibile) RSV_CONFIRM (rich. conferma alla destinaz) POLICY_DATA TIME_VALUES (refresh) SCOPE (sorgente a cui inviare resv) STYLE (res singola o multipla) FLOWSPEC Guaranteed Service (RFC 2212) E’ il primo fra due classi di servizio INTSERV (oltre al best effort) con assegnazione di risorse e blocco all’ammissione Emula il servizio a circuito con ritardi garantiti Garantisce perdita nulla nei buffer di trasmissione un upper bound al ritardo Guaranteed Service (RFC 2212) Si basa sulle formule già viste per il bound sul flusso i nel router j Wi k M p Bi Bi p b M Cj Wi Dj Bi Bi se M Bi Cj Bi Bi p Dj se Bi p Cj e Dj dipendono solo dal router j Teorema: il bound sul ritardo end-to-end si ottiene semplicemente rimpiazzando Cj e Dj con Ctot C j http://www.ietf.org/rfc/rfc2212.txt Dtot D j Guaranteed Service (RFC 2212) Il guaranteed service viene invocato specificando il traffico (TSpec) e il servizio desiderato (RSpec) alla rete TSpec definisce le caratteristiche del traffico richiesto e contiene: i parametri del token bucket • bucket size, b (*) [byte] • token rate, r [byte/s] peak rate, p [byte/s] • p>r maximum packet unit, M [byte] minimum policed unit, m [byte] Rspec comprende i seguenti parametri: Requested rate, B [byte/s] Slack term o termine di correzione, S [ms] (*) nelle slide precedenti indicato con k Guaranteed Service (RFC 2212) ADSPEC contiene i campi Ctot e Dtot che vengono aggiornati di router in router L’elemento di rete k-esimo comunica i valori Csum_k e Dsum_k all’elemento (k+1)-esimo Dtot Dk Ctot Ck Wmax1 Sorgente M C1 D1 B B Wmax k M C sum _ k Dsum _ k B B Wmax_ tot M Ctot Dtot B B ROUTER 1 ROUTER k ROUTER N Buff1 M C1 BD1 Buff k M Csum _ k BDsum _ k Buff N M Ctot BDtot Destinazione Guaranteed Service (RFC 2212) Il ricevitore sulla base di ADSPEC determina la banda Bj che i router devono assegnare al flusso j e lo Slack term S S = ritardo massimo con la riservazione di banda B – ritardo richiesto e li invia come RSPEC Il termine di correzione S indica la differenza tra il ritardo desiderato dalla sorgente e ritardo ottenuto tramite l’assegnazione della banda B e può essere utilizzato dalla rete in caso di necessità per allocare una banda inferiore rispetto a quella richieste dalla sorgente (B’<B) Se S è positivo, i router a monte possono ridurre Bj e S e aggiornare RSPEC Se la banda Bj non è disponibile la chiamata viene rifiutata Complessità nei moduli funzionali dei router (classifier, shaper, scheduler) che devono gestire flusso per flusso E’ il più adatto per la telefonia e per l’emulazione di circuiti Controlled Load Service (RFC 2211) Offre un servizio che emula il “best effort” in una rete non congestionata: A very high percentage of transmitted packets will be successfully delivered by the network to the receiving end-nodes. (The percentage of packets not successfully delivered must closely approximate the basic packet error rate of the transmission medium). The transit delay experienced by a very high percentage of the delivered packets will not greatly exceed the minimum transmit delay experienced by any successfully delivered packet. (This minimum transit delay includes speed-oflight delay plus the fixed processing time in routers and other communications devices along the path.) Controlled Load Service (RFC 2211) Controlled Load Service (CLS) utilizza un meccanismo di shaping solo all’ingresso Non garantisce ritardi La gestione nei nodi è più semplice Lascia ampio spazio a varianti di implementazione Adatto per servizi real-time adattativi Controlled Load Service (RFC 2211) TSPEC contiene la descrizione del token bucket ADSPEC è privo di parametri QoS FLOWSPEC non contiene RSPEC In pratica ogni router decide il rate Bi indipendentemente in base a una politica predeterminata Deve essere Bi > b … ma si può fare overbooking Sincronizzazione H.323-RSVP Transmitter Le fasi di Reservation vanno eseguite per ogni canale E’ possibile usare Fast Connect SETUP (con indirizzo H.245) CALL PROC. H.245 cap e Qos exchange OpenLogicalChannel OpenLogicalChannelAck FlowControlCommand (maximum bit rate = 0 bit/s) Optional RSVP Path RSVP Resv RSVP Resv Confirm FlowControlCommand (maximum bit rate = no restriction) Optional ALERTING CONNECT Receiver Integrated Services: problemi Richiedono di mantenere nei router uno stato per ciascun flusso Scarsa scalabilità Segnalazione pesante Forte impatto sull’architettura di rete esistente Buona soluzione per la rete di accesso IntServ: problemi non risolti I gestori possono lasciare passare la prenotazione RSVP in modo trasparente (o meno)? Come riservare risorse per tratte compresse in modo diverso? Come controllare il cammino? Come fare routing alternativo? RSVP IntServ IntServ IntServ: problemi non risolti L’alternativa è quella di utilizzare dei router d’accesso, gateway IP-IP, o application server, che terminano le connessioni, effettuano la prenotazione, rerouting, conversione di formato RSVP RSVP è mantenuto all’interno delle reti dei gestori IntServ segnalazione Segnalazione per Qos diversa da RSVP IntServ DIFFERENTIATED SERVICES DiffServ Differentiated Services Perseguono una soluzione semplice, scalabile e di basso costo Si rinuncia al controllo stretto flusso per flusso nel forwarding dei router Si dimensiona la classe di servizio collettivamente all’interno di un singolo router Le reservation possono ancora essere fatte flusso per flusso attraverso RSVP RSVP e Differentiated Services Low Latency Queuing (LLQ) Microflussi senza controllo I microflussi non possono essere controllati Il traffico che eccede sottrae QoS a tutti A livello microflusso (es. per telefonia) occorre una gestione esterna ai DiffServ, che controlli lo stato di allocazione delle pipe DiffServ Differentiated Services (RFC 2475) Come Le operazioni complesse e il controllo dei microflussi sono compito esclusivamente dei bordi della rete I router di rete devono essere solo in grado di applicare forwarding differenziati a poche differenti classi di traffico Non richiedono modifiche significative, ed in particolare non necessitano di mantenere uno stato per flusso o gestire segnalazione Differenziazione dei flussi Viene usato il campo (DS) dell’header IP corrisponde al TOS (Type Of Service) byte di IPv4 o al Traffic Class byte di IPv6 6 bit sono utilizzati per specificare il Differentiated Service Code Point (DSCP), mentre i rimanenti due bit non sono utilizzati Il DSCP viene usato dai router per selezionare il tipo di servizio (o Per-Hop-Behavior o PHB) da applicare (Es. 0X00 standard per best effort forwarding) Controllo d’accesso E’ basato su un contratto, Service Level Specification, che specifica il servizio statico offerto al traffico globale generato dall’utente Tipo di servizio e prestazioni ‘Scope’ del servizio (se il servizio e’ applicato a tutto il traffico o solo alla porzione di traffico tra particolari gateway di accesso e di uscita). Profilo di traffico concordato (Es: parametri del token bucket) Disposizioni per il traffico che eccede il profilo di traffico Router diffserv di edge DiffServ Edge Router Classifier Marker Meter Policer I router di frontiera gestiscono aggregati di traffico e verificano la coerenza con gli SLA di accesso Router diffserv di core DiffServ Core Router Select PHB Extract DSCP PHB PHB PHB PHB Local conditions Packet treatment I router di core gestiscono aggregati di traffico e trattano i flussi secondo i PHB selezionati in funzione delle condizioni locali Possibili PHB (servizi) Per Hop Behavior (PHB) Expedited Forwarding per applicazioni a basso ritardo Assured Forwarding service per applicazioni che richiedono affidabilità di consegna Best Effort service, nessuna garanzia Router Traffico globale EF Traffico globale Assured and BE Weighted Fair Queuing Expedited Forwarding (RFC 2598) Expedited Forwarding vuole emulare una linea dedicata: Gli utenti richiedono una quantità di banda per la comunicazione tra due punti Se il traffico non eccede quanto stabilito, i ritardi e la percentuale di pacchetti persi devono essere molto bassi Il traffico va condizionato e controllato. Quello in eccesso non viene immesso in rete. Codepoint 101110 Assured Forwarding (RFC 2597) Assured Forwarding fornisce differenti livelli di garanzie di forwarding (banda e spazio nelle code) (4-livelli) Si propone di evitare situazioni di congestione di breve termine con l’accodamento nei buffer di lungo termine tramite un discarding preventivo e differenziato dei pacchetti Si introducono così diversi livelli di probabilità di discarding (almeno 3) Assured Forwarding Lo scarto dei pacchetti deve avvenire in modo dolce Una possibilità è usare RED (per ciascun livello) mandatory discarding discarding probability no discarding RED (Random Early Discarding) Sched Random Early Discarding Scarto Probabilità di scartare (P) Probabilità di scartare (P) max_P 1 1 P 0 0 min_th max_th queue_len Lunghezza della coda min_th max_th queue_len avg_len Lunghezza della coda Accodo Scarto/Accodo con probabilità avg_len - min_th P max_ P max_th - min_th Esempio di Assured forwarding Olimpic service: tre tipi di flusso, ciascuno con tre probabilità di scarto Gold service: dimensionato con basso carico Silver service: dimensionato con medio carico Bronze service: dimensionato con medio-alto carico Sched Confronto IntServ e DiffServ IntServ DiffServ Granularità della differenziazione del servizio Singoli flussi Aggregati di flussi Stato nei router (scheduling, buffer management) Per flusso Per aggregati Base per classificazione traffico Diversi campi dell’header Campo DS Tipologia di differenziazione del servizio Garanzie statistiche o deterministiche Garanzie assolute o relative Admission control Richiesto Richiesto per differenziazione assoluta Protocollo di segnalazione Richiesto (RSVP) Non richiesto per schemi relativi Confronto IntServ e DiffServ IntServ DiffServ Coordinamento della differenziazione del servizio End-to-end Locale (per-hop) Ambito della differenziazione del servizio Un cammino unicast o multicast Ovunque in una rete o in un cammino specifico Scalabilità Limitata dal numero di flussi Limitata dal numero di classi di servizio Contabilizzazione di rete (accounting) Basato su caratteristiche dei flussi e requisiti di QoS Basato sull’uso delle classi Network Management Simile a reti a commutazione di circuito Simile alle reti IP esistenti attualmente Dispiegamento interdominio Accordi multilaterali Accordi bilaterali