Aller au contenu principal

6. Extensions LDP pour la prise en charge de Diff-Serv

L'architecture MPLS n'assume pas un protocole unique de distribution d'étiquettes. [LDP] définit le Label Distribution Protocol et son utilisation pour l'établissement de chemins à commutation d'étiquettes (LSP) dans les réseaux MPLS. Cette section spécifie les extensions à LDP pour établir des LSP prenant en charge les services différenciés dans les réseaux MPLS.

Une nouvelle TLV LDP est définie dans ce document :

  • la TLV Diff-Serv

Une description détaillée de cette TLV est fournie ci-dessous.

La nouvelle TLV Diff-Serv est optionnelle par rapport à LDP. Un LSR capable Diff-Serv prenant en charge les E-LSP qui utilisent le mappage EXP<-->PHB' préconfiguré en conformité avec cette spécification MAY prendre en charge la TLV Diff-Serv. Un LSR capable Diff-Serv prenant en charge les E-LSP qui utilisent le mappage EXP<-->PHB' signalé en conformité avec cette spécification MUST prendre en charge la TLV Diff-Serv. Un LSR capable Diff-Serv prenant en charge les L-LSP en conformité avec cette spécification MUST prendre en charge la TLV Diff-Serv.

6.1. TLV Diff-Serv​

La TLV Diff-Serv a les formats suivants :

