Vous êtes sur la page 1sur 57

Introduction MPLS

Scurit 1
Serge Daigle
Autome 2009

1
2
Quest-ce que MPLS?
MPLS: Multiprotocol Label Switching

Multiprotocol Label Switching (MPLS) combine lintlligence du routage
avec la performance de la commutation et par consquent les rseau de
couche 2 et de couche 3 peuvent en bnficier grandement
MPLS combine les capacits dynamique de IP et de routage IP avec la
performance de commutation au niveau des technologies de couche 2.
Une nouvelle technologie WAN originalement dfinit dans RFC 3031 par:
Cisco Systems
Force 10 Networks
Juniper networks
Au dbut cette technologie sappelait TAG switching
3
2 type de MPLS
Frame Mode MPLS (celui que lon tudie)
Indique lusage de MPLS avec ethernet ou autre type dencapsulation utilisant des trammes
(Frames)
Cell mode MPLS
employ par les technologies ATM
ATM des besoins spcifiques cause de ces cellules grandeur fixe
4
Pourquoi MPLS?
Circuit traditionnel de couche 3 (IP)
Avantages:
le routage dynamique, slection automatique dun chemin
fournit les meilleurs route ainsi que des route backup
fournit la Qualit de service (QoS)
Dsavantages:
Introduit des dlais cause du table lookup
Circuit traditonnel de couche 2 (ATM, Frame Relay)
Avantages:
Les destinations sont pr tablis
Par contre beaucoup plus rapide pas de table lookup
Dsavantages:
Par contre plus difficile grer, configuration manuelle, logiciel de
gestion sophistiqu
Plus difficile implanter le QoS, et de gr les SLA (Service level
agreements
ex: frame-relay la bit DE...

5
Pourquoi MPLS (suite)
La Philosophie de MPLS est quune entte de couche 3 contient beaucoup
trop dinformation par rapport linformation requise pour commut ou
router un paquet
il faut simplifier dou lutilit dun label
MPLS permet lextension des rseaux entre les sites dun client et cela mme
si le rseau MPLS appartient un fournisseur de service
Un rseau MPLS:
Converge de faon dynamique
Peut supporter plusieurs technologies
Permet de faire de la qualit de service (QoS)

MPLS - Quelques dfinitions

FEC - Forwarding equivalence class: Un FEC est un groupe
de paquet qui sont routs de la mme faon (en dautre
terme, ils partagent la mme destination).
Label: Cest le fondement de MPLS, un routeur va gnrer
un label (identificateur) pour chaque FEC quil possde. Un
routeur P (provider) va commuter un paquet en se
basant uniquement sur le label sans jamais avoir recours
lentte de la couche 3 du paquet
cest donc un petit identificateur utilis par une groupe de
rseau qui partagent une mme destination. (habituellement
une significance local seulement, comme frame-relay )
6
MPLS Quelques dfinitions
LSR Label Switching router: Un routeur qui est
capable de commut les paquets libell (Label) de
MPLS
CE - customers edge: Un routeur non MPLS
appartenant au client qui est branch a un rseau
MPLS appartenant au fournisseur de service. (route les
paquets au niveau de la couche 3 seulement)
7
MPLS Quelques dfinitions
PE Providers edge: Un routeur MPLS appartenant au fournisseur
de service (provider) qui est branch a un rseau non-MPLS
appartenant au client. Ce routeur est oblig de regarder la table de
routage (couche 3) ou dinsr un label. On peut aussi le rfrer
comme un edge LSR ou un PE router
P Provider :Un routeur qui commut les paquets en se basant
uniquement sur les labels et non sur linformation de couche 3.
On peut aussi le rfrer comme un Non-edge LSR ou un P
router

8
MPLS - Quelques dfinitions
LDP - Label distribution protocol: Aprs avoir
gnr un label pour chaque FEC, un
routeur a besoin dinformer ses routeurs
voisins des labels quil a gnr pour
chaque FEC. LDP est utilis pour distribuer
cette information.

9
Commutation MPLS de base
Aprs que tous les labels sont connu un les P
routers peuvent faire la commutation en se basant
seulement sur les labels
10
MPLS-VPN
Notez-bien que notre objectif est de
permettre lextension des rseaux entre les
sites dun client et cela mme si le rseau
MPLS appartient un fournisseur de service
Les rseaux des client se doivent aussi dtre
prives. Le client A ne doit pas pouvoir
atteindre les rseaux du client B ou vice versa
En dautre terme, les clients doivent tre isol
lun de lautre
11
MPLS-VPN Quelques dfinitions
VRF Virtual Routing and Forwarding: Un instance de table de
routage virtuelle qui va tre associ habituellement aux rseaux
extensionns dun client (les rseaux virtuel privs dun client)
Route Target: On peut le voir comme lidentificateur dun VRF
(VPN) dun client. Les rseaux privs dun client doivent tre
identifi afin de pouvoir circuler sur le rseau du fournisseur de
service et dchanger leur table de routage (MP-BGP) seulement
entre eux.
Le RT peut importer ou exporter des routes. en se basant sur le ID, il
peut importer des routes dans sa table de routage par exemple:
une route par dfaut situ dans un autre VRF
Il peut y avoir plus dun route target par vrf
12
MPLS-VPN Quelques dfinitions
Route Distinguisher: Dans le but de prevenir le
cas de overlapping addresses . Le RD est
attach a chaque route afin quil soit unique dans
le Core. Noubliez pas que les rseaux provenant
du client A peuvent avoir les mmes adresse que
le rseau du client B ou un autre VPN du client A
LE RD a une signification locale sur le routeur PE
ou EDGE LSR.
Il y a seulement un RD par VRF

13
MPLS-VPN Quelques dfinitions
MP-BGP Multi protocol BGP: Chaque
routeur PE doit communiquer aux autre
routeur PE. Vu que les routes sont
maintenant de 96 bits (32 +64 pour le RT) le
protocol rgulier de BGP ne peut pas tre
utilis nous devons utiliser MP-BGP qui offre
des attributs tendus afin de supporter le RT
14
Fonctionnement de MPLS-VPN
Pour le client CE: Aucune configuration spciale
est requise, une connexion point point avec un
masque de /30 devrait suffire
Nous allons utiliser RIP pour transmettre les
route du CE au VRF du PE
15
Fonctionnement de MPLS-VPN
Pour le PE: Il faut crer les instances VRF qui vont
contenir les routes des VPN clients. Dans cet exemple,
Pour le client A nous avons besoin de crer un VRF afin
que les routes du client site A1, soit disponibles sur le
site A2 et vice versa tout en tant isol du client B.
Les routeurs PE doivent communiquer les routes entre
eux dou lutilit de MP-BGP
16
Fonctionnement de MPLS-VPN
Pour le routeur PE (suite): Chaque routeur PE une
connexion iMPBGP tous les autres router PE
Chaque routeur PE va avoir un label dassign afin de
rejoindre les autres routeur PE dans le core MPLS
De plus, chaque route provenant de lintrieur dun vrf va
avoir un label dassign
Donc, lorsquun routeur PE reoit un paquet du CE, il va
vrifier le VRF correspondant et ajouter le label
correspondant au paquet par la suite, va trouver quel est le
routeur PE de sortie qui correspond et ajouter ce label
Il va donc avoir 2 labels qui vont partir du PE dentre
Notez que ceci est unique MPLS-VPN, pour le MPLS de base
seulement un label est ajout
17
Fonctionnement de MPLS-VPN
Pour le routeur P: Ils sont trs efficace. la seul
chose quils ont faire cest de commuter en
se basant sur le dernier label qui t ajout
Notez que les trammes contiennent
effectivement 2 label, le premier reprsentant
le VRF et le deuxime reprsentant le PE de
sortie.
arriv au PE de sortie on pop le label et
forward...
18
Quelques notes sur LDP
lallocation et la distribution des tiquettes (labels) suit les tapes
suivantes:
1. Les protocoles de routage IP btissent la table de routage IP.
2. Chaque LSR ou P(E), va assigner une tiquette pour chaque
destination trouv dans la table de routage IP
3. Les LSR diffuse leurs tiquettes a tous les autres LSR
4. Chaque LSR va btir une table LIB, LFIB et FIB en se basant sur les
tiquette reu
1. lib : Label information base (contrle plane)
2. LFIB :Label forawarding information base (data plane)
3. FIB : forwarding information plane (data plane)
19
LFIB et FIB
Cisco utilise le FIB afin de faire le routage dun
paquet.
afin de voir le FIB
show ip cef details
ip cef est requis afin de faire fonctionner MPLS
Cisco utilise le LFIB pour transmettre une
paquet contenant une tiquette
show mpls forwarding-table
20
Le edge LSR ou PE
Forward the received IP packet based on the IP
destination address and send as an IP packet
Forward the received IP packet based on the IP
destination address and send as a labeled packet
Forward the received labeled packet based on
the label, change (swap) the label, and send the
labeled packet
Forward the received labeled packet based on
the label, remove the label, and send the IP
packet

21
Le edge lsr (suite)
A received labeled packet is dropped if the
label is not found in the LFIB table, even if the
IP destination exists in the IP forwarding table,
also called the FIB.
A received IP packet is dropped if the
destination is not found in the IP forwarding
table (FIB table), even if there is an MPLS
label-switched path toward the destination.

22
23
Capture wireshark
24
Un ping de CA2 vers CA1, capture
entre PE 2 et P
25
RIB
26
RIB vrf ca
27
FIB vrf ca (IP CEF)
28
BGP
29
ROUTE VPNV4
30
Configuration dun MPLS-VPN
Nous avons besoin dun protocole de routage
lintrieur du core MPLS afin de permettre
LDP de faire lassignement des labels pour les
rseaux
Habituellement ce protocole doit tre link
state, soit OSPF, ISIS et EIGRP(hybride)
Cette configuration est la mme que vous faite
habituellement
31
Configuration MPLS de base
Par la suite on peut commencer par configurer MPLS de
base sur les PE et le P
conf t
mpls ip (on doit configurer mpls globalement)
int s0/0
mpls ip (ensuite on active les interface qui font partie du core
MPLS)
Ces commandes vont mettre en fonction LDP et les routeur
MPLS vont commencer schanger des tiquettes
On peut vrifier avec
show mpls forwarding
on peut voir la base de donne des tiquettes avec
show mpls ldp bin
32
Configuration de MPLS-VPN
Pour le MPLS VPN il suffit dajouter la portion
VRF et le protocol MP-BGP
Exemple de config dune portion VRF
PE_A(config)#ip vrf ClientA
PE_A(config-vrf)#route-target 100:1
PE_A(config-vrf)#rd 100:1
PE_A(config-vrf)#ip vrf ClientB
PE_A(config-vrf)#route-target 100:2
PE_A(config-vrf)#rd 100:2
33
Configuration MPLS-VPN
portion VRF (suite): Il faut maintenant associer les
interface aux VRF correspondant
PE_A(config-vrf)#int e1/0
PE_A(config-if)#ip vrf forwarding ClientA
PE_A(config-if)#ip address 192.168.0.1 255.255.255.252
PE_A(config-if)#no shut
PE_A(config-if)#int e1/1
PE_A(config-if)#ip vrf forwarding ClientB
PE_A(config-if)#ip address 192.168.0.5 255.255.255.252
PE_A(config-if)#no shut

34
Configuration MPLS-VPN
Maintenant que les VRF sont configur, il faut
configurer la portion iMP-BGP. iMP-BGP est
requis pour faire passer les routes des clients
dun site lautre
De plus nous devons configurer un protocole
qui va transmettre les route du CE au PE en se
servant du VRF du PE. Par la suite on va
redistribuer ces routes dans BGP
35
iMP-BGP
Portion BGP
router bgp 100
no bgp default ipv4-unicast
neighbor 172.16.1.1 remote-as 100
neighbor 172.16.1.1 update-source Loopback0
!
address-family ipv4
no synchronization
neighbor 172.16.1.1 activate
no auto-summary
exit-address-family
36
iMP-BGP (suite)
configuration du vpnv4 (afin denvoyer les RT)
address-family vpnv4
neighbor 172.16.1.1 activate
neighbor 172.16.1.1
send-community extended
exit-address-family !

37
iMP-BGP (suite)
Configuration du vrf ca
address-family ipv4 vrf ca
no synchronization
redistribute rip metric 1
exit-address-family!
continuer pour les autres vrf

38
MPLS-VPN (RIP)
PE_A(config-router-af)#router rip
PE_A(config-router)#address-family ipv4 vrf ClientA
PE_A(config-router-af)#redistribute bgp 100 metric 1
PE_A(config-router-af)#network x.x.x.x
PE_A(config-router-af)#no auto-summary
PE_A(config-router-af)#version 2
exit
PE_A(config-router-af)#address-family ipv4 vrf ClientB
PE_A(config-router-af)#redistribute bgp 100 metric 1
PE_A(config-router-af)#network x.x.x.x
PE_A(config-router-af)#no auto-summary
PE_A(config-router-af)#version 2
exit

39
Procdure
Core Network PE1, P et PE2

1) configurer les liens sries
mettre les ip sur les interfaces sries, mettre les loopback /32 sur les
routeurs PE1 et PE2
2) vrification:
faite des pings point point
3) configurer le protocoles de routage du core MPLS
le protocole de routage ospf sur PE1, P et PE2, utilis des router-id
4) vrification:
show ip ospf nei, show ip route, ping du loopback de PE1 au loopback
de PE2
5)configurer mpls
mpls ip sur les interfaces sries
6) vrification:
show mpls forwarding

