Annexe A. Procédures de distribution d'étiquettes LDP
Cette section spécifie le comportement de distribution d'étiquettes en termes de réponse du LSR aux événements suivants :
- Receive Label Request Message ;
- Receive Label Mapping Message ;
- Receive Label Abort Request Message ;
- Receive Label Release Message ;
- Receive Label Withdraw Message ;
- Recognize new FEC ;
- Detect change in FEC next hop ;
- Receive Notification Message / Label Request Aborted ;
- Receive Notification Message / No Label Resources ;
- Receive Notification Message / No Route ;
- Receive Notification Message / Loop Detected ;
- Receive Notification Message / Label Resources Available ;
- Detect local label resources have become available ;
- LSR decides to no longer label switch a FEC ;
- Timeout of deferred label request.
La spécification du comportement du LSR en réponse à un événement comporte trois parties :
-
Résumé. Une prose qui décrit en survol la réponse du LSR à l'événement.
-
Contexte. Une liste d'éléments auxquels la partie Algorithme de la spécification se réfère. (Voir 3.)
-
Algorithme. Un algorithme pour la réponse du LSR à l'événement.
Le résumé peut omettre des détails de la réponse du LSR, tels que les actions de comptabilité ou le comportement dépendant du mode d'annonce d'étiquettes, du mode de contrôle ou du mode de rétention d'étiquettes utilisé par le LSR. L'intention est que l'Algorithme spécifie pleinement et sans ambiguïté la réponse du LSR.
Les algorithmes de cette section utilisent les procédures définies dans la spécification de l'architecture MPLS [RFC3031] pour le trafic routé saut par saut. Ces procédures sont :
-
La procédure de distribution d'étiquettes (Label Distribution), qui est exécutée par un LSR en aval pour déterminer quand distribuer une étiquette pour une FEC aux pairs LDP. L'architecture définit quatre procédures de distribution d'étiquettes :
. Downstream Unsolicited Independent Control, appelée PushUnconditional dans [RFC3031].
. Downstream Unsolicited Ordered Control, appelée PushConditional dans [RFC3031].
. Downstream On Demand Independent Control, appelée PulledUnconditional dans [RFC3031].
. Downstream On Demand Ordered Control, appelée PulledConditional dans [RFC3031].
-
La procédure de retrait d'étiquettes (Label Withdrawal), qui est exécutée par un LSR en aval pour déterminer quand retirer un mappage d'étiquettes de FEC précédemment distribué aux pairs LDP. L'architecture définit une seule procédure de retrait d'étiquettes. Chaque fois qu'un LSR rompt la liaison entre une étiquette et une FEC, il DOIT (MUST) retirer le mappage d'étiquettes de cette FEC auprès de tous les pairs LDP auxquels il a précédemment envoyé le mappage.
-
La procédure de demande d'étiquettes (Label Request), qui est exécutée par un LSR en amont pour déterminer quand demander explicitement à un LSR en aval de lier une étiquette à une FEC et de lui envoyer le mappage d'étiquettes correspondant. L'architecture définit trois procédures de demande d'étiquettes :
. Request Never. Le LSR ne demande jamais d'étiquette.
. Request When Needed. Le LSR demande une étiquette chaque fois qu'il en a besoin.
. Request On Request. Cette procédure est utilisée par les LSR qui ne fusionnent pas les étiquettes. Le LSR demande une étiquette lorsqu'il reçoit une demande en ce sens, en plus de chaque fois qu'il en a besoin.
-
La procédure de libération d'étiquettes (Label Release), qui est exécutée par un LSR en amont pour déterminer quand libérer un mappage d'étiquettes de FEC précédemment reçu. L'architecture définit deux procédures de libération d'étiquettes :
. Conservative Label retention, appelée ReleaseOnChange dans [RFC3031].
. Liberal Label retention, appelée NoReleaseOnChange dans [RFC3031].
-
La procédure d'utilisation d'étiquettes (Label Use), qui est exécutée par un LSR pour déterminer quand commencer à utiliser une étiquette de FEC pour le transfert/la commutation. L'architecture définit trois procédures d'utilisation d'étiquettes :
. Use Immediate. Le LSR utilise immédiatement une étiquette reçue d'un next hop de la FEC pour le transfert/la commutation.
. Use If Loop Free. Le LSR n'utilise une étiquette de FEC reçue d'un next hop de la FEC pour le transfert/la commutation que s'il a déterminé qu'en procédant ainsi il ne provoquera pas de boucle de transfert.
. Use If Loop Not Detected. Cette procédure est identique à Use Immediate, sauf si le LSR a détecté une boucle dans le LSP de la FEC. L'utilisation de l'étiquette de la FEC pour le transfert/la commutation se poursuit jusqu'à ce que le next hop de la FEC change ou que la boucle ne soit plus détectée.
Cette version de LDP n'inclut pas de mécanisme de prévention des boucles ; par conséquent, les procédures ci-dessous n'utilisent pas la procédure Use If Loop Free.
-
La procédure Label No Route (appelée procédure NotAvailable dans [RFC3031]), qui est exécutée par un LSR en amont pour déterminer comment répondre à une notification No Route provenant d'un LSR en aval en réponse à une demande de mappage d'étiquettes de FEC. La spécification de l'architecture définit deux procédures Label No Route :
. Request Retry. Le LSR devrait émettre la demande d'étiquettes à un moment ultérieur.
. No Request Retry. Le LSR devrait supposer que le LSR en aval fournira un mappage d'étiquettes lorsque le LSR en aval aura un next hop, et il ne devrait pas réémettre la demande.