Академический Документы
Профессиональный Документы
Культура Документы
Partie 1
MPLS : applications à l’ingénierie de
trafic
SUP’PTIC
2019
MPLS : applications à l’ingénierie de trafic
Afin d’assurer une bonne disponibilité des réseaux IP et de répondre aux exigences fortes
des services temps réel (voix, visioconférence), il devient également primordial de
disposer de mécanismes de reroutage rapide sur pannes de liens et de nœuds. La
technologie MPLS-TE permet de répondre à ces exigences. Le mécanisme MPLS-TE Fast
Reroute consiste à protéger des tunnels primaires par des tunnels de secours préétablis. En
cas de panne d’un élément de réseau (lien ou nœud), le trafic d’un tunnel primaire est
rapidement basculé sur un tunnel de secours.
1. Mécanismes MPLS-TE
Le routage par contrainte MPLS-TE repose sur une fonction de découverte de la bande
passante réservable sur les liens, assurée par un protocole de routage à état de lien étendu
(ISIS-TE : Intermediate System to Intermediate System-TE ou OSPF-TE : Open Shortest
Path First-TE), une fonction de calcul de chemin explicite contraint prenant en compte les
contraintes TE du tunnel (bande passante, éléments à inclure/exclure...) et les ressources
disponibles sur les liens, ainsi qu’une fonction d’établissement de LSP avec réservation de
ressources le long du chemin explicite (généralement assurée par le protocole RSVP-TE :
Resource Reservation Protocol-TE). MPLS-TE établit un mode connecté dans les réseaux IP
et les LSP MPLS-TE peuvent en effet être assimilés à des connexions.
Ingénierie de trafic
Le routage IP repose sur le plus court chemin vers une destina- tion donnée. Tout le trafic
vers une même destination ou un même point de sortie du réseau emprunte le même
chemin. Il arrive des situations où le chemin IP est congestionné alors que des chemins
alternatifs sont sous-utilisés.
R1 R8
Congestion Congestion
R4
R3 R6
R2 R9
R5 R7
le réseau est composé de liens de 2,5 Gbit/s. Toutes les métriques du réseau sont égales à
1. La demande de trafic est la suivante : 2 Gbit/s entre R1 et R8 et 2 Gbit/s entre R2 et
R9. Les trafics R1-R8 et R2-R9 vont emprunter le plus court chemin IP, c’est-à-dire le
chemin du haut R3-R4-R6 avec un coût de 2. Le tronçon R3-R4-R6 de capacité 2,5 Gbit/s
est donc soumis à une charge de 4 Gbit/s. Il y a congestion et perte de paquets ; cela entraîne
une dégradation de la qualité de service.
Une solution pour remédier à ce problème consiste à utiliser le partage de charge donné
par le protocole de routage IGP (Interior Gateway Protocol ). Lorsqu’il y a plusieurs plus
courts chemins de même coût pour aller à une destination donnée, un routeur peut partager
équitablement la charge sur ces chemins. Il envoie alors la même quantité de trafic sur
tous les chemins. Ce mécanisme est appelé ECMP (Equal Cost Multi Path ). Le partage de
charge est effectué en respectant les flux, c’est-à-dire qu’un même flux emprunte toujours
le même chemin.
Dans notre exemple, si on met les métriques à 3 sur les liens R3-R4 et R4-R6, et à 2 sur
les liens R3-R5, R5-R7 et R7-R6, on se retrouve avec deux chemins de coût égal (coût de 6)
entre R3 et R6. Dans ce cas, le routeur R3 effectue un partage de charge entre les deux
chemins. Il envoie 50 % du trafic sur le tronçon du haut et 50 % du trafic sur le
tronçon du bas. On a donc une charge de 2 Gbit/s sur les deux chemins et la congestion
est évitée comme illustré sur la figure 2:
R1 R8
50 % R4
R3 R6
3 3
2 2
R2 R9
50 % R5 R7
2
L’ingénierie de trafic basée sur l’optimisation des métriques IP, présentée ci-avant, est
efficace quand on a des chemins de même capacité. En revanche, elle ne fonctionne pas
lorsque l’on a des chemins de capacités différentes, car les routeurs ne savent pas faire un
partage de charge tenant compte de la capacité des liens.
R1 R8
3 Gbit/s R4
R3 R6
3 3
2 Congestion
2
R2 R9
3 Gbit/s R5 R7
2
Figure 3 – Cas de congestion avec ECMP sur des chemins de capacité différente
certains liens ont une capacité de 5 Gbit/s, et d’autres une capacité de 2,5 Gbit/s. La
demande de trafic est de 4 Gbit/s entre R1 et R8 et de 2 Gbit/s entre R2 et R9. Si toutes les
métriques sont à 1, alors tout le trafic emprunte le tronçon du haut qui est soumis à une
charge de 6 Gbit/s, il y a donc congestion. L’optimisation des métriques pour faire un
partage de charge ne résout pas le problème. En effet, R3 envoie 50 % du trafic, c’est-à-
dire 3 Gbit/s vers le haut et vers le bas. Le chemin du bas, qui a une capacité de 2,5
Gbit/s, est donc congestionné.
On a donc illustré une des limitations de l’ingénierie de trafic basée sur les métriques
IGP : le routage IP ne sait pas prendre en compte les chemins de capacités inégales.
Solution MPLS-TE
Une solution pour résoudre les limitations du routage IP en terme d’ingénierie de trafic
(pas de partage de charge pondéré, pas de réactivité, pas de garantie de bande passante)
consiste à passer en mode connecté et à effectuer un routage explicite indépendant de la
route IP.
La technologie MPLS-TE permet de créer un tel mode connecté dans les réseaux IP. Elle
consiste à établir des LSP MPLS routés de façon explicite en prenant en compte les
contraintes de trafic (bande passante...) et les ressources disponibles dans le réseau. Ces
LSP sont appelés « tunnels MPLS-TE ». Cette méthode de routage par contrainte offre un
meilleur contrôle du routage et permet d’optimiser l’utilisation des ressources et de réduire
les risques de congestion. Typiquement, quand le plus court chemin IP est congestionné, il
est possible d’établir un tunnel MPLS-TE empruntant un chemin alternatif, plus long au
sens des métriques IP, mais permettant d’écouler le trafic.
R4
R6
R3 3
2 3 2
R2 R9
R5 2 R7
Architecture MPLS-TE
— la topologie TE (Traffic Engineering ) : il s’agit d’un graphe de réseau étendu dont les
liens possèdent un ensemble de paramètres d’ingénierie de trafic : la bande passante
maximale du lien, la bande passante réservable résiduelle du lien et la métrique TE. On
distingue les paramètres statiques, configurés sur les routeurs (directement par l’opérateur
ou par l’intermédiaire d’un outil de gestion) sur chaque lien, comme la bande passante
maximale, et les paramètres dynamiques, modifiés après l’établissement d’un tunnel
MPLS-TE, comme la bande passante réservable résiduelle ;
— les tunnels MPLS-TE : il s’agit de LSP MPLS routés de façon explicite, caractérisés
par un ensemble de contraintes TE incluant la bande passante, le délai maximum, le
nombre de sauts maximum, les éléments (liens, nœuds) à inclure/exclure, la priorité, etc.
Ils empruntent un chemin respectant ces contraintes dans la topologie TE.
— le routage par contrainte : il s’agit d’un ensemble de procédures permettant de router
les tunnels MPLS-TE sur la base de leurs contraintes TE et des ressources disponibles dans la
topologie TE.
Notion de topologie TE
Une topologie TE est un graphe de réseau étendu incluant des paramètres d’ingénierie de
trafic des liens. Les liens d’une topologie TE sont associés, en complément de la métrique
IGP classique, à l’ensemble des paramètres TE suivants:
— les groupes administratifs du lien, ou couleurs (GA) : ce paramètre est utilisé comme
contrainte pour inclure ou exclure certains liens d’un chemin. Par exemple, on pourra
établir un tunnel TE avec comme contrainte d’exclure tous les liens appartenant au groupe
X. Il n’y a pas de sémantique prédéfinie pour ces groupes administratifs: C’est à l’opérateur
de donner à ces groupes la sémantique qu’il désire (par exemple, associer un groupe aux
liens satellites et exclure ces liens satellites pour les tunnels à forte contrainte de délai);
— la métrique TE (MT) : cette métrique vient compléter la métrique IGP. Elle permet
d’utiliser, pour le placement des tunnels MPLS-TE, une topologie avec des poids de liens
différents de la topologie IP. Il n’y a pas de sémantique associée à cette métrique. Elle peut
être utilisée par exemple pour représenter le délai du lien. Cette deuxième métrique augmente
les critères d’optimisation. Il devient par exemple possible de calculer un plus court chemin
avec délai contraint, la métrique IGP représentant le critère à optimiser et la métrique TE le
délai.
Excepté la bande passante disponible, tous ces parameters de liens sont statiques. Ils
sont configurés par l’opérateur sur tous les routeurs du réseau, manuellement ou via un
gestionnaire MPLS-TE. La bande passante disponible, quant à elle, est un paramètre
dynamique déduit des réservations de tunnels et mis à jour à chaque création ou
suppression de tunnel.
Il est important de noter que la notion de lien est ici unidirection-nelle. Chaque sens du lien
peut avoir des valeurs de paramètres TE différentes.
A B
Lien A → B
MT = 10
BD = 100 Mbit/s
GA = (Blue, Green)
Un tunnel MPLS-TE est un LSP MPLS point à point unidirectionnel auquel est associé un
ensemble de paramètres TE. Un tunnel MPLS-TE est routé de façon explicite le long d’un
chemin respectant ses contraintes TE dans la topologie TE.
L’ensemble des paramètres d’un tunnel TE inclut, de façon non exhaustive, les éléments
suivants :
• la priorité dite setup (ps) correspond à la capacité d’un tunnel à préempter un autre
tunnel.
La figure 6 illustre les fonctions mises en œuvre pour le routage par contrainte lorsque le
calcul de route est réalisé par le routeur de tête (cas distribué).
4 3
Route explicite 5
Signalisation 6
Le protocole de routage IGP étendu (OSPF-TE par exemple) (1) distribue les
informations de topologie TE à tous les routeurs, cela inclut en particulier la bande passante
disponible sur les liens. Les routeurs maintiennent ces informations dans une base de
données TE (2). Pour établir un tunnel, l’opérateur configure sur le routeur de tête un
ensemble de paramètres incluant la destination du tunnel et les contraintes TE (3). Le
routeur de tête calcule ensuite un chemin respectant les contraintes (4). Le résultat de ce
calcul est une route explicite (5) transmise au protocole de signalisation RSVP-TE (6) qui
distribue les labels et réserve les ressources pour le tunnel le long du chemin explicite.
R5 R7
2,5 Gbit/s
a topologie TE initiale
1 Gbit/s
1 Gbit/s 1 Gbit/s R4
1 Gbit/s
R3
Tunnel 1 : Dest : R8, BP : 4 Gbit/s R6
2,5 Gbit/s R2 2,5 Gbit/s 2,5 Gbit/s 2,5 Gbit/s R9
R1 R8
R5 R7
2,5 Gbit/s
R4 1 Gbit/s
1 Gbit/s 1 Gbit/s 1 Gbit/s
R3 R6
Tunnel 1 : Dest : R8, BP : 4 Gbit/s
0,5 Gbit/s R2 0,5 Gbit/s 0,5 Gbit/s 0,5 Gbit/s R9
R1 R8
R5 R7
0,5 Gbit/s
Figure 7 – Procédure
c établissement d’établissement de deux tunnels TE
d’un deuxième tunnel de 2 Gbit/s
Pour réaliser cette fonction, les protocoles IGP à état de lien ISIS et OSPF ont été étendus,
afin d’annoncer, pour chaque lien, en plus de la métrique traditionnelle, les paramètres TE
(bande passante maximale, bande passante disponible…). Ces extensions sont dénommées
ISIS-TE et OSPF-TE.
◼ Diffusion des informations TE : afin que tous les routeurs aient connaissance de
la topologie TE, les paramètres TE des liens sont transportés dans les messages
IGP d’annonce d’état de lien. Le contenu des messages IGP a été étendu pour
pouvoir supporter ces nouveaux paramètres.
◼ Base de donnéesTE (TEDB) : les informationsTE annoncées par le protocole IGP-
TE sont stockées dans la base de données TE (TEDB). Cette base est accédée lors du calcul
de chemins contraints.
La TEDB n’est en aucun cas utilisée pour le routage IP. Les bases LSDB utilisées pour le
calcul SPF IP et TEDB utilisée pour le calcul de chemin contraint sont indépendantes.
Certaines informations de la base LSDB (Link State Database) peuvent apparaître dans la
base TEDB ; en revanche, aucune information des bases TEDB n’est envoyée dans la base
LSDB.
Le calcul du chemin des tunnels, ou placement des tunnels, consiste à placer un ensemble
de tunnels avec des contraintes TE dans la topologie TE, et en appliquant un critère
d’optimisation.
— les liens doivent appartenir à au moins un groupe administratif de la liste des groupes
administratifs;
— les liens ne doivent pas appartenir à l’un des groupes administratifs à exclure du
tunnel;
Le mode distribué consiste à effectuer le calcul des chemins directement sur les routeurs
de tête de tunnel. Les tunnels sont calculés les uns après les autres, et indépendamment les
uns des autres par un algorithme de plus court chemin avec contraintes. Il n’y a pas de
coordination entre les calculs de chemins des différents tunnels. Il s’agit ici de minimiser
le coût du chemin (métriques IGP ou TE) tout en respectant les contraintes. L’algorithme
de routage contraint prend en entrée un ensemble de contraintes et la TEDB et renvoie en
sortie une route explicite. Cette approche consistant à placer les tunnels les uns après les
autres de façon indépendante est appelée approche non coordonnée.
L’algorithme le plus implémenté par les équipementiers pour ce routage par contrainte
est l’algorithme SPF contraint (CSPF : Constraint Shortest Path First ). Il consiste à enlever
de la topologie les liens ne respectant pas les contraintes et à lancer un algorithme de plus
court chemin SPF (par exemple, l’algorithme Dijkstra) sur la topologie résultante.
BD 20 Mbit/s E
BD 5 Mbit/s
BP =la8tête
a configuration tunnel sur Mbit/s
A Gris exclu
Tunnel 1 Dest = B
B
Métrique 10
Mbit/s C
F
BD 10 Mbit/s
Métrique
20 Mbit/s Métrique Métrique 10
Mbit/s
BD 12 Mbit/s Métrique 10
A BD 10 Mbit/s 10 Mbit/s
BD 12 Mbit/s Mbit/s
D
E BD 12 Mb
Métrique 10 Mbit/s
BD 12 Mbit/s
Métrique 10
C
Mbit/s F
b suppression des liens ne respectant pas les contraintes
BD 10 Mbit/s
Métrique 20
Métrique 10 Métrique 10
Mbit/s
Mbit/s Mbit/s Métrique 10
A Mbit/s
BD 10 Mbit/s
BD 12 Mbit/s BD 12 Mbit/s
B
BD 12 M
D E
Métrique 10 Mbit/s
BD 12 Mbit/s
Métrique 10
Délai 20
Métrique 10 Métrique 10
Délai 30 Délai 30
Métrique 10 Métrique 10
Délai 10 Délai 10
Métrique 10 Métrique 10
Délai 10 Délai 10
Ce mode de calcul distribué sur les routeurs de tête présente certains avantages. Il permet
effectivement une réactivité élevée en cas de panne ou de changement rapide de la matrice
de trafic, il passe aussi bien à l’échelle dans la mesure où les calculs sont distribués sur un
grand nombre d’éléments.
Il présente aussi un inconvénient du fait que les tunnels sont placés les uns après les
autres, au fil de l’eau, de façon indépendante et sans coordination des calculs.
L’optimisation est réalisée tunnel par tunnel et non pas de façon globale. Il y a donc des
risques de blocage, et le résultat final va dépendre de l’ordre d’arrivée des tunnels. Il se peut
que tous les tunnels ne puissent pas être placés alors qu’il existe une solution. La figure
10 illustre cette limitation: dans le premier cas, le tunnel 1 est établi avant le tunnel 2. Il
emprunte le plus court chemin entre R1 et R2 et il n’y pas de chemin ensuite pour le tunnel
2. Dans le deuxième cas, le tunnel 2 est établi avant le tunnel 1 et un chemin est trouvé pour
les deux tunnels.
Métrique 10 BMR Métrique 10
1 : Tunnel 1 R1 10 Mbit/s
Dest : R2 BMR 10 Mbit/s R2
BP : 5 Mbit/s
2 : Tunnel 2 Dest
: R4 R4
BP : 10 Mbit/s a pas de route : blocage du tunnel 2
R3
Métrique 10 Métrique 10 BMR 10
2 : Tunnel 1 R1 Mbit/s BMR 10 Mbit/s R2
Dest : R2
BP : 5 Mbit/s
BP : 10 Mbit/s R3 R4
Mode centralisé
Le mode de placement centralisé consiste à réaliser le calcul des tunnels sur un serveur
de TE. Les requêtes de tunnels sont transmises au serveur qui calcule tous les chemins et
configure ensuite les tunnels sur les routeurs de tête en indiquant les routes explicites
calculées.
Outil de TE offline
1 : Requêtes
2 : Calcul coordonné
Tunnel 1
Dest : R2 tunnels T1 et T2
BP : 5 Mbit/s T1 : R1-R3-R6-R4-R2 T2 :
R3-R1-R5-R2-R4
Tunnel 2
Dest : R4
3 : Configuration des tunnels avec les
BP : 10 Mbit/s
routes explicites calculées
Métrique 10 Métrique 10
BMR BMR
R1 R5 R2
10 Mbit/s 10 Mbit/s
T2
R3 R6 R4
— des temps de calcul pouvant atteindre plusieurs minutes, voire plusieurs heures ;
Une fois la route explicite du tunnel déterminée, le protocole RSVP-TE est utilisé pour
établir le tunnel.
Le protocole RSVP-TE effectue quatre fonctions principales:
— il effectue un contrôle d’admission local, pour s’assurer que les contraintes sont bien
respectées (bande passante, groupes administratifs). Ce contrôle d’admission local est
nécessaire pour prendre en compte les cas d’erreur de calcul de route, par exemple lorsque
les informations dans la TEDB ne sont plus à jour;
— il distribue les labels et entraîne une mise à jour des tables MPLS en transit et IP en
tête de tunnel.
Établissement de LSP
L’établissement d’un LSP par RSVP-TE est effectué en deux temps : un message Path
contenant la route explicite et l’ensemble des paramètres TE (identifiants tunnel/LSP,
source/destination, bande passante...) est tout d’abord envoyé de la source vers la
destination de proche en proche, le long de la route explicite (figure 12 a ). Il crée un état
RSVP correspondant au LSP sur tous les routeurs du chemin. En réponse, le routeur de
destination renvoie un message Resv de proche en proche vers l’origine du tunnel. Le
message Resv réserve la bande passante et distribue les labels (figure 12 b ). Il s’agit d’une
distribution sollicitée de labels (initiée par les routeurs en amont). Cela entraîne une mise à
jour des tables MPLS en transit et de la table IP sur la tête de tunnel. Lorsque le message
Resv est arrivé sur la tête et que la table de routage IP est mise à jour, le tunnel peut être
utilisé pour aiguiller du trafic le long du LSP (figure 12 c ).
TE-LSPT1 R8 → R5
R8
R3
10 Gbit/s
R2 R4
Path
Pat h
R2R6R7R4R5
10 Gbit/s R4R5
BP : 5 Gbit/s
R5
BP : 5 Gbit/s
R7
R6 10 Gbit/s Path
R1
R6R7R4R5 R5
Path
Path BP : 5 Gbit/s
BP = 5 Gbit/s
R7R4R5
BP : 5 Gbit/s
10 Gbit/s 2,5 Gbit/s
R8 Resv
Label 30 R3
BP = 5 Gbit/s R4 Resv
R2 Resv
Label 3
5 Gbit/s
Label 20
5 Gbit/s BP = 5 Gbit/s
BP = 5 Gbit/s
R1 5 Gbit/s
R6 R7
Resv
5 Gbit/s R5
Label 17
Resv
BP = 5 Gbit/s Label 22
BP = 5 Gbit/s
20.1.1.1 R8
Table MPLS
Table MPLS 20 →
R5, pop
30 → R6, swap 17 R3
R4
Table IP 30 20.1.1.1 R2
— la route explicite du LSP, codée dans l’objet ERO (Explicite Route Object ).
L’établissement d’un LSP débute par la création sur la tête de tunnel d’un état RSVP
associé au LSP. La tête envoie ensuite un message Path au prochain routeur sur le chemin
explicite. Ce message contient les informations relatives au LSP. Le message transite le long
de la route explicite vers la destination. Il se propage de proche en proche le long de la
route explicite. L’adresse IP de destination du message Path est l’adresse de destination du
tunnel.
Sur réception du message Resv, un routeur de transit met à jour la bande passante
résiduelle disponible. Elle est diminuée de la bande passante réservée. Il alloue ensuite un
label au LSP et ajoute l’entrée correspondante dans sa table de commutation MPLS. Il
transmet ensuite le message Resv au prédécesseur (enregistré dans l’état RSVP). Lorsque le
message Resv arrive à la tête, celle-ci effectue une réservation de ressource et met à jour sa
table de routage IP en y incluant le LSP. L’établissement du LSP est alors achevé.