3.5.3. Message Initialization
Le message Initialization LDP est échangé dans le cadre de la procédure d'établissement de session LDP ; voir la section "LDP Session Establishment".
L'encodage du message Initialization est :
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| Initialization (0x0200) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Common Session Parameters TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Optional Parameters |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message ID Valeur de 32 bits utilisée pour identifier ce message.
Common Session Parameters TLV Spécifie les valeurs proposées par le LSR émetteur pour les paramètres qui doivent être négociés pour chaque session LDP.
L'encodage du Common Session Parameters TLV est :
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|0| Common Sess Parms (0x0500)| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Protocol Version | KeepAlive Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|A|D| Reserved | PVLim | Max PDU Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receiver LDP Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++
Protocol Version Entier non signé de deux octets contenant le numéro de version du protocole. Cette version de la spécification spécifie la version 1 du protocole LDP.
KeepAlive Time Entier non signé de deux octets, non nul, qui indique le nombre de secondes que le LSR émetteur propose pour la valeur du KeepAlive Time. Le LSR récepteur DOIT (MUST) calculer la valeur du KeepAlive Timer en utilisant la plus petite de sa propre proposition de KeepAlive Time et du KeepAlive Time reçu dans le PDU. La valeur choisie pour le KeepAlive Time indique le nombre maximal de secondes pouvant s'écouler entre la réception de PDU successifs en provenance du pair LDP sur la connexion TCP de la session. Le KeepAlive Timer est réinitialisé chaque fois qu'un PDU arrive.
A, Label Advertisement Discipline Indique le type d'annonce d'étiquettes. Une valeur de 0 signifie une annonce Downstream Unsolicited ; une valeur de 1 signifie Downstream On Demand.
Si un LSR propose Downstream Unsolicited et que l'autre propose Downstream on Demand, la règle de résolution de cette différence est :
- Si la session concerne une liaison ATM à contrôle par étiquettes ou une liaison Frame Relay à contrôle par étiquettes, alors Downstream on Demand DOIT (MUST) être utilisé.
- Sinon, Downstream Unsolicited DOIT (MUST) être utilisé.
Si la discipline d'annonce d'étiquettes déterminée de cette manière est inacceptable pour un LSR, celui-ci DOIT (MUST) envoyer un message Notification Session Rejected/Parameters Advertisement Mode en réponse au message Initialization et ne pas établir la session.
D, Loop Detection Indique si la détection de boucles (Loop Detection) fondée sur les Path Vectors est activée. Une valeur de 0 signifie que la détection de boucles est désactivée ; une valeur de 1 signifie qu'elle est activée.
PVLim, Path Vector Limit La longueur maximale configurée d'un Path Vector. DOIT (MUST) être 0 si la détection de boucles est désactivée (D = 0). Si les procédures de détection de boucles devaient exiger que le LSR envoie un Path Vector dépassant cette limite, le LSR se comportera comme si une boucle avait été détectée pour la FEC en question.
Lorsque la détection de boucles est activée dans une partie d'un réseau, il est recommandé que tous les LSR de cette partie du réseau soient configurés avec la même limite de Path Vector. Bien que la connaissance de la limite de Path Vector d'un pair ne change pas le comportement d'un LSR, elle lui permet d'alerter un opérateur d'une éventuelle erreur de configuration.
Reserved Ce champ est réservé. Il DOIT (MUST) être mis à zéro à l'émission et ignoré à la réception.
Max PDU Length Entier non signé de deux octets qui propose la longueur maximale autorisée des PDU LDP pour la session. Une valeur de 255 ou moins spécifie la longueur maximale par défaut de 4096 octets.
Le LSR récepteur DOIT (MUST) calculer la longueur maximale de PDU pour la session en utilisant la plus petite de sa proposition et de celle de son pair pour le Max PDU Length. La longueur maximale de PDU par défaut s'applique avant l'achèvement de l'initialisation de la session.
Si la longueur maximale de PDU déterminée de cette manière est inacceptable pour un LSR, celui-ci DOIT (MUST) envoyer un message Notification Session Rejected/Parameters Max PDU Length en réponse au message Initialization et ne pas établir la session.
Receiver LDP Identifier Identifie l'espace d'étiquettes du récepteur. Ce LDP Identifier, conjointement avec le LDP Identifier de l'émetteur dans l'en-tête du PDU, permet au récepteur de faire correspondre le message Initialization à l'une de ses Hello adjacencies ; voir la section "Hello Message Procedures".
S'il n'existe aucune Hello adjacency correspondante, le LSR DOIT (MUST) envoyer un message Notification Session Rejected/No Hello en réponse au message Initialization et ne pas établir la session.
Optional Parameters Ce champ de longueur variable contient 0 ou plusieurs paramètres, chacun encodé sous forme de TLV. Les paramètres optionnels sont :
Optional Parameter Type Length Value
ATM Session Parameters 0x0501 var See below
Frame Relay Session 0x0502 var See below
Parameters
ATM Session Parameters Utilisé lorsqu'une session LDP gère l'échange d'étiquettes pour une liaison ATM, afin de spécifier des paramètres de session propres à ATM.
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|0| ATM Sess Parms (0x0501) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| M | N |D| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ATM Label Range Component 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ATM Label Range Component N |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
M, ATM Merge Capabilities Spécifie les capacités de fusion d'un commutateur ATM. Les valeurs suivantes sont prises en charge dans cette version de la spécification :
Value Meaning
0 Merge not supported
1 VP Merge supported
2 VC Merge supported
3 VP & VC Merge supported
Si les capacités de fusion des LSR diffèrent, alors :
- Les LSR non fusionnants et les LSR à fusion VC peuvent interopérer librement.
- L'interopérabilité des commutateurs capables de fusion VP avec les commutateurs non capables de fusion VP est un sujet d'étude future. Lorsque les LSR diffèrent sur l'utilisation de la fusion VP, la session est établie, mais la fusion VP n'est pas utilisée.
Notez que si la fusion VP est utilisée, il incombe au nœud d'entrée de veiller à ce que le VCI choisi soit unique au sein du domaine du LSR.
N, Number of label range components Spécifie le nombre d'ATM Label Range Components inclus dans le TLV.
D, VC Directionality Une valeur de 0 spécifie la capacité VC bidirectionnelle, ce qui signifie que le LSR peut (au sein d'un VPI donné) prendre en charge l'utilisation d'un VCI donné comme étiquette pour les deux directions de la liaison, indépendamment. Une valeur de 1 spécifie la capacité VC unidirectionnelle, ce qui signifie (au sein d'un VPI donné) qu'un VCI donné ne peut apparaître dans un mappage d'étiquettes que pour une seule direction de la liaison. Lorsque l'un des pairs, ou les deux, spécifie la capacité VC unidirectionnelle, les deux LSR utilisent une attribution d'étiquettes VC unidirectionnelle pour la liaison comme suit. Les LSR comparent leurs LDP Identifiers en tant qu'entiers non signés. Le LSR dont le LDP Identifier est le plus grand ne peut attribuer comme étiquettes que des VCI impairs dans la plage de VPI/VCI. Le système dont le LDP Identifier est le plus petit ne peut attribuer comme étiquettes que des VCI pairs dans la plage de VPI/VCI.
Reserved Ce champ est réservé. Il DOIT (MUST) être mis à zéro à l'émission et ignoré à la réception.
One or more ATM Label Range Components Une liste d'ATM Label Range Components qui, ensemble, spécifient la plage d'étiquettes prise en charge par le LSR émetteur.
Un LSR récepteur DOIT (MUST) calculer l'intersection entre la plage reçue et sa propre plage d'étiquettes prise en charge. L'intersection est la plage dans laquelle le LSR peut allouer et accepter des étiquettes. Les LSR NE DOIVENT PAS (MUST NOT) établir de session avec des voisins pour lesquels l'intersection des plages est NULLE. Dans ce cas, le LSR DOIT (MUST) envoyer un message Notification Session Rejected/Parameters Label Range en réponse au message Initialization et ne pas établir la session.
L'encodage d'un ATM Label Range Component est :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Res | Minimum VPI | Minimum VCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Res | Maximum VPI | Maximum VCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Res
Ce champ est réservé. Il DOIT (MUST) être mis à zéro à l'émission et DOIT (MUST) être ignoré à la réception.
Minimum VPI (12 bits)
Ce champ de 12 bits spécifie la borne inférieure d'un bloc de Virtual Path Identifiers pris en charge sur le commutateur d'origine. Si le VPI fait moins de 12 bits, il DEVRAIT (SHOULD) être justifié à droite dans ce champ et les bits précédents DEVRAIENT (SHOULD) être mis à 0.
Minimum VCI (16 bits)
Ce champ de 16 bits spécifie la borne inférieure d'un bloc de Virtual Channel Identifiers pris en charge sur le commutateur d'origine. Si le VCI fait moins de 16 bits, il DEVRAIT (SHOULD) être justifié à droite dans ce champ et les bits précédents DEVRAIENT (SHOULD) être mis à 0.
Maximum VPI (12 bits)
Ce champ de 12 bits spécifie la borne supérieure d'un bloc de Virtual Path Identifiers pris en charge sur le commutateur d'origine. Si le VPI fait moins de 12 bits, il DEVRAIT (SHOULD) être justifié à droite dans ce champ et les bits précédents DEVRAIENT (SHOULD) être mis à 0.
Maximum VCI (16 bits)
Ce champ de 16 bits spécifie la borne supérieure d'un bloc de Virtual Connection Identifiers pris en charge sur le commutateur d'origine. Si le VCI fait moins de 16 bits, il DEVRAIT (SHOULD) être justifié à droite dans ce champ et les bits précédents DEVRAIENT (SHOULD) être mis à 0.
Lorsque des LSR pairs sont connectés indirectement au moyen d'un VP ATM, le LSR émetteur DEVRAIT (SHOULD) mettre les champs Minimum VPI et Maximum VPI à 0, et le LSR récepteur DOIT (MUST) ignorer les champs Minimum VPI et Maximum VPI.
Frame Relay Session Parameters Utilisé lorsqu'une session LDP gère l'échange d'étiquettes pour une liaison Frame Relay, afin de spécifier des paramètres de session propres à Frame Relay.
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|0| FR Sess Parms (0x0502) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| M | N |D| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Frame Relay Label Range Component 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Frame Relay Label Range Component N |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
M, Frame Relay Merge Capabilities Spécifie les capacités de fusion d'un commutateur Frame Relay. Les valeurs suivantes sont prises en charge dans cette version de la spécification :
Value Meaning
0 Merge not supported
1 Merge supported
Les LSR Frame Relay non fusionnants et fusionnants peuvent interopérer librement.
N, Number of label range components Spécifie le nombre de Frame Relay Label Range Components inclus dans le TLV.
D, VC Directionality Une valeur de 0 spécifie la capacité VC bidirectionnelle, ce qui signifie que le LSR peut prendre en charge l'utilisation d'un DLCI donné comme étiquette pour les deux directions de la liaison, indépendamment. Une valeur de 1 spécifie la capacité VC unidirectionnelle, ce qui signifie qu'un DLCI donné ne peut apparaître dans un mappage d'étiquettes que pour une seule direction de la liaison. Lorsque l'un des pairs, ou les deux, spécifie la capacité VC unidirectionnelle, les deux LSR utilisent une attribution d'étiquettes VC unidirectionnelle pour la liaison comme suit. Les LSR comparent leurs LDP Identifiers en tant qu'entiers non signés. Le LSR dont le LDP Identifier est le plus grand ne peut attribuer comme étiquettes que des DLCI impairs dans la plage. Le système dont le LDP Identifier est le plus petit ne peut attribuer comme étiquettes que des DLCI pairs dans la plage.
Reserved Ce champ est réservé. Il DOIT (MUST) être mis à zéro à l'émission et ignoré à la réception.
One or more Frame Relay Label Range Components Une liste de Frame Relay Label Range Components qui, ensemble, spécifient la plage d'étiquettes prise en charge par le LSR émetteur.
Un LSR récepteur DOIT (MUST) calculer l'intersection entre la plage reçue et sa propre plage d'étiquettes prise en charge. L'intersection est la plage dans laquelle le LSR peut allouer et accepter des étiquettes. Les LSR NE DOIVENT PAS (MUST NOT) établir de session avec des voisins pour lesquels l'intersection des plages est NULLE. Dans ce cas, le LSR DOIT (MUST) envoyer un message Notification Session Rejected/Parameters Label Range en réponse au message Initialization et ne pas établir la session.
L'encodage d'un Frame Relay Label Range Component est :
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 |Len| Minimum DLCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Maximum DLCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Reserved Ce champ est réservé. Il DOIT (MUST) être mis à zéro à l'émission et ignoré à la réception.
Len Ce champ spécifie le nombre de bits du DLCI. Les valeurs suivantes sont prises en charge :
Len DLCI Bits
0 10
2 23
Les valeurs de Len 1 et 3 sont réservées.
Minimum DLCI Ce champ de 23 bits spécifie la borne inférieure d'un bloc de Data Link Connection Identifiers (DLCI) pris en charge sur le commutateur d'origine. Le DLCI DEVRAIT (SHOULD) être justifié à droite dans ce champ et les bits inutilisés DEVRAIENT (SHOULD) être mis à 0.
Maximum DLCI Ce champ de 23 bits spécifie la borne supérieure d'un bloc de Data Link Connection Identifiers (DLCI) pris en charge sur le commutateur d'origine. Le DLCI DEVRAIT (SHOULD) être justifié à droite dans ce champ et les bits inutilisés DEVRAIENT (SHOULD) être mis à 0.
Notez qu'il n'existe pas de Generic Session Parameters TLV pour les sessions qui annoncent des Generic Labels.
3.5.3.1. Procédures du message Initialization
Voir la section "LDP Session Establishment" et en particulier la section "Session Initialization" pour les procédures générales de traitement du message Initialization.