You are on page 1of 100

Ecole Nationale des Sciences Appliquées El Jadida

Université Chouaib Doukkali El Jadida

MPLS - Multi-Protocol Label Switching


M O D U L E : I N G É N I E R I E D E S R É S E A U X D ’O P É R AT E U R S E T M P L S
F I L I È R E : I N G É N I E R I E D E S SY S T È M E S D ' I N F O R M AT I O N E T D E C O M M U N I C AT I O N ( I S I C )
D É PA R T E M E N T : T É L É C O M M U N I C AT I O N S , R É S E AU X E T I N F O R M AT I Q U E ( T R I )

Prof. Ouaissa Mariyam


Email: ouaissa.mariyam08@gmail.com

Année Universitaire 2023/2024


Plan

• Introduction
• Pourquoi MPLS ?
• La terminologie MPLS
❑ Le label
❑ Label switch router (LSR)
❑ Edge Label Switch Router (E-LSR)
❑ Label switch Path (LSP)
❑ Label swapping

• Les fondements MPLS


❑ La classe d’équivalence (FEC)
❑ Le protocole LDP

2
Introduction
Au début des années 90 : IP grand public est apparu
❑ IP a été développé sur deux principes de base
❑ délivrer les paquets en mode datagramme en s’appuyant sur le routage "hop-by- hop".
❑ fournir un service opportuniste et de type "best-effort".
❑ L’explosion d’Internet a permis aux ISP de se développer et de déployer de
gigantesques infrastructures IP.
❑ Les plaques Backbone des ISP bâties sur des infrastructures ATM.
❑ Situation au début des années 90
❑ Cœur du réseau interconnecté avec des liaisons T1 à T3
❑ Topologie relativement simple
❑ Trafic peu important

3
Introduction
❑ Situation au milieu des années 90
❑ Augmentation importante de la taille des réseaux
❑ Apparition des goulots d’étranglement
❑ Routeurs trop lents
❑ Augmentation importante du trafic
❑ La problématique
❑ Augmentation des tables de routage
❑ Recherche de nouvelles fonctionnalités
❑ La superposition IP/ATM présentait un inconvénient
❑ Omniprésence du transport ATM
❑ La demande de plus en plus grande en services
❑ Nécessité de doter IP de mécanismes semblables à ceux d’ATM
❑ Approcher le routage IP aux performances de la commutation ATM.

4
Voyager de A vers B
❑BROADCAST : partir vers toutes les directions, s’arreter quand B est atteint, ne
jamais demander où est la direction de B.

❑HOP BY HOP ROUTING : demander constamment quel est le point le plus proche à
B et partir vers ce point, repéter jusqu’à atteindre B.

❑SOURCE ROUTING : demander une liste (à avoir avec soi) d’emplacement à visiter
pour atteindre B.

5
Le Routage
❑ Le routage est le mécanisme par lequel des chemins sont
sélectionnés dans un réseau pour
❑ acheminer les données d'un expéditeur jusqu'à un ou plusieurs
destinataires.
❑ Le routage est une tâche exécutée dans de nombreux réseaux,
tels que
❑ le réseau téléphonique,
❑ les réseaux de données comme l'Internet,
❑ et les réseaux de transports.

❑ La performance est importante dans les réseaux décentralisés.

6
Structure d’un routeur
Table de routage
Module de
routage

Moteur
d’expédition

Interfaces
réseau

7
La table de routage
❑ Une table de routage est une structure de données utilisée
par un élément du réseau
❑ associe des préfixes à des moyens d'acheminer les datagrammes vers
leur destination.
❑ contient des entrées dites routes

❑ Chaque route comprend une adresse réseau destination ou d’une


manière plus générale un préfixe réseau;
❑ à chaque préfixe lui est associé l’information de routage
correspondante, sous forme de port de sortie et/ou l’adresse du
routeur suivant.

8
Routage classique
❑ Fonction de la couche Réseau
❑ Acquisition Topologique
❑ Hop-by-hop
❑ Calcul et selection
❑ Fragmentation/Reassemblage
❑ Performance
❑ Débit de Forwarding
❑ Nombre de liens haut débits
❑ Le calcul et sélection de chemins sont trés corrélés avec la commutation de
paquets
❑ Problématique de performance et de capacité.
❑ Routage par paquet : “Look-up” dans de grandes tables de routage
9
Routage classique
❑ A la réception d'un datagramme, les routeurs déterminent le next-hop le plus
approprié pour que le paquet rallie sa destination.
❑ L‘@ mac destination du datagramme est remplacée par l‘@ mac du routeur
relais (ou next-hop)
❑ L‘@ mac source du datagramme est remplacée par l‘@ mac du routeur
courant
❑ Les @ ip du datagramme restent inchangées pour que le prochain routeur
effectue les même opérations sur le paquet pour les sauts suivants
❑ Ce calcul fastidieux est effectué sur tous les datagrammes d'un même flux, et
cela autant de fois qu'il y a de routeurs intermédiaires à traverser.
❑ Il est donc gourmand en terme de ressource machine.
❑ Le mode non connecté du protocole IP, qui était initialement l'un de ses atouts, en
particulier pour sa scalabilité, est devenu aujourd'hui un frein à son évolution.

10
Routage et niveau 2
❑ Les équipements couche 2 ne participent pas activement à ce
processus de transmission
❑ Incapables de contenir des informations de couche 3
❑ Établissement manuel de chemins couche 2 au niveau WAN (PVC,.)
❑ Fonction compliquée

❑ Les chemins couche 2 sont :


❑ basés sur un paradigme pt-pt
❑ Établis à la demande via config manuelle

