Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Konfigurieren

Netzwerkdiagramm

Konfigurieren

Gründe für BFD-Ausfall im Syslog

Konfigurieren von BFD für Routing-Protokolle

Konfigurieren von BFD auf OSPF

Beispielkonfigurationen für BFD in OSPF

Konfigurieren von BFD auf EIGRP

Beispielkonfigurationen für BFD auf EIGRP

Konfigurieren von BFD auf dem BGP

Beispielkonfigurationen für BFD auf BGP

Überprüfung

Überprüfung anhand von Sitzungsdetails

Überprüfen mithilfe der Zugriffsliste

Verifizieren mit Ethanalyzer

Einleitung

In diesem Dokument wird beschrieben, wie Sie BFD-Sitzungen (Bidirectional Forwarding Detection) für Cisco Nexus NX-OS®-basierte Switches konfigurieren und überprüfen.

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:

- Bidirectional Forwarding Detection (BFD)

- Nexus NX-OS-Software

- Routing-Protokolle: Open Shortest Path First (OSPF), Border Gateway Protocol (BGP), Enhanced Interior Gateway Routing Protocol (EIGRP).

Verwendete Komponenten

Die Informationen in diesem Dokument basieren auf Cisco Nexus 9000 mit NX-OS-Version 10.3(4a).M.

Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.

Konfigurieren

Netzwerkdiagramm

Konfigurieren

Der Zweck der BFD-Konfiguration besteht darin, die Unterschiede zwischen den Konfigurationen der verschiedenen Routing-Protokolle zu erkennen und zu verstehen.

SCHRITT 1: Sie müssen die BFD-Funktion aktivieren, bevor Sie BFD für eine Schnittstelle und ein Protokoll konfigurieren können.

SWITCH 1

SWITCH 2

SW1(config)# feature bfd

SW2(config)# feature bfd

SCHRITT 2: Konfigurieren von Global BFD

SWITCH 1

SWITCH 2

SW1(config)# bfd interval 500 min_rx 500 multiplier 3

SW2(config)# bfd interval 500 min_rx 500 multiplier 3

Hinweis: Der Bereich von min_tx und msec liegt zwischen 50 und 999 Millisekunden, und der Standardwert ist 50. Der Multiplikatorbereich liegt zwischen 1 und 50. Der Standardwert für den Multiplikator ist 3.

SCHRITT 3: Konfigurieren von BFD auf einer Schnittstelle

Hinweis: Sie können die BFD-Sitzungsparameter für alle BFD-Sitzungen einer Schnittstelle konfigurieren.

Warnung: Stellen Sie sicher, dass die ICMP-Umleitungsmeldungen (Internet Control Message Protocol) an BFD-fähigen Schnittstellen deaktiviert sind. Verwenden Sie den no ip redirects Befehl oder den no ipv6 redirects Befehl auf der Schnittstelle.

SWITCH 1

SWITCH 2

SW1(config)# interface vlan 20

SW1(config-if)# bfd interval 500 min_rx 500 multiplier 3

SW1(config-if)# no ip redirects

SW1(config-if)# no ipv6 redirects

SW2(config)# interface vlan 20

SW2(config-if)# bfd interval 500 min_rx 500 multiplier 3

SW2(config-if)# no ip redirects

SW2(config-if)# no ipv6 redirects

Der asynchrone BFD-Modus ist wie ein Handshake zwischen zwei Geräten, um die Verbindung stabil zu halten. Sie richten es auf beiden Geräten ein, und sobald es eingeschaltet ist, senden sie sich zu einer bestimmten Zeit spezielle Nachrichten. Diese Nachrichten enthalten einige wichtige Einstellungen, z. B. wie oft sie gesendet werden und wie schnell ein Gerät auf das andere reagieren kann. Es gibt auch eine Einstellung, die entscheidet, wie viele verpasste Nachrichten ein Gerät benötigt, um festzustellen, dass ein Problem mit der Verbindung vorliegen kann.

