MPLS Multi Protocol Label Switching Emilie CAMISARD GIP RENATER
Plan de la présentation Origines du MPLS Principes Terminologie La commutation MPLS Distribution de labels Exemple de service: VPN MPLS de niveau 3 06/11/2006 2
MPLS Multi Protocol Label Switching Transparence visà-vis du protocole employé (IPv4, IPv6, Ethernet...) Cœur du réseau simplifié Ajout d un label aux données pour pouvoir les commuter 06/11/2006 3
Pourquoi le MPLS? Milieu des années 90: apparition de solutions propriétaires multicouches, afin de simplifier le modèle IP over ATM et de réduire les congestions au niveau des routeurs. Puis, standardisation de ces solutions par l'ietf: naissance du MPLS. Les goulots d'étranglement disparaissent ensuite avec l'arrivée des routeurs basés sur du hardware: focalisation sur les services offerts par MPLS: Traffic Engineering, VPN de niveaux 2 et 3 06/11/2006 4
Terminologie MPLS LSR: Label Switching Router ELSR: Edge Label Switching Router LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR ELSR LSP ELSR ELSR 06/11/2006 5
Principes Next hops des routeurs déterminés par un protocole de routage Classification en FEC à l entrée du réseau Les nœuds du réseau MPLS associent un label à chaque FEC Ajout d un label à chaque paquet entrant Commutation au cœur du réseau grâce au label Une FEC peut être basée sur l @ destination et/ou d autres critères (QoS, TE ) 06/11/2006 6
Architecture Forwarding: basé sur l analyse du label, qui détermine la route vers une destination. Contrôle: création et maintien de la base des labels. Routes apprises par un IGP Lien fait entre l IGP et le label à apposer Distribution des labels avec un protocole spécifique labels ELSR 1 LSR ELSR 2 Topologie IGP Topologie IGP Topologie réseau réseau labels réseau LDP LDP Contrôle Contrôle Contrôle labels Forwarding Data Switching Forwarding Data Switching Forwarding 06/11/2006 7
Encaspulation MPLS ATM ATM header Label Données VPI/VCI Données PPP Ethernet PPP SHIM En-tête couche 3 MAC SHIM Datagram IP préambule SD @dest @source TypeValue Label CoS S TTL 7 1 6 octets 6 octets 0x8847 20 bits 3 bits 1 bit 8 bits 06/11/2006 8
Attribution de labels @ dest 45.2.0.0 Label out #4 45.1.0.0 45.2.0.0 Request 45.2.0.0 If Out 2 Mapping #4 Mapping #15 Request 45.2.0.0 @ dest 45.2.0.0 Mapping #pop Request 45.2.0.0 If In 2 Label in # pop If out 1 If In label in @ dest If Out label out If In label in @ dest If Out label out 2 # 4 45.2.0.0 1 # 15 2 # 15 45.2.0.0 1 # pop 06/11/2006 9
Commutation de labels @ dest 45.2.0.0 Label out #4 If Out 2 @ dest 45.2.0.0 45.1.0.0 45.2.0.0 If In 2 Label in # pop If out 1 Dest 45.2.0.0 # 4 Dest 45.2.0.0 # pop Dest 45.2.0.0 Dest 45.2.0.0 If In label in If Out label out # 15 Dest 45.2.0.0 If In label in If Out label out 2 # 4 1 # 15 2 # 15 3 # pop 06/11/2006 10
Distribution des labels Permet de s assurer que le mapping FEClabel est bien cohérent dans tous les routeurs. 2 protocoles de distribution, compatibles IPv4 et IPv6: CR-LDP: Constraint-based Routed Label Distribution Protocol RSVP-TE: ReSerVation Protocol Traffic Engineering 06/11/2006 11
Méthodes de distribution LSR1 LSR2 Downstream unsolicited LSR1 et LSR2 sont adjacents LSR2 découvre un next hop pour une FEC particulière LSR2 génère un label pour la FEC et communique l association à LSR1 LSR1 insère l équivalence dans ses tables de commutation Si LSR2 est son next hop pour le FEC, LSR1 peut utiliser le label en sachant qu il sera reconnu Downstream on demand LSR1 découvre que LSR2 est son nexthop pour une certaine FEC LSR1 demande à LSR2 d associer un label à cette FEC Si LSR2 reconnaît la FEC et possède un next hop, il crée une association et répond à LSR1 06/11/2006 12
Contrôles de distribution Independent LSP control La décision de générer et de communiquer des labels aux LSR amont est prise indépendamment par chaque routeur Labels échangés dans un court délai Ne dépend pas de la disponibilité du routeur edge Requiert une méthode indépendant de détection des boucles Ordered LSP control dans un LSR, une association FEClabel n est communiquée que si: Le routeur est le LSR egress de la FEC Un LSR amont a envoyé un mapping FEC-label Un LSP se forme de l egress vers l ingress Délai + important pour obtenir le LSP Utilisé pour du routage explicite et du multicast 06/11/2006 13
Conservation des labels Liberal label retention Un LSR conserve tous les labels envoyés par les LSR avals, même si certains ne sont pas des Next Hops Si le Next Hop d une FEC change, le LSR peut alors immédiatement utiliser le lien adéquat grâce au label conservé Adaptation plus rapide aux changements de routage Requiert une mémoire + importante pour conserver les labels Conservative label retention Un LSR ne conserve que les labels pour un Next Hop valide Si le Next Hop change, le LSR doit lui demander un label Adaptation + lente aux modifications de routage Le LSR conserve moins de labels 06/11/2006 14
RSVP-TE RSVP-TE permet de : Créer un LSP le long d une route explicite Etablir un LSP en distribuant des labels Définir les besoins en bande passante des liens qui forment un LSP 06/11/2006 15
RSVP-TE: établissement d un tunnel Path message (Session, label request, ERO, RRO, Session attribute) RESV message (Session, label, style, RRO) Session: LSP transportant de l IPv4 ou IPv6? ERO: EXPLICIT_ROUTE (par quels LSR veut-on passer?) RRO: ROUTE_RECORD (quels LSR ont été traversés?) Style: quelle sorte de réservation? Avec QoS sur le lien? Etc. Session attribute:lsp_tunnel_ra ou LSP tunnel 06/11/2006 16
En-tête commune: RSVP-TE: Format des messages 0 1 2 3 +-------------+-------------+-------------+-------------+ Vers Flags Msg Type RSVP Checksum +-------------+-------------+-------------+-------------+ Send_TTL (Reserved) RSVP Length +-------------+-------------+-------------+-------------+ Format des objets: 16: RSVP_LABEL 19: LABEL_REQUEST 22: HELLO Path, Resv, PathErr, ResvErr 0 1 2 3 +-------------+-------------+-------------+-------------+ Length (bytes) Class-Num C-Type +-------------+-------------+-------------+-------------+ // (Object contents) // +-------------+-------------+-------------+-------------+ Si Class-Num = HELLO : 1: Request 2: Acknowledgement 06/11/2006 17
VPN MPLS de niveau 3 06/11/2006 18
Terminologie CE: Customer Edge Router PE: Provider Edge router P: Provider router Site client CE PE = ELSR P = LSR PE = ELSR CE Site client PE = ELSR 06/11/2006 19
VPN L3 et MPLS : les VRF Isolation du trafic entre sites clients n appartenant pas au même VPN Les PE gèrent plusieurs tables de routage grâce au VRF (VPN Routing and Forwarding) 1 VRF = table de routage + FIB + CEF + nom spécifique (red, green ) 06/11/2006 20
VPN L3 et MPLS Chaque interface de PE est liée à un site client et rattachée à une VRF particulière Pour construire les tables VRF, les PE échangent des routes des VPN avec MP- BGP (MultiProtocol BGP) Utilisation du label stacking: encapsulation de 2 labels par le PE PE de destination Interface de sortie du PE relié au CE 06/11/2006 21
Principes Le PE reçoit et maintient l information de routage sur les VPN qui y sont connectés Cœur du réseau en MPLS Pas d information sur les VPN au cœur du réseau Dans le PE, il y a: Une table de routage (ensemble des routes internes au cœur du réseau, apprises par un IGP) Une ou plusieurs VRF (VPN Routing & Forwarding instance), table associée à un ou plusieurs CE. Virtualisation du PE au niveau 3 pour 1 VPN. Entre les PE, des communications MiBGP transportent les informations de routage provenant des CE + les labels identifiant la VRF et l interface de sortie du cœur MPLS Empilement de 2 labels: VPN + LSP 06/11/2006 22
Commutation de labels VPN A Site 1 VPN A Site 2 PE PE @ destination @ destination # 4 VPN A @ destination P P VPN A @ destination # 15 VPN A @ destination 06/11/2006 23
Exemples de VRF 06/11/2006 24
Sujets à l étude Traffic Engineering inter-as Encapsulation de MPLS dans IP TE avec DiffServ, allocation de bande passante Restauration de liens MIB pour TE 6PE MPLSv6 06/11/2006 25
Conclusion MPLS permet d'implémenter facilement des services non supportés par le routage IP traditionnel: Traffic Engineering, classes de services, VPN De nouvelles possibilités de routage sont offertes: on ne se base pas exclusivement sur une adresse IP de destination pour déterminer une FEC. Les composants de contrôle sont séparés de ceux du forwarding: il y a donc flexibilité dans l'évolution des fonctionnalités de contrôle. 06/11/2006 26
Des questions? Merci de votre attention! 06/11/2006 27