❑ Entre deux routeurs ingress et egress on doit établir une


connexion directe au niveau couche 2

11
Routage et niveau 2
Core ATM
rtr1→ rtr3→ rtr2

rtr1 rtr2

PVC ATM

C3

Commutation ATM Délai et charge supplémentaire

rtr3

12
Routage et niveau 2

❑ Maillage Complet

❑ Contiguïté des routeurs


❑ Surcharge protocolaire due à l’échangé d’infos
d’accessibilité (ospf, isis,…)
❑ Trafic résultant est proportionnel au carré du nombre de
routeurs
❑ Problématique de dimensionnement des liens wan :
difficulté de prédire la quantité exacte d’information à
échanger entre routeurs

13
Routage et niveau 2
❑ Il est nécessaire de disposer d’un mécanisme :
❑ Permettant aux dispositifs de routage interne de commuter les paquets
sur le réseau d’un routeur ingress vers un autre egress.
❑ Ne pas analyser les adresses IP de destination de la couche réseau.
❑ Indépendance des plans de routage et de commutation

❑ Toute modif doit attendre la convergence


❑ La commutation ne doit plus reposer sur l’en-tête IP
❑ Ajout d’un champ supplémentaire indiquant le type de comportement
❑ Toute modif du plan de routage n’affecte plus le plan de commutation

14
Routing Categories
Interior Gateway Protocol Interior Gateway Protocol
(IGP) Exterior Gateway (IGP)
Protocol (EGP)

AS 1000 AS 3000
EGP

EGP IGP
EGP

AS 2000

15
Table de routage
❑ A l’issue du processus de calcul, les chemins de routage sont
sauvegardées au niveau d’une base de données qui
constitue la table de routage.
❑ Plusieurs éléments peuvent être pris en compte pour établir
cette table :
❑ Les paramètres d’évaluation des chemins en terme
❑ coût des liens, du coût de passage dans un nœud, du débit, du délai de
transit, du nombre de nœuds à traverser.

❑ Les routeurs exécutent généralement plusieurs modes et


processus de routage d’où l’utilisation d’un gestionnaire de
tables de routage pour la génération paramétrée d’une
seule et unique table.

16
Création de la table de routage globale
Table de
Table de Routing
Routage Table
Routage Table
de
Manager
Algo. Algo. Routage

Proto. de Proto. de
routage routage Routes statiques
Routes directes
Paramètre
Interfaces

17
Routing Updates DV vs LS

Routing Distance Vector Full


Table Approach Table

Routing Link-State
Single Entry
Table Approach

18
Link State Routing
Avantages Limitations
Convergence rapide : les changements Forte demande en mémoire et
sont imédiatement reportés par la ressources de calcul
source affectée
Robustesse aux boucles Demande de rigueur lors du Design
Connaissance topologiques Administrateur compétent
LSP séquencés et horodatés Le flooding peut impacter les
performances du réseau
La taille de la LSDB peut etre
minimisée via un design fin

19
Distance Vector vs. Link State
Distance Vector Link State
❑ Mise à jour fréquente ❑ Mise à jour déclenchée

❑ Chaque routeur est sensible ❑ Chaque routeur est sensible


à tous les routeurs de l’area
à ses voisins imédiats
uniquement ❑ Convergence rapide
❑ Convergence lente ❑ Routing loops rares

❑ Routing loops ❑ Difficile à configurer

❑ Facile à configurer

20
Distance Vector vs. Link State

Distance Vector Link State


❑ Faible demande en ❑ Forte demande en
ressources routeur ressources routeur
❑ Mise à jour demande la BP ❑ Mise à jour demande peu
de BP
❑ Pas de connaissance
topologique ❑ Fine connaissance de la
topologie du réseau

21
Bande passante vs Forwarding

❑ Milieu des années 70


❑ Réseaux IP à bas débit
❑ La bande passante est le goulot d’étranglement

❑ Milieu des années 90


❑ Réseaux IP à haut débit
❑ La bande passante n’est plus le goulot d’étranglement
❑ Le forwarding IP devient le goulot d’étranglement

22
Réseaux IP à haut débit
❑ Milieu des années 90
❑ Le forwarding IP est le goulot d’étranglement
❑ Solutions propriétaires de "fast IP switching«

❑ Toshiba (CSR), IBM (ARIS), Cisco (Tag Switching)…


❑ Forwarding par label inspiré par le forwardingATM…
❑… différent du forwardingIP hop-by-hop traditionnel
❑ Standardisation IETF

❑ MPLS (Multi-Protocol Label Switching)


❑ En remplacement des solutions propriétaires

23
La solution : la commutation
❑ Plusieurs constructeurs ont proposé des solutions de commutation IP.
❑ Tag Switching proposé par Cisco,
❑ IP Switching proposé par Ipsilon/Nokia,
❑ ARIS proposé par IBM,
❑ Fast IP proposé par 3Com
❑ SwitchNode de Nortel Networks.
❑ IP Navigator ( Cascade/ Ascend / Lucent )
❑ L’IETF s’est grandement inspiré de la solution de Cisco pour la mise au point
de la norme MPLS.
❑ MPLS fut alors créée. Au printemps 1997
❑ L’IETF a mis en place le groupe de travail MPLS pour définir une approche
normative de la commutation d’étiquettes.

24
Réseaux IP à haut débit
Mid-2000s
❑ Routeurs IP à haute performance (Juniper, Cisco…)
❑ Le forwarding IP n’est plus le goulot d’étranglement !

❑ MPLS est désormais un standard