Die BFD-Echo-Funktion sendet Testpakete an einen Nachbarn und sendet diese zurück, um Probleme zu überprüfen, ohne diesen an der Paketweiterleitung zu beteiligen. Er kann einen langsameren Timer verwenden, um den Kontrollpaketverkehr zu reduzieren, und testet den Weiterleitungspfad auf dem Nachbarsystem, ohne den Nachbarn zu stören. Dies beschleunigt die Erkennung. Wenn beide Nachbarn die Echo-Funktion verwenden, gibt es keine Asymmetrie.

Gründe für BFD-Ausfall im Syslog

- Path Down: Zeigt an, dass der Weiterleitungspfad zwischen den beiden BFD-Nachbarn möglicherweise aufgrund von Netzwerküberlastung, Hardwareausfällen oder anderen Problemen nicht mehr funktioniert.

2024 Apr 11 22:07:07 SW2 %BFD-5-SESSION_STATE_DOWN: BFD session 1090519062 to neighbor 172.16.1.1 on interface Vlan20 has gone down. Reason: Path Down.

- Echo Function Failed: Fehler in der Echo-Funktion, einer Funktion von BFD, bei der Echo-Pakete gesendet und empfangen werden, um die Verbindung zu überprüfen. Wenn diese Pakete nicht erfolgreich übertragen oder empfangen werden können, weist dies auf ein Problem hin.

2024 Apr 11 22:17:45 SW2 %BFD-5-SESSION_STATE_DOWN: BFD session 1090519174 to neighbor 10.10.10.1 on interface Vlan10 has gone down. Reason: Echo Function Failed.

- Neighbor Signed Session Down (Benachbarte, signalisierte Sitzung unterbrochen): Das Nachbargerät signalisiert, dass die BFD-Sitzung unterbrochen ist, was in der Regel darauf zurückzuführen ist, dass am Ende der Verbindung ein Problem erkannt wurde.

2024 Apr 11 22:03:48 SW2 %BFD-5-SESSION_STATE_DOWN: BFD session 1090519058 to neighbor 172.16.1.1 on interface Vlan20 has gone down. Reason: Neighbor Signaled Session Down.

- Control Detection Time Expired (Erkennungszeit für Steuerung abgelaufen): Dieser Fehler tritt auf, wenn der Timer für die Steuerelementerkennung abläuft, bevor eine erwartete Antwort vom Nachbarn empfangen wird. Dies weist auf ein potenzielles Verbindungsproblem hin.

2024 Apr 11 22:19:31 SW2 %BFD-5-SESSION_STATE_DOWN: BFD session 1090519061 to neighbor 192.168.2.1 on interface Lo30 has gone down. Reason: Control Detection Time Expired.

- Administrative Abschaltung: Die BFD-Sitzung wird von einem Administrator absichtlich abgeschaltet, entweder zu Wartungszwecken oder aufgrund von Konfigurationsänderungen.

2024 Apr 11 22:13:15 SW2 %BFD-5-SESSION_STATE_DOWN: BFD session 1090519064 to neighbor 10.10.10.1 on interface Vlan10 has gone down. Reason: Administratively Down.

Konfigurieren von BFD für Routing-Protokolle

Konfigurieren von BFD auf OSPF

Tipp: Wenn BFD unter OSPF aktiviert ist, wird es für alle Schnittstellen aktiviert, die OSPF verwenden. Die Schnittstellen übernehmen die global konfigurierten Werte. Wenn Anpassungen an diesen Werten erforderlich sind, lesen Sie Schritt 3, "BFD-Konfiguration auf einer Schnittstelle".

SWITCH 1

SWITCH 2

SW1(config)# router ospf 1

SW1(config-router)# bfd

SW2(config)# router ospf 1

SW2(config-router)# bfd

Außerdem kann BFD über die OSPF-Schnittstelle mithilfe des Befehlsip ospf bfd

SWITCH 1

SWITCH 2

SW1(config)# interface vlan 10

SW1(config-if)# ip ospf bfd

SW2(config)# interface vlan 10

SW2(config-if)# ip ospf bfd

Beispielkonfigurationen für BFD in OSPF

