BGP-Routenpriorisierung
Grundlegendes zur BGP-Routenpriorisierung
Obwohl BGP eines der heute am weitesten verbreiteten Routing-Protokolle ist und nicht nur NLRI-Informationen (Network Layer Reachability Information), sondern auch viele Arten von VPN-Erreichbarkeitsinformationen enthält, ist bemerkenswert, dass das Protokoll nicht angibt, wie die Informationen in BGP-Aktualisierungsnachrichten angeordnet werden. Diese Entscheidung bleibt der Umsetzung überlassen.
In großen Systemen kann BGP viel Zeit in Anspruch nehmen, um seine Routing-Informationen zwischen Systemen auszutauschen. Dies gilt insbesondere beim BGP-Start, bei Routenaktualisierungsvorgängen und bei der Unterstützung eines ordnungsgemäßen Neustarts. Um die große Menge an Informationen zu verarbeiten, die verarbeitet werden müssen, wird die BGP-Routenverarbeitung mithilfe von Warteschlangen durchgeführt. Ausgehende Routen werden zur Verarbeitung in Ausgabewarteschlangen gestellt. Die BGP-Routenpriorisierung wird in Junos OS Version 16.1 eingeführt, um dem Benutzer die deterministische Priorisierung von BGP-Aktualisierungsmeldungen zu ermöglichen. Die BGP-Routenpriorisierung ist ein Prozess, der ausschließlich mit den Ausgabewarteschlangenarbeitet und dabei hilft, die Informationen zu sortieren, die an BGP-Peer-Router gesendet werden.
In der Standardkonfiguration, d. h. wenn keine output-queue-priority
Konfiguration oder Richtlinie vorhanden ist, die die Priorität außer Kraft setzt, stellt der Routing-Protokollprozess (RPD) BGP-Routen per RIB (Routing Information Base)in die Ausgabewarteschlange. Ein RIB, das auch als Routing-Tabelle bezeichnet wird, entspricht sowohl einer bestimmten Adressfamilie, z. B. inet.0, als auch Routing-Instanztabellen, z. B. vrf.inet.0. Bei der Verarbeitung von Ausgabewarteschlangen leert der BGP-Aktualisierungscode die Ausgabewarteschlange für die aktuelle RIB, bevor er mit der nächsten RIB fortfährt, die über eine nicht leere Ausgabewarteschlange verfügt.
Es wird nicht versucht, Routen automatisch zu priorisieren, auch wenn theoretisch die Möglichkeit dazu besteht. Die Priorisierung einzelner Routen bleibt somit ganz dem Benutzer überlassen.
Wenn die BGP-Routenprioritäten für eine Peergruppe geändert werden, werden die BGP-Peersitzungen zurückgesetzt.
- Anwendungsfälle für die BGP-Routenpriorisierung
- Eigenschaften der BGP-Routenpriorisierung
- Priorität und Fairness von Warteschlangen verstehen
- Prozedur für die Warteschlangenwartung
Anwendungsfälle für die BGP-Routenpriorisierung
Tabelle 1 Zeigt die Arten von Routen an, die von der Routenpriorisierung profitieren würden, sowie einige Hinweise, warum sie davon profitieren würden. Beispiele für diese Arten von Routen sind ebenfalls enthalten. Die Priorisierung dieser Routen innerhalb einer bestimmten großen Umgebung kann Routern helfen, schneller auf wichtige Routenänderungen zu reagieren.
Routen- oder Aktualisierungstyp |
Notes |
Beispiel |
---|---|---|
Präfixe, die zum Auflösen von BGP-Next-Hops in einen Forwarding-Next-Hop verwendet werden |
Änderungen an diesen Präfixen sollten so schnell wie möglich vorgenommen werden. |
|
Routen, die für Tunnelendpunkte verwendet werden |
Tunnelendpunkte wie GRE oder MPLS werden häufig als nächste BGP-Hops verwendet. |
Unicast-Routen mit BGP-Kennzeichnung |
Routentypen, die für den Betrieb einer Protokollfunktion entscheidend sind |
Bei einigen VPN-Protokollen werden bestimmte Routentypen verwendet, um zeitkritische Änderungen innerhalb des Protokolls auszulösen. Änderungen an diesen Routen müssen so schnell wie möglich vorgenommen werden. |
|
Routen für die Service-Provider-Infrastruktur |
Diese Routen sind entscheidend für die Geschäftsfähigkeit eines Service Providers. Ohne genaue und aktuelle Routen ist der Dienstanbieter möglicherweise nicht in der Lage, einige seiner Serviceangebote bereitzustellen. |
|
Änderungen an der Netzwerktopologie |
Diese sollten vor einfachen Routenaktualisierungen priorisiert werden. |
|
Eigenschaften der BGP-Routenpriorisierung
Die BGP-Routenpriorisierung in Junos OS wird mithilfe eines Satzes von 17 priorisierten (nummerierten) Ausgabewarteschlangen implementiert, die von einem vom Benutzer konfigurierbaren Token-Mechanismus bedient werden. In diesem Abschnitt werden die priorisierten Ausgabewarteschlangen, der Betrieb des Tokensystems und die Zuweisung von Routen zu Warteschlangen beschrieben.
- Priorisierte Ausgabewarteschlangen
- Zuweisung von Routen zu Warteschlangen
- Wenn Routen Warteschlangen zugewiesen werden
- Arbeits-Token-Mechanismus
Priorisierte Ausgabewarteschlangen
Tabelle 2 zeigt die verfügbaren Ausgabewarteschlangen und deren Funktion innerhalb des Priorisierungssystems an. Das Priorisierungssystem funktioniert auf einer traditionellen Skala mit niedriger, mittlerer und hoher Priorität, wobei 1 die niedrigste und 16 die höchste Priorität ist.
Schlange |
Funktion |
---|---|
Beschleunigt |
Dies ist die Ausgabewarteschlange mit der höchsten Priorität. Routen in dieser Klasse wird ein Teil der Verarbeitung der Ausgabewarteschlange garantiert, während die Ausgabewarteschlange geleert wird. Diese Warteschlange hat keine Nummer und wird in der Konfiguration mit ihrem Namen bezeichnet. |
1 (niedrigste Priorität) |
Dies ist die Ausgabewarteschlange mit der niedrigsten Priorität. Dies ist die Standard-Prioritätswarteschlange, was bedeutet, dass Routen ohne explizite Warteschlangenzuweisung durch automatische Protokollermittlung oder Benutzerrichtlinie standardmäßig in diese Warteschlange gestellt werden. Routenaktualisierungsmeldungen werden standardmäßig in dieser Warteschlange abgelegt. |
2 - 16 (niedrige - hohe Priorität) |
Die Priorität dieser Ausgabewarteschlangen reicht von der niedrigsten Priorität (2) bis zur höchsten Priorität (16). Ihnen werden Routen basierend auf Benutzerrichtlinien oder BGP-Peer-Konfiguration zugewiesen. Routen in einer Ausgabewarteschlange mit höherer Priorität können den Routen in Warteschlangen mit niedrigerer Priorität vorgreifen. |
Zuweisung von Routen zu Warteschlangen
Die Zuweisung von Routen zu den verschiedenen Warteschlangen kann durch Festlegen und Zuweisen von BGP-Exportrichtlinien erfolgen. Dies bedeutet, dass die Routenpriorität in jeder BGP-Peergruppe sowie in bestimmten Nachbarkonfigurationen innerhalb der BGP-Peergruppen variieren kann. Sie können Warteschlangen auch Routen zuweisen, indem Sie den Aktionsteil einer Richtlinienanweisung verwenden. Die Zuweisung von Routen zu Warteschlangen durch die Aktion einer Richtlinienanweisung überschreibt die von der BGP-Konfiguration vorgenommenen Zuweisungen.
Wenn Routen Warteschlangen zugewiesen werden
Priorisierte Routen werden den jeweiligen Warteschlangen erst während der Routenverarbeitung hinzugefügt. Dies geschieht in der Regel unter folgenden Bedingungen:
-
Wenn Routen von etablierten BGP-Nachbarn empfangen werden.
-
Während eines Routing-Tabellen-Walks, z. B. während der Neukonfiguration oder der anfänglichen Einrichtung eines Peers.
Die Routing-Tabelle durchläuft die Prozessrouten sequenziell in einer Tabelle, basierend auf der systeminternen Reihenfolge der Routing-Tabelle. Beispiel: inet.0
, inet6.0
und so weiter. Dieser Innenauftrag ist vorgegeben und kann vom Bediener nicht geändert werden.
Wenn sich Routen mit höherer Priorität in Routingtabellen befinden, die später in der Reihenfolge verarbeitet werden, können diese Routen den Warteschlangen nach Routen mit niedrigerer Priorität hinzugefügt werden, die zuvor im Prozess aufgetreten sind.
Arbeits-Token-Mechanismus
Token entsprechen der Arbeit zum Erstellen einer BGP-Aktualisierungsnachricht. Allen Warteschlangen werden Token zugewiesen, die in Buckets gespeichert werden. Die Anzahl der Token in einem bestimmten Bucket kann vom Benutzer konfiguriert werden. Auf diese Weise können Benutzer Richtlinien erstellen, die es ermöglichen, dass ihre Routen in den von ihnen bevorzugten Proportionen bedient werden. Die Konfiguration des Prioritäts-Schedulers erfolgt global innerhalb von BGP auf Hierarchieebene [edit protocols bgp]
. Standardmäßig haben alle Prioritätswarteschlangen mindestens 1 Token in ihrem Bucket, um sicherzustellen, dass falsch konfigurierte Prioritäten nicht verhungern.
Priorität und Fairness von Warteschlangen verstehen
Das von der BGP-Routenpriorisierung verwendete Schema konzentriert sich auf zwei Elemente: Fairness und Priorität:
Fairness bedeutet, dass, wenn in einer bestimmten Warteschlange Arbeit zu erledigen ist, andere Warteschlangen garantiert irgendwann etwas Arbeit erledigen werden. Wie viel Arbeit jede Warteschlange erledigen darf, hängt von der Anzahl der Token ab, die jeder Priorität zugewiesen sind.
Priorität bedeutet, dass bei konkurrierender Arbeit und Fairness immer die wichtigere Arbeit gewählt wird.
Nehmen Sie z. B. drei Prioritätsklassen an: Niedrig, Mittel und Hoch. Diese können den Warteschlangen 1, 2 bzw. 3 zugewiesen werden. Alternativ können sie den Warteschlangen 3, 6 und 9 zugewiesen werden. Der Fairness halber gilt: Wenn die Entscheidung lautet, dass eine hohe Priorität 50 % der verfügbaren Arbeit, eine mittlere 35 % und eine niedrige Priorität die restlichen 15 % erhält, können Token als 50 bis hoch, 35 bis mittel und 15 bis niedrig zugewiesen werden. Alternativ können Token als 5 bis hoch, 4 bis mittel und 2 bis niedrig zugewiesen werden. Sie können jeder der 17 Warteschlangen einen beliebigen Wert zwischen 1 und 100 zuweisen. Das Verhältnis der Anzahl der Token in einer einzelnen Warteschlange zur Gesamtzahl der Token in allen Warteschlangen gibt den Prozentsatz der Arbeit an, die in jeder Warteschlange ausgeführt wird.
Die Priorität ist am wichtigsten, wenn Arbeit in einer Warteschlange angezeigt wird, während Token vom Arbeitsplaner in einer anderen Warteschlange ausgegeben werden. Tabelle 3 zeigt den Ausgangspunkt für ein Beispiel hierfür.
Prioritätswarteschlange (Warteschlangennummer) |
Anzahl der Token, die der Warteschlange zugewiesen sind |
Anzahl der in der Warteschlange verbliebenen Token |
Anzahl der Einträge in der Warteschlange |
---|---|---|---|
Hoch (9) |
50 |
50 |
0 |
Mittel (6) |
35 |
15 |
5.000 |
Niedrig (3) |
15 |
15 |
10000 |
Wenn wir davon ausgehen, dass der Arbeitsplaner die mittlere Warteschlange (Warteschlange Nummer 6) verarbeitet und 20 Token ausgegeben hat, dann gibt es noch 15 Token, die für die verbleibenden Einträge in der mittleren Warteschlange ausgegeben werden können, und 15 Token, die in der Warteschlange mit niedriger Priorität ausgegeben werden können. Wenn vor der nächsten Ausführung des Arbeitsplaners 5 Einträge in der beschleunigten Warteschlange eingehen, werden diese 5 Einträge zuerst gesendet, da noch 50 Token in der beschleunigten Warteschlange verbleiben.
Prozedur für die Warteschlangenwartung
Das Warteschlangen-Servicing-Verfahren arbeitet pro BGP-Peergruppe, wobei jede Gruppe ihre eigenen Token-Buckets verwaltet.
Token-Buckets für jede Priorität beginnen entweder mit der konfigurierten Anzahl von Token oder mit dem Standardwert 1.
Jedes Mal, wenn ein Routeneintrag aus einer Warteschlange abgerufen wird, um ein BGP-Update zu starten, wird ein Token von dieser Warteschlange abgezogen.
Während die beschleunigte Warteschlange über Token verfügt, wird jeder zweite Warteschlangeneintrag aus der beschleunigten Warteschlange gezogen, vorbehaltlich der Regeln für das Verpacken von Routen.
Einträge werden aus der Warteschlange mit der höchsten Priorität entnommen. Dies bedeutet, dass, wenn Einträge zwischen Ausführungen des Warteschlangenverwaltungsmechanismus zu einer Warteschlange mit höherer Priorität hinzugefügt werden und in dieser Warteschlange mit höherer Priorität Token verfügbar sind, die neuen Einträge in der Warteschlange mit höherer Priorität zuerst gesendet werden, wodurch Einträge in Warteschlangen mit niedrigerer Priorität vorzeitig werden. Wenn in der Warteschlange mit höherer Priorität keine Arbeitstoken verfügbar sind, wenn die neuen Einträge eintreffen, werden die neuen Einträge erst nach der nächsten Tokenaktualisierung gesendet.
Token werden aktualisiert, nachdem alle Prioritätswarteschlangen bedient wurden (es gibt keine Einträge mehr in einer Warteschlange) oder wenn alle Token erschöpft sind.
Siehe auch
Beispiel: Konfigurieren des BGP-Ausgabeprioritätsplaners und der globalen Adressfamilienpriorität
In diesem Beispiel wird gezeigt, wie der systemweite BGP-Routenprioritätsplaner konfiguriert und getestet wird.
- Anforderungen
- Überblick
- Konfiguration
- Konfigurieren globaler Ausgabeprioritäten für eine Routenfamilie
- Konfigurieren einer BGP-Gruppe mit dem Namen test1
- Verifizierung
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
Ein Router der MX-Serie (R1) mit Junos OS Version 16.1 oder höher
Bevor Sie den Scheduler für die BGP-Routenpriorisierung konfigurieren, stellen Sie sicher, dass das BGP-Protokoll auf dem Router ausgeführt wird.
Überblick
Der BGP-Routenprioritätsplaner wird verwendet, um den Arbeitsumfang innerhalb der 17 Ausgabewarteschlangen des Routenpriorisierungssystems zu steuern. Das System verwendet einen Satz von 17 priorisierten Ausgabewarteschlangen pro Routing-Instanz, der Arbeitstoken zugewiesen sind. Allen 17 priorisierten Ausgabewarteschlangen (1-16 und beschleunigt) ist standardmäßig 1 Token zugewiesen. Jeder der 17 Warteschlangen kann eine beliebige Anzahl von Token zwischen 1 und 100 zugewiesen werden. Durch das Zuweisen von Token zu den Warteschlangen können Sie die Menge der an den Routen innerhalb der Warteschlangen ausgeführten Arbeit ausgleichen. Darüber hinaus können Standardeinstellungen für Warteschlangen mit hoher, mittlerer und niedriger Priorität konfiguriert werden, indem jedes Schlüsselwort einer bestimmten nummerierten Ausgabewarteschlange zugewiesen wird. In diesem Beispiel konfigurieren wir jede der 17 Prioritätswarteschlangen mit einer unterschiedlichen Anzahl von Arbeitstoken, konfigurieren globale Ausgabeprioritäten für inet-Unicast-Routen und demonstrieren die Vererbung, indem wir einige BGP-Gruppen einrichten, um globale Prioritätseinstellungen zu überschreiben.
Konfiguration
Weisen Sie sie jeder der 17 Ausgabewarteschlangen zu
update-tokens
.Geben Sie an, welche nummerierten Warteschlangen als Standard
high
medium
- undlow
Prioritätswarteschlangen verwendet werden sollen.Konfigurieren Sie globale Ausgabeprioritäten für
inet unicast
Routen.Konfigurieren Sie eine BGP-Gruppe mit dem Namen test1, die Gruppenüberschreibungsfunktionen anzeigt.
Konfigurieren Sie eine BGP-Gruppe mit dem Namen test2, die die globale Vererbung anzeigt.
- CLI-Schnellkonfiguration
- Konfiguration der einzelnen Ausgabeprioritätswarteschlangen
- Konfigurieren von Standardwarteschlangen für Routenaktualisierungen mit hoher, mittlerer und niedriger Priorität
- Ergebnisse
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf Hierarchieebene [edit]
ein.
set protocols bgp output-queue-priority expedited update-tokens 100 set protocols bgp output-queue-priority priority 1 update-tokens 1 set protocols bgp output-queue-priority priority 2 update-tokens 10 set protocols bgp output-queue-priority priority 3 update-tokens 15 set protocols bgp output-queue-priority priority 4 update-tokens 20 set protocols bgp output-queue-priority priority 5 update-tokens 25 set protocols bgp output-queue-priority priority 6 update-tokens 30 set protocols bgp output-queue-priority priority 7 update-tokens 35 set protocols bgp output-queue-priority priority 8 update-tokens 40 set protocols bgp output-queue-priority priority 9 update-tokens 45 set protocols bgp output-queue-priority priority 10 update-tokens 50 set protocols bgp output-queue-priority priority 11 update-tokens 55 set protocols bgp output-queue-priority priority 12 update-tokens 60 set protocols bgp output-queue-priority priority 13 update-tokens 65 set protocols bgp output-queue-priority priority 14 update-tokens 70 set protocols bgp output-queue-priority priority 15 update-tokens 75 set protocols bgp output-queue-priority priority 16 update-tokens 80 set protocols bgp output-queue-priority defaults low priority 1 set protocols bgp output-queue-priority defaults medium priority 10 set protocols bgp output-queue-priority defaults high expedited set protocols bgp group reflector local-address 198.51.100.140 set protocols bgp family inet unicast output-queue-priority priority 1 set protocols bgp family inet unicast route-refresh-priority priority 2 set protocols bgp family inet unicast withdraw-priority priority 3 set protocols bgp group test1 family inet unicast output-queue-priority priority 4 set protocols bgp group test1 family inet unicast route-refresh-priority priority 6 set protocols bgp group test1 peer-as 64511 set protocols bgp group test1 local-as 64511 set protocols bgp group test1 neighbor 224.223.1.1 set protocols bgp group test1 neighbor 224.223.2.2 family inet unicast output-queue-priority priority 7 set protocols bgp group test1 neighbor 224.223.2.2 family inet unicast route-refresh-priority priority 8 set protocols bgp group test1 neighbor 224.223.2.2 family inet unicast withdraw-priority expedited set protocols bgp group test2 peer-as 64513 set protocols bgp group test2 local-as 64511 set protocols bgp group test2 neighbor 224.223.3.3
Konfiguration der einzelnen Ausgabeprioritätswarteschlangen
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Weitere Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.
Zuweisen von Aktualisierungstoken zu jeder der 17 priorisierten Ausgabewarteschlangen
[edit protocols bgp output-queue-priority] user@R1# set expedited update-tokens 100 user@R1# set priority 1 update-tokens 1 user@R1# set priority 2 update-tokens 10 user@R1# set priority 3 update-tokens 15 user@R1# set priority 4 update-tokens 20 user@R1# set priority 5 update-tokens 25 user@R1# set priority 6 update-tokens 30 user@R1# set priority 7 update-tokens 35 user@R1# set priority 8 update-tokens 40 user@R1# set priority 9 update-tokens 45 user@R1# set priority 10 update-tokens 50 user@R1# set priority 11 update-tokens 55 user@R1# set priority 12 update-tokens 60 user@R1# set priority 13 update-tokens 65 user@R1# set priority 14 update-tokens 70 user@R1# set priority 15 update-tokens 75 user@R1# set priority 16 update-tokens 80
Konfigurieren von Standardwarteschlangen für Routenaktualisierungen mit hoher, mittlerer und niedriger Priorität
Schritt-für-Schritt-Anleitung
[edit protocols bgp output-queue-priority] user@R1# set defaults low priority 1 user@R1# set defaults medium priority 10 user@R1# set defaults high expedited
Ergebnisse
Um die Konfiguration zu bestätigen, geben Sie den show bgp output-scheduler
Befehl aus dem Betriebsmodus ein:
Konfigurieren globaler Ausgabeprioritäten für eine Routenfamilie
Verfahren
Schritt-für-Schritt-Anleitung
Konfigurieren Sie die globalen
output-queue-priority
inet unicast
Routen:[edit bgp family inet unicast] user@R1# set output-queue-priority priority 1 user@R1# set route-refresh-priority priority 2 user@R1# set withdraw-priority priority 3
Konfigurieren einer BGP-Gruppe mit dem Namen test1
Verfahren
Schritt-für-Schritt-Anleitung
Konfigurieren Sie die Gruppe
test1
so, dass globale Ausgabeprioritäten überschrieben werden, und schließen Sie einen Nachbarn, der die Gruppe überschreibt, und einen Nachbarn, der dies nicht tut, ein.[edit protocols bgp group test1] user@R1# set family inet unicast output-queue-priority priority 4 user@R1# set family inet unicast route-refresh-priority priority 6 user@R1# set peer-as 64511 user@R1# set local-as 64511 user@R1# set neighbor 224.223.1.1 user@R1# set neighbor 224.223.2.2 family inet unicast output-queue-priority priority 7 user@R1# set neighbor 224.223.2.2 family inet unicast route-refresh-priority priority 8 user@R1# set neighbor 224.223.2.2 family inet unicast withdraw-priority expedited
Konfigurieren einer BGP-Gruppe mit dem Namen test2
Schritt-für-Schritt-Anleitung
Konfigurieren Sie die BGP-Gruppe
test2
so, dass globale Standardwerte akzeptiert werden.[edit protocols bgp group test2] user@R1# set peer-as 64513 user@R1# set local-as 64511 user@R1# set neighbor 224.223.3.3
Verifizierung
- Überprüfen der BGP-Ausgabeplanerkonfiguration
- Überprüfen der Gruppenkonfiguration, der Gruppenüberschreibung und der Nachbarüberschreibung
- Überprüfen der Vererbung von globalen Prioritätseinstellungen
Überprüfen der BGP-Ausgabeplanerkonfiguration
Zweck
Um die Konfiguration des BGP-Ausgabeplaners zu überprüfen, geben Sie den show bgp output-scheduler
Befehl aus dem Betriebsmodus ein.
Action!
user@R1> show bgp output-scheduler user@R1> show bgp output-scheduler Instance: master Class Tokens ------------ ------ Priority 1 1 Priority 2 10 Priority 3 15 Priority 4 20 Priority 5 25 Priority 6 30 Priority 7 35 Priority 8 40 Priority 9 45 Priority 10 50 Priority 11 55 Priority 12 60 Priority 13 65 Priority 14 70 Priority 15 75 Priority 16 80 Expedited 100 Priority Class -------- ------------ low Priority 1 medium Priority 10 high Expedited
Bedeutung
Die Ausgabe zeigt, dass die Konfiguration des Ausgabeplaners erfolgreich die richtige Anzahl von Token auf jede Ausgabewarteschlange angewendet hat und dass die Schlüsselwörter mit hoher, mittlerer und niedriger Priorität den richtigen Ausgabewarteschlangen zugewiesen wurden.
Überprüfen der Gruppenkonfiguration, der Gruppenüberschreibung und der Nachbarüberschreibung
Zweck
Um zu überprüfen, ob die konfigurierten Gruppen Gruppenüberschreibung, Nachbarüberschreibung und Vererbung aufweisen, geben Sie den show bgp group group-name
Befehl aus dem Betriebsmodus ein.
Action!
user@R1> show bgp group test1 Group Type: Internal AS: 64511 Local AS: 64511 Name: test1 Index: 2 Flags: <> Options: <LocalAS> Holdtime: 0 NLRI inet-unicast: OutQ: priority 7 RRQ: priority 8 WDQ: expedited Local AS: 64511 Local System AS: 64511 Total peers: 1 Established: 0 224.223.2.2 Group Type: Internal AS: 64511 Local AS: 64511 Name: test1 Index: 1 Flags: <Export Eval> Options: <LocalAS> Holdtime: 0 NLRI inet-unicast: OutQ: priority 4 RRQ: priority 6 WDQ: priority 3 Local AS: 64511 Local System AS: 64511 Total peers: 1 Established: 0 224.223.1.1
Bedeutung
Die Ausgabe zeigt, dass die Priorität der Ausgabewarteschlange für Peer 224.223.2.2 7 ist, die Priorität der Routenaktualisierung 8 beträgt und die Priorität für das Zurückziehen beschleunigt ist. Während die Priorität der Ausgabewarteschlange für den Nachbarn 224.223.1.1 4 ist, ist die Priorität für die Routenaktualisierung 6 und die Priorität zum Zurückziehen ist die Standardeinstellung für die Familie inet unicast
oder 3.
Überprüfen der Vererbung von globalen Prioritätseinstellungen
Zweck
Um zu überprüfen, ob Gruppen, die nicht so konfiguriert sind, dass sie die globalen BGP-Routenpriorisierungseinstellungen außer Kraft setzen, den Befehl auf operativer Ebene absetzen show bgp group group-name
.
Action!
user@R1> show bgp group test2 Group Type: External Local AS: 64511 Name: test2 Index: 3 Flags: <Export Eval> Options: <LocalAS> Holdtime: 0 NLRI inet-unicast: OutQ: priority 1 RRQ: priority 2 WDQ: priority 3 Local AS: 64511 Local System AS: 64511 Total peers: 1 Established: 0 224.223.3.3
Bedeutung
Die Ausgabe zeigt, dass die standardmäßigen Routenprioritäten für inet unicast
Routen in der test2
Gruppe mit der globalen Konfiguration übereinstimmen.
Beispiel: Steuern der Routing-Tabellenkonvergenz mithilfe der BGP-Routenpriorisierung
Im folgenden Beispiel wird die BGP-Routenpriorisierung konfiguriert, damit Routen vor inet unicast
Routen konvergieren könneninet labeled-unicast
.
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
Ein Router der MX-Serie (R1) mit Junos OS Version 16.1 oder höher, der im Mittelpunkt des Beispiels steht.
Ein zweiter Router (R2), der als interner BGP-Peer mit R1 konfiguriert ist.
Ein BGP-Routenreflektor (RR), der zum Auffüllen der Routing-Tabellen von R1 verwendet wird. In diesem Beispiel wird der Routenreflektor nicht konfiguriert.
Überblick
Die BGP-Routenpriorisierungsfunktion wurde entwickelt, um die Priorisierung ausgehender BGP-Aktualisierungsnachrichten in einem Router zu ermöglichen. Mithilfe der BGP-Routenpriorisierung kann der Benutzer sicherstellen, dass wichtigere BGP-Routenaktualisierungen, wie z. B. GRE- oder MPLS-Tunnelendpunktänderungen, vor weniger wichtigen BGP-Routenaktualisierungen, wie z. B. Routenaktualisierungen, gesendet werden.
In diesem Beispiel konfigurieren wir R1 so, dass Routenaktualisierungen in R2 eine höhere Priorität haben inet labeled-unicast
als inet unicast
Routenaktualisierungen. Dazu konfigurieren wir den R2-Router so, dass er sowohl Routen als auch inet unicast
inet labeled-unicast
Routen von seinem Peer-Router R1 akzeptiert. Dann füllen wir die inet.0
Routing-Tabelle auf R1 von einem Routenreflektor aus und importieren einen Teil dieser Tabelle mithilfe von import in rib-group
die labeled-unicast
Tabelle inet.3
. Da sich die Routen auf R1 in der Warteschlange befinden, können wir den Vorgang validieren, indem wir beobachten, ob die Routen im inet.3
RIB vor den restlichen Routen im inet.0
RIB geleert werden.
Konfigurieren der BGP-Routenpriorisierung
Konfigurieren Sie R2 als BGP-Peer von R1.
Auf R1:
Konfigurieren Sie den Router R2 als Peer des Routers R1.
Erstellen Sie eine BGP-Gruppe mit dem Namen reflector, die zum Abrufen von Internetrouten von einem Routenreflektor verwendet wird.
Erstellen Sie eine BGP-Gruppe mit dem Namen internal, die für die Zuweisung des bezeichneten Unicast-Datenverkehrs zu einer Ausgabewarteschlange mit höherer Priorität verwendet wird.
Erstellen Sie eine RIB-Gruppe, in die die vom Reflektor empfangenen Routen importiert werden.
Erstellen Sie die Richtlinie, die bestimmt, welcher Teil der
inet.0
RIB in die RIB-Gruppe importiert wird.
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf Hierarchieebene [edit]
ein.
Router R2
set protocols bgp group internal type internal set protocols bgp group internal family inet unicast set protocols bgp group internal family inet labeled-unicast rib inet.3 set protocols bgp group internal peer-as 64511 set protocols bgp group internal local-as 64511 set protocols bgp group internal neighbor 192.0.2.1
Router R1
set protocols bgp group internal type internal set protocols bgp group internal hold-time 900 set protocols bgp group internal family inet unicast withdraw-priority expedited set protocols bgp group internal family inet labeled-unicast output-queue-priority priority 2 set protocols bgp group internal family inet labeled-unicast rib inet.3 set protocols bgp group internal family inet-vpn unicast set protocols bgp group internal local-as 64511 set protocols bgp group internal neighbor 192.0.2.2 local-address 192.0.2.1 set protocols bgp group reflector local-address 203.0.113.225 set protocols bgp group reflector family inet unicast rib-group into3 set protocols bgp group reflector peer-as 64500 set protocols bgp group reflector local-as 64496 set protocols bgp group reflector neighbor 192.51.100.71 multihop set policy-options policy-statement match-all then accept set routing-options rib-groups into3 import-rib inet.0 set routing-options rib-groups into3 import-rib inet.3 set routing-options rib-groups into3 import-policy match-long set policy-options policy-statement match-long term a from route-filter 192.0.0.0/8 prefix-length-range /20-/24 set policy-options policy-statement match-long term a then accept set policy-options policy-statement match-long then reject set policy-options policy-statement match-all then accept
Verfahren
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Weitere Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.
So konfigurieren Sie R2:
Konfigurieren Sie eine BGP-Gruppe mit dem Namen internal.
[edit protocols bgp group internal] user@R2# set type internal user@R2# set family inet unicast user@R2# set family inet labeled-unicast rib inet.3 user@R2# set peer-as 64511 user@R2# set local-as 64511 user@R2# set neighbor 192.0.2.1
Schritt-für-Schritt-Anleitung
So konfigurieren Sie R1:
Konfigurieren Sie eine BGP-Gruppe mit dem Namen reflector, die Routen vom RR empfängt.
[edit protocols bgp group reflector] user@R1# set local-address 203.0.113.225 user@R1# set family inet unicast rib-group into3 user@R1# set peer-as 64500 user@R1# set local-as 64496 user@R1# set neighbor 192.51.100.71 multihop
Konfigurieren einer BGP-Gruppe mit dem Namen internal
[edit protocols bgp group internal] user@R1# set type internal user@R1# set hold-time 900 user@R1# set family inet unicast withdraw-priority expedited user@R1# set family inet labeled-unicast output-queue-priority priority 2 user@R1# set family inet labeled-unicast rib inet.3 user@R1# set family inet-vpn unicast user@R1# set local-as 64511 user@R1# set neighbor 192.0.2.2 local-address 192.0.2.1
Konfigurieren einer RIB-Gruppe mit dem Namen in3
[edit routing-options rib-groups into3] user@R1# set import-rib inet.0 user@R1# set import-rib inet.3 user@R1# set import-policy match-long
Konfigurieren einer Routingrichtlinie mit dem Namen match-long
[edit policy-options policy-statement match-long] user@R1# set term a from route-filter 192.0.0.0/8 prefix-length-range /20-/24 user@R1# set term a then accept user@R1# set then reject
Konfigurieren einer Routingrichtlinie mit dem Namen "Match-all"
[edit policy-options policy-statement match-all] user@R1# set then accept
Verifizierung
Überprüfen, ob Nachbaraktualisierungen die richtige Priorität haben
Zweck
Um zu bestätigen, dass Routenaktualisierungen in den richtigen Warteschlangen platziert werden und dass die Warteschlangen aktualisiert werden.
Action!
Um die Routenaktualisierungen anzuzeigen, die für den BGP-Nachbarn 192.0.2.2 in die Warteschlange gestellt sind, geben Sie den show bgp neighbor output-queue 192.0.2.2
Befehl im Betriebsmodus aus. Die Ausgaben zeigen, dass inet-unicast-Routen vor inet-labeled-unicast-Routen angekündigt werden.
user@R1> show bgp neighbor output-queue 192.0.2.2 Peer: 192.0.2.2+179 AS 64511 Local: 192.0.2.1+63704 AS 64511 Output Queue[0]: 502701 (inet.0, inet-unicast) Priority 1 : 502701 Priority 2 : 0 Priority 3 : 0 Priority 4 : 0 Priority 5 : 0 Priority 6 : 0 Priority 7 : 0 Priority 8 : 0 Priority 9 : 0 Priority 10: 0 Priority 11: 0 Priority 12: 0 Priority 13: 0 Priority 14: 0 Priority 15: 0 Priority 16: 0 Expedited : 0
user@R1> show bgp neighbor output-queue 192.0.2.2 Peer: 192.0.2.2+179 AS 64511 Local: 192.0.2.1+63704 AS 64511 Output Queue[1]: 6687 (inet.3, inet-labeled-unicast) Priority 1 : 0 Priority 2 : 6687 Priority 3 : 0 Priority 4 : 0 Priority 5 : 0 Priority 6 : 0 Priority 7 : 0 Priority 8 : 0 Priority 9 : 0 Priority 10: 0 Priority 11: 0 Priority 12: 0 Priority 13: 0 Priority 14: 0 Priority 15: 0 Priority 16: 0 Expedited : 0 user@R1> show bgp neighbor output-queue 192.0.2.2 Peer: 192.0.2.2+179 AS 64511 Local: 192.0.2.1+63704 AS 64511 Output Queue[0]: 491187 (inet.0, inet-unicast) Priority 1 : 491187 Priority 2 : 0 Priority 3 : 0 Priority 4 : 0 Priority 5 : 0 Priority 6 : 0 Priority 7 : 0 Priority 8 : 0 Priority 9 : 0 Priority 10: 0 Priority 11: 0 Priority 12: 0 Priority 13: 0 Priority 14: 0 Priority 15: 0 Priority 16: 0 Expedited : 0 user@R1> show bgp neighbor output-queue 192.0.2.2 Peer: 192.0.2.2+179 AS 64511 Local: 192.0.2.1+63704 AS 64511 Output Queue[1]: 0 (inet.3, inet-labeled-unicast) Priority 1 : 0 Priority 2 : 0 Priority 3 : 0 Priority 4 : 0 Priority 5 : 0 Priority 6 : 0 Priority 7 : 0 Priority 8 : 0 Priority 9 : 0 Priority 10: 0 Priority 11: 0 Priority 12: 0 Priority 13: 0 Priority 14: 0 Priority 15: 0 Priority 16: 0 Expedited : 0
Bedeutung
Die Ausgabe von show bgp neighbor output-queue 192.0.2.2
zeigt, dass die angegebenen Unicast-Routenaktualisierungen in der Ausgabewarteschlange mit Priorität 2 platziert werden und dass die Ausgabewarteschlange mit Priorität 2 vor den Unicast-Routenaktualisierungen geleert wird, die sich in der Ausgabewarteschlange der Priorität 1 befinden.