ݺߣ

ݺߣShare a Scribd company logo
Qualità del Servizio con DiffServ e MPLS Corso di: Progetto di Sistemi Informatici II Realizzato da: Claudio Bortone
Sommario Introduzione alla QoS su IP Modello DiffServ Architettura DiffServ Commutazione di etichetta MultiProtocol Label Switching Integrazione DiffServ-MPLS
Introduzione alla  QoS su IP
Introduzione alla QoS su IP: Definizione di flusso Un flusso di traffico IP è univocamente identificato dalla quintupla: <indirizzo IP sorgente,  porta sorgente,  indirizzo IP destinazione,  porta destinazione,  protocollo di trasporto> È costituito da tutte le sequenze di bit che transitano dalla sorgente alla destinazione, è quindi  unidirezionale .
Introduzione alla QoS su IP: Servizio best effort Attualmente la rete Internet  tratta allo stesso modo tutti i pacchetti  inoltrandoli il prima possibile I vantaggi di questo approccio sono: semplicità scalabilità in caso di congestione il servizio non è mai rifiutato
Introduzione alla QoS su IP: Perché QoS? In applicazioni sensibili alla variazione del tempo di trasmissione od a perdite di pacchetti (telemedicina, astronomia etc.) risulta di fondamentale importanza il controllo della  Quality of Service [QoS] Una rete offre QoS quando è capace di  distinguere e gestire  uno specifico insieme di pacchetti in modo da soddisfare i parametri dell’applicazione che li ha generati
Introduzione alla QoS su IP: Parametri di QoS 4 parametri associati ad una qualità del servizio: latency  o  one-way delay  (latenza, pari al tempo di attraversamento in una direzione) jitter  (variazione nel tempo del one-way delay) thrughput  (o capacità); packet loss  (perdita di pacchetti in una direzione)
Introduzione alla QoS su IP: Latency o one way delay rappresenta il  tempo necessario  al primo bit del pacchetto  per viaggiare dalla sorgente alla destinazione , dipende: dalla loro distanza fisica dal numero di apparati attivi e passivi attraversati lungo il tragitto dal carico di rete
Introduzione alla QoS su IP: Jitter Il Jitter o one way packet delay variation, relativo ad un pacchetto all’interno di un flusso che va dal punto  P1  al punto  P2 , è la  differenza tra il one-way delay del primo pacchetto e il one-way delay del secondo. Dipende soprattutto dal carico istantaneo e da malfunzionamenti della rete
Introduzione alla QoS su IP: Throughput Con throughput (o capacità) si intende la  velocità di trasferimento dati al livello IP  espressa in bit al secondo e mediata su un intervallo predefinito lungo il percorso considerato. Le specifiche di throughput possono includere parametri quali: massima dimensione consentita di un burst banda di picco banda minima garantita
Introduzione alla QoS su IP: Packet loss È denominata packet loss la percentuale di pacchetti spediti correttamente ma  non ricevuti a destinazione
Introduzione alla QoS su IP: Tecnologie Esistono diversi approcci tecnologici per la realizzazione di QoS su reti IP, tra i quali: utilizzo tradizionale del campo Type of Service [ToS] Integrated Services e Resource Reservation Protocol [IntServ e RSVP] Differentiated Services [DiffServ o DS] Differentiated Services in seguito verranno trattati in dettaglio
Introduzione alla QoS su IP: Campo ToS Un byte nell’intestazione del pacchetto IP  diviso in due parti: IP Precedence: classifica il pacchetto in una delle categorie di traffico ammissibili  Type of Service: indica il tipo di scheduling che deve essere applicato Non è un supporto efficiente e scalabile alla  QoS: permette di specificare solamente la priorità di un pacchetto e non la modalità di scarto a seconda della priorità poiché il campo IP-Precedence è costituito da soli tre bit e le classi Network Control, e Internetwork Control sono solitamente  riservate ai router, il numero delle possibili classi di priorità si riduce sei
Introduzione alla QoS su IP: IntServ e RSVP Si basa sul protocollo RSVP utilizzato per la segnalazione e l’allocazione di risorse relative ogni singolo flusso nella rete È una tecnologia complessa, datata e mai utilizzata su larga scala tutti i dispositivi del percorso del pacchetto (compresi gli apparati di partenza e destinazione) devono essere compatibili con il protocollo RSVP l’allocazione delle risorse necessita di aggiornamenti periodici sullo “stato” della rete, contribuendo ad un aumento generale del traffico il mantenimento dello stato di ogni flusso, aumenta la complessità e quindi i requisiti di memoria e CPU degli apparati, influendo sulla scalabilità generale dell’architettura
Introduzione alla QoS su IP:  DiffServ In assenza di QoS il traffico IP è considerato,come un unico flusso trattato in modalità  best-effort Architetture IntServ separano il traffico IP nelle sue componenti end-to-end, applicando ad ogni singolo flusso politiche di QoS Le architetture  differentiated service  trattano il traffico IP come un insieme di “aggregati di flussi” chiamati  behavior aggregate [BA] ; questo permette di applicare QoS ad insiemi di flussi anziché alla singola componente end-to-end
Modello  DiffServ
Modello DiffServ : Packet Marking Il modell DiffServ prevede il riutilizzo dei primi sei bit del campo ToS dell’header IP chiamato ora  DS Field Il campo DS Field può quindi codificare  Differentiated Service CodePoint [DSCP]  (classi di servizio) le quali permettono la gestione di un pari numero di Bheavior Aggregates L’operazione di assegnazione di un determinato pacchetto IP ad un certo Bheavior Aggregate prende il nome di  Packet Marking Tutti i meccanismi di QoS implementati in architetture DiffServ si basano sul valore DSCP assunto dal DS Field
Modello DiffServ: Per Hop Behavior Formalmente un Per Hop Behavior [PHB] è  il comportamento osservabile esternamente, applicato da un nodo DS compatibile, ad uno specifico BA In pratica un PHB rappresenta il trattamento, in termini di scheduling, queuing, policing e shaping che un nodo DS applica ad un pacchetto IP con un determinato DSCP
Modello DiffServ: Standard PHBs  Per la costruzione di reti DiffServ compatibili ad oggi sono disponibili quattro PHBs standard: Default Class-Selector Expedited Forwarding [EF] Assured Forwarding [AFxy]
Modello DiffServ: Class-Selector PHB e Default PHB Class-Selector: i valori DSCP nella forma “xxx000” sono chiamati Class-Selector è sono utilizzati per il  mantenimento della compatibilità con la precedente tecnica IP-Precedence Questo PHB permette la coesistenza tra nodi DS compatibili e nodi IP-Precendence compatibili Default PHB: specifica che ad un pacchetto marcato con DSCP pari a “000000” sia applicato il  tradizionale servizio Best-Effort ad un pacchetto che arrivi in un nodo DS il cui DSCP non è mappato in nessuna PHB verrà automaticamente applicata la Default PHB è un caso particolare della PHB Class-Selector
Modello DiffServ: Expedited Forwarding [EF] PHB Permette di offrire un servizio di tipo “premium” all’ aggregato, i cui flussi, sono generati da applicazioni critiche, ha caratteristiche di: bassa latenza basso jitter bassa perdita banda garantita Grazie all’utilizzo di code a priorità, all’interno degli apparati DS compatibili, i pacchetti marcati con un DSCP pari a “101110” avranno diritto di precedenza
Modello DiffServ: Assured Forwarding [AFxy] PHB Ad aggregati diversi vengono assicurati diverse garanzie di forwarding Il traffico può essere suddiviso in  x  classi a ciascuna delle quali è possibile associare  y  livelli di drop precedence L’ IETF raccomanda l’utilizzo di 4 classi (che potremmo chiamare platinum, gold, silver, bronze) con tre livelli di drop precedence ciascuna
Architettura DiffServ
Architettura DiffServ: Terminologia DS Domain insieme contiguo di nodi compatibili con l’architettura che implementano le stesse PHB (forniscono quindi le stesse modalità di QoS) DS Region insieme di uno o più domini DS contigui, ed è capace di supportare servizi differenziati all’interno di ogni dominio che la compone Nodi DS Boundary apparati di bordo che definiscono il confine di un DS Domain, si occupano della classificazione e del condizionamento del traffico per adattarlo alle politiche di QoS adottate dai DS Domain della stessa DS Region. a seconda della direzione del traffico si distinguono in nodi: DS Boundary Ingress: traffico in ingresso (downstream) DS Boundary Egress: traffico in uscita (upstream) Nodi DS Interior nodi interni collegati solamente ad altri DS Interior o DS Boundary dello stesso dominio
Architettura DiffServ: Esempio
Architettura DiffServ: Classificatore Il processo di  classificazione  del traffico è caratterizzato da due fasi: individuazione di un sottoinsieme del traffico modifica del DSCP dei pacchetti che lo compongono in modo che siano riconducibili ad un ben specifico BA Il classificatore è utilizzato per convertire pacchetti, che soddisfano regole specifiche, in elementi gestibili da un  condizionatore di traffico E’ possibile distinguere due diverse tipologie di classificatori: Behaviour Aggregate Classifier [BA Classifier] classifica basandosi unicamente sul campo DS codepoint  Multi-Field Classifier [MA Classifier] classifica utilizzando più campi del pacchetto IP come il DS Codepoint, l’indirizzo IP sorgente e/o destinazione, etc.
Architettura DiffServ: Caratterizzazione del traffico Una  caratterizzazione del traffico (o traffic profiling)  permette la specifica delle proprietà temporali di un flusso di traffico, fornendo le regole necessarie per stabilire se un pacchetto si trovi in uno dei due possibili stati: in-profile out-of-profile Esempio: una caratterizzazione basata sul paradigma  token-bucket  potrebbe essere  codepoint=X, usa token-bucket r,b a tutti i pacchetti, il cui DS codepoint è pari ad  X  , è applicata la funzione di misurazione token-bucket, con rate  r  e dimensione  b un pacchetto, sarà catalogato  in-profile  nel caso in cui sia disponibile un gettone per il suo inoltro out-of-profile  nel caso in cui il “secchio sia vuoto”
Architettura DiffServ: Condizionatore Il  condizionatore  si occupa di assicurare che, il traffico entrante in un dominio DS, sia conforme alle specifiche del contratto di Service Level Agreement [SLA] stipulato, tra l’amministrazione del proprio dominio DS e quella del dominio DS di downstream È composto dai seguenti elementi: Meter: verifica se un pacchetto è in/out-of-profile Marker: imposta un particolare DSCP al pacchetto Shaper: ritarda alcuni o tutti i pacchetti di un flusso rendendolo conforme alla caratterizzazione scelta Dropper: come lo Shaper ma scarta pacchetti invece di ritardarli
Architettura DiffServ: Transito di un pacchetto Il  classificatore  associerà il pacchetto ad una determinata classe di servizio tramutandolo in un istanza per un determinato  condizionatore il misuratore verificherà se il pacchetto si trova in-profile o out-of–profile a seconda dello stato risultante, potranno essere applicate le operazioni operazioni di  marcatura , di  shaping  o di  dropping  prima dell’inoltro
Commutazione di etichetta (label switching)
Label Switching: Generalità È una tecnica di instradamento che introduce meccanismi orientati alla commutazione di circuito in ambienti a commutazione di pacchetto realizzando reti a  commutazione di etichetta o label switching L’idea di base è quella di associare a tutti i pacchetti un breve identificativo di lunghezza fissa detto  Label , questa sarà utilizzata, dagli apparati di rete, per effettuare un instradamento veloce basato sul suo valore
Label Switching : Instradamento tradizionale Nei router convenzionali la decisione di instradamento è presa solo sulla base dell’indirizzo IP di destinazione Non c’è controllo sull’istradamento
Label Switching : Instradamento con etichette Il label switching consente di assegnare  etichette diverse a flussi diversi  anche se diretti alla stessa destinazione I router instradano i pacchetti in base all’etichetta Si ottiene un controllo delle rotte seguite dai flussi di traffico, consentendo un efficace  bilanciamento del traffico
MultiProtocol Label Switching [MPLS]
MPLS: Storia Il principale limite delle varie soluzioni label switching è che sono proprietarie e non interoperabili Quasi tutte le soluzioni offerte dai vendor richiedono ATM come substrato, e quindi non possono operare con protocolli come Frame Relay, PPP, Ethernet, etc. IETF nel gennaio 1997 ha dato vita all’  MPLS Working Group  al fine integrare le varie proposte in modo da produrre uno  standard multivendor e multiprotocollo Il risultato è stato MPLS considerato una evoluzione del Tag Switching della Cisco
MPLS: Pila ISO/OSI All’interno della pila ISO/OSI MPLS si colloca in uno strato intermedio compreso tra  rete  e il  data-link Risulta quindi  indipendente sia dalla sottorete  di trasporto (Frame Relay, ATM, SDH etc.)  sia dai protocolli  di rete adottati
MPLS: Posizionamento dell’ etichetta La label è una entità breve e di lunghezza fissa chiamata  shim header Non codifica indirizzi di rete E’ trasportata assieme al pacchetto, tipicamente è inserita tra l’intestazione del protocollo di livello due e prima dell’intestazione IP
MPLS: Struttura dello Shim Header LABEL : è l’etichetta vera e propria utilizzata per il trasferimento Exp : 3 bit riservati per uso sperimentale (potrebbe indicare la classe di servizio a cui il pacchetto appartiene) S : è un bit usato nella tecnica di  label stacking  in reti MPLS gerarchiche è possibile utilizzare MPLS su diversi livelli di instradamento chiamati domini (simile al concetto di routing gerarchico) quando si entra in un dominio MPLS, viene aggiunta un’etichetta MPLS valida in quel dominio che viene rimossa quando se ne esce se non ci sono ulteriori etichette S = 1, altrimenti S = 0 TTL : tempo di vita del pacchetto
MPLS: Terminologia Label Edge Router [LER] : router di frontiera di una rete MPLS; svolge funzionalità di instradamento da e verso l’esterno,applica e rimuove le label rispettivamente ai paccheti in ingresso e in uscita Label Switching Router [LSR] : router che operano la commutazione di etichetta all’interno della rete e prevedono il supporto di funzionalità di instradamento Label Distribution Protocol [LDP] : in congiunzione con i protocolli di routing tradizionali, è utilizzato per distribuire le label tra i dispositivi della rete Label Switched Path [LSP]:  Il percorso attraverso uno o più LSR seguito da un pacchetto appartenente ad un certa FEC Forwarding Equivalence Class [FEC] : un insieme di pacchetti IP che vengono instradati e trattati allo stesso modo (ad es. lungo lo stesso percorso, con lo stesso trattamento)
MPLS: Processo di instradamento e FEC Nel processo di instradamento di un pacchetto possono essere individuate due fasi ricavare dall’ intestazione le informazioni necessarie per inserirlo in una determinata  classe   FEC ricavare le informazioni per l’inoltro dalla tabella di routing (o tabella FEC-To-Next-Hop) in base alla classe FEC di appartenenza Una FEC può essere quindi considerata come una  classe di pacchetti che il router inoltra sulla stessa rotta
MPLS: Granularità FEC E’ utile distinguere diversi gradi di granularità con cui una FEC può essere determinata, ad esempio: utilizzando il solo prefisso IP di destinazione (come avviene nei router IP convenzionali) utilizzando l’intera quintupla che caratterizza un flusso di traffico Può essere quindi  calibrata  in modo da ottenere il giusto compromesso di scalabilità ed efficienza
MPLS: Funzionamento Il LER di ingresso al backbone MPLS analizza l’intestazione IP del pacchetto, classifica il pacchetto, aggiunge la label e lo trasmette al next hop LSR All’interno del dominio MPLS gli LSR instradano il pacchetto lungo il LSP in accordo con la label specificata Il LER di uscita rimuove la label ed il pacchetto viene instradato all’indirizzo destinazione in base all’indirizzo IP (cioè nel modo tradizionale).
MPLS: Rete di esempio
MPLS: Esempio di instradamento
MPLS: Label Distribution Protocol [LDP] Estensione di protocolli IGP come OSPF-TE e IS-IS-TE, utilizzati su reti MPLS per il supporto del Traffic Engineering [TE] Sono utilizzati per la distribuzione delle label tra gli LSR permettendo la creazione dinamica degli LSP (garantendo, tra l’altro, la fault-tollerance) Due modalità per la distribuzione delle label: downstream on demand: un LSR richiede una label al suo next-hop per una data FEC upstream unsolicited: un LSR distribuisce accoppiamenti label-FEC agli altri LSR
MPLS: Sfatare i miti Esistono alcuni miti riguardo il ruolo di MPLS “ MPLS utilizzato per aumentare la velocità delle IP route lookup” sebbene questo sia stato uno degli obiettivi originari delle soluzioni proprietarie nella metà delgi anni ’90, i recenti progressi nella tecnologia del silicio consentono di effettuare una IP route lookup alla stessa velocità di una lookup MPLS “ MPLS è stato progettato per eliminare completamente la necessità del routing IP convenzionale” l’ analisi di un pacchetto a livello 3 è fondamentale per la  sicurezza gli  host non implementano MPLS , quindi i pacchetti IP trasmessi da un host devono essere elaborati a livello 3 almeno dal primo e dall’ultimo router se un LER esamina l’header IP ed assegna una label, la label rappresenta una route aggregata (sarebbe impensabile avere un LSP per ciascun host su Internet), questo significa che, in qualche punto lungo il tragitto, l’header IP dovrà essere riesaminato a livello 3 per determinare una granularità più fine per continuare l’instradamento
Integrazione DiffServ–MPLS
Integrazione DiffServ–MPLS:   Vincoli per una corretta QoS Per supportare la QoS le infrastrutture di rete devono soddisfare due vincoli fondamentali : l’allocazione delle risorse di rete (in una certa misura) deve essere garantita in tutto il percorso effettuato dal flusso di traffico anche in situazione di congestione o malfunzionamento degli apparati di rete  ad ogni pacchetto di un flusso di traffico, in ogni nodo della rete, deve essere applicato un trattamento che permetta il soddisfacimento dei parametri di QoS
Integrazione DiffServ–MPLS:   Architetture DiffServ-MPLS  MPLS in congiunzione con protocolli IGP con le opportune estensioni TE rispetta il primo vincolo: garantisce l’allocazione delle risorse trasmissive ad aggregati di traffico lungo tutto il percorso grazie alla instaurazione dinamica degli LSP DiffServ rispetta il secondo vincolo poiché: I suoi meccanismi garantiscono al singolo pacchetto il corretto trattamento all’interno di ogni nodo La loro integrazione porta quindi allo sviluppo di una architettura che permette una gestione esaustiva della QoS
Integrazione DiffServ–MPLS:  Ulteriori aggregati Alcune definizioni: Ordered Aggregate [OA]  un ulteriore livello di aggregazione tra BA che condividono vincoli di ordinamento Per-hop-behavior SCheduling [PSC]  un insieme di una o più PHB applicabili ad uno specifico OA Ad esempio AF1y è una PSC formata dalle PHB AF11, AF12, AF13
Integrazione DiffServ–MPLS:   DiffServ over MPLS Il funzionamento di DiffServ su reti MPLS prevede l’utilizzo di  un LSP per ogni coppia OA-PSC Un PSC contiene più di una PHB e quindi un LSR dovrà applicare differenti PHB a pacchetti che appartengono allo stesso LSP Poiché un LSR non controlla mai l’header IP si ha necessità di  incapsulare il DS Field nell’header MPLS Due possibilità: utilizzare il campo Ext: soluzione semplice, con lo svantaggio di poter codificare solamente 8 DSCP utilizzare parte della Label e il campo Ext: nel campo Ext è codificata la drop precedence mentre nella label la OA di appartenenza  (oltre alla FEC)
Integrazione DiffServ–MPLS: Creare LSP con RSVP-TE L’ idea è quella di utilizzare il meccanismo di allocazione delle risorse RSVP applicandolo, anziché a singoli flussi di traffico, ad  aggregati di traffico appartenenti ad un dominio DS In questo modo i tunnel LSP possono essere creati con il meccanismo RSVP Poiché aggregati di flussi difficilmente modificano le loro richieste di risorse, gli LSP risultano stabili
Bibliografia IETF,  RFC 2474 IETF,  RFC 2475 IETF,  RFC 3246 Cisco Systems , DiffServ - The Scalable End-to-End QoS Model Mauro Campanella , Tutorial su Qualità di Servizio Linux-Kongress , RSVP-TE daemon for DiffServ over MPLS under Linux Mario Baldi , MPLS Multi-protocol label switching Stefano Salsano , Dispense del corso di Reti di Trasporto  Walter Cerroni , Qualità del servizio nelle reti IP Giorgio Ventre e Simon Pietro Romano , Internet e la Quality of Service Stefano Giordano , Caratterizzazione del traffico Voice over IP in reti con architettura DiffServ Marco Di Stefano Enrico Gasperoni , MPLS Elementi del protocollo e della metodologia Andrea Esposito ,  Progetto ed implementazione dell'architettura client-server di un sistema di misura per applicazioni di traffic engineering  Pasquale Lepera , DiffServ Traffic Management with MPLS Matteo Carraresi , Studio ed implementazione di meccanismi per l'analisi prestazionale di una rete DiffServ tramite management SNMP Fabio Vitucci , Analisi simulativa di una rete QoS-IP dotata di un piano di controllo RSVP-TE e di funzionalità di scheduling del piano dati di tipo WFQ

