Verbessern Sie die Leistung der AS-Pfadsuche in BGP-Richtlinien
Übersicht über die AS-Pfadsuche in einer BGP-Richtlinie ohne reguläre Ausdrücke
Wenn Sie mit BGP-AS-Pfaden und Übereinstimmungsbedingungen für Routing-Richtlinien arbeiten, können Sie BGP-Richtlinien so konfigurieren, dass sie ohne Verwendung regulärer Ausdrücke nach einer Übereinstimmung mit einem autonomen System (AS) in einem AS-Pfad suchen. Die BGP-Richtlinie vergleicht den AS mit einer AS-Liste oder As-Listengruppe und gibt true zurück, wenn eine Übereinstimmung gefunden wird. Sie können die BGP-Richtlinie so konfigurieren, dass sie nach einem übereinstimmenden Ursprungs-, Nachbar- oder Transit-AS sucht. Diese Funktion bietet eine schnellere Alternative zum Abgleichen von Ursprungs-, Transit- und Peer-AS-Nummern als die Verwendung eines regulären Ausdrucks.
Vorteile von AS-Path ohne Verwendung regulärer Ausdrücke in BGP-Richtlinien:
- Optimiertes Lookup für Ursprungs-, Nachbar- und Transit-AS verbessert die Leistung.
- Bietet eine schnellere Suche in Bezug auf die Geschwindigkeit.
Die folgenden Operationen, um die AS in einem AS-Pfad abzugleichen, werden unterstützt:
-
Mit dem ursprünglichen AS im AS-Pfad abgleichen: Vergleicht den AS, von dem die Route stammt. Wertet aus, ob die am weitesten rechts liegende AS-Nummer im AS-Pfad zu dem
as-list
in deras-path-origins
Konfigurationsanweisung auf Hierarchieebene[edit policy-options policy-statement policy-name from]
angegebenen oderas-list-group
gehört. In dem Fall, in dem die Route aggregiert wurde und der Speicherort des ursprünglichen AS eine AS-Menge enthält, wird deras-path-origins
Operator als true ausgewertet, wenn ein in der AS-Gruppe enthaltener AS zu dem oderas-list-group
gehört, deras-list
in deras-path-origins
Konfigurationsanweisung angegeben ist. -
Mit dem benachbarten AS im AS-Pfad abgleichen: Vergleicht den benachbarten AS im AS-Pfad. Wertet aus, ob die erste AS-Nummer im AS-Pfad mit dem
as-list
in deras-path-neighbors
Konfigurationsanweisung auf Hierarchieebene[edit policy-options policy-statement policy-name from]
angegebenen oderas-list-group
übereinstimmt. Wenn es sich bei der benachbarten AS-Position um eine AS-Menge handelt, wird deras-path-neighbors
Operator als true ausgewertet, wenn ein in der AS-Menge enthaltener AS-Wert zu demas-list
in deras-path-neighbors
Konfigurationsanweisung angegebenen oderas-list-group
gehört. -
Gleichen Sie den Transit-AS im AS-Pfad ab:Vergleicht alle AS im AS-Pfad. Wertet aus, wann ein AS zu dem
as-list
in deras-path-transit
Konfigurationsanweisung auf Hierarchieebene[edit policy-options policy-statement policy-name from]
angegebenen oderas-list-group
gehört. Im Fall von AS-set vergleicht der As-Path-Transit-Operator alle ASes im AS-Set.
Konfigurieren der AS-Pfadsuche ohne Verwendung regulärer Ausdrücke
Sie können AS-Pfadsuchvorgänge konfigurieren, indem Sie AS-Listen oder AS-Listengruppen für Ursprungs-, Nachbar- und Transit-AS definieren und die Routen ohne Verwendung regulärer Ausdrücke filtern.
Die folgende Tabelle zeigt Konfigurationen der universellen Übereinstimmung basierend auf regulären Ausdrücken und äquivalenten Übereinstimmungen mit schnellerer Ausführungszeit.
Übereinstimmungstyp | Universelle Übereinstimmung basierend auf regulären Ausdrücken | Gleichwertige Übereinstimmung mit kürzerer Ausführungszeit |
---|---|---|
Peer | Legen Sie policy-options as-path peer-match "^101.*" fest | set policy-options as-list peer-match members 101 |
Transit | set policy-options as-path transit-match ".*61453.*10001.*40007$" | set policy-options as-list transit-match members 61453 |
Ursprung | Festlegen von Richtlinienoptionen als Pfad origin-match ".*54367$" | set policy-options as-list origin-match members 54367 |
Die folgende Beispielkonfiguration zeigt, wie Sie AS-Listen (as-list as-list-name
) für Ursprungs-, Nachbar- und Transit-ASes definieren können und wie Sie Richtlinien verwenden können, um die Routen zu filtern, ohne reguläre Ausdrücke zu verwenden:
Schritt 1: Definieren Sie AS-Listen für den Abgleich von Start-, Nachbar- und Transit-AS und wenden Sie sie als Filter an, um die Routen mithilfe von Richtlinien zu filtern.
set policy-options as-list origin-match members 54367 set policy-options as-list neighbor-match members 101 set policy-options as-list transit-match members 61453 set policy-options as-list transit-match members 10001
Sie können auch AS-Listengruppen (as-list-group group-name
) definieren, um Ursprungs-, Nachbar- und Transit-ASes abzugleichen, um die Routen mithilfe von Richtlinien zu filtern. Im Folgenden finden Sie eine Beispielkonfiguration zum Definieren von AS-Listengruppen, die mit Ursprungs-AS übereinstimmen, um die Routen mithilfe von Richtlinien zu filtern:
set policy-options as-list-group origin_group as-list origin-match-1 members 3-4 set policy-options as-list-group origin_group as-list origin-match-2 members 6-9 set policy-options policy-statement neighbor-accept term 1 from as-path-origins as-list-group origin_group set policy-options policy-statement neighbor-accept term 1 then accept set policy-options policy-statement neighbor-accept term 2 then reject
AS-Listengruppen, die den Ursprungs-, Nachbar- und Transit-AS entsprechen, können ein AS-Element (z. B. 101) oder ein Bereich von AS-Mitgliedern (z. B. 6-9) sein. In diesem Fall werden alle Routen ab 6, 7, 8, 9 abgeglichen.
Wenn Sie einen Bereich von AS-Membern (as-start bis as-end) verwenden, sollte der as-start-Memberwert kleiner oder gleich dem as-end-Memberwert sein. Das AS-Element oder der AS-Elementbereich (von Anfang bis Ende) darf nicht 0 sein.
Das as-list
oder as-list-group
definiert eine AS-Menge.
Beim Ausführen einer AS-Set-Suche nach Ursprüngen und Nachbarn wird der erste oder letzte AS aus einem AS-Pfad abgeglichen. Bei Übertragungen kann es mehrere Iterationen auf dem AS-Pfad geben, um eine AS-Set-Suche durchzuführen.
Schritt 2: Konfigurieren Sie Richtlinien so, dass Routen basierend auf Ursprungs-, Nachbar- und Transit-AS abgeglichen und gefiltert werden.
set policy-options policy-statement as-list-match term transit-match from as-path-transits as-list transit-match set policy-options policy-statement as-list-match term transit-match then local-preference 300 set policy-options policy-statement as-list-match term transit-match then accept set policy-options policy-statement as-list-match term origin-match from as-path-origins as-list origin-match set policy-options policy-statement as-list-match term origin-match then local-preference 400 set policy-options policy-statement as-list-match term origin-match then accept set policy-options policy-statement as-list-match term neighbor-match from as-path-neighbors as-list peer-match set policy-options policy-statement as-list-match term peer-match then local-preference 200 set policy-options policy-statement as-list-match term peer-match then accept
Schritt 3: Definieren Sie das lokale autonome System.
set routing-options autonomous-system 100
Schritt 4: Wenden Sie die Richtlinie als BGP-Importrichtlinie an, um die Routen zu filtern.
set protocols bgp group ebgp-1 type external set protocols bgp group ebgp-1 import as-list-match set protocols bgp group ebgp-1 family inet unicast set protocols bgp group ebgp-1 neighbor 192.168.1.2 peer-as 101 set protocols bgp group ebgp-1 neighbor 192.168.1.6 peer-as 102
Diese Richtlinie kann als Import- oder Exportrichtlinie angewendet werden, um die Routen zu filtern, um die entsprechenden Aktionen auszuführen, die in der Richtlinie definiert sind.
Sie können den show route
CLI-Befehl verwenden, um die Routen in der Routing-Tabelle anzuzeigen.
Die Konfigurationsanweisungen in der Übereinstimmungsbedingung der from-Klausel treten sowohl auf als [edit policy-options policy-statement policy-name term term-name from]
auch [edit policy-options policy-statement policy-name from]
auf Hierarchieebene auf.