Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Walkup für Routenfilter – Übersicht

Verwenden Sie die Walkup-Funktion, wenn Sie Bedenken hinsichtlich der Richtlinienleistung haben, weil die Routingfilter über mehrere Richtlinienbedingungen verteilt sind. Die Walkup-Funktion ermöglicht die Konsolidierung von Routenfiltern unter einem Richtlinienbegriff.

Standardmäßig wertet Junos mehrere Routenfilter in einem Richtlinienanweisungsbegriff aus, indem zuerst das Präfix mit der längsten Übereinstimmung ermittelt und dann die an den Routenfilter angehängten Bedingungen ausgewertet werden, z. B. der Präfixbereich. Wenn die Routenfilterbedingung false ist (z. B. wenn das Präfix nicht im angegebenen Bereich liegt), ist der gesamte Begriff false, auch wenn es potenziell echte Präfixe für kürzere Routenfilter gibt. Aufgrund dieses Verhaltens kann es zu Leistungsproblemen kommen, wenn Routenfilter in einzelne Richtlinienanweisungsbegriffe aufgeteilt werden. Die Walkup-Funktion ändert das standardmäßige Verhalten des Routenfilters.

Einige automatisierte Richtlinientools – z. B. diejenigen, die im Border Gateway Protocol (BGP) für autonome System-Border-Router verwendet werden – unterteilen Routenfilter aufgrund des Standardverhaltens des Routenfilters in mehrere Begriffe. Routing-Filter werden auch in anderen Routing-Protokollen als BGP verwendet. Die Walkup-Funktion ist nicht auf BGP-Routenfilter beschränkt.

HINWEIS:

Technisch gesehen behandelt BGP Routen nicht auf die gleiche Weise wie OSPF oder IS-IS. BGP-"Routen" werden korrekter als NLRI-Updates (Network Layer Reachability Information) bezeichnet. Der Begriff "Route" wird jedoch in den meisten Dokumentationen verwendet und wird hier verwendet.

Routenfilter bestehen aus drei Hauptteilen:

  1. Ein Präfix und eine Präfixlänge (z. B. )10.0.0.0/8

  2. Eine Übereinstimmungsbedingung (z. B. )exact

  3. Eine Aktion, die ausgeführt wird, wenn beide vorherigen Teile – das Präfix und die Übereinstimmungsbedingung – beide als wahr ausgewertet werden (z. B. )accept

Der Routenfilter ist also genau dann erfolgreich, wenn das betrachtete Präfix genau ist .10.0.0.0/8 exact accept10.0.0.0/8 Dieser Routenfilter lehnt Routen mit allen anderen längeren Präfixen ab, z. B . , obwohl es möglicherweise andere Routenfilterbegriffe in der Richtlinienkette gibt, die die Route akzeptieren.10.0.0.0/1010.0.0.0/10

HINWEIS:

Obwohl die Route und die Varianten nicht speziell für die Dokumentation reserviert sind, wird in diesem Thema der private RFC 1918-Adressraum aufgrund der Flexibilität und der realistischen Szenarien, die dieser Adressraum bietet, verwendet.10.0.0.0/810.0.0.0/8

Routenfilter können in einem einzigen Richtlinienanweisungsbegriff kombiniert werden. In diesem Fall wird die Auswertung komplexer. Beachten Sie die folgende Routingrichtlinie:

Beachten Sie, dass der Filter den Filter in seinem Gültigkeitsbereich enthält.10.0.0.0/8 orlonger10.0.0.0/16 prefix-length-range /22-/24 Das heißt, jede Route mit einem Präfix von 8 Bit oder länger kann auch eine Route mit einem Präfix im Bereich zwischen 22 und 24 Bit sein.10.0.0.0

Standardmäßig erfolgt die Auswertung eines Richtlinienanweisungsbegriffs mit mehreren Routenfiltern in zwei Schritten:

  1. Die Richtlinienframework-Software führt basierend auf Präfix- und Präfixlängenwerten eine Suche nach der längsten Übereinstimmung in der Liste durch.

  2. Die Software berücksichtigt die Bedingung des Routenfilters (, , usw.).orlongerexact Die Route erfüllt entweder die Routenfilterbedingung (Erfolg) oder stimmt nicht mit der Routenfilterbedingung überein (Fehler).

Basierend auf den Ergebnissen dieser beiden Schritte wird die Aktion, die durch die Übereinstimmung oder den Fehler bestimmt wird, auf die Route angewendet. In bedeutet dies, dass jede Route, die "wahr" ist, akzeptiert wird und jede Route, die im Begriff "falsch" ist, abgelehnt wird.Route-Filter-ARouteFilter-1 Diese Route wird zu einer ausgeblendeten (gefilterten) Route.