SW1# show running-config ospf !Command: show running-config ospf !Running configuration last done at: Wed Apr 10 21:06:31 2024 !Time: Wed Apr 10 21:09:45 2024 version 10.3(4a) Bios:version 01.07 feature ospf router ospf 1 bfd interface Vlan10 ip router ospf 1 area 0.0.0.0 ip ospf bfd

Konfigurieren von BFD auf EIGRP

SW1(config)# interface vlan 20 SW1(config-if)# ip eigrp 2 bfd

Tipp: Wenn BFD unter EIGRP aktiviert ist, wird es für alle Schnittstellen aktiviert, die EIGRP verwenden. Die Schnittstellen übernehmen die global konfigurierten Werte. Wenn Anpassungen an diesen Werten erforderlich sind, lesen Sie Schritt 3, "BFD-Konfiguration auf einer Schnittstelle".

SWITCH 1

SWITCH 2

SW1(config)# router eigrp 2

SW1(config-router)# bfd

SW2(config)# router eigrp 2

SW2(config-router)# bfd

Darüber hinaus kann BFD über eine EIGRP-Schnittstelle mithilfe des Befehlsip eigrp instance-tag bfd

SWITCH 1

SWITCH 2

SW1(config)# interface vlan 20

SW1(config-if)# ip eigrp 2 bfd

SW2(config)# interface vlan 20

SW2(config-if)# ip eigrp 2 bfd

Beispielkonfigurationen für BFD auf EIGRP

SW1# show running-config eigrp !Command: show running-config eigrp !Running configuration last done at: Wed Apr 10 21:24:29 2024 !Time: Wed Apr 10 21:53:08 2024 version 10.3(4a) Bios:version 01.07 feature eigrp router eigrp 2 address-family ipv4 unicast bfd interface Vlan20 ip router eigrp 2 ip eigrp 2 bfd

Konfigurieren von BFD auf dem BGP

Hinweis: Die Funktion Update Source (Update-Adresse) erleichtert BGP-Sitzungen die Verwendung der primären IP-Adresse einer designierten Schnittstelle als lokale Adresse während des Aufbaus einer BGP-Sitzung mit einem Nachbarn. Darüber hinaus kann sich BGP als Client bei BFD registrieren.

Hinweis: Wenn Sie BFD-Sitzungen auf dem Gerät konfigurieren, bestimmt die Angabe von entweder 'multihop' oder 'singlehop' den Sitzungstyp. Wenn kein Schlüsselwort angegeben wird, wird für den Sitzungstyp standardmäßig 'Singlehop' verwendet, wenn der Peer direkt verbunden ist. Wenn der Peer nicht verbunden ist, lautet der Standardwert für den Sitzungstyp "multihop" (Multihop).

SWITCH 1

SWITCH 2

SW1(config)#  router bgp 65001

SW1(config-router)# address-family ipv4 unicast

SW1(config-router)# neighbor  192.168.3.1

SW1(config-router-neighbor)# bfd multihop

SW1(config-router-neighbor)# update-source loopback30

SW2(config)# router bgp 65002

SW2(config-router)# address-family ipv4 unicast

SW2(config-router)#  neighbor 192.168.2.1

SW2(config-router-neighbor)#  bfd multihop

SW2(config-router-neighbor)# update-source loopback30

Beispielkonfigurationen für BFD auf BGP

SW1# show running-config bgp !Command: show running-config bgp !Running configuration last done at: Thu Apr 11 04:47:53 2024 !Time: Thu Apr 11 06:48:43 2024 version 10.3(4a) Bios:version 01.07 feature bgp router bgp 65001 address-family ipv4 unicast neighbor 192.168.3.1 bfd multihop remote-as 65002 update-source loopback30 ebgp-multihop 5 address-family ipv4 unicast

Überprüfung

Nach der Konfiguration von BFD und der Zuordnung zu einem Protokoll wie OSPF, EIGRP oder BGP müssen die BFD-Nachbarn automatisch identifiziert werden. Verwenden Sie den folgenden Befehl, um dies zu bestätigen:

