Cours 4: MPLS
M2R - Université Paris Sud
Aline Carneiro Viana
ASAP/INRIA Saclay – Ile de France sud
http://www.irisa.fr/asap/Members/aviana/cours_m2r_2008/
[email protected]
1
Bibliographies
Andew S. Tanenbaum. Computer Networks 4/e from Prentice Hall PTR
Guy Pujolle. Les réseaux Edition 2005, Eyrolles
Ivan Pepelnjak et Jim Guichard. Architectures MPLS et VPN. Cisco Systems
2
MPLS - Multi-Protocol Label Switching
Norme IETF: RFC 3031 (GT crée en Avril 19S7)
Portent aujourd'hui sur Ipv4
Étendue à de multiples protocoles (ex.: IPv6)
Entre couche 2 et 3, souvent traité comme a protocole de
couche 2,5
Multiprotocol (multi-protocoles)
il est capable de supporter les différents protocoles de
niveau inférieur (ATM, Ethernet, Frame Relay ...)
N'est pas restreint à une couche 2 spécifique
Label switching (commutation d'étiquettes)
il se base sur une étiquette (en anglais : label)
3
Place dans le modèle OSI
4
MPLS - Objectives
Rôle principal :
Combiner les concepts du routage IP de niveau 3, et les
mécanismes de la commutation de niveau 2
Apporte à IP le mode connecté et qui utilise les services de
niveau 2 (ex. ATM), mais sans l’overhead de l’ATM
Objectif initial :
D'accroître la vitesse du traitement des datagrames
dans l'ensemble des équipements intermédiaires
L’aspect performance
Moins important avec l'introduction des gigarouteurs
5
Routage IP classique
Fonctionne dans un mode non connecté
l'ensemble des paquets constituant le message sont indépendants les
uns des autres
les paquets d'un même message peuvent emprunter des chemins
différents
Dépend des protocoles IGP (Interior Gateway Protocol) ou BGP (Border
Gateway Protocol) des mise a jours de routes
IGP et BGP: des protocoles de routage utilisés pour établir les routes optimales entre
un point du réseau et toutes les destinations
Chaque routeur maintient une table de routage
réseau de destination, un port de sortie, le prochain routeur
6
Routage IP Classique
A la réception d'un datagramme
1. les routeurs déterminent le prochain next-hop
2. l'adresse MAC destination du datagramme est remplacée par
l'adresse MAC du routeur next-hop
3. l'adresse MAC source du datagramme est remplacée par
l'adresse MAC du routeur courant
4. le prochain routeur effectue les même opérations sur le paquet
pour les sauts suivants
Calcul fastidieux et gourmand en terme de ressource machine
effectué sur tous les datagrammes d'un même flux et à chaque
routeurs intermédiaires
Début : Passage à l’échelle
mode non connecté
du protocole IP Aujourd’hui : frein à son évolution
7
MPLS – Objectifs aujourd’hui
L'aspect "fonctionnalité" a largement pris le dessus sur
l'aspect "performance’’
Raisons :
Création de VPN
DiffServ
Flexibilité :
possibilité d'utiliser plusieurs types de media (ATM, FR, Ethernet,
SDH).
Gestion du trafic (Traffic Engineering)
la capacité de configurer les chemins et d'associer des
caractéristiques de performances à une classe de trafic
Suppressions des " Multiple layers "
MPLS permet de passer des fonctions de contrôle de SONET/SDH
et d'ATM à la couche 3
8
Basé sur label
Qu’est-ce que c’est ?
C’est un entier qui est associé à un paquet lorsqu'il circule
dans un réseau MPLS et sur lequel ce dernier s'appuie
pour prendre des décisions de routage.
Comment ça marche ?
Un label (appelé aussi tag) est ajouté a tout les paquets
entrant dans le réseau MPLS
L’acheminement des paquets est basé sur l’analyse du
label et non plus sur l’analyse de l’adresse IP de
destination
MPLS est une technique de commutation
la qualité de service n'est pas propre à MPLS
9
Principes MPLS (1)
L'affectation des étiquettes (label) aux paquets
dépend des groupes ou des classes de flux FEC
(forwarding equivalence classes)
Les paquets d’une même classe FEC sont traités de la
même manière
Le chemin établi par MPLS est emprunté par tous les
paquets de ce flux
L'étiquette (label) est ajoutée :
entre la couche 2 et l'en-tête de la couche 3 (dans un
environnement de paquets)
ou dans le champ VPI/VCI (identificateur de chemin
virtuel/identificateur de canal virtuel dans les réseaux ATM)
10
Label
Ethernet
SHIM : introduit entre la couche 2 et la couche 3
20 bits : contiennent le label
3 bits : appelé Classe of Service (CoS) sert actuellement pour la QoS
un bit S : pour indiquer s'il y a l’empilement de labels
8 bits : TTL, même signification que pour IP
Lorsque la valeur du TTL est nulle, le paquet MPLS est détruit
Pas nécessaire d'extraire le paquet IP et de parcourir l'ensemble de la table
de routage
Il suffit d'analyser l'étiquette MPLS après l'en-tête de la trame de niveau 2
(Eth) ou dans la cellule/trame de niveau 2 (ATM, FR)
11
Principes MPLS (3)
Label Distributed Protocol (LDP) : utilisé pour distribuer les labels au sein
d'un réseau MPLS
Labels sont attribués par un Label Edge Router (LER)
LER fait l'interface entre le réseau MPLS et le monde extérieur (si un
ingress ou un egress node)
Est chargé de "labelliser" les paquets à leurs entrées dans le réseau MPLS
Paquets sont routés le long d'un Label Switch Path (LSP)
Chemin composé par LSRs (Label Switch Routers)
Configuré via le mécanisme de labels, pour une classe d’équivalence
(FEC) particulière
Peut-être établi statiquement ou dynamiquement
Chaque LSR prend les décisions de routage en s'appuyant seulement sur la
valeur des labels
A chaque saut, l'ancien label est remplacé par un nouveau qui indique
comment router le paquet au prochain saut
12
La commutation de labels
Forward Equivalence Class - FEC
• Un ensemble de paquets au niveau Routeur de sortie MPLS, MPLS Egress Node ou LER
de la couche 3 qui suivent le même • Gère le trafic qui sort d'un réseau MPLS
chemin au sein du réseau et qui ont • Possède à la fois des interfaces IP traditionnelles et
la même priorité des interfaces connectées au réseau MPLS
• S'appuie seulement sur le • Retire le label aux paquets sortants
mécanisme des labels
Le traitement complexe du choix du label:
• Fait uniquement a la frontière du réseau
Routeur d'entrée MPLS, MPLS Ingress Node ou LER • permet de mieux gérer le facteur d’échelle
• Gère le trafic qui entre dans un réseau MPLS
• Impose le label aux paquets entrants
• Possède à la fois des interfaces IP traditionnelles et
des interfaces connectées au réseau MPLS
• Connecte le réseau MPLS au monde extérieur 13
Routage
Pour qu’un chemin soit construit, c’est nécessaire :
Les tables des commutateurs participant à l’établissement de ce
chemin soient remplies
Chaque commutateur a une entrée correspondant aux labels du
paquet IP a commuter
Le commutateur suivant a une entrée pour le label de sorti du
commutateur précèdent
2 méthodes pour construire un chemin
1ère méthode
Routage explicite : Une entité spécialisée établit des chemins au sein
du réseau
2ème méthode
Donner a chaque routeur-commutateur la possibilité de choisir le
routeur-commutateur voisin à qui il devra passer le paquet
LDP : Label Distributed Protocol
Prive l’opérateur d’un niveau de management du réseau
14
Routage associé aux FECs
FEC
Est la représentation d'un groupe de paquets qui ont en commun
les mêmes besoins quant à leur transport
Sont basés sur les besoins en terme de service pour certains
groupes de paquets, ou même un certain préfixe d'adresses
Contrairement aux transmissions IP classiques, un paquet est
assigné à une FEC une seule fois, lors de son entrée sur le réseau
Les paquets d’une FEC déjà existante sur un LSR :
Reçoivent le même traitement au cours de leur acheminement
Sont routés de la même façon en utilisant le "label" associé à la FEC
Aucun recalcule est nécessaire à chaque saut
15
Fonctionnement du MPLS
Domaine MPLS
LSR (B) LSR (C)
Ingress Node Egress Node
ou LER (A) ou LER (E)
LSR (D)
139.165.16.1 H2 139.165.16.1 23 H2 139.165.16.1 4 H2 139.165.16.1 H2
Empilement (Push) de label Commutation (Swap) de Dépilement (Pop) de label
par le Ingress LER (A) label par le LSR (D) par le Egress LER (E)
16
Routage – Exemple
LIB
1,c 2,a
17
La commutation de labels sur LER
d’entrée LER
1. Le paquet arrive dans un réseau MPLS
2. En fonction de la FEC auquelle appartient le paquet (déterminée à
partir de l’adresse IP), l'ingress node consulte sa table de
commutation
3. Affecte un label au paquet (3)
4. le transmet au LSR suivant (4).
18
La commutation de labels sur LSR
LSR
1. Le paquet MPLS arrive sur un LSR interne du nuage MPLS
2. le protocole de routage fonctionnant sur cet équipement détermine dans la
base de données des labels LIB (Label Base Information), le prochain label et
prochain LSR ou LER
3. Mise à jour de l'en-tête MPLS
4. Envoie au noeud suivant (LSR ou l'egress node)
Sur un LSR interne, le protocole de routage de la couche réseau n'est jamais
sollicité
19
Commutation de labels sur LER sortie
1. Le paquet MPLS arrive à l'egress node
2. l'équipement lui retire toute trace MPLS
3. le transmet à la couche réseau
20
Example de commutation
21
Principes MPLS (2)
Un flux MPLS est vu comme un flux de niveau 2.5 appartenant
niveau 2 et niveau 3 du modèle de l'OSI
22
Agrégation de flux et routage hiérarchique
L’agrégation de flux
La possibilité de réunir le trafic entrant dans un routeur via
plusieurs LSP dans un seul et unique LSP sortant
correspond à monter une connexion multi-point à point
permet de réduire au maximum le nombre de connexions que
les routeurs de coeur de réseau ont à gérer
Routage hiérarchique
Consiste a empiler des labels (champ S, Ethernet)
Permet de construire des LSP, encapsulés dans un autre LSP
Permet d’associer plusieurs contrats de service à un flux
Rappelle ATM : VC dans des VP
Cependant, en MPLS, le nombre de niveau d'encapsulation
(ou de hiérarchie) n'est a priori pas limité à 2
23
Commutation hiérarchique
Empilement d’entête MPLS
Entête de la couche 2 Entête niveau N
Entête niveau N+1
Autres couches,
Entête niveau N+2 Entête de la couche 3
entête + data
24
Commutation hiérarchique
25
Commutation hiérarchique
26
Découverte du réseau
En vue de déterminer et de maintenir la connaissance des ingress
ou egress nodes (LERs)
utiliser un protocole permettant la découverte du réseau
MPLS peut s'appuyer sur un ensemble de protocoles déjà
disponibles
IGP (interior gateway protocol)
RIP (routing information protocol) de type "Vecteur de distance "
OSPF (open shortest path first) de type "Etat de liens"
Un ensemble de réseaux MPLS peuvent être interconnectés chacun
utilisant leur propre protocole de découverte
EGP (exterior gateway protocol)
BGP (border gateway protocol)
27
Distribution de Labels (1)
LDP – Label Distribution Protocol
Basé sur la table de routage IP pour la distribution de labels
LDP non ordonné (routage hop-by-hop)
Mode indépendant non sollicité
Tous le LSR affectent à leurs voisins un nouveau label pour les
routes IP découvertes dans leur table de routage IP
L’établissement est moins long et moins coûteux en ressource
Ne contient pas de paramètres permettant de formuler une demande
de ressources
L'inconvénient : risque de création de boucles
on sait détecter des boucles
on ne sait pas les éviter complètement.
MBGP (MPLS BGP)
Collabore avec un autre protocole, souvent le LDP
Extension du BGP (Border Gateway Protocol)
Établit uniquement une association entre deux LER frontières
Afin de associer un label commun à une route externe
28
Distribution de labels (2)
CR-LDP (mode ordonné à la demande)
Établit le chemin bout en bout (LSP)
1. Un LER découvre dans sa table une adresse dont il n’a pas
de label
2. Demande au prochain LSR (définit dans la table de routage
IP) le label correspondant
3. Ainsi de suite jusqu’à ce que un LSR/LER trouve ou définit un
label pour la destination désirée
L’établissement des labels s’effectue alors dans le sens
inverse jusqu’au LER qui a effectué la demande
Permet d’associer les caractéristiques de QoS aux
chemins
29
CR-LDP LSR Définit un label
LER Définit un label
(E) L = 11
(E) L = 14 (E) L = 13
30
Distribution de labels (3)
RSVP-TE
Utilise quelques fonctionnalités du protocole LDP
1. Une demande est faite par le LER d’entrée
2. Elle traverse le nuage MPLS jusqu’au LER de sortie
utilise les tables de routage
3. Elle établit la route en inscrivant les information de FEC
Décrit les ressources pour permettre au label déterminé par le
LER de sortie de remonter vers le LER d’entrée
Permet d’associer les caractéristiques de QoS aux
chemins
31
Fonctionnalités avancées du MPLS (1)
Le choix de MPLS par les opérateurs est motivé
principalement par :
Les possibilités de gestion du trafic ou d’Ingénierie de
Trafic
Privilégie certains aspects du réseau selon le contexte
éviter les points de forte congestion en répartissant le trafic sur
l'ensemble du réseau
utiliser efficacement des ressources du réseau
privilégier certaines routes moins cher
La mise en œuvre de la Qualité de Service
permettre d'associer des ressources et de garantir de la QoS
sur un LSP
32
Fonctionnalités avancées du MPLS (2)
Ingénierie de trafic
Un peu d’histoire de Traffic Engineering
Réalisé grâce à des métriques de liens associées à des
protocoles de routage internes (RIP, OSPF,…)
Fin des années 90, possibilité de le faire avec des
technologies de niveau 2 : ATM et Frame Relay
Aujourd'hui, MPLS est un nouveau mécanisme de Traffic
Engineering
Offre une plus grande flexibilité de routage IP (bande passante,
QoS,...)
33
Fonctionnalités avancées du MPLS (3)
Qualité de Service
Deux approches ont été retenues à l'IETF
CR-LDP : Constraint based Routing LDP, définit des
extensions à LDP
LDP + Traffic Engineering
RSVP-Tunnels, définit des extensions à RSVP pour la
commande de LSP
DiffServ
Mécanisme complémentaires permettant d'établir une QoS
consistante sur les réseaux MPLS
34
MPLS DiffServ
MPLS est amené à inter fonctionner avec DiffServ
car LDP supporte avant tout de la QoS à faible granularité.
35
MPLS et RSVP (IntSev)
Extensions des protocoles pour traiter la QoS : RSVP-TE
Modifié pour supporter la gestion de QoS au sein d'un réseau
MPLS
La source réclame un chemin vers le destinataire (chemin LSP
PATH)
Message est reçu par le destinataire :
envoie d’un message de réservation sur le chemin LSP (LSP RESV) vers
la source en réservant la bande passante nécessaire sur les liens
intermédiaires
Message reçu par la source :
le flot de données peut être transféré
36
VPN : Les offres
Répondent aux besoins des entreprises nécessitant :
Un service de réseau IP privé sur une infrastructure de
réseau IP public
Un passage à l’échelle aisé
QoS
Accès contrôlé vis à vis des autres flux sur l'infrastructure
public
37
VPN s'appuyant sur le protocole MPLS
Différents de l'image classique du VPN
S'appuient sur la séparation des paquets sur la valeur de leurs
labels
Louée que par les LSRs qui appartiennent à un LSP précis
MPLS-VPN permet d'isoler le trafic entres sites n'appartenant pas
au même VPN
Permet d'utiliser un adressage privé et d'avoir un recouvrement
d'adresses entre différents VPNs.
Types de VPN MPLS :
les VPN de couche 3 ou BGP-MPLS VPN [rfc 2547]
les VPN de couche 2 [draft Martini et Kompella]
38
VPN de couche 3
Définitions (RFC 2547) :
Deux sites distincts qui appartiennent à un même VPN sur un
backbone
ont une connectivité IP sur ce même backbone
Intranet : les sites dans un VPN appartiennent à la même
entreprise
Extranet : tous les sites dans un VPN appartiennent différentes
entreprises
Un site peut être dans plusieurs VPN
Dans un intranet et dans un, ou plusieurs extranets
Requièrent une grande coordination entre le client et le "provider"
que l'approche VPN couche 2
Ils sont actuellement les plus répandus au niveau des offres
commerciales
39
Fonctionnement (1)
Un identifiant RD (Route Distinguisher) est associé à chaque route distincte
permet d'affecter une adresse VPN-IPv4 ou VPN-IPv6 unique à chaque IP VPN
Un LER à l’entrée va rajouter ce RD alors qu'un LER en sortie va le supprimer
2ème niveau de label (router entre LSRs)
1er niveau de label (router entre LERs)
LSP VPN rouge
CEs (Customer Edge)
CEs (Customer Edge)
LSP VPN bleu
LER contient table VRF (VPN Routing and Forwarding)
Consultée par les paquets émis par un site faisant parti du VPN (du site émetteur)
Contient les routes reçues du CE ainsi que des autres LERs
40
Fonctionnement (2)
Information de routage entre CE et LER
distribuée via des protocoles de routages classiques
OSPF, RIP, BGP, routes statiques,...
La création d'un tunnel VPN en MPLS exige de gérer une pile de
profondeur 2 au niveau du paquet
1er niveau de label
sert à gérer le prochain saut en terme de LER (routeur LER de sortie)
déterminé par un protocole style BGP
2ème niveau de label
sert à gérer le prochain saut en terme de LSR dans le tunnel au sein
du réseau MPLS
Séparation des flux entre différents VPNs sur un même routeur
MPLS
assurée par le fait que les tables VRF sont propres à chaque
VPN
ne peuvent donc pas être consultées par les paquets associés à
d'autres VPNs.
41
VPN de couche 2
Transparent LAN Services (TLS) ou Virtual Private LAN Services
(VPLS)
restent encore propriétaires mais tendent à se standardiser
l’ IETF : Martini drafts et Kompella drafts
S'adressent aux fournisseurs d'accès qui ont peu de VPN à
établir et qui veulent une indépendance au niveau du coeur du
réseau
S'établissent directement au niveau 2 dans le cas de réseau ATM
ou Frame Relay
Fournissent des solutions simples
Permettent le transport de n'importe quel protocole de la couche 3
Les LERs en entrée n'ont pas à gérer les tables de routages
sont moins chargés que dans le cas des VPN MPLS de niveau 3
42
Fonctionnement
LER
fournit aux clients des circuit IDs de niveau 2 (VPI/VCI, DLCI, …)
associe ces circuit IDs a des LSP MPLS qui traversent le réseau
43