❑ Utilisé principalement dans le domaine des Télécoms…
❑ … pour résoudre des problèmes autres que le forwarding IP

❑ Scalabilitédes services VPN IP


❑ Contrôle à l’admission
❑ Fast Rerouting

25
Principes du MPLS
l Historique
l Création d’un groupe de travail à l’IETF en Avril 1997.
l Fortement inspiré du tag switching de Cisco
l But initial :
l Méthode de routage plus efficace
l Souplesse du niveau 3 + puissance du niveau 2
l Commutation suivant un label
l Entre temps :
l Amélioration des performances des routeurs
➢ Intérêt du MPLS réside maintenant dans les services qu’il
permet

26
MPLS - Multi-Protocol Label Switching


“The primary goal of the MPLS working group is to standardise a base
technology that integrates the label swapping forwarding paradigm
with network layer routing. This base technology (label swapping) is
expected to improve the price/performance of network layer routing,
improve the scalability of the network layer, and provide greater
flexibility in the delivery of (new) routing services (by allowing new
routing services to be added without a change to the forwarding
paradigm)”

27
MPLS : Solution au Conflict
❑ Sépare la détermination du chemin du processus de
commutation hop-by-hop
❑ Forwarding est basé sur des labels
❑ Le chemin est calculé au niveau du routeur frontière
❑ Choix de labels adequats

❑ Le routeur frontière peut utiliser n’importe quel algorithme pour


determiner le chemin et le transfert est encore plus rapide

28
Routage et Commutation
PACKET ROUTING HYBRID Hardware SWITCHING

IP MPLS+IP ATM

❑ Associer
❑ La puissance de commutation du niveau 2
❑ La flexibilité du routage de niveau 3

29
MPLS
❑ Une architecture basée sur la commutation d’étiquettes
❑ Améliorer les performances des routeurs IP
❑ Approcher ses performances de ceux des commutateurs ATM
❑ Transparence vis-à-vis des protocoles de couches adjacentes
❑ Architecture Multi-protocolaire
❑ Fourniture de nouveaux services à valeur ajoutée (SVA)
❑ VoIP
❑ Vidéo sur IP
❑ Vidéo à la demande
❑ VPN
❑ ….

30
Architecture MPLS et OSI

Apple
IPV4 IPV6 IPX
Niveau 3 Talk

Niveau 2,5 ? MPLS

Niveau 2
ATM FR PPP Ethernet

GRT5-M3-MPLS-VPN-MCAST 31
Architecture MPLS
❑ Un équipement MPLS est dit LSR : Label Switch Router
❑ Deux composantes :

1. Contrôle : plan de contrôle


❑ Chargé de la création et la maintenance de la BD pour la
formation des chemins de labels

2. Transmission : plan de données


❑ Chargé du traitement des paquets de données en utilisant une BD
spécifique contenant des labels

32
Architecture MPLS
Le protocole MPLS est fondé sur les deux plans principaux :
▪ Le plan de contrôle : contrôle les informations de routages de
niveau 3 grâce à des protocoles tels que (OSPF, IS-IS ou BGP) et
les labels grâce à des protocoles comme LDP, BGP utilisés par
MPLS VPN ou RSVP (Resource Reservation Protocol) utilisé par
MPLS TE échangés entre les périphériques adjacents.
▪ Le plan de données : est indépendant des algorithmes de
routages et d'échanges de label, utilisation d'une base appelée
LFIB pour router les paquets avec les bons labels, cette base est
remplie par les protocoles d'échange de label.

33
Architecture MPLS
❑ Tous les nœuds MPLS utilisent les protocoles de routage IP existants pour
échanger des informations de routage
❑ Pour le plan contrôle, tout nœud MPLS est un routeur IP
❑ Tous les nœuds MPLS utilisent un protocole de distribution de label : non
nécessairement le même dans tous les LSRs.

Routage : protocole de routage


R3

IP R1
R2

C3

C1
MPLS MPLS : protocole de distribution de Label C2

34
Multiprotocol Label Switching
Routing Switching Routing

Customer IP Provider IP Network Customer IP


Network Network
Running MPLS

Router Router/Switch Switch/Router Router

35
Efficacité du Switching
Le réseau postal transfert les paquets sur la base du code postal
L’agent de poste se base de son coté sur le nom et l’adresse

Postal
Name Network Name
Address Address
City, State 01022 City, State 01022

Les switchs MPLS ajoutent un label et transférent sur la base de la valeur du label
Les Egress switchs supprime les labels et routent sur la base de l’@ IP

MPLS
IP Address Network IP Address
Port
Port
Label 01022

36
MPLS Components

Customer Edge Ingress LSR Transit LSR Egress LSR Customer Edge

Customer Customer
IP Network IP Network
MPLS Provider
Network
Route Switch Route

37
Ingress LSR

IP DLCI IP MPLS DLCI

Customer Customer
IP Network IP Network
MPLS Provider
Network
Ingress LSR

38
Transit LSR

IP MPLS DLCI IP MPLS DLCI

MPLS Provider Network


Customer Customer
IP Network IP Network

Transit LSR

39
Egress LSR

IP MPLS DLCI IP DLCI

MPLS Provider Network


Customer Customer
IP Network IP Network

Egress LSR

40
Le label sous un autre nom ...
❑ Plusieurs exemples de protocoles orientés label :

❑ ATM

❑ label est le VPI/VCI qui voyage avec dans cellules.

❑ Frame Relay

❑ label est le DLCI qui voyage dans des trames.

❑ TDM

❑ label est le timeslot qui voyage dans des trames (lane).

❑ X25