show bfd neighbors

Auf Switch 1

SW1# show bfd neighbors OurAddr NeighAddr LD/RD RH/RS Holdown(mult) State Int Vrf Type BSID 172.16.1.1 172.16.1.2 1090519059/1090519058 Up 5219(3) Up Vlan20 default SH N/A 10.10.10.1 10.10.10.2 1090519060/1090519059 Up 5219(3) Up Vlan10 default SH N/A 192.168.2.1 192.168.3.1 1090519062/1090519061 Up 728(3) Up Lo30 default MH N/A SW1#

Auf Switch 2

SW2# show bfd neighbors OurAddr NeighAddr LD/RD RH/RS Holdown(mult) State Int Vrf Type BSID 172.16.1.2 172.16.1.1 1090519058/1090519059 Up 5053(3) Up Vlan20 default SH N/A 10.10.10.2 10.10.10.1 1090519059/1090519060 Up 5053(3) Up Vlan10 default SH N/A 192.168.3.1 192.168.2.1 1090519061/1090519062 Up 745(3) Up Lo30 default MH N/A

Um dies zu bestätigen und eine detaillierte Ausgabe zu erhalten, verwenden Sie den folgenden Befehl:

SW1# show bfd neighbors interface lo30 details OurAddr NeighAddr LD/RD RH/RS Holdown(mult) State Int Vrf Type BSID 192.168.2.1 192.168.3.1 1090519062/1090519061 Up 676(3) Up Lo30 default MH N/A Session state is Up and not using echo function Session type: Multihop Local Diag: 0, Demand mode: 0, Poll bit: 0, Authentication: None MinTxInt: 250000 us, MinRxInt: 250000 us, Multiplier: 3 Received MinRxInt: 250000 us, Received Multiplier: 3 Holdown (hits): 750 ms (0), Hello (hits): 250 ms (82590) Rx Count: 82588, Rx Interval (ms) min/max/avg: 207/1764/219 last: 73 ms ago Tx Count: 82590, Tx Interval (ms) min/max/avg: 219/219/219 last: 67 ms ago Registered protocols: bgp Uptime: 0 days 5 hrs 2 mins 2 secs, Upcount: 1 Last packet: Version: 1 - Diagnostic: 0 State bit: Up - Demand bit: 0 Poll bit: 0 - Final bit: 0 Multiplier: 3 - Length: 24 My Discr.: 1090519061 - Your Discr.: 1090519062 Min tx interval: 250000 - Min rx interval: 250000 Min Echo interval: 0 - Authentication bit: 0 Hosting LC: 1, Down reason: None, Reason not-hosted: None

SW2# show bfd neighbors interface vlan 20 details OurAddr NeighAddr LD/RD RH/RS Holdown(mult) State Int Vrf Type BSID 172.16.1.2 172.16.1.1 1090519058/1090519059 Up 4979(3) Up Vlan20 default SH N/A Session state is Up and using echo function with 500 ms interval Session type: Singlehop Local Diag: 0, Demand mode: 0, Poll bit: 0, Authentication: None MinTxInt: 500000 us, MinRxInt: 2000000 us, Multiplier: 3 Received MinRxInt: 2000000 us, Received Multiplier: 3 Holdown (hits): 6000 ms (0), Hello (hits): 2000 ms (12454) Rx Count: 12444, Rx Interval (ms) min/max/avg: 109/1919/1908 last: 1020 ms ago Tx Count: 12454, Tx Interval (ms) min/max/avg: 1906/1906/1906 last: 856 ms ago Registered protocols: eigrp Uptime: 0 days 6 hrs 35 mins 10 secs, Upcount: 2 Last packet: Version: 1 - Diagnostic: 0 State bit: Up - Demand bit: 0 Poll bit: 0 - Final bit: 0 Multiplier: 3 - Length: 24 My Discr.: 1090519059 - Your Discr.: 1090519058 Min tx interval: 500000 - Min rx interval: 2000000 Min Echo interval: 500000 - Authentication bit: 0 Hosting LC: 1, Down reason: None, Reason not-hosted: None

