Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Configurar

Diagrama de Rede

Configurar

Motivos de inatividade do Syslog BFD

Configuração do BFD em protocolos de roteamento

Configuração do BFD no OSPF

Configurações de exemplo para BFD no OSPF

Configuração do BFD no EIGRP

Configurações de Exemplo para BFD no EIGRP

Configurando BFD no BGP

Configurações de exemplo para BFD no BGP

Verificar

Verificar Usando Detalhes da Sessão

Verificar usando a lista de acesso

Verificar usando o Ethanalyzer

Introdução

Este documento descreve como configurar e verificar sessões de Detecção de Encaminhamento Bidirecional (BFD - Bidirectional Forwarding Detection) em switches baseados no Cisco Nexus NXOS®.

Pré-requisitos

Requisitos

A Cisco recomenda que você tenha conhecimento destes tópicos:

- Detecção de encaminhamento bidirecional (BFD)

- Software NX-OS Nexus.

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

Componentes Utilizados

As informações neste documento são baseadas no Cisco Nexus 9000 com NXOS versão 10.3(4a).M.

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Configurar

Diagrama de Rede

Configurar

A finalidade de configurar o BFD é detectar e entender as diferenças entre as configurações de vários protocolos de roteamento.

ETAPA 1: Você deve habilitar o recurso BFD antes de configurar o BFD em uma interface e um protocolo.

SWITCH 1

SWITCH 2

SW1(config)# feature bfd

SW2(config)# feature bfd

ETAPA 2: Configurar o BFD global

SWITCH 1

SWITCH 2

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

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

Observação: o intervalo min_tx e msec é de 50 a 999 milissegundos e o padrão é 50. O intervalo do multiplicador é de 1 a 50. O padrão do multiplicador é 3.

ETAPA 3: Configurar o BFD em uma interface

Observação: você pode configurar os parâmetros da sessão BFD para todas as sessões BFD em uma interface.

Aviso: certifique-se de que as mensagens de redirecionamento do Internet Control Message Protocol (ICMP) estejam desabilitadas nas interfaces habilitadas para BFD. Use o comando no ip redirects ou o comandono ipv6 redirects na interface.

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

O modo assíncrono BFD é como um handshake entre dois dispositivos para manter a forte conexão. Você o configura em ambos os dispositivos e, uma vez ligado, eles começam a enviar mensagens especiais uns para os outros em um determinado momento. Essas mensagens têm algumas configurações importantes, como a frequência com que são enviadas e a velocidade com que um dispositivo pode responder ao outro. Há também uma configuração que decide quantas mensagens perdidas são necessárias para que um dispositivo perceba que pode haver um problema com a conexão.

A função de eco BFD envia pacotes de teste para um vizinho e os envia de volta para verificar problemas sem envolver o vizinho no encaminhamento de pacotes. Ele pode usar um temporizador mais lento para reduzir o tráfego de pacotes de controle e testar o caminho de encaminhamento no sistema de vizinhos sem incomodar o vizinho, tornando a detecção mais rápida. Se ambos os vizinhos usarem a função de eco, não haverá assimetria.

Motivos de inatividade do Syslog BFD

- Caminho inativo: indica que o caminho de encaminhamento entre os dois vizinhos BFD não está mais operacional, possivelmente devido a congestionamento de rede, falha de hardware ou outros problemas.

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.

- Falha na função de eco: falha da função de eco, que é um recurso do BFD em que os pacotes de eco são enviados e recebidos para verificar a conectividade. Se esses pacotes não puderem ser transmitidos ou recebidos com êxito, isso indica um 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.

- Sessão Sinalizada de Vizinho Inativa: o dispositivo vizinho sinaliza que a sessão BFD está inativa, normalmente devido à detecção de um problema nele é o final da conexão.

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 de Detecção de Controle Expirado: Isso ocorre quando o temporizador de detecção de controle se esgota antes de receber uma resposta esperada do vizinho, indicando um possível problema com a conexão.

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.

- Administrativamente inativa: a sessão BFD é desativada intencionalmente por um administrador, seja para fins de manutenção ou devido a alterações de configuração.

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.

Configuração do BFD em protocolos de roteamento

Configuração do BFD no OSPF

Dica: quando o BFD é habilitado no OSPF, ele se torna ativo para todas as interfaces que utilizam o OSPF. As interfaces adotam os valores configurados globalmente. Se forem necessários ajustes nesses valores, consulte a etapa 3, 'Configuração de BFD em uma interface'.

SWITCH 1

SWITCH 2

SW1(config)# router ospf 1

SW1(config-router)# bfd

SW2(config)# router ospf 1

SW2(config-router)# bfd

Ele também pode ativar o BFD na interface OSPF com o 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

Configurações de exemplo para BFD no 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

Configuração do BFD no EIGRP

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

Dica: Quando o BFD é ativado no EIGRP, ele se torna ativo para todas as interfaces que utilizam o EIGRP. As interfaces adotam os valores configurados globalmente. Se forem necessários ajustes nesses valores, consulte a etapa 3, 'Configuração de BFD em uma interface'.

SWITCH 1

SWITCH 2

SW1(config)# router eigrp 2

SW1(config-router)# bfd

SW2(config)# router eigrp 2

SW2(config-router)# bfd

Também pode ativar o BFD em uma interface EIGRP com o 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

Configurações de Exemplo para BFD no 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

Configurando BFD no BGP

Observação: o recurso de atualização de origem facilita as sessões BGP para utilizar o endereço IP primário de uma interface designada como o endereço local durante o estabelecimento de uma sessão BGP com um vizinho. Além disso, permite que o BGP se registre como um cliente com BFD.

Observação: ao configurar sessões BFD no dispositivo, especificar 'multihop' ou 'singlehop' determina o tipo de sessão. Se nenhuma palavra-chave for fornecida, o tipo de sessão assumirá como padrão 'single hop' quando o correspondente estiver diretamente conectado. Se o peer não estiver conectado, o tipo de sessão assumirá como padrão '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

Configurações de exemplo para BFD no 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

Verificar

Depois de configurar o BFD e associá-lo a um protocolo como OSPF, EIGRP ou BGP, os vizinhos BFD devem ser identificados automaticamente. Para confirmar isso, use o comando:

show bfd neighbors

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

No 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

Para confirmar isso e obter uma saída detalhada, use o 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

Verificar Usando Detalhes da Sessão

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

Verificar usando a lista de acesso

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

Verificar usando o Ethanalyzer

Uma abordagem alternativa é executar uma captura de pacote, filtrando especificamente para a 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

A presença de endereços IP origem e destino idênticos nos pacotes capturados do protocolo de eco BFD é esperada, pois esses pacotes de eco se originam do próprio switch local.

Observação: na ausência da instrução 'no bfd echo' na interface, a captura revela pacotes com o endereço IP de origem local e o endereço IP de destino vizinho, juntamente com a observação do Controle 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