3.5. Messages LDP
Tous les messages LDP ont 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U| Message Type | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| Mandatory Parameters |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| Optional Parameters |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
U-bit Unknown message bit. À la réception d'un message inconnu, si U est à 0, une notification est renvoyée à l'origine du message ; si U est à 1, le message inconnu est ignoré silencieusement. Les sections qui suivent et qui définissent des messages spécifient une valeur pour le U-bit.
Message Type Identifie le type du message.
Message Length Spécifie la longueur cumulée en octets du Message ID, des Mandatory Parameters et des Optional Parameters.
Message ID Valeur de 32 bits utilisée pour identifier ce message. Utilisée par le LSR émetteur pour faciliter l'identification des messages Notification susceptibles de s'appliquer à ce message. Un LSR envoyant un message Notification en réponse à ce message DEVRAIT (SHOULD) inclure ce Message ID dans le Status TLV transporté par le message Notification ; voir la section "Notification Message".
Mandatory Parameters Ensemble de longueur variable de paramètres obligatoires du message. Certains messages n'ont aucun paramètre obligatoire.
Pour les messages qui ont des paramètres obligatoires, les paramètres obligatoires DOIVENT (MUST) apparaître dans l'ordre spécifié par les spécifications de message individuelles des sections qui suivent.
Optional Parameters Ensemble de longueur variable de paramètres optionnels du message. Beaucoup de messages n'ont aucun paramètre optionnel.
Pour les messages qui ont des paramètres optionnels, les paramètres optionnels peuvent apparaître dans n'importe quel ordre.
Notez qu'il n'y a aucune exigence d'alignement pour le premier octet d'un message LDP et qu'il n'y a aucun remplissage à la fin d'un message ; autrement dit, les paramètres peuvent se terminer sur des limites d'octets impaires.
Les types de messages suivants sont définis dans cette version de LDP :
Message Name Section Title
Notification "Notification Message"
Hello "Hello Message"
Initialization "Initialization Message"
KeepAlive "KeepAlive Message"
Address "Address Message"
Address Withdraw "Address Withdraw Message"
Label Mapping "Label Mapping Message"
Label Request "Label Request Message"
Label Abort Request "Label Abort Request Message"
Label Withdraw "Label Withdraw Message"
Label Release "Label Release Message"
Les sections qui suivent spécifient les encodages et les procédures de ces messages.
Certains des messages ci-dessus sont liés les uns aux autres, par exemple les messages Label Mapping, Label Request, Label Withdraw et Label Release.
Bien qu'il soit possible de concevoir les messages ainsi apparentés en termes d'un type de message qui spécifie une classe de messages et d'un sous-type de message qui spécifie un type particulier de message au sein de cette classe, la présente spécification ne formalise pas la notion de sous-type de message.
La spécification attribue des valeurs de type aux messages apparentés, tels que les Label messages, à partir d'un bloc contigu dans l'espace de numéros de type de message sur 16 bits.