Vous êtes sur la page 1sur 24

Réseaux Intélligents

Partie 1
MPLS : applications à l’ingénierie de
trafic

SUP’PTIC

2019
MPLS : applications à l’ingénierie de trafic

L’application de MPLS à l’ingénierie de trafic est appelée MPLS Traffic Engineering


(MPLS-TE). MPLS-TE permet l’établissement de tunnels MPLS routés de façon explicite
en fonction des contraintes du trafic transporté (bande passante, délai...) et des ressources
disponibles dans le réseau. Ces tunnels MPLS-TE peuvent être assimilés à des connexions.
MPLS-TE crée ainsi un mode connecté dans les réseaux IP, permettant d’optimiser
l’utilisation des ressources et de maximiser la charge de trafic pouvant circuler sur le
réseau tout en préservant la qualité de service (gestion de la congestion). Ce routage par
contrainte MPLS-TE nécessite un ensemble de protocoles et d’algorithmes de routage et de
signalisation.

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 mécanisme MPLS-TE (MPLS Traffic Engineering ) permet l’établissement de LSP


(Label Switched Path) MPLS routés de façon explicite en fonction de contraintes de trafic
(bande passante...) et des ressources disponibles dans le réseau. Ces LSP MPLS sont
appelés TE-LSP ou encore « tunnels 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.

MPLS-TE est utilisé pour plusieurs applications d’ingénierie de trafic :

— l’optimisation de l’utilisation des ressources : le routage explicite par contrainte


permet un meilleur partage de charge que le routage IP reposant sur le plus court chemin
vers une destination donnée ;

— le reroutage rapide : le routage explicite permet une protection de tunnels primaires


par des tunnels de secours établis à l’avance. Cette sécurisation permet donc de garantir
des temps de reroutage très courts (moins de 100 ms). Cette technologie est appelée MPLS
Fast Reroute;

la garantie de qualité de service (QoS) : MPLS-TE n’est pas, au sens propre, un


mécanisme de QoS et ne permet pas seul de garantir la qualité de service, il faut l’associer
avec un mécanisme de classification de services (comme DiffServ).

Ingénierie de trafic

L’expression ingénierie de trafic désigne l’ensemble des mécanismes de contrôle de


l’acheminement du trafic dans le réseau afin d’optimiser l’utilisation des ressources et de
limiter les risques de congestion.

L’objectif de l’ingénierie de trafic est de maximiser la quantité de trafic pouvant transiter


dans le réseau, tout en maintenant la qualité de service, afin de retarder au maximum les
investissements réseaux (liens, routeur). L’ingénierie de trafic travaille à topologie de réseau
fixe. Le problème d’ingénierie de trafic prend en entrée une topologie de réseaux et une
demande de trafic sous forme de matrice de trafic avec différentes caractéristiques (bande
passante, délai...) et fournit en sortie un ensemble de chemins permettant de répondre à la
demande.

L’ingénierie de trafic est complémentaire de l’ingénierie de réseaux. L’ingénierie de


réseau consiste à trouver une topologie, ou à modifier la topologie (liens, nœuds), pour
supporter une demande ou une augmentation de la demande. On distingue souvent les deux
par la formule suivante : « l’ ingénierie de trafic consiste à mettre le trafic là où se trouve la
bande passante, tandis que l’ ingénierie de réseau consiste à mettre de la bande passante là
où passe le trafic ».

Limitations du routage IP en terme d’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.

La figure 1 ci-dessous illustre une telle situation:

R1 R8
Congestion Congestion
R4

R3 R6

R2 R9
R5 R7

2,5 Gbit/s 2 Gbit/s 2 Gbit/s

Figure 1 – Cas de congestion sur le plus court chemin IP

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

2,5 Gbit/s 2 Gbit/s 2 Gbit/s

Figure 2 – Par tage de charge ECMP

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.

Dans l’exemple de la figure 3 suivante:

R1 R8
3 Gbit/s R4

R3 R6
3 3

2 Congestion
2
R2 R9
3 Gbit/s R5 R7
2

5 Gbit/s 2,5 Gbit/s 4 Gbit/s 2 Gbit/s

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.

Il n’y a pas de solution de routage IP au problème de routage illustré sur la figure


