Vous êtes sur la page 1sur 23

TELECOM ParisTech - Paris Institute of Technology

TP MPLS
Initiation MPLS, MPLS VPN

7 juillet 2009

lattention de Jean-Louis Rougier

David TORTEL Anne CHEVALIER Louis DE TERSANT

Les ressources utilises dans cet article sont directement rfrences par une note de bas de page, l o elles apparaissent. Toute autre information contenue dans le prsent document est le fruit dune opinion personnelle, du consensus dune conversation avec des interlocuteurs du domaine des rseaux, ou de connaissances acquises par notre formation ou notre exprience personnelle.

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

Table des matires


1 Introduction 1.1 MPLS, contexte et notations . . . 1.1.1 La commutation de paquets 1.1.2 La FEC . . . . . . . . . . . 1.2 Les outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 4 4 4 5 7 11 12 13 14 15 15 15 21 23

2 MPLS Vanilla 2.1 lancement du TP . . . . . . . . . . . . . 2.2 Question 1 : Liste des labels . . . . . . . 2.3 Question 2 : Liste des chemins . . . . . . 2.4 Question 3 : Analyse des messages LDP

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

3 MPLS VPN 3.1 Cration dune table VRF . . . . . . . . . . 3.2 Assignation des interfaces aux VRF . . . . . 3.3 Lancer OSPF dans linstance VRF . . . . . 3.4 Lancer MP-BGP pour lannonce des routes 3.5 Le cas R6 . . . . . . . . . . . . . . . . . . . 3.6 Lacheminement des paquets . . . . . . . . . 3.7 OSPF BGP . . . . . . . . . . . . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

Introduction

Dans ce TP, on tudie en profondeur le fonctionnment du protocole de routage MPLS, en se concentrant plus particulirement sur larchitecture MPLS-VPN. Ainsi, aprs une introduction indispensable qui rvise les points essentiels dun protocole MPLS de base, on essaiera de comprendre la construction dun Rseau Priv Virtuel, laide des outils proposs par MPLS.

1.1

MPLS, contexte et notations

MPLS est un protocole de routage qui fonctionne sur la notion de commutation de paquets. Construit lorigine an de proposer un routage en mode connect, haut dbit, le protocole MPLS est aujourdhui utilis dans le but dassurer une quali de service - que lon notera QoS dans toute la suite - ou de concevoir des VPN. Ce protocole est utilis pour le routage intra-domaine et fonctionne notamment sur les protocoles link states de type OSPF. Nous introduisons dans cette partie un bref rcapitulatif de son fontionnment an de dnir le vocabulaire qui sera utilis dans toute la suite. 1.1.1 La commutation de paquets

Les rseaux MPLS fonctionnent en mode connect ; id est le trac est bas sur une communication entre deux entits bien dnies ds le dbut ; le chemin emprunt est not LSP - Label Switched Path -. Lorsquun paquet entre dans un rseau MPLS, son entte est modie. Un routeur1 Ingress LER - Ingress Label Edge Routeur - lui impose un nouvel entte qui contiet notamment un label. Le paquet est ensuite rout linterieur du rseau daprs ce label par les routeurs MPLS que lon notera dans toute la suite LSR - Label Switching Router - Ces routeurs commutent les labels. Lorsque le paquet arrive sur une interface I1 avec un label L1, le routeur consulte sa table de commutation et ressort le paquet sur une interface I2 avec un label L2 - Les labels peuvent rester inchangs -. La table de commutation est remplie manuellement ou dynamiquement avec des protocoles de distribution de labels de type DownStream On Demand ou Unsolicited DownStream . Lattribution des labels est ralis grce au protocole LDP Avant de sortir du rseau, lentte MPLS est enlev par un routeur MPLS que lon nomme Egress LER. Si la destination nale se trouve linterieur du rseau MPLS, cest lavant dernier routeur qui enlve lentte, dans le cas gnral, il sagit du dernier routeur MPLS travers. La force initiale de MPLS tait la vitesse de convergence des paquets , compare celle propose par un protocole de routage de type IP. On vite en eet de consulter toute la table de routage, on se contente de commuter - aujourdhui ce point na plus dimportance
1

Les routeurs dont il est question dans tout le TP sont des commutateur MPLS

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