❑ label est le NVL (numéro de voie logique)

41
Le label MPLS
❑ Deux types de solutions
❑ En utilisant les champs « labels » de protocoles standards
❑ DLCI (Data-Link Connection Identifier) des trames Frame Relay
❑ VCI (Virtual Chanel Identifier) des paquets X.25
❑ VCI/VPI (Virtual Path Identifier) des cellules ATM
❑ En utilisant un entête MPLS spécifique placé entre
❑ L’entête IP de niveau 3 (Network Layer) et
❑ Un entête de niveau 2 (Data-Link Layer)
❑ les PDU MPLS pourront néanmoins être transmises directement au
niveau physique dans le cas de réseaux optiques

❑ Le fonctionnement MPLS est bati sur le concept de label

42
Le label MPLS
❑ L’architecture MPLS est organisée autour d’une principale
notion que constitue le label ou étiquette
❑ Le format dépend explicitement des caractéristiques du
réseau utilisé.
❑ Comme les identificateurs VPI/VCI de ATM, le label MPLS n’a
qu’une signification locale entre deux équipements MPLS.

❑ L’en-tête MPLS occupe 4 octets (32-bits)

43
Le Label MPLS
En-tête C2 En-tête MPLS En-tête IP DATA

Label (20bits) Exp Cos(3bit) S(1bit) TTL(8bits)

DATA

Apple
En-tête IP DATA Niveau 3 IPV4 IPV6 IPX
Talk

En-tête MPLS En-tête IP DATA MPLS


Frame
Niveau 2 ATM PPP Ethernet
Relay

44
Le label MPLS
❑ Codé sur au moins 32 bits
❑ Avec un ou plusieurs labels codés sur 20 bits chacun
❑ Une PDU MPLS peut contenir une pile de labels
❑ Le label au sommet de la pile est transmis en premier
❑ » Si S = 1, le label codé est au fond de la pile (dernier label)
❑ » Si S = 0, le label codé est au-dessus d’un autre label
❑ Autres champs
❑ TTL (Time To Live)
❑ Pour éviter que des PDU MPLS puissent boucler indéfiniment dans un
domaine
❑ Exp ou COS (Class Of Service)
❑ Pour pouvoir appliquer plusieurs politiques de gestion des files d’attente

45
Opérations d’étiquetage MPLS
• L’opération push (pousser) appose une nouvelle étiquette
en haut du paquet IP. Pour les paquets IPv4, le nouveau
label est le premier label. La valeur de champ time to live
(TTL) dans l’en-tête du paquet est dérivée de l’en-tête du
paquet IP. L’opération push ne peut pas être appliquée à
un paquet qui a déjà un label MPLS.
• L’opération pop supprime une étiquette dès le début du
paquet. Une fois le label retiré, le TTL est copié du label
dans l’en-tête du paquet IP, et le paquet IP sous-jacent est
transféré en tant que paquet IP natif
• L'échange (swap) est le processus d'échange d'étiquettes
dans le réseau MPLS. Les routeurs fédérateurs du
fournisseur de services sont responsables de cette tâche.
Les étiquettes sont échangées entre ces routeurs LSR, via
le LSP (Label Switch Path) construit entre les routeurs LER
frontaliers.
46
Label Stacking
❑ Label Stacking—processus d’ajout et suppression de labels à chaque fois
que le paquet traverse multiple MPLS networks
❑ Forward est basé sur le label le plus proche de la couche 2

IP MPLS MPLS DLCI

IP MPLS DLCI IP MPLS DLCI

IP DLCI IP DLCI

Customer Customer
IP Network IP Network
Second MPLS Network

MPLS Network

47
La pile de labels (“label stack”)
❑ Chaque paquet peut contenir plusieurs niveaux de labels.
❑ Le LSR (Rtr-A) commute le paquet labellisé en fonction uniquement du premier
label de la pile

In In Address Out Out


I/F Lab Prefix I/F Lab
0 5 171.68.10 1 7
... ... Next-Hop ...
... ...

171.68.10/24
Label = 5 Label = 7
Rtr-A
Label = 21 Label = 21
IP packet IP packet
D=171.68.10.12 D=171.68.10.12

48
Label swapping

Inlabel Next Hop 1 Operation 1 Next Hop 2 Operation 2

Définition de
l’opération à effectuer
Identification du NH
Identification du label entrant
Pile de labels operation

49
Label Swapping
IN IN LAB Adress Out Out LAB
I/F Prefix I/F

0 5 171.68.10/24 1 7

… … … … …

171.68.10/24

RTr-A RTr-B RTr-C


Label = 5 Label = 7

Label = 21 Label = 21

IP packet IP packet
D=171.68.10.12 D=171.68.10.12

Processus de transfert des paquets vers leur destination


sur la base de la lecture et écriture des labels

50
La commutation des paquets
local remote local remote address
address
label label interface label label prefix interface
prefix

x 3 128.89.10 1 3 5 128.89.10 0
4 7 171.69 1
x 4 171.69 1

... ...

0
1
1
171.69.12.1 data 4 171.69.12.1data 7 171.69.12.1data
Les LSRs suivants
Le Edge LSR d’entrée échangent les labels et
ajoute le label et transmettent
transmet le paquet
Le edge LSR de sortie 171.69.12.1data
enlève le label et route le
paquet
DATA FLOW local remote address
label label prefix

7 X 171.69

51
Noeuds MPLS
❑ Edge LSR: Label Switch Router d’extrémité
❑ Core LSR: Label Switch Router de cœur de réseau

Label Distribution Core LSR


