Table des matières

Introduction

Conditions préalables

Exigences

Composants utilisés

Configurer

Diagramme du réseau

Configurer

Raisons de blocage BFD Syslog

Configuration de BFD sur les protocoles de routage

Configuration de BFD sur OSPF

Exemples de configuration de BFD sur OSPF

Configuration de BFD sur EIGRP

Exemples de configuration de BFD sur EIGRP

Configuration de BFD sur BGP

Exemples de configuration de BFD sur BGP

Vérifier

Vérifier en utilisant les détails de session

Vérification à l'aide de Access-list

Vérification à l'aide d'Ethanalyzer

Introduction

Ce document décrit comment configurer et vérifier les sessions de détection de transfert bidirectionnel (BFD) sur les commutateurs Cisco Nexus basés sur NXOS®.

Conditions préalables

Exigences

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Détection de transfert bidirectionnel (BFD)

- Logiciel Nexus NX-OS.

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

Composants utilisés

Les informations contenues dans ce document sont basées sur Cisco Nexus 9000 avec NXOS version 10.3(4a).M.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Configurer

Diagramme du réseau

Configurer

L’objectif de la configuration BFD est de détecter et de comprendre les différences entre les configurations des différents protocoles de routage.

ÉTAPE 1 : Vous devez activer la fonctionnalité BFD avant de pouvoir configurer BFD sur une interface et un protocole.

COMMUTATEUR 1

COMMUTATEUR 2

SW1(config)# feature bfd

SW2(config)# feature bfd

ÉTAPE 2 : Configuration du BFD global

COMMUTATEUR 1

COMMUTATEUR 2

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

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

Remarque : la plage min_tx et msec est comprise entre 50 et 999 millisecondes et la valeur par défaut est 50. Le multiplicateur est compris entre 1 et 50. Le multiplicateur par défaut est 3.

ÉTAPE 3 : Configuration de BFD sur une interface

Remarque : vous pouvez configurer les paramètres de session BFD pour toutes les sessions BFD sur une interface.

Avertissement : assurez-vous que les messages de redirection ICMP (Internet Control Message Protocol) sont désactivés sur les interfaces compatibles BFD. Utilisez la no ip redirects commande ou la commandeno ipv6 redirects sur l’interface.

COMMUTATEUR 1

COMMUTATEUR 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

Le mode asynchrone BFD est comme une connexion entre deux périphériques pour maintenir une connexion forte. Vous la configurez sur les deux périphériques et une fois qu'elle est activée, ils commencent à s'envoyer des messages spéciaux à un moment donné. Ces messages ont des paramètres importants, comme la fréquence à laquelle ils sont envoyés et la vitesse à laquelle un périphérique peut répondre à l'autre. Il existe également un paramètre qui détermine le nombre de messages manqués nécessaires pour qu'un périphérique réalise qu'il peut y avoir un problème de connexion.

La fonction d'écho BFD envoie des paquets de test à un voisin et les renvoie pour vérifier les problèmes sans impliquer le voisin dans le transfert de paquets. Il peut utiliser un temporisateur plus lent pour réduire le trafic des paquets de contrôle et tester le chemin de transmission sur le système voisin sans déranger le voisin, ce qui accélère la détection. Si les deux voisins utilisent la fonction echo, il n'y a pas d'asymétrie.

Raisons de blocage BFD Syslog

- Path Down : indique que le chemin de transfert entre les deux voisins BFD n'est plus opérationnel, peut-être en raison d'un encombrement du réseau, d'une défaillance matérielle ou d'autres problèmes.

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.