Überprüfung anhand von Sitzungsdetails

SW1# sh bfd clients Client : Number of sessions bgp : 1 ospf : 1 eigrp : 1 SW1# show system internal bfd sess-store interface vlan 10 No of sessions: 1 >>>>> Check Number of sessions 0x4100001b - 0x41000019 Hosting LC: 1 10.10.10.1 -> 10.10.10.2 bsid 0 >>>>> Check IP addresses BFD_SESS_ST_SESSION_UP for 0 days 0:6:22 594 >>>>> Check uptime Vlan10 [2 0x901000a:0x43 0:10 0x1000c 0x1000c] SMAC: 4464.3c81.ddd7 DMAC: 4464.3c81.cdb7 Local TX/RX/ST(ms): 500/500/2000000 Mult: 3 EchoRx: 50000 Ver:1 Flags(0x0): Echo Auth Interop (Disabled) Auth(0 0 0) Group id 0x0 Active TX/RX/ST(ms): 2000/2000/2000000 Mult: 3 State: 3 Diag: 0x0 Flags: 0xc 0000 Auth(0 0 0) Spray DIs: 0 Port-Lcs: Module 1 has 2 links - ACL not programmed Applications: (1) ospf [0x1:0x41000119 flags 0x0] App Data : [c0a80301000] Description: 10.10.10.2 MTS Dest 0xfe000001:0x140 No-Host reason: 0x0(SUCCESS) Counters: >>>>>>>> Check the counters below Retries: LC remove(0), ACL Inst/Rem(0/0), Redisc(0) No. of ACLs Added(1) Flap counters: Ctrl Detect timer expired(0), Echo failed(0), Neigh Signaled down(0), Admin d own(0), Forwarding plane reset(0), Path down(0), Concat path down(0), Rev Concat path down(0) Last ACL added time: 58781 usecs after Thu Apr 11 22:18:19 2024 Last ACL response time: 81830 usecs after Thu Apr 11 22:18:19 2024 Last session install time: 58285 usecs after Thu Apr 11 22:18:19 2024 Last session install response time: 58717 usecs after Thu Apr 11 22:18:19 2024

Überprüfen mithilfe der Zugriffsliste

SW2# show system internal access-list vlan 10 input statistics slot 1 ======= INSTANCE 0x0 --------------- Tcam 12 resource usage: ---------------------- LBL M = 0x1 Bank 0 ------ IPv4 Class Policies: BFD() [Merged] Netflow profile: 0 Netflow deny profile: 0 Entries: [Index] Entry [Stats] --------------------- [0x0000:0x0003:0x0c0d] permit udp 0.0.0.0/0 0.0.0.0/0 range 3784 3785 encap 0x0 [205340] >>>>> This counter needs to increase SW2# show system internal access-list sup-redirect-stats | i i bfd 3085 BFD 12217 >>>>> This counter need to increase 3121 BFDC TCLASS PACKET 0 3146 BFDC v4 PACKET 15 3148 BFDC TCLASS V6 PACKET 0 3156 BFDC v6 PACKET 0 3158 BFDC v6 LL Ucast PACKET 0 3209 BFDC v4 multihop PACKET 383697 >>>>> This counter need to increase in multihop case 3121 BFDC TCLASS PACKET 0 3146 BFDC v4 PACKET 0 3148 BFDC TCLASS V6 PACKET 0 3156 BFDC v6 PACKET 0 3158 BFDC v6 LL Ucast PACKET 0 3209 BFDC v4 multihop PACKET 0

Verifizieren mit Ethanalyzer

Ein alternativer Ansatz besteht darin, eine Paketerfassung auszuführen, die speziell für den UDP-Port 3785 gefiltert wird.

