23
 TELECOM ParisTech - Paris Institute of Technology TP MPLS Initiation à MPLS, MPLS VPN 7 juillet 2009 à l’attention de  Jean-Louis Rougier David TORTEL Anne CHEVALIER Louis DE TERSANT Les ressources utilisées dans cet article sont directement référencées par une note de bas de page, là où elles apparaissent. Toute autre information contenue dans le présent document est le fruit d’une opinion personnelle, du consensus d’une conversation avec des interlocu- teurs du domaine des réseaux, ou de connaissances acquises par notre formation ou notre expérience pers onnelle. 1

mpls

Embed Size (px)

Citation preview

Page 1: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 1/23

 

TELECOM ParisTech - Paris Institute of Technology

TP MPLS

Initiation à MPLS, MPLS VPN

7 juillet 2009 à l’attention de Jean-Louis Rougier

David TORTEL Anne CHEVALIER Louis DE TERSANT

Les ressources utilisées dans cet article sont directement référencées par une note de bas de page, là où elles apparaissent. Toute autre information contenue dans le présent document est le fruit d’une opinion personnelle, du consensus d’une conversation avec des interlocu-

teurs du domaine des réseaux, ou de connaissances acquises par notre formation ou notre expérience personnelle.

1

Page 2: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 2/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

Table des matières

1 Introduction 31.1 MPLS, contexte et notations . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1 La commutation de paquets . . . . . . . . . . . . . . . . . . . . . . . 31.1.2 La FEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Les outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 MPLS Vanilla 4

2.1 lancement du TP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Question 1 : Liste des labels . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3 Question 2 : Liste des chemins . . . . . . . . . . . . . . . . . . . . . . . . . . 72.4 Question 3 : Analyse des messages LDP . . . . . . . . . . . . . . . . . . . . 11

3 MPLS VPN 12

3.1 Création d’une table VRF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2 Assignation des interfaces aux VRF . . . . . . . . . . . . . . . . . . . . . . . 143.3 Lancer OSPF dans l’instance VRF . . . . . . . . . . . . . . . . . . . . . . . 153.4 Lancer MP-BGP pour l’annonce des routes . . . . . . . . . . . . . . . . . . 153.5 Le cas R6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.6 L’acheminement des paquets . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.7 OSPF BGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

RES343 2 Télécom Paristech

Page 3: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 3/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

1 Introduction

Dans ce TP, on étudie en profondeur le fonctionnment du protocole de routage MPLS,en se concentrant plus particulièrement sur l’architecture MPLS-VPN. Ainsi, après uneintroduction indispensable qui révise les points essentiels d’un protocole MPLS de base,on essaiera de comprendre la construction d’un Réseau Privé Virtuel , à l’aide des outilsproposés par MPLS.

1.1 MPLS, contexte et notations

MPLS est un protocole de routage qui fonctionne sur la notion de commutation depaquets. Construit à l’origine afin de proposer un routage en mode connecté, haut débit,le protocole MPLS est aujourd’hui utilisé dans le but d’assurer une qualié de service - quel’on 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  detype OSPF. Nous introduisons dans cette partie un bref récapitulatif de son fontionnmentafin de définir le vocabulaire qui sera utilisé dans toute la suite.

1.1.1 La commutation de paquets

Les réseaux MPLS fonctionnent en mode connecté ; id est le trafic est basé sur une com-munication entre deux entités bien définies dès le début ; le chemin emprunté est noté LSP - Label Switched Path -.

Lorsqu’un paquet entre dans un réseau MPLS, son entête est modifiée. Un routeur1 Ingress 

LER - Ingress Label Edge Routeur - lui impose un nouvel entête qui contiet notammentun label.

Le paquet est ensuite routé à l’interieur du réseau d’après ce label par les routeursMPLS que l’on notera dans toute la suite LSR - Label Switching Router - Ces routeurscommutent les labels. Lorsque le paquet arrive sur une interface I1 avec un label L1, lerouteur consulte sa table de commutation et ressort le paquet sur une interface I2  avecun label L2  - Les labels peuvent rester inchangés -. La table de commutation est rempliemanuellement ou dynamiquement avec des protocoles de distribution de labels de typeDownStream On Demand  ou Unsolicited DownStream  . L’attribution des labels est réaliségrâce au protocole LDP 

