Aller au contenu principal

RFC 5036 - Spécification LDP (Label Distribution Protocol)

  • Statut: Draft Standard
  • Publié: October 2007
  • Stream: IETF
  • Remplace: RFC3036
  • Errata: Pas d'errata

Résumé

L'architecture du Multi-Protocol Label Switching (MPLS) est décrite dans le RFC 3031. Un concept fondamental dans MPLS est que deux routeurs de commutation d'étiquettes (LSR) doivent s'accorder sur la signification des étiquettes utilisées pour transférer le trafic entre eux et à travers eux. Cette compréhension commune est obtenue en utilisant un ensemble de procédures, appelé protocole de distribution d'étiquettes, par lequel un LSR informe un autre des liaisons d'étiquettes qu'il a effectuées. Ce document définit un ensemble de telles procédures appelées LDP (pour Label Distribution Protocol) par lesquelles les LSR distribuent des étiquettes pour prendre en charge le transfert MPLS le long de chemins normalement routés.

1. Vue d'ensemble de LDP

LDP est un protocole défini pour distribuer des étiquettes. Il s'agit de l'ensemble des procédures et des messages par lesquels les routeurs de commutation d'étiquettes (LSR) établissent des chemins commutés par étiquettes (LSP) à travers un réseau en mappant les informations de routage de la couche réseau directement sur les chemins commutés de la couche liaison de données.

LDP associe une classe d'équivalence de transfert (FEC) à chaque LSP qu'il crée. La FEC associée à un LSP spécifie quels paquets sont "mappés" à ce LSP.

1.1 Pairs LDP (LDP Peers)

Deux LSR qui utilisent LDP pour échanger des informations de mappage étiquette/FEC sont appelés "Pairs LDP" par rapport à ces informations, et on parle d'une "Session LDP" entre eux. Une seule session LDP permet à chaque pair d'apprendre les mappages d'étiquettes de l'autre ; c'est-à-dire que le protocole est bidirectionnel.

1.2 Échange de messages LDP

Il existe quatre catégories de messages LDP :

  1. Messages de découverte (Discovery messages) : utilisés pour annoncer et maintenir la présence d'un LSR dans un réseau.
  2. Messages de session (Session messages) : utilisés pour établir, maintenir et terminer des sessions entre pairs LDP.
  3. Messages d'annonce (Advertisement messages) : utilisés pour créer, modifier et supprimer des mappages d'étiquettes.
  4. Messages de notification (Notification messages) : utilisés pour fournir des informations consultatives et signaler des erreurs.

1.3 Structure des messages LDP

L'échange de messages LDP se fait via des PDU (Protocol Data Unit) LDP. Chaque PDU LDP contient un en-tête LDP, suivi d'un ou plusieurs messages LDP.

2. Opération LDP

2.2 Espaces d'étiquettes, Identifiants, Sessions et Transport

  • Espace d'étiquettes : Chaque LSR gère un ou plusieurs espaces d'étiquettes.
  • Identifiant LDP : 6 octets de long, utilisé pour identifier de manière unique l'espace d'étiquettes d'un LSR. Format <LSR Id>:<Label Space Id>.
  • Sessions LDP : Établies entre deux LSR pour échanger des mappages d'étiquettes.
  • Transport LDP : LDP utilise TCP comme protocole de transport fiable pour la communication de session (port 646). Le mécanisme de découverte utilise UDP (port 646).

2.4 Découverte LDP

Le mécanisme de découverte LDP permet aux LSR d'identifier des pairs LDP potentiels.

  • Mécanisme de découverte de base : Utilisé pour découvrir des voisins LSR directement connectés. Les LSR envoient périodiquement des messages LDP Link Hello (multicast UDP) sur chaque interface.
  • Mécanisme de découverte étendu : Utilisé pour découvrir des voisins LSR non directement connectés (c'est-à-dire des sessions ciblées). Les LSR envoient périodiquement des messages LDP Targeted Hello (unicast UDP) à une adresse spécifique.

2.5 Établissement et maintien des sessions LDP

Le processus d'établissement de session comprend :

  1. Établissement de la connexion de transport (TCP).
  2. Initialisation de la session (échange de messages d'initialisation, négociation de paramètres tels que le temps KeepAlive, la longueur maximale de PDU, etc.).

2.6 Distribution et gestion des étiquettes

LDP prend en charge plusieurs modes de distribution d'étiquettes :

  1. Mode de contrôle de distribution d'étiquettes (Label Distribution Control Mode) :

    • Contrôle indépendant (Independent Control) : Un LSR peut annoncer des mappages d'étiquettes à ses pairs à tout moment, sans attendre de mappage de l'aval.
    • Contrôle ordonné (Ordered Control) : Un LSR n'annonce un mappage d'étiquette à un pair que s'il a reçu un mappage d'étiquette du prochain saut aval, ou s'il est lui-même le nœud de sortie.
  2. Mode de rétention d'étiquettes (Label Retention Mode) :

    • Rétention conservatrice (Conservative Retention) : Ne conserve que les mappages d'étiquettes annoncés par le voisin de saut suivant utilisé pour transférer les données.
    • Rétention libérale (Liberal Retention) : Conserve tous les mappages d'étiquettes annoncés par les voisins, que le voisin soit ou non le prochain saut.
  3. Mode d'annonce d'étiquettes (Label Advertisement Mode) :

    • Aval à la demande (Downstream on Demand) : Un LSR aval n'annonce un mappage d'étiquette que lorsqu'il est demandé par le LSR amont.
    • Aval non sollicité (Downstream Unsolicited) : Un LSR aval annonce proactivement des mappages d'étiquettes à ses voisins, sans demande.

3. Spécification du protocole

3.1 PDU LDP

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version | PDU Length | LDP Identifier
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.5 Messages LDP

Les principaux types de messages incluent :

  • Hello Message : Utilisé pour la découverte et le maintien des relations de voisinage.
  • Initialization Message : Utilisé pour négocier les paramètres de session.
  • KeepAlive Message : Utilisé pour surveiller l'état actif de la session.
  • Label Mapping Message : Utilisé pour annoncer les liaisons d'étiquettes.
  • Label Request Message : Utilisé pour demander des liaisons d'étiquettes.
  • Label Withdraw Message : Utilisé pour retirer les liaisons d'étiquettes.
  • Label Release Message : Utilisé pour libérer les liaisons d'étiquettes.
  • Notification Message : Utilisé pour signaler des erreurs ou des conseils.

Note: Cette traduction est fournie à titre de référence. Veuillez consulter le RFC 5036 original pour les détails officiels.