3.6. Nachrichten und TLVs für Erweiterbarkeit
Die Unterstützung der LDP-Erweiterbarkeit umfasst die Regeln für die U- und F-Bits, die festlegen, wie ein LSR unbekannte TLVs und Nachrichten behandelt.
Dieser Abschnitt spezifiziert TLVs und Nachrichten für herstellereigenen (vendor-private) und experimentellen Gebrauch.
3.6.1. LDP Vendor-Private-Erweiterungen
Herstellereigene TLVs und Nachrichten werden verwendet, um herstellereigene Informationen zwischen LSRs zu übermitteln.
3.6.1.1. LDP Vendor-Private-TLVs
Der Type-Bereich 0x3E00 bis 0x3EFF ist für herstellereigene TLVs reserviert.
Die Kodierung für ein herstellereigenes TLV ist:
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 (0x3E00-0x3EFF) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Vendor ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Data.... |
~ ~
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
U-bit Unknown TLV bit. Bei Empfang eines unbekannten TLV MUSS (MUST), wenn U nicht gesetzt ist (=0), eine Benachrichtigung an den Nachrichtenursprung zurückgesendet und die gesamte Nachricht ignoriert werden; wenn U gesetzt ist (=1), wird das unbekannte TLV stillschweigend ignoriert und der Rest der Nachricht verarbeitet, als ob das unbekannte TLV nicht existierte.
Die Feststellung, ob eine herstellereigene Nachricht verstanden wird, basiert auf dem Type und dem obligatorischen Feld Vendor ID.
Implementierungen, die herstellereigene TLVs unterstützen, MÜSSEN (MUST) eine benutzerzugängliche Konfigurationsschnittstelle unterstützen, die bewirkt, dass das U-bit bei allen gesendeten herstellereigenen TLVs gesetzt wird; diese Anforderung KANN (MAY) durch eine benutzerzugängliche Konfigurationsschnittstelle erfüllt werden, die die Übertragung aller herstellereigenen TLVs verhindert, bei denen das U-bit nicht gesetzt ist.
F-bit Forward unknown TLV bit. Dieses Bit gilt nur, wenn das U-bit gesetzt ist und die das unbekannte TLV enthaltende LDP-Nachricht weitergeleitet werden soll. Wenn F nicht gesetzt ist (=0), wird das unbekannte TLV nicht mit der enthaltenden Nachricht weitergeleitet; wenn F gesetzt ist (=1), wird das unbekannte TLV mit der enthaltenden Nachricht weitergeleitet.
Type Typwert im Bereich 0x3E00 bis 0x3EFF. Zusammen legen das Type- und das Vendor ID-Feld fest, wie das Data-Feld zu interpretieren ist.
Length Gibt die kumulative Länge in Oktetten der Felder Vendor ID und Data an.
Vendor ID 802 Vendor ID, wie von der IEEE zugewiesen.
Data Die verbleibenden Oktette nach der Vendor ID im Value-Feld sind optionale herstellerabhängige Daten.
3.6.1.2. LDP Vendor-Private-Nachrichten
Der Message Type-Bereich 0x3E00 bis 0x3EFF ist für Vendor-Private-Nachrichten reserviert.
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| Msg Type (0x3E00-0x3EFF) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Vendor ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ +
| Remaining Mandatory Parameters |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| Optional Parameters |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
U-bit Unknown message bit. Bei Empfang einer unbekannten Nachricht wird, wenn U nicht gesetzt ist (=0), eine Benachrichtigung an den Nachrichtenursprung zurückgesendet; wenn U gesetzt ist (=1), wird die unbekannte Nachricht stillschweigend ignoriert.
Die Feststellung, ob eine Vendor-Private-Nachricht verstanden wird, basiert auf dem Msg Type und dem Parameter Vendor ID.
Implementierungen, die Vendor-Private-Nachrichten unterstützen, MÜSSEN (MUST) eine benutzerzugängliche Konfigurationsschnittstelle unterstützen, die bewirkt, dass das U-bit bei allen gesendeten Vendor-Private-Nachrichten gesetzt wird; diese Anforderung KANN (MAY) durch eine benutzerzugängliche Konfigurationsschnittstelle erfüllt werden, die die Übertragung aller Vendor-Private-Nachrichten verhindert, bei denen das U-bit nicht gesetzt ist.
Msg Type Message Type-Wert im Bereich 0x3E00 bis 0x3EFF. Zusammen legen der Msg Type und die Vendor ID fest, wie die Nachricht zu interpretieren ist.
Message Length Gibt die kumulative Länge in Oktetten von Message ID, Vendor ID, Remaining Mandatory Parameters und Optional Parameters an.
Message ID 32-Bit-Ganzzahl, die verwendet wird, um diese Nachricht zu identifizieren. Wird vom sendenden LSR verwendet, um Notification-Nachrichten zu identifizieren, die für diese Nachricht gelten können. Ein LSR, der als Antwort auf diese Nachricht eine Notification-Nachricht sendet, wird diese Message ID in die Benachrichtigungsnachricht aufnehmen; siehe den Abschnitt "Notification Message".
Vendor ID 802 Vendor ID, wie von der IEEE zugewiesen.
Remaining Mandatory Parameters Menge der verbleibenden erforderlichen Nachrichtenparameter variabler Länge.
Optional Parameters Menge von optionalen Nachrichtenparametern variabler Länge.
3.6.2. LDP Experimentelle Erweiterungen
Die LDP-Unterstützung für Experimente ähnelt der Unterstützung für herstellereigene Erweiterungen mit den folgenden Unterschieden:
-
Der Type-Bereich 0x3F00 bis 0x3FFF ist für experimentelle TLVs reserviert.
-
Der Message Type-Bereich 0x3F00 bis 0x3FFF ist für experimentelle Nachrichten reserviert.
-
Die Kodierungen für experimentelle TLVs und Nachrichten ähneln den herstellereigenen Kodierungen mit dem folgenden Unterschied.
Experimentelle TLVs und Nachrichten verwenden ein Experiment ID-Feld anstelle eines Vendor ID-Felds. Das Experiment ID-Feld wird zusammen mit dem Type- oder Message Type-Feld verwendet, um die Interpretation des experimentellen TLV oder der experimentellen Nachricht festzulegen.
Die Verwaltung der Experiment IDs liegt in der Verantwortung der Experimentatoren.