SW1# ethanalyzer local interface inband display-filter "udp.port==3785" limit-captured-frames 0 Capturing on 'ps-inb' 5 2024-04-11 05:26:37.294596186 10.10.10.1 → 10.10.10.1 BFD Echo 70 Originator specific content 6 2024-04-11 05:26:37.294623155 10.10.10.1 → 10.10.10.1 BFD Echo 70 Originator specific content 7 2024-04-11 05:26:37.294635837 172.16.1.1 → 172.16.1.1 BFD Echo 70 Originator specific content 8 2024-04-11 05:26:37.294653159 172.16.1.1 → 172.16.1.1 BFD Echo 70 Originator specific content 4 18 2024-04-11 05:26:37.780441619 10.10.10.1 → 10.10.10.1 BFD Echo 70 Originator specific content 19 2024-04-11 05:26:37.780461351 172.16.1.1 → 172.16.1.1 BFD Echo 70 Originator specific content 20 2024-04-11 05:26:37.780467533 10.10.10.1 → 10.10.10.1 BFD Echo 70 Originator specific content 21 2024-04-11 05:26:37.780481315 172.16.1.1 → 172.16.1.1 BFD Echo 70 Originator specific content 30 2024-04-11 05:26:38.266365493 10.10.10.1 → 10.10.10.1 BFD Echo 70 Originator specific content 31 2024-04-11 05:26:38.266392766 10.10.10.1 → 10.10.10.1 BFD Echo 70 Originator specific content

Es wird erwartet, dass identische Quell- und Ziel-IP-Adressen in den erfassten Paketen vom BFD-Echo-Protokoll vorhanden sind, da diese Echo-Pakete vom lokalen Switch selbst stammen.

Hinweis: Wenn die "no bfd echo"-Anweisung unter der Schnittstelle nicht vorhanden ist, werden bei der Erfassung Pakete mit der lokal bezogenen IP-Adresse und der benachbarten Ziel-IP-Adresse angezeigt, zusammen mit der BFD-Kontrolle.

SW2# ethanalyzer local interface inband display-filter "ip.addr==192.168.2.1" limit-captured-frames 0 Capturing on 'ps-inb' 1 2024-04-11 05:38:21.155483591 192.168.2.1 → 192.168.3.1 BFD Control 66 Diag: No Diagnostic, State: Up, Flags: 0x00 2 2024-04-11 05:38:21.182606602 192.168.3.1 → 192.168.2.1 BFD Control 66 Diag: No Diagnostic, State: Up, Flags: 0x00 11 2024-04-11 05:38:21.375187034 192.168.2.1 → 192.168.3.1 BFD Control 66 Diag: No Diagnostic, State: Up, Flags: 0x00 12 2024-04-11 05:38:21.402295701 192.168.3.1 → 192.168.2.1 BFD Control 66 Diag: No Diagnostic, State: Up, Flags: 0x00 4 14 2024-04-11 05:38:21.594612491 192.168.2.1 → 192.168.3.1 BFD Control 66 Diag: No Diagnostic, State: Up, Flags: 0x00 15 2024-04-11 05:38:21.621742431 192.168.3.1 → 192.168.2.1 BFD Control 66 Diag: No Diagnostic, State: Up, Flags: 0x00 20 2024-04-11 05:38:21.813971234 192.168.2.1 → 192.168.3.1 BFD Control 66 Diag: No Diagnostic, State: Up, Flags: 0x00 8 21 2024-04-11 05:38:21.841086554 192.168.3.1 → 192.168.2.1 BFD Control 66 Diag: No Diagnostic, State: Up, Flags: 0x00 22 2024-04-11 05:38:22.033395440 192.168.2.1 → 192.168.3.1 BFD Control 66 Diag: No Diagnostic, State: Up, Flags: 0x00 23 2024-04-11 05:38:22.060526055 192.168.3.1 → 192.168.2.1 BFD Control 66 Diag: No Diagnostic, State: Up, Flags: 0x00 28 2024-04-11 05:38:22.252709432 192.168.2.1 → 192.168.3.1 BFD Control 66 Diag: No Diagnostic, State: Up, Flags: 0x00 29 2024-04-11 05:38:22.279810427 192.168.3.1 → 192.168.2.1 BFD Control 66 Diag: No Diagnostic, State: Up, Flags: 0x00