- Échec de la fonction d'écho : échec de la fonction d'écho, qui est une fonctionnalité de BFD où les paquets d'écho sont envoyés et reçus pour vérifier la connectivité. Si ces paquets ne parviennent pas à être transmis ou reçus, cela indique un problème.

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 Signaled Session Down : le périphérique voisin signale que la session BFD est désactivée, généralement en raison de la détection d'un problème sur la fin de la connexion.

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 : se produit lorsque le compteur de détection de contrôle s'exécute avant de recevoir une réponse attendue du voisin, indiquant un problème potentiel avec la connexion.

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 Down : la session BFD est intentionnellement arrêtée par un administrateur, à des fins de maintenance ou en raison de modifications de configuration.

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.

Configuration de BFD sur les protocoles de routage

Configuration de BFD sur OSPF

Conseil : lorsque BFD est activé sous OSPF, il devient actif pour toutes les interfaces utilisant OSPF. Les interfaces adoptent les valeurs configurées globalement. Si des ajustements de ces valeurs sont nécessaires, reportez-vous à l'étape 3, « Configuration BFD sur une interface ».

COMMUTATEUR 1

COMMUTATEUR 2

SW1(config)# router ospf 1

SW1(config-router)# bfd

SW2(config)# router ospf 1

SW2(config-router)# bfd

Il peut également activer BFD sous l'interface OSPF avec la commandeip ospf bfd

COMMUTATEUR 1

COMMUTATEUR 2

SW1(config)# interface vlan 10

SW1(config-if)# ip ospf bfd

SW2(config)# interface vlan 10

SW2(config-if)# ip ospf bfd

Exemples de configuration de BFD sur 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

Configuration de BFD sur EIGRP

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

Conseil : lorsque BFD est activé sous EIGRP, il devient actif pour toutes les interfaces utilisant EIGRP. Les interfaces adoptent les valeurs configurées globalement. Si des ajustements de ces valeurs sont nécessaires, reportez-vous à l'étape 3, « Configuration BFD sur une interface ».

COMMUTATEUR 1

COMMUTATEUR 2

SW1(config)# router eigrp 2

SW1(config-router)# bfd

SW2(config)# router eigrp 2

SW2(config-router)# bfd

Il peut également activer BFD sous une interface EIGRP avec la commandeip eigrp instance-tag bfd

COMMUTATEUR 1

COMMUTATEUR 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

Exemples de configuration de BFD sur 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

Configuration de BFD sur BGP

Remarque : la fonctionnalité de mise à jour de la source facilite les sessions BGP pour utiliser l'adresse IP principale d'une interface désignée comme adresse locale lors de l'établissement d'une session BGP avec un voisin. En outre, il permet à BGP de s'enregistrer en tant que client avec BFD.

Remarque : lors de la configuration des sessions BFD sur le périphérique, la spécification de 'multihop' ou 'single hop' détermine le type de session. Si aucun mot-clé n'est fourni, le type de session par défaut est 'singlehop' lorsque l'homologue est directement connecté. Si l'homologue n'est pas connecté, le type de session par défaut est 'multihop'.

COMMUTATEUR 1

COMMUTATEUR 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

Exemples de configuration de BFD sur 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

Vérifier

Après avoir configuré BFD et l'avoir associé à un protocole tel qu'OSPF, EIGRP ou BGP, les voisins BFD doivent être automatiquement identifiés. Pour le confirmer, utilisez la commande suivante :

show bfd neighbors

Sur le commutateur 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#

Sur le commutateur 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

Pour le confirmer et obtenir des informations détaillées, utilisez la commande suivante :

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

Vérifier en utilisant les détails de session

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

Vérification à l'aide de 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

Vérification à l'aide d'Ethanalyzer

Une autre approche consiste à effectuer une capture de paquets, en filtrant spécifiquement le port 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

La présence d'adresses IP source et de destination identiques dans les paquets capturés à partir du protocole BFD Echo est attendue, car ces paquets Echo proviennent du commutateur local lui-même.

Remarque : en l'absence de l'instruction « no bfd echo » sous l'interface, la capture révèle les paquets avec l'adresse IP source locale et l'adresse IP de destination voisine, ainsi que l'observation du contrôle 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