40
Procdure
les clients (CE customers Edge)

5) Configurations des interfaces des clients
mettre les ip sur les interfaces des clients, ainsi que
sur les loopback simulant des rseaux internes
6) configurer la portion vrf des clients sur les PE ou
EDGE LSR
crer les vrf, les route target et RD
associer les interfaces des clients au vrf
mettre les adresses ip sur les interfaces vrf
7) vrification:
faite des ping du client vers le vrf du PE exemple: ca1
ping PE1

41
Procdure:
routage entre CE et PE
8) configurer le protocole de routage sur les
clients et sur le vrf correspondant dans le PE
9) vrification:
sh ip route vrf ca (devrait voir le loopback du
client)
faite un ping du loopback du client l'interface
VRF sur le PE

42
Configuration de iMP-BGP
10) monter le neighbor iBGP (utiliser les lo comme source)
11) vrification:
show ip bgp nei
12) configurer les address-family, ipv4, vpnv4 et vrf
13) Effectuer la double redistribution
redistribuer les routes des clients dans le vrf correspondant de
BGP
redistribuer les routes du vrf de BGP dans le vrf du client
correspondant
14) Vrification:
show ip bgp vpnv4 all
show ip vrf ca
ping du client dun loopback lautre travers du core



43
EXTRA stuff
Source Rick graziani...