Avant de sortir du réseau, l’entête MPLS  est enlevé par un routeur MPLS que l’on nommeEgress LER. Si la destination finale se trouve à l’interieur du réseau MPLS, c’est l’avantdernier routeur qui enlève l’entête, dans le cas général, il s’agit du dernier routeur MPLS

traversé.

La force initiale de MPLS était la vitesse de convergence des paquets , comparée à celleproposée par un protocole de routage de type IP. On évite en effet de consulter toute latable de routage, on se contente de commuter - aujourd’hui ce point n’a plus d’importance

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

RES343 3 Télécom Paristech

Page 4: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 4/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

vu les progrès techniques réalisés sur les routeurs -. Aujourd’hui, on s’intéresse plus aumode connecté et à l’identification 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 d’équivalence. Elle rassemblel’ensemble des machines qui partagent une caractéristique commune - préfixe, QoS... -.Lorsqu’un paquet arrive, le Ingress LER regarde dans sa table à quelle FEC  appartient lepaquet pour lui assigner le premier label. Ce label déterminera le LSP  à venir. Ainsi, lespaquets qui sont dans la même classe d’équivalence emprunteront le même chemin. Il seraalors possible par exemple de faire coincider une FEC particulière avec certains besoins enterme de bande passante et on pourra alors très schématiquement redéfinir la qualité de

service.

1.2 Les outils

On va une fois de plus dans ce TP travailler avec une virtualisation de réseau, cettesolution étant la plus légère et la plus pratique, tout en restant assez proche de la réalité.On utilisera à ce propos la solution commerciale Dynamips  qui permet d’émuler l’architec-ture materielle de certains routeurs Cisco, puis l’interface graphique correspondante GNS3 attractive et intuitive.

2 MPLS Vanilla

Dans cette première étape, il est question d’étudier le fonctionnement de base du pro-tocole MPLS. On se concentrera à ce sujet sur les différents éléments clés cité ci-dessus -Labels, LSP, LDP... - et on illustrera le fonctionnement du protocole de routage avec latopologie de réseau ci-dessous.

2.1 lancement du TP

On commence par lancer GNS3 .

Après avoir chargé le laboratoire mpls.net  dans le répertoire TPMPLS/Example , la to-

pologie du réseau se met en place. On a donc simulé l’ensemble du côté “architectural“. Ilfaut à présent activer l’ensemble des interfaces des routeurs afin que ceux ci-puissent com-mencer à communiquer. Une fois que toutes les interfaces sont connectées, les routeurs sonttous reliés deux à deux et peuvent à présent converser. Les différents protocoles de routagesse sont lancés automatiquement. Par la suite on pourra rentrer dans la configuration dechaque routeur - afin d’observer et de comprendre la commutation MPLS - en ayant accèsà son terminal. Pour cela on clique sur l’icône terminal proposée par l’interface graphique.

A chaque fois, la commande

enable

RES343 4 Télécom Paristech

Page 5: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 5/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

permet de rentrer dans la configuration du routeur. Souvent, les routeurs se mettent en"veille" après une trop longue  periode de non activité. Pour reprendre la main il suffira

d’appuyer sur entrée et de retaper la commande précédente.

Voilà la topologie sur laquelle nous travaillons dans cette première partie.

2.2 Question 1 : Liste des labels

On s’intéresse ici aux labels utilisés par R1 pour joindre l’ensemble des adresses deloopback  des routeurs du réseau MPLS.Les adresses de loopback  sont les adresses des inter-faces en local des routeurs. Dans cette configuration particulière, le routeur annonce cette

adresse IP dans OSPF par soucis de résistance aux pannes. En effet avec cette astuce, sil’interface principal tombe, on a encore un chemin, et on garde donc une adjacence entreles 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 decommande suivantes :

# enable

# show mpls ip binding

La première commande permet de passer en mode administration et par conséquent permetla configuration de la machine. La seconde commande établit la correspondance IP/labelapprise par le protocole LDP .

Le résultat de sortie est un tableau explicitant la correspondance IP/label de toutes lesdestinations connues par le routeur R1. Dès lors pour chaque IP, on sait quels sont les labelsau niveau entrant et au niveau sortant. En temps de routage MPLS, un LSR se moque dece qui se passe au niveau IP. Il se contente de commuter d’après sa table de commutation.

