Multi Protocol Label Switching (MPLS): Architettura e

Transcript

Multi Protocol Label Switching (MPLS): Architettura e
Marco Listanti
Dipartimento INFOCOM
Università di Roma "La Sapienza"
Multi Protocol Label Switching (MPLS):
Architettura e Ingegneria del Traffico
Versione 5.0
A.A. 2007-2008
Nota:
Allo scopo di migliorare la stesura della presente dispensa, si invitano gli studenti che ne
usufruiranno a segnalare eventuali errori e/o imprecisioni presenti nel testo e nelle figure.
Un grazie anticipato a tutti per la collaborazione.
1
Indice
I
MULTI PROTOCOL LABEL SWITCHING (MPLS) – PRINCIPI GENERALI.............................. 3
I.1
INTRODUZIONE .................................................................................................................................. 3
I.2
LA TECNICA MPLS: PRINCIPI GENERALI ............................................................................................ 5
I.3
LABEL SWITCHING ROUTER (LSR) E MODALITÀ DI DEFINIZIONE DELLE LABEL ................................ 7
I.4
LABEL SWITCHING PATH (LSP): DEFINIZIONE E FUNZIONI DEGLI LSR............................................ 10
I.4.1
I.4.2
I.4.3
II
Tabelle di trattamento delle label in un LSR....................................................................... 11
Penultimate Hop Popping. .................................................................................................. 12
Aggregazione e merging delle label .................................................................................... 13
I.5
INSTAURAZIONE E SELEZIONE DEL PERCORSO DI UN LSP ................................................................ 14
I.6
LSP TUNNELS ................................................................................................................................. 16
I.7
ELABORAZIONE DEL CAMPO TTL DELLA LABEL MPLS .................................................................. 18
MULTI PROTOCOL LABEL SWITCHING (MPLS) – GESTIONE DELLE LABEL E
INGEGENRIA DEL TRAFFICO .......................................................................................................... 21
II.1
PROCEDURE DI GESTIONE DELLE LABEL .......................................................................................... 21
II.1.1
II.1.2
II.1.3
II.1.4
II.1.5
II.1.6
II.2
Procedura di distribuzione (Distribution procedure) ......................................................... 22
Procedura di disattivazione (Withdrawal procedure)......................................................... 24
Procedura di richiesta (Request procedure) ....................................................................... 24
Procedura di dichiarazione di indisponibilità (Not Available procedure).......................... 25
Procedura di rilascio (Release procedure) ......................................................................... 25
Procedura di uso della label (Label Use procedure) .......................................................... 26
MPLS E INGEGNERIA DEL TRAFFICO ............................................................................................... 26
II.2.1
II.2.2
II.2.3
II.2.4
II.2.5
II.2.6
Aspetti generali del ingegneria del traffico in reti IP.......................................................... 26
Limiti degli attuali protocolli di routing IP......................................................................... 28
Definizione del problema di Ingegneria del Traffico in MPLS ........................................... 29
Funzioni e attributi associati ai Traffic Trunk (Traffic Trunk Attribute) ............................ 31
Attributi associati alle risorse di rete (Resource Attribute) ................................................ 34
Constraint-Based Routing (CBR)........................................................................................ 34
II.3
SUPPORTO DELLA QUALITÀ DI SERVIZIO IN RETI MPLS (ARCHITETTURA DIFFSERV OVER MPLS) . 35
II.4
ESTENSIONE DEL PROTOCOLLO RSVP PER L’INSTAURAZIONE DI LSP (RSVP-TE) .......................... 38
II.5
BIBLIOGRAFIA ................................................................................................................................. 41
2
I
I.1
MULTI PROTOCOL LABEL SWITCHING (MPLS) – PRINCIPI
GENERALI
Introduzione
La definizione dell’architettura Multi-Protocol Label Switching (MPLS) ha avuto
origine dall’intensa attività, condotta a partire dalla metà degli anni ’90 da diverse aziende
manifatturiere nel settore del networking IP, che aveva come obiettivo la definizione di un
modo di trasferimento capace di unire le caratteristiche delle tecnologie IP e ATM.
In una prima fase, tale attività ha condotto alla proposta di numerosi nuovi paradigmi di
rete tra cui: IP switching (sviluppata in IPSILON); Tag switching (origine CISCO); Aggregate
route-based IP switching (definita da IBM). L’obiettivo di queste proposte era quello di
migliorare le prestazioni della tecnologia IP, con particolare riguardo al throughput dei router
e al ritardo di commutazione dei pacchetti, utilizzando le soluzioni tipiche dell’ATM.
L’approccio seguito era lo stesso in tutte le soluzioni e consisteva nei seguenti principi: a)
individuare, mediante un protocollo standard di routing (es. OSPF), i cammini tra due punti
terminali all’interno della rete; b) identificare questo cammino mediante un’etichetta; c)
assegnare questa etichetta ai pacchetti IP entranti; d) effettuare la commutazione dei pacchetti
esclusivamente mediante l’elaborazione della sola etichetta (label switching) e non mediante
l’elaborazione dell’indirizzo di destinazione e, eventualmente, di altri campi dell’header del
pacchetto IP.
La ragione di questo approccio risiedeva nel fatto che, all’epoca, la commutazione
ATM, che adotta la tecnica label switching in modo nativo, era nettamente più veloce di
quella IP che è invece basata sull’elaborazione degli indirizzi. L’obiettivo primario era quindi
quello di eseguire, per quanto possibile, la commutazione nello strato a commutazione di
etichetta piuttosto che in quello IP.
A seguito di queste iniziative, a partire dal 1997, l’IETF ha proposto la creazione di un
gruppo di lavoro avente come obiettivo lo sviluppo di uno standard comune denominato Multi
Protocol Label Switching (MPLS). La prima edizione di questo standard risale al gennaio
2001. Il termine Multi Protocol indica che la soluzione proposta in questo standard può essere
applicata a qualsiasi protocollo di rete (IP, SNA, IPX, ecc.). Nel seguito in questo capitolo ci
si riferirà esclusivamente al caso di supporto del protocollo IP che rappresenta l’applicazione
di maggiore interesse della tecnica MPLS.
Nel corso degli stessi anni, mentre si sviluppavano i lavori di definizione
3
dell’architettura MPLS, lo scenario tecnologico ha subito un’importante evoluzione con la
diffusione di una nuova generazione di router IP (GigaRouter) che di fatto cancellavano il
divario di prestazioni tra la tecnica ATM e quella IP dal punto di vista dei tempi di
commutazione e del throughput. Tuttavia, nonostante questo mutamento tecnologico, la
tecnica MPLS ha continuato a mantenere un ruolo chiave perché è in grado di fornire ad una
rete IP, oltre ad un miglioramento delle prestazioni, una serie di funzionalità addizionali,
quali:
•
Supporto della qualità di servizio
Una rete connectionless, come è una rete IP, non è in grado di soddisfare in modo pieno e
pienamente affidabile le richieste di trasferimento con garanzia di determinati parametri
di QoS: l’architettura Diffserv opera su traffico aggregato, mentre l’approccio utilizzato
nell’architettura Intserv è difficilmente scalabile. Una rete basata su un modo di
trasferimento orientato alla connessione ha invece la possibilità di gestire in modo molto
efficiente gli aspetti di QoS; la tecnica MPLS, che definisce una modalità di trasferimento
connection-oriented in una rete IP, fornisce quindi la base per la fornitura flessibile di
servizi con prefissati livelli di qualità.
•
Ingegneria del traffico
La tecnica MPLS consente l’instaurazione di cammini in rete in modo da ottimizzare
l’utilizzazione delle sue risorse. Questa funzione, normalmente indicata con il termine
Ingegneria del traffico (Traffic Engineering – TE), non può essere realizzata, almeno in
modo semplice, mediante le tecniche tradizionali di instradamento utilizzate nelle reti IP.
La ragione di questo risiede nel fatto che nelle reti IP il traffico tra due punti segue
sempre un’unica via, mentre con MPLS tra due punti può essere utilizzata una pluralità di
cammini; i flussi di traffico possono essere quindi instradati utilizzando tutti i camini
disponibili in modo da ottenere una distribuzione uniforme del traffico sulle risorse di
rete e di conseguenza un miglioramento complessivo delle prestazioni di rete.
•
Definizione di servizi evoluti
La tecnica MPLS consente di definire reti private virtuali (Virtual Private Network –
VPN) all’interno di una rete IP. Mediante questo servizio il traffico tra punti d’accesso
remoti può transitare in modo trasparente e completamente segregato dagli altri flussi di
traffico all’interno della rete IP con conseguenti vantaggi sia per la gestione della qualità
del servizio che per i requisiti di sicurezza.
•
Realizzazione di tecniche efficienti di riconfigurazione dei cammini in caso di guasto.
4
La tecnica MPLS consente, al momento dell’instaurazione di un cammino in rete, la
predisposizione di cammini alternativi, detti di protezione o di back-up, da utilizzarsi in
caso di guasto di uno o più tratte del cammino principale per re-instradare il flusso di
traffico supportato da quest’ultimo; questa soluzione consente di raggiungere dei tempi di
riconfigurazione dei cammini molto inferiori a quelli ottenibili utilizzando i normali
protocolli di routing IP e praticamente comparabili con quelli tipici di tecniche a circuito
come l’SDH.
Nel seguito vengono dapprima descritte le caratteristiche generali dell’architettura
MPLS e le sue modalità di applicazione, successivamente sono illustrate le funzionalità di
Ingegneria del traffico che sono rese disponibili dall’utilizzazione della tecnica MPLS.
I.2
La tecnica MPLS: principi generali
In una rete senza connessione, come la rete IP, il cammino seguito da un pacchetto tra la
sorgente e la destinazione viene determinato mediante la composizione di operazioni di
instradamento elementari ed indipendenti eseguite dai router che sono attraversati dal
pacchetto. Ogni router sceglie il router successivo (next-hop) verso cui rilanciare il pacchetto.
Tale scelta è eseguita esaminando l’header del pacchetto e accedendo ad una tabella di
instradamento che è aggiornata mediante l’utilizzazione di un protocollo di instradamento.
La scelta del next-hop operata da un router può essere modellata come la
concatenazione di due funzioni distinte: i) la suddivisione dell’insieme dei pacchetti da
rilanciare in una serie di sottoinsiemi distinti, denominati Forwarding Equivalent Class
(FEC); ii) l’associazione di una FEC ad uno specifico next-hop. Secondo questo modello, i
pacchetti appartenenti ad una stessa FEC saranno rilanciati da un router verso lo stesso nexthop. La Figura I.2.1 illustra il significato ora illustrato del concetto di FEC.
In particolare, in una rete IP, un router classificherà due pacchetti, che recano due
indirizzi di destinazione diversi A e B, come appartenenti alla stessa FEC se nella tabella di
instradamento del router esiste un prefisso X per cui tale prefisso rappresenta la
corrispondenza di lunghezza maggiore (longest match) per entrambi gli indirizzi A e B. In
questa visione, ogni router esegue, indipendentemente dagli altri, la propria classificazione dei
pacchetti in FEC e quindi due pacchetti che sono classificati come appartenenti alla stessa
FEC in un router possono appartenere a FEC diverse in un altro router.
In MPLS [RFC3031] l’assegnazione di un pacchetto ad una FEC è effettuata, una volta
per tutte, al momento in cui il pacchetto entra in una rete MPLS. La FEC assegnata al
pacchetto è codificata in un’etichetta, di lunghezza breve e fissa, trasportata nell’header del
5
pacchetto stesso. Questa etichetta sarà indicata nel seguito con il termine label. Quando il
router attraverso cui il pacchetto è entrato in una rete MPLS rilancia il pacchetto, questi
assegna al pacchetto il valore della label che sarà utilizzata dal router successivo per effettuare
la commutazione. Quando un pacchetto entra in un router, la label è utilizzata infatti come
indice per l’accesso diretto ad una tabella che conterrà il valore del next-hop e il valore della
nuova etichetta. La vecchia etichetta è sostituita con la nuova e il pacchetto è rilanciato verso
il router successivo. E’ il caso di sottolineare che una volta che ad un pacchetto sia stata
assegnata una label, la commutazione del pacchetto stesso è effettuata esaminando
esclusivamente la label senza tenere conto del valore degli altri campi dell’header IP.
FEC a
Payload
Next hop 1
FEC b
Header IP
......
......
FEC k
.....
FEC W
Next hop i
......
Next hop N
Figura I.2.1 - Illustrazione del concetto di FEC
I vantaggi della tecnica label switching sono numerosi:
•
il rilancio dei pacchetti è notevolmente semplificato e quindi si ottiene un miglioramento
delle prestazioni di un router IP;
•
il router di ingresso di una rete MPLS può associare un pacchetto ad una FEC anche sulla
base di informazioni non direttamente contenute nell’header IP del pacchetto; ad esempio
la porta di ingresso al router o il tipo di flusso informativo; si ha la possibilità quindi di
definire le FEC in modo più generale e flessibile;
•
l’etichetta assegnata ad un pacchetto che entra in una rete MPLS può essere definita in
modo da tenere conto del particolare router di ingresso e quindi rendendo possibile la
differenziazione del trattamento del traffico interno alla rete in base a questa
informazione;
•
in generale le regole di assegnazione delle label ai pacchetti possono essere rese più
sofisticate considerando anche altri fattori, quali ad esempio la priorità, la qualità di
servizio, senza per questo avere nessun impatto sulla complessità delle operazioni di
commutazione all’interno della rete;
6
•
un insieme di pacchetti può essere forzato a seguire in rete un cammino fissato a priori
(explicit routing), indipendentemente dalle indicazioni fornite dal tradizionale
instradamento IP; questa funzione è di fondamentale importanza nella realizzazione delle
funzioni di ingegneria del traffico.
In accordo alla precedenti osservazioni, una FEC può quindi corrispondere a: i) un
insieme di pacchetti che in un router sono instradati in accordo ad uno stesso prefisso IP: ii)
un flusso di pacchetti che devono subire lo stesso trattamento in rete (stesso percorso, stessa
qualità di servizio, ecc.). Nel primo caso un rouer IP con funzionalità MPLS può
autonomamente definire le FEC e quindi procedere all’assegnazione delle label; nel secondo
caso la definizione delle FEC deve essere stabilita a priori dall’amministratore di rete che
deve effettuare l’opportuna configurazione dei router. L’assegnazione delle label deve essere
quindi attivata utilizzando funzionalità del piano di controllo della rete mediante specifici
protocolli di segnalazione.
numerose tecniche di commutazione a pacchetto: le più note di queste tecniche sono
l’X.25, il Frame Relay e l’ATM.
A titolo di esempio nel caso dell’X.25, una tecnica a pacchetto largamente utilizzata
negli anni ’70 e ’80, il concetto di label trova una quasi completa analogia con il numero di
canale logico (logical channel number) che aveva lo scopo di distinguere i vari flussi di
traffico generati utenti diversi che condividevano lo stesso link. Nelle tecniche Frame Relay e
ATM la corrispondenza della label può essere trovata rispettivamente nel Data Link
Connection Identifier (DLCI) e nel coppia Virtual Channel Identifier e Virtual Path Identifier
(VCI/VPI) che hanno lo scopo di distinguere i flussi di traffico generati dagli utenti e di
determinare il tipo di trattamento in rete dei vari flussi.
I.3
Label Switching Router (LSR) e modalità di definizione delle label
Nel paragrafo precedente è stato già definito il concetto di FEC come un insieme di
pacchetti IP che devono essere trattati da un router nello stesso modo, ad esempio: che devono
essere rilanciati verso lo stesso next-hop e appartenenti alla stessa classe di servizio. Ad ogni
FEC è assegnata una label che sarà utilizzata dai router per eseguire la funzione di
commutazione dei pacchetti.
Un router che supporta la tecnica MPLS è denominato Label Switching Router (LSR) e
la tipologia di commutazione è denominata in generale come label switching.
Un dominio di rete MPLS è formato quindi da un insieme di LSR direttamente connessi
tra loro. Il traffico entrante ad un dominio MPLS può provenire sia da reti esterne al dominio,
7
quali ad esempio le reti locali d’utente, sia da router IP tradizionali appartenenti a sezioni di
rete IP che non supportano la tecnologia MPLS (Figura I.3.1). Un LSR che connette un
dominio MPLS con altri nodi che sono all’esterno del dominio è detto Edge LSR, mentre un
LSR che è connesso solo ad altri LSR è detto Core LSR.
Rete IP
Edge
LSR
Core
LSR
Edge
LSR
Core
LSR
Rete
IP
Rete
IP
Dominio
MPLS
Edge
LSR
Core LSR
Figura I.3.1 – Rappresentazione di un dominio MPLS.
Una label è un identificatore di lunghezza fissa che è utilizzato per identificare una FEC.
Una label ha validità locale, ciò significa che l’associazione tra FEC e uno specifico valore di
una label è valida solo su una tratta di rete, la stessa FEC può essere quindi identificata da
label diverse su tratte di rete diverse.
L’operazione di associazione di una label ad una FEC è denominata binding. Due LSR,
indicati come Ru e Rd, possono accordarsi per eseguire un’associazione tra la FEC F e
l’etichetta L, ciò significa che quando Ru trasmetterà verso Rd un pacchetto appartenente alla
FEC F, il pacchetto venga etichettato con la label L. Tale etichetta sarà indicata come label
uscente dal LSR Ru e come label entrante al LSR Rd. Inoltre nei confronti di questo binding,
Ru sarà indicato come upstream LSR, mentre Rd avrà il ruolo di downstream LSR. La Figura
I.3.2 illustra i concetti ora introdotti. E’ responsabilità dei due LSR, Ru e Rd, assicurare
l’univocità dell’associazione tra la FEC F e la label L, ciò significa che non dovranno essere
accettati ulteriori binding tra la label L e FEC diverse da F.
Nell’architettura MPLS la decisione di effettuare un’associazione tra una FEC F e una
label L è sempre presa dal downstream LSR che informa l’upstream LSR dell’avvenuto
binding. Quest’ultima operazione è detta distribuzione della label ed è quindi sempre eseguita
nella direzione downstream-upstream rispetto alla direzione del traffico. Le procedure seguite
8
da un downstream LSR per distribuire le etichette verso l’upstream LSR sono definite in un
protocollo denominato genericamente protocollo di distribuzione delle etichette (Label
Distribution Protocol. - LDP). Come sarà più in dettaglio illustrato nel seguito, l’architettura
MPLS [RFC 3031] non definisce l’uso di uno specifico protocollo di distribuzione, ma sono
state proposti numerosi protocolli, sia derivati da estensioni di protocolli esistenti, es. MPLSBGP, MPLS-RSVP, sia appositamente definiti, es. MPLS-LDP, MPLS-CR-LDP. Nel seguito,
salvo indicazione contraria, con il termine Label Distribution Protocol si indicherà un
generico protocollo di distribuzione delle etichette, senza riferimento specifico ad uno dei
protocolli proposti.
Pacchetti della FEC F
Label L
Direzione del traffico
Direzione di distribuzione delle label
Upstream
LSR - Ru
Downstream
LSR - Rd
Figura I.3.2 - Illustrazione dei concetti di binding tra label e FEC.
L’architettura MPLS prevede un modello molto flessibile di uso delle label in cui un
singolo pacchetto può trasportare un numero m, con m≥1, di label organizzate in m livelli
gerarchici (label stack). La label di livello gerarchico più basso sarà indicata come label di
livello 1, mentre la label di livello gerarchico più elevato sarà indicata come label di livello m
(Figura I.3.3). In ogni caso, qualsiasi sia il numero di label trasportate l’instradamento di un
pacchetto in un LSR dipende sempre ed esclusivamente dalla label di livello gerarchico
maggiore trasportata dal pacchetto stesso.
E’ il caso di notare che il concetto di label stack può essere visto come una
generalizzazione del doppio livello di multiplazione (VCI/VPI) definito nell’ATM. Come sarà
illustrato anche nel seguito, la disponibilità di un numero qualsiasi di livelli di etichetta è
particolarmente utile per la creazione di tunnel MPLS e per la definizione di livelli gerarchici
all’interno di un dominio MPLS.
Label
m
Label
2
Label
1
Datagramma IP
Figura I.3.3 – Illustrazione del concetto di label stack
9
Una label MPLS [RFC 3032] ha una lunghezza uguale a 32 bit ed il suo formato è
mostrato in Figura I.3.4. Il significato dei campi è il seguente:
32 bit
8 bit
8 bit
Label value
20 bit
8 bit
Exp S
3 bit
8 bit
TTL
8 bit
1 bit
Figura I.3.4 – Formato di una label MPLS.
•
Label value (20 bit): indica il valore della label ed è utilizzato come indice per l’accesso
alla tabella di routing dell’LSR in cui sono indicati l’identificatore della porta d’uscita
verso cui deve essere rilanciato il pacchetto e il valore della label sulla tratta successiva.
•
Experimental Use (EXP) (3 bit): questi bit sono riservati per usi successivi, ad esempio,
nel caso di architettura Diffserv over MPLS, possono codificare la classe di servizio a cui
appartiene il pacchetto.
•
Bottom of Stack (S) (1 bit): se questo bit è posto ad 1, indica che la label è quella di livello
più basso, in tutti gli altri casi il bit S è sempre posto a 0.
•
Time To Live (TTL) (8 bit): il campo ha un significato del tutto analogo a quello del
campo omonimo presente nel header di un datagramma IP ed indica il numero massimo di
salti che ancora il pacchetto può eseguire in rete prima che raggiunga la destinazione o
venga scartato. Il valore di tale campo viene decrementato di uno ogniqualvolta viene
elaborato da un LSR. La descrizione puntuale delle regole di elaborazione del campo TTL
saranno indicate nel seguito.
I.4
Label Switching Path (LSP): definizione e funzioni degli LSR
Il cammino seguito da un pacchetto in una rete MPLS è denominato Label Switching
Path (LSP). In particolare, per uno specifico pacchetto P, un LSP di livello m è definito dalla
sequenza di LSR (R1, R2, …, Rn) che soddisfano le seguenti proprietà:
•
l’LSR R1, che rappresenta il punto di inizio del LSP, è il router che applica la label di
ordine m al pacchetto P;
10
•
in tutti gli LSR Ri (1<i<n) il pacchetto P sarà instradato attraverso l’esame della label di
ordine m, inoltre il numero di label contenute nel pacchetto sarà sempre non inferiore a m;
•
se nel transito tra due LSR, Ri e Ri+1, il pacchetto P attraversa altri elementi di rete che
effettuano l’instradamento sulla base di una label diversa da quella di ordine m, ad
esempio di ordine m+k, ciò avviene solo se altre label k addizionali sono state aggiunte
dal router Ri e da altri elementi di rete intermedi.
In altre parole un LSP di ordine m per un pacchetto P è dato dalla sequenza di router per
cui: a) il primo LSP (Ingress LSR) applica la label di ordine m; b) i router intermedi (Transit
LSR) eseguono l’instradamento elaborando e quindi sostituendo la label di ordine m; c)
l’ultimo router (Egress LSR) che provvede all’eliminazione della label di ordine m.
La Figura I.4.1 illustra i concetti precedentemente esposti nel caso di gestione di
etichette di ordine m=1.
Rete
MPLS
Ingress Routing Table
Destination
Out
134.5/16
(y1, 84)
MPLS Table
Out
(x3, 46)
(y3, 3)
134.5.1.5 46
134.5.1.5
y3
x3
y1
x4
134.5.1.5
x2
134.5.1.5 84
y2
Egress
LSR
3
Egress Routing Table
Transit
LSR
Rete IP
Rete IP
Transit
LSR
Ingress
LSR
134.5.1.5
In
In
Next Hop
(x4, 3)
134.5.6.1
MPLS Table
In
Out
(x2, 84)
(y2, 46)
Figura I.4.1 – Illustrazione del concetto di Label Switched Parth (LSP) in una rete MPLS.
I.4.1
Tabelle di trattamento delle label in un LSR
Entrando in un maggior grado di dettaglio nel meccanismo di elaborazione delle label in
un nodo MPLS, si evidenzia che un LSR memorizza le informazioni di correlazione tra le
label entranti e quelle uscenti in tabelle denominate Next Hop Label Forwarding Entry
(NHLFE). Una NHLFE contiene le seguenti informazioni:
•
Il next hop verso cui deve essere rilanciato il pacchetto;
•
Le operazioni da eseguire sulle etichette del pacchetto, queste possono appartenere ad una
delle seguenti categorie:
11
− sostituzione dell’etichetta di livello gerarchico più elevato (label swapping);
− eliminazione dell’etichetta di livello gerarchico più elevato (label popping);
− sostituzione dell’etichetta di livello gerarchico correntemente più elevato e
inserimento di una nuova etichetta in testa allo stack delle label (label pushing).
Nel caso in cui ad un LSR arrivi un pacchetto che trasporta una label MPLS e che
quindi è stato già etichettato da un LSR precedente, l’LSR individua la NHFLE da applicare
al pacchetto utilizzando una tabella denominata Incoming Label MAP (ILM). Il valore della
label di livello gerarchico più elevato trasportata dal pacchetto entrante viene utilizzata come
indice per l’accesso alla ILM (Figura I.4.2).
Incoming Label Map
(ILM)
Label A
Pacchetto
NHLFEA
.
.
Label L
Label L
NHLFEL
.
.
Label W
NHLFEW
Figura I.4.2 – Utilizzazione della Incoming Label Map (ILM) in un LSR.
Nel caso invece in cui ad un LSR arrivi un pacchetto che non trasporta una label MPLS
e che deve essere rilanciato in un LSP, l’LSR individua la NHFLE da applicare al pacchetto
utilizzando una tabella denominata FEC-to-NHLFE MAP (FTN) che mette in relazione ogni
FEC con la corretta NHLFE (Figura I.4.3).
FEC-to-NHLFE Map
(FTN)
FEC A
Payload
NHLFEA
.
.
Header
FEC X
NHLFEX
.
.
FEC W
NHLFEW
Figura I.4.3 – Utilizzazione della FEC-to-NHLFE Map (FTN) in un LSR.
I.4.2
Penultimate Hop Popping.
Per quanto riguarda l’eliminazione di una label da un pacchetto, questa operazione può
12
essere eseguita, oltre che dal router Rn, ovvero l’Egress LSR di un LSP, anche dal router Rn-1,
ovvero dal penultimo LSR di un LSP. Questa seconda possibilità, denominata Penultimate
Hop Popping, è giustificata dal fatto che l’instradamento sul link che unisce gli LSR Rn-1 e Rn
è effettuato dal router Rn-1 esaminando la label associata al pacchetto in entrata al router
stesso, applicata dal router Rn-2; inoltre, una volta che il pacchetto è stato rilanciato verso
l’Egress LSR, la label non ha più nessuna utilità poiché l’operazione di instradamento che
sarà effettuata da questo LSR dovrà necessariamente avvenire esaminando la label di livello
inferiore o direttamente l’header del pacchetto IP. Il vantaggio pratico del Penultimate Hop
Popping risiede nel fatto che viene semplificata l’elaborazione delle etichette nell’Egress
LSR. Viene infatti eliminata la necessità di accedere alla tabella di routing con la label che
deve essere rimossa e che quindi non darà nessun risultato dal punto di vista
dell’instradamento, per poi ripetere l’operazione con la label di livello inferiore o mediante la
completa elaborazione dell’header IP. La Figura I.4.4 mostra la differenza tra la funzione di
label popping eseguita all’ultimo o al penultimo LSR di un LSP.
Rn
Rn-1
35
IP
IP
27
Rn
Rn-1
IP
LSP
Label Popping all’ultimo LSR di un LSR
IP
35
IP
IP
LSP
Label Popping al penultimo LSR di un LSR
(Penultimate Hop Popping)
Figura I.4.4 – Rimozione dell’etichetta al penultimo LSR di un LSP in una rete MPLS.
I.4.3
Aggregazione e merging delle label
Con riferimento alla creazione di FEC sulla base dei prefissi IP, possono essere definite
due possibili approcci. Il primo, che è raffigurato in Figura I.4.5a, prevede di creare FEC
distinte per ogni prefisso. Con tale approccio però si corre il rischio di definire un numero
molto elevato di FEC, e quindi di label, che seguono lo stesso percorso in rete. In queste
condizioni, per superare questo elemento di inefficienza, considerando che, nella logica
MPLS, FEC che seguono lo stesso percorso in rete formano esse stesse una FEC, si può
creare un’unica FEC, o un sottoinsieme di FEC, ognuna delle quali è associato un insieme di
prefissi (Figura I.4.5b). Questa seconda modalità è definita aggregazione. Il numero di
prefissi che sono associati ad una FEC difinisce la granularità dell’aggregazione.
13
L’aggregazione consente di ridurre il numero di label che sono necessarie per gestire un
insieme di pacchetti ed inoltre riduce il traffico di segnalazione necessario alla gestione degli
LSP presenti in rete.
Egress
LSR
Ingress
LSR
151.25.10.5/18
151.25.27.3/18
151.25.32.8/18
191.144.26.12/24
191.144.26.24/24
N prefissi = N FEC
a
Egress
LSR
Ingress
LSR
151.25.10.5/18
151.25.27.3/18
151.25.32.8/18
191.144.26.12/24
191.144.26.24/24
N prefissi = 1 FEC
b
Figura I.4.5 – Modalità di associazione dei prefissi IP alle FEC: a) FEC separate per ogni
prefisso (non aggregazione); b) unica FEC per un insieme di prefissi (aggregazione).
Nell’ipotesi che ad un LSR arrivino pacchetti, entranti da più interfacce d’ingresso,
appartenenti alla stessa FEC ed etichettati con label diverse, l’LSR ha la possibilità di
rilanciare tali pacchetti etichettandoli in uscita con la stessa label. Questa operazione è detta
label merging. Un LSR che supporta la funzione di label merging è detto merging LSR,
mentre se non è in grado di effettuare questa funzione è detto non-merging LSR.
Se un LSR utilizza la funzione di label merging, il numero di label entranti per una FEC
è inferiore o uguale al numero di LSR upstream, adiacenti all’LSR in questione, per quella
FEC; il numero di label uscenti per una FEC è invece sempre unitario. In caso invece di nonmerging LSR, il numero di label entranti e uscenti per una FEC è uguale al numero
complessivo di LSR upstream che rilanciano traffico appartenente a quella FEC.
I.5
Instaurazione e selezione del percorso di un LSP
L’instaurazione di un LSP può avvenire secondo due modalità: i) controllo indipendente
(Indipendent LSP Control); ii) controllo ordinato (Ordered LSP Control).
Nel caso di controllo indipendente, ogni LSR nel momento in cui riconosce una nuova
FEC, ad esempio un nuovo prefisso segnalato dal protocollo di routing IP, può decidere di
assegnare a questa FEC una nuova label MPLS e di distribuire la nuova etichetta in rete
(Figura I.5.1).
Questa soluzione riproduce esattamente la modalità di funzionamento dei classici
protocolli di routing delle reti IP e si basa proprio su quest’ultimi per assicurare una rapida
convergenza così da assicurare la corretta consegna dei pacchetti a destinazione. Occorre
tuttavia osservare che con questa modalità non è possibile stabilire e controllare in anticipo le
14
caratteristiche che deve avere un LSP ed è quindi inadatta se occorre assicurare che una
particolare FEC segua un particolare camminino in rete, eventualmente caratterizzato da una
specifico insieme di parametri.
(1) Messaggio OSPF (151.100/18)
(3) Messaggio OSPF (151.100/18)
(2) Binding 151.100/18 – Label X
LSR A
(4) Binding 151.100/18 – Label Y
LSR B
LSR C
Figura I.5.1 – Modalità a controllo indipendente nell’instaurazione di un LSP.
L’alternativa al controllo indipendente è il controllo ordinato; in questo caso un LSR
esegue le operazioni di assegnazione di un etichetta ad una FEC solo in due casi: a) se è
l’Egress LSR per quella LSR; b) se riceve per quella FEC una label dal downstream LSR
della FEC stessa (Figura I.5.2).
(1) Binding FEC F – Label X
LSR A
(1) Binding FEC F/18 – Label Y
LSR B
LSR C
Figura I.5.2 – Modalità a controllo ordinato nell’instaurazione di un LSP.
La modalità di controllo ordinato è in grado di assicurare che l’LSP soddisfi un insieme
di specifiche proprietà sia logiche che prestazionali, ad esempio che segua un determinato
percorso in rete o che sia disponibili su link attraversati un specifico ammontare di risorse.
Le due modalità di controllo sono pienamente interoperabili e la scelta tra le due
alternative è lasciata all’operatore di rete.
Accanto alle modalità di controllo sono da definire le modalità di selezione del percorso
associato ad un LSP per una particolare FEC. L’architettura MPLS prevede l’esistenza di due
modalità: a) hop by hop routing; b) explicit routing.
La modalità hop by hop routing prevede che ogni LSR scelga indipendentemente il next
hop per ogni FEC operando in modo del tutto analogo ad un router di una rete IP. Un LSP il
cui percorso è stato individuato secondo questo modalità è detto hop by hop routed LSP.
Dovrebbe risultare evidente che un hop by hop routed LSP può essere instaurato sia con la
modalità a controllo indipendente che con la modalità a controllo ordinato.
Al contrario della precedente, la modalità explicit routing non consente che la scelta del
15
next hop di un cammino sia eseguita in modo indipendente dai singoli LSR, ma impone che
un LSR, solitamente l’ingress o l’egress LSR di un LSP, specifici l’intero insieme, o
eventualmente un sottoinsieme, degli LSR che devono essere attraversati dall’LSP. Se l’LSR
iniziatore specifica tutti gli LSR si dice che l’LSP è instradato in modo esplicito strettamente
vincolato (strictly explicitly routed LSP), mentre se indica solo un sottoinsieme degli LSR,
l’LSP è detto instradato in modo esplicito loscamente vincolato (loosely explicitly routed
LSP).
La sequenza degli LSR attraversati da un explicit router LSP può essere determinata su
base configurazione o può essere decisa dinamicamente dall’LSR che prende l’iniziativa di
instaurare l’LSP sulla base, ad esempio, della tipologia di traffico associato alla FEC e delle
informazioni in suo possesso sulla topologia di rete e sul grado di occupazione delle risorse.
Si sottolinea che la modalità di instradamento esplicito fornisce un supporto
indispensabile per l’implementazione delle strategie di ingegneria del traffico; inoltre
l’instaurazione di un explicitly routed LSP può avvenire esclusivamente mediante la modalità
a controllo ordinato.
I.6
LSP Tunnels
Un LSP può essere utilizzato per la creazione di tunnel all’interno di reti IP.
Come è noto, in una rete IP, se due router, Ru e Rd, non sono direttamente connessi da
un link, può essere realizzato un tunnel tra i due router incapsulando i pacchetti emessi da Ru
e diretti verso Rd in un’unità dati in cui l’indirizzo di destinazione corrisponde l’indirizzo del
router Rd. In questo caso il router Ru è detto punto terminale trasmittente (Transmit endpoint), mentre Rd è detto punto terminale ricevente (Receive end-point). La Figura I.6.1
illustra il concetto di tunnel in una rete IP.
Destination
Address
Router
Ru
Rete IP
Router
B
Router
Rd
Destination
Address
Router
A
Destination
Address
Address
Router Rd
Figura I.6.1 – Illustrazione del concetto di tunnel in una rete IP.
16
Se un tunnel IP è realizzato mediante un LSP MPLS; l’LSP è detto LSP Tunnel. Si
distinguono due tipi di LSP Tunnel: a) hop-by-hop routed LSP tunnel sono realizzati mediante
hop by hop routed LSP, tali tunnel quindi seguono all’interno del dominio MPLS i cammini
indicati dai protocolli di instradamento, tali tunnel sono anche indicati con il termine Uniform
Model LSP; b) explicit routed LSP tunnel sono realizzati mediante explicitly routed LSP, di
conseguenza, i percorsi seguiti da tali LSP nel dominio MPLS possono essere diversi rispetto
a quelli indicati dal protocollo di instradamento e decisi in base a considerazioni e strategie
alternative, tali tunnel sono anche indicati con il termine Pipe Model LSP.
Il concetto di LSP tunnel semplice può essere generalizzato definendo una gerarchia di
LSP tunnel. Con riferimento alla Figura I.6.2, consideriamo un LSP, denominato LSP tunnel
di livello 1, costituito da quattro LSR (R1, R2, R3, R4), supponiamo inoltre che i router R2 e
R3 non siano connessi direttamente, ma che a sua volta siano i punti terminali di un nuovo
LSP tunnel, indicato come LSP tunnel di livello 2, composto dai router (R2, R21, R22, R23,
R3). Un pacchetto emesso dal router R1 avrà quindi sulla tratta R1-R2 una singola label (label
di livello 1). L’LSR R2 esaminando la label entrante determinerà che il pacchetto dovrà
entrare nel tunnel di livello 2, effettuerà quindi la sostituzione della label di primo livello che
sarà elaborata dal router R3 e applicherà la label di secondo livello. Quest’ultima label
guiderà il pacchetto all’interno dell’LSP tunnel di livello 2. Il router R23, che è il penultimo
LSR nel tunnel di livello 2, rimuoverà la label di livello 2 e rilancerà il pacchetto verso il
router R3 con la sola etichetta di livello 1. Il router R3 essendo il penultimo LSR nel tunnel di
livello 1, rimuoverà a sua volta la label di livello 1 e rilancerà il pacchetto senza etichette
verso il router terminale R4.
R1
LSP
Tunnel
1
R2
LSP
Tunnel
2
R21
Pacchetto IP
R22
Label di livello 1
R23
R3
R4
Label di livello 2
Figura I.6.2 – Gerarchia di LSP e utilizzazione della tecnica di label stack.
L’utilizzazione di una gerarchia di LSP realizzata mediante la tecnica del label stacking
fornisce un elevato grado di flessibilità ad una rete MPLS. Ad esempio un grande utente affari
che gestisce una rete MPLS distribuita su più aree può definire all’interno di ciascuna area un
17
insieme di LSP. Gli LSP che trasportano traffico inter-area possono essere aggregati fra loro,
costituendo LSP di secondo livello, per essere offerti alla sezione di transito della rete. A loro
volta, gli LSP di secondo livello possono essere aggregati ad un livello gerarchico superiore,
con LSP provenienti da altri utenti, ciò allo scopo di ridurre il numero complessivo di flussi di
traffico da gestire in rete e quindi semplificando la gestione della rete stessa.
I.7
Elaborazione del campo TTL della Label MPLS
Come indicato precedentemente, in senso generale il campo TTL indica il numero
massimo di salti che ancora il pacchetto può eseguire in rete prima che raggiunga la
destinazione o venga scartato. Tale significato tuttavia deve essere meglio specificato per: a)
tener conto della possibile gerarchia di LSP che un pacchetto può attraversare in un dominio;
b) per definire meglio la sua relazione con il campo TTL compreso nell’header del pacchetto
IP.
Si definiscono:
•
Incoming TTL (iTTL) di un pacchetto MPLS è il valore del campo TTL contenuto nella
label di livello gerarchico più elevato trasportata dal pacchetto stesso all’ingresso di un
LSR;
•
Outgoing TTL (oTTL) di un pacchetto MPLS è invece il valore del campo TTL della label
di livello gerarchico più elevato trasportata dal pacchetto stesso all’uscita da un LSR;
normalmente risulta oTTL=iTTL-1, se oTTL=0 il pacchetto non è rilanciato ed è inviato
un pacchetto ICMP verso l’host sorgente.
La gestione del campo TTL [RFC 3443] si differenzia in base al tipo di tunnel LSP
impiegato. La Figura I.7.1 si riferisce alla determinazione del campo TTL nel caso di Uniform
Model LSP ed è valida sia nel caso di rimozione dell’etichetta all’Egress LSR o al Penultimate
LSR.
La Figura I.7.2 e la Figura I.7.3 si riferiscono invece al caso di Pipe Model LSP , in
particolare la Figura I.7.2 a si riferisce alla rimozione all’Egress LSR, mentre la Figura I.7.3
riporta il caso di Penultimate hop popping.
Come risulta dalla figure precedenti, la principale differenza tra i due modelli di LSP
consiste nella modalità con cui sono tenuti in conto i salti effettuati nei tunnel LSP.
Nel caso di Uniform Model LSP, il campo TTL all’uscita di un LSP è decrementato del
numero complessivo di salti effettuati sia all’interno dell’LSP stesso che degli eventuali salti
effettuati negli LSP di livello superiore. Il valore del campo TTL in uscita dal dominio MPLS
sarà quindi lo stesso di quello che sarebbe stato se il dominio attraversato fosse stata una
18
tradizionale rete IP.
TTL(k) TTL(k+1)
R2
---
n-2
TTL(k) TTL(k+1)
...
---
Ri-1
n-i+2
TTL(k) TTL(k+1)
---
TTL(k) TTL(k+1)
n-1
---
R1
TTL(k)
n
n-i+1
Ri
Ingress
LSR
LSP di
livello k
LSP di
livello k+1
TTL(k)
n-i
Egress o
Penultimate
LSR
Figura I.7.1 – Elaborazione del campo TTL nel caso di Uniform Model LSP in entrambi i casi
di rimozione dell’etichetta all’Egress LSR e al Penultimate LSR.
TTL(k) TTL(k+1)
R2
n-1
M-1
TTL(k) TTL(k+1)
...
n-1
Ri-1
M-i+3
TTL(k) TTL(k+1)
n-1
TTL(k) TTL(k+1)
M
n-1
R1
TTL(k)
n
Ri
Ingress
LSR
TTL(k)
Egress
LSR
LSP di
livello k
a
M-i+2
n-2
LSP di
livello k+1
Figura I.7.2 – Elaborazione del campo TTL nel caso di Pipe Model LSP con rimozione
dell’etichetta all’Egress LSR.
TTL(k) TTL(k+1)
R2
n-1
M-1
TTL(k) TTL(k+1)
n-1
TTL(k) TTL(k+1)
...
n-1
M-i+3
Ri-2
TTL(k) TTL(k+1)
M
n-1
M-i+2
TTL(k)
Ri
n-1
R1
TTL(k)
n
n-2
Ri-1
Penultimate
LSR
Ingress
LSR
b
TTL(k)
LSP di
livello k
Egress
LSR
LSP di
livello k+1
Figura I.7.3 – Elaborazione del campo TTL nel caso di Pipe Model LSP con rimozione
dell’etichetta al Penultimate LSR.
19
Nel caso invece di Pipe Model LSP, il valore del campo TTL della label uscente può
essere assegnato all’inizio di ogni LSP di livello gerarchico superiore indipendentemente dal
valore del campo iTTL in ingresso al LSR che esegue la funzione di pushing della label di
livello superiore. Inoltre, il transito in un LSP di livello gerarchico superiore viene considerato
come un singolo salto per il calcolo del campo TTL della label di livello gerarchico
immediatamente inferiore. Si noti infine che nel caso b, a differenza del caso a, il penultimate
LSR non decrementa il valore del campo TTL dell’etichetta di livello k, ciò consente di avere
lo stesso valore del campo TTL in uscita dell’Egress LSR nei due casi.
20
II
MULTI PROTOCOL LABEL SWITCHING (MPLS) – GESTIONE
DELLE LABEL E INGEGENRIA DEL TRAFFICO
II.1 Procedure di gestione delle label
Come detto in precedenza, nell’architettura MPLS l’operazione di associazione tra una
FEC F e una label L è sempre effettuata dal downstream LSR che informa l’upstream LSR
dell’avvenuto binding. Quest’ultima operazione è detta distribuzione della label (label
distribution) ed è quindi sempre eseguita nella direzione downstream-upstream rispetto alla
direzione del traffico.
In generale, possono però essere definite due modalità principali secondo cui viene
attivato questo processo.
Nella prima, un LSR può richiedere a un altro LSR verso cui deve rilanciare i pacchetti
appartenenti ad una specifica FEC F, che quindi rappresenta il next hop per quei pacchetti,
l’esecuzione del binding tra la FEC F e una nuova label L e la relativa distribuzione di questa
etichetta. Questa modalità è detta Downstream-on-demand.
La seconda modalità prevede che un LSR possa effettuare,in modo autonomo senza
ricevere richieste da parte di altri LSR, il binding tra una FEC F e una label L e la
distribuzione della label verso l’upstream LSR. Questa modalità è detta Unsolicetd
Downstream.
Le precedenti due modalità possono essere utilizzate contemporaneamente nello stesso
dominio MPLS.
Nel quadro delle due modalità principali ora illustrate, l’architettura MPLS definisce
anche un insieme di procedure particolari per la gestione di un LSP. Alcune di queste
procedure sono eseguite dal LSR downstream altre dal LSR upstream.
In particolare sono previste:
•
Procedure eseguite dall’LSR downstream
− Procedura di distribuzione (Distribution procedure)
− Procedura di disattivazione (Withdrawal procedure)
•
Procedure eseguite dall’LSR upstream
− Procedura di richiesta (Request procedure)
− Procedura di dichiarazione di indisponibilità (Not Available procedure)
− Procedura di rilascio (Release procedure)
− Procedura di uso della label (Label Use procedure)
21
Ognuna della precedenti procedure presenta alcune possibili varianti. Nel seguito sarà
descritto il significato di ogni procedura, le su varianti e lo scambio di messaggi che ciascuna
di esse comporta. E’ il caso di sottolineare che l’architettura MPLS non supporta tutte le
possibili combinazioni delle possibili varianti delle procedure. L’insieme delle possibili
combinazioni sarà anche descritto nel seguito.
Le procedure verranno presentate in modo astratto prescindendo dalla particolare
utilizzazione di uno specifico di Label Distribution Protocol. E’ evidente che ciascuna delle
procedure dovrà essere mappata nei messaggi e nei flussi informativi particolari di un
specifico protocollo.
II.1.1 Procedura di distribuzione (Distribution procedure)
La procedura di distribuzione è utilizzata da un LSR downstream per distribuire una
label associata ad una particolare FEC verso l’LSR upstream sull’LSP da instaurare.
Sono possibili quattro diverse alternative di attuazione di questa procedura:
•
PushUnconditional
Un LSR Rd esegue autonomamente un binding tra una FEC F e una label L e esegue la
distribuzione verso l’LSR Ru. Questa procedura si applica nel caso di assegnazione delle
etichette di tipo unsolicited downstream quando l’instaurazione avviene con la modalità a
controllo indipendente (Figura II.1.1) e comporta la distribuzione delle label per tutti i
prefissi contenuti nella tabella di instradamento di Rd.
(1)
Esecuzione binding
tra FEC F e Label L
(2) Invio del Messaggio di Label distribution
LSR Ru
LSR Rd
Figura II.1.1 – Procedura di distribuzione delle label di tipo PushUnconditional.
•
PushConditional
In questa procedura un LSR Rd esegue il binding tra una FEC F e una label L solo in due
casi: a) Rd riceve una notifica di binding da un LSR Rn a valle rispetto alla direzione del
traffico sull’LSP; b) Rd è l’Egress LSR del LSP.
22
(2)
Esecuzione binding
tra FEC F e Label L
(3) Invio del Messaggio di Label distribution
LSR Ru
(1) Invio del Messaggio di Label distribution
LSR Rd
LSR Rn
Figura II.1.2 – Procedura di distribuzione delle label di tipo PushConditional.
Questa procedura (Figura II.1.2) si applica nel caso di assegnazione delle etichette di tipo
unsolicited downstream quando l’instaurazione avviene con la modalità a controllo
ordinato. A differenza della procedura precedente, la distribuzione delle etichette è
condizionata al fatto che l’LSR riceva una un messaggio di label binding dall’LSR next
hop o che l’LSR sia l’ultimo LSR dell’LSP.
•
PulledUnconditional
In questa procedura un LSR Rd esegue il binding tra una FEC F e una label L solo se
riceve una richiesta di binding da un LSR Ru a monte rispetto alla direzione del traffico
sull’LSP (Figura II.1.3). Questa procedura si applica nel caso di assegnazione delle
etichette di tipo downstream-on-demand quando l’instaurazione avviene con la modalità a
controllo indipendente.
LSR Ru
(2)
Esecuzione binding
tra FEC F e Label L
(1) Invio di una richiest di binding
(3) Invio del Messaggio di Label distribution
LSR Ru
LSR Rd
Figura II.1.3 – Procedura di distribuzione delle label di tipo PulledUnconditional.
•
PulledConditional
In questa procedura un LSR Rd esegue il binding tra una FEC F e una label L solo se sono
soddisfatte entrambe le seguenti condizioni: a) Rd riceve una notifica di binding da un
LSR Rn a valle rispetto alla direzione del traffico sull’LSP o è l’Egress LSR del LSP; b)
Rd riceve una richiesta di binding da un LSR Ru a monte rispetto alla direzione del
traffico sull’LSP (Figura II.1.4).
Questa procedura si applica nel caso di assegnazione delle etichette di tipo downstreamon-demand quando l’instaurazione avviene con la modalità a controllo ordinato.
23
(3)
Esecuzione binding
tra FEC F e Label L
(2) Invio di una richiest di binding
(1) Invio del Messaggio di Label distribution
(4) Invio del Messaggio di Label distribution
LSR Ru
LSR Rd
LSR Rn
Figura II.1.4 – Procedura di distribuzione delle label di tipo PulledConditional.
II.1.2 Procedura di disattivazione (Withdrawal procedure)
La procedura di disattivazione è utilizzata da un LSR downstream per comunicare
all’LSR upstream il termine della validità di un’associazione tra una label L e una FEC F.
Esiste una sola alternativa di attuazione della procedura che consiste semplicemente nell’invio
da parte dell’LSR Rd di un messaggio di unbinding verso l’LSR Ru (Figura II.1.5).
(1)
Termine del binding
tra FEC F e Label L
(2) Invio del Messaggio di Unbinding
LSR Ru
LSR Rd
Figura II.1.5 – Procedura di disattivazione della label.
II.1.3 Procedura di richiesta (Request procedure)
La procedura di richiesta di un binding tra una FEC F e una label L è usata dall’LSR
upstream nell’ambito di una procedura di instaurazione di un LSP di tipo downstream-ondemand nella modalità a controllo ordinato.
Sono definite tre alternative di attuazione di questa procedura
•
RequestNever
L’LSR upstream (Ru) non invia in nessun caso la richiesta di binding.
Questa alternativa si adatta al caso di instaurazione di un LSP di tipo unsolicited
downstream sia di tipo a controllo indipendente che a controllo ordinato, in cui l’LSR
dowstream (Rd) usi le procedure di distruzione di tipo PushConditional o
PushUnconditional (Figura II.1.1 e Figura II.1.2). Non è invece ovviamente compatibile
con le alternative di instaurazione di un LSP downstream on demand di tipo
PulledConditional o PulledUnconditional.
•
RequestWhenNeeded
24
L’LSR upstream (Ru) invia una richiesta di binding all’LSR downstream ogniqualvolta
rivela una nuova FEC F a cui non è ancora associata una label L.
Questa alternativa si adatta al caso di instaurazione di un LSP di tipo downstream on
demand di tipo a controllo indipendente.
•
RequestonRequest
L’LSR upstream (Ru) invia una richiesta di binding all’LSR downstream ogniqualvolta
riceve una sua volta dall’LSR a monte una richiesta di binding tra una FEC F e una label
L.
Questa alternativa si adatta al caso di instaurazione di un LSP di tipo downstream on
demand di tipo a controllo ordinato.
II.1.4 Procedura di dichiarazione di indisponibilità (Not Available procedure)
Si applica quando un LSR che riceve una richiesta di binding non è in grado di
soddisfare la richiesta. L’LSR Rd emette verso l’LSR Ru un messaggio che specifica la
ragione di questa indisponibilità. Le modalità di reazione dell’LSR Ru sono codificate in due
possibili alternative procedurali:
•
RequestRetry
L’LSR Ru emette di nuovo la richiesta dopo un determinato intervallo di tempo. Questa
procedura si utilizza nel caso di modalità di instaurazione downstream on demand.
•
RequestNoRetry
L’LSR Ru non riemette la richiesta ma assume che sarà Rd a soddisfare la richiesta
quando le ragioni della indisponibilità saranno superate. Questa procedura si utilizza nel
caso di modalità di instaurazione unsoliceted downstream.
II.1.5 Procedura di rilascio (Release procedure)
Questa procedura stabilisce il comportamento dell’LSR Ru quando vuole richiedere
all’LSR Rd la terminazione dell’associazione tra una FEC F e una label L. Se, ad esempio,
una FEC F corrisponde ad un prefisso X ed è stato creto un binding tra la FEC F e una label L,
questa condizione si verifica quando l’LSR Rd non risulta essere più il next hop per il prefisso
X . Sono possibili due comportamenti dell’LSR Ru:
•
ReleaseOnChange
L’LSR Ru rilascia l’associazione tra FEC F e label L ed informa l’LSR Rd.
•
NoReleaseOnChange
L’LSR Ru mantiene l’associazione tra FEC F e label L in modo da poterla riutilizzare
successivamente.
25
II.1.6 Procedura di uso della label (Label Use procedure)
Tale procedura si applica nel caso in cui la FEC F corrisponda ad un prefisso X,
nell’ipotesi in cui Ru riceva un messaggio di binding tra la FEC F e la label L dall’LSR Rd,
ma Rd non corrisponda al next hop dei pacchetti appartenenti alla FEC F. In questo caso la
procedura di uso della label indica le modalità di reazione dell’LSR Ru.
Sono possibili due alternative
•
UseImmediate
L’LSR Ru utilizza immediatamente il binding inviato dall’LSR Rd.
•
UseIfLoopNotDetected
L’LSR Ru utilizza il binding inviato dall’LSR Rd solo se è certo che questa operazione
non causi loop di instradamento in rete.
II.2 MPLS e ingegneria del traffico
In questo paragrafo sono illustrati i concetti principali dell’utilizzazione della tecnica
MPLS per l’attuazione dei principi dell’ingegneria del traffico in reti IP.
II.2.1 Aspetti generali del ingegneria del traffico in reti IP.
Adottando la definizione data in [RFC2702] e [RFC3272], gli aspetti di ingegneria del
traffico (Traffic Engineering – TE) in reti IP riguardano la valutazione e l’ottimizzazione delle
prestazioni della rete e comprendono le tecniche di misura, di caratterizzazione, di
modellazione ed di controllo del traffico. In particolare, uno degli aspetti chiave delle tecniche
di TE in reti IP è il controllo e l’ottimizzazione delle funzioni di instradamento allo scopo di
veicolare nel modo più efficiente i pacchetti in rete.
L’obiettivo delle tecniche di TE è, da un lato, quello di migliorare le prestazioni della
rete sia dal punto di vista del trattamento del traffico (ritardo, jitter del ritardo, tasso di perdita
dei pacchetti e throughput) e, dall’altro, di garantire un’utilizzazione efficiente, economica e
affidabile delle risorse di rete. Si sottolinea che, accanto agli aspetti più tradizionalmente
prestazionali, l’ingegneria del traffico si rivolge anche ad aspetti che riguardano il
funzionamento affidabile di una rete. A questo scopo devono essere utilizzate tecniche che
aumentino la sopravvivenza della connettività della rete in presenza di errori e/o di guasti
dell’infrastruttura.
Uno dei punti chiave delle tecniche di TE che permette di raggiungere gli obiettivi le
prestazioni della rete è la minimizzazione dei fenomeni di congestione. Tali fenomeni si
presentano se si verifica una della seguenti due condizioni:
26
•
le risorse di rete non sono globalmente sufficienti a supportare il volume di traffico
offerto;
•
il traffico è distribuito in modo non ottimale sulle risorse di rete causando un sovraccarico
in alcune di esse, mentre altre risultano sotto-utilizzate.
La prima causa di congestione si può superare incrementando la capacità della rete e/o
limitando il traffico in ingresso mediante le classiche tecniche di controllo adottate nelle reti a
pacchetto (controllo a finestra, limitazione del rate, ecc.).
La secondo tipo di problemi di congestione, che emergono nel caso di distribuzione non
ottimale del traffico in rete, sono l’oggetto delle politiche di TE.
In sintesi, dal punto di vista di un operatore di rete, le tecniche di TE sono lo strumento
per raggiungere l’equilibrio ottimale tra la qualità del servizio e le prestazioni della rete, come
viste dagli utenti finali, e gli aspetti economici di fornitura dei servizi stessi. Tale obiettivo
può essere raggiunto mediante la minimizzazione della massima congestione, o
equivalentemente, la minimizzazione della massima occupazione delle risorse di rete. E’
evidente infatti che minimizzando la congestione, attraverso un efficiente utilizzazione delle
risorse, la qualità di servizio percepita dagli utenti risulta massimizzata.
Il processo di ottimizzazione ora delineato deve essere visto come un processo iterativo,
continuo nel tempo, orientato al miglioramento delle prestazioni in presenza anche di nuovi
scenari di servizio, di variazioni nei requisiti d’utente e di nuove tecnologie emergenti. Questo
concetto può essere ulteriormente schematizzato come uno schema di controllo in cui il
modulo TE agisce come controllore in un anello di controreazione che include anche un
modulo di monitoraggio e misura delle prestazioni e un modulo di configurazione e di
gestione della rete (Figura II.2.1). Il modulo di controllo osserva lo stato della rete ricavato
attraverso il modulo di monitoraggio e applica le politiche di TE attraverso gli strumenti di
configurazione e di gestione in modo da guidare la rete verso lo stato desiderato.
Le politiche di TE nelle reti IP possono essere di tipo preventivo o reattivo.
Nel caso di politiche preventive, i sistemi di TE hanno lo scopo di prevenire che la rete,
nella sua prevedibile evoluzione, assuma stati non favorevoli dal punto di vista delle
prestazioni offerte agli utenti e/o dell’uso delle sue risorse. Nel caso di politiche reattive, la
rete invece reagisce correggendo in modo adattativo gli eventi che si manifestano in rete.
In questo quadro, le tecniche di controllo utilizzate operano a diversi livelli di
risoluzione temporale. Le politiche di gestione, di pianificazione e di aggiornamento della rete
(capacity planning) operano con una bassa risoluzione temporale, dell’ordine dei mesi e/o
degli anni. Il controllo degli instradamenti, che modifica e adatta i percorsi di rete seguiti dai
27
pacchetti, opera invece a livello intermedio, in una fascia temporale che si estende dai secondi
alle ore. Infine, le funzioni di processamento a livello di pacchetto (traffic shaping, tecniche di
scheduling, gestione delle code, ecc.) operano con elevata risoluzione temporale, dell’ordine
del tempo di trasmissione di un pacchetto (dai picosecondi ai millisecondi). Queste ultime
tecniche sono quindi in grado di intervenire nei processi di rete praticamente in tempo reale.
Determinazione dello
stato della rete
Decisione di
politiche di controllo
Modulo di TE
Modulo di
Monitoraggio e
di Misura
Attuazione delle politiche di controllo
Modulo di
Configurazione
e di Gestione
Rete
Figura II.2.1 – Ruolo delle politiche di Ingegneria del traffico per l’ottimizzazione delle
prestazioni di rete.
E’ riconosciuto che una delle prioritarie applicazioni dell’architettura MPLS risiede nel
quadro degli aspetti di TE. Nel seguito saranno discussi gli aspetti concernenti le applicazioni
di ingegneria del traffico dell’architettura MPLS con particolare riguardo al controllo degli
instradamenti.
II.2.2 Limiti degli attuali protocolli di routing IP
Le capacità di controllo del traffico offerta dagli attuali protocolli di routine utilizzati
nelle reti IP (Interior Gateway Protocols – IGP) non sono adeguate per raggiungere
completamente gli obiettivi precedentemente esposti dell’ingegneria del traffico; al contrario,
gli attuali IGP, normalmente basati sulla ricerca del cammino più breve (shorthest path),
contribuiscono, almeno in determinati condizioni, ad aumentare lo stato di congestione in rete.
Ciò può essere spiegato considerando che questi protocolli considerano esclusivamente
aspetti legati alla topologia della rete, in termini di esistenza e di stato dei nodi e dei link,
mentre trascurano gli aspetti concernenti, da un lato, la disponibilità di banda sui link e,
dall’altro, le caratteristiche dei flussi di traffico iniettati in rete.
In queste condizioni i fenomeni di congestione non possono essere evitati se in rete si
verificano le condizioni per cui gli shortest path di numerosi flussi di traffico transitano su
uno specifico link o se un flusso di traffico è instradato su un link che non ha sufficiente
28
banda per ospitarlo. La congestione così generata non può essere alleviata dal protocollo IGP
anche se esistono cammini alternativi con banda disponibile.
Tradizionalmente le limitazioni dei protocolli IGP sono superate adottando un modello
di rete a due strati, denominato modello overlay. Questo modello (Figura II.2.2) prevede che
la rete IP sia lo strato client che utilizza i servizi di trasferimento offerti da una rete
sottostante, che opera come strato server, basata su una diversa tecnologia, normalmente
ATM o Frame Relay.
Nel caso dell’ATM, l’accesso ai servizi di trasferimento avviene definendo una
topologia virtuale composta da VC/VP che appaiono allo strato IP come link fisici sui quali
opera il protocollo di instradamento.
Il modello overlay fornisce un insieme addizionale di funzioni per il supporto delle
politiche di TE, quali: a) instradamenti vincolati a livello di VC; b) instaurazione di VC con
instradamento prefissato; c) controllo di ammissione di chiamata; d) traffic shaping e
policing; e) instaurazione di VC multipli per ragioni di affidabilità. Queste funzioni
completano il patrimonio funzionale della rete complessiva e consentono l’attuazione
completa delle politiche di ingegneria del traffico.
Rete IP
(Strato Client)
MPLS
Rete ATM
(Strato Server)
Modello
Overlay
Rete
IP/MPLS
Modello
Integrato
Figura II.2.2 – Esempio di modello overlay e di modello integrato per l’attuazione delle
politiche di TE in una rete IP.
Dal punto di vista dell’ingegneria del traffico, lo scopo dell’MPLS in una rete IP è
quello di evitare l’utilizzazione del modello overlay, ma di integrare all’interno dello strato IP,
opportunamente evoluto con l’aggiunta delle funzionalità MPLS, tutte le funzioni necessarie
all’attuazione delle politiche di TE (Figura II.2.2).
La funzione base che rende l’MPLS adatto per il raggiungimento di questo obiettivo
risiede nel fatto che possono essere creati LSP su base esplicita, aggiungendo quindi
funzionalità simili alla commutazione di circuito alla rete IP.
II.2.3 Definizione del problema di Ingegneria del Traffico in MPLS
Il problema chiave di ingegneria del traffico che deve essere risolto in ambito MPLS
riguarda essenzialmente le modalità di mappatura dei flussi di traffico e degli LSP sui link
29
fisici della rete in modo da garantire un funzionamento efficiente ed affidabile della rete.
Questo problema può essere definito anche in modo più formale introducendo il
concetto di grafo base (base graph) e di grafo MPLS indotto (induced MPLS graph).
Dato un dominio MPLS, i due grafi possono essere così definiti:
•
il grafo base G=(V,E,c) è associato alla topologia fisica del dominio MPLS; V è l’insieme
dei nodi della rete, E è l’insieme dei link fisici della rete e c è il vettore delle capacità
associate ai singoli link fisici della rete.
•
il grafo MPLS indotto H=(U,F,d) è un grafo in cui l’insieme dei nodi U è un sottoinsieme
di V che coincide con l’insieme degli LSR appartenenti al dominio MPLS, mentre
l’insieme dei rami F coincide con l’insieme degli LSP che hanno come estremi gli LSR,
infine d è l’insieme dei valori di banda associate ai singoli LSP.
Sulla base delle definizioni precedenti, il problema dell’ingegneria del traffico in MPLS
può definito come la ricerca del mappatura ottima del grafo H sul grafo G; ovvero la ricerca
dell’instradamento degli LSP sui link fisici della rete che minimizzi l’occupazione massima
dei link stessi.
Nel [RFC2702] viene introdotto anche il concetto di traffic trunk che viene utilizzato
per la definizione delle funzionalità addizionali previste in MPLS per il pieno supporto delle
politiche di TE. Un Traffic Trunk (TT) è definito come un’aggregazione di flussi di traffico
appartenenti alla stessa FEC che sono instradati in rete nello stesso LSP. In altre parole, un TT
è un oggetto astratto su cui si applicano le funzioni di instradamento dei pacchetti in rete
previste in MPLS.
Le funzionalità addizionali presenti all’interno dell’architettura MPLS per il supporto
delle politiche di TE sono:
•
la definizione di un insieme di attributi associato ad ogni TT (Traffic Trunk Attibute) che
specifica le modalità di trattamento del suo flusso di traffico;
•
la definizione di un insieme di attributi associato alla risorse di rete (Resource
Attribute)che vincolano l’instradamento dei TT su di esse;
•
un insieme di regole di instradamento vincolato (Constraint-Based Routing – CBR)
utilizzate per la scelta dei cammini di instradamento dei TT che rispettino i vincoli imposti
dagli insiemi di attributi, associati ai TT e alle risorse di rete, definiti nei punti precedenti.
Gli attributi associati ai TT e quelli associati alle risorse di rete insieme ai parametri di
instradamento costituiscono le variabili di controllo che possono essere modificate, attraverso
azioni di configurazione da parte dell’operatore di rete o in modo automatico, per pilotare la
30
rete verso lo stato di funzionamento ottimale.
II.2.4 Funzioni e attributi associati ai Traffic Trunk (Traffic Trunk Attribute)
Alla luce delle definizione date nel paragrafo precedente, un TT è un aggregato di flussi
di traffico, caratterizzato dagli LSR di ingresso e di uscita, dalla FEC a cui appartengono i
flussi che lo compongono e dagli attributi ad esso associato che determinano le sua
caratteristiche di comportamento.
Le operazioni che la rete MPLS deve essere in grado di compiere sui TT e che
riguardano gli aspetti di TE sono:
− Establish: questa operazione ha l’obiettivo di instaurare un nuovo TT e quindi di allocare
le risorse di rete necessarie al suo supporto;
− Activate: questa operazione ha l’obiettivo di attivare il transito dei pacchetti all’interno
dell’LSP che supporta un TT; le operazioni di instaurazione e di attivazione di un TT sono
logicamente separate, può esistere quindi un TT instaurato, ma non attivato;
− Deactivate: questa operazione ha l’obiettivo di porre termine al transito dei pacchetti
all’interno dell’LSP che supporta un TT;
− Modify attribute: questa operazione ha l’obiettivo di modificare il valore di uno o più
attributi associati ad un TT;
− Reroute: questa operazione ha l’obiettivo di modificare l’instradamento di un LSP che
supporta un TT;
− Destroy: questa operazione ha l’obiettivo di rimuovere un TT precedentemente instaurato
e quindi di liberare le risorse di rete associate ad esso.
Le modalità e le procedure di esecuzione delle precedenti operazioni dipende dallo
specifico protocollo di segnalazione utilizzato, ad esempio il protocollo RSVP-TE.
Gli attributi di un TT specifici per le funzioni di TE sono compresi nelle seguenti
categorie:
•
Parametri di traffico.
Sono usati per descrivere le caratteristiche statistiche del flusso di pacchetti appartenenti
al TT e, quindi, per stabilire l’ammontare di risorse di rete (es. banda) che occorre
allocare; l’insieme dei parametri di traffico può comprendere il bit rate di picco, il bit rate
medio, la dimensione massima di un burst, ecc. Gli algoritmi di allocazione delle risorse
sono di pertinenza dell’operatore di rete.
31
•
Selezione e gestione del cammino in rete.
Questa categoria di attributi definisce le regole per la scelta del cammino in rete su cui
instradare il TT e le regole per il suo mantenimento; un cammino può essere calcolato
automaticamente dai protocolli di instradamento della rete o definito a priori
dall’amministratore di rete: I principali attributi associati a questa categoria sono:
− Instradamento esplicito: questo attributo specifica se il cammino è specificato a priori,
completamente o parzialmente, dall’operatore per l’instradamento di un TT;
− Regole di scelta: questo attributo stabilisce una gerarchia di scelta in un insieme di
cammini specificati a priori per l’instradamento di un TT.
− Affinità di classe di risorse: questo attributo specifica le classi di risorse di rete che
possono essere utilizzate o meno per l’instradamento di un TT. Questo attributo è
usato per porre dei vincoli sull’instradamento di un TT e per implementare una varietà
di politiche di instradamento; ad esempio è possibile imporre che un LSP transiti su
link appartenenti esclusivamente ad una specificata regione della rete o la cui capacità
sia superiore ad un certo valore o che assicurino un determinato livello di affidabilità.
− Adattività: indica se l’LSP può essere soggetto a reinstradamenti durante la sua
utilizzazione allo scopo di mantenere costantemente le condizioni di ottimalità di
scelta del cammino.
− Distribuzione del carico: questo attributo indica la porzione di traffico che può essere
instradata su diversi TT che sono definiti tra due punti terminali della rete. Utilizzando
questo parametro è possibile realizzare politiche di distribuzione del carico su percorsi
alternativi tra due punti terminali.
•
Priorità di instaurazione (set-up).
Questa classe di attributi definisce l’importanza relativa del TT rispetto agli altri presenti
in rete e determina l’ordine in cui è effettuata l’operazione di scelta del cammino al
momento del instaurazione di un insieme di LSP o dei loro reinstradamenti in caso di
guasto.
•
Priorità di prelazione (preemption).
Con il termine prelazione ci si riferisce alla possibilità di abbattere un TT, e quindi il
corrispondente LSP, per istaurare un altro TT. Questo attributo stabiliscequindi se un TT,
e quindi il suo corrispondente LSP, possa essere prelazionato da un altro TT o possa
prelazionare un altro TT in fase di instaurazione.
Possono essere definite quattro modalità di prelazione di un TT:
32
1) TT con possibilità di prelazione;
2) TT senza possibilità di prelazione;
3) TT prelazionabile;
4) TT non prelazionabile.
Ad esempio, un TT di tipo (1) con priorità di instaurazione elevata può prelazionare un TT
di tipo (3) già instaurato con priorità di instaurazione più bassa; un TT di tipo (4) non
potrà essere prelazionato in nessun caso anche da TT con priorità di instaurazione più
elevati, mentre un TT di tipo (2) non può prelazionare altri TT qualsiasi sia la sua priorità
di instaurazione.
Gli attributi di priorità di instaurazione e di prelazione individuano le modalità con cui i
TT interagiscono tra loro e competono per l’utilizzazione delle risorse di rete. Tali
attributi possono essere utilizzati, da un lato, per assicurare che il traffico ad alta priorità
possa sempre essere instradato su percorsi adatti al livello richiesto di qualità e dall’altro,
per definire diverse politiche di ripristino degli LSP in caso di guasto in rete.
•
Resilienza.
Questo attributo determina il grado di sopravvivenza di un LSP in presenza di guasti in
rete. In particolare l’attributo specifica le azioni che devono essere intraprese se un TT in
caso di guasto lungo il cammino attraversato dal corrispondente LSP. Le politiche di
reazione ad un guasto possono essere classificate nel seguente modo:
− Assenza completa di re-instrada mento.
− Re-instradamento possibile solo su un cammino avente caratteristiche pienamente
compatibili con quelle richieste dal TT; se tale cammino non può essere individuato il
r-instradamento non può aver luogo.
− Re-instradamento possibile su qualsiasi cammino senza riguardo a nessun vincolo
sulle risorse disponibili.
− Qualsiasi altra politica basata su una composizione delle precedenti
•
Policing:
Questa classe di attributi determina le azioni che possono essere intraprese se le
caratteristiche del TT non sono compatibili con quelle dichiarate all’atto della sua
instaurazione, in particolare quando eccede i parametri stabiliti nel contratto di traffico.
L’insieme degli attributi delle categorie parametri di traffico e di policing sono analoghi a
quelli utilizzati per le funzioni Usage Parameter Control (UPC) nell’architettura ATM.
33
II.2.5 Attributi associati alle risorse di rete (Resource Attribute)
La classe di attributi associati alle risorse comprende i parametri che caratterizzano la
topologia della rete e sono necessari per vincolare la scelta del percorso su cui instradare un
TT.
Gli attributi appartenenti a questa classe sono:
•
Maximum Allocation Multiplier (MAM).
Il MAM di una risorsa di rete, ad esempio la banda di un link o il buffer di un LSR,
determina la proporzione della risorsa che è disponibile per l’allocazione dei TT. Questo
valore è configurabile dall’operatore di rete. Il valore del MAM può essere sia inferiore
che superiore a 1. Nel caso MAM>1, è consentita la sovra-allocazione della risorsa; ciò è
conveniente per sfruttare al meglio le caratteristiche statistiche del traffico e per
raggiungere un maggiore utilizzazione delle risorse stesse.
•
Classe della risorsa.
Questo attributo definisce la categoria a cui appartiene una risorsa e può essere visto come
un colore assegnato alla risorsa; ovviamente, due risorse distinte dello stesso colore
appartengono alla stessa classe. Questi attributi sono utilizzati per definire politiche
alternative per l’utilizzazione delle risorse di rete e per gestire in modo flessibile
l’instradamento in rete. Ad esempio, si può definire la classe dei link di rete con capacità
uguale a 2.5 Gbit/s assegnando a questi link lo stesso valore di attributo (stesso colore) e
quindi vincolare l’instradamento di una classe di TT a transitare, esclusivamente o
preferibilmente, attraverso i link appartenenti a quella classe.
II.2.6 Constraint-Based Routing (CBR)
In generale, con il termine Constraint-Based Routing (CBR) si indica un insieme di
regole per la scelta dei cammini di instradamento dei TT che rispetti i vincoli imposti dagli
insiemi di attributi associati ai TT e alle risorse di rete. Dal punto di vista terminologico il
concetto di constraint based routing è spesso riferito anche come QoS routing. Quest’ultimo
termine mette in evidenza come questa tecnica sia utilizzata per soddisfare nell’instradamento
i vincoli di qualità imposti da un TT; è’ da sottolineare però che l’utilizzazione delle tecniche
CBR è molto più ampia dell’esclusivo soddisfacimento dei vincoli di qualità.
Si consideri un TT originato in uno specifico LSR e caratterizzato da specifici parametri
di traffico. Il processo CBR nel nodo usa come ingressi gli attributi associati al TT, alle
risorse di rete e in generale qualsiasi altra informazione sullo stato della topologia di rete.
L’uscita del processo, eseguito esclusivamente nel nodo di origine, è l’individuazione di un
34
percorso di rete su cui instradare l’LSP associato al TT che soddisfi i requisiti di banda del TT
stesso e i vincoli relativi alla disponibilità delle risorse di rete e quelli imposti dalla specifica
politica di utilizzo delle risorse.
Input:
Richiesta di
instaurazione di un LSP
Procedura di set-up dell’LSP
Ingress
LSR
TT
Attribute
Resource
Attribute
Egress
LSR
Constraint
Based
Routing
Administrative
Policy
Database
Topologia
LSR
LSR
Dominio
MPLS
Output:
Percorso esplicito
dell’LSP
Figura II.2.3 – Applicazione della tecnica Constraint-Based Routing in ambiente MPLS.
Si sottolinea che, come mostrato in Figura II.2.3, il processo di determinazione del
percorso di un LSP viene eseguito esclusivamente nell’LSR d’origine che quindi determina
l’intera sequenza di LSR attraversati (explicit routing). Una volta determinato il percorso,
l’LSR attiva il processo di segnalazione che porta all’instaurazione dell’LSP in rete.
II.3 Supporto della qualità di servizio in reti MPLS (Architettura Diffserv over MPLS)
Negli ultimi anni, l’evoluzione dell’architettura delle reti IP prevede due direzioni di
sviluppo: la prima rivolta all’integrazione di funzioni orientata al trattamento di flussi di
traffico con specifici requisiti di qualità di servizio; la seconda principalmente orientata al
supporto di politiche di ingegneria del traffico. La definizione delle architetture Differentiated
Services (Diffserv) e MPLS sono il risultato degli studi in queste due aree.
Con l’adozione di queste due architetture, il processo di arricchimento delle funzionalità
dello strato IP si completa e rende possibile l’adozione del solo paradigma IP per il supporto
integrato di servizi dati e multimediali, senza ricorrere ad architetture di rete più complesse,
basate sulla sovrapposizione di diverse paradigmi di trasferimento secondo il modello
overlay.
Come è stato illustrato in precedenza, in un dominio Diffserv tutti i pacchetti che
attraversano un link di rete e che richiedono lo stessa tipologia di servizio formano un
Behavior Aggregate (BA). All’ingresso del dominio Diffserv, i pacchetti sono classificati ed
etichettati con uno specifico DiffServ Code Point (DSCP) che identifica il BA a cui ogni
pacchetto appartiene. In ogni router il campo DSCP viene utilizzato per stabilire le modalità
di trattamento del pacchetto definite nel Per Hop Behavior (PHB) associato a quel BA. In
35
particolare, il PHB indica le modalità di scheduling e di eventuale scarto dei pacchetti in caso
di congestione.
In questo quadro l’elemento che deve essere ancora approfondito riguarda le modalità di
supporto dell’architettura Diffserv da parte dell’MPLS. Lo studio delle modalità di interlavoro
tra le due architetture, che nel seguito verrà indicata per semplicità con il termine Diffserv
over MPLS, è necessario per rendere possibile la gestione degli aspetti di QoS direttamente
all’interno dello strato MPLS, eliminando la necessità di accedere a funzioni poste nello strato
IP e semplificando quindi l’architettura dei nodi di rete.
La definizione dell’interazione tra le architetture Diffserv e MPLS è semplificata dalle
analogie esistenti tra le modalità operative delle due architetture . In particolare:
•
entrambe operano su aggregati di pacchetti: BA in Diffserv e FEC in MPLS;
•
entrambe operano una classificazione dei pacchetti all’ingresso della rete;
•
entrambe assegnano un identificativo ai pacchetti che stabilisce in modo esplicito
l’aggregato a cui appartengono: DSCP in Diffserv, la label in MPLS;
•
in entrambe le architetture le operazioni svolte da un nodo sono completamente definite
dal valore dell’identificativo assegnato al pacchetto.
E’ evidente che la strategia per la definizione dell’architettura Diffserv-over-MPLS è
quella di stabilire una corrispondenza logica tra i concetti di FEC e di BA e di trasportare
nell’etichetta MPLS l’informazione contenuta nel DSCP del pacchetto in modo che un LSR
possa riconoscere immediatamente il PHB che deve essere applicato al pacchetto.
Le soluzioni proposte in [RFC3270] sono basate entrambe sull’utilizzazione del campo
EXP contenuto nell’etichetta MPLS e prevedono l’utilizzo di due tipologie di LSP:
− EXP-inferred-PHB (E-LSP): sono LSP che possono trasportare una molteplicità di BA e
quindi convogliano pacchetti caratterizzati da diversi PHB; l’informazione sul PHB a cui
appartiene il pacchetto, contenuta nel campo DSCP, è mappata nel campo EXP. In questo
caso, la label identifica la combinazione tra la FEC associata all’LSP e un insieme di BA a
cui appartengono i pacchetti trasportati dall’LSP. E’ evidente in questa modalità, poiché il
campo EXP può assumere al massimo otto configurazioni, non è possibile ottenere, a
livello MPLS, una piena corrispondenza con i PHB definiti dall’architettura Diffserv, ma
è necessario effettuare una riduzione del loro numero.
− Label-only-inferred-PHB (L-LSP): sono LSP che possono trasportare una singola classe
di BA e quindi convogliano pacchetti che devono essere trattati con PHB dello stesso tipo;
l’informazione della classe di PHB a cui appartiene il pacchetto è direttamente contenuta
36
nella label che identifica l’LSP, mentre il campo EXP codifica esclusivamente la priorità
di scarto del pacchetto. Questa definizione può essere chiarita meglio se si riferisce al caso
del trasporto nello stesso LSP di flussi di traffico appartenenti alla categoria Assured
Forwarding (AF) ma caratterizzati da diverse priorità di scarto; in questo contesto la label
indica che i pacchetti appartengono tutti alla categoria AF, mentre il completo PHB è
individuato con l’aggiunta dell’informazione contenuta nel campo EXP.
Nel seguito è descritta la sequenza di operazioni che devono essere eseguite da un LSR
compatibile con l’architettura Diffserv over MPLS su un pacchetto entrante. In particolare,
viene illustrato il caso in cui la rete MPLS interlavori direttamente con reti IP in assenza di
altri strati protocollari intermedi (es ATM, Frame Relay).
Le operazioni eseguite da un LSR possono essere classificate in quattro fasi:
a) Identificazione del PHB associato al pacchetto entrante;
b) Identificazione del PHB in uscita con cui trattare il pacchetto in uscita considerando
l’eventuale applicazione delle funzioni di traffic conditioning;
c) Individuazione della label in uscita;
d) Codifica dell’informazione Diffserv nello strato MPLS;
Al termine di queste operazioni il nodo esegue le operazioni di rilancio del pacchetto
applicando il PHB determinato nella fase (b).
La Figura II.3.1 identifica la relazione tra le fasi ora definite e si applica anche ai casi di
Ingress, Egress LSR. La differenza rispetto al caso di Transiti LSR risiede nei seguenti punti:
i) nel caso di Ingress LSR, il pacchetto entrante non trasporta nessuna label e le informazioni
di QoS sono contenute solo nell’header dello strato IP; ii) nel caso di Egress LSR, al
pacchetto uscente non deve essere assegnata nessuna label e le informazioni di QoS devono
essere codificate nell’header IP del pacchetto.
Occorre considerare infine che se le operazioni di traffic conditioning non devono
essere eseguite sul pacchetto, il PHB in uscita coincide con il PHB entrante.
Label
entrante
Info QoS
MPLS (o IP)
(a)
Identificazione
del PHB entrante
(b)
Identificazione
del PHB in uscita
con applicazione
delle funzioni di TC
(c)
Identificazione
della label in uscita
Label
uscente
(d)
Codifica
dell’informazione
Diffserv nello strato
MPLS o IP
Info QoS
MPLS (o IP)
Figura II.3.1 – Sequenza delle operazioni eseguite da un LSR di una rete Diffserv over MPLS
su un pacchetto entrante.
37
II.4 Estensione del protocollo RSVP per l’instaurazione di LSP (RSVP-TE)
L’architettura MPLS definisce un protocollo di distribuzione delle etichette (Label
Distribution Protocol – LDP) come l’insieme delle procedure mediante il quale un LSR
colloquia con un altro LSR per instaurare gli LSP e per assegnare ad essi le label da utilizzare
per rilanciare i pacchetti. E’ stato sottolineato in precedenza che l’architettura MPLS non
definisce un singolo protocollo LDP, ma prevede che queste funzioni possano essere svolte da
diversi protocolli.
In questo paragrafo è illustrata in dettaglio la soluzione che prevede l’estensione del
protocollo RSVP [RFC2205], in origine definito come protocollo per la gestione dei flussi dei
pacchetti nell’architettura Integrated Services (Intserv), al caso di instaurazione degli LSP e di
supporto delle funzioni di ingegneria del traffico in reti MPLS. Per questi motivi il protocollo
è detto anche RSVP-TE [RFC3209]; tale sigla sarà utilizzata nel seguito per semplicità per
indicare l’intero insieme di procedure di segnalazione.
Il protocollo RSVP-TE supporta l’instaurazione di LSP caratterizzati da instradamento
esplicito e da, eventualmente, una riservazione di banda sul percorso. Supporta inoltre il
reinstradamento degli LSP e le funzioni legate alle priorità di instaurazione e di prelazione
definite nell’architettura MPLS.
Poiché il flusso di pacchetti IP che transita attraverso un LSP è individuato dalla label
associata, questi LSP possono essere interpretati come tunnel che mascherano i meccanismi
originali di instradamento e di trattamento dei pacchetti propri dello strato IP. Nella
terminologia usata nel [RFC3209], si indicano gli LSP che sono gestiti dal protocollo RSVP
come LSP-tunnel. Tale termine sottolinea che il traffico trasportato da un LSP non è elaborato
dai nodi intermedi lungo l’LSP.
Il concetto di LSP-tunnel permette la realizzazione di una varietà di politiche relative
all’ottimizzazione delle prestazioni di rete. Ad esempio, un LSP-tunnel può essere instradato
in modo automatico o su base amministrativa, in modo da evitare punti di congestione o di
guasto nella rete; oppure possono essere previsti tra due nodi un insieme di LSP paralleli per
realizzare un’ottimale distribuzione del traffico.
Il protocollo RSVP-TE usa la modalità di distribuzione delle etichette di tipo
downstream-on-demand. La richiesta di effettuare un binding tra una label e una FEC e quindi
di instradare un LSP-tunnel è emessa dall’Ingess LSR utilizzando il messaggio RSVP Path. A
questo scopo il messaggio RSVP Path è stato arricchito dall’oggetto Label-Request.
Le label sono allocate nella direzione downstream-upstream per mezzo del messaggio
38
RSVP Resv. L’estensione del messaggio definita a questo scopo consiste nell’oggetto Label.
Il protocollo RSVP-TE supporta la funzionalità di explicit routing attraverso l’oggetto
Explicit Route compreso nel messaggio RSVP Path. Questo oggetto è determinato dall’Ingress
LSR e trasporta l’insieme di LSR che costituisce l’LSP-tunnel.
Il vantaggio di utilizzare il protocollo derivato dall’RSVP come protocollo di
segnalazione per la rete MPLS consiste nella possibilità di riutilizzare la funzione di
allocazione delle risorse presente in modo nativo in RSVP. L’allocazione di banda per un
LSP-tunnel può essere effettuata infatti in modo semplice utilizzando i meccanismi standard
di RSVP definiti per all’interno dell’architettura Intserv.
Il protocollo RSVP-TE definito in [RFC3209] ha l’obiettivo di gestire gli LSP Tunnel; a
questo scopo, rispetto alla versione originale del protocollo definita in [RFC2205], è stato
definito un nuovo oggetto denominato LSP_Tunnel.
Nelle applicazioni di ingegneria del traffico è utile associare insieme alcuni LSP tunnel,
ciò è utile nelle operazioni di reinstradamento in caso di guasti in rete. Un aggregato di LSP
tunnel utilizzato nelle funzioni di TE è indicato con il termine TE Tunnel. Per identificare
correttamente un LSP tunnel e il TE tunnel a cui appartiene è definito un doppio livello di
identificatori: un tunnel ID che identifica un TE tunnel e un LSP ID che identifica lo specifico
LSP.
Le funzioni supportate dal protocollo RSVP-TE sono le seguenti.
•
Instaurazione degli LSP tunnel con o senza requisiti di QoS.
La procedura di instaurazione di un LSP è la seguente. L’ingress LSR emette un
messaggio RSVP Path che contiene l’oggetto LSP_Tunnel e l’oggetto Label_request .
Quest’ultimo oggetto indica che è richiesta l’assegnazione di una label per l’LSP.
Nel caso in cui il nodo di ingresso richieda che l’LSP segua uno specifico cammino in
rete, il messaggio RSVP Path conterrà l’oggetto Explicit_Route che indica la sequenza di
LSR che compone l’LSP.
Infine nell’oggetto Session_Attribute, ugualmente contenuto nel messaggio RSVP Path
sono contenuti i parametri relativi al tipo di LSP, quali ad esempio la priorità di set-up, la
priorità di prelazione, la classe di risorse di rete utilizzabili, la classe di resilienza, ecc.
•
Reinstradamento dinamico degli LSP tunnel.
Se durante la vita di un LSP, l’ingress LSR individua un instradamento diverso per l’LSP,
invia un messaggio RSVP Path che trasporta l’oggetto Explicit_Route che indicherà il
nuovo percorso su cui dovrà essere reinstradato l’LSP.
•
Monitoraggio del percorso di rete utilizzato da un LSP tunnel;
39
Il nodo di ingresso di un LSP può ricevere informazioni sul percorso seguito da un LSP
aggiungendo nel messaggio RSVP Path l’oggetto Record_Route. Ogni nodo attraversato
dal messaggio inserirà il proprio indirizzo in modo da formare l’intera lista degli LSR che
compongono l’LSP.
•
Esecuzione l’allocazione delle label secondo la modalità downstream-on-demand.
Il nodo finale di un LSP, al momento della ricezione di un messaggio RSVP Path,
risponde con un messaggio RSVP Resv che contiene l’oggetto Label indicante il valore
della label assegnata a quel LSP
Il messaggio RSVP Resv percorrerà a ritroso il cammino seguito dal messaggio RSVP
Path; ogninodo attraversato userà la label contenuta nell’oggetto Label per etichettare il
traffico uscente dal nodo e provvederà a definire il valore della label che identificherà il
flusso di pacchetti dell’LSP entrante al nodo. Tale valore viene inserito nell’oggetto Label
ed il messaggio RSVP Resv che verrà rilanciato verso l’LSR upstream.
40
II.5 Bibliografia
W. Stallings : High Speed Networks and Internets Performance and Quality of Service,
second edition, Prentice Hall. 2002.
B. Davie, Y Rekhter : MPLS, Technology and Applications, Morgan Kaufmann Publisher,
2000.
U. Black : MPLS and Label switching Networks, Prentice Hall, 2001.
IETF, Resource ReServation Protocol (RSVP), RFC 2205, Version 1, Functional
Specification, September 1997
IETF, Requirements for Traffic Engineering Over MPLS, RFC 2702. September 1999.
IETF, RSVP-TE: Extensions to RSVP for LSP Tunnels, RFC 3209 December 2001.
IETF, Multiprotocol Label Switching Architecture, RFC 3031, January 2001.
IETF, MPLS Label Stack Encoding, RFC 3032, January 2001.
IETF, Multi-Protocol Label Switching (MPLS) Support of Differentiated Services, RFC 3270,
May 2002.
IETF, Overview and Principles of Internet Traffic Engineering, RFC 3272, May 2002.
IETF, Applicability Statement for Traffic Engineering with MPLS, RFC 3346, August 2002.
IETF, Time To Live (TTL) Processing in Multi-Protocol Label Switching (MPLS) Networks,
RFC 3443, January 2003.
41
Indice delle Figure
Figura I.2.1 - Illustrazione del concetto di FEC........................................................................ 6
Figura I.3.1 – Rappresentazione di un dominio MPLS.............................................................. 8
Figura I.3.2 - Illustrazione dei concetti di binding tra label e FEC. ......................................... 9
Figura I.3.3 – Illustrazione del concetto di label stack ............................................................. 9
Figura I.3.4 – Formato di una label MPLS. ............................................................................ 10
Figura I.4.1 – Illustrazione del concetto di Label Switched Parth (LSP) in una rete MPLS. 11
Figura I.4.2 – Utilizzazione della Incoming Label Map (ILM) in un LSR.............................. 12
Figura I.4.3 – Utilizzazione della FEC-to-NHLFE Map (FTN) in un LSR. ............................ 12
Figura I.4.4 – Rimozione dell’etichetta al penultimo LSR di un LSP in una rete MPLS......... 13
Figura I.4.5 – Modalità di associazione dei prefissi IP alle FEC: a) FEC separate per ogni
prefisso (non aggregazione); b) unica FEC per un insieme di prefissi (aggregazione).......... 14
Figura I.5.1 – Modalità a controllo indipendente nell’instaurazione di un LSP..................... 15
Figura I.5.2 – Modalità a controllo ordinato nell’instaurazione di un LSP. .......................... 15
Figura I.6.1 – Illustrazione del concetto di tunnel in una rete IP............................................ 16
Figura I.6.2 – Gerarchia di LSP e utilizzazione della tecnica di label stack. ......................... 17
Figura I.7.1 – Elaborazione del campo TTL nel caso di Uniform Model LSP in entrambi i casi
di rimozione dell’etichetta all’Egress LSR e al Penultimate LSR............................................ 19
Figura I.7.2 – Elaborazione del campo TTL nel caso di Pipe Model LSP con rimozione
dell’etichetta all’Egress LSR.................................................................................................... 19
Figura I.7.3 – Elaborazione del campo TTL nel caso di Pipe Model LSP con rimozione
dell’etichetta al Penultimate LSR............................................................................................. 19
Figura II.1.1 – Procedura di distribuzione delle label di tipo PushUnconditional................. 22
Figura II.1.2 – Procedura di distribuzione delle label di tipo PushConditional..................... 23
Figura II.1.3 – Procedura di distribuzione delle label di tipo PulledUnconditional. ............. 23
Figura II.1.4 – Procedura di distribuzione delle label di tipo PulledConditional. ................. 24
Figura II.1.5 – Procedura di disattivazione della label........................................................... 24
Figura II.2.1 – Ruolo delle politiche di Ingegneria del traffico per l’ottimizzazione delle
prestazioni di rete..................................................................................................................... 28
Figura II.2.2 – Esempio di modello overlay e di modello integrato per l’attuazione delle
politiche di TE in una rete IP. .................................................................................................. 29
Figura II.2.3 – Applicazione della tecnica Constraint-Based Routing in ambiente MPLS. .... 35
42
Figura II.3.1 – Sequenza delle operazioni eseguite da un LSR di una rete Diffserv over MPLS
su un pacchetto entrante. ......................................................................................................... 37
43