2.2.3.2-) Le fonctionnement du MPLS
a-) Le principe de fonctionnement du MPLS
Comme nous le présente la figure II.2 ci-dessous,
une architecture MPLS se compose de deux grande parties : les sites
utilisateurs et du domaine MPLS (coeur de
réseau).
Figure II.2: Architecture simplifiée d'un
réseau MPLS [10] Explications :
? À l'entré dans le domaine MPLS, tout paquet ou
trame réseau provenant d'un site utilisateur (Réseau
d?utilisateurs) est examiné (examen prioritairement basé
sur le champ CoS) et classés dans un FEC (voir tableau
II.1) auquel on attribue une étiquette avant de l'envoyer dans le
coeur du domaine MPLS : c'est le label pushing ;
? Une fois au coeur du domaine MPLS, tous les paquets arrivant
sur un routeur sont examinés (examen basé sur les labels
uniquement) et labels enlevés ; par la suite, une autre
étiquette est ajouté à chacun de ces paquets en fonction
du chemin qu'il
10
prendra : c'est le label swapping. Cette
opération sera répétée jusqu'à ce que les
trames arrivent aux frontières du domaine MPLS.
? À la sortie du domaine MPLS, les trames venant du
coeur du domaine MPLS sont examinés et leurs étiquettes
enlevés ; puis ces paquets sont envoyés vers leurs destinations :
c'est le label se popping. Mais, puisque les opérations
de routage sont complexes et coûteuses, il est recommandé pour des
réseaux de grande taille, d'effectuer l'opération de
dépilement sur le dernier LSR (Penultimate
node1) du LSP (avant-dernier
noeud du LSP avant le LER) pour éviter de surcharger le
LER inutilement.
En résumé :
? On a une fonction de routage qui s'effectue à la
première étape et ;
? On a une fonction de commutation simple pour les paquets de
même FEC à travers les chemins découverts.
L'acheminement des paquets dans le domaine MPLS ne se fait
donc pas à base d'adresse IP mais de label (commutation de
label). Il est clair qu'après la découverte de chemin
(par le protocole de routage type IGP), il faut mettre en oeuvre un
protocole qui permet de distribuer les labels entre les LSRs pour que ces
derniers puissent constituer leurs tables de commutation et ainsi
exécuter la commutation de labels adéquate à chaque paquet
entrant. Cette tâche est effectuée par "un protocole de
distribution de label " : LDP
(Label Distribution
Protocol) et RSVP-TE
(ReSerVation
Protocol-Traffic
Engineering).
b-) La structure fonctionnelle du MPLS en
simple
En effet le protocole MPLS est fondé sur deux plans
principaux à savoir : le plan de contrôle et le plan de
données.
? Le plan de contrôle :
Il permet de contrôler les informations de routages de
niveau 3 grâce à des protocoles de routage existant et biens
connus tels qu'OSPF, IS-IS, BGP ; et les labels grâce
à des
1 Penultimate node1 :
c'est le routeur immédiat précédent le routeur LER de
sortie pour un LSP donné au sein d'un réseau MPLS ; simplement il
est l'avant denier saut sur un LSP. Il joue un rôle particulier pour
l'optimisation.
11
protocoles de labelling comme : LDP (Label
Distribution Protocol), BGP (dans sa version utilisée par
MPLS-VPN) ou RSVP (utilisé par MPLS-TE)
échangés entre les périphériques
adjacents.
? Le plan de données :
Il est indépendant des algorithmes de routages et
d'échanges de label et utilise une base de données LFIB
(Label Forwarding Information Base : laquelle base qui se remplie à
l'aide des protocoles d'échange de label) pour transmettre ou faire
suivre les paquets avec les bons labels.
Figure II.3 : Mécanismes basés sur les
deux plans de commutation dans MPLS 2.2.3.3-) L'entête d'une trame
MPLS et la commutation hiérarchique
a-) L'entête d'une trame MPLS
L'entête d'une trame MPLS est constituée de
(Voir figure II.4 ci-dessous):
? Un champ LABEL codé sur 20 bits ;
? Un champ CoS ou Exp (Classe of Service / Experimental) :
codé sur 3 bits, il sert à la classe de service (Class of
Service) ;
12
? Un champ BS pour bit stack : il est codé sur 1 bit et
permet de supporter un label hiérarchique (empilement de
labels) ;
? Un champ TTL pour Time To Live : pareil au TTL de IP, il est
codé sur 8 bits et sert à limiter la durée de vie d'un
paquet dans le réseau.
LABEL
|
CoS / Exp
|
BS
|
TTL
|
20 bits
|
3 bits
|
1 bit
|
8 bits
|
Figure II.4 : Entête de trame MPLS
[5]
Comme nous venons de le voir, dans la constitution de
l'entête MPLS, il y a la présence d'un bit stack qui permet de
supporter l'empilement des labels encore appelé label
hiérarchique. En quoi consiste cette hiérarchie et à quoi
sert-elle exactement?
b-) La commutation hiérarchique dans
MPLS
Le principe de label hiérarchique est basé sur
l'empilement des labels et permet en particulier d'associer plusieurs contrats
de services à un flux donnée au cours de sa chevauché
à travers le réseau MPLS. Ainsi, il incombe aux LSRs de
frontière la responsabilité de pousser ou de tirer la pile de
labels pour désigner le niveau d'utilisation courant de label
concerné. En effet, on dit que la commutation MPLS est
hiérarchique parce qu'en plus de commuter des étiquettes, elle
permet d'en ajouter ou d'en enlever. L'entête MPLS attaché
à un même paquet IP représente une pile d'étiquette
appelé label stack. De façon pratique, le
protocole MPLS se traduit par l'ajout d'une pile d'entête dans la trame
(Voir figure II.5).
Entête de couche
|
Entête de niveau N
|
|
|
Entête de niveau N+1
|
|
|
Entête de niveau N+2
|
Entête de couche liaison
|
Autres entêtes de couches et
données
|
Figure II.5 : Encapsulation avec une pile
composée d'un seul entête [5]
Malgré le fait qu'MPLS soit indépendant du niveau
2, le placement de l'entête est différent suivant le protocole
utilisé. Cela signifie que dans le cas d'un protocole de
13
niveau deux utilisant la commutation de cellule, le champ
correspondant au label sera utilisé comme label MPLS. Dans le cas
spécifique d'une trame Ethernet, le
'préambule'' et le 'bit
Start'' sont remplacés par l'entête MPLS (Voir figure
II.6).
Entête de couche
|
Entête MPLS
|
|
|
|
Datagramme IP
|
|
|
Préambul
|
Star
|
Dest.Add
|
Source.Add
|
Type
|
Données
|
CRC
|
Dest.Add
Source.Add
Type
Données
CRC
Label CoS
Entête MPLS
|
|
Trame Ethernet taguée
|
Trame Ethernet avec Tag MPLS
BS
TTL
Trame Ethernet sans Tag MPLS
Figure II.6 : Forme générale d'une trame
MPLS contenant un datagramme IP [5]
2.2.3.4-) Le labelling ou distribution des labels MPLS
et le protocole LDP
a-) Le labelling ou distribution des labels
MPLS
Les LSRs s'appuient sur l'information de label pour commuter
les paquets dans le coeur de réseau MPLS. Comme nous l'avons vu, quand
tout routeur reçoit un paquet taggué, il utilise le label pour
déterminer l'interface et le label de sortie ; d'où la
nécessité de protéger les informations sur ces labels au
niveau de tous les LSRs. À cet effet, suivant le type d'architecture,
différents protocoles sont employés pour l'échange de
labels entre LSRs ; principalement les plus utilisées sont : TDP/LDP ;
CR-LDP ; RSVP-TE ; MP-BGP.
b-) Le protocole LDP
Comme la plupart des protocoles, le protocole LDP est
un protocole de signalisation et plus précisément de la
distribution de labels. Il fonctionne suivant la notion de chemin le
plus court ; en clair, cette notion stipule que : pour un préfixe
d'adresse, le protocole de routage classique définit un arbre de plus
court chemin avec pour racine le LSR de sortie qui est en effet celui qui a
annoncé le préfixe et, pour feuilles les différents
routeurs d'entrée. Le routeur de sortie annonce le
préfixe (associé au label) à ses voisins et de
proche en proche, les messages de signalisation vont remonter jusqu'aux
routeurs d'entrée, permettant ainsi à chaque LSR
intermédiaire de faire correspondre un label au préfixe. Mais, ce
protocole connait deux inconvénients majeurs à savoir :
? Les contraintes posées par le protocole de routage :
en effet, les LSPs établis par le protocole LDP sont contraints par le
protocole de routage ;
? L'impossibilité de faire une réservation de
ressources : LDP n'a pas la possibilité de spécifier des
paramètres pour l'attribution de trafic à acheminer sur le
LSP.
Bien qu'LDP ait des limitations, il trouve sa compensation par
le complément apporté par d'autres protocoles comme : CR-LDP et
RSVP-TE. Ceci nous conduit aux notions de routage dans MPLS.
|