RES343 5 Télécom Paristech

Page 6: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 6/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

Par construction, le protocole LDP met un label sur toutes les lignes de la table deroutage. C’est pour ça qu’on a ici 13 lignes et deux sortes d’adressage. Les lignes en /32représentent les adresses de loopback  des routeurs - retrouvées en faisant show ip route . Lesadresses en /24 représentent les adresses des sous réseaux entre les routeurs2.

La troisième colonne - le champ lsr : - permet de renseigner l’interface de sortie. Ainsi

le routeur enlève le label entrant, appose le label sortant puis transmet le message versl’interface de sortie. On remarque que le LSR de sortie est R2, ce qui concorde totalementavec la topologie du réseau. Ainsi, tout les paquets passant par le routeur R1 sont acheminésvers le LSR R2. La mention inuse  stipule que le label sortant est utilisé pour le MPLS 

 forwarding 3 - le MPLS forwarding  est l’action de regarder dans sa table de commutationétant donné le label d’entrée pour connaître le label sur lequel commuter puis commuter,cette étape est différente de celle de routing  qui consiste à construire les tables de routage.

On remarque également que le R1 se charge d’enlever l’entête lorsqu’il est le dernierrouteur MPLS traversé avant la destination finale. Dès 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 réseau Net1– 10.0.2.0/24 - sous réseau Net 2 – 10.0.3.0/24 - sous réseau Net 3 

Le routeur R1 ne possède qu’une seule interface ; par conséquent il n’y a qu’un seul choixde label de sortie. On a autant de ligne que d’interface de sortie.Le 10.0.0.1/32 arrive avecun label nul parceque il est envoyé par 2 qui a enlevé le label. Par ailleurs on remarque quele routeur R1 enlève les labels des paquets à destination des subnets 2 et 3. Cela vient du

2un bus ethernet entre deux routeurs représente un subnet3

http ://www.cisco.com

RES343 6 Télécom Paristech

Page 7: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 7/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

fait que dans le protocole MPLS, l’avant dernier routeur enlève les labels de telle sorte quele dernier routeurs puisse router les paquets directement en IP.

Le label MPLS est codé sur 20 bits, ce qui signifie qu’il peut formellement prendre unevaleur entre 0 et 1048575. Les labels utilisés ici se situent entre 17 et 26 - les labels 0 à 15étant réservés.

Vue le côté symétrique de la topologie du réseau, on s’attend à trouver une table mpls ip binding  très similaire pour le routeur R6. Toutes les explications restent donc valableset identiques en prenant garde de changer les noms des routeurs par les nouveaux noms.Voilà la table trouvée :

2.3 Question 2 : Liste des chemins

La liste des chemins sera trouvée au moyen de la commande

# show mpls forwarding-table

Comme le précise la ligne de commande, on a alors accès à la table de commutation durouteur. Différents champs sont indispensables :

– Local tag  représente le tag du paquet à l’entrée du routeur– Outgoing tag  propose le tag de sortie– Outgoing interface  précise l’interface de sorite.

RES343 7 Télécom Paristech

Page 8: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 8/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

Dès lors, si l’on connait l’interface d’entrée du paquet et son label d’entrée, cette table deforwarding4 nous donne le label et l’interface de sortie. Il est alors facile de déterminer le

chemin d’un paquet transitant de R1 à R6

Lorsqu’il est en R1, le paquet vient de rentrer dans le réseau MPLS. Il n’a donc pasencore de label associé. Le Ingress LER R1 regarde à quelle FEC appartient le paquetpour lui apposer un label. Dans ce cas simpliste, la FEC se base sur le préfixe de l’adressedestination. Cela revient donc à regarder la table ip mpls binding  présentée précédemment.Le routeur R1 appose donc le label 24 et dirige le paquet vers l’interface de telle sorte quele LSR suivant à recevoir le paquet est le routeur R2.

Le routeur R2 reçoit le paquet sur l’interface 10.0.1.1/24. Celui-ci a un label de 24. Ainsile routeur regarde dans sa table de commutation présentée ci dessous et commute le paquet

