Vous êtes ici : Accueil Glossaire / MPLS

Bienvenue dans la technologie MPLS

Multiprotocol / Multipurpose Label Switching (MPLS)
 

¨       La recherche de performance 

Plus personne aujourd'hui ne peut contester le succès d'IP et de l'Internet. Le trafic continue sa progression géométrique à un rythme qui ne faiblit pas. Toutefois, ce succès n’est pas sans soulever des problèmes.

L’augmentation du trafic et, par conséquence, du débit des circuits physiques pose tout d’abord un problème pour l’architecture classique d’un réseau IP. L’extension des tables de routage et le traitement des segments IP limitent la capacité des routeurs classiques. Aussi a-t-on cherché à faire évoluer le routeur vers un commutateur dont l’ATM avait démontré l’intérêt au point de vue performance. C’est d’ailleurs une intégration des fonctions de routage IP avec les fonctions de commutation de l’ATM qui a constitué la genèse du "label switching".

La recherche de performance n’est que l’un des aspects qui marquent aujourd’hui l’évolution de l’architecture IP. Le succès de l'Internet et son caractère universel l'oblige à prendre en considération l'ensemble des applications et en particulier les exigences de qualité de service des applications non élastiques. RSVP, IntServ et DiffServ sont les réponses de l’IETF à cette recherche de qualité de service. Ici encore, dans la phase initiale, l’ATM a joué un rôle essentiel et ce n’est pas un hasard si la presque totalité des fournisseurs de service Internet ont d’abord choisi l'ATM pour le coeur de leurs réseaux.

Mais cette approche a aussi ses limitations et le réseau IP, tout en cherchant à rester indépendant des technologies, se devait de reconnaître la nécessité de s’appuyer dans la couche réseau sur des connections virtuelles. MPLS, à travers le concept de LSP (Label Switched Path) permet l’introduction de cette connection virtuelle dans la couche réseau, un label pouvant être associé tant à un flot applicatif qu’à un agrégat de trafic requérant le même traitement de l’entrée à la sortie. De plus, MPLS est capable d’utiliser non seulement les liaisons point-à-point mais les technologies des couches 1 et 2 telles que ATM avec ou sans SDH, SDH sans ATM et peut-être, plus tôt que prévu, la commutation optique.

Revenant à l’architecture de la couche réseau, MPLS permet de corriger les limitations des protocoles de routage tels que OSPF ou IS-IS pour l’ingénierie du trafic et les QoS en permettant la balance des charges, le routage explicite ainsi que le routage avec contraintes.

La description suivante est imagée pour permettre une meilleur compréhension et saisir le principe

"MPLS, C'est tout comme".

MPLS (Multi Protocole Label Switching) est un protocole développé par Cisco. Il est surtout employé par les opérateurs pour améliorer les performances de leur réseau IP (Internet Protocole).

  • La première fonctionnalité de MPLS est d"accélérer la transmission des informations au sein d'un backbone IP.
  • La seconde est de permettre la création de VPN (Virtual Private Network) ou groupe fermé d'utilisateurs.

Pour envoyer un message, prenons l'analogie avec le courrier postal.

  • Tout d'abord, il faut rédiger un petit mot, un message, en télécommunication ceux sont des données ou data
  • Puis il faut adresser l'enveloppe, cela correspond à l'adresse IP destination.
  • Il est souhaitable d'indiquer l'adresse de l'expéditeur pour une réponse , cela équivaut à l'adresse IP source.
  • La missive ainsi faite s'appelle dans le jargon informatique un datagramme IP.

Datagramme IP = lettre+ enveloppe

information de contrôle @ IP Source @ IP Destination Option IP

Données

=

   

Dans la trame IP ci-dessus, il y a les adresses du destinataire et de l'émetteur, ainsi que les données à transmettre =  un petit mot et les adresses du destinataire et de l'expéditeur

 MPLS accélère les performances du backbone.

Normalement, au niveau des centres de tri (routeurs), l'acheminement du courrier se fait en fonction de la lecture de l'adresse (IP) destinataire.
Dans le cas de MPLS, l'acheminement est basé sur la reconnaissance d'un label. MPLS est mis en oeuvre en entrée de réseau ou dans le premier bureau de poste.

Une des particularités de MPLS est d'insérer deux indications (label ou tag) devant l'adresse IP du paquet à acheminer.
l'une de ces indications est presque l'équivalent d'un code postal qui permet dans le réseau de transit de ne plus se préoccuper de l'adresse mais de traiter le courrier en fonction de ce "code postal". D'où un gain de temps très appréciable dans le traitement de l'opération.

Maintenant, le courrier peut être commuté d'après le label rouge au sein du réseau de centre de tri en centre de tri pour atteindre la destination finale.

Le label violet correspond à l'appartenance à un VPN. 

MPLS permet la création de VPN.

Un autre label, également inséré en entrée du réseau, permet d'identifier et de désigner l'appartenance à un VPN ou groupe fermé d'usagers. Nous pouvons faire une analogie avec le numéro de boite postal.
Une fois labellisé, un paquet IP n'est plus modifié.