précedente. La seule méthode pour écouler tous les flux, si l’on reste en routage IP, est
d’ajouter de la bande passante sur les liens R5-R7 et R6-R7 (ingénierie de réseau).
Pourtant, il existe une solution à ce problème : il suffit de faire passer tout le trafic R1-R8
par le haut et tout le trafic R2-R9 par le bas. Cela nécessite de faire du routage explicite,
indépendant de la route IP et prenant en compte les contraintes de trafic et les ressources
disponibles.

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.

MPLS-TE permet de résoudre le problème de partage de charge présenté sur la figure du


precedent paragraphe. Deux tunnels MPLS-TE sont établis pour router le trafic R1-R8 et R2-
R9: le tunnel T1 de R1 à R8, de bande passante 4 Gbit/s et le tunnel T2 de R2 à R9, de
bande passante 2 Gbit/s. La route des tunnels est calculée afin de pouvoir écouler tout le
trafic. Le tunnel T1 emprunte le tronçon du haut et le tunnel T2 emprunte le tronçon du bas
comme illustré sur la figure 4. MPLS-TE a permis ici d’écouler tout le trafic sans avoir à
ajouter de la capacité.

R1 Tunnel MPLS-TET1 : 4 Gbit/s R8

R4
R6
R3 3

2 3 2
R2 R9
R5 2 R7

Tunnel MPLS-TET2 : 2 Gbit/s

5 Gbit/s 2,5 Gbit/s 4 Gbit/s 2 Gbit/s

Figure 4 – Routage explicite MPLS-TE

La technologie de routage par contrainte MPLS-TE nécessite une fonction de découverte


de la topologie et des ressources disponibles, une fonction de calcul de route explicite avec
contrainte, une fonction de signalisation de LSP et une fonction de réservation de ressources
le long de la route calculée. Ces fonctions sont détaillées par la suite.

Architecture MPLS-TE

L’architecture de routage MPLS-TE repose sur trois notions fondamentales:

— 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:

— la bande passante maximale (BM) : il s’agit de la bande passante maximale pouvant


être utilisée sur le lien. Elle correspond en général à la bande passante physique du lien ;

— la bande passante maximale réservable (BMR) : il s’agit de la quantité maximale de


bande passante pouvant être réservée par un ensemble de tunnels MPLS-TE sur le lien.
Cette bande passante peut éventuellement être supérieure à la bande passante maximale du
lien. Dans ce cas, on parle de « surréservation » ou de « surbooking ». Cela peut être utilisé
pour prendre en compte le fait que tous les tunnels ne sont pas chargés simultanément. Elle
peut également être inférieure à la bande passante maximale du lien, on parle alors de sous-
réservation, ce qui peut être utile lorsque l’on ne veut dédier qu’une partie d’un lien pour
les tunnels TE ;

— la bande passante disponible du lien (BD) : ce paramètre correspond à la bande


passante résiduelle réservable par des tunnels sur le lien. Il est modifié dynamiquement
lors de la création ou de la suppression d’un tunnel;

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

La figure 5 illustre un exemple de lien TE avec les paramètres TE associés.

A B

Lien A → B

MT = 10

BM = 155 Mbit/s BMR = 100 Mbit/s

BD = 100 Mbit/s

GA = (Blue, Green)

Figure 5 – Lien de la topologie TE

Notion de tunnel MPLS-TE

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 :

— l’adresse du routeur destination : il s’agit de l’identifiant TE du routeur distant;

— le chemin explicite partiel ou complet : il s’agit d’une succession d’adresses de liens


ou de nœuds, que le tunnel doit emprunter. Il peut s’agir d’un chemin explicite complet
indiquant la succession de tous les liens;

— l’ensemble des éléments à exclure du chemin : il s’agit d’un ensemble de liens et


routeurs à ne pas emprunter;

— les priorités de préemption : la préemption est un mécanisme permettant de définir


des niveaux de priorité pour les tunnels. En cas de pénurie de bande passante, un tunnel
prioritaire peut préempter un tunnel moins prioritaire et récupérer la bande passante allouée
à ce tunnel. Les priorités de préemption sont codées sur 3 bits de 0 à 7, 0 étant la plus forte
priorité. Un tunnel possède deux priorités de préemption :

• la priorité dite hold (ph) correspond à la capacité à résister à la préemption,