Protocol - Switchs ATM
- ou Routeurs

Edge LSR

52
Label Edge Router (LER)
Ce sont des routeurs qui traitent le niveau IP et le niveau label
❑ Routeur d’extrémité qui joue un rôle important dans
l’assignation et la suppression des labels au moment où les
paquets entrent dans le réseau ou en sortent.
1. Décide comment les paquets vont voyager dans le réseau
2. Reçoit des paquets IP et leur assigne des labels ‘Push’
3. Transfert les paquets labélisés vers le/les routeurs de prochain saut
LSR/LER
4. Reçoit les paquets labélisés à partir des LSR/LER pour les router vers
la destination finale ‘Pop’
❑ Chaque LSR construit une table LFIB (Label Forwarding
Information Base).

53
MPLS Edge-LER
IP Routing Protocol Information de
routage
échangée avec
IP Routing Table les autres
routeurs
Echange des
Label Info Table MPLS Signalling Protocol labels avec les
autre routeurs
Paquet IP entrant

Paquet IP sortant
IP Forwarding Table

Paquet entrant
labellisé Label Forwarding Table Paquet sortant
labellisé
Suppression de
Data plane
label et
consultation L3

54
Label Switching Router (LSR)
❑ Routeur ou commutateur capable de commuter des paquets ou
des cellules, en fonction de la valeur des labels qu’ils
contiennent.
❑ Dans le cœur du réseau, les LSRs procèdent tout simplement à la
lecture/écriture et la commutation des labels, et non les
adresses des protocoles de niveau supérieur.
❑ Chaque LSR construit une table LFIB (Label Forwarding
Information Base).

55
MPLS - LSR

IP Routing Protocol Informations de


routage
échangées avec
IP Routing Table les autres
routeurs
Echange des
MPLS Signalling Protocol labels avec les
Label Info Table autre routeurs

Paquet sortant
Label Forwarding Table labellisé
Paquet entrant
labellisé

Data plane

56
LSR et LER : Commutation et routage

Commutation
MPLS ou ATM

Routage niveau 3
Et Commutation Niveau MPLS

❑ Avantages
❑ Calcul unique au niveau de l’entrée du réseau
❑ Rapidité dans le cœur de réseau

❑ L’intelligence se trouve aux extrémités du réseau


57

GRT5-M3-MPLS-VPN-MCAST
Interop LER et LSR
IP Routing Protocol IP Routing Protocol

IP Routing Table
IP Routing Table

MPLS Signalling Protocol


MPLS Signalling Protocol

IP Forwarding Table
Label Forwarding Table
Label Forwarding Table

Data plane Data plane

Traite les en-tetes IP Traite labels MPLS


et label MPLS

58
Les tables MPLS
1. Table de routage : Routing Information Base
2. Table de label : Label Information Base
❑ Elle contient pour chaque sous réseau IP la liste des labels affectés par les LSR voisins.
❑ Contient tous les labels attribués par le LSR considéré et les mapping de ces labels sur les labels reçus
des voisins
❑ Ces labels sont distribués par un protocole dédié
3. Table de transfert IP : Forwarding Information Base
4. Table de transfert de label : Label Forwarding Information Base
❑ Utilisée pour commuter les paquets.
❑ Chaque réseau IP est appris par l’IGP, qui détermine le prochain saut pour atteindre ce réseau.
❑ Le LSR choisit ainsi l’entrée de la table LIB qui correspond au réseau IP et sélectionne comme label
de sortie le label annoncé par le voisin déterminé par l’IGP (plus court chemin).
❑ A partir d’un label d’entrée, il en déduit l’interface et le label de sortie

59
Les tables MPLS

▪ LIB (Label Information Base) : C'est La première table construite par le routeur MPLS est la
table LIB. Elle contient pour chaque sous-réseau IP la liste des labels affectés par les LSR
voisins. Il est possible de connaître les labels affectés à un sous-réseau par chaque LSR voisin
et donc elle contient tous les chemins possibles pour atteindre la destination.
▪ LFIB (Label Forwarding Information Base) : A partir de la table LIB et de la table de routage IP,
le routeur construit une table LFIB qui contient que les labels du meilleur prochain saut qui
sera utilisée pour commuter les paquets labélisés.

60
Les tables MPLS

61
Les tables MPLS

Exemple de réseau MPLS avec tables FIB

62
Les tables MPLS

Exemple de réseau MPLS avec tables LFIB

63
Advantages du Switching
❑ Avantages du switching r/r au routage
❑ Performance
❑ Faster transit time IP
❑ Less jitter (delay)
IP Address
❑ Packet prioritization
❑ Flexible routing MPLS

❑ Scalability and simplicity


Label
❑ Ease of management
Data
Link

IP DLCI

IP MPLS DLCI

64
Performance
❑ MPLS faster transit over IP routing
❑ Requires less CPU and memory
❑ Indexed lookup of forwarding table as opposed to best fit IP address lookup
❑ Simple protocol—easy to implement in ASIC
❑ Smaller forwarding table—only contains known LSRs as opposed to all known IP
networks
❑ Internet routing table contains more than 70,000 table entries

Forwarding IP IP
Table
Forwarding MPLS
MPLS
Table
Data Data
Link Link
Routed Packet Switched Packet

65
Performance
❑ Jitter caused by variation in transit and queue delays
❑ MPLS has faster transit time through routers (minimizes transit delay)
❑ Packet prioritization and bandwidth reservation can minimize queue delay

1 High-Priority Packet
IP
2 Low-Priority Packet
MPLS

Data
Link
2 1 1 2 2 1 2 2 2 2 2 1 1 1

