Multiprotocol Label Switching

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Pile de protocoles
7. Application
6. Présentation
5. Session
4. Transport
3. Réseau
2. Liaison
1. Physique

Modèle Internet
Modèle OSI

Dans les réseaux informatiques et les télécommunications, MultiProtocol Label Switching (MPLS) est un mécanisme de transport de données basé sur la commutation d'étiquettes ou "labels", qui sont insérés à l'entrée du réseau MPLS et retirés à sa sortie.

À l'origine, cette insertion s'opère entre la couche de liaison de données et la couche réseau afin de transporter des protocoles comme IP. C'est pourquoi MPLS est qualifié de protocole de couche "2,5".

Ce protocole a évolué pour fournir un service unifié de transport de données pour les clients en utilisant une technique de commutation de paquets. MPLS peut être utilisé pour transporter pratiquement tout type de trafic, par exemple la voix ou des paquets IPv4, IPv6 et même des trames Ethernet ou ATM.

MPLS permet d'acheminer sur une unique infrastructure différents types de trafic tout en respectant les contraintes de fonctionnement associées.

Historique[modifier | modifier le code]

L'idée de MPLS est apparue en 1996 d'un groupe d'ingénieurs de Ipsilon Networks.[1] À l'origine, la technologie n'était prévue pour fonctionner que sur ATM ce qui limita sa place sur le marché. Cisco Systems, Inc. proposa ensuite l'idée de ne pas limiter MPLS sur ATM et créa le "Tag Switching", qui sera ensuite renommé en "Label Switching" pour la standardisation par l'IETF en tant que MPLS.

  1. (en) P. Newman, W. L. Edwards, R. Hinden, E. Hoffman,F. Ching Liaw, T. Lyon, G. Minshall, « Ipsilon Flow Management Protocol Specification for IPv4 Version 1.0 », Request for comments no 1953, Mai 1996.

Introduction[modifier | modifier le code]

Deux groupes de travail ont été désignés par l'IETF pour combler les lacunes d'IP. Un groupe de sécurité travaillant sur l'IPSec et l'autre sur le routage travaillant sur MPLS. Comme son sigle (MPLS) l'indique, ses caractéristiques sont :

  • multiprotocol (multi-protocoles) : il est capable de supporter les différents protocoles de niveau inférieur, au sens OSI (ATM, Frame relay…)
  • label switching (commutation par étiquettes) : il se base sur une étiquette (en anglais : label) ou identifiant pour la commutation des paquets. Cette étiquette est attribuée aux paquets par l'équipement PE (Provider Edge) lors de leur entrée dans l'infrastructure MPLS.

Fonctionnement[modifier | modifier le code]

MPLS fonctionne par commutation d'étiquettes. Des chemins entre PE (Provider Edge) sont établis de façon manuelle (action d'un administrateur dans le plan d'administration) ou automatique (via un protocole de signalisation comme LDP — Label Distribution Protocol — dans le plan de contrôle).

Un chemin MPLS étant toujours unidirectionnel, on fait la différence en MPLS entre les routeurs d'entrée (PE ou iLSR — ingress Label Switch Router), de transit (P-router pour Provider router), et de sortie (PS ou eLSR — egress Label Switch Router).

Le routeur d'entrée a pour rôle d'encapsuler le trafic reçu sur ses interfaces « clients ». Il applique (au moins) une étiquette au paquet reçu et l'envoie vers une de ses interfaces sortantes. Pour créer l'étiquette, le routeur utilise les FEC (Forwarding Equivalence Class), qui sont des tables de correspondances dont les clefs sont un élément du paquet (adresse MAC, adresse IP, Class of Service, port TCP/UDP, etc.). Une FEC est donc un groupe de paquets transférés vers la même interface de sortie et avec les mêmes critères de transmission.

Le paquet atteint ensuite des commutateurs de transit (P-router). Ceux-ci possèdent une table de commutation comportant quatre entrées :

Deux clefs :

  • interface d'entrée du paquet
  • étiquette MPLS en entrée

Deux valeurs :

  • étiquette MPLS de sortie (ou retrait du label)
  • interface de sortie du paquet