TLV Diff-Serv pour un E-LSP :

    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| Diff-Serv (0x0901) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|T| Reserved | MAPnb |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAP (1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
...

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAP (MAPnb) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • T (1 bit): Type de LSP. Ceci est mis à 0 pour un E-LSP

  • Reserved (27 bits): Ce champ est réservé. Il doit être mis à zéro à la transmission et doit être ignoré à la réception.

  • MAPnb (4 bits): Indique le nombre d'entrées MAP incluses dans l'objet DIFFSERV. Cela peut être mis à n'importe quelle valeur de 1 à 8.

  • MAP (32 bits): Chaque entrée MAP définit le mappage entre une valeur de champ EXP et un PHB. L'entrée MAP a le format suivant :

    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | EXP | PHBID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • Reserved (13 bits): Ce champ est réservé. Il doit être mis à zéro à la transmission et doit être ignoré à la réception.

  • EXP (3 bits): Ce champ contient la valeur du champ EXP pour le mappage `EXP<-->PHB' défini dans cette entrée MAP.

  • PHBID (16 bits): Ce champ contient le PHBID du PHB pour le mappage `EXP<-->PHB' défini dans cette entrée MAP. Le PHBID est codé comme spécifié dans [PHBID].

TLV Diff-Serv pour un L-LSP :

    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| Type = PSC (0x0901) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|T| Reserved | PSC |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • T (1 bit): Type de LSP. Ceci est mis à 1 pour un L-LSP

  • Reserved (15 bits): Ce champ est réservé. Il doit être mis à zéro à la transmission et doit être ignoré à la réception.

  • PSC (16 bits): Le PSC indique une classe d'ordonnancement PHB (PHB Scheduling Class) à prendre en charge par le LSP. Le PSC est codé comme spécifié dans [PHBID].

6.2. Valeurs de code d'état Diff-Serv​

Les valeurs suivantes sont définies pour le champ Status Code de la Status TLV :

      Status Code                             E   Status Data

Unexpected Diff-Serv TLV 0 0x01000001
Unsupported PHB 0 0x01000002
Invalid `EXP<-->PHB mapping' 0 0x01000003
Unsupported PSC 0 0x01000004
Per-LSP context allocation failure 0 0x01000005

6.3. Messages LDP liés à Diff-Serv​

6.3.1. Message Label Request​

Le format du message Label Request est étendu comme suit, pour inclure optionnellement la TLV Diff-Serv :

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| Label Request (0x0401) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FEC TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Diff-Serv TLV (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

6.3.2. Message Label Mapping​

Le format du message Label Mapping est étendu comme suit, pour inclure optionnellement la TLV Diff-Serv :

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| Label Mapping (0x0400) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FEC TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Diff-Serv TLV (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

6.3.3. Message Label Release​

Le format du message Label Release est étendu comme suit, pour inclure optionnellement la Status TLV :

    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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| Label Release (0x0403) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FEC TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label TLV (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Status TLV (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

6.3.4. Message Notification​

Le format du message Notification est étendu comme suit, pour inclure optionnellement la TLV Diff-Serv :

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| Notification (0x0001) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Status TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Optional Parameters |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Diff-Serv TLV (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

6.4. Traitement de la TLV Diff-Serv​

6.4.1. Traitement de la TLV Diff-Serv en mode Downstream Unsolicited​

Cette section décrit les opérations lorsque le mode Downstream Unsolicited est utilisé.

Lors de l'allocation d'une étiquette pour un E-LSP qui doit utiliser le mappage `EXP<-->PHB' préconfiguré, un LSR Diff-Serv aval émet un message Label Mapping sans la TLV Diff-Serv.

Lors de l'allocation d'une étiquette pour un E-LSP qui doit utiliser un mappage `EXP<-->PHB' signalé, un LSR Diff-Serv aval émet un message Label Mapping avec la TLV Diff-Serv pour un E-LSP qui contient une entrée MAP pour chaque valeur EXP à prendre en charge sur cet E-LSP.

Lors de l'allocation d'une étiquette pour un L-LSP, un LSR Diff-Serv aval émet un message Label Mapping avec la TLV Diff-Serv pour un L-LSP qui contient la classe d'ordonnancement PHB (PSC) à prendre en charge sur ce L-LSP.

En supposant que l'établissement de l'étiquette est réussi, les LSR aval et amont doivent :

  • mettre à jour le contexte Diff-Serv associé aux LSP établis dans leur ILM/FTN comme spécifié dans les sections précédentes (étiquette entrante et sortante),

  • installer le traitement de transfert Diff-Serv requis (comportement d'ordonnancement et de rejet) pour cette NHLFE (étiquette sortante).

Un LSR Diff-Serv amont recevant un message Label Mapping avec plusieurs TLV Diff-Serv ne considère que la première comme significative. Le LSR doit ignorer et ne pas transmettre la(les) TLV Diff-Serv suivante(s).

Un LSR Diff-Serv amont qui reçoit un message Label Mapping, avec la TLV Diff-Serv pour un E-LSP et ne prend pas en charge le PHB particulier codé dans une ou plusieurs des entrées MAP, doit rejeter le mappage en envoyant un message Label Release qui inclut la Label TLV et la Status TLV avec un Status Code de `Unsupported PHB'.

Un LSR Diff-Serv amont recevant un message Label Mapping avec la TLV Diff-Serv pour un E-LSP et déterminant que le mappage EXP<-->PHB' signalé est invalide, doit rejeter le mappage en envoyant un message Label Release qui inclut la Label TLV et la Status TLV avec un Status Code de Invalid EXP<-->PHB mapping'. Le mappage `EXP<-->PHB' signalé dans l'objet DIFFSERV pour un E-LSP est invalide lorsque :

  • le champ MAPnb n'est pas dans la plage 1 à 8, ou

  • une valeur EXP donnée apparaît dans plus d'une entrée MAP, ou

  • le codage PHBID est invalide

Un LSR Diff-Serv amont recevant un message Label Mapping avec la TLV Diff-Serv pour un L-LSP contenant une valeur PSC qui n'est pas prise en charge, doit rejeter le mappage en envoyant un message Label Release qui inclut la Label TLV et la Status TLV avec un Status Code de `Unsupported PSC'.

6.4.2. Traitement de la TLV Diff-Serv en mode Downstream on Demand​

Cette section décrit les opérations lorsque le mode Downstream on Demand est utilisé.

Lors de la demande d'une étiquette pour un E-LSP qui doit utiliser le mappage `EXP<-->PHB' préconfiguré, un LSR Diff-Serv amont envoie un message Label Request sans la TLV Diff-Serv.

Lors de la demande d'une étiquette pour un E-LSP qui doit utiliser un mappage `EXP<-->PHB' signalé, un LSR Diff-Serv amont envoie un message Label Request avec la TLV Diff-Serv pour un E-LSP qui contient une entrée MAP pour chaque valeur EXP à prendre en charge sur cet E-LSP.

Lors de la demande d'une étiquette pour un L-LSP, un LSR Diff-Serv amont envoie un message Label Request avec la TLV Diff-Serv pour un L-LSP qui contient le PSC à prendre en charge sur ce L-LSP.

Un LSR Diff-Serv aval envoyant un message Label Mapping en réponse à un message Label Request pour un E-LSP ou un L-LSP ne doit pas inclure une TLV Diff-Serv dans ce message Label Mapping. En supposant que l'établissement de l'étiquette est réussi, les LSR aval et amont doivent :

  • mettre à jour le contexte Diff-Serv associé aux LSP établis dans leur ILM/FTN comme spécifié dans les sections précédentes (étiquette entrante et sortante),

  • installer le traitement de transfert Diff-Serv requis (comportement d'ordonnancement et de rejet) pour cette NHLFE (étiquette sortante).

Un LSR Diff-Serv amont recevant un message Label Mapping contenant une TLV Diff-Serv en réponse à son message Label Request, doit rejeter le mappage d'étiquette en envoyant un message Label Release qui inclut la Label TLV et la Status TLV avec un Status Code de `Unexpected Diff-Serv TLV'.

Un LSR Diff-Serv aval recevant un message Label Request avec plusieurs TLV Diff-Serv ne considère que la première comme significative. Le LSR doit ignorer et ne pas transmettre la(les) TLV Diff-Serv suivante(s).

Un LSR Diff-Serv aval qui reçoit un message Label Request avec la TLV Diff-Serv pour un E-LSP et ne prend pas en charge le PHB particulier codé dans une (ou plusieurs) des entrées MAP, doit rejeter la demande en envoyant un message Notification qui inclut la Status TLV avec un Status Code de `Unsupported PHB'.

Un LSR Diff-Serv aval recevant un message Label Request avec la TLV Diff-Serv pour un E-LSP et déterminant que le mappage EXP<-->PHB' signalé est invalide, doit rejeter la demande en envoyant un message Notification qui inclut la Status TLV avec un Status Code de Invalid EXP<-->PHB mapping'. Le mappage `EXP<-->PHB' signalé dans la TLV DIFFSERV pour un E-LSP est invalide lorsque :

  • le champ MAPnb n'est pas dans la plage 1 à 8, ou

  • une valeur EXP donnée apparaît dans plus d'une entrée MAP, ou

  • le codage PHBID est invalide

Un LSR Diff-Serv aval recevant un message Label Request avec la TLV Diff-Serv pour un L-LSP contenant une valeur PSC qui n'est pas prise en charge, doit rejeter la demande en envoyant un message Notification qui inclut la Status TLV avec un Status Code de `Unsupported PSC'.

Un LSR Diff-Serv aval qui reconnaît le type de TLV Diff-Serv dans un message Label Request mais est incapable d'allouer les informations de contexte par LSP requises, doit rejeter la demande en envoyant un message Notification qui inclut la Status TLV avec un Status Code de `Per-LSP context allocation failure'.

Un LSR Diff-Serv aval qui reconnaît le type de TLV Diff-Serv dans un message Label Request et prend en charge le PSC demandé mais n'est pas capable de satisfaire la demande d'étiquette pour d'autres raisons (par exemple, aucune étiquette disponible), doit envoyer un message Notification conformément aux procédures LDP existantes [LDP] (par exemple, avec un Status Code `No Label Resource'). Ce message Notification doit inclure la TLV Diff-Serv demandée.

6.5. Non-traitement de la TLV Diff-Serv​

Un LSR qui ne reconnaît pas le type de TLV Diff-Serv, à la réception d'un message Label Request ou d'un message Label Mapping contenant la TLV Diff-Serv, doit se comporter conformément aux procédures spécifiées dans [LDP] pour une TLV inconnue dont les bits U et F sont mis à 0 c'est-à-dire qu'il doit ignorer le message, renvoyer un message Notification avec le Status `Unknown TLV'.

6.6. Informations de bande passante​

Les informations de bande passante peuvent également être signalées au moment de l'établissement des E-LSP et L-LSP, par exemple à des fins d'ingénierie de trafic, en utilisant la Traffic Parameters TLV comme décrit dans [MPLS CR LDP].