44
45
MPLS Features
Label Switch Path (LSP)
The path through one or more LSRs at one level of the hierarchy followed by a
packet in a particular path.
46
MPLS Features
Labels usually correspond to destination networks, similar to Layer 3 routing.
Labels can also correspond to:
Layer 3 VPN destination
Layer 2 virtual circuit
Egress interface
QoS
Source address
MPLS designed to forward any type of Layer 3 packet, but IPv4 and IPv6 is at
the forefront.
47
Label Format
Field Description
20-bit label The actual label. Values 0 to 15 are reserved.
3-bit experimental (EXP)
field
Undefined in the RFC. Used by Cisco to define a class of
service (CoS) (IP precedence).
1-bit bottom-of-stack
indicator
MPLS allows multiple labels to be inserted. The bottom-
of-stack bit determines if this label is the last label in the
packet. If this bit is set (1), the setting indicates that this
label is the last label.
8-bit Time to Live (TTL)
field
Has the same purpose as the TTL field in the IP header.
48
Label Stack
In most cases only one label is assigned to a packet. There are some instances
where more than one label is used:
MPLS VPNs: Multiprotocol BGP (MP-BGP) is used to propagate a second
label that identifies the VPN in addition to the label that is propagated by
Label Distribution Protocol (LDP) to identify the path.
MPLS Traffic Engineering (MPLS TE): Uses Resource Reservation Protocol
(RSVP) to establish label switched path (LSP) tunnels. RSVP propagates
labels that are used to identify the tunnel LSP. This label is in addition to
the label that is propagated by LDP to identify the underlying LSP.
MPLS VPNs combined with MPLS TE: Three or more labels are used to
identify the VPN, tunnel LSP, and the underlying LSP.
49
Label Stack
A label does not contain any information about the Layer 3 protocol that is
being carried in a packet.
This lack of information means that the identity of the network layer protocol
must be inferable from the value of the label.
However for Layer-2 protocols that have TYPE or PID fields new values
indicate the MPLS-enabled Layer-3 protocol.
Unlabeled IP unicast: PID = 0x0800 identifies that the frame payload is a
classic unicast IP packet.
Labeled IP unicast: PID = 0x8847 identifies that the frame payload is a
unicast IP packet with at least one label preceding the IP header.
Labeled IP multicast: PID = 0x8848 identifies that the frame payload is a
multicast IP packet with at least one label preceding the IP header.
50
MPLS Features
Packets are labeled prior to be forwarded at Ingress edge LSR.
After ingress node, there is no routing table lookup.
At each non-edge LSR the label is removed and a new label added at each
hop.
Only edge LSRs perform routing table lookups.
Non-edge LSRs perform forwarding process based only on the label, not
Layer 3 information.
Decreases latency faster packet forwarding.
Final edge LSR (egress LSR):
pops (removes) the label from the packet and
performs a new routing table lookup to forward the packet
51
MPLS Features
Note: The type or protocol ID field indicates as MPLS enabled layer-3 protocol.
52
MPLS
Features
Penultimate hop pop
When the LSR prior to the destination edge router pops the label before
sending the packet to the final edge LSR.
Final edge router then does not need to perform both a label lookup and
a Layer 3 routing lookup, but only the Layer 3 routing lookup.