66
Label Switch Path (LSP)
❑ Chaque paquet labellisé :
❑ entre dans le réseau MPLS par un LSR d’entrée: “ingress LSR”

❑ sort du réseau MPLS par un LSR de sortie: “egress LSR”

❑ LSP est le chemin défini par les différents labels assignés à chaque paquets.
❑ LSP peu être statique ou dynamique (prédéfini ou utilise les informations de routage).

❑ Un LSP est unidirectionnel : le trafic retour peut prendre un autre chemin

❑ La création du LSP est un schéma en mode connecté


❑ Compte tenu des infos de routage et non pas des exigences du flux

Ce LSP est fonctionnellement équivalent à


un circuit virtuel ATM ou FR Ingress-LSR

Egress-LSR

67
Label Switch Path (LSP) et l’IGP

Le LSP suit le chemin IGP le plus Le LSP diverge du chemin IGP le plus
court court
❑ Le FEC est déterminé dans le LSR d’entrée
❑ Le LSP est déduit de la table de routage IGP
❑ A chaque saut, le LSR choisit le LSP de sortie (= hop by hop routing)
❑ Le LSP peut être différent du chemin IGP le plus court
❑ (explicit routing) avec du “Traffic Engineering”

68
Acheminement de paquets IP
1. Comment attribuer un label à chaque paquet IP entrant dans un
domaine MPLS ?
❑ Par classification des paquets IP dans des FEC
❑ FEC : Forwarding Equivalence Class
❑ Le concept de FECs est introduit pour les besoins de fléxibilité et de
scalabilité

2. Comment construire les tables de commutation de labels des


routeurs ?
❑ A partir des tables de routage des routeurs
❑ Par distribution de labels entre routeurs

69
Les concepts “FEC” et “Next-Hop”
❑ FEC = Forwarding Equivalence class
❑ Après décision de routage, les paquets sont classés dans des ‘FEC ‘

❑ FEC = “un sous ensemble de paquets qui seront traités de la


meme manière par le routeur”
❑ Transfert via la même interface de sortie
❑ Avec les mêmes critères de transmission
❑ La transmission d’un paquet consiste donc à:
1. Assigner un paquet à une FEC
2. Déterminer le routeur suivant (next-hop) pour chaque FEC
❑ En routage IP, chaque routeur
1. re-classifie le paquet dans une FEC
2. re-calcule le routeur suivant pour chaque FEC

70
Exemple de “FEC” et “Next-Hop”
Address
Next-Hop Interface
Prefix and mask

171.68.10/24 171.68.9.1 Serial1

... ... ...

0 1 171.68.10/24

IP packet IP packet Rtr-A


D=171.68.10.23 D=171.68.10.12

Le routeur A transmet les paquets avec des


adresses de destination différentes en
utilisant la même route, le même ‘next-hop’
et la même interface

71
Exemple de ‘FEC et Next-Hop’ avec MPLS

3 0 1 171.68.10/24
4 Label = 5 Label = 3
Rtr-B Rtr-A
IP packet IP packet
D=171.68.10.12 D=171.68.10.12

IP packet
D=171.68.10.12 Le routeur A transmet le paquet en
fonction du label recu et de sa table de
label.
Routeur B classifie le paquet dans une Aucune classification supplémentaire
FEC à laquelle a été associé un label n’est nécessaire

72
La classe FEC
❑ Identifie un ensemble de paquets IP
1. Seront étiquetés en sortie d’un Ingress LSR par le même label
2. Suivront ainsi le même chemin ou LSP (Label Switching Path)
❑ Plusieurs types de FEC
❑ En fonction de leur mode de définition
❑ Dans le cas le plus simple
❑ Deux paquets appartiendront à une même FEC si leurs adresses IP
destination appartiennent à un même sous-réseau
❑ Autres paramètres possibles
❑ Numéro de ports source et destination TCP/UDP
❑ Qualité de service demandée
❑ Service demandé (VPN, VoIP,…)

73
La FEC
❑ A set of unicast packets whose Layer 3 destination addresses match a certain
address prefix
❑ A set of unicast packets whose destination addresses match a particular IP
address prefix with similar type of service (ToS) bits
❑ A set of unicast packets whose destination addresses match a particular IP
address prefix and have the same destination TCP port number
❑ A set of multicast packets with the same source and destination Layer 3
addresses
❑ A set of multicast packets with similar source and destination Layer 3
addresses and the same incoming interface

74
FEC MPLS

A
B C

FEC-1
FEC-2
FEC-3

D E F

75
MPLS et TTL
En MPLS, l'utilisation du champ TTL dans l'étiquette est la même que celle du champ TTL dans
l'en-tête IP. Lorsqu'un paquet IP entre dans le cloud MPLS, comme sur le LSR d'entrée, la valeur
IP TTL est copiée (après avoir été décrémentée de 1) dans les valeurs MPLS TTL de la ou des
étiquettes poussées. Au LSR de sortie, l'étiquette est supprimée et l'en-tête IP est à nouveau
exposé. La valeur IP TTL est copiée à partir de la valeur MPLS TTL dans l'étiquette supérieure
reçue après l'avoir décrémentée de 1.

76
MPLS et TTL
Lorsqu'un paquet étiqueté est reçu avec un TTL de 1, le LSR récepteur abandonne le paquet et
envoie un message ICMP « délai dépassé » (type 11, code 0) à l'expéditeur du paquet IP. Il s'agit
du même comportement qu'un routeur présenterait avec un paquet IP dont la durée de vie
expire. Cependant, le message ICMP n'est pas immédiatement renvoyé à l'expéditeur du paquet
car un LSR provisoire peut ne pas avoir de chemin IP vers la source du paquet. Le message ICMP
est transmis via le LSP suivi par le paquet d'origine.