sur l’interface de sortie après lui avoir apposé un nouveau label. Ici, le routeur possède 2interfaces donc on a deux interfaces de sortie possibles : vers le routeur R4 ou vers le routeurR5.

Le protocole de routage OSPF est un protocole de type link state. Dans ce protocole,les routeurs renseignent tout le réseau sur leurs états de liens, de telle sorte que chaquerouteur a une bonne connaissance de la topologie du réseau. Sur chaque lien sont attribuésdes coûts - utiles pour répartir la charge du réseau et éviter ainsi trop de congestions -

dont le sens dépend de la politique stratégique des administrateurs. Chaque routeur doitensuite procéder à un alogorithme de type Dijkstra pour trouver le plus court chemin verschaque membre du réseau ; cette route est alors mise dans la table de routage. Parfois,deux chemins sont équivalents en terme de coût. Le protocole ECMP - Equal Cost Multi Path  - permet dans ces cas là de considérer les deux chemins et de diviser le flux de traficentre les deux chemins. On ne peut néanmoins pas diviser le trafic au niveau du flux ; parexemple on ne peut pas faire un paquet sur deux, car cela engendrerait des problèmes detype problème de déséquencement, risque de géner le controle de congestion TCP... L’idéeest alors de passer par une fonction de hashing qui prendrait en paramêtre les adresses

4La différence entre routing et forwrding a été expliqué plus haut. Dans la suite on ne fera pas forcémentla différence entre les deux termes, les notions se dessinant alors avecle contexte

RES343 8 Télécom Paristech

Page 9: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 9/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

source et destination - on se ramène à hash(adr src, adr dest). Selon la sortie de cettefonction de hashage on passe alors par un chemin ou un autre. Ainsi un flux donné passe

toujours par le même chemin. Par ailleurs, on ne se base que sur le prochain saut pour fairedu partage de charge. Même si le routeur suivant a deux routes pour aller vers l’hôte final.Lui aussi fera du ECMP. On peut ainsi avoir au final des liens déséquilibrés 25%/75% alorsqu’on passe par ECMP... Mais ECMP tend à protéger les liens et à équilibrer les charges.

Le double acheminement est également présent au niveau OSPF. En effet, si on regardela table show ip route  du routeur R2, les deux routes sont considérées dans OSPF pour

 joindre le routeur R6. - capture R2showiproute.png -.

C’est pour cette raison que dans les tables on considère deux chemins. Néanmoins, dansle cas qui nous intéresse ici à savoir un unique flux, un seul et unique chemin sera utilisé.Pour trouver ce chemin, il peut être astucieux de se connecter sur le routeur R1 et de faireun traceroute vers le routeur R6. Cela nous permettra d’éliminer un des deux chemins. Lasyntaxe est la suivante :

$ traceroute 10.0.0.6

Ci dessous, une captre d’écran du résultat obtenu

Le résultat fournit le chemin suivi par le paquet. Dans notre cas, le paquet passe parles routeurs 2, 5, 3 et 6.

RES343 9 Télécom Paristech

Page 10: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 10/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

Par conséquent, le paquet quitte le routeur R2 en direction du routeur R5 avec le label24.

Le paquet arrive donc sur l’interface 10.0.3.5 de R5 avec un label entrant de 24. Le routeurR5 rentre dans sa table de forwarding et ressort le paquet sur l’interface Fa0/0 avec unlabel sortant de 24. Le next hop a l’adresse IP10.0.6.3. - capture R5showmplsforward.png- Il s’agit de l’adresse de l’interface du routeur trois vers le subnet 6. Le prochain saut estdonc R3, ce qui est cohérent avec le traceroute précédent.

Le paquet arrive alors en R3 avec un label enrant de 24. Le routeur R3, regarde danssa table de forwarding. - capture R3mplsforwardingtable.png - Le routeur R3 enlève le tag

- label + entête général - - poptag - puis transmet le paquet sur son interface Fa0/1 versl’adresse 10.0.7.6 qui est l’adresse de l’interface 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é unlabel 24 qu’il a conservé jusqu’à la fin - le routeur R3 a enlevé ce label. C’est le penultimatehop popping.

Avec un raisonnement totalement analogue, on trouve le chemin d’un paquet qui part

