3.5. Messaggi LDP
Tutti i messaggi LDP hanno il seguente formato:
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 Bit del messaggio sconosciuto (Unknown message bit). Alla ricezione di un messaggio sconosciuto, se U è azzerato (=0), viene restituita una notifica all'originatore del messaggio; se U è posto (=1), il messaggio sconosciuto viene ignorato silenziosamente. Le sezioni seguenti che definiscono i messaggi specificano un valore per il bit U.
Message Type Identifica il tipo di messaggio.
Message Length Specifica la lunghezza cumulativa in ottetti di Message ID, Mandatory Parameters e Optional Parameters.
Message ID Valore a 32 bit usato per identificare questo messaggio. Usato dall'LSR mittente per facilitare l'identificazione dei messaggi di notifica che possono applicarsi a questo messaggio. Un LSR che invia un messaggio di notifica in risposta a questo messaggio DOVREBBE (SHOULD) includere questo Message ID nel TLV Status trasportato dal messaggio di notifica; vedere la sezione "Notification Message".
Mandatory Parameters Insieme di lunghezza variabile di parametri obbligatori del messaggio. Alcuni messaggi non hanno parametri obbligatori.
Per i messaggi che hanno parametri obbligatori, i parametri obbligatori DEVONO (MUST) comparire nell'ordine specificato dalle singole specifiche dei messaggi nelle sezioni che seguono.
Optional Parameters Insieme di lunghezza variabile di parametri opzionali del messaggio. Molti messaggi non hanno parametri opzionali.
Per i messaggi che hanno parametri opzionali, i parametri opzionali possono comparire in qualsiasi ordine.
Si noti che non vi è alcun requisito di allineamento per il primo ottetto di un messaggio LDP e che non vi è alcun riempimento alla fine di un messaggio; vale a dire, i parametri possono terminare su confini di ottetto dispari.
I seguenti tipi di messaggio sono definiti in questa versione di 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"
Le sezioni che seguono specificano le codifiche e le procedure per questi messaggi.
Alcuni dei messaggi precedenti sono correlati tra loro, ad esempio i messaggi Label Mapping, Label Request, Label Withdraw e Label Release.
Sebbene sia possibile pensare ai messaggi correlati in questo modo in termini di un tipo di messaggio che specifica una classe di messaggi e un sottotipo di messaggio che specifica un particolare tipo di messaggio all'interno di quella classe, la presente specifica non formalizza la nozione di sottotipo di messaggio.
La specifica assegna valori di tipo ai messaggi correlati, come i messaggi Label, da un blocco contiguo nello spazio dei numeri di tipo di messaggio a 16 bit.