/
MPLS ( MultiProtocol  Label MPLS ( MultiProtocol  Label

MPLS ( MultiProtocol Label - PowerPoint Presentation

pamella-moone
pamella-moone . @pamella-moone
Follow
469 views
Uploaded On 2018-02-25

MPLS ( MultiProtocol Label - PPT Presentation

Switching Christophe Fillot DSI 2 Rappels sur le routage IP Intérêt de MPLS 3 Routage des paquets IP Le routeur reçoit un paquet IP sur une de ses interfaces Il extrait l adresse IP de destination présente dans le paquet ID: 635622

label les 255 vrf les label vrf 255 pour mpls routeurs des avec routeur address une sur route 100 bgp par interface

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "MPLS ( MultiProtocol Label" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

MPLS(MultiProtocol Label Switching)

Christophe

Fillot

DSISlide2

2 Rappels sur le routage IPIntérêt de MPLS Slide3

3 Routage des paquets IPLe routeur reçoit un paquet IP sur une de ses interfaces,Il extrait l ’adresse IP de destination présente dans le paquet,

Il consulte sa table de routage et détermine l’interface de sortie et l’adresse IP du routeur suivant (

next

-hop ou prochain saut),

Il construit une nouvelle entête de niveau 2 (avec des protocoles comme ARP par exemple) en fonction des informations obtenues.

Il envoie le paquet sur l’interface de sortie.

Slide4

4 Routage IP « saut par saut »: chaque saut doit connaitre l’ensemble des routes!

Slide5

5 Internet: des interconnexions complexes de réseaux…

Peering

: échange de trafic « utilisateur » entre 2

AS

Transit: fourniture d’une connectivité Internet

complèteSlide6

6 ProblématiqueUne 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).

MPLS visait à l’origine à accélérer la commutation des paquets, en utilisant un numéro/label plutôt que l’adresse IP de destination (ou une combinaison de plusieurs critères). Un label est ajouté en entrée de réseau, et supprimé à la sortie, ce qui rend l’opération transparente au final. Sur le chemin, il y a « remplacement » (swap) de label.

Ainsi, les routeurs intermédiaires n’ont plus à prendre de décision complexe à chaque paquet, juste à analyser un label (

lookup

dans une table).

Il faut toutefois mettre en place un système de distribution des labels pour créer des chemins (LSP –

Label

Switched

Path

).

Slide7

7 Principes de base de MPLS Slide8

8 EncapsulationLes labels sont insérés entre l’entête de niveau 2 (Ethernet, …) et l’entête de niveau 3 (IPv4, IPv6, …)On peut dire qu’il s’agit du niveau « 2.5 »…Il est possible d’avoir plusieurs labels consécutifs (

stacking

)

Un label a une taille de 4 octets (32-bits) et contient les informations suivantes:

Label : entier sur 20 bits

TTL (Time-To-Live) : 8 bits

CoS/EXP : 3 bits (utilisé pour la qualité de service)

BoS

(

Bottom

of

Stack

): 1 bit (dernier label de la pile si = 1)

Slide9

9 Commutation de labelOn peut résumer les opérations de commutation:« Push Label » : insère un nouveau label (en tête) => routeur d’entrée (ingress)

« Pop Label » : supprime le 1

er

label => routeur de sortie (

egress

)

« Swap » : remplacement de label => routeurs intermédiairesLes routeurs utilisent le 1er label de la pile pour la commutation.

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.

Slide10

10 Distribution de LabelsProtocole : LDP (Label Distribution Protocol) – RFC 5036

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.

On a typiquement plusieurs labels pour un même préfixe IP => comment choisir ?

Slide11

11 Slide12

12 Construction de la LFIBLes 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, …)

Slide13

13 Construction de la LFIB : résumé Slide14

14

Exemple de LFIBSlide15

15 Pen-Ultimate Hop Popping (PHP)Plutôt qu’annoncer un « vrai » label, le dernier routeur du LSP peut annoncer un label appelé « Implicit

-

Null

 » (label réservé « 3 »).

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).

Par défaut sur Cisco IOS

Slide16

16 Qualité de service (QoS)Un label MPLS contient un champ de 3 bits appelé CoS (ou EXP) qui sert au marquage de la QoS

.

Similaire à l’IP

Precedence

du champ DSCP d’un paquet IP.

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.

Possibilité sur le routeur

Egress

d’annoncer un label « Explicit-

Null

 » pour garder l’information de

CoS

MPLS jusqu’au bout. Explicit-

Null

est un label réservé (0 pour IPv4, 2 pour IPv6) qui apparaît sur le lien.

Slide17

17 Cœur de réseau « BGP-free »On reprend notre exemple initial, où tous les routeurs sont peers BGP et connaissent l’ensemble des routes.On active MPLS sur l’ensemble des routeurs, et on ne garde BGP qu’entre routeurs de bordure (il faut donc juste un IGP (pour les routes du

coeur

) et LDP sur les routeurs intermédiaires).

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.

Les routeurs intermédiaires acheminent le trafic en se basant sur le label, et n’examinent plus l’entête IP. Ils peuvent donc acheminer des paquets pour lesquels l’adresse IP de destination leur est totalement inconnue.

En sortie, le routeur reçoit un paquet IP (PHP…) et le route normalement.

Slide18

18 Routage IP/MPLS : seuls les routeurs de bordure connaissent toutes les routes

Slide19

19 VPN niveau 3 avec MPLS/VPN Slide20

20 VPN niveau 3 (L3VPN)De nombreuses entreprises disposent de sites externes (agences) qui doivent se raccorder à un site central (le siège)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)