53
Control and Data
Planes
LSRs funtion at both the control and data planes.
Control plane
Where exchange of routing information takes place
Traditional routing functions associated with routing protocol operations
Process routing protocol updates as they occur
Data plane or Forwarding plane
Where the actual forwarding occurs
MPLS This is done solely based on labels.
LSR
Maintains converged routing table but usually not engaged for packet forwarding
Maintains routing table to ensure the FIB is up to date with the most current
information so that labels can be properly assigned and packets can be
dispatched.
54
MPLS Architecture
Control plane
routing protocols database
IP routing table (RIB)
Routing updates from
other routers
IP forwarding table (FIB)
Data plane
Label forwarding table (LFIB)
Label Information Base (LIB)
Label bindings
learned via LDP from
other routers
Incoming MPLS
Packet
Outgoing MPLS/IP
Packet
Incoming IP Packet
Population of RIB/FIB/LIB/LFIB in an MPLS router
55
Packet Propagation Across an MPLS Network
MPLS Labels: Penultimate Hop Popping
The label at the top of the stack is removed (popped) by the upstream
neighbor of the egress LSR
The egress LSR requests the popping through the label distribution
protocol
Egress LSR advertises implicit-null label
One lookup is saved in the egress LSR
56
57
Penultimate Hop Popping (PHP)
PHP optimizes MPLS performance by reducing CPU
effort on Edge LSRs.
The Edge LSR advertises a pop or implicit null label
(value of 3) to a neighbor.
The pop tells the neighbor to use PHP.

Vous aimerez peut-être aussi