More Related Content

Qualità del servizio con DiffServ e MPLS

  • 1. Qualità del Servizio con DiffServ e MPLS Corso di: Progetto di Sistemi Informatici II Realizzato da: Claudio Bortone
  • 2. Sommario Introduzione alla QoS su IP Modello DiffServ Architettura DiffServ Commutazione di etichetta MultiProtocol Label Switching Integrazione DiffServ-MPLS
  • 3. Introduzione alla QoS su IP
  • 4. Introduzione alla QoS su IP: Definizione di flusso Un flusso di traffico IP è univocamente identificato dalla quintupla: <indirizzo IP sorgente, porta sorgente, indirizzo IP destinazione, porta destinazione, protocollo di trasporto> È costituito da tutte le sequenze di bit che transitano dalla sorgente alla destinazione, è quindi unidirezionale .
  • 5. Introduzione alla QoS su IP: Servizio best effort Attualmente la rete Internet tratta allo stesso modo tutti i pacchetti inoltrandoli il prima possibile I vantaggi di questo approccio sono: semplicità scalabilità in caso di congestione il servizio non è mai rifiutato
  • 6. Introduzione alla QoS su IP: Perché QoS? In applicazioni sensibili alla variazione del tempo di trasmissione od a perdite di pacchetti (telemedicina, astronomia etc.) risulta di fondamentale importanza il controllo della Quality of Service [QoS] Una rete offre QoS quando è capace di distinguere e gestire uno specifico insieme di pacchetti in modo da soddisfare i parametri dell’applicazione che li ha generati
  • 7. Introduzione alla QoS su IP: Parametri di QoS 4 parametri associati ad una qualità del servizio: latency o one-way delay (latenza, pari al tempo di attraversamento in una direzione) jitter (variazione nel tempo del one-way delay) thrughput (o capacità); packet loss (perdita di pacchetti in una direzione)
  • 8. Introduzione alla QoS su IP: Latency o one way delay rappresenta il tempo necessario al primo bit del pacchetto per viaggiare dalla sorgente alla destinazione , dipende: dalla loro distanza fisica dal numero di apparati attivi e passivi attraversati lungo il tragitto dal carico di rete
  • 9. Introduzione alla QoS su IP: Jitter Il Jitter o one way packet delay variation, relativo ad un pacchetto all’interno di un flusso che va dal punto P1 al punto P2 , è la differenza tra il one-way delay del primo pacchetto e il one-way delay del secondo. Dipende soprattutto dal carico istantaneo e da malfunzionamenti della rete
  • 10. Introduzione alla QoS su IP: Throughput Con throughput (o capacità) si intende la velocità di trasferimento dati al livello IP espressa in bit al secondo e mediata su un intervallo predefinito lungo il percorso considerato. Le specifiche di throughput possono includere parametri quali: massima dimensione consentita di un burst banda di picco banda minima garantita
  • 11. Introduzione alla QoS su IP: Packet loss È denominata packet loss la percentuale di pacchetti spediti correttamente ma non ricevuti a destinazione
  • 12. Introduzione alla QoS su IP: Tecnologie Esistono diversi approcci tecnologici per la realizzazione di QoS su reti IP, tra i quali: utilizzo tradizionale del campo Type of Service [ToS] Integrated Services e Resource Reservation Protocol [IntServ e RSVP] Differentiated Services [DiffServ o DS] Differentiated Services in seguito verranno trattati in dettaglio
  • 13. Introduzione alla QoS su IP: Campo ToS Un byte nell’intestazione del pacchetto IP diviso in due parti: IP Precedence: classifica il pacchetto in una delle categorie di traffico ammissibili Type of Service: indica il tipo di scheduling che deve essere applicato Non è un supporto efficiente e scalabile alla QoS: permette di specificare solamente la priorità di un pacchetto e non la modalità di scarto a seconda della priorità poiché il campo IP-Precedence è costituito da soli tre bit e le classi Network Control, e Internetwork Control sono solitamente riservate ai router, il numero delle possibili classi di priorità si riduce sei
  • 14. Introduzione alla QoS su IP: IntServ e RSVP Si basa sul protocollo RSVP utilizzato per la segnalazione e l’allocazione di risorse relative ogni singolo flusso nella rete È una tecnologia complessa, datata e mai utilizzata su larga scala tutti i dispositivi del percorso del pacchetto (compresi gli apparati di partenza e destinazione) devono essere compatibili con il protocollo RSVP l’allocazione delle risorse necessita di aggiornamenti periodici sullo “stato” della rete, contribuendo ad un aumento generale del traffico il mantenimento dello stato di ogni flusso, aumenta la complessità e quindi i requisiti di memoria e CPU degli apparati, influendo sulla scalabilità generale dell’architettura
  • 15. Introduzione alla QoS su IP: DiffServ In assenza di QoS il traffico IP è considerato,come un unico flusso trattato in modalità best-effort Architetture IntServ separano il traffico IP nelle sue componenti end-to-end, applicando ad ogni singolo flusso politiche di QoS Le architetture differentiated service trattano il traffico IP come un insieme di “aggregati di flussi” chiamati behavior aggregate [BA] ; questo permette di applicare QoS ad insiemi di flussi anziché alla singola componente end-to-end
  • 17. Modello DiffServ : Packet Marking Il modell DiffServ prevede il riutilizzo dei primi sei bit del campo ToS dell’header IP chiamato ora DS Field Il campo DS Field può quindi codificare Differentiated Service CodePoint [DSCP] (classi di servizio) le quali permettono la gestione di un pari numero di Bheavior Aggregates L’operazione di assegnazione di un determinato pacchetto IP ad un certo Bheavior Aggregate prende il nome di Packet Marking Tutti i meccanismi di QoS implementati in architetture DiffServ si basano sul valore DSCP assunto dal DS Field
  • 18. Modello DiffServ: Per Hop Behavior Formalmente un Per Hop Behavior [PHB] è il comportamento osservabile esternamente, applicato da un nodo DS compatibile, ad uno specifico BA In pratica un PHB rappresenta il trattamento, in termini di scheduling, queuing, policing e shaping che un nodo DS applica ad un pacchetto IP con un determinato DSCP
  • 19. Modello DiffServ: Standard PHBs Per la costruzione di reti DiffServ compatibili ad oggi sono disponibili quattro PHBs standard: Default Class-Selector Expedited Forwarding [EF] Assured Forwarding [AFxy]
  • 20. Modello DiffServ: Class-Selector PHB e Default PHB Class-Selector: i valori DSCP nella forma “xxx000” sono chiamati Class-Selector è sono utilizzati per il mantenimento della compatibilità con la precedente tecnica IP-Precedence Questo PHB permette la coesistenza tra nodi DS compatibili e nodi IP-Precendence compatibili Default PHB: specifica che ad un pacchetto marcato con DSCP pari a “000000” sia applicato il tradizionale servizio Best-Effort ad un pacchetto che arrivi in un nodo DS il cui DSCP non è mappato in nessuna PHB verrà automaticamente applicata la Default PHB è un caso particolare della PHB Class-Selector
  • 21. Modello DiffServ: Expedited Forwarding [EF] PHB Permette di offrire un servizio di tipo “premium” all’ aggregato, i cui flussi, sono generati da applicazioni critiche, ha caratteristiche di: bassa latenza basso jitter bassa perdita banda garantita Grazie all’utilizzo di code a priorità, all’interno degli apparati DS compatibili, i pacchetti marcati con un DSCP pari a “101110” avranno diritto di precedenza
  • 22. Modello DiffServ: Assured Forwarding [AFxy] PHB Ad aggregati diversi vengono assicurati diverse garanzie di forwarding Il traffico può essere suddiviso in x classi a ciascuna delle quali è possibile associare y livelli di drop precedence L’ IETF raccomanda l’utilizzo di 4 classi (che potremmo chiamare platinum, gold, silver, bronze) con tre livelli di drop precedence ciascuna
  • 24. Architettura DiffServ: Terminologia DS Domain insieme contiguo di nodi compatibili con l’architettura che implementano le stesse PHB (forniscono quindi le stesse modalità di QoS) DS Region insieme di uno o più domini DS contigui, ed è capace di supportare servizi differenziati all’interno di ogni dominio che la compone Nodi DS Boundary apparati di bordo che definiscono il confine di un DS Domain, si occupano della classificazione e del condizionamento del traffico per adattarlo alle politiche di QoS adottate dai DS Domain della stessa DS Region. a seconda della direzione del traffico si distinguono in nodi: DS Boundary Ingress: traffico in ingresso (downstream) DS Boundary Egress: traffico in uscita (upstream) Nodi DS Interior nodi interni collegati solamente ad altri DS Interior o DS Boundary dello stesso dominio
  • 26. Architettura DiffServ: Classificatore Il processo di classificazione del traffico è caratterizzato da due fasi: individuazione di un sottoinsieme del traffico modifica del DSCP dei pacchetti che lo compongono in modo che siano riconducibili ad un ben specifico BA Il classificatore è utilizzato per convertire pacchetti, che soddisfano regole specifiche, in elementi gestibili da un condizionatore di traffico E’ possibile distinguere due diverse tipologie di classificatori: Behaviour Aggregate Classifier [BA Classifier] classifica basandosi unicamente sul campo DS codepoint Multi-Field Classifier [MA Classifier] classifica utilizzando più campi del pacchetto IP come il DS Codepoint, l’indirizzo IP sorgente e/o destinazione, etc.
  • 27. Architettura DiffServ: Caratterizzazione del traffico Una caratterizzazione del traffico (o traffic profiling) permette la specifica delle proprietà temporali di un flusso di traffico, fornendo le regole necessarie per stabilire se un pacchetto si trovi in uno dei due possibili stati: in-profile out-of-profile Esempio: una caratterizzazione basata sul paradigma token-bucket potrebbe essere codepoint=X, usa token-bucket r,b a tutti i pacchetti, il cui DS codepoint è pari ad X , è applicata la funzione di misurazione token-bucket, con rate r e dimensione b un pacchetto, sarà catalogato in-profile nel caso in cui sia disponibile un gettone per il suo inoltro out-of-profile nel caso in cui il “secchio sia vuoto”
  • 28. Architettura DiffServ: Condizionatore Il condizionatore si occupa di assicurare che, il traffico entrante in un dominio DS, sia conforme alle specifiche del contratto di Service Level Agreement [SLA] stipulato, tra l’amministrazione del proprio dominio DS e quella del dominio DS di downstream È composto dai seguenti elementi: Meter: verifica se un pacchetto è in/out-of-profile Marker: imposta un particolare DSCP al pacchetto Shaper: ritarda alcuni o tutti i pacchetti di un flusso rendendolo conforme alla caratterizzazione scelta Dropper: come lo Shaper ma scarta pacchetti invece di ritardarli
  • 29. Architettura DiffServ: Transito di un pacchetto Il classificatore associerà il pacchetto ad una determinata classe di servizio tramutandolo in un istanza per un determinato condizionatore il misuratore verificherà se il pacchetto si trova in-profile o out-of–profile a seconda dello stato risultante, potranno essere applicate le operazioni operazioni di marcatura , di shaping o di dropping prima dell’inoltro
  • 30. Commutazione di etichetta (label switching)
  • 31. Label Switching: Generalità È una tecnica di instradamento che introduce meccanismi orientati alla commutazione di circuito in ambienti a commutazione di pacchetto realizzando reti a commutazione di etichetta o label switching L’idea di base è quella di associare a tutti i pacchetti un breve identificativo di lunghezza fissa detto Label , questa sarà utilizzata, dagli apparati di rete, per effettuare un instradamento veloce basato sul suo valore
  • 32. Label Switching : Instradamento tradizionale Nei router convenzionali la decisione di instradamento è presa solo sulla base dell’indirizzo IP di destinazione Non c’è controllo sull’istradamento
  • 33. Label Switching : Instradamento con etichette Il label switching consente di assegnare etichette diverse a flussi diversi anche se diretti alla stessa destinazione I router instradano i pacchetti in base all’etichetta Si ottiene un controllo delle rotte seguite dai flussi di traffico, consentendo un efficace bilanciamento del traffico
  • 35. MPLS: Storia Il principale limite delle varie soluzioni label switching è che sono proprietarie e non interoperabili Quasi tutte le soluzioni offerte dai vendor richiedono ATM come substrato, e quindi non possono operare con protocolli come Frame Relay, PPP, Ethernet, etc. IETF nel gennaio 1997 ha dato vita all’ MPLS Working Group al fine integrare le varie proposte in modo da produrre uno standard multivendor e multiprotocollo Il risultato è stato MPLS considerato una evoluzione del Tag Switching della Cisco
  • 36. MPLS: Pila ISO/OSI All’interno della pila ISO/OSI MPLS si colloca in uno strato intermedio compreso tra rete e il data-link Risulta quindi indipendente sia dalla sottorete di trasporto (Frame Relay, ATM, SDH etc.) sia dai protocolli di rete adottati
  • 37. MPLS: Posizionamento dell’ etichetta La label è una entità breve e di lunghezza fissa chiamata shim header Non codifica indirizzi di rete E’ trasportata assieme al pacchetto, tipicamente è inserita tra l’intestazione del protocollo di livello due e prima dell’intestazione IP
  • 38. MPLS: Struttura dello Shim Header LABEL : è l’etichetta vera e propria utilizzata per il trasferimento Exp : 3 bit riservati per uso sperimentale (potrebbe indicare la classe di servizio a cui il pacchetto appartiene) S : è un bit usato nella tecnica di label stacking in reti MPLS gerarchiche è possibile utilizzare MPLS su diversi livelli di instradamento chiamati domini (simile al concetto di routing gerarchico) quando si entra in un dominio MPLS, viene aggiunta un’etichetta MPLS valida in quel dominio che viene rimossa quando se ne esce se non ci sono ulteriori etichette S = 1, altrimenti S = 0 TTL : tempo di vita del pacchetto
  • 39. MPLS: Terminologia Label Edge Router [LER] : router di frontiera di una rete MPLS; svolge funzionalità di instradamento da e verso l’esterno,applica e rimuove le label rispettivamente ai paccheti in ingresso e in uscita Label Switching Router [LSR] : router che operano la commutazione di etichetta all’interno della rete e prevedono il supporto di funzionalità di instradamento Label Distribution Protocol [LDP] : in congiunzione con i protocolli di routing tradizionali, è utilizzato per distribuire le label tra i dispositivi della rete Label Switched Path [LSP]: Il percorso attraverso uno o più LSR seguito da un pacchetto appartenente ad un certa FEC Forwarding Equivalence Class [FEC] : un insieme di pacchetti IP che vengono instradati e trattati allo stesso modo (ad es. lungo lo stesso percorso, con lo stesso trattamento)
  • 40. MPLS: Processo di instradamento e FEC Nel processo di instradamento di un pacchetto possono essere individuate due fasi ricavare dall’ intestazione le informazioni necessarie per inserirlo in una determinata classe FEC ricavare le informazioni per l’inoltro dalla tabella di routing (o tabella FEC-To-Next-Hop) in base alla classe FEC di appartenenza Una FEC può essere quindi considerata come una classe di pacchetti che il router inoltra sulla stessa rotta
  • 41. MPLS: Granularità FEC E’ utile distinguere diversi gradi di granularità con cui una FEC può essere determinata, ad esempio: utilizzando il solo prefisso IP di destinazione (come avviene nei router IP convenzionali) utilizzando l’intera quintupla che caratterizza un flusso di traffico Può essere quindi calibrata in modo da ottenere il giusto compromesso di scalabilità ed efficienza
  • 42. MPLS: Funzionamento Il LER di ingresso al backbone MPLS analizza l’intestazione IP del pacchetto, classifica il pacchetto, aggiunge la label e lo trasmette al next hop LSR All’interno del dominio MPLS gli LSR instradano il pacchetto lungo il LSP in accordo con la label specificata Il LER di uscita rimuove la label ed il pacchetto viene instradato all’indirizzo destinazione in base all’indirizzo IP (cioè nel modo tradizionale).
  • 43. MPLS: Rete di esempio
  • 44. MPLS: Esempio di instradamento
  • 45. MPLS: Label Distribution Protocol [LDP] Estensione di protocolli IGP come OSPF-TE e IS-IS-TE, utilizzati su reti MPLS per il supporto del Traffic Engineering [TE] Sono utilizzati per la distribuzione delle label tra gli LSR permettendo la creazione dinamica degli LSP (garantendo, tra l’altro, la fault-tollerance) Due modalità per la distribuzione delle label: downstream on demand: un LSR richiede una label al suo next-hop per una data FEC upstream unsolicited: un LSR distribuisce accoppiamenti label-FEC agli altri LSR
  • 46. MPLS: Sfatare i miti Esistono alcuni miti riguardo il ruolo di MPLS “ MPLS utilizzato per aumentare la velocità delle IP route lookup” sebbene questo sia stato uno degli obiettivi originari delle soluzioni proprietarie nella metà delgi anni ’90, i recenti progressi nella tecnologia del silicio consentono di effettuare una IP route lookup alla stessa velocità di una lookup MPLS “ MPLS è stato progettato per eliminare completamente la necessità del routing IP convenzionale” l’ analisi di un pacchetto a livello 3 è fondamentale per la sicurezza gli host non implementano MPLS , quindi i pacchetti IP trasmessi da un host devono essere elaborati a livello 3 almeno dal primo e dall’ultimo router se un LER esamina l’header IP ed assegna una label, la label rappresenta una route aggregata (sarebbe impensabile avere un LSP per ciascun host su Internet), questo significa che, in qualche punto lungo il tragitto, l’header IP dovrà essere riesaminato a livello 3 per determinare una granularità più fine per continuare l’instradamento
  • 48. Integrazione DiffServ–MPLS: Vincoli per una corretta QoS Per supportare la QoS le infrastrutture di rete devono soddisfare due vincoli fondamentali : l’allocazione delle risorse di rete (in una certa misura) deve essere garantita in tutto il percorso effettuato dal flusso di traffico anche in situazione di congestione o malfunzionamento degli apparati di rete ad ogni pacchetto di un flusso di traffico, in ogni nodo della rete, deve essere applicato un trattamento che permetta il soddisfacimento dei parametri di QoS
  • 49. Integrazione DiffServ–MPLS: Architetture DiffServ-MPLS MPLS in congiunzione con protocolli IGP con le opportune estensioni TE rispetta il primo vincolo: garantisce l’allocazione delle risorse trasmissive ad aggregati di traffico lungo tutto il percorso grazie alla instaurazione dinamica degli LSP DiffServ rispetta il secondo vincolo poiché: I suoi meccanismi garantiscono al singolo pacchetto il corretto trattamento all’interno di ogni nodo La loro integrazione porta quindi allo sviluppo di una architettura che permette una gestione esaustiva della QoS
  • 50. Integrazione DiffServ–MPLS: Ulteriori aggregati Alcune definizioni: Ordered Aggregate [OA] un ulteriore livello di aggregazione tra BA che condividono vincoli di ordinamento Per-hop-behavior SCheduling [PSC] un insieme di una o più PHB applicabili ad uno specifico OA Ad esempio AF1y è una PSC formata dalle PHB AF11, AF12, AF13
  • 51. Integrazione DiffServ–MPLS: DiffServ over MPLS Il funzionamento di DiffServ su reti MPLS prevede l’utilizzo di un LSP per ogni coppia OA-PSC Un PSC contiene più di una PHB e quindi un LSR dovrà applicare differenti PHB a pacchetti che appartengono allo stesso LSP Poiché un LSR non controlla mai l’header IP si ha necessità di incapsulare il DS Field nell’header MPLS Due possibilità: utilizzare il campo Ext: soluzione semplice, con lo svantaggio di poter codificare solamente 8 DSCP utilizzare parte della Label e il campo Ext: nel campo Ext è codificata la drop precedence mentre nella label la OA di appartenenza (oltre alla FEC)
  • 52. Integrazione DiffServ–MPLS: Creare LSP con RSVP-TE L’ idea è quella di utilizzare il meccanismo di allocazione delle risorse RSVP applicandolo, anziché a singoli flussi di traffico, ad aggregati di traffico appartenenti ad un dominio DS In questo modo i tunnel LSP possono essere creati con il meccanismo RSVP Poiché aggregati di flussi difficilmente modificano le loro richieste di risorse, gli LSP risultano stabili
  • 53. Bibliografia IETF, RFC 2474 IETF, RFC 2475 IETF, RFC 3246 Cisco Systems , DiffServ - The Scalable End-to-End QoS Model Mauro Campanella , Tutorial su Qualità di Servizio Linux-Kongress , RSVP-TE daemon for DiffServ over MPLS under Linux Mario Baldi , MPLS Multi-protocol label switching Stefano Salsano , Dispense del corso di Reti di Trasporto Walter Cerroni , Qualità del servizio nelle reti IP Giorgio Ventre e Simon Pietro Romano , Internet e la Quality of Service Stefano Giordano , Caratterizzazione del traffico Voice over IP in reti con architettura DiffServ Marco Di Stefano Enrico Gasperoni , MPLS Elementi del protocollo e della metodologia Andrea Esposito , Progetto ed implementazione dell'architettura client-server di un sistema di misura per applicazioni di traffic engineering Pasquale Lepera , DiffServ Traffic Management with MPLS Matteo Carraresi , Studio ed implementazione di meccanismi per l'analisi prestazionale di una rete DiffServ tramite management SNMP Fabio Vitucci , Analisi simulativa di una rete QoS-IP dotata di un piano di controllo RSVP-TE e di funzionalità di scheduling del piano dati di tipo WFQ