Multiprotocol Label Switching

Un article de Wikipédia, l'encyclopédie libre.

Dans les réseaux informatiques et les télécommunications, MultiProtocol Label Switching (MPLS) est un mécanisme de transport de données, opérant sur la couche de liaison de données du modèle OSI, donc en dessous des protocoles comme IP. Il a été conçu 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 IP.

Sommaire

[modifier] Introduction

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 acronyme l'indique (MPLS) 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 d'é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.

[modifier] Fonctionnement

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 (PE 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.).

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 technologie de plus en plus utilisée : c'est en fait un discours marketing qui associe ces possibilités à MPLS puisque, soit elles ne sont même pas utilisées (cas de l'ingénierie de trafic), soit existent en dehors de MPLS (ingénierie de trafic, qualité de service, entre autres).

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 !

[modifier] Déploiement

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 (X25, 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 que la portion d'Internet qu'ils gèrent et appellent alors leur "Internet privé".

[modifier] Technologies complémentaires (applications réseaux opérateurs & grandes entreprises)

La majorité des grands opérateurs utilisent 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. Plusieurs solutions alternatives ont été proposées parmi lesquelles:

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

[modifier] Concurrents

Dans le cadre des VPNs, L2TPv3 apparaît en tant que technologie concurrente à MPLS, particulièrement dans les réseaux IP.

[modifier] Liens externes