77
MPLS et TTL
La raison de cette transmission du message
ICMP le long du LSP suivi par le paquet
d'origine avec le TTL expirant est que, dans
certains cas, le LSR qui génère le message ICMP
n'a aucune connaissance de la manière
d'atteindre l'expéditeur du paquet d'origine.
De même, un LSR intermédiaire plus proche de
l’expéditeur du paquet pourrait ne pas avoir
cette connaissance. Par conséquent, le routeur
LSR construit le message ICMP et transmet le
paquet le long du LSP, dans l'espoir que le
message ICMP atteigne un routeur à la fin du
LSP qui peut renvoyer le paquet au routage
d’origine.

78
Format des tables
Une table regroupant la table de routage et les actions à effectuer en fonction et sur les labels
MPLS s’appelle une LFIB (Label Forwarding Information Base). Pour plus de commodité, on
peut la voir comme 3 sous-tables (ce qui peut aussi être un type d’implémentation de la LFIB) :

- ILM : Correspondance entre label d’entrée et numéro de l’action à faire.


- FTN : Correspondance entre une FEC (classe d’équivalence) d’entrée et numéro de
l’action.
- NHLFE: Correspondance entre numéro et action.

79
Format des tables
NHLFE: Next Hop Label Forwarding Entry

Cette table contient les informations suivantes:


• Le prochain saut (@IP du routeur suivant)
• L’opération a effectuée
• Changement de l’étiquette (label swapping)
• Suppression de l’étiquette (label pop)
• Rajout d’une étiquette (label push)
• Changement d’étiquette + rajout d’une étiquette (label swapping + push)

80
Format des tables
ILM: Incoming Label Map

Cette table fait la correspondance entre une étiquette d’entrée et une entrée de la table
NHLFE.

81
Format des tables
FTN : FEC to NHLFE Map

Cette table fait la correspondance entre les paquets non étiqueté appartenant à une FEC
et une entrée de la table NHLFE.

82
Format des tables
Exemple : paquet non étiqueté

• Associe le paquet à une FEC


• Consulte la table FTN → entrée de la table NHLFE
• Consulte la table NHLFE et procède à l’action associée (push)

83
Format des tables
Exemple : paquet étiqueté

• Consulte la table ILM → entrée de la table NHLFE

84
Distribution de labels
❑ Problème posé
❑ Comment coordonner les tables de commutation des LSR ?
❑ Par distribution d’associations entre FEC découvertes et labels (en anglais,
FEC-Label mappings)
❑ Protocoles proposés
❑ TDP/LDP (Tag/Label Distribution Protocol)
❑ TDP est un protocole CISCO propriétaire
❑ LDP a été défini par l’IETF dans la RFC3036
❑ Utilisés notamment dans le cas de FEC définies par sous-réseau
❑ Extensions de RSVP (Resource Reservation Protocol)
❑ Permet d’établir des LSP en fonction de critères de ressources et de qualité
de service
❑ Extensions de BGP (Border Gateway Protocol)
❑ Permet de distribuer les labels en même temps que les routes découvertes,
mais aussi l’échange de routes VPN

85
Les protocoles de distribution de label
❑ LDP
❑ associe des labels à des FECs (adresses unicast)
❑ RSVP
❑ Utilisé pour le “Traffic Enginering” et la réservation de
ressources
❑ PIM
❑ association de label en multicast
❑ BGP
❑ Labels externes: VPN

86
La distribution de labels
❑ La distribution des labels aux LSR est réalisée grâce au protocole LDP

❑ Basé sur le protocole TDP (Tag Distribution Protocol) de Cisco RFC 3036
❑ TDP et LDP diffèrent principalement par le format des paquets ou
messages qu’ils transmettent
❑ Fonctions principales

❑ Découverte de voisins
❑ Pour un LSR donné, déterminer si ses voisins directs sont également
des LSR ou seulement des routeurs classiques
❑ Distribution de labels

87
La distribution de labels

❑ LDP définit une suite de procédures et de messages utilisés par les LSR pour
s'informer mutuellement du mapping entre les labels et le flux.
❑ Les labels sont spécifiés selon le chemin " Hop By Hop " défini par l'IGP dans
le réseau.
❑ Chaque nœud doit donc mettre en œuvre un protocole de routage de
niveau 3, et les décisions de routage sont prises indépendamment les
unes des autres.

88
Label Destribution Protocol (LDP)
❑ Le protocole LDP est utilisé pour associer un FEC (Fowarding Equivalence class)
à un label.
❑ Les labels permettent de créer des chemins labellisés LSPs
❑ LDP fonctionne en mode session entre “peers” .
❑ Ces peers peuvent ne pas être adjacents.
❑ LDP est bi-directionnel et permet la découverte dynamique des noeuds
adjacents grâce à des messages Hello échangés par UDP.
❑ Une fois que les 2 nœuds se sont découverts, ils établissent une session TCP
❑ Cette session agit comme un mécanisme de transport fiable :
❑ des messages d'établissement de session TCP,
❑ des messages d'annonce de labels
❑ et des messages de notification.