de R6 à destination de R1. On trouve alors l’enchaînement suivant :

RES343 10 Télécom Paristech

Page 11: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 11/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

2.4 Question 3 : Analyse des messages LDP

On vient de comprendre dans les questions d’avant le mode de fonctionnement de lacommutation. On se concentrera maintenant sur la façon de renseigner la table de commu-tation des LSR. Les tables de commutation sont ici renseignées par l’algorithme d’implicit routing  LDP -Label Distribution Protocol .

Dans le but d’avoir une compréhension fine de ce protocole on utilise l’outil de “sniffing” Wireshark. On va ici étudier les conversations entre les routeurs R3 et R6. Pour ce faire onse place sur l’interface du routeur R6 et on lance la capture.

L’image ci-dessus est une capture d’écran du logiciel Wireshark. Sur cette image onvoit les échanges entre les routeurs R3 et R6.

La première chose que l’on remarque dans cette conversation est que les paquets sontenvoyés en multicast. En effet l’adresse en 224.0.0.x est une adresse de multicast, ce quisignifie que les routeurs s’adressent à des groupes, des entités 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 effet, on voit à plusieurs reprises des messages HELLO échangés paces routeurs. Une fois de plus les messages sont échangés 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 considère un changement de mapping... Et il faut alors réouvrir une connexion,ce qui coute à chaque fois trois messages...-

– Vérifier que le protocole LDP est toujours actif sur les interfaces. La vérification desrouteurs ou des liens est assurée par le protocole OSPF sur lequel repose LDP.

Une fois bien assimilées les conversations dans un cas “sans problème”, voyons à présentla résistance aux pannes de ce protocole. On fait tomber le routeur R6 et on observe cequ’il se passe :

La capture d’écran ci-dessus démontre que le routeur R3 continue d’annoncer sa présenceavec des messages HELLO - OSPF et LDP. Comme on le sait déjà, au bout d’un temps

équivalent à 3 HELLO OSPF non reçu, le routeur R3 va considérer que le routeur R6 est

RES343 11 Télécom Paristech

Page 12: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 12/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

tombé. De plus, comme le routeur R3 ne reçoit plus les messages LDP HELLO, il envoitdes messages de notification au routeur R6 - en unicast cette fois.

Enfin, lorsque le routeur réapparait, c’est le protocole OSPF qui prend la relève. Onassiste aux messages habituels - LS Request, LS Database, HELLO... -. Le protocole ldpest lancé seulement une fois que le protocole OSPF a convergé. Une fois les bases de donnéesde R6 remplies, le routeur R6 ouvre une connexion TCP avec son voisin afin de procéder àl’échange de labels, comme le montre la capture d’écran ci-dessous. Ces messages d’échangede labels se font sur TCP et sont donc tous acquittés -comme il n’y a pas de réponse mêmeimplicite, TCP est le seul moyen d’être sûr que le routeur a bien eu toute les informations..

Lorsqu’on rentre dans les messages d’échange de label, on voit que le routeur R6 - lerouteur downstream  - impose les labels au routeur en amont. Sur la capture d’écran cidessous on voit un exemple de message. Le routeur propose donc une FEC - ici les adressesdont le préfixe est 10.0.5.0 - ainsi que le label associé - ici 24. Dès lors, à chaque fois que

le routeur R3 met à jour sa table de commutation. Dans un seul paquet sont transmisplusieurs FEC et plusieurs labels.

Dans le protocole MPLS, les valeurs de label 1 à 15 sont réservées. Dans notre étude, ontrouve un label de 3 lors des échanges LDP. L=3 : dans le protocole LDP, quand le routeurR6 spécifie à son routeur mpls voisin que si un paquet a une FEC qui correspond à unedestination du sous réseau 7 - ou lui même -, il peut/doit enlever le label.

3 MPLS VPN

On s’intéresse dans toute la suite au déploiement d’un réseau privé virtuel - VPN.

On charge à ce propos le laboratoire mpls2.net dans TPMPLS/Example . Une nouvelleconfiguration est chargé ; La topologie suivante s’affiche alors.

RES343 12 Télécom Paristech

Page 13: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 13/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

Le but de la partie qui suit est de configurer le VPN Green.

La première étape de la construction est la configuration du routeur PE.

