5. Path Attributes (Pfadattribute)
5. Path Attributes (Pfadattribute)
Dieser Abschnitt behandelt die Pfadattribute der UPDATE-Nachricht.
Pfadattribute fallen in vier separate Kategorien:
- Wohlbekannt obligatorisch (Well-known mandatory).
- Wohlbekannt diskretionär (Well-known discretionary).
- Optional transitiv (Optional transitive).
- Optional nicht transitiv (Optional non-transitive).
BGP-Implementierungen MÜSSEN alle wohlbekannten Attribute erkennen. Einige dieser Attribute sind obligatorisch und MÜSSEN in jeder UPDATE-Nachricht enthalten sein, die NLRI enthält. Andere sind diskretionär und KÖNNEN in einer bestimmten UPDATE-Nachricht gesendet werden oder NICHT.
Sobald ein BGP-Peer wohlbekannte Attribute aktualisiert hat, MUSS er diese Attribute in allen Updates, die er sendet, an seine Peers weitergeben.
Zusätzlich zu wohlbekannten Attributen KANN jeder Pfad ein oder mehrere optionale Attribute enthalten. Es ist nicht erforderlich oder erwartet, dass alle BGP-Implementierungen alle optionalen Attribute unterstützen. Die Behandlung eines nicht erkannten optionalen Attributs wird durch die Einstellung des Transitive-Bits im Attribut-Flags-Oktett bestimmt. Pfade mit nicht erkannten transitiven optionalen Attributen SOLLTEN akzeptiert werden. Wenn ein Pfad mit einem nicht erkannten transitiven optionalen Attribut akzeptiert und an andere BGP-Peers weitergegeben wird, dann MUSS das nicht erkannte transitive optionale Attribut dieses Pfades zusammen mit dem Pfad an andere BGP-Peers weitergegeben werden, wobei das Partial-Bit im Attribut-Flags-Oktett auf 1 gesetzt ist. Wenn ein Pfad mit einem erkannten, transitiven optionalen Attribut akzeptiert und an andere BGP-Peers weitergegeben wird und das Partial-Bit im Attribut-Flags-Oktett von einem vorherigen AS auf 1 gesetzt wurde, DARF es vom aktuellen AS NICHT auf 0 zurückgesetzt werden. Nicht erkannte nicht transitive optionale Attribute MÜSSEN stillschweigend ignoriert und nicht an andere BGP-Peers weitergegeben werden.
Neue, transitive optionale Attribute KÖNNEN vom Urheber oder von jedem anderen BGP-Speaker im Pfad an den Pfad angehängt werden. Wenn sie nicht vom Urheber angehängt werden, wird das Partial-Bit im Attribut-Flags-Oktett auf 1 gesetzt. Die Regeln zum Anhängen neuer nicht transitiver optionaler Attribute hängen von der Natur des spezifischen Attributs ab. Die Dokumentation jedes neuen nicht transitiven optionalen Attributs wird voraussichtlich solche Regeln enthalten (die Beschreibung des MULTI_EXIT_DISC-Attributs gibt ein Beispiel). Alle optionalen Attribute (sowohl transitive als auch nicht transitive) KÖNNEN (falls angemessen) von BGP-Speakern im Pfad aktualisiert werden.
Der Sender einer UPDATE-Nachricht SOLLTE Pfadattribute innerhalb der UPDATE-Nachricht in aufsteigender Reihenfolge des Attributtyps ordnen. Der Empfänger einer UPDATE-Nachricht MUSS darauf vorbereitet sein, Pfadattribute in UPDATE-Nachrichten zu behandeln, die nicht in der richtigen Reihenfolge sind.
Dasselbe Attribut (Attribut gleichen Typs) darf nicht mehr als einmal im Feld Pfadattribute einer bestimmten UPDATE-Nachricht erscheinen.
Die obligatorische Kategorie bezieht sich auf ein Attribut, das sowohl in IBGP- als auch in EBGP-Austauschen vorhanden sein MUSS, wenn NLRI in der UPDATE-Nachricht enthalten sind. Attribute, die für den Zweck des Protokollerweiterungsmechanismus als optional klassifiziert sind, können in bestimmten Kontexten rein diskretionär, diskretionär, erforderlich oder unzulässig sein.
| Attribut | EBGP | IBGP |
|---|---|---|
| ORIGIN | obligatorisch | obligatorisch |
| AS_PATH | obligatorisch | obligatorisch |
| NEXT_HOP | obligatorisch | obligatorisch |
| MULTI_EXIT_DISC | diskretionär | diskretionär |
| LOCAL_PREF | siehe Abschnitt 5.1.5 | erforderlich |
| ATOMIC_AGGREGATE | siehe Abschnitt 5.1.6 und 9.1.4 | |
| AGGREGATOR | diskretionär | diskretionär |