89
Les messages LDP
❑ Les peers échangent des messages LDP : 4 types de messages
1. Message de découverte (Discovery): annonce et maintient une
adjacence entre des LSRs du réseau MPLS (notion de LDP peers)
❑ Mécanisme de base: localisation de LSRs sur le même lien pour établir une
adjacence
❑ Un paquet “link Hello (en UDP)” est envoyé à l’adresse multicast “ all-routers-in-
subnet”
❑ La réception d’un link Hello identifie un peer LDP potentiel: Contient le “LDP
identifier” et le “label space”
❑ Mécanisme étendue: localisation de LSRs distants
❑ Un paquet “targeted Hello (en UDP)” est envoyé à une adresse spécifique sur le
port UDP: LDP discovery (port 646)
❑ Le “targeted LSR” répond en envoyant des “targeted Hellos” à l’émetteur

90
Les messages LDP : Découverte
Principe de base
1. Tout LSR transmet périodiquement à ses voisins
❑ Un message LDP Hello avec comme adresse destination une adresse
« multicast » réservée
2. Tout LSR recevant un message LDP Hello
❑ Répond par un autre message LDP link Hello s’il utilise lui-même LDP
❑ Etant donné deux LSR voisins utilisant LDP
❑ Le LSR avec la plus grande adresse IP
❑ Devient actif et établit une connexion TCP sur le port 646 (711 pour TDP) pour la
transmission de messages LDP
❑ Le LSR avec la plus petite adresse IP
❑ Devient passif et attend l’ établissement de la connexion TCP avec son voisin actif
❑ Note : des options peuvent être négociées pendant l’établissement de la connexion entre
LSR voisins
❑ Modes de distributions des labels, valeur du temporisateur « keep- alive », etc.
91
Les messages LDP: (suite)
2. Message de mise en Session (TCP)
❑ Consécutif à la phase “discovery” : découverte d’une adjacence entre LDP
Peers
❑ Etablit, maintient et termine les sessions entre LDP peers
❑ Mise en session en Deux phases:
❑ Etablissement d’une connexion TCP (port 646)
❑ Initiatilisation de la session: négociation des paramètres de sessions: Version de
protocole LDP, méthode de distribution de label, label range, ...

3. Messages d’annonces (“Notification message”)


❑ Permet de créer, modifier et supprimer l’association entre label et FEC
4. Messages de notification d’erreur

92
Les messages LDP: (suite)
UDP-Hello

UDP-Hello

TCP-open

Initialization(s)

Label request
IP

#L2
Temps Label mapping
93
Messages LDP
❑ Principaux types de messages
❑ Message « Hello »
❑ Utilisés pour la découverte de voisins
❑ Message « Keep-alive »
❑ Transmis périodiquement en l’absence d’autres messages (panne)
❑ Message « Label Mapping »
❑ Utilisé par un LSR pour annoncer une association FEC-Label
❑ Message « Label Withdrawal »
❑ Utilisé par un LSR pour retirer une association annoncée auparavant
❑ Message « Label Release »
❑ Utilisé par un LSR pour indiquer qu’ il n’utilisera plus une association reçue
précédemment
❑ Message « Label Request »
❑ Utilisé par un LSR pour demander un label pour un FEC donné

94
LDP Message Types
Message Type Description

Notification Reports an error condition

Hello LDP keep-alive, sent periodically based on hold timer

Initialization Sets up an LDP session and negotiate parameters

KeepAlive Monitors Integrity of TCP connection supporting a session

Address Advertises a list of interface addresses

Address Withdraw “Undoes” the address message

Label Mapping Advertises FEC / Label bindings to neighbors

Label Request Requests a label binding for a given FEC

Label Abort Request Aborts an outstanding label request message

Label Withdraw Deletes FEC / Label binding when FEC no longer supported

Label Release Deletes FEC / Label binding due to route change

95
Procédures de distribution des labels
1. “Unsolicited Downstream”
Un LSR downstream LSR annonce ses labels de manière non

sollicitée
2. “Downstream on Demand”
❑ Un LSR Downstream annonce ses labels suite à une requete
du LSR upstream LSR

❑ Les deux méthodes peuvent coexister dans le même réseau


❑ Les peers LDP négocient la méthode pendant la phase
d’activation de la session

83
Procédures de distribution des labels
Unsolicited downstream
Utilise le label 26 pour Utilise le label 12 pour
192.168.1.0/24 192.168.1.0/24

2 1 192.168.1.0/24

In Out Dest In Out Dest In Out Dest

… 26 192.168.1.0/24 26 12 192.168.1.0/24 12 … 192.168.1.0/24

84
Procédures de distribution des labels
Downstream on-demand
Demande label pour Demande label pour
192.168.1.0/24 192.168.1.0/24

1 2 192.168.1.0/24

4 3
Utilise le label 26 pour Utilise le label 12 pour
192.168.1.0/24 192.168.1.0/24

In Out Dest In Out Dest In Out Dest

… 26 192.168.1.0/24 26 12 192.168.1.0/24 12 … 192.168.1.0/24

85
MPLS Label Distribution
Intf Label Dest Intf Label Intf Label Dest Intf
In In Out Out In In Out
3 0.50 47.1 1 0.40 3 0.40 47.1 1

1 47.1
3 Request: 47.1
3
Intf Dest Intf Label
In Out Out 2
3 47.1 1 0.50 Mapping: 0.40
1 1
2
47.3 3 47.2
2

86
LDP Identifiers et adresses de Next-Hop
❑ Un LSR enregistre les labels recus dans la “Label Information
Base (LIB)”
❑ (LDP Identifier, Label), IP prefix

❑ Le LSR associe l’adresse du “next-hop” avec l’identifiant du


LDP Peer afin de retrouver le label associé dans la LIB.
❑ Afin de permettre cette association, les LSRs annoncent leur
adresses d’interface via LDP.

87

You might also like