Nous avons dans la configuration actuelle deux routeurs PE ; il s’agit des routeurs R1 etR6. On explique la marche à suivre pour le routeur R1 que l’on va traiter en premier ; lescommandes seront similaires pour la configuration du routeur R6. Néanmoins, les étapesclés qui changent seront expliquées plus bas.

Un VPN est un ensemble de sites d’un client qui sont interconnectés ensemble à partird’une infrastructure réseau partagée et qui n’ont pas conscience de la présence d’éventuelsautres sites connectés eux aussi sur cette infrastructure. Quand on configure un VPN client,il est donc primordial d’isoler les flux de chacun des clients.

Les composants principaux d’un VPN - dans le technologie MPLS - sont :

– le routeur CE  (Customer Edge route r) – Ce routeur client est connecté au backboneIP via un service d’accès banal. Il route exclusivement en IP tout trafic entre le siteclient et le backbone. Il est relié directement au PE.

– le PE routeur  (Provider Edge router ) : C’est un routeur de périphérie auquel sontconnectés les CE. C’est au niveau des PE qu’est déclarée l’appartenance d’un CE àun VPN donné. Le PE peut fournir des paquets à plusieurs sites clients appartenantà des VPN différents. Il possède une table de routage vrf  qui permet de router lepaquet vers le site auquel il est directement relié ou à un autre PE qui gère le mêmeVPN. Les PE dialoguent entre eux avec l’algorithme de routage MPBGP. Pour êtreen mesure de connaître les préfixes d’adresse du site auquel il est relié, le CE doitenvoyer ces informations via des messages update  du protocole e-BGP 

– le routeur P  (Provider device ) : Il s’agit d’un routeur ou commutateur de cœur debackbone chargé de la commutation des trames MPLS.

Dans notre exemple, on a 2 routeurs PE : R1 et R6 - 4 routeurs CE : R7 et R10 relatifsau VPN BLUE  et R8 et R11 relatifs au VPN GREEN  et 1 routeur P : R2.

3.1 Création d’une table VRF

On commence par construire une table VRF . La VRF est une table de routage associéeà un VPN. Elle relie le routeur PE et le routeur CE. Elle renseigne sur les routes vers lesréseaux 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 Télécom Paristech

Page 14: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 14/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

Ensuite, cette table sera transmise aux autres routeurs PE qui route le trafic versd’autres sites appartenant au même VPN. De manière très schématique, cette transmission

se fera via des messages de type update  également du protocole MPBGP . En fait, le routeurPE enverra dans ces messages la liste des adresses qu’il peut desservir ainsi que le labelqu’il attend pour commuter sur tel ou tel préfixe.

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 permetaux PE concernés de connaître l’ensemble des préfixes d’adresse contenues dans le VPN.Ainsi, de telles adresses pourront être réutilisées dans l’internet - mais pas dans le VPN.On crée ici dans la première ligne de commande une table vrf  associée au VPN GREEN dans le routeur R1. Ici, GREEN  désigne le RT - route target .

La seconde ligne de commande permet de renseigner le champ rd - route distinguisher  -qui permet d’identifier les routes échangées entre les routeurs PE pour le VPN GREEN .

Enfin, les deux dernières lignes permettent d’importer et d’exporter les routes pour cesite du VPN.

3.2 Assignation des interfaces aux VRF

Il est maintenant indispensable de préciser sur quelle interface du PE est relié le siteclient. On vérifie alors sur la configuration voulue le nom de l’interface de R1 qui est reliéeau routeur R8. Il s’agit de l’interface FastEthernet1/0 .

Router(config)#interface FastEthernet1/0 \\ vérification 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 première ligne de commande permet de préciser que l’on travaille sur l’interfaceFastEthernet1/0, c’est à dire l’interface qui relie le routeur PE au routeur CE. On préciseensuite que sur cette interface on va commuter des paquets qui appartiennent au VPNGREEN . On précise l’adresse de l’interface ainsi que le masque appliqué - il s’agit d’un /32-.

On a donc réussi à créer une table VRF  reliée au routeur CE, dont on connait lesprincipales caractéristiques - rd, rt... -.

RES343 14 Télécom Paristech

Page 15: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 15/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

3.3 Lancer OSPF dans l’instance VRF

