Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Grundlegendes zu Richtlinienunterroutinen in Routing-Richtlinienübereinstimmungsbedingungen

Sie können eine Routingrichtlinie, die von einer anderen Routingrichtlinie aufgerufen wird, als Übereinstimmungsbedingung verwenden. Dieser Prozess macht die aufgerufene Richtlinie zu einer Unterroutine.

In gewisser Weise ähnelt das Junos OS-Richtlinienframework einer Programmiersprache. Diese Ähnlichkeit schließt das Konzept der Verschachtelung von Richtlinien in eine Richtlinienunterroutine ein. Eine Unterroutine in einem Softwareprogramm ist ein Codeabschnitt, auf den Sie regelmäßig verweisen. Eine Richtlinienunterroutine funktioniert auf die gleiche Weise: Sie verweisen auf eine vorhandene Richtlinie als Übereinstimmungskriterium in einer anderen Richtlinie. Das Routing-Gerät wertet zuerst das Unterprogramm und dann die Hauptrichtlinie aus. Die Auswertung der Unterroutine gibt ein wahres oder falsches boolesches Ergebnis an die Hauptrichtlinie zurück. Da Sie auf das Unterprogramm als Übereinstimmungskriterium verweisen, bedeutet ein echtes Ergebnis, dass die Hauptrichtlinie eine Übereinstimmung aufweist und alle konfigurierten Aktionen ausführen kann. Ein falsches Ergebnis des Unterprogramms bedeutet jedoch, dass die Hauptrichtlinie keine Übereinstimmung hat.

Konfigurieren von Unterprogrammen

Um ein Unterprogramm in einer Routing-Richtlinie so zu konfigurieren, dass es von einer anderen Routing-Richtlinie aufgerufen wird, erstellen Sie das Unterprogramm, und geben Sie seinen Namen mithilfe der Übereinstimmungsbedingung in der oder-Anweisung einer anderen Routing-Richtlinie an.policyfromto

HINWEIS:

Werten Sie eine Routingrichtlinie nicht in sich selbst aus. Das Ergebnis ist, dass keine Präfixe jemals mit der Routing-Richtlinie übereinstimmen.

Die in einer Unterroutine angegebene Aktion wird verwendet, um eine Übereinstimmungsbedingung für die aufrufende Richtlinie bereitzustellen. Wenn das Unterprogramm die Aktion accept angibt, betrachtet die aufrufende Richtlinie die Route als Übereinstimmung. Wenn das Unterprogramm die Aktion "Ablehnen" angibt, geht die aufrufende Richtlinie davon aus, dass die Route nicht übereinstimmt. Wenn das Unterprogramm eine Aktion angibt, die die Routeneigenschaften manipulieren soll, werden die Änderungen vorgenommen.

Mögliche Konsequenzen von Abbruchaktionen in Unterprogrammen

Ein Unterprogramm mit bestimmten Anweisungen kann sich anders verhalten als eine Routing-Richtlinie, die dieselben Anweisungen enthält. Bei einem Unterprogramm müssen Sie bedenken, dass die möglichen Beendigungsaktionen Akzeptieren oder Ablehnen, die durch das Unterprogramm oder die Standardrichtlinie angegeben werden, die erwarteten Ergebnisse stark beeinflussen können.

Insbesondere müssen Sie berücksichtigen, was passiert, wenn eine Übereinstimmung nicht mit Routen auftritt, die in einem Unterprogramm angegeben sind, und wenn die standardmäßig ausgeführte Richtlinienaktion die Aktion ist, die Sie erwarten und wünschen.

Stellen Sie sich beispielsweise vor, Sie sind Netzwerkadministrator bei einem Internetdienstanbieter (ISP), der Dienst für Kunde A bereitstellt. Sie haben mehrere Routing-Richtlinien für die verschiedenen Klassen von Nachbarn konfiguriert, die Kunde A auf verschiedenen Verbindungen präsentiert. Um Zeit bei der Verwaltung der Routing-Richtlinien für Kunde A zu sparen, haben Sie ein Unterprogramm konfiguriert, das ihre Routen identifiziert, und verschiedene Routing-Richtlinien, die das Unterprogramm aufrufen, wie unten gezeigt:

Die folgenden Ergebnisse treten bei dieser Konfiguration auf:

  • Die Anweisung auf Gruppenebene setzt die Metrik auf 500 zurück, wenn alle BGP-Routen den Nachbarn 10.1.1.1 und 10.1.2.1 angekündigt werden, anstatt nur den Routen, die den Routenfiltern des Unterprogramms entsprechen.export

  • Die Anweisungen auf Nachbarschaftsebene setzen die Metrik auf 100 und 200 zurück, wenn alle BGP-Routen den Nachbarn 10.1.3.1 bzw. 10.1.4.1 und nicht nur den BGP-Routen angekündigt werden, die den Routenfiltern des Unterprogramms entsprechen.export

Diese unerwarteten Ergebnisse treten auf, weil die Unterprogrammrichtlinie keine Beendigungsaktion für Routen angibt, die nicht mit dem Routenfilter übereinstimmen, und daher die standardmäßige BGP-Exportrichtlinie verwendet wird, bei der alle BGP-Routen akzeptiert werden.

Wenn die in dieser speziellen Unterroutine enthaltenen Anweisungen in den aufrufenden Richtlinien selbst enthalten gewesen wären, würden die Metriken nur für die gewünschten Routen zurückgesetzt.

Dieses Beispiel veranschaulicht die Unterschiede zwischen Routing-Richtlinien und Unterprogrammen sowie die Bedeutung der Beendigungsaktion in einem Unterprogramm. Hier wurde die standardmäßige BGP-Exportrichtlinienaktion für das Unterprogramm nicht sorgfältig berücksichtigt. Eine Lösung für dieses spezielle Beispiel besteht darin, der Unterroutine einen weiteren Begriff hinzuzufügen, der alle anderen Routen ablehnt, die nicht mit den Routenfiltern übereinstimmen:

Zu den Strategien für Beendigungsaktionen für Unterroutinen im Allgemeinen gehören die folgenden:

  • Abhängig von der Standardrichtlinienaktion, um alle anderen Routen zu verarbeiten.

  • Fügen Sie einen Begriff hinzu, der alle anderen Routen akzeptiert.

  • Fügen Sie einen Begriff hinzu, der alle anderen Routen ablehnt.

Welche Option Sie wählen, hängt davon ab, was Sie mit Ihrem Unterprogramm erreichen möchten. Planen Sie Ihre Unterprogramme sorgfältig.