Betrachten Sie beispielsweise, was passiert, wenn die Route von der Richtlinienanweisung ausgewertet wird:10.0.0.0/18RouteFilter-A

Zunächst wird die Route anhand des Begriffs bewertet.10.0.0.0/18RouteFilter-1 Da länger als ist, stimmt die Route mit dem längeren und spezifischeren Routenpräfix überein.10.0.0.0/1610.0.0.0/810.0.0.0/18 Als Nächstes schlägt die Übereinstimmung fehl, da die Route nicht mit der Bedingung übereinstimmt.10.0.0.0/18prefix-length-range /22-/24 Die Routenübereinstimmung schlägt also in der Laufzeit fehl, und die Richtlinie untersucht die nächste Laufzeit, die Standardlaufzeit.RouteFilter-1 Die Route wird durch die Standardbedingung zurückgewiesen.10.0.0.0/18

Dadurch wird die Route ausgeblendet (gefiltert).10.0.0.0/18 (Die Route kann weiterhin mit dem Befehl gefunden werden.)10.0.0.0/18show route hidden

Das Problem besteht darin, dass der Benutzer möglicherweise tatsächlich möchte, dass die Route akzeptiert und nicht abgelehnt wird.10.0.0.0/18 Natürlich könnte auch ein Routenfilter mit einer Konfiguration hinzugefügt werden.10.0.0.0/18 exact In einer Backbone-Routing-Tabelle mit 100.000 oder mehr Einträgen ist es jedoch nicht möglich, einen Routenfilter zu konfigurieren, der auf jede mögliche Route oder jede mögliche neue Route, die dem Netzwerk hinzugefügt wird, abgestimmt ist.

Die standardmäßige Problemumgehung, um das richtige Verhalten aus der Beispiel-Routing-Richtlinie zu erzielen, besteht darin, für jeden Routingfilter einen separaten Begriff zu konfigurieren. Dies geschieht häufig wie folgt:

Jetzt wird die Route akzeptiert, da sie zwar immer noch die Übereinstimmungsbedingung erfüllt, aber mit dem neuen Begriff übereinstimmt ( ist die längste Übereinstimmung, und die Bedingung ist wahr).10.0.0.0/18RouteFilter-1RouteFilter-210.0.0.0/8orlonger Das Problem bei diesem Ansatz besteht darin, dass die Auswertung der vollständigen Routing-Richtlinie jetzt mehr Zeit in Anspruch nimmt, als wenn mehrere Routenfilter gruppiert werden. Diese Methode macht auch die Wartung komplexer.

Die Probleme mit dem Ansatz "Ein-Begriff-pro-Route-Filter" werden mit der walkup-Anweisung und dem Feature gelöst. Walkup ändert das Standardverhalten der Routenfilterauswertung global oder pro Richtlinie.

Die Walkup-Funktion ermöglicht es Begriffen mit mehreren Routenfiltern, den Bewertungsprozess so zu "walken", dass sie sowohl weniger spezifische Routen als auch die längste Übereinstimmung enthält. Mit anderen Worten, der Walkup-Knopf ändert das Standardverhalten von "Wenn einer fehlschlägt, schlägt der Begriff fehl" in "Wenn einer übereinstimmt, stimmt der Begriff überein".

Betrachten Sie die Anwendung der Walkup-Funktion auf die Beispielrichtlinienanweisung (Sie können Walk-up auch global auf alle konfigurierten Richtlinien anwenden):

Dies geschieht, wenn das Routenpräfix von der Richtlinienanweisung ausgewertet wird:10.0.0.0/18RouteFilter-A

Das Standardverhalten wird durch den Walkup-Regler geändert. Wie zuvor stimmt die Route mit dem längeren und spezifischeren Routenpräfix überein, da es länger als ist.10.0.0.0/1810.0.0.0/1610.0.0.0/8 Wie zuvor schlägt diese Übereinstimmung fehl, da die Route nicht der Bedingung entspricht.10.0.0.0/18prefix-length-range /22-/24 Diesmal wird der Prozess jedoch mit einem "Walk up" fortgesetzt und der weniger spezifische Routenfilter untersucht.10.0.0.0/8 Die Routenbedingung von stimmt mit diesem Filter überein und daher wird die Route vom Begriff akzeptiert.orlongerRouteFilter-1

Dies kann (für eine BGP-Route) durch den Befehl überprüft werden.show route protocol bgp 10.0.0.0/18 Diesmal ist die Route nicht ausgeblendet.

Wenn Sie die Walkup-Funktion global aktivieren, können Sie sie lokal für jede Richtlinie einzeln mit der Anweisung außer Kraft setzen.[edit policy-options policy-statements policy-statement-name defaults route-filter no-walkup]