Verwendung von Routing-Richtlinien zur Dämpfung des BGP-Route-Flappings
BGP-Routen-Flapping beschreibt die Situation, in der BGP-Systeme eine übermäßige Anzahl von Aktualisierungsnachrichten senden, um Informationen zur Netzwerkverfügbarkeit anzukündigen. BGP-Flap-Dämpfung ist eine Möglichkeit, die Anzahl der zwischen BGP-Peers gesendeten Update-Nachrichten zu reduzieren, wodurch die Belastung dieser Peers reduziert wird, ohne die Routenkonvergierungszeit zu beeinträchtigen.
Flap-Dämpfung reduziert die Anzahl der Update-Meldungen, indem Routen als nicht für die Auswahl als aktive oder bevorzugte Route geeignet gekennzeichnet werden. Dies führt zu einer gewissen Verzögerung oder Unterdrückung der Verbreitung von Routeninformationen, was jedoch zu einer erhöhten Stabilität des Netzwerks führt. In der Regel wenden Sie flap-Dämpfung auf externe BGP -Routen (EBGP) an (d. a. auf Routen in verschiedenen ASs). Sie können es auch innerhalb einer Konföderation, zwischen den ASs der Konföderationsmitglied anwenden. Da die Routing-Konsistenz innerhalb eines AS wichtig ist, sollten Sie keine Flapsdämpfung auf IBGP-Routen anwenden. (Wenn Sie es tun, wird es ignoriert.)
BGP Flap-Dämpfung ist in RFC 2439, BGP Route Flap Damping definiert.
Um Änderungen an den Standardwerten für die BGP-Flap-Dämpfung vorzunehmen, definieren Sie Aktionen, indem Sie einen benannten Satz von Dämpfungsparametern erstellen und diesen mit der damping
Aktion in eine Routing-Richtlinie integrieren (beschrieben in Konfigurieren von Aktionen zur Manipulation von Routeneigenschaften). Damit die Dämpfungs-Routing-Richtlinie funktioniert, müssen Sie auch die BGP-Routenklappendämpfung aktivieren.
In den folgenden Abschnitten werden die folgenden Themen diskutiert:
Konfiguration von BGP Flap-Dämpfungsparametern
Um Dämpfungsparameter zu definieren, fügen Sie die Anweisung ein damping
:
[edit policy-options] damping name { disable; half-life minutes; max-suppress minutes; reuse number; suppress number; }
Der Name identifiziert die Gruppe der Dämpfungsparameter. Er kann Buchstaben, Zahlen und Bindestriche (-) enthalten und kann bis zu 255 Zeichen umfassen. Um Leerzeichen in den Namen einzufügen, schließen Sie den gesamten Namen in Anführungszeichen ("").
Sie können einen oder mehrere der in Tabelle 1.
Dämpfungsparameter |
Beschreibung |
Standard |
Mögliche Werte |
---|---|---|---|
|
Zerfall halbwertszeit, in Minuten |
15 Minuten |
1 bis 45 Minuten |
|
Maximale Haltezeit in Minuten |
60 Minuten |
1 bis 720 Minuten |
|
Schwellenwert für die Wiederverwendung |
750 (ohne Gerät) |
1 bis 20.000 (ohne Gerät) |
|
Schwellenwert für Aussparung (Unterdrückung) |
3000 (ohne Gerät) |
1 bis 20.000 (ohne Gerät) |
Wenn Sie keinen oder mehrere der Dämpfungsparameter angeben, wird der Standardwert des Parameters verwendet.
Um zu verstehen, wie diese Parameter konfiguriert werden, müssen Sie verstehen, wie die Dämpfung Routen unterdrückt. Wie lange eine Route unterdrückt werden kann, basiert auf einer Zahl des Verdienstes, einem Wert, der mit der Wahrscheinlichkeit einer zukünftigen Instabilität einer Route korreliert. Routen mit höheren Leistungswerten werden über längere Zeiträume unterdrückt. Der Wert der Leistungskennzahlen zerfällt im Laufe der Zeit exponentiell.
Jeder neuen Route wird ein Wert von null zugewiesen. Der Wert wird jedes Mal erhöht, wenn die Route zurückgezogen oder gelesen wird oder wenn sich eines ihrer Pfadattribute ändert. Mit jedem Vorfall von Instabilität steigt der Wert wie folgt:
Route wird zurückgezogen – 1000
Route wird gelesen – 1000
Änderung der Pfadattribute der Route – 500
HINWEIS:Die Implementierungen anderer Anbieter als Leistungskennzahlen erhöhen den Wert nur, wenn eine Route zurückgezogen wird. Die Junos OS-Implementierung für die Leistungskennzahl erhöht den Wert sowohl für die Routenentnahme als auch für die Routen-Readvertisement. Um andere Implementierungen mit Leistungskennzahlen unterzubringen, multiplizieren Sie die Grenzwerte und
suppress
Diereuse
Schwellenwerte mit 2.
Wenn der Wert der Leistungskennzahl einer Route einen bestimmten Wert erreicht, den sogenannten Cutoff - oder Unterdrückungsschwellenwert, wird die Route unterdrückt. Wenn eine Route unterdrückt wird, installiert die Routingtabelle die Route nicht mehr in der Weiterleitungstabelle und exportiert diese Route nicht mehr in eines der Routing-Protokolle. Standardmäßig wird eine Route unterdrückt, wenn ihr Leistungswert 3000 erreicht. Um diesen Standard zu ändern, fügen Sie die suppress
Option auf [edit policy-options damping name]
Hierarchieebene ein.
Wenn eine Route geflacht wurde, dann aber stabil wird, sodass keiner der zuvor aufgeführten Vorfälle innerhalb einer konfigurierbaren Zeitzeit auftritt, fällt der Wert für die Route exponentiell ab. Die Standardmäßige Halbwertszeit beträgt 15 Minuten. Bei einer Strecke mit einem Wert von 1500 wird beispielsweise, wenn keine Vorfälle auftreten, ihr Wert nach 15 Minuten auf 750 und nach weiteren 15 Minuten auf 375 reduziert. Um die Standard-Halbwertszeit zu ändern, fügen Sie die half-life
Option auf [edit policy-options damping name]
Hierarchieebene ein.
Konfigurieren Sie für die Halbwertszeit einen Wert, der kleiner ist als max-suppress. Wenn Sie dies nicht tun, wird die Konfiguration abgelehnt.
Eine unterdrückte Route wird wiederverwendbar, wenn der Wert der Leistungskennzahl auf einen Wert unter einem Wiederverwendungsschwellenwert abfällt, sodass Routen, die vorübergehende Instabilität erleben, erneut als gültig betrachtet werden können. Der Standard-Schwellenwert für die Wiederverwendung ist 750. Wenn der Wert für die Wertzahl unter den Schwellenwert für die Wiederverwendung überschreitet, wird die Route erneut als nutzbar angesehen und kann in der Weiterleitungstabelle installiert und aus der Routing-Tabelle exportiert werden. Um den Standardschwellenwert für die Wiederverwendung zu ändern, fügen Sie die reuse
Option auf [edit policy-options damping name]
Hierarchieebene ein.
Die maximale Unterdrückungszeit gibt eine obere Grenze für die Zeit an, zu der eine Route unterdrückt werden kann. Die standardmäßige maximale Unterdrückungszeit beträgt 60 Minuten. Um den Standard zu ändern, fügen Sie die max-suppress
Option auf [edit policy-options damping name]
Hierarchieebene ein.
Konfigurieren Sie für max-suppress einen Wert, der größer ist als die Halbwertszeit. Wenn Sie dies nicht tun, wird die Konfiguration abgelehnt.
Der Wert einer Route hört auf zu steigen, wenn sie einen maximalen Unterdrückungsschwellenwert erreicht, der auf der Grundlage des Unterdrückungsschwellenwerts, der Halbwertszeit, dem Wiederverwende-Schwellenwert und der maximalen Haltezeit ermittelt wird.
Die Merit-Obergrenze εc, das ist der maximale Verdienst, den ein Flapping-Route erfassen kann, wird nach folgender Formel berechnet:
εc ≤ εr(t/λ) (ln 2)
εr ist der Wiederverwendungsschwellenwert, t die maximale Haltezeit in Minuten und λ die Halbwertszeit in Minuten. Wenn Sie beispielsweise die Standardwerte für leistungsbezogene Werte in dieser Formel verwenden, aber eine Halbwertszeit von 30 Minuten verwenden, lautet die Berechnung wie folgt:
εc ≤ 750 e(120/30) (ln 2)
εc ≤ 12000
Der Cutoff-Schwellenwert, den Sie mit der suppress
Option konfigurieren, muss kleiner oder gleich der Leistungsgrenze sein, εc. Wenn der konfigurierte Cutoff-Schwellenwert oder der Standard-Cutoff-Schwellenwert größer als die Merit-Obergrenze ist, wird die Route niemals unterdrückt und eine Dämpfung erfolgt nie.
Verwenden Sie den show policy damping
Befehl, um leistungsbezogene Informationen anzuzeigen.
Eine Route, der eine Zahl von Verdiensten zugewiesen wurde, wird als Dämpfungszustand angesehen. Verwenden Sie den Befehl, um die aktuellen Dämpfungsinformationen auf dem show route detail
Routinggerät anzuzeigen.
Festlegen von BGP Flap Damping als Aktion in Routing-Richtlinienbedingungen
Um die BGP-Flap-Dämpfung als Aktion in einem Routing-Richtlinienbegriff zu verwenden, geben Sie die damping
Anweisung und den Namen der konfigurierten Dämpfungsparameter entweder als Option der route-filter
Anweisung auf Hierarchieebene an [edit policy-options policy-statement policy-name term term-name from]
:
[edit policy-options policy-statement policy-name term term-name from] route-filter destination-prefix match-type { damping damping-parameters; }
oder auf [edit policy-options policy-statement policy-name term term-name then]
Hierarchieebene:
[edit policy-options policy-statement policy-name term term-name then] damping damping-parameters;
Deaktivierung der Dämpfung für bestimmte Adresspräfixe
Normalerweise aktivieren oder deaktivieren Sie die Dämpfung auf Peer-Basis. Sie können jedoch die Dämpfung für ein bestimmtes Präfix deaktivieren, das von einem Peer empfangen wird, indem Sie die disable
Option:
[edit policy-options damping name] disable;
Deaktivierung der Dämpfung für ein bestimmtes Adresspräfix
In diesem Routing-Richtlinienbeispiel gibt die Anweisung an, dass die Dämpfung für das damping none
Präfix 10.0.0.0.0.0/8 in Policy-A
deaktiviert wird. Diese Route wird nicht gedämpft, da die Routing-Richtlinienaussage mit dem Namen filtert Policy-A
das Präfix 10.0.0.0/8 und die Aktion auf die damping
Anweisung namens .none
Die restlichen Präfixe werden mithilfe der Standardparameter gedämpft.
[edit] policy-options { policy-statement Policy-A { from { route-filter 10.0.0.0/8 exact; } then damping none; } damping none { disable; } }
Konfiguration von BGP Flap Damping
Aktivieren Sie die BGP-Flap-Dämpfung und konfigurieren Sie Dämpfungsparameter:
[edit] routing-options { autonomous-system 666; } protocols { bgp { damping; group group1 { traceoptions { file bgp-log size 1m files 10; flag damping; } import damp; type external; peer-as 10458; neighbor 192.168.2.30; } } } policy-options { policy-statement damp { from { route-filter 192.168.0.0/32 exact { damping high; accept; } route-filter 172.16.0.0/32 exact { damping medium; accept; } route-filter 10.0.0.0/8 exact { damping none; accept; } } } damping high { half-life 30; suppress 3000; reuse 750; max-suppress 60; } damping medium { half-life 15; suppress 3000; reuse 750; max-suppress 45; } damping none { disable; } }
Verwenden Sie den show policy damping
Folgenden Befehl, um Dämpfungsparameter für diese Konfiguration anzuzeigen:
user@host> show policy damping Damping information for "high": Halflife: 30 minutes Reuse merit: 750 Suppress/cutoff merit: 3000 Maximum suppress time: 60 minutes Computed values: Merit ceiling: 3008 Maximum decay: 24933 Damping information for "medium": Halflife: 15 minutes Reuse merit: 750 Suppress/cutoff merit: 3000 Maximum suppress time: 45 minutes Computed values: Merit ceiling: 6024 Maximum decay: 12449 Damping information for "none": Damping disabled