Le PE (Provider Edge) est considéré comme le premier point d'entrée du backbone ou premier bureau de poste.
Une table d'acheminement appelée VRF (Virtual Routing and Forwarding Table) permet d'attribuer les labels pour  désigner un VPN donné ainsi que son chemin de commutation pour accéder au destinataire.
Pour appartenir à un VPN, l'utilisateur et le carnet d'adresses de ces correspondants doivent être déclarés dans les registres (VRF) du point d'entrée backbone.
Les usagers ne peuvent communiquer entre eux que si ils possèdent une politique de routage identique (VRF), c'est à dire un même carnet d'adresses. 

Chaque PE peut contenir plusieurs VRFs, c’est-à-dire gérer plusieurs VPNs.

¨       L'aspect fonctionnalité 

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. A la réception d’un datagramme, les nœuds intermédiaires (ou routeurs) déterminent le prochain relais (ou next-hop) le plus approprié pour que le paquet rallie sa destination. Ce calcul 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, est devenu aujourd’hui un frein à son évolution.

MPLS est une technologie toujours en cours de standardisation à l’IETF. 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 giga routeurs, 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,

·       Traffic Engineering permettant de définir des chemins de routage explicites dans les réseaux IP (avec RSVP ou CR-LDP),

·       flexibilité : possibilité d’utiliser plusieurs types de media (ATM, FR, Ethernet, PPP), met en oeuvre IP/MAS,

·       Differential Services (DiffServ) 

·       routage multicast

 

Dans une architecture MPLS, un paquet est codé par un ‘label’ (entité de taille fixe) au niveau d’un E-LSR source (Edge - Label Switching Router), placé en périphérie de domaine MPLS. Ce paquet ‘labélisé’ est ensuite transmis à un LSR en cœur de domaine, qui remplace l’ancien label par un nouveau label indiquant le LSR suivant. Une fois arrivé en bout du réseau, le label est retiré par le E-LSR destination et le paquet seul est retransmis. Le chemin établi par MPLS est un LSP (Label Switched Path).

Label, Tag MPLS
 

¨       Le label ou tag 

Un label, dans sa forme la plus simple, identifie le chemin que le paquet doit suivre. Un label est transporté ou encapsulé dans l'en-tête de niveau 2 du paquet. Le routeur qui le reçoit examine le paquet pour déterminer le saut suivant selon son label. Une fois qu'un paquet est labellisé, le reste de son voyage est basé sur la commutation de labels. Les valeurs du label ont simplement une signification locale. Ces valeurs peuvent d'ailleurs directement déterminer un chemin virtuel (DLCI en Frame Relay ou VCI et VPI en ATM).

Les labels sont associés à un FEC (que nous expliquerons plus en détails dans le paragraphe FEC) suivant une logique ou une politique déterminant cette association. Cette décision peut se faire sur les critères suivants : Routage unicast vers la destination, gestion du trafic, multicast, Virtual Private Network (VPN) ou QoS.

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

Le format générique d'un label est illustré par la figure ci-dessous. Le label peut aussi se situer dans l'entête de la couche 2, ou entre les couches 2 et 3.

Ø      Selon le type de protocole de niveau 2 véhiculé, le label MPLS est localisé différemment.

Dans le cas de l’ATM, le label est stocké dans les champs VPI/VCI du protocole ATM.

Dans le cas du Frame Relay, le label est stocké dans le champ DLCI du protocole Frame Relay.

Enfin dans le cas des Protocole Ethernet, PPP (Point to Point Protocol) ou HDLC, le label est situé entre les couches 2 et 3.

 Ø      Si on examine en détail les champs du label MPLS, on constate que les 20 premiers bits sont utilisés pour le label en lui-même. C’est cette partie qui est traité par les routeurs LSR.

Le champ COS est utilisé pour définir différentes classes de services afin de traiter de manières différenciées des flux du client en fonction de leur nature. Ce champ est aussi appelé Experimental car il est aujourd’hui encore très peu utilisé par les constructeurs.

Le champ S est un bit qui vaut 1 lorsqu’il y a un empilement de labels (utilisé pour les VPN) et 0 lorsqu’il n’y a qu’un seul label.

Enfin le champ TTL (pour Time To Live) est identique au TTL du datagramme IP encapsulé. A chaque passage par un routeur la valeur du TTL est décrémenté. Lorsque la valeur du TTL est nulle, le paquet MPLS est détruit.

Remarque : les champs CoS et TTL sont des simples recopies des champs ToS et TTL de la trame IP encapsulée. En effet, les routeurs MPLS ne regarde que les labels associés aux paquets IP. Il est donc nécessaire d’avoir c’est deux champs si on veut les utiliser au niveau du protocole MPLS.

¨       Le FEC 

La Forward Equivalence Class (FEC) est la représentation d'un groupe de paquets qui ont en commun les mêmes besoins quant à leur transport. Tous les paquets d'un tel groupe reçoivent le même traitement au cours de leur acheminement. Contrairement aux transmissions IP classiques, dans MPLS, un paquet est assigné à une FEC une seule fois, lors de son entrée sur le réseau. Les FEC sont basés sur les besoins en terme de service pour certains groupes de paquets, ou même un certain préfixe d'adresses. Chaque LSR se construit une table pour savoir comment un paquet doit être transmis. Cette table est appelée Label Information Base (LIB, Base d'information sur les labels).

Suite