Problème: différents clients sont susceptibles d’utiliser des plans d’adressage privés qui se recouvrent.

MPLS/VPN permet de résoudre ce problème, en isolant complètement le trafic des clients.

Attention, MPLS/VPN ne fournit aucun chiffrement, il s’agit d’isoler du trafic. Pour sécuriser le trafic, il faut utiliser un protocole comme

IPSec

.

Slide21

21 Exemple d’opérateur raccordant 3 clients différents Slide22

22 Virtual Routing and Forwarding (VRF)Un routeur IP « classique » ne dispose généralement que d’une seule table de routage, utilisée pour tout le trafic IP.

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é)

=> Les routeurs MPLS/VPN supportent plusieurs tables de routage dissociées appelées « VRF ». Chaque VRF dispose de ses propres RIB et FIB.

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.

Slide23

23 Exemples de configuration Cisco IOS

!

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

i

p

address

10.0.0.1 255.255.255.0

!

i

p

route

vrf

BLUE 10.1.0.0 255.255.255.0 10.0.0.2

!

r

outer

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

!

!Slide24

24 Mapping de sous-interfaces dans des VRF différentes Slide25

25 Mapping de sous-interfaces dans des VRF différentes: Cisco IOS

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

!Slide26

26 Terminologie3 types de routeurs : P, PE, CERouter « P » (Provider) : appartient au cœur de réseau de l’opérateur, il n’a aucune notion de VRF ou de VPN (pas de connexion de clients)

Router « PE » (

Provider

Edge

): appartient à l’opérateur, ces routeurs raccordent les clients et utilisent des VRF pour isoler leur trafic.

Routeur « CE » (

Customer Edge): appartient au client, et n’a aucune notion de MPLS ou de VRF.

Les routeurs « P » ne sont pas obligatoires, il est tout à fait possible de monter un backbone avec uniquement des routeurs PE.

Slide27

27 MP-BGPLes routeurs PE « peerent » entre eux en MP-BGP (Multi-Protocol BGP), en utilisant l’

address

-

family

« VPNv4  » [AFI 1 (IPv4), SAFI 128 (VPN)]

Les routes échangées contiennent notamment un préfixe dit « VPN-IPv4 » (Préfixe IPv4 + Route

Distinguisher) et un Label MPLS, local au PE qui fait l’annonce.Le RD (Route

Distinguisher

) permet de distinguer les routes de clients différents. Le RD a une taille de 8 octets (il est configuré manuellement par l’opérateur).

Slide28

28 Exemple d’update MP-BGP Slide29

29 Acheminement du traficDans 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/24Problè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 !

Dans l’update MP-BGP, on connait le

next