• la priorité dite setup (ps) correspond à la capacité d’un tunnel à préempter un autre
tunnel.

Un tunnel T1 peut préempter un tunnelT2 si sa priorité ps est strictement supérieure à


la priorité ph deT2;

— les groupes administratifs à inclure/exclure : il s’agit de l’ensemble des groupes


administratifs à inclure et à exclure du chemin. Le chemin du tunnel ne doit passer que par
des liens appartenant à l’un des groupes administratifs inclus, et ne doit pas passer par des
liens appartenant à l’un des groupes administratifs exclus ;

— la bande passante à réserver pour le tunnel : il s’agit de la bande passante logique


qui va être réservée sur les liens pour le tunnel. Ce champ est codé sur 32 bits et a pour unité
le kilobit par seconde (kbit/s). Les liens ayant une bande passante réservable résiduelle
inférieure à cette bande passante ne peuvent pas être utilisés pour router le tunnel ;

— la métrique à utiliser pour le tunnel : ce paramètre indique la métrique à utiliser pour


déterminer le plus court chemin contraint. Il s’agit de la métrique TE ou de la métrique
IGP.

Routage par contrainte MPLS-TE

Le mécanisme de routage par contrainte MPLS-TE regroupe un ensemble de fonctions


permettant de router les tunnels MPLS-TE en fonction de leurs contraintes TE et des
ressources disponibles dans la topologie TE. Il repose sur trois fonctions principales :

- la fonction de découverte de la topologie TE : cette fonction permet à tous les routeurs


d’avoir en permanence une vision actualisée de la topologie TE et en particulier de la bande
passante résiduelle réservable sur les liens. Cette fonction est réalisée par les protocoles
ISIS-TE ou OSPF-TE. Il s’agit des protocoles ISIS et OSPF étendus avec de nouveaux
champs permettant l’annonce des paramètres TE des iens (bande passante maximale, bande
passante résiduelle, etc.) ;

— la fonction de placement (ou calcul) de tunnel : cette fonction repose sur un


algorithme de routage par contrainte prenant en entrée la topologie TE, ainsi que les
contraintes du tunnel et renvoyant un chemin contraint s’il existe. Cette fonction peut être
réalisée par le routeur de tête de tunnel – on parle alors de placement distribué –, par un
serveur centralisé – on parle alors de placement centralisé – ou encore de façon statique par
l’opérateur ;

— la fonction d’établissement (ou de signalisation) de tunnel : elle est chargée de


l’établissement des tunnels le long de la route explicite fournie par la fonction de
placement de tunnel, ainsi que de leur maintien et de leur suppression. Cela inclut le
routage du tunnel le long de la route explicite, un contrôle d’admission local et une
réservation de ressource sur chaque nœud, ainsi que la distribution des labels. Cette fonction
est réalisée par le protocole de signalisation RSVP-TE.

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

1 IGP étendu OSPF-TE,


ISIS-TE

4 3

2 Base de données TE Tunnel MPLS avec


Calcul
contraintes TE

Route explicite 5

Signalisation 6

Figure 6 – Routage par contrainte

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.

L’exemple suivant illustre la procédure d’établissement des deux tunnels TE présentés


sur la figure 4. La figure 7a représente la topologie TE initiale avec les bandes passantes
disponibles sur les liens. Elles sont annoncées à tous les routeurs via le protocole IGP-TE.
Un premier tunnel T1 est configuré sur le routeur R1 vers la destination R5, avec une
bande passante de 4 Gbit/s. R1 calcule un chemin respectant la contrainte de bande
passante et établit le tunnel via RSVP-TE. La bande passante disponible sur les liens de T1
est mise à jour (figure 7b ) et annoncée à tous les routeurs par l’IGP-TE. Un deuxième
tunnel T2 est configuré sur le routeur R2 avec pour destination R9 et bande passante 2
Gbit/s. Le routeur R2 calcule le chemin contraint R3 - R5 - R7 - R8. En effet, les liens R3
- R4 et R4 - R6 n’ont plus suffisamment de ressources pour supporter ce nouveau tunnel. Le
tunnel T2 est ensuite établi et la bande passante résiduelle est mise à jour (figure 7c ).
R1 R8
R4
5 Gbit/s 5 Gbit/s 5 Gbit/s
5 Gbit/s
R6
R3
2,5 Gbit/s R2 2,5 Gbit/s 2,5 Gbit/s 2,5 Gbit/s R9

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

