Multi
Protocol
Label
Switching
(MPLS)
Alfio Lombardo
Background: integrazione del
trasporto del traffico
• ISDN
• B-ISDN
ATM (Asynchronous Transfer Model)
- Elevata velocità di commutazione
- Possibilità differenziare QoS
- Meccanismi di gestione e controllo traffico (Traffic engineering)
Background:
Asynchronous Transfer Mode
• http://www2.rad.com/networks/1994/atm/tu
torial.htm
• http://www.iec.org/online/tutorials/atm_fun
d/
• http://www.cne.gmu.edu/modules/atm/Text
tut.html
• http://www.lanl.gov/lanp/atm.tutorial.html
• http://usuario.cicese.mx/~aarmenta/frames
/redes/atm/tutorial1/tute.html
Background:
Asynchronous Transfer Mode
Assumptions
ATM is a cell-based, connection-oriented transfer
Methodology (label switching)
ATM cell flow
1
5+48 bytes
2
3
ATM net
1
2
3
Background:
Asynchronous Transfer Mode
•
ATM works on fiber optic fabric with extremely low
error rates
No error correction on data
GFC: Generic Flow Control
VPI: Virtual Path Id
VCI: Virtul Circuit Id
PT: Payload Type
CLP: Cell Loss Priority
HEC: Header Error Control
Background: Asynchronous Transfer Mode
ATM uses Virtual Connection divided in two levels
(required for switching) :
Virtual Path
Virtual Circuit
Background: Virtual Channel
There are many types of virtual channel connections:
•
User-to-user applications. Between customer equipment at each end
of the connection.
•
User-to-network applications. Between customer equipment and
network node.
•
Network-to-network applications. Between two network nodes and
includes traffic management and routing.
Virtual channel connections have the following properties:
•
A VCC user is provided with a quality of service specifying parameters
such as cell-loss ratio, CLR, and cell-delay variation, CDV.
•
VCCs can be switched or semi-permanent.
•
Cell sequence integrity is maintained within a VCC.
•
Traffic parameters can be negotiated.
Background: Virtual Path
• Virtual paths are used to simplify the ATM
addressing structure
• Within an ATM cross-connect, information
about individual virtual channels within a
virtual path is not required, as all VCs
within one path follow the same route as
that path
Background: virtual channels and paths
relationship
Cross
connect
node
Background:
Asynchronous Transfer Mode
• ATM can dynamically allocate bandwidth
• ATM can dynamically manage QoS
specifications
• The devices to be connected to ATM
networks might be very simple, like a
telephone
• ATM is organized in a hierarchy, like today’s
phone network
Background: ATM Service Classes
Service Class
Quality of Service Parameter
constant bit rate (CBR)
This class is used for emulating circuit
switching. The cell rate is constant with time.
CBR applications are quite sensitive to cell-delay
variation. Examples of applications that can use
CBR are telephone traffic (i.e., nx64 kbps),
videoconferencing, and television.
variable bit rate–non-real
time (VBR–NRT)
This class allows users to send traffic at a rate
that varies with time depending on the
availability of user information. Statistical
multiplexing is provided to make optimum use of
network resources. Multimedia e-mail is an
example of VBR–NRT.
variable bit rate–real time
(VBR–RT)
This class is similar to VBR–NRT but is designed
for applications that are sensitive to cell-delay
variation. Examples for real-time VBR are voice
with speech activity detection (SAD) and
interactive compressed video.
available bit rate (ABR)
This class of ATM services provides rate-based flow
control and is aimed at data traffic such as file
transfer and e-mail. Although the standard does
not require the cell transfer delay and cell-loss
ratio to be guaranteed or minimized, it is desirable
for switches to minimize delay and loss as much
as possible. Depending upon the state of
congestion in the network, the source is
required to control its rate. The users are
allowed to declare a minimum cell rate, which is
guaranteed to the connection by the network.
unspecified bit rate (UBR)
This class is the catch-all, other class and is widely
used today for TCP/IP.
Background: QoS parameters.
Technical Parameter
Definition
cell loss ratio (CLR)
CLR is the percentage of cells not delivered at their
destination because they were lost in the network
due to congestion and buffer overflow.
cell transfer delay (CTD)
The delay experienced by a cell between network
entry and exit points is called the CTD. It includes
propagation delays, queuing delays at various
intermediate switches, and service times at queuing
points.
cell delay variation (CDV)
CDV is a measure of the variance of the cell
transfer delay. High variation implies larger
buffering for delay-sensitive traffic such as voice and
video.
peak cell rate (PCR)
The maximum cell rate at which the user will
transmit. PCR is the inverse of the minimum cell
inter-arrival time.
sustained cell rate (SCR)
This is the average rate, as measured over a long
interval, in the order of the connection lifetime.
burst tolerance (BT)
This parameter determines the maximum burst that
can be sent at the peak rate. This is the bucket-size
parameter for the enforcement algorithm that is used
to control the traffic entering the network.
Background: QoS vs. Service class
Class of
Service
CBR VBR–
NRT
VBR–
RT
AB
R
UB
R
CLR
yes
yes
yes
yes
no
CTD
yes
no
yes
no
no
CDV
yes
yes
yes
no
no
PCR
yes
yes
yes
no
yes
SCR
no
yes
yes
no
no
BT
no
yes
yes
no
no
flow
control
no
no
no
yes
no
Background: ATM Architecture
Modelli di integrazione IP/ATM
• Modello overlay
• Modello integrato
Modello overlay (rfc 1483)
•
•
•
•
Utilizzato a partire dalla meta’ anni 90
Utlizza PVC (Permanent Virtual Circuit)
PVC di tipo UBR o ABR tra gli IP_Router
Trasporto pacchetti su celle ATM
attraverso AAL5
PVC ATM
N(N-1)/2 PVC
per maglia completa
Modello overlay: topologia fisica
PVC setup:
Segnal. ATM
3
Rete
ATM
1
Intf
In
VPI/VCI
In
Intf
Out
VPI/VCI
Out
1
0/40
3
0/50
Switch ATM
Router IP
1
Switch interface
Modello overlay: instradamento
Rete
Next Hop
Interface
R2
atm 0/0/1
VPI/VCI=0/40
195.31.235.0/24
Intf
In
VPI/VCI
In
Intf
Out
VPI/VCI
Out
Intf
In
VPI/VCI
In
Intf
Out
VPI/VCI
Out
1
0/40
3
0/50
2
0/50
3
0/60
Segmentazione
S1
S2
R1
VPI/VCI=0/50
ATM
0/0/1
1
3
R2
VPI/VCI=0/60
2
3
ATM
0/0/2
VPI/VCI=0/40
Riassemblaggio
195.31.235.88
195.31.235.88
Commutazione ATM
Host
195.31.235.88
172.16.12.10
Modello overlay: configurazione
interfaccia router
R1(config) # interface atm 0/0/1
R1(config) # ip address 172.16.12.1 255.255.255.252
R1(config) # pvc 0/40
R1(config) # abr 1000 500
R1(config) # encapsulation aal5snap
Parametri PVC:
PCR= 1 Mb/s
MCR= 500 kb/s
Modello overlay:Segmentazione e
riassembraggio
ATM cell
IP
IP
IP
IP
PVC ATM
IP
IP
IP
IP
AAL5
AAL5
AAL5
AAL5
ATM
ATM
ATM
ATM
Fisico
Fisico
Fisico
Fisico
Ricostruzione pacchetti in tutti i router
Reti completamente magliate
Modello overlay: vantaggi
• Allocazione di banda sui PVC ATM
• Differenziazione dei flussi di traffico ATM
Possibilità di ingegnerizzare il traffico in rete
Modello overlay: ingegnerizzare il
traffico in rete
PVC setup:
Segnal. ATM
Rete
ATM
Rete
195.31.235.0/24
195.31.233.0/24
Next Hop
Interface
R2
R2
atm 0/0/1
VPI/VCI=0/40
atm 0/0/2
VPI/VCI=0/90
Switch ATM
Router IP
1
Switch interface
Modello overlay: svantaggi
• Gestione di 2 reti differenti (ATM e IP)
• Limitata scalabilità (interfaccia SAR-ATM
622 Mbit/s)
• Cell tax
• Stress del protocollo di routing IP (elevato
numero adiacenze
elevato numero
di messaggi di segnalaz. per configurare
le tabelle dei router)
Ridurre il numero di adiacenze: Modello Integrato
Modello integrato
Gli switch ATM implementano funzioni di instradamento IP
Switch IP+ATM
Switch ATM
Router IP
Intelligenza:
routing IP
Inoltro:
Longest-match
lookup
Intelligenza:
SW ATM forum
Inoltro:
Commutazione di
etichetta
- Esegue funzioni di routing IP (es.: RIP, OSPF, …)
- Forwarding con modalità ATM
Risultato: rete IP dove i pacchetti vengono trasportati in celle ATM su
collegamenti virtuali che seguono un percorso determinato da un
protocollo di routing IP (es. RIP, OSPF, …)
Modello integrato: associazione
delle etichette (label binding)
• Nel modello integrato il collegamento
virtuale non puo’ essere realizzato dalla
segnalazione ATM ….
Quindi e’ necessario integrare nella
componente di controllo dello Switch
IP+ATM un meccanismo per associare al
percorso individuato dal routing IP le
etichette VPI/VCI
Modello integrato: associazione delle
etichette (label binding)
Prot. Routing IP: per raggiungere 195.31.235.0/24
IA1
R1
Richiesta:
195.31.235.0/24
VPI/VCI:
0/40
Richiesta:
195.31.235.0/24
IA1
VPI/VCI:
0/50
IA2
IA2
R1 – IA1 – IA2 – R2
Richiesta:
195.31.235.0/24
R2
VPI/VCI:
0/60
195.31.235.0/24
Definisce un circuito virtuale tra R1 e R2 assegnando delle
etichette ATM al percorso individuato dall’instradamento IP
Modello integrato:
Rete
Next Hop
195.31.235.0/24
IA1
Interface
atm 0/0/1
VPI/VCI:
0/40
Intf
In
VPI/VCI
In
Intf
Out
VPI/VCI
Out
Intf
In
VPI/VCI
In
Intf
Out
VPI/VCI
Out
1
0/40
3
0/50
2
0/50
3
0/60
IA1
R1
VPI/VCI=0/40
IA2
VPI/VCI=0/50
ATM
0/0/1
R2
VPI/VCI=0/60
ATM
0/0/2
Riassemblaggio 195.31.235.88
195.31.235.88 Segmentazione
Commutazione ATM
Host
195.31.235.88
Modelli overlay e integrato:
confronto
Overlay
• PVC tra R1 e R2
realizzato con
segnalazione ATM
• Coesitenza 2 protocolli di
routing
• Adiacenza con router R2
Integrato
• PVC tra R1 e R2
realizzato con label
binding protocol
• Protocollo di routing IP
• Adiacenza con switch
IP+ATM
Nota: nel modello Integrato il pacchetto IP viene riassemblato solo
nei router IP “reali” , non negli swithc IP+ATM….
Adiacenze IP
Modello “integrato”
Modello “overlay”
Open issues
• Spreco di banda introdotto dalla
segmentazione ATM
• Scalabilità interfaccia SAR ATM (segmentazione
solo ai bordi della rete)
• Mancanza di uno standard multivendor
MultiProtocol Label Switching protocol:
MPLS
MPLS target
•
•
•
•
Recepire il modello integrato
Utilizzare diverse tecnologie di livello 2
Possibilità di ingegnerizzare traffico IP
Supportare QoS in reti IP in accordo a
DiffServ
• Offrire RVP
MPLS: concetti base
• Introduce nelle reti IP (backbone) la commutazione
di etichetta tipico del circuito virtuale
• Non è legato alla tecnologia di trasporto
• Non è conscio del contenuto dl trasporto
Pacchetti di livello 3
(IPv4, IPv6, IPX, …)
...
Trame di livello 2
(PPP, Ethernet, …)
Commutazione di Etichetta
...
Tipo di pacchetti/trame
trasportati
MPLS
Livello 2 (Data Link)
Forwarding Equivalent Class
La decisione di instradamento di un router
può essere vista come appartenente a due
passi logici:
• Ricavare dalle intestazioni del pacchetto le
informazioni per classificare il pacchetto in
una data FEC
• Utilizzare la FEC per ottenere il next hop
dalla tabella FEC - NH
FEC: esempi
IP
•Ricavare dalle intestazioni del pacchetto il Destination Address (FEC)
•Utilizzare la FEC per ottenere il next hop sulla base del Longest Match Prefix
Applicato alla tabella di routing
Generalizzazione FEC: Policy based routing
FEC 1: pacchetti destinati
alla rete 195.31.235.0
1
2
n
FEC
NH
FEC 1
1
FEC 2
2
...
...
Tabella di routing IP
(FEC-To-Next-Hop)
...
FEC 2: pacchetti destinati
alla rete 195.31.235.0
con IP PRECEDENCE=111
...
FEC n: pacchetti destinati
al terminale 145.50.1.2
con indirizzo sorgente
195.35.4.5
FEC: granularità
FEC a: pacchetti destinati
alla rete 195.31.235.0
Granularità grossa
Granularità
FEC b: pacchetti destinati
al terminale 145.50.1.2,
porta 80, con indirizzo IP
sorgente 195.35.4.5, porta
fine
sorgente 11782
Generalizzazione FEC: Policy based
routing
• Ricavare dalle intestazioni del pacchetto la FEC: dest
addr.+ sourceadd.+ IP_TOS +... (Policy base routing)
• Utilizzare la FEC per ottenere il next hop
Analizzare tutti i campi che determinano la FEC è molto
oneroso se effettuato in tutti i router
• Analisi dei campi necessari solo nei router di accesso
alla rete
• Associazione di una label alla FEC nei router di accesso
• Istradare in accordo alla label nei router interni alla rete
MPLS: modalità di funzionamento
Classificazione dei pacchetti
all’entrata del Dominio MPLS
(assegnazione ad una FEC)
Pacchetto
I nodi intermedi analizzano solo
l’intestazione MPLS ed eseguono la
Consegna dei pacchetti
traslazione di etichetta (label
al Livello 3 all’uscita dal
switching)
Dominio MPLS
IGP
IGP
IGP
Pacchetto L1
Pacchetto L2
Pacchetto L3
IGP
Il nodo in ingresso al
dominio MPLS assegna
l’etichetta in accordo alla
FEC
(Label Imposition)
Pacchetto
IGP
Il nodo in uscita dal
dominio MPLS rimuove
l’etichetta
(Label Disposition)
Router MPLS
MPLS: inoltro dei pacchetti
MPLS non viene implementato nel dominio dei clienti
195.31.235.78 &
195.31.235.15 sono
associati alla FEC
195.31.235.0/24
I pacchetti IP arrivano alla
rete MPLS e vengono
etichettati
195.31.235.78
195.31.235.15
I pacchetti MPLS
arrivano a un nodo
intermedio il quale
cambia l’etichetta; il
pacchetto viene quindi
inoltrato al Next-Hop
R1
195.31.235.78
98
195.31.235.15
98
FEC 195.31.235.0/24
195.31.235.78
197.26.15.94 56
195.31.235.15
R2
Rete MPLS
56
R3
Architettura di un router MPLS
Label Switching Router
=
Componente di Controllo
+
Componente Dati
• L’architettura di un router MPLS (Label
Switching Router) è divisa in due distinte
componenti
– Controllo
– Dati (Forwarding)
Label Switch Router:
componente di controllo
Protocollo di Routing IP
(es. OSPF, IS-IS, BGP, PIM)
Criteri per la definizione
delle associazioni
tra etichette e FEC
(label bindings)
Distribuzione delle
associazioni tra
etichette e FEC
consigliati
Creazione/aggiornamento delle Tabelle di Instradamento
Gestione delle associazioni etichette-FEC
Label Switch Router:
componente dati
45
1
29
64
2
29
MPLS: architettura di rete
ATM/FR
POP
SDH
Sito Cliente
POP
LSR
Edge-LSR
ATM/FR
MPLS: tab di routing e gestione
etichette
45
ILM + LIB
FTN + LIB
29
64
Edge-LSR
LSR
Pacchetti di livello 3
(non etichettati)
Tabelle di Routing IP
FTN: Fec To NHLFE (Next Hop Label Forwarding Entry)
ILM: Incoming Label Map
LIB: Label Information Base
29
MPLS:LIB
IGP
Ho associato l’etichetta 29
alla FEC 195.31.235.0/24.
Ehi tu, 172.16.0.1, guarda
che ho associato l’etichetta
45 alla FEC 195.31.235.0/24.
Vedi di memorizzarlo nella
tua LIB
Lab 29 ….
Label 45  FEC 195.31.235.0/24
172.16.5.2
172.16.0.1
FEC
Label
Loc.
Label
Rem.
195.31.235.0/24
29
45
175.16.5.2
50
172.16.1.4
29
172.16.1.4
70
172.16.5.2
192.106.248.0/24
64
...
Ehi tu, 175.16.0.1, guarda
che ho associato l’etichetta
50 alla FEC 195.31.235.0/24.
Vedi di memorizzarlo nella
tua LIB
Prov.
172.16.1.4
...
LIB
172.16.5.2
Interfaccia IP
Identificativo LSR (una
delle interfacce IP
LIB (Cisco 3640)
P1# show mpls ldp bindings
Etichetta locale
192.168.0.22/32, rev 53
local binding: label: 24
remote binding: lsr: 192.168.1.3:0, label: 25
remote binding: lsr: 192.168.1.2:0, label: 22
FEC
Etichette remote
remote binding: lsr: 192.168.0.11:0, label: 27
remote binding: lsr: 192.168.0.12:0, label: 34
192.168.0.31/32, rev 31
Provenienze
local binding: label: 25
remote binding: lsr: 192.168.1.3:0, label: 21
remote binding: lsr: 192.168.1.2:0, label: 24
remote binding: lsr: 192.168.0.11:0, label: 28
remote binding: lsr: 192.168.0.12:0, label: 35
192.168.0.32/32, rev 33
local binding: label: 26
remote binding: lsr: 192.168.1.3:0, label: 22
remote binding: lsr: 192.168.1.2:0, label: 25
remote binding: lsr: 192.168.0.11:0, label: 29
remote binding: lsr: 192.168.0.12:0, label: 36
FTN (negli Edge_LSR)
Multicast/load bal.
FEC-To-NHLFE
(1)
(k)
FEC1
...
NHLFE
NHLFE
...
NHLFE
...
NHLFE
...
...
FEC2
...
Classificazione
in FEC
NHLFE
FECn
NHLFE
ILM (nei LSR)
Multicast/load bal.
Incoming Label Map
(1)
(k)
L1
...
NHLFE
NHLFE
...
NHLFE
...
NHLFE
...
...
L2
...
Etichetta
entrante
NHLFE
Ln
NHLFE
Next Hop Label Forwarding Entry
E adesso come e a chi li
inoltro questi pacchetti ?
64
FEC/Label
- Next-Hop (interfaccia di uscita, label)
- Operazioni sulla pila delle etichette
- Swap
Ehi tu, guarda che le
istruzioni per l’inoltro
sono contenute nel
NHLFE delle tabelle
FTN/ILM
- Pop
- Push
- (opzionale)
- Informazioni per il livello 2
- Modalità di trattamento del pacchetto
-...
Tabella FTN/ILM
NHLFE
Costruzione ILM
• dinamica: la ILM viene costruita a partire dalla tabella di
routing IP presente nel LSR e dalla LIB; in questo caso
l’indicazione del Next-Hop proviene dal protocollo di
routing adottato dalla rete (OSPF, IS-IS, ecc.).
• esplicita: la ILM viene costruita tramite un protocollo di
segnalazione che permette di scrivere la riga
corrispondente a ciascuna FEC; in questo caso il NextHop viene determinato esplicitamente (da un Operatore
o automaticamente) attraverso un protocollo di
segnalazione (es. RSVP-TE, CR-LDP, vedi capitolo su
“Traffic Engineering”).
ILM CISCO 3640
P1# show mpls forwarding-table
Local Outgoing
Prefix
tag
tag or VC
or Tunnel Id
16
Untagged
10.1.1.2/32
17
Pop tag
192.168.0.12/32
18
Untagged
172.16.2.0/24
19
Untagged
172.16.3.0/24
20
Untagged
172.16.12.0/24
21
Untagged
172.16.13.0/24
22
Untagged
172.16.23.0/24
23
Pop tag
192.168.1.1/32
24
19
192.168.1.2/32
25
20
192.168.1.3/32
26
28
192.168.0.21/32
27
24
192.168.0.22/32
28
25
192.168.0.31/32
29
26
192.168.0.32/32
30
Untagged
10.10.0.0/24
31
Untagged
10.1.11.0/24
32
Untagged
10.11.0.0/24
Etichetta entrante
Etichetta uscente
FEC
Bytes tag
switched
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Outgoing
interface
Se0/0
Fa0/0
Fa0/0
Fa0/0
Fa0/0
Fa0/0
Fa0/0
Fa0/0
Fa0/0
Fa0/0
Fa0/0
Fa0/0
Fa0/0
Fa0/0
Se0/0
Se0/0
Se0/0
Interfaccia uscente
Fa=Fast Ethernet
Se=Seriale
Next Hop
point2point
172.16.1.12
172.16.1.1
172.16.1.1
172.16.1.1
172.16.1.1
172.16.1.1
172.16.1.1
172.16.1.1
172.16.1.1
172.16.1.1
172.16.1.1
172.16.1.1
172.16.1.1
point2point
point2point
point2point
Next-Hop
Costruzione ILM (dinamica)
Rete Dest.
Next-Hop
195.31.235.0/24
Interfaccia: s0
Next Hop: 192.168.1.1
192.106.248.0/24
Interfaccia: e0
Next Hop: 192.168.5.5
...
...
Identificativo LSR
192.168.1.1
172.16.5.2
192.168.5.5
172.16.1.4
...
52
...
Etichetta Etichetta
Loc.
Rem.
Prov.
195.31.235.0/24
29
45
50
172.16.5.2
172.16.1.4
192.106.248.0/24
64
29
70
172.16.1.4
172.16.5.2
...
Etichetta
29
Next-Hop
FEC
Tabella di routing IP
...
NHLFE
Label: 45
Interfaccia: s0
Next Hop: 192.168.1.1
operazioni:….
Label: 99
Interfaccia: s1
Next Hop: 192.168.6.7
64
Label: 29
Interfaccia: e0
Next Hop: 192.168.5.5
72
Label: 44
Interfaccia: s0
Next Hop: 192.168.1.1
...
...
ILM
LIB
P1#sh ip route
. . . . . . . .
O IA
192.168.0.32 [110/75] via 172.16.13.3, 2d23h, Serial0/1
P1#sh mpls ldp neighbor
Peer LDP Ident: 192.168.1.3:0; Local LDP Ident 192.168.1.1:0
TCP connection: 192.168.1.3.11006 - 192.168.1.1.646
State: Oper; Msgs sent/rcvd: 15116/15088; ; Downstream
Up time: 1w2d
LDP discovery sources:
Serial0/1, Src IP addr: 172.16.13.3
Addresses bound to peer LDP Ident:
192.168.1.3
P1#sh mpls ldp bindings
192.168.0.32/32, rev 40
local binding:
remote binding:
remote binding:
remote binding:
172.16.23.3
172.16.3.3
Bytes tag
switched
876
Outgoing
interface
Se0/1
Elenco delle
interfacce di
un LSR remoto
172.16.13.3
label: 28
lsr: 192.168.0.12:0, label : 36
lsr: 192.168.0.11:0, label : 35
lsr: 192.168.1.3:0, label : 30
P1#show mpls forwarding-table
Local Outgoing
Prefix
tag
tag or VC
or Tunnel Id
28
30
192.168.0.32/32
Tabella di
routing IP
LIB
Next Hop
ILM
point2point
Operazioni sulle etichette
Rimpiazza 88 con 99
…
64
88
64
…
99
64
…
88
swap
Elimina 99
pop
64
…
X
88 99
Rimpiazza 88 con 99
e inserisci 67
push
64
…
88
64
…
99 67
Label Switched Path
R[u]
R[1]
54
79
45
R[i]
58
29
R[4]
67
R[3]
R[2]
LSP:
• Hop To Hop
• Esplicito (RSVP-TE; CR-LDP)
Limiti del routing IP convenzionale
e dell’LSP Hop to Hop
1,5 Mbit/s
Ra
R2
R3
R1
Congestione !
1,5 Mbit/s
Rb
Percorso Ra  R3
Percorso Rb  R3
Percorso Sottoutilizzato
R4
R5
Rete
195.31.235.0/24
LSP Nidificati
Un LSP di livello m (m>1) e’ una sequenza di LSR
- Che inizia con un LSR di ingresso che inserisce l’m-esima label della pila
-I cui router intermedi eseguono la commutazione di etichetta sulla
etichetta aggiunta
-Che termina con un LSR di uscita dove la decisione di inoltro e’ basata
sull’etichetta di livelli m-1 (o sull indirizzo IP se M=1)
R[u]
72
29
R[i]
19
29 55
29 35
R[4]
29 45
swap
push
R[2]
R[3]
pop
Aggregazione indirizzi IP (CIDR):
annunci delle reti/etichette
195.31.40.0/24
Annunciati
come
195.31.40.0/23
195.31.41.0/24
Punto di aggregazione/disaggregazione
dei prefissi
Rete = 195.31.40.0/23
Etichetta = 44
LSR-D
Rete = 195.31.40.0/24
Etichetta = 24
Rete = 195.31.40.0/23
Etichetta = POP
LSR-A
LSR-C
Rete = 195.31.41.0/24
Etichetta = 48
LSR-B
Aggregazione indirizzi IP (CIDR):
inoltro pacchetti
195.31.40.0/24
Annunciati
come
195.31.40.0/23
195.31.41.0/24
Terminazione dell’LSP
POP
195.31.40.1 24
X
195.31.40.1 44
X
195.31.41.1 44
LSR-A
195.31.40.1
LSR-D
195.31.41.1
LSR-C
195.31.41.1 48
Lookup a
livello 3
LSR-B
Egress-Targeted Label Assignment
(LSP basati su edge LSR di uscita)
L’LSR di ingresso dell’LSP sa che le
due FEC devono seguire lo stesso
LSP fino al LSR R[u]
Rete MPLS
195.35.25.15
195.35.25.15
98
190.30.20.10
195.35.25.0/24
98
190.30.20.10
R[u]
R[i]
Le due FEC vengono aggregate; viene utilizzato
lo stesso LSP e quindi ai pacchetti viene
associata una unica etichetta
190.30.20.0/24
Etichette
TTL
S
Exp
8
1
3
Livello 1
Pacchetto/Trama
Label
20
Livello 2
Livello m
...
Pacchetto MPLS consegnato al livello 2 (Eth., ATM, F.R., PPP, ecc.)
Trasporto dei pacchetti MPLS su
trama
Pacch.
MPLS
Pacch.
T2
Pacch.
MPLS
MPLS H 2
Pacch.
T2
Pacch.
MPLS
MPLS H 2
Pacchetto
Pacchetto
Pacchetto
MPLS
MPLS
MPLS
Liv. 2
Liv. 2
Liv. 2
Liv. fisico
Liv. fisico
Liv. fisico
H 2 Header Livello 2
T 2 Trailer Livello 2
Trasporto dei pacchetti MPLS su
ATM
Int. Etich. NHLFE
Etich. NHLFE
…
64 36
…
36
…
1
Etich. 45
Int. 1
…
…
…
45
Etich. 55
Int. 2
…
…
Int. Etich. NHLFE
1
…
…
55
Etich. 99
Int. 2
…
…
ILM
ILM
ILM
64 0
64 99
R[1]
VPI/VCI = 0/45
R[2]
R[3]
VPI/VCI = 0/55
MPLS
MPLS
AAL5
AAL5
ATM
ATM
ATM
Liv. fisico
Liv. fisico
Liv. fisico
Idetificazione del tipo di protocollo
trasportato
• Il campo protocol del livello 2 indica
“MPLS”
• MPLS non ha un campo “protocol”
• A ciascun tipo di protocollo trasportato
viene dedicato un set di etichette
Distribuzione delle associazioni
FEC/Etichette
Possibili opzioni:
incapsulare le etichette nei messaggi di protocolli di
routing esistenti
utilizzare uno specifico protocollo
LSP Esplicito
LDP: Label Distribution Protocol
CR_LDP
RVSP_TE
Carring Label
Information in BGP-4
Modalità di distribuzione e
mantenimento delle associazioni
Diverse modalità di distribuzione in accordo a:
•Direzione della distribuzione
•A quali LSR inviare le associazioni
•Quando inviare le associazioni
Diverse modalità di mantenimento delle associazioni nella LIB
•Mantenere nella LIB tutte le associazioni
•Mantenere nella LIB le associazioni necessarie per l’inoltro
dei pacchetti
Direzione della distribuzione :
modalità downstream/upstream
195.31.235.0/24
R[1]
R[2]
Associazione locale
FEC: 195.31.235.0/24
Etichetta: 80
R[3]
Associazione locale
FEC: 195.31.235.0/24
Etichetta: 80
Distribuzione
FEC: 195.31.235.0/24
Etichetta: 80
R[1]
Distribuzione
FEC: 195.31.235.0/24
Etichetta: 80
R[2]
Pacchetto
R[2]
80
R[1]
(a): downstream
R[3]
Pacchetto
R[2]
R[2]
80
R[3]
(b): upstream
Modalità downstream
Associazione locale
FEC: 195.31.235.0/24
Etichetta: 80
Distribuzione
FEC: 195.31.235.0/24
Etichetta: 80
Associazione locale
FEC: 195.31.235.0/24
Etichetta: 72
Distribuzione
FEC: 195.31.235.0/24
Etichetta: 72
Associazione locale
FEC: 195.31.235.0/24
Etichetta: 35
Distribuzione
FEC: 195.31.235.0/24
Etichetta: 35
195.31.235.0/24
R[1]
R[2]
R[3]
R[4]
(a)
Pacchetto
80
Pacchetto
72
Pacchetto
35
195.31.235.0/24
R[1]
R[2]
R[3]
(b)
R[4]
A quali LSR inviare le associazioni?
Distribuzione con richiesta
Ehi tu, guarda che mi serve una
etichetta per la FEC 195.31.235.0/24
Richiesta
195.31.235.0/24
LSR 1
Associazione
Downstream on demand
LSR 2
Distribuzione senza richiesta
Ehi tu, guarda che ti stò inviando una
etichetta per la FEC 195.31.235.0/24
Associazione
195.31.235.0/24
LSR 1
LSR 2
Downstream unsolecited
Quando inviare le associazioni
Controllo:
- indipendente: l’annuncio puo’ essere inviato
in qualsiasi momento;
- ordinato: l’annuncio puo’ essere
inviato solo dopo aver ricevuto l’annuncio
da parte degli LSR next hop.
Esempio: Controllo ordinato
(4)
(2)
(3)
Allocazione Etichetta(50)
per FEC 50.1/16
Richiesta:
FEC 50.1/16
R[3]
(1)
R[2]
Etichetta: 40
(6)
R[1]
(8)
Allocazione
Etichetta(50)
per FEC 40.1/16
(7)
(5)
Inserimento
nella ILM
Inserimento nella ILM
Downstream on-demand con controllo ordinato
Esempio: Controllo indipendente
(4)
(2)
(3)
Allocazione Etichetta(50)
per FEC 50.1/16
Richiesta:
FEC 50.1/16
R[3]
(1)
R[2]
Etichetta: 40
(6)
R[1]
(4)
Allocazione
Etichetta(40)
per FEC 50.1/16
(3)
(5)
Inserimento
nella ILM
Inserimento nella ILM
Downstream on-demand con controllo indipendente
Esempio: LSP
ILM
ILM
Etich.
I/F
entrante uscita
Etich.
I/F
Etich.
entrante uscita uscente
50
1
40
1
Dest.
50.1/16
40
FTN
Dest.
50.1/16
I/F
Etich.
uscita uscente
1
1
50
50
1
1
R[1]
1
40
R[2]
R[3]
50.1/16
Modalità di mantenimento nella LIB
Modalita:
- Liberale (Tutte le associazioni nella LIB)
- Conservativa (Solo le associazioni ricevute dai Next Hop)
Compatibilità tra le varie opzioni
Downstream unsolecited + mod indipendente +
mantenimento liberale
Downstream on-demand + mod ordinata +
mantenimento conservativo
Label Distribution Protocol
Meccanismo di discovery
Utilizzo di TCP (UDP per Hello) con porta 646
Uso codifica TLV
Due LSR che utilizzano il protocollo LDP per lo scambio di associazioni
etichetta-FEC vengono detti “LDP Peers” e si parla di “sessione LDP”
esistente tra i due LSR per lo scambio delle associazioni.
LSR A
Etichetta 94  FEC 195.31.235.0/24
LSR B
Sessione LDP
Fig. 3.5 (a)
LSR A
Rete MPLS
Etichetta 94  FEC 195.31.235.0/24
Sessione LDP
Usato per i LSP
nidificati!
LSR B
Messaggi LDP
Notifica
Discovery
 NOTIFICATION
 HELLO
Sessione
Annunci
 INITIALIZATION
 KEEPALIVE







ADDRESS
ADDRESS WITHDRAW
LABEL MAPPING
LABEL REQUEST
LABEL ABORT REQUEST
LABEL WITHDRAW
LABEL RELEASE
Meccanismo di discovery
Base
LSR C
Hello
LSR A
Hello
LSR B
Hello
Hello
Rete
MPLS
Esteso
LSR D
Meccanismo base:
utilizza IP address 224.0.0.2 e Hold Timer 15 s.
Meccanismo esteso:
utilizza indirizzo IP del router target e Hold Timer 45 s.
Sessioni LDP: apertura
connessione TCP
Ehi tu, guarda che per aprire la
sessione LDP dobbiamo prima
stabilire una connessione TCP
SYN, Seq=n
LSR 1
(attivo)
SYN, Seq=m, ACK=n+1
LSR 2
(passivo)
ACK=m+1
SE IP1>IP2
LSR1 attivo
Sessioni LDP: inizializzazione
sessione
Ehi tu, guarda che dobbiamo
metterci d’accordo sui parametri
della sessione LDP
Initialization
LSR 1
Initialization
Versione protocollo
Modalità di distribuzione
Keepalive Timer
Spazio VPI/VCI (ATM)
LSR 2
Sessioni LDP: KeepAlive
Keepalive Timer
Keepalive Timer
LDP-PDU/Keepalive
LSR 1
LDP-PDU/Keepalive
LSR 2
HoldTimer= K * KeepAlive Timer
K=3
Allo scadere di HoldTimer LSR chiude la connessione TCP
Annunci LDP: Address
Ehi tu, guarda che ti stò inviando un
messaggio di ADDRESS per comunicarti gli indirizzi di tutte le mie
interfacce
IP
TCP
H
Porta TCP dest.: 646
ADDRESS
Annunci LDP: Label Mapping
Ehi tu, guarda che ti stò inviando un
messaggio di LABEL MAPPING per
comunicarti che ho associato l’etichetta
35 alla FEC 195.31.235.0/24
IP
TCP
H
LABEL MAPPING
LSR UpStr
Porta TCP dest.: 646
LSR DownStr
Annunci LDP: Label Request
Ehi tu, guarda che ti stò inviando
un messaggio di LABEL REQUEST
perché mi serve una etichetta per
la FEC 195.31.235.0/24
LABEL REQUEST
H
TCP
IP
LSR UpStr
LSR DownStr
Porta TCP dest.: 646
Annunci LDP: Label Withdraw
Ehi tu, ritiro quanto fatto in
precedenza per la FEC
195.31.235.0/24; devi cancellare
l’associazione FEC-etichetta che
ti avevo inviato
IP
TCP
H
LABEL WITHDRAW
LSR UpStr
LSR DownStr
Porta TCP dest.: 646
Annunci LDP: Label Release
Ehi tu, guarda che ti stò inviando un
messaggio di LABEL RELEASE perché mi è
cambiato il Next-Hop per la FEC
195.31.235.0/24 e quindi l’associazione FECetichetta che mi hai inviato non mi serve più
LABEL RELEASE
H
TCP
IP
LSR UpStr
Porta TCP dest.: 646
LSR DownStr
LDP - PDU
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version
|
PDU Length
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
LDP Identifier
|
+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
LDP PDU
MSG n
MSG 2
MSG 1
H
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|
Message Type
|
Message Length
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Message ID
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
+
+
|
Mandatory Parameters
|
+
+
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
+
+
|
Optional Parameters
|
+
+
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
TCP/UDP
IP
UDP solo per i
messaggi “Hello”
LDP Identifier
4 byte
2 byte
Spazio di
etichette
Identificativo LSR
192.168.0.11
:
0
LDP Identifier
Hello R1:0
R[5]
Ser.
Hello R5:0
Hello R1:0
Eth.
R[3]
Hello R1:1
R[1]
Eth.
ATM
ATM
Hello R2:4
Hello R3:0
Hello R4:0
Eth.
R[4]
R[2]
Distribuzione tramite BGP
Attributo “MP_REACH_NLRI”
+---------------------------------------------------------+
|
Address Family Identifier (2 octets)
|
+---------------------------------------------------------+
|
Subsequent Address Family Identifier (1 octet)
|
+---------------------------------------------------------+
|
Length of Next Hop Network Address (1 octet)
|
+---------------------------------------------------------+
|
Network Address of Next Hop (variable)
|
+---------------------------------------------------------+
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
+---------------------------------------------------------+
|
Network Layer Reachability Information (variable)
|
+---------------------------------------------------------+
+---------------------------+
|
Length (1 octet)
|
+---------------------------+
|
Label (3 octets)
|
+---------------------------+
. . . . . . . . . . . . . . .
+---------------------------+
|
Prefix (variable)
|
+---------------------------+
Integrazione DiffServ-MPLS
N flussi
Edge-LSR
Dominio DiffServ/MPLS
Edge-LSR
LSR
DiffServ
aggregazione dei flussi all’ingresso
più flussi associati con una classe
(identificata dal DSCP)
MPLS
aggregazione dei flussi all’ingresso
più flussi associati con una FEC
(identificata da una sequenza di
etichette)
Integrazione DiffServ-MPLS
DiffServ: modello per la fornitura di QoS IP
MPLS: Tecnica di inoltro pacchetti
MPLS Support for DiffServ: rfc 3270
•DSCP nel pacchetto IP;
•LSR analizzano solo intestazione MPLS
PHB deducibile da
•Campo Label
•Campo Exp
TTL
S
Exp
8
1
3
Label
20
Integrazione DiffServ-MPLS
• L-LSP
Un LSP per ciascuna
Classe di Servizio:
Il PHB viene dedotto dal
valore della Label
(campo Exp per
determinare livello
priorita’ di scarto )
• E-LSP
Un unico LSP per tutte
le Classi di Servizio:
Il PHB viene dedotto dal
valore del campo Exp
E-LSP
Campo “EXP”
1
L1
Dominio DiffServ/MPLS
2
L1
PHB 1
PHB 2
...
E-LSP
ILM
Label
NHLFE
Label: L2
Interfaccia: s0
Next Hop: p.to – p.to
L1
Tipo LSP: E-LSP
Mappa EXPPHB
...
...
EXP
...
L1
s0
EXP
PHB
0
Best-Effort
1
AF11
...
...
L-LSP
Dominio DiffServ/MPLS
Campo “EXP”
000 L1
001 L2
010 L2
EF
AF11
L1: etichetta per l’L-LSP che supporta il PHB EF
L2: etichetta per l’L-LSP che supporta la PSC AF1x
AF12
LSR DiffServ
Informazioni aggiuntive nel Next Hop Label Forwarding Entry:
-Tipo di LSP (E-LSP; L-LSP)
- PHB supportati
-Corrispondenza tra l’informazione di classificazione nel pacchetto
entrante e un PHB
-Modalità di codifica dell’informazione di classificazione nel pacchetto
uscente
Background: Tunnel DiffServ
DSCP=“x”
DSCP tunnel=“y”
x
x
D1
y
DSCP=“x”
x
D3
D2
Tunnel DiffServ
LSP vs Tunnel DiffServ
Un LSP ha caratteristiche analoghe ad un Tunnel:
• LSR intermedi al LSP lavorano solo sull’
elemento esterno dell’intestazione MPLS;
l’informazione DiffServ del pacchetto non viene
considerata
• LSP unidirezionali
• L’informazione DiffServ contenuta nell’elemento
esterno dell’intestazione MPLS (EXP) puo’
essere variata dai router intermedi a causa di
riclassificazione
LSP: modello PIPE
Intestazione MPLS
DSCP=“x”
x
x L2
x L1
DSCP=“x”
x
D1
D3
Rete MPLS
LSP
PHB determinato sulla base del
contenuto dell’elemento esterno
dell’intestazione MPLS
LSP: modello short PIPE
DSCP=“x”
x
Intestazione MPLS
DSCP=“x”
x
x L1
x
D1
D3
Rete MPLS
LSP
PHB determinato sulla base del
contenuto del campo DSCP del
pacchetto IP
Scarica

Lezione 6