vu les progrs techniques raliss sur les routeurs -. Aujourdhui, on sintresse plus au mode connect et lidentication de chaque paquet - ou plus exactement de classe de paquets - qui permet de fournir par exemple une QoS ou un VPN... 1.1.2 La FEC

La FEC - Forwarding Equivalence Class - est une classe dquivalence. Elle rassemble lensemble des machines qui partagent une caractristique commune - prxe, QoS... -. Lorsquun paquet arrive, le Ingress LER regarde dans sa table quelle FEC appartient le paquet pour lui assigner le premier label. Ce label dterminera le LSP venir. Ainsi, les paquets qui sont dans la mme classe dquivalence emprunteront le mme chemin. Il sera alors possible par exemple de faire coincider une FEC particulire avec certains besoins en terme de bande passante et on pourra alors trs schmatiquement rednir la qualit de service.

1.2

Les outils

On va une fois de plus dans ce TP travailler avec une virtualisation de rseau, cette solution tant la plus lgre et la plus pratique, tout en restant assez proche de la ralit. On utilisera ce propos la solution commerciale Dynamips qui permet dmuler larchitecture materielle de certains routeurs Cisco, puis linterface graphique correspondante GNS3 attractive et intuitive.

MPLS Vanilla

Dans cette premire tape, il est question dtudier le fonctionnement de base du protocole MPLS. On se concentrera ce sujet sur les dirents lments cls cit ci-dessus Labels, LSP, LDP... - et on illustrera le fonctionnement du protocole de routage avec la topologie de rseau ci-dessous.

2.1

lancement du TP

On commence par lancer GNS3. Aprs avoir charg le laboratoire mpls.net dans le rpertoire TPMPLS/Example, la topologie du rseau se met en place. On a donc simul lensemble du ct architectural. Il faut prsent activer lensemble des interfaces des routeurs an que ceux ci-puissent commencer communiquer. Une fois que toutes les interfaces sont connectes, les routeurs sont tous relis deux deux et peuvent prsent converser. Les dirents protocoles de routages se sont lancs automatiquement. Par la suite on pourra rentrer dans la conguration de chaque routeur - an dobserver et de comprendre la commutation MPLS - en ayant accs son terminal. Pour cela on clique sur licne terminal propose par linterface graphique. A chaque fois, la commande enable

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

permet de rentrer dans la conguration du routeur. Souvent, les routeurs se mettent en "veille" aprs une trop longue periode de non activit. Pour reprendre la main il sura dappuyer sur entre et de retaper la commande prcdente. Voil la topologie sur laquelle nous travaillons dans cette premire partie.

2.2

Question 1 : Liste des labels

On sintresse ici aux labels utiliss par R1 pour joindre lensemble des adresses de loopback des routeurs du rseau MPLS.Les adresses de loopback sont les adresses des interfaces en local des routeurs. Dans cette conguration particulire, le routeur annonce cette adresse IP dans OSPF par soucis de rsistance aux pannes. En eet avec cette astuce, si linterface principal tombe, on a encore un chemin, et on garde donc une adjacence entre les routeurs. De plus, comme MPLS fonctionne sur OSPF, on conserve ces interfaces. Pour obtenir la liste des labels, on se connecte au routeur R1 puis on tape les lignes de commande suivantes : # enable # show mpls ip binding La premire commande permet de passer en mode administration et par consquent permet la conguration de la machine. La seconde commande tablit la correspondance IP/label apprise par le protocole LDP. Le rsultat de sortie est un tableau explicitant la correspondance IP/label de toutes les destinations connues par le routeur R1. Ds lors pour chaque IP, on sait quels sont les labels au niveau entrant et au niveau sortant. En temps de routage MPLS, un LSR se moque de ce qui se passe au niveau IP. Il se contente de commuter daprs sa table de commutation.

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