b établissement d’un premier tunnel de 4 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

Tunnel 2 : Dest : R9, BP : 2 Gbit/s

Figure 7 – Procédure
c établissement d’établissement de deux tunnels TE
d’un deuxième tunnel de 2 Gbit/s

Extensions IGP pour MPLS-TE

La technologie de routage par contrainte MPLS-TE nécessite une fonction de découverte


et de mise à jour des ressources disponibles sur les liens du réseau (bande passante
résiduelle…).

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.

◼ Rafraîchissement et mise à jour des informations TE : les annonces d’état de liens


étendus sont effectuées par défaut selon les procédures IGP classiques :

— elles sont rafraîchies périodiquement, selon une période configurable ;

— elles sont déclenchées immédiatement en cas de perte d’adjacence ou de changement


par configuration d’un paramètre de lien statique.

Calcul de route MPLS-TE

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.

Le placement doit prendre en compte les contraintes suivantes:

— la bande passante du tunnel doit être inférieure à la bande passante résiduelle


réservable des liens ;

— 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 chemin ne doit pas emprunter les éléments à exclure (liens, nœuds).

Le placement peut être effectué manuellement – on parle alors de placement


statique–, il peut être effectué par un serveur – on parle alors de placement centralisé –, ou
enfin par le routeur de tête – on parle alors de placement distribute-. On s’intéresse ici
aux placements centralizes et distribués.
Mode distribué

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.

La figure 8 présente un exemple de calcul de chemin contraint. Il s’agit d’établir un


tunnel de 8 Mbit/s de A vers F en excluant les liens gris. Les liens ne respectant pas les
contraintes sont tout d’abord supprimés de la topologie (un calcul de plus court chemin est
réalisé sur la topologie résultante).
B
Métrique
Métrique 5
Mbit/s F
10 Mbit/s C BD
10 Mbit/s
BD 20 Mbit/s
Métrique 20 Métrique Groupe gris
Mbit/s 10 Mbit/s Métrique 10
BD 10 Mbit/s BD 20 Mbit/s
A Mbit/s
D Métrique 10
Mbit/s BD 20 Mb

Métrique 10 Mbit/s BD 20 Mbit/s


Métrique 10 Mbit/s

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

Tunnel 1 Dest = B BP = 8 Mbits Gris exclu

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

Tunnel 1 Dest = B BP = 8 Mbit/s Gris exclu

c calcul SPF sur la topologie résultante

Figure 8 – Algorithme CSPF

On appelle contrainte de chemin une combinaison de paramètres de lien le long du


chemin, comme par exemple le délai, le nombre de sauts, ou bien encore la charge sur le
lien le plus chargé. La prise en compte d’une contrainte de chemin, en plus du critère
d’optimisation, par exemple le calcul du plus court chemin à délai borné, est un
problème difficile. Lorsque l’on a deux métriques sur les liens, l’une codant le délai et
l’autre le coût administratif, on peut soit calculer le chemin de plus faible coût, soit le
chemin de plus faible délai, mais pas le chemin de plus faible coût à délai borné comme
illustré sur la figure 9 .

Métrique 10

Délai 20

Métrique 10 Métrique 10

Délai 20 Métrique 10 Métrique 10 Délai 20

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

Plus faible coût (coût 20, délai 60) Plus


faible délai (coût 40, délai 40)

Plus faible coût à délai borné (coût 30, délai 50)

Figure 9 – Chemin de plus faible coût à délai borné

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

Métrique 10 BMR Métrique 10 BMR


10 Mbit/s 10 Mbit/s
Métrique 10 BMR Métrique 10 BMR
5 Mbit/s 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

Métrique 10 Métrique 10 BMR


10 Mbit/s
BMR 10 M Métrique 10 BMR Métrique 10 BMR
5 Mbit/s 5 Mbit/s
1 : Tunnel 2
Dest : R4

BP : 10 Mbit/s R3 R4

b route pour les deux tunnels

Figure 10 – Cas de blocage

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.

Ce mode de placement permet d’utiliser des algorithmes d’optimisation globale, qui


