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:
- Timers de BFD en la interfaz de ambos extremos.
- 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 estadoUp. - 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.