Dans le site client, le protocole de routage utilisé est un protocole IGP  classique. Icion travaille avec le protocole de routage OSPF. On lance donc ce protocole, qui permettrade 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 l’annonce des routesOn va dans cette section s’occuper de lancer le protocome MPBGP pour l’annonce des

routes. Le protocol MPBGP est relatif aux routeurs PE qui “gèrent” le même VPN. Enl’occurence, pour le VPN GREEN , il s’agit des routeurs R1 et R6. On va donc annoncerau routeur R1 qu’il devra dialoguer avec le routeur R6 en utilisant ce protocole. Ainsi, R1enverra des messages de type update  au routeur R6. Ces messages renseigneront R6 sur lespréfixes que peut joindre R1, le Next Hop - en l’occurence R1 -, le RT - ici GREEN - et lelabel pour joindre le préfixe en question.

Router(config)#router bgp 10

Router(config-router)#no bgp default ipv4-unicastRouter(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. Onlance le protocole MP-BGP sur l’AS10 ; on définit le voisin R6 auquel on distribue sousforme de message MPiBGP les routes pour joindre les adresses connues.

On a ainsi configuré le routeur R1. On s’arrange pour configurer de même le routeurR6.

3.5 Le cas R6

1. création d’une table VRF

RES343 15 Télécom Paristech

Page 16: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 16/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

Router#Configure terminal

Router(config)#ip vrf GREEN

Router(config-vrf)# rd 10:200Router(config-vrf)# route-target export 10:200

Router(config-vrf)# route-target import 10:200

assignation des interfaces au x VRF

Router(config)#interface FastEthernet1/0 \\ vérification 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 l’instance VRF

Router(config)#router ospf 200 vrf GREEN

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

Lancer MP-BGP pour l’annonce 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)#exitRouter(config-router)#address-family ipv4 vrf GREEN

Router(config-router-af)#redistribute ospf 200

On prendra notamment soin dans cette nouvelle configuration à changer les adressesIP - 200.200.2.0/32 au lieu de 200.200.1.0/32 - et le nom des voisins - le voisin de R6 estR1 - ; on aura également au préalable vérifié le nom de l’interface reliant R6 au CE R11.

Voilà les captures d’écran qui résument les configurations de ces deux routeurs.

RES343 16 Télécom Paristech

Page 17: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 17/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

RES343 17 Télécom Paristech

Page 18: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 18/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

RES343 18 Télécom Paristech

Page 19: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 19/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

RES343 19 Télécom Paristech

Page 20: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 20/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

Une fois les deux routeurs paramétrés, on peut vérifier si la confiugration est bonne.Pour cela on cherche à prouver la nouvelle connectivité entre le routeur PE R1 et le CER8. On fait alors un ping, un traceroute et un show ip route depuis le routeur R1 - captureconnecR8.png - Les lignes de commande correspondantes sont :

RES343 20 Télécom Paristech

Page 21: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 21/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

ping vrf GREEN 200.200.1.1

traceroute vrf GREEN 200.200.1.1

On prend bien soin de préciser que ces adresses sont à chercher directement dans latable virtuelle vrf . Voilà ce qui est alors retourné.

On en déduit que le CE et le PE sont bel et bien connectés ensemble. De plus le show iproute  appliqué à la table vrf  démontre que le CE a bien transmis toutes ses adresses auPE.

3.6 L’acheminement des paquets

Une fois le VPN installé et paramétré, on s’attarde alors sur l’acheminement des pa-quets. On cherche ici à comprendre comment transitent les paquets et quels labels sont

aposés par MPLS. Pour répondre à cette question, on commence par faire un ping depuisle routeur R8 vers le routeur R11. Le routeur R8 est un routeur CE. Pour lui, le routeurR11, qui se trouve dans le même VPN est sur le même réseau. Il n’a aucune connaissancede l’éloignement des sites. Il transmet le paquet en IP au routeur R1, le PE. C’est la raisonpour laquelle lorsqu’on fait un ping entre les routeurs R8 et R11, on n’a aucune donnée surles labels apposés.