Par construction, le protocole LDP met un label sur toutes les lignes de la table de routage. Cest pour a quon a ici 13 lignes et deux sortes dadressage. Les lignes en /32 reprsentent les adresses de loopback des routeurs - retrouves en faisant show ip route. Les adresses en /24 reprsentent les adresses des sous rseaux entre les routeurs2 . La troisime colonne - le champ lsr : - permet de renseigner linterface de sortie. Ainsi le routeur enlve le label entrant, appose le label sortant puis transmet le message vers linterface de sortie. On remarque que le LSR de sortie est R2, ce qui concorde totalement avec la topologie du rseau. Ainsi, tout les paquets passant par le routeur R1 sont achemins vers le LSR R2. La mention inuse stipule que le label sortant est utilis pour le MPLS forwarding 3 - le MPLS forwarding est laction de regarder dans sa table de commutation tant donn le label dentre pour connatre le label sur lequel commuter puis commuter, cette tape est dirente de celle de routing qui consiste construire les tables de routage. On remarque galement que le R1 se charge denlever lentte lorsquil est le dernier routeur MPLS travers avant la destination nale. Ds lors on peut lire la mention imp-null sur le champ du label de sortie pour les destinations 10.0.0.2/32 - routeur R2 10.0.1.0/24 - sous rseau Net1 10.0.2.0/24 - sous rseau Net 2 10.0.3.0/24 - sous rseau Net 3 Le routeur R1 ne possde quune seule interface ; par consquent il ny a quun seul choix de label de sortie. On a autant de ligne que dinterface de sortie.Le 10.0.0.1/32 arrive avec un label nul parceque il est envoy par 2 qui a enlev le label. Par ailleurs on remarque que le routeur R1 enlve les labels des paquets destination des subnets 2 et 3. Cela vient du
2 3

un bus ethernet entre deux routeurs reprsente un subnet http ://www.cisco.com

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

fait que dans le protocole MPLS, lavant dernier routeur enlve les labels de telle sorte que le dernier routeurs puisse router les paquets directement en IP. Le label MPLS est cod sur 20 bits, ce qui signie quil peut formellement prendre une valeur entre 0 et 1048575. Les labels utiliss ici se situent entre 17 et 26 - les labels 0 15 tant rservs. Vue le ct symtrique de la topologie du rseau, on sattend trouver une table mpls ip binding trs similaire pour le routeur R6. Toutes les explications restent donc valables et identiques en prenant garde de changer les noms des routeurs par les nouveaux noms. Voil la table trouve :

2.3

Question 2 : Liste des chemins

La liste des chemins sera trouve au moyen de la commande # show mpls forwarding-table Comme le prcise la ligne de commande, on a alors accs la table de commutation du routeur. Dirents champs sont indispensables : Local tag reprsente le tag du paquet lentre du routeur Outgoing tag propose le tag de sortie Outgoing interface prcise linterface de sorite.

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

Ds lors, si lon connait linterface dentre du paquet et son label dentre, cette table de forwarding4 nous donne le label et linterface de sortie. Il est alors facile de dterminer le chemin dun paquet transitant de R1 R6 Lorsquil est en R1, le paquet vient de rentrer dans le rseau MPLS. Il na donc pas encore de label associ. Le Ingress LER R1 regarde quelle FEC appartient le paquet pour lui apposer un label. Dans ce cas simpliste, la FEC se base sur le prxe de ladresse destination. Cela revient donc regarder la table ip mpls binding prsente prcdemment. Le routeur R1 appose donc le label 24 et dirige le paquet vers linterface de telle sorte que le LSR suivant recevoir le paquet est le routeur R2. Le routeur R2 reoit le paquet sur linterface 10.0.1.1/24. Celui-ci a un label de 24. Ainsi le routeur regarde dans sa table de commutation prsente ci dessous et commute le paquet sur linterface de sortie aprs lui avoir appos un nouveau label. Ici, le routeur possde 2 interfaces donc on a deux interfaces de sortie possibles : vers le routeur R4 ou vers le routeur R5.

Le protocole de routage OSPF est un protocole de type link state. Dans ce protocole, les routeurs renseignent tout le rseau sur leurs tats de liens, de telle sorte que chaque routeur a une bonne connaissance de la topologie du rseau. Sur chaque lien sont attribus des cots - utiles pour rpartir la charge du rseau et viter ainsi trop de congestions dont le sens dpend de la politique stratgique des administrateurs. Chaque routeur doit ensuite procder un alogorithme de type Dijkstra pour trouver le plus court chemin vers chaque membre du rseau ; cette route est alors mise dans la table de routage. Parfois, deux chemins sont quivalents en terme de cot. Le protocole ECMP - Equal Cost Multi Path - permet dans ces cas l de considrer les deux chemins et de diviser le ux de trac entre les deux chemins. On ne peut nanmoins pas diviser le trac au niveau du ux ; par exemple on ne peut pas faire un paquet sur deux, car cela engendrerait des problmes de type problme de dsquencement, risque de gner le controle de congestion TCP... Lide est alors de passer par une fonction de hashing qui prendrait en paramtre les adresses
4 La dirence entre routing et forwrding a t expliqu plus haut. Dans la suite on ne fera pas forcment la dirence entre les deux termes, les notions se dessinant alors avecle contexte

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

