BFD - Configuración

BFD (Bidirectional Forwarding Detection) detecta la caída de un enlace o vecino en milisegundos, mucho más rápido que los temporizadores propios de los protocolos de enrutamiento (que tardan segundos). BFD no enruta por sí mismo: es un servicio ligero que otros “clientes” (OSPF, EIGRP, BGP, HSRP, rutas estáticas) consultan para converger casi al instante cuando el vecino desaparece. La validación está en BFD - Verificación y el diagnóstico en BFD - Troubleshooting. Se relaciona con Rutas estáticas - Configuración y HSRP - Configuración.


Prerrequisitos

  • Un enlace de capa 3 entre los dos vecinos, con conectividad IP.
  • Un “cliente” que consuma BFD: una ruta estática, un protocolo de enrutamiento o FHRP.
  • Ambos extremos deben tener BFD configurado (es bidireccional).

Conceptos previos (mínimos)

  • BFD intercambia paquetes de control muy rápidos entre dos vecinos. Si dejan de llegar, declara el vecino Down en milisegundos.
  • Se configura en dos partes: los timers en la interfaz, y la asociación a uno o varios clientes (protocolos/rutas).
  • Timers principales:
    • interval (o tx): cada cuánto envía paquetes BFD (ms).
    • min_rx: intervalo mínimo que espera recibir del vecino (ms).
    • multiplier: cuántos paquetes seguidos se pueden perder antes de declarar el vecino caído.
  • La detección real ≈ min_rx × multiplier (por ejemplo 300 ms × 3 = 900 ms).
  • BFD descarga la detección de fallos a un proceso liviano, sin bajar los timers del protocolo (que consumirían más CPU).

Pasos de configuración:

  1. Timers de BFD en la interfaz de ambos extremos.
  2. Asociar BFD al cliente que debe usarlo (ruta estática, OSPF, EIGRP, BGP, HSRP).

Comandos de configuración

Timers en la interfaz (en ambos extremos):

R1(config)# interface gigabitEthernet 0/0
R1(config-if)# bfd interval 300 min_rx 300 multiplier 3
  • bfd interval <tx> min_rx <rx> multiplier <n>: define los tiempos y el umbral de pérdida.

Asociar BFD a cada tipo de cliente:

! Ruta estática (cliente independiente de protocolos)
R1(config)# ip route static bfd gigabitEthernet 0/0 10.0.0.2
R1(config)# ip route 192.168.2.0 255.255.255.0 10.0.0.2

! OSPF (todas las interfaces, o una sola)
R1(config)# router ospf 1
R1(config-router)# bfd all-interfaces
R1(config-if)# ip ospf bfd            ! alternativa por interface

! EIGRP
R1(config)# router eigrp 100
R1(config-router)# bfd all-interfaces

! BGP (por vecino)
R1(config)# router bgp 65000
R1(config-router)# neighbor 10.0.0.2 fall-over bfd

! HSRP (en la interfaz del grupo)
R1(config-if)# standby bfd
  • ip route static bfd <interfaz> <next-hop>: habilita BFD para las rutas estáticas hacia ese salto; luego se crean las rutas normales.
  • bfd all-interfaces (bajo el protocolo): activa BFD en todas las interfaces del proceso.
  • ip ospf bfd: activa/desactiva BFD por interface (útil para excluir alguna).
  • neighbor <ip> fall-over bfd: BGP baja la sesión de inmediato si BFD reporta el vecino caído.
  • standby bfd: HSRP usa BFD para detectar la caída del peer.

Añadido pro: los protocolos de enrutamiento (OSPF/EIGRP/BGP) que usan BFD están en pausa en este cuaderno; las líneas de arriba muestran cómo se asociarían cuando los actives. La ruta estática con BFD (ip route static bfd) funciona por sí sola, sin ningún protocolo.


Dos ejemplos completos de configuración

Topología: R1 (Gi0/0, 10.0.0.1/30) — enlace — R2 (Gi0/0, 10.0.0.2/30). LAN detrás de R2: 192.168.2.0/24.

Ejemplo 1 — BFD para una ruta estática (sin protocolos)

R1# configure terminal

! Timers de BFD en la interfaz del enlace
R1(config)# interface gigabitEthernet 0/0
R1(config-if)# bfd interval 300 min_rx 300 multiplier 3
R1(config-if)# exit

! Habilitar BFD para rutas estáticas hacia ese salto y crear la ruta
R1(config)# ip route static bfd gigabitEthernet 0/0 10.0.0.2
R1(config)# ip route 192.168.2.0 255.255.255.0 10.0.0.2
R1(config)# end
R1# copy running-config startup-config

En R2 se configura el mismo bfd interval ... en su Gi0/0 (y sus rutas hacia las redes de R1). BFD es bidireccional: si un extremo no lo tiene, la sesión no sube.

Ejemplo 2 — BFD asociado a HSRP para failover rápido

R1# configure terminal
R1(config)# interface gigabitEthernet 0/0
R1(config-if)# bfd interval 300 min_rx 300 multiplier 3

! HSRP usando BFD para detectar la caída del peer
R1(config-if)# standby 10 ip 10.0.0.254
R1(config-if)# standby 10 priority 150
R1(config-if)# standby 10 preempt
R1(config-if)# standby bfd
R1(config-if)# end
R1# write memory

Al caer el enlace, BFD avisa a HSRP en milisegundos y el failover ocurre mucho antes que con los timers normales de HSRP.


Verificación rápida (comprobar que quedó bien)

La validación detallada está en BFD - Verificación.

! Sesiones BFD y su estado
R1# show bfd neighbors
R1# show bfd neighbors details

! Resumen
R1# show bfd summary

Qué deberías ver:

  • En show bfd neighbors, la sesión con el vecino en estado Up.
  • En los detalles, los timers negociados y qué cliente (protocolo/ruta) está usando la sesión.

Nota de origen: este tema se construyó desde el estándar de Cisco (BFD es tema de ENARSI y no venía en tus diapositivas). Si me envías una diapositiva específica, la integro. Los ejemplos con ruta estática y HSRP no dependen de los protocolos en pausa.