Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Configurazione

Esempio di rete

Configurazione

Motivi per la non disponibilità dei pacchetti Syslog

Configurazione di BFD sui protocolli di routing

Configurazione di BFD su OSPF

Configurazioni di esempio per BFD su OSPF

Configurazione di BFD su EIGRP

Configurazioni di esempio per BFD su EIGRP

Configurazione di BFD su BGP

Configurazioni di esempio per BFD su BGP

Verifica

Verifica tramite dettagli sessione

Verifica tramite Access-list

Verifica con Ethanalyzer

Introduzione

In questo documento viene descritto come configurare e verificare le sessioni BFD (Bidirectional Forwarding Detection) su switch Cisco Nexus basati su NXOS®.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- Rilevamento inoltro bidirezionale (BFD)

- Software Nexus NX-OS.

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

Componenti usati

Il riferimento delle informazioni contenute in questo documento è Cisco Nexus 9000 con NXOS versione 10.3(4a).M.

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Configurazione

Esempio di rete

Configurazione

Lo scopo della configurazione del BFD è quello di rilevare e comprendere le differenze tra le configurazioni dei vari protocolli di routing.

PASSAGGIO 1: Prima di poter configurare il BFD su un'interfaccia e un protocollo, è necessario abilitare la funzione BFD.

SWITCH 1

SWITCH 2

SW1(config)# feature bfd

SW2(config)# feature bfd

PASSO 2: Configurazione di BFD globale

SWITCH 1

SWITCH 2

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

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

Nota: l'intervallo min_tx e msec è compreso tra 50 e 999 millisecondi e il valore predefinito è 50. L'intervallo del moltiplicatore è compreso tra 1 e 50. Il valore predefinito del moltiplicatore è 3.

PASSAGGIO 3: Configurazione di BFD su un'interfaccia

Nota: è possibile configurare i parametri della sessione BFD per tutte le sessioni BFD su un'interfaccia.

Avviso: verificare che i messaggi di reindirizzamento ICMP (Internet Control Message Protocol) siano disabilitati sulle interfacce abilitate per BFD. Usare il comandono ip redirects o il comandono ipv6 redirects sull'interfaccia.

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

La modalità asincrona BFD è come un handshake tra due dispositivi per mantenere elevata la connessione. La configurazione viene eseguita su entrambi i dispositivi e, una volta attivata, i due dispositivi iniziano a scambiarsi messaggi speciali a un'ora prestabilita. Questi messaggi hanno alcune impostazioni importanti, ad esempio la frequenza con cui vengono inviati e la velocità con cui un dispositivo può rispondere all'altro. È inoltre disponibile un'impostazione che consente di stabilire il numero di messaggi non ricevuti necessari affinché un dispositivo possa rendersi conto della presenza di un problema nella connessione.

La funzione echo BFD invia i pacchetti di prova a un router adiacente e li restituisce per verificare la presenza di problemi senza coinvolgere il router adiacente nell'inoltro dei pacchetti. Può utilizzare un timer più lento per ridurre il traffico dei pacchetti di controllo e verificare il percorso di inoltro sul sistema adiacente senza disturbare il router adiacente, rendendo il rilevamento più veloce. Se entrambi i vicini utilizzano la funzione echo, non vi è asimmetria.

Motivi per la non disponibilità dei pacchetti Syslog

- Path Down: indica che il percorso di inoltro tra i due BFD adiacenti non è più operativo, probabilmente a causa di congestione della rete, errori hardware o altri problemi.

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.

- Funzione echo non riuscita: errore della funzione echo, una funzione del BFD in cui vengono inviati e ricevuti i pacchetti echo per verificare la connettività. Se i pacchetti non vengono trasmessi o ricevuti correttamente, è possibile che si sia verificato un problema.

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.

- Sessione segnalata router adiacente inattiva: il dispositivo adiacente segnala che la sessione BFD è inattiva, in genere a causa del rilevamento di un problema sul dispositivo stesso e della fine della connessione.

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.

- Tempo scaduto rilevamento controllo: questo si verifica quando il timer di rilevamento controllo scade prima di ricevere una risposta prevista dal router adiacente, che indica un potenziale problema con la connessione.

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.

- Inattività amministrativa: la sessione BFD viene interrotta intenzionalmente da un amministratore, a scopo di manutenzione o a causa di modifiche alla configurazione.

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.

Configurazione di BFD sui protocolli di routing

Configurazione di BFD su OSPF

Suggerimento: quando il BFD è abilitato in OSPF, diventa attivo per tutte le interfacce che utilizzano OSPF. Le interfacce adottano i valori configurati globalmente. Se è necessario regolare questi valori, fare riferimento al punto 3, "Configurazione BFD su un'interfaccia".

SWITCH 1

SWITCH 2

SW1(config)# router ospf 1

SW1(config-router)# bfd

SW2(config)# router ospf 1

SW2(config-router)# bfd

Può inoltre abilitare il BFD nell'interfaccia OSPF con il comandoip 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

Configurazioni di esempio per BFD su 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

Configurazione di BFD su EIGRP

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

Suggerimento: quando il BFD è abilitato in EIGRP, diventa attivo per tutte le interfacce che usano EIGRP. Le interfacce adottano i valori configurati globalmente. Se è necessario regolare questi valori, fare riferimento al punto 3, "Configurazione BFD su un'interfaccia".

SWITCH 1

SWITCH 2

SW1(config)# router eigrp 2

SW1(config-router)# bfd

SW2(config)# router eigrp 2

SW2(config-router)# bfd

Inoltre, può abilitare il BFD su un'interfaccia EIGRP con il comandoip 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

Configurazioni di esempio per BFD su 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

Configurazione di BFD su BGP

Nota: la funzione di aggiornamento dell'origine facilita le sessioni BGP nell'utilizzare l'indirizzo IP primario di un'interfaccia designata come indirizzo locale durante la definizione di una sessione BGP con un router adiacente. Consente inoltre a BGP di registrarsi come client con BFD.

Nota: quando si configurano sessioni BFD sul dispositivo, il tipo di sessione viene determinato specificando 'multihop' o 'single hop'. Se non viene specificata alcuna parola chiave, il tipo di sessione viene impostato per impostazione predefinita su 'single hop' quando il peer è connesso direttamente. Se il peer non è connesso, il tipo di sessione predefinito è '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

Configurazioni di esempio per BFD su 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

Verifica

Dopo aver configurato il BFD e averlo associato a un protocollo come OSPF, EIGRP o BGP, i BFD adiacenti devono essere identificati automaticamente. Per verificare questa condizione, utilizzare il comando:

show bfd neighbors

On 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#

On 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

Per verificare e ottenere un output dettagliato, utilizzare il comando:

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

Verifica tramite dettagli sessione

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

Verifica tramite Access-list

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

Verifica con Ethanalyzer

Un approccio alternativo consiste nell'eseguire un'acquisizione dei pacchetti, filtrando specificamente la porta UDP 3785.

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

Ci si aspetta che i pacchetti acquisiti dal protocollo Echo BFD contengano indirizzi IP di origine e destinazione identici, in quanto i pacchetti Echo provengono dallo switch locale stesso.

Nota: in assenza dell'istruzione 'no bfd echo' nell'interfaccia, l'acquisizione rivela i pacchetti con l'indirizzo IP di origine locale e l'indirizzo IP di destinazione adiacente, insieme all'osservazione del controllo BFD

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