prennent en entrée toutes les demandes et la topologie, et renvoient en sortie un ensemble
de chemins. Ce placement coordonné, prenant en compte toutes les demandes, offre une
meilleure optim isation que le mode distribué non coordonné. Il permet notamment de
réduire les risques de blocage. Les approches coordonnées augmentent les chances de
trouver une solution de placement quand celle-ci existe.
La figure 11 illustre l’utilisation d’un outil de TE centralisé pour le placement des
tunnels 1 et 2 de l’exemple précédent. L’outil reçoit les requêtes des tunnels T1 et T2 (1) ; il
calcule ensuite les routes de T1 et T2 de façon coordonnée (2) ; il trouve une solution et
configure les routeurs de tête R1 et R2. Cela résout le problème de blocage présenté dans le
cas distribué.

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

Métrique 10 4 : Établissement des tunnels Métrique 10


MR 10 Mbit/s Métrique 10 Métrique 10 BMR 10 Mbit
B BMR BMR /s
T1
5 Mbit/s 5 Mbit/s

R3 R6 R4

Figure 11 – Placement centralisé de tunnels MPLS-TE

Le mode centralisé permet d’obtenir une meilleure optimisation que le placement


distribué, mais présente les inconvénients suivants :

— un mauvais passage à l’échelle, le nombre de tunnels à calculer dans le cas d’un


maillage complet dépend du carré du nombre de nœuds à mailler ;

— des temps de calcul pouvant atteindre plusieurs minutes, voire plusieurs heures ;

— une faible réactivité en cas de panne de lien/nœud ou de changement rapide de la


matrice de trafic (due au temps de calcul et à la communication entre N routeurs de tête et
un serveur).

Signalisation des tunnels : protocole RSVP-TE

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 route le tunnel le long de la route explicite;

— 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 réserve la bande passante. La bande passante résiduelle du lien est décrémentée de la


valeur de bande passante du tunnel (pour tous les pools de priorité inférieure ou égale à
la priorité ph du tunnel). Il est important de noter que cette réservation de ressources est
purement logique et ne se traduit pas par une réser- vation physique de bande passante ;

— il distribue les labels et entraîne une mise à jour des tables MPLS en transit et IP en
tête de tunnel.

Messages et objets RSVP-TE

Le protocole RSVP-TE repose sur un ensemble de messages. Les principaux messages


RSVP-TE sont les suivants :

— Path : établit et maintient le LSP dans le sens descendant ;

— Resv : établit et maintient le LSP dans le sens montant ;

— PathTear : supprime le LSP dans le sens descendant ;

— ResvTear : supprime le LSP dans le sens montant ;

É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

Route explicite : R8R2R6R7R4R5 BP : 5


Gbit/s

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

a propagation du message Path le long du chemin explicite

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

10 Gbit/s 2,5 Gbit/s

b propagation du message Resv le long du chemin retour

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

20/8 → @R5 R2, push 30


20.1.1.1

@R5 →T1 Push 30


R5
R1
20.1.1.1

Table MPLS Table MPLS

17 → R6, swap 22 22 → R6, swap 20

10 Gbit/s 2,5 Gbit/s

c commutation MPLS dans le tunnel

Figure 12- Etablissement d’un LSP


◼ Message Path : le message RSVP Path est chargé d’initier l’établissement du LSP. Il
route le LSP le long de la route explicite et crée un état RSVP correspondant au LSP sur
tous les nœuds du LSP.

Le message Path contient les informations suivantes :

— l’adresse de la source et de la destination du LSP ;

— les numéros de tunnel et de LSP ;

— la bande passante du LSP ;

— les groupes administratifs à inclure et ceux à exclure ;

— un ensemble de paramètres de classe de service et de sécurisation ;

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

◼ Message Resv : le message Resv est envoyé de la destination vers la tête en


réponse à un message Path. Le message Resv transite de proche en proche le long du
chemin explicite créé par le message Path. L’adresse de destination d’un message Resv est
l’adresse du nœud précédent enregistré dans l’état RSVP. Le message Resv distribue les
labels en amont et déclenche la réservation de ressources.

Le message Resv contient les informations suivantes :

— l’adresse de la source et de la destination du LSP ;

— les numéros de tunnel et de LSP ;

— la bande passante du LSP ;

— le label alloué localement pour le LSP.

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