source et destination - on se ramne hash(adr src, adr dest). Selon la sortie de cette fonction de hashage on passe alors par un chemin ou un autre. Ainsi un ux donn passe toujours par le mme chemin. Par ailleurs, on ne se base que sur le prochain saut pour faire du partage de charge. Mme si le routeur suivant a deux routes pour aller vers lhte nal. Lui aussi fera du ECMP. On peut ainsi avoir au nal des liens dsquilibrs 25%/75% alors quon passe par ECMP... Mais ECMP tend protger les liens et quilibrer les charges. Le double acheminement est galement prsent au niveau OSPF. En eet, si on regarde la table show ip route du routeur R2, les deux routes sont considres dans OSPF pour joindre le routeur R6. - capture R2showiproute.png -.

Cest pour cette raison que dans les tables on considre deux chemins. Nanmoins, dans le cas qui nous intresse ici savoir un unique ux, un seul et unique chemin sera utilis. Pour trouver ce chemin, il peut tre astucieux de se connecter sur le routeur R1 et de faire un traceroute vers le routeur R6. Cela nous permettra dliminer un des deux chemins. La syntaxe est la suivante : $ traceroute 10.0.0.6 Ci dessous, une captre dcran du rsultat obtenu

Le rsultat fournit le chemin suivi par le paquet. Dans notre cas, le paquet passe par les routeurs 2, 5, 3 et 6.

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

Par consquent, le paquet quitte le routeur R2 en direction du routeur R5 avec le label 24. Le paquet arrive donc sur linterface 10.0.3.5 de R5 avec un label entrant de 24. Le routeur R5 rentre dans sa table de forwarding et ressort le paquet sur linterface Fa0/0 avec un label sortant de 24. Le next hop a ladresse IP10.0.6.3. - capture R5showmplsforward.png - Il sagit de ladresse de linterface du routeur trois vers le subnet 6. Le prochain saut est donc R3, ce qui est cohrent avec le traceroute prcdent.

Le paquet arrive alors en R3 avec un label enrant de 24. Le routeur R3, regarde dans sa table de forwarding. - capture R3mplsforwardingtable.png - Le routeur R3 enlve le tag - label + entte gnral - - poptag - puis transmet le paquet sur son interface Fa0/1 vers ladresse 10.0.7.6 qui est ladresse de linterface du routeur 6 vers le subnet 7.

Le paquet aura donc travers les routeurs R1 R2 R3 R5 R6. Le routeur R1 lui a impos un label 24 quil a conserv jusqu la n - le routeur R3 a enlev ce label. Cest le penultimate hop popping. Avec un raisonnement totalement analogue, on trouve le chemin dun paquet qui part de R6 destination de R1. On trouve alors lenchanement suivant :

RES343

10

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

2.4

Question 3 : Analyse des messages LDP

On vient de comprendre dans les questions davant le mode de fonctionnement de la commutation. On se concentrera maintenant sur la faon de renseigner la table de commutation des LSR. Les tables de commutation sont ici renseignes par lalgorithme dimplicit routing LDP -Label Distribution Protocol. Dans le but davoir une comprhension ne de ce protocole on utilise loutil de sning Wireshark. On va ici tudier les conversations entre les routeurs R3 et R6. Pour ce faire on se place sur linterface du routeur R6 et on lance la capture.