L'opération de commutation est donc extrêmement simple, puisqu'il suffit d'analyser l'étiquette MPLS qui se trouve directement après l'en-tête de la trame de niveau 2 (Ethernet), ou dans l'équivalent de la cellule/trame de niveau 2 (VPI/VCI de l'ATM, DLCI du Frame Relay, etc.). Il n'est donc pas nécessaire d'extraire le paquet IP et de parcourir l'ensemble de la table de routage. Toutefois, si cet argument était à l'origine de la création de MPLS, il a perdu beaucoup de poids, car l'augmentation de la puissance des routeurs et l'avènement de nouvelles puces dédiées permettent largement de parcourir la table de routage IP à chaque nouveau paquet. Ce sont donc les autres possibilités attribuées à MPLS qui en font une technique de plus en plus utilisée.

Si la configuration manuelle est toujours possible, elle s'avère très fastidieuse pour l'administrateur, c'est pourquoi la plupart du temps un protocole de signalisation est utilisé pour établir la connexion, c'est-à-dire les chemins MPLS (LSP, Label Switched Path). LDP, norme IETF, est le principal utilisé, mais d'autres protocoles pré-existants ont été étendus (cas de OSPF dit OSPF-TE) ou modifiés (cas de RSVP). Il ne faut en effet pas confondre le RSVP initial, de bout en bout, et le RSVP-TE modifié pour les environnements MPLS, entre PE donc.

Contrairement à IP, MPLS n'est pas un protocole de bout en bout. Il définit seulement une façon d'encapsuler des protocoles de couche 3 (IPv4 comme IPv6), de couche 2 (Ethernet, PPP, ATM, FR entre autres), et même de couche 1 (PDH, SDH). Il ne faut pas confondre ces protocoles encapsulés, donc transportés par MPLS, avec les protocoles inférieurs (dits de niveau 2) qui permettent de transporter MPLS. Cet ensemble peut paraître confus puisqu'un même protocole peut en même temps être transporté par et transporter MPLS : ainsi des cellules ATM arrivant sur des PE pourront être encapsulées par des PE MPLS reliés à des P-routeurs en ATM !

Déploiement[modifier | modifier le code]

MPLS est actuellement utilisé dans de grands réseaux et est standardisé par l'IETF dans la RFC 3031.

En pratique, MPLS est principalement utilisé pour transporter des datagrammes IP et du trafic Ethernet.

On oppose souvent MPLS qui permet de garantir un niveau de qualité de service et le VPN via Internet qui assure la confidentialité par un mécanisme de chiffrement. MPLS est une technique de commutation, le RPV/VPN sur Internet une technique de tunnel IP. La qualité de service n'est pas propre à MPLS mais au fait qu'un fournisseur de services (un opérateur) s'engagera sur cette qualité de service. La confusion vient du fait que les opérateurs qui fournissent des services aux entreprises utilisent des infrastructures dédiées utilisant MPLS aujourd'hui (X.25, FR, ATM dans le passé), alors que sur Internet il n'y a pas de fournisseur qui puisse prendre des engagements puisqu'Internet constitue une sorte de réseau public dont aucun acteur n'a l'entière responsabilité. On notera cependant que certains opérateurs prennent des engagements de qualité de service sur la portion d'Internet qu'ils gèrent et appellent alors leur « Internet privé ».

Techniques complémentaires (applications réseaux opérateurs & grandes entreprises)[modifier | modifier le code]

La majorité des grands opérateurs utilise aujourd’hui MPLS dans la partie centrale de leur réseau pour assurer l’ingénierie de trafic et la qualité de service. En revanche, l’extension de MPLS à l’accès et dans la partie métropolitaine du réseau est moins avancée. Cette solution, si elle est techniquement viable, introduit dans de nombreux cas un ensemble de difficultés liées à la gestion et à l'évolutivité du réseau, qui en fin de compte augmentent le coût et la complexité d'exploitation ainsi que la fiabilité. Plusieurs solutions alternatives ont été proposées parmi lesquelles:

Pour éviter des redites, voir les articles détaillés correspondants.

Concurrents[modifier | modifier le code]

Dans le cadre des VPN, L2TPv3 et Provider Backbone Bridge apparaissent en tant que technologies concurrentes à MPLS, particulièrement dans les réseaux IP.

On peut aussi noter l'existence de la technologie IEEE 1355 qui est également de la commutation d'étiquettes mais de façon matérielle.

Liens externes[modifier | modifier le code]