Académique Documents
Professionnel Documents
Culture Documents
CF 20131209 MPLS
CF 20131209 MPLS
COMPIÈGNE
MPLS
(MultiProtocol Label Switching)
Christophe Fillot
DSI
2 / 56
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
3 / 56
• Il construit une nouvelle entête de niveau 2 (avec des protocoles comme ARP par
exemple) en fonction des informations obtenues.
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
4 / 56
Routage IP « saut par saut »: chaque saut doit connaitre l’ensemble des routes!
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
5 / 56
09/12/2013
• Transit: fourniture d’une connectivité Internet complète
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
6 / 56
Problématique
• Une recherche dans la table de routage IP est dite « longest match » : pour une
adresse IP donnée on doit trouver le préfixe le plus spécifique (ex: 192.168.1.0/24
est plus spécifique que 192.168.0.0/18)
• Complexe pour les routeurs ayant toutes les routes Internet (plus de 430000 en
2012, actuellement: ~480000).
• Il faut toutefois mettre en place un système de distribution des labels pour créer
09/12/2013 des chemins (LSP – Label Switched Path).
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
7 / 56
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
8 / 56
Encapsulation
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
9 / 56
Commutation de label
• « Push Label » : insère un nouveau label (en tête) => routeur d’entrée (ingress)
• « Pop Label » : supprime le 1er label => routeur de sortie (egress)
• « Swap » : remplacement de label => routeurs intermédiaires
• Un peu de terminologie:
• Label Switched Path (LSP): chemin MPLS
• Label Switch Router (LSR): routeur supportant MPLS
• Ingress LSR: routeur d’entrée (insertion de label)
• Egress LSR: routeur de sortie (pop de label)
• Forwarding Equivalent Class (FEC): groupe de paquets qui sont commutés de la même
manière, suivant les mêmes critères (ex le plus courant: adresse IP destination), avec le
même chemin.
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
10 / 56
Distribution de Labels
• Les routeurs voisins établissent une adjacence (Hello en UDP multicast, puis
connexion TCP)
• 2 modes:
• Downstream on Demand : un routeur demande explicitement un label pour une FEC ;
• Unsollicited Downstream : le routeur annonce à ses voisins un label pour chaque
préfixe/FEC qu’il connait.
• Les routeurs construisent une LIB (Label Information Base), en consolidant les
informations reçues de leurs voisins LDP.
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
11 / 56
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
12 / 56
Construction de la LFIB
• Les routeurs utilisent toujours un IGP pour calculer le meilleur chemin : ils
construisent une RIB (Routing Information Base), à partir des différents protocoles
configurés (routes connectées, statiques, OSPF, etc)
• Avec l’aide de la RIB, on peut déterminer le meilleur label à utiliser pour un préfixe
donné (le nexthop figure dans la LIB).
• On garde les meilleurs labels pour générer la LFIB (Label Forwarding Information
Base)
• Le routeur utilise la LFIB pour la commutation des paquets MPLS. La LFIB contient
typiquement ces informations:
• Label d’entrée
• Label de sortie (ou indication de « pop label » si dernier saut)
• Interface de sortie
• Préfixe IP
• Pour les routeurs hardware, la LFIB est programmée dans le matériel (TCAM, …)
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
13 / 56
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
14 / 56
Exemple de LFIB
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
15 / 56
• L’avant-dernier routeur, lorsqu’il reçoit ce binding, sait qu’il doit réaliser une
opération « pop » au lieu d’une opération « swap ». Le label Implicit-Null n’apparaît
en fait jamais sur le lien.
• => Cela évite que le dernier routeur ait à analyser un label puis à faire un lookup IP
dans sa FIB (il ne fait plus que le lookup IP).
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
16 / 56
• Un label MPLS contient un champ de 3 bits appelé CoS (ou EXP) qui sert au
marquage de la QoS.
• Les routeurs MPLS se basent sur ce champ CoS pour appliquer les règles de QoS
(les routeurs « IP » utilisent le champ DSCP).
• Par défaut, les routeurs ingress recopient le champ IP DSCP dans le champ CoS
MPLS.
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
17 / 56
• On reprend notre exemple initial, où tous les routeurs sont peers BGP et
connaissent l’ensemble des routes.
• Les routeurs d’entrée encapsulent les paquets avec un label MPLS. Ce label
correspond au routeur de bordure de sortie (next-hop BGP pour le préfixe
correspondant à l’adresse IP de destination).
• C’est le chemin optimal, puisque le label a été choisi en fonction de ce qui a été
calculé par l’IGP.
09/12/2013
• En sortie, le routeur reçoit un paquet IP (PHP…) et le route normalement.
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
18 / 56
Routage IP/MPLS : seuls les routeurs de bordure connaissent toutes les routes
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
19 / 56
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
20 / 56
• On utilise généralement des adresses IP privées (RFC 1918), non routables sur
Internet, pour l’adressage interne (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16).
• Elles peuvent faire appel à des opérateurs capables de leur fournir un service de
VPN niveau 3 (l’opérateur s’occupe du routage entre les sites de l’entreprise)
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
21 / 56
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
22 / 56
• Pour MPLS/VPN, il est nécessaire d’isoler le trafic entre les différents clients, qui
peuvent en plus avoir des plans d’adressages recouvrants (adressage privé)
• Pour placer le trafic dans une VRF donnée, il existe plusieurs méthodes:
• Assignation en « dur » d’une interface ou d’une sous-interface dans la VRF
• Méthode dynamique, en fonction de différents critères (typiquement adresses IP des
paquets entrants).
• Il est possible d’utiliser les VRF sans utiliser MPLS/VPN, il s’agit de VRF Lite.
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
23 / 56
! Definition de la VRF
ip vrf BLUE
rd 100:1
route-target import 100:1
route-target export 100:1
!
interface Ethernet1/0
ip vrf forwarding BLUE
ip address 10.0.0.1 255.255.255.0
!
ip route vrf BLUE 10.1.0.0 255.255.255.0 10.0.0.2
!
router ospf 200 vrf BLUE
network 10.0.0.0 0.0.0.255 area 0
!
router bgp 65000
address-family ipv4 vrf BLUE
neighbor 10.0.0.3 remote-as 65001
neighbor 10.0.0.3 activate
!
!
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
24 / 56
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
25 / 56
interface Ethernet1/0.1
encapsulation dot1Q 100 ! Description VLAN 100: « Personnels »
ip vrf forwarding pers
ip address 10.0.0.1 255.255.255.0
!
interface Ethernet1/0.2
encapsulation dot1Q 200 ! Description VLAN 200: « Etudiants »
ip vrf forwarding etu
ip address 10.1.0.1 255.255.255.0
!
interface Ethernet1/0.3
encapsulation dot1Q 300 ! Description VLAN 300: « Invités »
ip vrf forwarding guests
ip address 10.2.0.1 255.255.255.0
!
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
26 / 56
Terminologie
• Les routeurs « P » ne sont pas obligatoires, il est tout à fait possible de monter un
backbone avec uniquement des routeurs PE.
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
27 / 56
MP-BGP
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
28 / 56
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
29 / 56
Acheminement du trafic
• Dans notre exemple, on voit que PE1 reçoit le label 28 du routeur PE2 pour la
route VPN-IPv4 100:1:192.168.1.0/24
• Problème: comment utiliser ce label qui est local à PE2 ? Si on envoie un paquet
avec le label 28 à P1, celui-ci ne connaît pas ce label (ou il est utilisé pour tout
autre chose) => il faut pouvoir aiguiller le trafic vers PE2 !
• Les routeurs intermédiaires ne s’occupent que du 1er label: lorsque le paquet arrive
à PE2, le 1er label a été retiré (PHP), seul reste le 2nd label, qui va permettre à PE2
d’aiguiller le paquet vers la bonne interface de sortie.
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
30 / 56
Exemple d’acheminement
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
31 / 56
Route-Targets (RT)
• Un routeur PE annonce les routes d’une VRF avec les RT spécifiés en export.
• Les autres routeurs PE importent ces routes dans les VRF qui sont configurées
pour importer ces valeurs de RT.
! !
hostname Router1 hostname Router2
! !
ip vrf FOO ip vrf BAR
rd 400:150 rd 300:200
route-target export 100:1 route-target import 100:1
! !
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
32 / 56
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
33 / 56
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
34 / 56
www.utc.fr/dsi
cf@utc.fr MPLS
35 / 56
6PE
(IPv6 Provider Edge)
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
36 / 56
Principes de 6PE
• Pas de normalisation de LDP pour IPv6 => Utilisation de MP-BGP [AFI 2 (IPv6),
SAFI 4 (label)]
• Avantages :
• Ne nécessite pas un upgrade du cœur, on conserve l’existant
• Seuls les routeurs PE doivent être mis à jour et supporter 6PE, cela peut se faire de
manière incrémentale
• Même principe que pour VPNv4 => 2 labels sont utilisés, le 1er pour atteindre le PE
de sortie, le 2nd correspondant au préfixe IPv6 sur le PE.
• Le Next-Hop BGP est annoncé sous forme d’adresse IPv6 « IPv4-Mapped ». Les
PE extraient l’adresse IPv4 et recherchent le label annoncé par LDP pour cette
09/12/2013 adresse.
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
37 / 56
Exemple d’acheminement
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
38 / 56
!
hostname PE2
!
ipv6 unicast-routing
ipv6 cef
!
interface Loopback0
ip address 10.2.2.2 255.255.255.255
!
interface Ethernet0/1
description Client IPv6
ipv6 address 2001:660::1/48
!
router bgp 65000
neighbor 10.1.1.1 remote-as 65000
neighbor 10.1.1.1 update-source Loopback0
!
address-family ipv6
neighbor 10.1.1.1 activate
neighbor 10.1.1.1 send-label
redistribute connected
!
!
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
39 / 56
6VPE
(IPv6 VPN Provider Edge)
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
40 / 56
• 6PE permet de raccorder des sites en IPv6, mais sans notion d’isolation de trafic
(trafic « global »).
• 6VPE reprend les mêmes concepts que pour VPNv4 (VRF, RD/RT)
• Les avantages sont les mêmes que pour 6PE (pas de mise à jour du cœur qui
reste en IPv4/MPLS, pas de configuration supplémentaire sur le cœur, …).
• Le Next-Hop BGP est annoncé sous forme d’adresse IPv6 « IPv4-Mapped ». Les
PE extraient l’adresse IPv4 et recherchent le label annoncé par LDP pour cette
adresse.
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
41 / 56
AToM
« AnyThing Over MPLS »
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
42 / 56
• Session LDP directe établie entre les 2 routeurs d’extrémités: affectation d’un label
pour le circuit.
• « Cross-connect »
• Intérêt : permet de raccorder 2 sites avec une technologie niveau 2 sans avoir
besoin de créer une liaison spécialisée.
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
43 / 56
MPLS-TE
Traffic Engineering
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
44 / 56
Principes de MPLS-TE
• Sur les réseaux fortement maillés, des liens sont susceptibles d’être sous-utilisés
voire pas utilisés du tout
• On créée par configuration des LSP qui vont passer par les liens sous-utilisés
• 2 méthodes:
• Chemin explicite: on liste les next-hops sur le routeur de départ
• Par « affinité »: utilisation de valeurs avec masques binaires (à définir par les gestionnaires
du réseau)
www.utc.fr/dsi
cf@utc.fr MPLS
45 / 56
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
46 / 56
Autres possibilités
• VPLS (Virtual Private LAN Service) : Emulation d’un LAN par-dessus MPLS
• MPLS CsC (Carrier Supporting Carrier) : Permet de construire son propre réseau
MPLS par-dessus un réseau MPLS d’un autre opérateur
• Inter-AS MPLS/VPN …
• etc
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
47 / 56
Questions ?
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
48 / 56
Démonstration / Maquette
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
49 / 56
Topologie / Adressage IP
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
50 / 56
• Au départ, les routeurs clients (CE) n’ont bien sûr pas de connectivité entre eux.
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
51 / 56
!
hostname P2
!
ip cef
!
interface Loopback0
ip address 10.254.0.1 255.255.255.255
!
interface Ethernet0/0
description Vers PE1
ip address 10.0.0.1 255.255.255.252
!
interface Ethernet0/1
description Vers PE2
ip address 10.0.0.5 255.255.255.252
!
router ospf 100
network 10.0.0.0 0.255.255.255 area 0
!
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
52 / 56
• Activer MPLS (+ LDP) sur les interfaces du backbone (pas sur les interfaces côté
clients!) avec la commande « mpls ip ».
• Vérifier que les adjacences LDP sont bien établies avec « show mpls ldp
neighbor ».
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
53 / 56
• Configurer les VRF « BLUE » et « RED » sur PE1 et PE2, avec les informations
suivantes:
• PE1 / BLUE : RD 100:1, RT 65000:100
• PE1 / RED : RD 200:1, RT 65000:200
• PE2 / BLUE : RD 100:2, RT 65000:100
• PE2 / RED : RD 200:2, RT 65000:100
• Configurer les interfaces clientes pour les placer dans les VRF (commande « ip vrf
forwarding <VRF> »). Mettre en place les routes statiques pour les subnets en
172.x.x.x (commande ip route vrf <VRF> <subnet> <mask> <nexthop>)
• Vérifier la bonne réception des routes BGP avec « show ip route vrf <VRF> »
09/12/2013
• Tester (ping, traceroute) la connectivité entre routeurs PE puis entre routeurs
Christophe FILLOT
DSI clients. Le traceroute donne les indications de label.
www.utc.fr/dsi
cf@utc.fr MPLS
54 / 56
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS
55 / 56
www.utc.fr/dsi
cf@utc.fr MPLS
56 / 56
• show ip cef vrf <VRF> <subnet> <masque> : affiche les informations de forwarding
(y compris les labels MPLS utilisés)
09/12/2013
Christophe FILLOT
DSI
www.utc.fr/dsi
cf@utc.fr MPLS