Limage ci-dessus est une capture dcran du logiciel Wireshark. Sur cette image on voit les changes entre les routeurs R3 et R6. La premire chose que lon remarque dans cette conversation est que les paquets sont envoys en multicast. En eet ladresse en 224.0.0.x est une adresse de multicast, ce qui signie que les routeurs sadressent des groupes, des entits et non pas un unique routeur - par commodit. Par ailleurs, on constate que le protocole OSPF tourne par dessus le protocole de signalisation LDP. En eet, on voit plusieurs reprises des messages HELLO changs pa ces routeurs. Une fois de plus les messages sont changs sur une adresse multicast. Les paquets LDP servent deux choses : Garder la connexion TCP ouverte - sinon TCP a un timeout et ferme la connexion donc on considre un changement de mapping... Et il faut alors rouvrir une connexion, ce qui coute chaque fois trois messages... Vrier que le protocole LDP est toujours actif sur les interfaces. La vrication des routeurs ou des liens est assure par le protocole OSPF sur lequel repose LDP. Une fois bien assimiles les conversations dans un cas sans problme, voyons prsent la rsistance aux pannes de ce protocole. On fait tomber le routeur R6 et on observe ce quil se passe :

La capture dcran ci-dessus dmontre que le routeur R3 continue dannoncer sa prsence avec des messages HELLO - OSPF et LDP. Comme on le sait dj, au bout dun temps quivalent 3 HELLO OSPF non reu, le routeur R3 va considrer que le routeur R6 est

RES343

11

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

tomb. De plus, comme le routeur R3 ne reoit plus les messages LDP HELLO, il envoit des messages de notication au routeur R6 - en unicast cette fois. Enn, lorsque le routeur rapparait, cest le protocole OSPF qui prend la relve. On assiste aux messages habituels - LS Request, LS Database, HELLO... -. Le protocole ldp est lanc seulement une fois que le protocole OSPF a converg. Une fois les bases de donnes de R6 remplies, le routeur R6 ouvre une connexion TCP avec son voisin an de procder lchange de labels, comme le montre la capture dcran ci-dessous. Ces messages dchange de labels se font sur TCP et sont donc tous acquitts -comme il ny a pas de rponse mme implicite, TCP est le seul moyen dtre sr que le routeur a bien eu toute les informations..

Lorsquon rentre dans les messages dchange de label, on voit que le routeur R6 - le routeur downstream - impose les labels au routeur en amont. Sur la capture dcran ci dessous on voit un exemple de message. Le routeur propose donc une FEC - ici les adresses dont le prxe est 10.0.5.0 - ainsi que le label associ - ici 24. Ds lors, chaque fois que le routeur R3 met jour sa table de commutation. Dans un seul paquet sont transmis plusieurs FEC et plusieurs labels. Dans le protocole MPLS, les valeurs de label 1 15 sont rserves. Dans notre tude, on trouve un label de 3 lors des changes LDP. L=3 : dans le protocole LDP, quand le routeur R6 spcie son routeur mpls voisin que si un paquet a une FEC qui correspond une destination du sous rseau 7 - ou lui mme -, il peut/doit enlever le label.

MPLS VPN

On sintresse dans toute la suite au dploiement dun rseau priv virtuel - VPN. On charge ce propos le laboratoire mpls2.net dans TPMPLS/Example. Une nouvelle conguration est charg ; La topologie suivante sache alors.

RES343

12

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

Le but de la partie qui suit est de congurer le VPN Green. La premire tape de la construction est la conguration du routeur PE. Nous avons dans la conguration actuelle deux routeurs PE ; il sagit des routeurs R1 et R6. On explique la marche suivre pour le routeur R1 que lon va traiter en premier ; les commandes seront similaires pour la conguration du routeur R6. Nanmoins, les tapes cls qui changent seront expliques plus bas. Un VPN est un ensemble de sites dun client qui sont interconnects ensemble partir dune infrastructure rseau partage et qui nont pas conscience de la prsence dventuels autres sites connects eux aussi sur cette infrastructure. Quand on congure un VPN client, il est donc primordial disoler les ux de chacun des clients. Les composants principaux dun VPN - dans le technologie MPLS - sont : le routeur CE (Customer Edge router) Ce routeur client est connect au backbone IP via un service daccs banal. Il route exclusivement en IP tout trac entre le site client et le backbone. Il est reli directement au PE. le PE routeur (Provider Edge router ) : Cest un routeur de priphrie auquel sont connects les CE. Cest au niveau des PE quest dclare lappartenance dun CE un VPN donn. Le PE peut fournir des paquets plusieurs sites clients appartenant des VPN dirents. Il possde une table de routage vrf qui permet de router le paquet vers le site auquel il est directement reli ou un autre PE qui gre le mme VPN. Les PE dialoguent entre eux avec lalgorithme de routage MPBGP. Pour tre en mesure de connatre les prxes dadresse du site auquel il est reli, le CE doit envoyer ces informations via des messages update du protocole e-BGP le routeur P (Provider device) : Il sagit dun routeur ou commutateur de cur de backbone charg de la commutation des trames MPLS. Dans notre exemple, on a 2 routeurs PE : R1 et R6 - 4 routeurs CE : R7 et R10 relatifs au VPN BLUE et R8 et R11 relatifs au VPN GREEN et 1 routeur P : R2.