-hop (PE2), et on a appris par LDP un label pour cette adresse.

PE1 va construire un paquet avec

2 labels MPLS

:Le 1er label correspond au label pour atteindre PE2. Il est appris via LDP

Le 2

nd

label correspond au label VPN utilisé par PE2. Il est appris par MP-BGP

Les routeurs intermédiaires ne s’occupent que du 1

er

label: lorsque le paquet arrive à PE2, le 1

er

label a été retiré (PHP), seul reste le 2

nd

label, qui va permettre à PE2 d’aiguiller le paquet vers la bonne interface de sortie.

Slide30

30 Exemple d’acheminement Slide31

31 Route-Targets (RT)Les RT sont des communautés étendues BGPUn 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.

Ne surtout pas confondre avec le RD qui sert à distinguer les routes!

Exemple: le routeur 1 exporte les routes de la VRF « FOO » avec le RT « 100:1 ». Le routeur 2 importe les routes marquées avec le RT 100:1 dans la VRF « BAR ».

!

hostname

Router1

!

ip

vrf

FOO

rd 400:150

route-

target

export 100:1

!

!

hostname

Router2

!

ip

vrf

BAR

rd 300:200

route-

target

import 100:1

!Slide32

32 Route-Targets: Topologie Any To Any

Slide33

33 Route-Targets: Topologie Hub & Spoke

Slide34

34 Configuration Cisco IOS

!

hostname

PE2

!

ip

vrf

BLUE

rd 100:1

route-

target

both

100:1 !

Both

= Import + Export

!

interface Loopback0

ip

address

10.2.2.2 255.255.255.255

!

interface Ethernet0/1

description Client 1

ip

vrf

forwarding

BLUE

ip

address

192.168.1.1 255.255.255.0

!

router

bgp

65000

neighbor

10.1.1.1

remote

-as 65000

neighbor

10.1.1.1 update-source Loopback0

!

address

-

family

vpnv4

neighbor

10.1.1.1

activate

neighbor

10.1.1.1

send

-

community

extended

!

address

-

family

ipv4

vrf

BLUE

redistribute

connected

!

!Slide35

35 6PE(IPv6 Provider Edge)

Slide36

36 Principes de 6PERaccordement de clients IPv6, à travers un cœur MPLS (RFC 4798)Pas de normalisation de LDP pour IPv6 => Utilisation de MP-BGP [AFI 2 (IPv6), SAFI 4 (label)]Avec 6PE, le cœur n’a pas besoin d’être « IPv6-

aware

 »

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 2

nd

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 adresse.

Slide37

37 Exemple d’acheminement Slide38

38 Configuration Cisco IOS

!

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

!

!Slide39

39 6VPE(IPv6 VPN Provider Edge)

Slide40

40 Principes de 6VPE (RFC 4659)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.

Slide41

41 AToM« AnyThing Over MPLS »

Slide42

42 AnyThing Over MPLSAToM permet de transporter des paquets de niveau 2 (ATM, Frame-Relay, Ethernet, HDLC, PPP…) à travers un cœur de réseau MPLS: émulation d’une liaison niveau 2 point-à-point (Pseudo-wire

– PW)

.

Session LDP directe établie entre les 2 routeurs d’extrémités: affectation d’un label pour le circuit.

Aucune configuration nécessaire sur les routeurs intermédiaires (routeurs P)

2 labels utilisés sur le chemin:

1er label (appris par LDP) pour atteindre le routeur d’extrémité

2

nd

label (appris par la session LDP entre routeurs PE) pour déterminer 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.

Slide43

43 MPLS-TETraffic Engineering

Slide44

44 Principes de MPLS-TEL’IGP sélectionne le meilleur chemin suivant différents critères (bande passante,…)Sur les réseaux fortement maillés, des liens sont susceptibles d’être sous-utilisés voire pas utilisés du toutLe

Traffic

Engineering permet de créer des chemins alternatifs pour

re

-router du trafic.

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)

Protocoles mis en jeu:

Extensions IGP (OSPF et IS-IS) pour le calcul du chemin ;

RSVP-TE (Extension de RSVP –

Resource

Reservation

Protocol

) – Signalisation/mise en place du LSP

