1 - Introduction à MPLS
MPLS (Multi-Protocol Label Switching)
est une technique réseau en cours de normalisation à l'IETF dont le rôle
principal est de combiner les concepts du routage IP de niveau 3, et les
mécanismes de la commutation de niveau 2 telles que implémentée dans ATM ou
Frame Relay. MPLS doit permettre d'améliorer le rapport performance/prix des
équipements de routage, d'améliorer l'efficacité du routage (en particulier pour
les grands réseaux) et d'enrichir les services de routage (les nouveaux services
étant transparents pour les mécanismes de commutation de label, ils peuvent être
déployés sans modification sur le coeur du réseau).
Les efforts de l'IETF portent aujourd'hui sur Ipv4. Cependant, la technique MPLS peut être étendue à de multiples protocoles (IPv6, IPX, AppleTalk, etc,). MPLS n'est en aucune façon restreint à une couche 2 spécifique et peut fonctionner sur tous les types de support permettant l'acheminement de paquets de niveau 3.
MPLS traite la commutation en mode connecté (basé sur les labels); les tables de commutation étant calculées à partir d'informations provenant des protocoles de routage IP ainsi que de protocoles de contrôle. MPLS peut être considéré comme une interface apportant à IP le mode connecté et qui utilise les services de niveau 2 (PPP, ATM, Ethernet, ATM, Frame Relay, SDH ...).
La technique MPLS a été voulue par l'IETF relativement simple mais très modulaire et très efficace. Certains points clé sont maintenant mis en avant par l'IETF et par certains grands constructeurs dominés par Cisco, ainsi que par les fournisseurs de services aux premiers desquels se trouvent les opérateurs de réseaux. Un grand effort pour aboutir à une normalisation a été consentie par les différents acteurs, ce qui semble mener à une révolution des réseaux IP.
Les efforts de l'IETF portent aujourd'hui sur Ipv4. Cependant, la technique MPLS peut être étendue à de multiples protocoles (IPv6, IPX, AppleTalk, etc,). MPLS n'est en aucune façon restreint à une couche 2 spécifique et peut fonctionner sur tous les types de support permettant l'acheminement de paquets de niveau 3.
MPLS traite la commutation en mode connecté (basé sur les labels); les tables de commutation étant calculées à partir d'informations provenant des protocoles de routage IP ainsi que de protocoles de contrôle. MPLS peut être considéré comme une interface apportant à IP le mode connecté et qui utilise les services de niveau 2 (PPP, ATM, Ethernet, ATM, Frame Relay, SDH ...).
La technique MPLS a été voulue par l'IETF relativement simple mais très modulaire et très efficace. Certains points clé sont maintenant mis en avant par l'IETF et par certains grands constructeurs dominés par Cisco, ainsi que par les fournisseurs de services aux premiers desquels se trouvent les opérateurs de réseaux. Un grand effort pour aboutir à une normalisation a été consentie par les différents acteurs, ce qui semble mener à une révolution des réseaux IP.
2 - MPLS: Objectifs et Missions
L'un des objectifs initiaux était
d'accroître la vitesse du traitement des datagrammes dans l'ensemble des
équipements intermédiaires. Cette volonté, avec l'introduction des gigarouteurs,
est désormais passée au second plan. Depuis, l'aspect "fonctionnalité" a
largement pris le dessus sur l'aspect "performance", avec notamment les
motivations suivantes :
Intégration IP/ATM
Création de VPN
Flexibilité : possibilité d'utiliser
plusieurs types de media (ATM, FR, Ethernet, PPP, SDH).
Differential Services (DiffServ)
Routage multicast
MPLS pourra assurer une transition facile
vers l'Internet optique. MPLS n'étant pas lié à une technique de niveau 2
particulière, il peut être déployé sur des infrastructures hétérogènes
(Ethernet, ATM, SDH, etc.). Avec la prise en charge de la gestion de contraintes
molles et dures sur la qualité de service (DiffServ, Cisco Guaranteed Bandwidth).
Avec la possibilité d'utiliser simultanément plusieurs protocoles de contrôle,
MPLS peut faciliter l'utilisation de réseaux optiques en fonctionnant
directement sur WDM.
Traffic Engineering permettant de définir
des chemins de routage explicites dans les réseaux IP (avec RSVP ou CR-LDP).
L'ingénierie des flux est la faculté de pouvoir gérer les flux de données
transportés au dessus d'une infrastructure réseau. Aujourd'hui, cette ingénierie
des flux est essentiellement faite à l'aide d'ATM, avec comme conséquence une
grande complexité de gestion (en effet IP et ATM sont deux techniques réseaux
totalement différentes, avec parfois des contraintes non compatibles). Avec
l'intégration de cette fonctionnalité, MPLS va permettre une simplification
radicale des réseaux.
Les labels peuvent être associés à un
chemin, une destination, une source, une application, un critère de qualité de
service, etc. ou une combinaison de ces différents éléments. Autrement dit, le
routage IP est considérablement enrichi sans pour autant voir ses performances
dégradées (à partir du moment ou un datagrame est encapsulé, il est acheminé en
utilisant les mécanismes de commutation de niveau 2). On peut imaginer qu'un des
services les plus importants sera la possibilité de créer des réseaux privés
virtuels (VPN) de niveau 3. Ainsi, des services de voix sur IP, de multicast ou
d'hébergement de serveurs web pourront coexister sur une même infrastructure. La
modularité de MPLS et la granularité des labels permettent tous les niveaux
d'abstraction envisageables.
3 - Le routage classique
IP est un protocole de niveau réseau
fonctionnant dans un mode non connecté, c'est-à-dire que l'ensemble des paquets
(ou datagrammes) constituant le message sont indépendants les uns des autres :
les paquets d'un même message peuvent donc emprunter des chemins différents
utilisant des protocoles IGP (interior gateway protocol), tels que RIP (routing
information protocol) de type "Vecteur de distance", et OSPF (open shortest
path first) de type "Etat de liens" , ou bien des protocoles EGP (exterior
gateway protocol), tel que BGP (border gateway protocol). Chaque routeur
maintient une table de routage, dans laquelle chaque ligne contient un réseau de
destination, un port de sortie, et le prochain routeur relaie vers ce réseau de
destination.
A la réception d'un datagramme, les noeuds intermédiaires (ou routeurs) déterminent le prochain relais (ou next-hop) le plus approprié pour que le paquet rallie sa destination. Ensuite l'adresse mac destination (niveau 2 du model OSI) du datagramme est remplacée par l'adresse mac du routeur relaie (ou next-hop), et l'adresse mac source du datagramme est remplacée par l'adresse mac du routeur courant, laissant sans changement les adresses ip (niveau 3 du model OSI) du datagramme afin 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.
A la réception d'un datagramme, les noeuds intermédiaires (ou routeurs) déterminent le prochain relais (ou next-hop) le plus approprié pour que le paquet rallie sa destination. Ensuite l'adresse mac destination (niveau 2 du model OSI) du datagramme est remplacée par l'adresse mac du routeur relaie (ou next-hop), et l'adresse mac source du datagramme est remplacée par l'adresse mac du routeur courant, laissant sans changement les adresses ip (niveau 3 du model OSI) du datagramme afin 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.
4 - La commutation de labels
Lorsqu'un paquet arrive dans un réseau
MPLS (1). En fonction de la FEC auquelle appartient le paquet, l'ingress node
consulte sa table de commutation (2) et affecte un label au paquet (3), et le
transmet au LSR suivant (4).
Lorsque le paquet MPLS arrive sur un LSR [1] interne du nuage MPLS, le protocole de routage fonctionnant sur cet équipement détermine dans la base de données des labels LIB (Label Base Information), le prochain label à appliquer à ce paquet pour qu'il parvienne jusqu'à sa destination [2]. L'équipement procède ensuite à une mise à jour de l'en-tête MPLS (swapping du label et mise à jour du champ TTL, du bit S) [3], avant de l'envoyer au noeud suivant (LSR ou l'egress node) [4]. Il faut bien noter que sur un LSR interne, le protocole de routage de la couche réseau n'est jamais sollicité.
Enfin, une fois que le paquet MPLS arrive à l'egress node [1], l'équipement lui retire toute trace MPLS [2] et le transmet à la couche réseau.
Lorsque le paquet MPLS arrive sur un LSR [1] interne du nuage MPLS, le protocole de routage fonctionnant sur cet équipement détermine dans la base de données des labels LIB (Label Base Information), le prochain label à appliquer à ce paquet pour qu'il parvienne jusqu'à sa destination [2]. L'équipement procède ensuite à une mise à jour de l'en-tête MPLS (swapping du label et mise à jour du champ TTL, du bit S) [3], avant de l'envoyer au noeud suivant (LSR ou l'egress node) [4]. Il faut bien noter que sur un LSR interne, le protocole de routage de la couche réseau n'est jamais sollicité.
Enfin, une fois que le paquet MPLS arrive à l'egress node [1], l'équipement lui retire toute trace MPLS [2] et le transmet à la couche réseau.
5 - Principes MPLS
Basée sur la permutation d'étiquettes,
un mécanisme de transfert simple offre des possibilités de nouveaux paradigmes
de contrôle et de nouvelles applications. Au niveau d'un LSR (Label Switch
Router) du nuage MPLS, la permutation d'étiquette est réalisée en analysant une
étiquette entrante, qui est ensuite permutée avec l'étiquette sortante et
finalement envoyée au saut suivant. Les étiquettes ne sont imposées sur les
paquets qu'une seule fois en périphérie du réseau MPLS au niveau du Ingress
E-LSR (Edge Label Switch Router) où un calcul est effectué sur le datagramme
afin de lui affecter un label spécifique. Ce qui est important ici, est que ce
calcul n'est effectué qu'une fois. La première fois que le datagramme d'un flux
arrive à un Ingress E-LSR. Ce label est supprimé à l'autre extrémité par le
Egress E-LSR. Donc le mécanisme est le suivant: Le Ingress LSR (E-LSR) recoit
les paquets IP, réalise une classification des paquets, y assigne un label et
transmet les paquets labellisés au nuage MPLS. En se basant uniquement sur les
labels, les LSR du nuage MPLS commutent les paquets labellisés jusqu'à l'Egress
LSR qui supprime les labels et remet les paquets à leur destination finale.
L'affectation des étiquettes aux paquets dépend des groupes ou des classes de flux FEC (forwarding équivalence classes). Les paquets appartenant à une même classe FEC sont traités de la même manière. Le chemin établi par MPLS appelé LSP (Label Switched Path) est emprunté par tous les datagrammes de ce flux. L'étiquette est ajoutée entre la couche 2 et l'en-tête de la couche 3 (dans un environnement de paquets) ou dans le champ VPI/VCI (identificateur de chemin virtuel/identificateur de canal virtuel dans les réseaux ATM). Le switch LSR du nuage MPLS lit simplement les étiquettes, applique les services appropriés et redirige les paquets en fonction des étiquettes. Ce schéma de consultation et de transfert MPLS offre la possibilité de contrôler explicitement le routage en fonction des adresses source et destination, facilitant ainsi l'introduction de nouveaux services IP. Un flux MPLS est vu comme un flux de niveau 2.5 appartenant niveau 2 et niveau 3 du modèle de l'OSI.
L'affectation des étiquettes aux paquets dépend des groupes ou des classes de flux FEC (forwarding équivalence classes). Les paquets appartenant à une même classe FEC sont traités de la même manière. Le chemin établi par MPLS appelé LSP (Label Switched Path) est emprunté par tous les datagrammes de ce flux. L'étiquette est ajoutée entre la couche 2 et l'en-tête de la couche 3 (dans un environnement de paquets) ou dans le champ VPI/VCI (identificateur de chemin virtuel/identificateur de canal virtuel dans les réseaux ATM). Le switch LSR du nuage MPLS lit simplement les étiquettes, applique les services appropriés et redirige les paquets en fonction des étiquettes. Ce schéma de consultation et de transfert MPLS offre la possibilité de contrôler explicitement le routage en fonction des adresses source et destination, facilitant ainsi l'introduction de nouveaux services IP. Un flux MPLS est vu comme un flux de niveau 2.5 appartenant niveau 2 et niveau 3 du modèle de l'OSI.
6 - Label
Un label a une signification locale
entre 2 LSR adjacents et mappe le flux de trafic entre le LSR amont et la LSR
aval. A chaque bond le long du LSP, un label est utilisé pour chercher les
informations de routage (next hop, lien de sortie, encapsulation, queueing et
scheduling) et les actions à réaliser sur le label : insérer, changer ou
retirer. La figure ci dessous, décrit la mise en oeuvre des labels dans les
différentes technologies ATM, Frame Relay, PPP, Ethernet et HDLC. Pour les
réseaux Ethernet, un champ appelé shim a été introduit entre la couche 2 et la
couche 3. Sur 32 bits, il a une signification d'identificateur local d'une FEC.
20 bits contiennent le label, un champ de 3 bits appelé Classe of Service (CoS)
sert actuellement pour la QoS, un bit S pour indiquer s'il y a empilement de
labels et un dernier champ, le TTL sur 8 bits (même signification que pour IP).
L'empilement des labels permet en particulier d'associer plusieurs contrats de
service à un flux au cours de sa traversé du réseau MPLS.
7 - Implicit Routing (LDP)
La distribution implicite de labels aux
LSR est réalisée grâce au protocole LDP (Label Distribution Protocol). 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 (Interior Gateway
Protocol) dans le réseau. Chaque noeud doit donc mettre en oeuvre un protocole
de routage de niveau 3, et les décisions de routage sont prises indépendamment
les unes des autres.
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 noeuds se sont découverts, ils établissent une session TCP qui 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.
LDP supporte les spécifications suivantes :
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 noeuds se sont découverts, ils établissent une session TCP qui 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.
LDP supporte les spécifications suivantes :
les labels sont assignés à un noeud amont
à partir des informations contenues dans la table de routage:
3 FEC (Forwarding Equivalent Classes)
sont définies : il est possible de mapper un label soit à un flux de trafic, à
un préfixe d'adresse IP ou à un router-ID. Le flux de trafic reçoit le même
traitement de forwarding selon le label qui lui est associé.
une connexion LDP peut être établie entre
2 LSR directement ou indirectement connectés
il existe 2 modes de rétention de label :
soit " conservatif " soit " libéral ". Pour le mode de rétention " conservatif "
, seul le label correspondant au meilleur bond est retenu. Par contre, pour le
mode de rétention " libéral ", tous les labels transmis par les LSR adjacents
pour un flux donné sont retenus. Ce mode permet un reroutage rapide en cas de
problème car des labels alternatifs sont disponibles instantanément.
8 - Explicit Routing
L'Explicit Routing est la solution MPLS
pour faire du Traffic Engineering dont l'objectif est le suivant :
utiliser efficacement des ressources du
réseau
éviter les points de forte congestion en
répartissant le trafic sur l'ensemble du réseau. En effet, le plus court chemin
déterminé par le routage classique IP pour atteindre une destination peut ne pas
être le seul chemin possible et certains chemins alternatifs peuvent être
sous-utilisés alors que le plus court chemin est sur-utilisé.
Historiquement, le Traffic Engineering a
été réalisé grâce à des métriques de liens associées à des protocoles de routage
internes (RIP, OSPF, IS-IS). A la fin des années 90, il a également été possible
de faire du Traffic Engineering avec des technologies de niveau 2 telles que ATM
et Frame Relay. Aujourd'hui, MPLS émerge comme un nouveau mécanisme de Traffic
Engineering en offrant une plus grande flexibilité de routage IP (bande
passante, QoS,...), grâce à l'Explicit Routing. Dans ce cas, le LSP n'est plus
déterminé à chaque bond comme pour l'implicit routing : c'est l'ingress node qui
choisit le chemin de bout en bout. Au niveau des LSR en coeur de réseau, seul le
label MPLS est analysé (pas l'en-tête du datagramme IP).
L'Explicit Routing permet à un opérateur de faire du Traffic Engineering en imposant au réseau des contraintes sur les flux, du point source jusqu'au point destination. Ainsi, des routes autres que le plus court chemin peuvent être utilisées. Le réseau détermine lui-même le chemin en suivant les étapes ci-dessous :
L'Explicit Routing permet à un opérateur de faire du Traffic Engineering en imposant au réseau des contraintes sur les flux, du point source jusqu'au point destination. Ainsi, des routes autres que le plus court chemin peuvent être utilisées. Le réseau détermine lui-même le chemin en suivant les étapes ci-dessous :
connaissance de l'état du réseau :
topologie, bande passante réelle d'un lien, bande passante utilisée, bande
passante restante. Des extensions ont été apportées aux protocoles de routage
OSPF et IS-IS car la distribution dynamique des bases de données était limitée
aux noeuds adjacents et à une seule métrique.
calcul d'un chemin répondant aux
contraintes spécifiées. Les extensions d'OSPF et d'IS-IS sont nécessaires.
établissement du ER-LSP (Explicitly
Routed Path). La source connaît le chemin complet de l'ingress node à l'egress
node et c'est elle qui spécifie les LSR à l'intérieur du LSP. Deux options de
signalisation spécifiées pour l'établissement du LSP : RSVP ou CR-LDP (Constraint-Based
Routing LDP) :
CR-LDP est l'alternative à RSVP; il est
jugé plus fiable dans la mesure où il met en oeuvre TCP (orienté connexion). De
plus, CR-LDP peut interfonctionner avec LDP et utilise les messages LDP pour
signaler les différentes contraintes. Les fonctions de CR-LDP sont réalisées par
des instructions matérielles (asics) ne nécessitant pas de fréquents
rafraîchissements, contrairement à RSVP dont les fonctions sont réalisées par le
logiciel nécessitant de fréquents messages de rafraîchissement.
envoi du trafic sur le chemin trouvé
supervision de l'état des LSP et le
transmet à l'IGP
ré-optimisation des LSP quand nécessaire
Les fonctions supportées par ER-LDP sont :
ER-LSP de bout en bout
strict/loose explicit routing : dans un
LSP routé de manière " stricte ", chaque bond est spécifié. Une section du LSP
peut être routée de manière " imprécise " lorsque sont introduits 2 LSR non
directement connectés.
spécification d'une classe de service
réservation de bande passante
route pinning : dans une section de
ER-LSP routée de manière " imprécise ", les bonds sont sélectionnés selon une
transmission bond par bond
ER-LSP preemption :
établissement/maintien de priorité
9 - Support de la QoS
9.1 - Signalisation et QoS
L'intérêt principal de MPLS est de
permettre de se passer des couches inférieures ATM,
Ethernet, PPP, Frame Relay
et de fournir directement à la couche IP un mode connecté. Vu les similitudes
qu'il y a entre traiter un " label " et traiter un champ VPI/VCI de cellule ATM,
la majorité des premières implémentations réutilisent un coeur de commutateur
ATM. De fait, pour les constructeurs d'équipements, il est relativement facile
de transformer un commutateur PNNI/ATM, en commutateur/routeur MPLS/IP de coeur
de réseau : ceci revient à remplacer la couche logicielle du plan de commande
par une " couche logicielle MPLS ", c'est à dire remplacer PNNI Signalling par
LDP (Label Distribution Protocol) et PNNI Routing par OSPF (ou IS-IS, etc.).
LDP est le protocole de signalisation qui permet d'affecter des labels à un chemin au sein d'un réseau. En ce sens, il correspond à un protocole de signalisation et d'un point de vue fonctionnel s'apparente à PNNI Signalling. Cependant, LDP ne contient pas de paramètres permettant de formuler une demande de ressources à l'établissement d'un LSP (même s'il est possible de demander un traitement spécifique pour tous les paquets empruntant un même LSP, selon le modèle DiffServ).
Deux approches ont été retenues à l'IETF pour permettre d'associer des ressources et de garantir de la QoS sur un LSP : CR-LDP pour Constraint based Routing LDP, définit des extensions à LDP, et RSVP-Tunnels, définit des extensions à RSVP pour la commande de LSP. L'IETF a décidé de ne pas trancher entre ces deux approches concurrentes et de laisser ce soin au marché. Elles permettent toutes les deux d'associer de la ressource à un LSP. La première peut le faire selon les deux modèles " QoS ATM " (catégorie de service, paramètres de trafic et de QoS), et " QoS IP " (modèle Intserv), alors que la deuxième permet essentiellement de la " QoS IP ".
Une utilisation combinée de LDP+CR-LDP, ou de RSVP-Tunnels permet donc d'établir des LSP en leur associant de la bande passante.
LDP est le protocole de signalisation qui permet d'affecter des labels à un chemin au sein d'un réseau. En ce sens, il correspond à un protocole de signalisation et d'un point de vue fonctionnel s'apparente à PNNI Signalling. Cependant, LDP ne contient pas de paramètres permettant de formuler une demande de ressources à l'établissement d'un LSP (même s'il est possible de demander un traitement spécifique pour tous les paquets empruntant un même LSP, selon le modèle DiffServ).
Deux approches ont été retenues à l'IETF pour permettre d'associer des ressources et de garantir de la QoS sur un LSP : CR-LDP pour Constraint based Routing LDP, définit des extensions à LDP, et RSVP-Tunnels, définit des extensions à RSVP pour la commande de LSP. L'IETF a décidé de ne pas trancher entre ces deux approches concurrentes et de laisser ce soin au marché. Elles permettent toutes les deux d'associer de la ressource à un LSP. La première peut le faire selon les deux modèles " QoS ATM " (catégorie de service, paramètres de trafic et de QoS), et " QoS IP " (modèle Intserv), alors que la deuxième permet essentiellement de la " QoS IP ".
Une utilisation combinée de LDP+CR-LDP, ou de RSVP-Tunnels permet donc d'établir des LSP en leur associant de la bande passante.
9.2 - Routage et QoS
Dans son expression la plus simple, MPLS
utilise les fonctions de routage IP pour établir un LSP : le message
d'établissement est alors routé comme le serait n'importe quel autre paquet IP
contenant la même adresse destination. Dans ce cas, le routage se fait " hop by
hop ", chaque routeur décidant par lui même de l'interface de sortie vers
laquelle il envoie le message, indépendamment de ce que les routeurs précédent
ont pu choisir. Ce mode de fonctionnement permet à un opérateur d'établir
simplement un LSP entre deux extrémités de son réseau (pratique dans le cadre
des VPNs). De plus, un tel mode de fonctionnement permet de sécuriser des LSP en
autorisant leur reroutage en cas de faute dans le réseau (comme pour des Soft
PVC en PNNI).
L'inconvénient d'un routage " hop by hop " dans un environnement dynamique est qu'il y a un risque de création de boucles. Le problème des boucles en MPLS a fait l'objet de divers documents, sans que de réelle solution soit trouvée : en routage " hop by hop ", on sait détecter des boucles, on ne sait pas les éviter complètement. Au cours de l'établissement, quand RSVP-Tunnels ou CR-LDP est utilisé, MPLS permet d'établir des LSP avec ressources associées, automatiquement à travers le réseau.
En MPLS, un LSP auquel on veut associer de la bande passante, s'il est routé via le protocole de routage IP, suivra la même route que n'importe quel autre LSP vers la même destination : la route qui minimise la somme des poids administratifs (seul paramètre déclaré par OSPF). Dans le cas de MPLS, les routeurs choisissent la route et vérifient a posteriori que la ressource nécessaire à l'établissement du LSP est effectivement présente sur cette route. La probabilité que la route retenue ne dispose pas de la ressource est plus importante en MPLS qu'en PNNI.
OSPF et IS-IS n'ont pas été définis pour router des trafics nécessitant un certain niveau de QoS, ou un minimum de bande passante. Ils ne fournissent donc pas à un routeur IP les informations dont celui-ci aurait besoin pour router un LSP en fonction de ce qui est signalé en RSVP-Tunnels ou CR-LDP. Pour surmonter ces insuffisances, des extensions ont été proposées pour OSPF et IS-IS (par exemple OSPF-TE: une extension au traffic engeneering ) pour leur permettre de diffuser au sein d'un réseau IP les informations de QoS dont les routeurs pourraient avoir besoin pour router des LSP.
L'inconvénient d'un routage " hop by hop " dans un environnement dynamique est qu'il y a un risque de création de boucles. Le problème des boucles en MPLS a fait l'objet de divers documents, sans que de réelle solution soit trouvée : en routage " hop by hop ", on sait détecter des boucles, on ne sait pas les éviter complètement. Au cours de l'établissement, quand RSVP-Tunnels ou CR-LDP est utilisé, MPLS permet d'établir des LSP avec ressources associées, automatiquement à travers le réseau.
En MPLS, un LSP auquel on veut associer de la bande passante, s'il est routé via le protocole de routage IP, suivra la même route que n'importe quel autre LSP vers la même destination : la route qui minimise la somme des poids administratifs (seul paramètre déclaré par OSPF). Dans le cas de MPLS, les routeurs choisissent la route et vérifient a posteriori que la ressource nécessaire à l'établissement du LSP est effectivement présente sur cette route. La probabilité que la route retenue ne dispose pas de la ressource est plus importante en MPLS qu'en PNNI.
OSPF et IS-IS n'ont pas été définis pour router des trafics nécessitant un certain niveau de QoS, ou un minimum de bande passante. Ils ne fournissent donc pas à un routeur IP les informations dont celui-ci aurait besoin pour router un LSP en fonction de ce qui est signalé en RSVP-Tunnels ou CR-LDP. Pour surmonter ces insuffisances, des extensions ont été proposées pour OSPF et IS-IS (par exemple OSPF-TE: une extension au traffic engeneering ) pour leur permettre de diffuser au sein d'un réseau IP les informations de QoS dont les routeurs pourraient avoir besoin pour router des LSP.
9.3 - Architecture pour la QoS
Deux types d'architectures sont étudiées
pour définir la QoS IP :
Integrated Services (IntServ)
Differential Services (DiffServ)
IntServ suppose que pour chaque flux
demandant de la QoS, les ressources nécessaires sont réservées à chaque bond
entre l'émetteur et le récepteur. IntServ requiert une signalisation de bout en
bout, assurée par RSVP, et doit maintenir l'état de chaque flux (messages RSVP,
classification, policing et scheduling par flux de niveau 4). IntServ permet
donc une forte granularité de QoS par flux et pour cette raison, est plutôt
destiné à être implémenté à l'accès.
IntServ définit 2 classes de services :
IntServ définit 2 classes de services :
Guaranteed : garantie de bande passante,
délai et pas de perte de trafic
Controlled Load : fournit différents
niveaux de services en best effort
DiffServ, quant à lui, est davantage
destiné à être appliqué en coeur de réseau opérateur. Les différents flux,
classifiés selon des règles prédéfinies, sont agrégés selon un nombre limité de
classes de services, ce qui permet de minimiser la signalisation. DiffServ ne
peut pas offrir de QoS de bout en bout et a un comportement " Hop By Hop ".
DiffServ définit 2 classifications de service (Expedited, Assured) qui peuvent être corrélées aux classifications de service IntServ (Guaranteed, Controlled Load).
DiffServ utilse les 6 premiers bits du champ TOS de l'entête IP afin de classifier le trafic dans des classes ou contrats au niveau de l'Ingress-LSR. Ce champ s'appellera DS-Field dans DiffServ. Voir la comparaison dans les deux figures ci dessus entre ces deux champs. Au niveau des LSR, DiffServ définit des PHB (Per Hop Behaviors) afin de construire ces LSPs. Ainsi au niveau des Edges LSR, DiiServ utilise le champs DS-Field, et à l'intérieur du corps MPLS, il invoque les PHBs.
MPLS est amené à inter fonctionner avec DiffServ, car LDP supporte avant tout de la QoS à faible granularité.
IntServ et DiffServ sont donc 2 mécanismes complémentaires permettant d'établir une QoS consistante sur les réseaux MPLS et non MPLS.
DiffServ définit 2 classifications de service (Expedited, Assured) qui peuvent être corrélées aux classifications de service IntServ (Guaranteed, Controlled Load).
DiffServ utilse les 6 premiers bits du champ TOS de l'entête IP afin de classifier le trafic dans des classes ou contrats au niveau de l'Ingress-LSR. Ce champ s'appellera DS-Field dans DiffServ. Voir la comparaison dans les deux figures ci dessus entre ces deux champs. Au niveau des LSR, DiffServ définit des PHB (Per Hop Behaviors) afin de construire ces LSPs. Ainsi au niveau des Edges LSR, DiiServ utilise le champs DS-Field, et à l'intérieur du corps MPLS, il invoque les PHBs.
MPLS est amené à inter fonctionner avec DiffServ, car LDP supporte avant tout de la QoS à faible granularité.
IntServ et DiffServ sont donc 2 mécanismes complémentaires permettant d'établir une QoS consistante sur les réseaux MPLS et non MPLS.
10 - VPN
Définitions (RFC2547):
Deux sites distincts ont une connectivité
IP sur le même backbone, seulement s'ils appartiennent à un même VPN sur ce
backbone.
Deux sites qui ne sont pas dans le même
backbone, n'ont aucune connectivité IP entre eux sur ce backbone.
Si tous les sites dans un VPN
appartiennent à la même entreprise, alors il s'agit d'un intranet.
Si tous les sites dans un VPN
appartiennent différentes entreprises, alors il s'agit d'un extranet.
Un site peut être dans plusieurs VPN:
Dans un intranet et dans un, ou plusieurs extranets.
Les offres d'un service VPN IP répondent
aux besoins des entreprises nécessitant:
Un service de réseau IP privé sur une
infrastructure de réseau IP public.
Utilisant la couche réseau IP, niveau 3.
Une scalabilité aisée.
Possibilité d'utilisation d'un adressage
privé sur un réseau public.
QoS.
Accès contrôlé et étanche vis à vis des
autres flux sur l'infrastructure public.
Les informations de routage à
l'intérieur d'un VPN sont distribuées de la manière suivante :
du site client vers le VBG (VPN Border
Gateway) source : via RIP, OSPF ou en routage statique
au niveau du VBG source : exportation
vers BGP
entre VBG source et VBG destination : via
BGP
au niveau du VBG destination :
importation à partir de BGP
du VBG destination vers le site client :
via RIP, OSPF ou en routage statique
Le VBG source applique 2 labels au paquet de data lorsqu'un VPN est utilisé (Cisco utilse une autre methode: La VPN-IP@ = 96 bits: 64 bits identifiant le VPN et 32 bits de l'@ IP-V4 classique).
le premier label (extérieur) identifie le
chemin vers le VBG destination, et change à chaque bond
le second label (intérieur) spécifie le
VPN-ID attribué au VPN et n'est pas modifié entre le VBG source et le VBG
destination
Cette paire de labels permet
d'implémenter aisément les mécanismes des VPN dans MPLS:
11 - Traffic Engineering
Les motivations initiales pour la
définition de l'architecture MPLS étaient de doter le monde IP d'un mode
connecté et ainsi d'améliorer les performances des routeurs en traitant les
paquets IP directement au niveau 2 (commutation) sans avoir à remonter
systématiquement au niveau 3 (routage) à chaque bond. En effet, commuter un
paquet IP à partir d'un " label " revient à utiliser le label entrant comme
pointeur dans un tableau dont la case correspondante contient l'interface de
sortie vers laquelle le paquet doit être envoyé, ainsi que le nouveau label à
lui affecter. Une telle opération, qui correspond exactement au traitement du
champ VPI/VCI d'une cellule entrant dans un commutateur ATM, est à priori
beaucoup plus simple que l'opération classique de routage d'un paquet IP.
Ceci étant, les performances des routeurs IP étant devenues ce qu'elles sont, l'argument de l'augmentation des performances des commutateurs/routeurs MPLS/IP perd un peu de son intérêt : les algorithmes de routage de paquets les plus récents offrent des performances (en rapidité de traitement) quasi similaires à celles d'une simple opération de commutation. L'industrie a dès lors mis l'accent sur l'intérêt de MPLS comme outil permettant le " Traffic Engineering ".
Par " Traffic Engineering MPLS ", il faut comprendre, établissement de connexions " à la demande ", " gestion de trafic ", gestion des routes, gestion des ressources, gestion de l'écoulement de flux de trafic à travers un réseau IP. La possibilité de faire suivre à des paquets IP un chemin à travers le réseau ne correspondant pas forcément au chemin que ces mêmes paquets auraient suivi s'ils avaient été routés au niveau 3 (c'est à dire à partir des informations issues du protocole de routage interne du réseau, i.e. RIP, OSPF, IS-IS, EIGRP, etc.), ceci afin de mieux gérer les ressources du réseau ". En effet, via un Label Switched Path (LSP), MPLS permet d'imposer le chemin que les paquets IP doivent suivre pour atteindre une destination donnée. Un LSP est donc unidirectionnel.
MPLS et ses LSPs constituent dès lors un outil de gestion et d'optimisation de l'utilisation des ressources d'un réseau IP : les LSP sont montés par voie de gestion à l'avance par l'opérateur selon un chemin que celui-ci peut avoir préalablement choisi et déterminé....
Une utilisation " Traffic Engineering " de LSP MPLS s'apparente à la fonction Soft PVC unidirectionnel (contrairement à un LSP, un VC peut aussi être bidirectionnel) qui existe en commutation ATM. Pour établir un Soft PVC, l'opérateur se contente généralement d'identifier par voie de gestion les extrémités qu'il veut joindre. La connexion est ensuite établie automatiquement entre ces deux extrémités, la route que cette connexion suit à travers le réseau étant déterminée par les éléments de coeur de réseau. Dans le cas de PNNI, la spécification laisse le routage d'un Soft PVC sous la responsabilité des noeuds ATM. Ceci étant, la majorité des MIB propriétaires permettent à un opérateur de spécifier lui-même s'il le désire le chemin qu'un Soft PVC doit suivre à travers le réseau.
La principale différence entre un LSP MPLS et un Soft PVC ATM est qu'il est possible d'associer à un Soft PVC une catégorie de service ATM, ainsi que des paramètres de trafic et de QoS. Dans un réseau MPLS simple, établir des LSP revient alors à établir des Soft PVC UBR unidirectionnels : on marque un chemin à travers le réseau sans lui associer de ressources.
Ceci étant, les performances des routeurs IP étant devenues ce qu'elles sont, l'argument de l'augmentation des performances des commutateurs/routeurs MPLS/IP perd un peu de son intérêt : les algorithmes de routage de paquets les plus récents offrent des performances (en rapidité de traitement) quasi similaires à celles d'une simple opération de commutation. L'industrie a dès lors mis l'accent sur l'intérêt de MPLS comme outil permettant le " Traffic Engineering ".
Par " Traffic Engineering MPLS ", il faut comprendre, établissement de connexions " à la demande ", " gestion de trafic ", gestion des routes, gestion des ressources, gestion de l'écoulement de flux de trafic à travers un réseau IP. La possibilité de faire suivre à des paquets IP un chemin à travers le réseau ne correspondant pas forcément au chemin que ces mêmes paquets auraient suivi s'ils avaient été routés au niveau 3 (c'est à dire à partir des informations issues du protocole de routage interne du réseau, i.e. RIP, OSPF, IS-IS, EIGRP, etc.), ceci afin de mieux gérer les ressources du réseau ". En effet, via un Label Switched Path (LSP), MPLS permet d'imposer le chemin que les paquets IP doivent suivre pour atteindre une destination donnée. Un LSP est donc unidirectionnel.
MPLS et ses LSPs constituent dès lors un outil de gestion et d'optimisation de l'utilisation des ressources d'un réseau IP : les LSP sont montés par voie de gestion à l'avance par l'opérateur selon un chemin que celui-ci peut avoir préalablement choisi et déterminé....
Une utilisation " Traffic Engineering " de LSP MPLS s'apparente à la fonction Soft PVC unidirectionnel (contrairement à un LSP, un VC peut aussi être bidirectionnel) qui existe en commutation ATM. Pour établir un Soft PVC, l'opérateur se contente généralement d'identifier par voie de gestion les extrémités qu'il veut joindre. La connexion est ensuite établie automatiquement entre ces deux extrémités, la route que cette connexion suit à travers le réseau étant déterminée par les éléments de coeur de réseau. Dans le cas de PNNI, la spécification laisse le routage d'un Soft PVC sous la responsabilité des noeuds ATM. Ceci étant, la majorité des MIB propriétaires permettent à un opérateur de spécifier lui-même s'il le désire le chemin qu'un Soft PVC doit suivre à travers le réseau.
La principale différence entre un LSP MPLS et un Soft PVC ATM est qu'il est possible d'associer à un Soft PVC une catégorie de service ATM, ainsi que des paramètres de trafic et de QoS. Dans un réseau MPLS simple, établir des LSP revient alors à établir des Soft PVC UBR unidirectionnels : on marque un chemin à travers le réseau sans lui associer de ressources.
12 - Agrégation de flux
L'une des forces annoncées de MPLS est
sa capacité d'agrégation de flux : la possibilité de réunir le trafic entrant
dans un routeur via plusieurs LSP dans un seul et unique LSP sortant. Une telle
configuration correspond à monter une connexion multi-point à point (fonction de
VC merge en ATM), comparable à un arbre inversé dont le routeur de sortie serait
la racine. Cette fonction permet de réduire au maximum le nombre de connexions
que les routeurs de coeur de réseau ont à gérer.
Dans ce même but, MPLS introduit un concept de hiérarchie au niveau des LSP et d'empilement des labels. Il est donc possible de construire des LSP, encapsulés dans un autre LSP, lui-même encapsulé dans un LSP, etc. Ce concept d'encapsulation rappelle évidemment la possibilité en ATM de mettre des VC dans des VP. Cependant, en MPLS, le nombre de niveau d'encapsulation (ou de hiérarchie) n'est a priori pas limité à 2.
Dans ce même but, MPLS introduit un concept de hiérarchie au niveau des LSP et d'empilement des labels. Il est donc possible de construire des LSP, encapsulés dans un autre LSP, lui-même encapsulé dans un LSP, etc. Ce concept d'encapsulation rappelle évidemment la possibilité en ATM de mettre des VC dans des VP. Cependant, en MPLS, le nombre de niveau d'encapsulation (ou de hiérarchie) n'est a priori pas limité à 2.
13 - Applications
Les applications les plus courantes du
MPLS sont les suivantes :
L'ingénierie de trafic est activée par
des mécanismes MPLS permettant de diriger le trafic via un chemin spécifique,
qui n'est pas nécessairement le chemin le moins coûteux. Les administrateurs de
réseau peuvent mettre en oeuvre des politiques visant à assurer une distribution
optimale du trafic et à améliorer l'utilisation globale du réseau.
La bande passante garantie constitue une
amélioration à forte valeur ajoutée par rapport aux mécanismes d'ingénierie de
trafic traditionnels. MPLS permet aux fournisseurs de services d'allouer des
largeurs de bande passante et des canaux garantis. La bande passante garantie
permet également la comptabilité des ressources QoS (qualité de service) de
manière à organiser le trafic 'prioritaire' et 'au mieux', tels que la voix et
les données.
Le reroutage rapide permet une reprise
très rapide après la défaillance d'une liaison ou d'un noeud. Une telle rapidité
de reprise empêche l'interruption des applications utilisateur ainsi que toute
perte de données.
Les réseaux privés virtuels MPLS
simplifient considérablement le déploiement des services par rapport aux VPN IP
traditionnels. Lorsque le nombre de routes et de clients augmente, les VPN MPLS
peuvent facilement monter en charge, tout en offrant le même niveau de
confidentialité que les technologies de niveau 2. Ils peuvent également
transporter des adresses IP non-uniques à travers un domaine public.
La fonction Classe de service (CoS) MPLS
assure que le trafic important est traité avec la priorité adéquate sur le
réseau et que les exigences de latence sont respectées. Les mécanismes de
qualité de service IP peuvent être mis en oeuvre de façon transparente dans un
environnement MPLS.
14 - Discussion autour de la documentation
Vous pouvez poser toutes vos questions,
vos remarques et vos expériences à propos de MPLS. Pour cela,
rendez-vous sur le
Forum "Les
réseaux privées virtuels".
15 - Suivi du document
En 2001, par Benbella Benduduh et Jean
Marc Fourcade, création du document.
Aucun commentaire:
Enregistrer un commentaire
Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.