3.1

Cration dune table VRF

On commence par construire une table VRF. La VRF est une table de routage associe un VPN. Elle relie le routeur PE et le routeur CE. Elle renseigne sur les routes vers les rseaux IP faisant partie de ce VPN. Le routeur CE envoie ces informations au routeur PE via des messages update du protocole e-BGP.

RES343

13

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

Ensuite, cette table sera transmise aux autres routeurs PE qui route le trac vers dautres sites appartenant au mme VPN. De manire trs schmatique, cette transmission se fera via des messages de type update galement du protocole MPBGP. En fait, le routeur PE enverra dans ces messages la liste des adresses quil peut desservir ainsi que le label quil attend pour commuter sur tel ou tel prxe.

Router#Configure terminal Router(config)#ip vrf GREEN Router(config-vrf)# rd 10:200 Router(config-vrf)# route-target export 10:200 Router(config-vrf)# route-target import 10:200

La table vrf est une table de routage virtuelle contenue dans les routeurs PE. Elle permet aux PE concerns de connatre lensemble des prxes dadresse contenues dans le VPN. Ainsi, de telles adresses pourront tre rutilises dans linternet - mais pas dans le VPN. On cre ici dans la premire ligne de commande une table vrf associe au VPN GREEN dans le routeur R1. Ici, GREEN dsigne le RT - route target. La seconde ligne de commande permet de renseigner le champ rd - route distinguisher qui permet didentier les routes changes entre les routeurs PE pour le VPN GREEN. Enn, les deux dernires lignes permettent dimporter et dexporter les routes pour ce site du VPN.

3.2

Assignation des interfaces aux VRF

Il est maintenant indispensable de prciser sur quelle interface du PE est reli le site client. On vrie alors sur la conguration voulue le nom de linterface de R1 qui est relie au routeur R8. Il sagit de linterface FastEthernet1/0.

Router(config)#interface FastEthernet1/0 \\ vrification du lien qui relie R1 et R8 Router(config-if)# ip vrf forwarding GREEN Router(config-if)# ip address 200.200.1.254 255.255.255.0

La premire ligne de commande permet de prciser que lon travaille sur linterface FastEthernet1/0, cest dire linterface qui relie le routeur PE au routeur CE. On prcise ensuite que sur cette interface on va commuter des paquets qui appartiennent au VPN GREEN. On prcise ladresse de linterface ainsi que le masque appliqu - il sagit dun /32 -. On a donc russi crer une table VRF relie au routeur CE, dont on connait les principales caractristiques - rd, rt... -.

RES343

14

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

3.3

Lancer OSPF dans linstance VRF

Dans le site client, le protocole de routage utilis est un protocole IGP classique. Ici on travaille avec le protocole de routage OSPF. On lance donc ce protocole, qui permettra de remplir la table VRF du PE R1. Le routeur PE pourra donc router en IP les paquets destinations du CE concern.

Router(config)#router ospf 200 vrf GREEN Router(config-router)#network 200.0.0.0 0.255.255.255 area 0 Router(config-router)#redistribute bgp 10 subnets

3.4

Lancer MP-BGP pour lannonce des routes

On va dans cette section soccuper de lancer le protocome MPBGP pour lannonce des routes. Le protocol MPBGP est relatif aux routeurs PE qui grent le mme VPN. En loccurence, pour le VPN GREEN, il sagit des routeurs R1 et R6. On va donc annoncer au routeur R1 quil devra dialoguer avec le routeur R6 en utilisant ce protocole. Ainsi, R1 enverra des messages de type update au routeur R6. Ces messages renseigneront R6 sur les prxes que peut joindre R1, le Next Hop - en loccurence R1 -, le RT - ici GREEN - et le label pour joindre le prxe en question.