Slide45

45 Pour aller plus loin… Slide46

46 Autres possibilitésVPLS (Virtual Private LAN Service) : Emulation d’un LAN par-dessus MPLSMPLS

CsC

(

Carrier

Supporting

Carrier

) : Permet de construire son propre réseau MPLS par-dessus un réseau MPLS d’un autre opérateurInter-AS MPLS/VPN …etc

Slide47

47 Questions ? Slide48

48 Démonstration / Maquette Slide49

49 Topologie / Adressage IP Slide50

50 Partie 0: Configuration backboneInitialement, on a préparé la configuration suivante:Routeurs P et PE configurés avec:Loopbacks, Interconnexions IP (/30)OSPF (une seule aire, l’aire 0)

Les routeurs clients, avec:

L’interconnexion IP avec le routeur PE correspondant

Une route par défaut vers le PE

Une

loopback

pour simuler le LANAu départ, les routeurs clients (CE) n’ont bien sûr pas de connectivité entre eux.

Slide51

51 Partie 0: Exemple avec P1

!

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

!Slide52

52 Partie 1: Etapes pour l’activation de MPLSVérifier la connectivité (ping, traceroute) dans le backbone avant d’activer MPLS

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

 

».

Tester (

ping

,

traceroute

) la connectivité. Le

traceroute

donne les indications de label.

Note: sur un réseau de production, attention aux problématiques de MTU !

Slide53

53 Partie 2: Etapes pour l’activation de MPLS/VPNConfigurer le peering BGP entre PE1 et PE2.

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

>

)

Redistribuer les routes connectées et statiques dans BGP (

redistribute

connected

et

redistribute

static

dans BGP, sous l’

address

-

family

ipv4

vrf

<VRF>)

Vérifier la bonne réception des routes BGP avec « 

show

ip

route

vrf

<VRF>

 »

Tester (

ping

,

traceroute

) la connectivité entre routeurs PE puis entre routeurs clients. Le

traceroute

donne les indications de label.

Slide54

54 Partie 2: Exemple avec PE1 (1/2)

ip

vrf

BLUE

rd 100:1

route-

target

export 65000:100

route-

target

import 65000:100

!

ip

vrf

RED

rd 200:1

route-

target

export 65000:200

route-

target

import 65000:200

!

interface Ethernet0/2

description Vers RED1

ip

vrf

forwarding

BLUE

ip

address

192.168.1.1 255.255.255.252

!

interface Ethernet0/3

description Vers BLUE1

ip

vrf

forwarding

RED

ip

address

192.168.2.1 255.255.255.252

!

ip

route

vrf

BLUE 172.16.0.0 255.255.0.0 192.168.1.2

ip

route

vrf

RED 172.20.0.0 255.255.0.0 192.168.2.2

!Slide55

55 Partie 2: Exemple avec PE1 (2/2)

router

bgp

65000

no synchronization

bgp

log-neighbor-changes

neighbor 10.254.1.2 remote-as 65000

neighbor 10.254.1.2 update-source Loopback0

no auto-summary

!

address-family vpnv4

neighbor 10.254.1.2 activate

neighbor 10.254.1.2 send-community extended

exit-address-family

!

address-family ipv4

vrf

BLUE

no synchronization

redistribute connected

redistribute static

exit-address-family

!

address-family ipv4

vrf

RED

no synchronization

redistribute connected

redistribute static

exit-address-family

!Slide56

56 Commandes Cisco IOS utilesshow ip vrf : liste les VRF avec les interfaces associéesping

vrf

<VRF> <

adresse_ip

> : réalise un

ping dans la VRF indiquéetraceroute vrf <VRF> <adresse IP> :

Traceroute

show

ip

route

vrf

<VRF> : affiche les routes de la VRF

show

mpls

ldp

neighbor

: affiche les voisins LDP

show

mpls

ldp

bindings

: affiche la LIB (Label Information Base)

show

mpls

forwarding

-table : affiche la LFIB (Label

Forwarding

Information Base)

show

ip

cef

vrf

<VRF> <subnet> <masque> : affiche les informations de

forwarding

(y compris les labels MPLS utilisés)