Bidirectional Forwarding Detection (BFD) für MPLS
Konfigurieren der bidirektionalen Weiterleitungserkennung für MPLS (CLI-Verfahren)
Sie können das BFD-Protokoll (Bidirectional Forwarding Detection) auf EX8200-Standalone-Switches und EX8200 Virtual Chassis konfigurieren, um Fehler im MPLS-Label-Switch-Pfad (LSP) zu erkennen. Das BFD-Protokoll ist ein einfacher Hello-Mechanismus, der Fehler in einem Netzwerk erkennt. Hello-Pakete werden in einem festgelegten, regelmäßigen Intervall gesendet. Ein Nachbarfehler wird erkannt, wenn das Routinggerät nach einem bestimmten Intervall keine Antwort mehr vom Nachbarn empfängt. BFD funktioniert mit einer Vielzahl von Netzwerkumgebungen und Topologien. Die Fehlererkennungs-Timer für BFD haben kürzere Zeitlimits als die der Fehlererkennungsmechanismen für statische Routen und sorgen somit für eine schnellere Erkennung. Diese Timer sind auch adaptiv. Beispielsweise kann sich ein Timer an einen höheren Wert anpassen, wenn eine Nachbarschaft fehlschlägt, oder ein Nachbar kann einen höheren Wert als den konfigurierten aushandeln.
In diesem Thema wird die Konfiguration der Provider-Edge-Switches (PE) und der Provider-Switches für die Unterstützung von LDP-basierten LSPs und RSVP-basierten LSPs beschrieben.
Dieses Thema umfasst:
- Konfigurieren von BFD auf Provider-Edge und Provider-Switches für einen LDP-basierten LSP
- Konfigurieren von BFD auf Provider-Edge und Provider-Switches für einen RSVP-basierten LSP
Konfigurieren von BFD auf Provider-Edge und Provider-Switches für einen LDP-basierten LSP
Sie können BFD für LDP-basierte LSPs oder RSVP-basierte LSPs aktivieren, die einer bestimmten Weiterleitungsäquivalenzklasse (FEC) zugeordnet sind. Alternativ können Sie eine OAM-Eingangsrichtlinie (Operation Administration and Maintenance) konfigurieren, um BFD für einen Bereich von FEC-Adressen zu aktivieren.
Bevor Sie BFD für ein LDP-basiertes LSP konfigurieren, müssen Sie die grundlegenden Komponenten für ein MPLS-Netzwerk konfigurieren:
Konfigurieren Sie zwei PE-Switches. Weitere Informationen finden Sie unter Konfigurieren von MPLS auf Provider-Edge-Switches mithilfe von IP-over-MPLS.
Konfigurieren Sie einen oder mehrere Provider-Switches. Weitere Informationen finden Sie unter Konfigurieren von MPLS auf EX8200- und EX4500-Provider-Switches.Konfigurieren von MPLS auf EX8200- und EX4500-Provider-Switches
So konfigurieren Sie BFD auf PE- und Provider-Switches:
Konfigurieren von BFD auf Provider-Edge und Provider-Switches für einen RSVP-basierten LSP
Wenn BFD für einen RSVP-basierten LSP auf dem Eingangs-Switch konfiguriert ist, wird es auf dem primären Pfad und auf allen sekundären Standbypfaden für diesen LSP aktiviert. Sie können BFD für alle LSPs auf einem Switch oder für bestimmte LSPs aktivieren. Wenn Sie BFD für einen bestimmten LSP konfigurieren, werden alle global für BFD konfigurierten Werte für diesen LSP überschrieben. Die BFD-Sitzungen haben ihren Ursprung nur am Eingangs-Switch und enden am Ausgangs-Switch.
Bevor Sie BFD für einen RSVP-basierten LSP konfigurieren, müssen Sie die grundlegenden Komponenten für ein MPLS-Netzwerk konfigurieren:
Konfigurieren Sie zwei PE-Switches. Weitere Informationen finden Sie unter Konfigurieren von MPLS auf Provider-Edge-Switches mithilfe von IP-over-MPLS.Konfigurieren von MPLS auf Provider-Edge-Switches mithilfe von IP-over-MPLS
Konfigurieren Sie einen oder mehrere Provider-Switches. Weitere Informationen finden Sie unter Konfigurieren von MPLS auf EX8200- und EX4500-Provider-Switches.Konfigurieren von MPLS auf EX8200- und EX4500-Provider-Switches
So konfigurieren Sie BFD auf PE- und Provider-Switches:
BFD-getriggerte lokale Reparatur für schnelle Konvergenz
Grundlegendes zum BFD-getriggerten lokalen Schutz
Die Zeit, die ein Netzwerk benötigt, um nach einem Verbindungs- oder Knotenausfall zu konvergieren, kann je nach einer Reihe von Faktoren wie der Netzwerkgröße, den verwendeten Protokollen und dem Netzwerkdesign erheblich variieren. Obwohl jedes einzelne Konvergenzereignis anders ist, ist der Prozess der Konvergenz im Wesentlichen konsistent. Der Fehler wird erkannt, der Fehler wird im Netzwerk gemeldet (überflutet), ein alternativer Pfad für den Datenverkehr wird gefunden, und die Weiterleitungsebene wird aktualisiert, um den Datenverkehr auf einem neuen Pfad weiterzuleiten.
In dieser Übersicht wird erläutert, wie die durch Bidirectional Forwarding Detection (BFD) ausgelöste lokale Reparatur zu einer schnelleren Wiederherstellungszeit für eine schnelle Konvergenz in einem MPLS-Netzwerk beiträgt.
- Zweck der BFD-getriggerten lokalen Reparatur
- Konfigurieren der BFD-ausgelösten lokalen Reparatur
- Deaktivieren der BFD-ausgelösten lokalen Reparatur
Zweck der BFD-getriggerten lokalen Reparatur
In Junos OS wird der allgemeine MPLS-Datenverkehrsschutz bei RSVP-signalisierten LSP-Fehlern (Label-Switched Path) durch mehrere komplementäre Mechanismen bereitgestellt. Zu diesen Schutzmechanismen gehören der lokale Schutz (schnelle Weiterleitung, Linkschutz und Node-Link-Schutz) und der Pfadschutz (primäre und sekundäre Pfade). Der lokale Schutz in Verbindung mit dem Pfadschutz kann einen minimalen Paketverlust für einen LSP ermöglichen und die Art und Weise steuern, wie der LSP nach einem Ausfall umgeleitet wird. Traditionell beruhen beide Arten von Schutz auf der schnellen Erkennung von Verbindungsfehlern auf physischer Ebene. Für Übertragungsmedien ohne schnelle physische Pegelerkennung unterstützt Junos OS jedoch BFD- und MPLS-Ping für eine schnelle Fehlererkennung.
Bei Verbindungen zwischen Routern berechnet das Routing-Protokoll bei einem Ausfall einer Route den nächstbesten Pfad neu. Wenn MPLS Fast Reroute (FRR) aktiviert ist, werden ifl-Nachrichten an alle Flexible PIC Concentrators (FPCs) geflutet. Der Edge-FPC ermöglicht die Umgehung des MPLS-LSP-Tunnels. Schließlich werden alle Strecken repariert und durch den Umgehungstunnel MPLS LSP geleitet. Die Zeit, die benötigt wird, um alle Routen zu reparieren, ist proportional zur Anzahl der Routen.
Schwieriger wird dieses Reparaturszenario, wenn ein Switch zwischen zwei Links liegt. Siehe .Abbildung 1
Wenn eine Verbindung am Remote-Ende ausfällt, wird der Fehler auf der lokalen Seite erst erkannt, wenn das Interior Gateway Protocol (IGP) ausfällt. Zu warten, bis der Routing-Protokollprozess den nächstbesten Pfad neu berechnet hat, nimmt zu viel Zeit in Anspruch.
Wenn die BFD-getriggerte lokale Reparatur aktiviert ist, schließt die Packet Forwarding Engine die Reparatur zuerst mithilfe des (vorkonfigurierten und installierten MPLS-Tunnels) ab und informiert dann den Routing-Protokollprozess, eine neue Route neu zu berechnen. Auf diese Weise kann der FPC bei einem Ausfall des primären MPLS-LSP-Tunnels den Datenverkehr zeitweise und sofort zum FPC mit dem MPLS-LSP-Tunnel umleiten.
Durch die Verwendung einer lokalen Reparatur auf diese Weise wird eine schnellere Wiederherstellungszeit von weniger als 50 ms erreicht.
Konfigurieren der BFD-ausgelösten lokalen Reparatur
Die BFD-ausgelöste lokale Reparatur ist nicht konfigurierbar, aber Teil der Standardkonfiguration.
BFD-ausgelöste lokale Reparaturarbeiten innerhalb des Legacy-Junos-Betriebssystems umfassen MPLS-FRR, BFD für IGP und schleifenfreie Alternativen (LFAs).
Deaktivieren der BFD-ausgelösten lokalen Reparatur
Standardmäßig ist die BFD-getriggerte lokale Reparatur für alle Routing-Schnittstellen aktiviert. Falls gewünscht, können Sie die BFD-ausgelöste lokale Reparatur auf der Hierarchieebene [] deaktivieren.edit routing-options
So deaktivieren Sie die BFD-ausgelöste lokale Reparatur explizit:
Fügen Sie die Anweisung auf der Hierarchieebene [edit routing-options] ein:
no-bfd-triggered-local-repair
user@host# set no-bfd-triggered-local-repair
(Optional) Überprüfen Sie Ihre Konfigurationseinstellungen, bevor Sie sie mit dem Befehl übernehmen.
show routing-options
user@host# run show routing-options
Bestätigen Sie Ihre Konfiguration, indem Sie den Befehl eingeben.show routing-options
user@host# show routing-options ... no-bfd-triggered-local-repair; }
Wenn Sie diese Funktion deaktivieren, müssen Sie auch das Routing neu starten, indem Sie die Anweisung für die IGP einschließen.graceful-restart Bei OSPF wird dies beispielsweise erreicht, indem die Anweisung auf Hierarchieebene eingeschlossen wird.graceful-restart[edit protocols ospf]
Konfigurieren von BFD für MPLS-IPv4-LSPs
Sie können das BFD-Protokoll (Bidirectional Forwarding Detection) auf MPLS-IPv4-LSPs konfigurieren, wie im Internetentwurf draft-ietf-bfd-mpls-02.txt, BFD for MPLS LSPs beschrieben. BFD wird als periodische OAM-Funktion (Operation, Administration, and Maintenance) für Sprachdienstleister verwendet, um Fehler auf der Datenebene von LSPs zu erkennen. Sie können BFD für Sprachdienstleister konfigurieren, die entweder LDP oder RSVP als Signalisierungsprotokoll verwenden.
BFD für MPLS IPv4 LSP basiert auf der Routing-Engine und wird nicht verteilt. Daher beträgt das unterstützte BFD-Timer-Intervall mindestens 100 ms * 3 pro LSP-Sitzung, und für skalierte LSP-Sitzungen beträgt das unterstützte BFD-Timer-Intervall mindestens 300 ms x 3. Wenn Sie die Anzahl der LSP-Sitzungen mit BFD erhöhen, müssen Sie auch die Intervall-Timer erhöhen (skalieren), um das Netzwerk zu unterstützen.
Für Routing-Engine-Switchover-Instances mit NSR-Unterstützung (Nonstop Active Routing) beträgt das unterstützte BFD-Mindestintervall (2,5 Sekunden * 3).
Sie können auch die LSP-Befehle verwenden, um LSP-Data-Plane-Fehler zu erkennen.ping
BFD hat jedoch eine Reihe von Vorteilen: Es erfordert weniger Computerverarbeitung als LSP-Befehle und kann Fehler in einer großen Anzahl von LSPs schnell erkennen (LSP-Befehle müssen für jeden LSP einzeln ausgegeben werden).ping
ping
Andererseits kann BFD nicht verwendet werden, um die Steuerungsebene anhand der Datenebene am Ausgangs-LSR zu verifizieren, was möglich ist, wenn eine LSP-Echoanforderung einer Weiterleitungsäquivalenzklasse (FEC) zugeordnet ist.ping
Die Timer für die BFD-Fehlererkennung sind adaptiv und können so eingestellt werden, dass sie mehr oder weniger aggressiv sind. Beispielsweise können sich die Timer an einen höheren Wert anpassen, wenn die Nachbarschaft fehlschlägt, oder ein Nachbar kann einen höheren Wert für einen Timer aushandeln als den konfigurierten Wert. Die Timer passen sich an einen höheren Wert an, wenn eine BFD-Sitzungsklappe mehr als dreimal innerhalb von 15 Sekunden auftritt. Ein Backoff-Algorithmus erhöht das Empfangsintervall (Rx) um zwei, wenn die lokale BFD-Instanz der Grund für die Sitzungsklappe ist. Das Übertragungsintervall (Tx) wird um zwei erhöht, wenn die Remote-BFD-Instanz der Grund für die Sitzungsklappe ist. Sie können den Befehl verwenden, um BFD-Intervall-Timer auf ihre konfigurierten Werte zurückzusetzen.clear bfd adaptation
Der Befehl ist trefferlos, d. h., der Befehl wirkt sich nicht auf den Datenverkehrsfluss auf dem Routinggerät aus.clear bfd adaptation
Ab Junos OS Version 13.2R4, 13.3R2 und 14.1 können Sie das Zeitintervall zwischen LSP-Ping-Nachrichten bzw. die Anzahl der LSP-Ping-Antworten festlegen, nach deren Ablauf die Bidirectional Forwarding Detection (BFD)-Sitzung beendet wird. Dazu konfigurieren Sie die Anweisung und die Anweisung auf der Hierarchieebene.lsp-ping-interval
lsp-ping-multiplier
[edit protocols mpls oam]
Konfigurationsanweisungen für LDP-signalisierte LSPs finden Sie unter Konfigurieren von BFD für LDP-LSPs.Konfigurieren von BFD für LDP-LSPs Konfigurationsanweisungen für RSVP-signalisierte LSPs finden Sie im folgenden Abschnitt.
- Konfigurieren von BFD für RSVP-signalisierte LSPs
- Konfigurieren einer Fehleraktion für die BFD-Sitzung auf einem RSVP-LSP
Konfigurieren von BFD für RSVP-signalisierte LSPs
BFD für RSVP unterstützt Unicast-IPv4-LSPs. Wenn BFD für einen RSVP-LSP auf dem Eingangsrouter konfiguriert ist, wird es auf dem primären Pfad und auf allen sekundären Standbypfaden für diesen LSP aktiviert. Die Quell-IP-Adresse für ausgehende BFD-Pakete von der Ausgangsseite einer MPLS-BFD-Sitzung basiert auf der IP-Adresse der ausgehenden Schnittstelle. Sie können BFD für alle LSPs auf einem Router oder für bestimmte LSPs aktivieren. Wenn Sie BFD für einen bestimmten LSP konfigurieren, werden alle global für BFD konfigurierten Werte überschrieben. Die BFD-Sitzungen haben ihren Ursprung nur am Eingangsrouter und enden am Ausgangsrouter.
Ein Fehler wird protokolliert, wenn eine BFD-Sitzung für einen Pfad fehlschlägt. Das folgende Beispiel zeigt, wie BFD für RSVP-LSP-Protokollmeldungen angezeigt werden kann:
RPD_MPLS_PATH_BFD_UP: MPLS BFD session for path path1 up on LSP R0_to_R3 RPD_MPLS_PATH_BFD_DOWN: MPLS BFD session for path path1 down on LSP R0_to_R3
Sie können BFD für alle RSVP-LSPs auf dem Router, einen bestimmten LSP oder den primären Pfad eines bestimmten LSP konfigurieren. Um BFD für RSVP-LSPs zu konfigurieren, schließen Sie die and-Anweisungen ein.oam
bfd-liveness-detection
oam { bfd-liveness-detection { failure-action { make-before-break teardown-timeout seconds; teardown; } failure-action teardown; minimum-interval milliseconds; minimum-receive-interval milliseconds; minimum-transmit-interval milliseconds; multiplier detection-time-multiplier; } lsp-ping-interval time-interval; lsp-ping-multiplier multiplier; }
Sie können diese Anweisung auf den folgenden Hierarchieebenen konfigurieren:
[edit protocols mpls]
[edit protocols mpls label-switched-path lsp-name]
[edit protocols mpls label-switched-path lsp-name primary path-name]
Die Anweisung enthält die folgenden Optionen:bfd-liveness-detection
minimum-interval
– Gibt das minimale Sende- und Empfangsintervall an.minimum-receive-interval
– Gibt das minimale Empfangsintervall an. Der Bereich liegt zwischen 1 und 255.000 Millisekunden.minimum-transmit-interval
– Gibt das minimale Übertragungsintervall an. Der Bereich liegt zwischen 1 und 255.000 Millisekunden.lsp-ping-multiplier
: Gibt den Multiplikator für die Erkennungszeit an. Der Bereich reicht von 1 bis 255.HINWEIS:Um das Auslösen falsch negativer Ergebnisse zu vermeiden, konfigurieren Sie eine BFD-Fehlererkennungszeit, die länger ist als die schnelle Umleitungszeit.
Sie können die Option auch so konfigurieren, dass das Zeitintervall zwischen LSP-Pings angepasst wird.lsp-ping-interval
Der LSP-Ping-Befehl für RSVP-signalisierte LSPs lautet .ping mpls rsvp
Weitere Informationen zu diesem Befehl finden Sie im CLI-Explorer.ping mpls rsvp
https://www.juniper.net/documentation/content-applications/cli-explorer/junos/
Konfigurieren einer Fehleraktion für die BFD-Sitzung auf einem RSVP-LSP
Wenn die BFD-Sitzung für einen RSVP-LSP ausfällt, wird der LSP abgebrochen und neu signalisiert. Der Datenverkehr kann auf einen Standby-LSP umgeschaltet werden, oder Sie können den LSP-Pfad einfach abbrechen. Alle durchgeführten Aktionen werden protokolliert.
Wenn eine BFD-Sitzung für einen RSVP-LSP-Pfad ausfällt, können Sie das Junos-Betriebssystem so konfigurieren, dass der LSP-Pfad neu signalisiert oder der LSP-Pfad einfach deaktiviert wird. Ein Standby-LSP-Pfad kann für die Verarbeitung von Datenverkehr konfiguriert werden, während der primäre LSP-Pfad nicht verfügbar ist. Der Router kann nach LSP-Fehlern, die von BFD erkannt werden können, automatisch wiederhergestellt werden. Wenn eine BFD-Sitzung fehlschlägt, wird das Ereignis standardmäßig einfach protokolliert.
Fügen Sie die folgende Anweisung ein, damit das Junos-Betriebssystem einen RSVP-LSP-Pfad im Falle eines BFD-Ereignisses herunterbrechen kann:failure-action
failure-action { make-before-break teardown-timeout seconds; teardown; }
Eine Liste der Hierarchieebenen, auf denen Sie diese Anweisung einschließen können, finden Sie im Abschnitt Anweisungszusammenfassung zu dieser Anweisung.
Sie können entweder die Optionen "oder" konfigurieren:teardown
make-before-break
teardown
– Bewirkt, dass der LSP-Pfad sofort entfernt und neu signalisiert wird.make-before-break
– Veranlasst das Junos-Betriebssystem, einen neuen LSP-Pfad zu signalisieren, bevor der alte LSP-Pfad gelöscht wird. Sie können auch die Option konfigurieren, dass der LSP nach dem angegebenen Zeitraum automatisch heruntergefahren wird, wenn der Versuch, den LSP innerhalb des Intervalls erneut zu signalisieren, fehlschlägt.teardown-timeout
teardown-timeout
Wenn Sie für das Intervall den Wert 0 angeben, wird der LSP sofort abgeschaltet und erneut signalisiert (dasselbe Verhalten wie bei der Konfiguration der Option).teardown-timeout
teardown
Um eine Fehleraktion für alle RSVP-LSPs zu konfigurieren, schließen Sie die Anweisung auf Hierarchieebene ein.failure-action
[edit protocols mpls oam bfd-liveness-detection]
Um eine Fehleraktion für einen bestimmten RSVP-LSP zu konfigurieren, schließen Sie die Anweisung auf Hierarchieebene ein.failure-action
[edit protocols mpls label-switched-path lsp-name oam bfd-liveness-detection]
Um eine Fehleraktion für einen bestimmten primären Pfad zu konfigurieren, schließen Sie die Anweisung auf Hierarchieebene ein.failure-action
[edit protocols mpls label-switched path lsp-name primary path-name oam bfd-liveness-detection]
Um eine Fehleraktion für einen bestimmten sekundären LSP-Pfad zu konfigurieren, schließen Sie die Anweisung auf Hierarchieebene ein.failure-action
[edit protocols mpls label-switched-path lsp-name secondary path-name oam bfd-liveness-detection]
Tabellarischer Änderungsverlauf
Die Unterstützung der Funktion hängt von der Plattform und der Version ab, die Sie benutzen. Verwenden Sie Feature Explorer, um festzustellen, ob eine Funktion auf Ihrer Plattform unterstützt wird.