Router(config)#router bgp 10 Router(config-router)#no bgp default ipv4-unicast Router(config-router)#neighbor 10.0.0.6 remote-as 10 Router(config-router)#neighbor 10.0.0.6 update-source Loopback0 Router(config-router)#address-family vpnv4 Router(config-router-af)#neighbor 10.0.0.6 activate Router(config-router-af)#neighbor 10.0.0.6 send-community both Router(config-router-af)#exit Router(config-router)#address-family ipv4 vrf GREEN Router(config-router-af)#redistribute ospf 200

On retrouve dans ces quelques lignes de commande ce qui a t expliqu ci-dessus. On lance le protocole MP-BGP sur lAS10 ; on dnit le voisin R6 auquel on distribue sous forme de message MPiBGP les routes pour joindre les adresses connues. On a ainsi congur le routeur R1. On sarrange pour congurer de mme le routeur R6.

3.5

Le cas R6

1. cration dune table VRF

RES343

15

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT Router#Configure terminal Router(config)#ip vrf GREEN Router(config-vrf)# rd 10:200 Router(config-vrf)# route-target export 10:200 Router(config-vrf)# route-target import 10:200

TP MPLS

assignation des interfaces au x VRF Router(config)#interface FastEthernet1/0 \\ vrification du lien qui relie R6 et R11 Router(config-if)# ip vrf forwarding GREEN Router(config-if)# ip address 200.200.2.254 255.255.255.0 Lancer OSPF dans linstance VRF Router(config)#router ospf 200 vrf GREEN Router(config-router)#network 200.0.0.0 0.255.255.255 area 0 Router(config-router)#redistribute bgp 10 subnets Lancer MP-BGP pour lannonce des routes Router(config)#router bgp 10 Router(config-router)#no bgp default ipv4-unicast Router(config-router)#neighbor 10.0.0.1 remote-as 10 Router(config-router)#neighbor 10.0.0.1 update-source Loopback0 Router(config-router)#address-family vpnv4 Router(config-router-af)#neighbor 10.0.0.1 activate Router(config-router-af)#neighbor 10.0.0.1 send-community both Router(config-router-af)#exit Router(config-router)#address-family ipv4 vrf GREEN Router(config-router-af)#redistribute ospf 200

On prendra notamment soin dans cette nouvelle conguration changer les adresses IP - 200.200.2.0/32 au lieu de 200.200.1.0/32 - et le nom des voisins - le voisin de R6 est R1 - ; on aura galement au pralable vri le nom de linterface reliant R6 au CE R11. Voil les captures dcran qui rsument les congurations de ces deux routeurs.

RES343

16

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

RES343

17

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

RES343

18

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

RES343

19

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

Une fois les deux routeurs paramtrs, on peut vrier si la conugration est bonne. Pour cela on cherche prouver la nouvelle connectivit entre le routeur PE R1 et le CE R8. On fait alors un ping, un traceroute et un show ip route depuis le routeur R1 - capture connecR8.png - Les lignes de commande correspondantes sont :

RES343

20

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT ping vrf GREEN 200.200.1.1 traceroute vrf GREEN 200.200.1.1

TP MPLS

On prend bien soin de prciser que ces adresses sont chercher directement dans la table virtuelle vrf. Voil ce qui est alors retourn.

On en dduit que le CE et le PE sont bel et bien connects ensemble. De plus le show ip route appliqu la table vrf dmontre que le CE a bien transmis toutes ses adresses au PE.

3.6

Lacheminement des paquets

Une fois le VPN install et paramtr, on sattarde alors sur lacheminement des paquets. On cherche ici comprendre comment transitent les paquets et quels labels sont aposs par MPLS. Pour rpondre cette question, on commence par faire un ping depuis le routeur R8 vers le routeur R11. Le routeur R8 est un routeur CE. Pour lui, le routeur R11, qui se trouve dans le mme VPN est sur le mme rseau. Il na aucune connaissance de lloignement des sites. Il transmet le paquet en IP au routeur R1, le PE. Cest la raison pour laquelle lorsquon fait un ping entre les routeurs R8 et R11, on na aucune donne sur les labels apposs. Si on veut connaitre les labels lors du chemin entre R8 et R11, alors on fait un ping entre R1 et R11. En eet, R1 est le PE. Il reoit un paquet depuis un CE, rout en IP. Il regarde ladresse de destination, il sagit dune adresse appartenant la table vrf, donc au mme VPN. Il va donc traiter le paquet. Dans le cas contraire, le paquet serait dtruit.