Si on veut connaitre les labels lors du chemin entre R8 et R11, alors on fait un pingentre R1 et R11. En effet, R1 est le PE. Il reçoit un paquet depuis un CE, routé en IP.Il regarde l’adresse de destination, il s’agit d’une adresse appartenant à la table vrf , doncau même VPN. Il va donc traiter le paquet. Dans le cas contraire, le paquet serait détruit.

RES343 21 Télécom Paristech

Page 22: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 22/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

R1 regarde dans sa table remplie avec le protocole MPiBGP le pochain saut - en termede PE - pour aller à l’adresse IP souhaitée, et appose alors le label correspondant. Ce

label servira à commuter le paquet entre les différents PE. Ensuite, il regarde dans satable de commutation le label qu’il doit attribuer pour le prochain saut du message dansle backbone ; il en déduit un second label. Ainsi, le paquet est transmis avec deux labels.Le premier - le plus à l’extérieur - permet la commutation du paquet dans le réseau, pourconduire le paquet au PE suivant ; le second permet la commutation du paquet au niveaudes PE.

Pour connaître le cheminement du message, on doit faire un traceroute ; le ping donnerales labels apposés - bien que le traceroute les fournisse aussi. On se place donc sur le routeurR1 pour effectuer ces deux commandes. Voilà le résultat obtenu :

On remarque comme expliqué ci-dessus que le paquet quitte le routeur R1 vers le routeurP R2 avec deux labels. Il s’agit 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 cherchel’interface de sortie et le label de sortie correspondant à un label d’entrée de 17. L’interfacede sortie est l’interface vers le routeur R6 ; il n’y a pas le label de sortie. Le routeur R2enlève donc le label 17, ce qui est intuitif car le paquet arrive maintenant sur un PE. C’estla raison pour laquelle dans la seconde ligne de la capture d’écran il n’y a plus qu’un label.

Le message arrive donc sur le routeur PE avec un unique label de 19. Le routeur PEregarde dans sa table de commutation l’interface et le label de sortie correspondant. Iltrouve qu’il faut enlever le label et trasmettre le paquet vers le routeur CE. Ainsi, lepaquet arrive en IP au routeur CE qui va pouvoir router ce paquet en IP dans le site. C’estla raison pour laquelle, dans la dernière ligne du traceroute il n’y a pas de label.

Par conséquent, les CE ne connaissent pas la commutation ; ils routent à l’aide de pro-tocole de type OSPF. Une fois dans le backbone par contre, les paquets sont commutésà l’aide de MPLS. en terme de sécurité, un paquet ne peut être routé que d’un site à unautre. Il est impossible pour un paquet venu de l’exterieur d’être routé vers un site ; réci-proquement un paquet qui provient d’un site du VPN ne peut se diriger que vers un autresite du VPN.

Une des particularités de cette solution est que plusisuers VPNs peuvent tourner enparallèle, sans avoir aucune idée de leur présence mutuelle. Ainsi, dans cette exemple,

le VPN BLUE et le VPN GREEN tournent tous les deux sur les mêmes architectures

RES343 22 Télécom Paristech

Page 23: mpls

5/13/2018 mpls - slidepdf.com

http://slidepdf.com/reader/full/mpls5571ff3349795991699cd0f0 23/23

 

David TORTEL Anne CHEVALIER Louis DE TERSANT TP MPLS

physiques, sur les mêmes routeurs PE et P. Les routeurs PE ont développé une tablepropre pour chaque VPN, de telle sorte qu’aucune confusion n’est possible. Ainsi, lorsque

R7 et R10 communiquent entre eux on a affaire au même cheminement - avec des labelsdifférents -

3.7 OSPF BGP

On remarque lors de la capture du trafic réalisé après la réapparition du routeur R6que le protocole mis en jeu entre R1 et R6 est un protocole de type BGP. Les routeursont également un protocole de type OSPF qui sert pour connaitre les prochains sauts auniveau des P. Le protocole BGP sert à assurer la liaison entre les routeurs PE. Ainsi, autravers de ce protocole, les routeurs PE s’informent des labels utiles au bon routage desinformations.

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. Enfin, pourque la connexion reste ouverte entre les deux routeurs, chacun envoit des messages de typeKEEPALIVE assez régulièrement.

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 permetd’allouer des labels, ce qui permet la commutation sur les labels.

RES343 23 Télécom Paristech