4. Capabilities Optional Parameter (Optionalparameter Capabilities, Parametertyp 2)
4. Capabilities Optional Parameter (Parameter Type 2) (Optionalparameter Capabilities, Parametertyp 2)
Dies ist ein Optional Parameter, den ein BGP Speaker verwendet, um seinem BGP Peer die Liste der vom Speaker unterstützten Capabilities mitzuteilen. Die Kodierung der BGP Optional Parameters ist in Abschnitt 4.2 von [RFC4271] spezifiziert. Der Parametertyp des Capabilities Optional Parameter ist 2.
Der Parameter enthält ein oder mehrere Tripel <Capability Code, Capability Length, Capability Value>, wobei jedes Tripel wie folgt kodiert ist:
+------------------------------+
| Capability Code (1 octet) |
+------------------------------+
| Capability Length (1 octet) |
+------------------------------+
| Capability Value (variable) |
~ ~
+------------------------------+
Verwendung und Bedeutung dieser Felder:
Capability Code:
Capability Code ist eine ein-Oktett-lange vorzeichenlose Binärzahl, die einzelne Capabilities eindeutig identifiziert.
Capability Length:
Capability Length ist eine ein-Oktett-lange vorzeichenlose Binärzahl, die die Länge des Feldes Capability Value in Oktetten angibt.
Capability Value:
Capability Value ist ein Feld variabler Länge, das entsprechend dem Wert des Feldes Capability Code interpretiert wird.
BGP Speaker SOLLTEN nicht mehr als eine Instanz einer Capability mit demselben Capability Code, Capability Length und Capability Value aufnehmen. Die Verarbeitung mehrerer Instanzen einer solchen Capability erfordert jedoch keine besondere Behandlung, da zusätzliche Instanzen die Bedeutung der angekündigten Capability nicht ändern; daher MUSS ein BGP Speaker bereit sein, solche mehrfachen Instanzen zu akzeptieren.
BGP Speaker KÖNNEN mehr als eine Instanz einer Capability (identifiziert durch den Capability Code) mit nicht-null Capability Length, aber unterschiedlichem Capability Value und gleichem oder unterschiedlichem Capability Length aufnehmen. Die Verarbeitung dieser Instanzen ist spezifisch für den Capability Code und MUSS in dem Dokument beschrieben werden, das die neue Capability einführt.
Der Capabilities Optional Parameter (OPEN Optional Parameter Type 2) SOLLTE nur einmal in der OPEN-Nachricht enthalten sein. Wenn der BGP Speaker mehrere Capabilities in der OPEN-Nachricht aufnehmen will, SOLLTE er dies wie oben erläutert tun, indem er alle diese Capabilities als TLVs innerhalb eines einzigen Capabilities Optional Parameter auflistet. Aus Gründen der Abwärtskompatibilität MUSS ein BGP Speaker jedoch bereit sein, eine OPEN-Nachricht zu empfangen, die mehrere Capabilities Optional Parameters enthält, von denen jeder ein oder mehrere Capabilities-TLVs enthält. Die Menge der Capabilities sollte in beiden Fällen auf dieselbe Weise verarbeitet werden, unabhängig davon, ob sie innerhalb eines einzigen Capabilities Optional Parameter der OPEN-Nachricht aufgezählt ist oder auf mehrere Capabilities Optional Parameters verteilt ist.