RES343

21

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

R1 regarde dans sa table remplie avec le protocole MPiBGP le pochain saut - en terme de PE - pour aller ladresse IP souhaite, et appose alors le label correspondant. Ce label servira commuter le paquet entre les dirents PE. Ensuite, il regarde dans sa table de commutation le label quil doit attribuer pour le prochain saut du message dans le backbone ; il en dduit un second label. Ainsi, le paquet est transmis avec deux labels. Le premier - le plus lextrieur - permet la commutation du paquet dans le rseau, pour conduire le paquet au PE suivant ; le second permet la commutation du paquet au niveau des PE. Pour connatre le cheminement du message, on doit faire un traceroute ; le ping donnera les labels apposs - bien que le traceroute les fournisse aussi. On se place donc sur le routeur R1 pour eectuer ces deux commandes. Voil le rsultat obtenu :

On remarque comme expliqu ci-dessus que le paquet quitte le routeur R1 vers le routeur P R2 avec deux labels. Il sagit des labels 17 et 19. Le label 17 sert commuter le paquet au sein du backbone. Le routeur R2 va donc dans sa table de commutation et cherche linterface de sortie et le label de sortie correspondant un label dentre de 17. Linterface de sortie est linterface vers le routeur R6 ; il ny a pas le label de sortie. Le routeur R2 enlve donc le label 17, ce qui est intuitif car le paquet arrive maintenant sur un PE. Cest la raison pour laquelle dans la seconde ligne de la capture dcran il ny a plus quun label. Le message arrive donc sur le routeur PE avec un unique label de 19. Le routeur PE regarde dans sa table de commutation linterface et le label de sortie correspondant. Il trouve quil faut enlever le label et trasmettre le paquet vers le routeur CE. Ainsi, le paquet arrive en IP au routeur CE qui va pouvoir router ce paquet en IP dans le site. Cest la raison pour laquelle, dans la dernire ligne du traceroute il ny a pas de label. Par consquent, les CE ne connaissent pas la commutation ; ils routent laide de protocole de type OSPF. Une fois dans le backbone par contre, les paquets sont commuts laide de MPLS. en terme de scurit, un paquet ne peut tre rout que dun site un autre. Il est impossible pour un paquet venu de lexterieur dtre rout vers un site ; rciproquement un paquet qui provient dun site du VPN ne peut se diriger que vers un autre site du VPN. Une des particularits de cette solution est que plusisuers VPNs peuvent tourner en parallle, sans avoir aucune ide de leur prsence mutuelle. Ainsi, dans cette exemple, le VPN BLUE et le VPN GREEN tournent tous les deux sur les mmes architectures

RES343

22

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP MPLS

physiques, sur les mmes routeurs PE et P. Les routeurs PE ont dvelopp une table propre pour chaque VPN, de telle sorte quaucune confusion nest possible. Ainsi, lorsque R7 et R10 communiquent entre eux on a aaire au mme cheminement - avec des labels dirents -

3.7

OSPF BGP

On remarque lors de la capture du trac ralis aprs la rapparition du routeur R6 que le protocole mis en jeu entre R1 et R6 est un protocole de type BGP. Les routeurs ont galement un protocole de type OSPF qui sert pour connaitre les prochains sauts au niveau des P. Le protocole BGP sert assurer la liaison entre les routeurs PE. Ainsi, au travers de ce protocole, les routeurs PE sinforment des labels utiles au bon routage des informations. Le protocole reste assez identique un protocole BGP de base. La connexion est lanc par un des deux protagonistes par un message de type OPEN MESSAGE. Par la suite, les tables de routages sont mises jours au travers de messages UPDATE. Enn, pour que la connexion reste ouverte entre les deux routeurs, chacun envoit des messages de type KEEPALIVE assez rgulirement. Les messages UPDATE sont les messages qui donnent les informations utiles au routage, dans le cas o ils y a plusisuers voisins. Par ailleurs, une extension du protocole BGP permet dallouer des labels, ce qui permet la commutation sur les labels.

RES343

23

Tlcom Paristech