Configuración de la detección de fallos de OSPF mediante BFD
Descripción de BFD para OSPF
El protocolo de detección de reenvío bidireccional (BFD) es un mecanismo de saludo simple que detecta fallas en una red. BFD trabaja con una amplia variedad de entornos y topologías de red. Un par de dispositivos de enrutamiento intercambian paquetes BFD. Los paquetes Hello se envían en un intervalo regular especificado. Un error de vecino se detecta cuando el dispositivo de enrutamiento deja de recibir una respuesta después de un intervalo especificado. Los temporizadores de detección de fallas BFD tienen límites de tiempo más cortos que los mecanismos de detección de fallas OSPF, por lo que proporcionan una detección más rápida.
Los temporizadores de detección de fallas BFD son adaptativos y se pueden ajustar para que sean más rápidos o más lentos. Cuanto menor sea el valor del temporizador de detección de fallas de BFD, más rápida será la detección de fallas y viceversa. Por ejemplo, los temporizadores pueden adaptarse a un valor más alto si falla la adyacencia (es decir, el temporizador detecta fallas más lentamente). O bien, un vecino puede negociar un valor más alto para un temporizador que el valor configurado. Los temporizadores se adaptan a un valor más alto cuando un colgajo de sesión BFD ocurre más de tres veces en un lapso de 15 segundos. Un algoritmo de retroceso aumenta el intervalo de recepción (Rx) en dos si la instancia local de BFD es el motivo de la solapa de sesión. El intervalo de transmisión (Tx) aumenta en dos si la instancia remota de BFD es el motivo de la solapa de sesión. Puede utilizar el comando para devolver los clear bfd adaptation
temporizadores de intervalo BFD a sus valores configurados. El clear bfd adaptation
comando no tiene hits, lo que significa que el comando no afecta al flujo de tráfico en el dispositivo de enrutamiento.
Los conmutadores EX4600 no admiten valores de intervalo mínimo de menos de 1 segundo.
BFD es compatible con OSPFv3 en Junos OS versión 9.3 y posteriores.
Para los firewalls de la serie SRX de sucursal, se recomienda 1000 ms como intervalo de tiempo mínimo de mantenimiento de la vida para los paquetes BFD.
Puede configurar las siguientes opciones del protocolo BFD:
detection-time threshold
—Umbral para la adaptación del tiempo de detección. Cuando el tiempo de detección de la sesión BFD se adapta a un valor igual o mayor que el umbral configurado, se envían una sola captura y un único mensaje de registro del sistema.full-neighbors-only
—Capacidad de establecer sesiones de BFD solo para vecinos de OSPF con adyacencia de vecino completo. El comportamiento predeterminado es establecer sesiones BFD para todos los vecinos de OSPF. Esta configuración está disponible en Junos OS versión 9.5 y posteriores.minimum-interval
: intervalo mínimo de transmisión y recepción para la detección de fallos. Esta configuración configura tanto el intervalo mínimo después del cual el dispositivo de enrutamiento local transmite paquetes de saludo como el intervalo mínimo después del cual el dispositivo de enrutamiento espera recibir una respuesta del vecino con el que ha establecido una sesión BFD. Ambos intervalos son en milisegundos. También puede especificar los intervalos mínimos de transmisión y recepción por separado mediante lastransmit-interval minimum-interval
instrucciones yminimum-receive-interval
.Nota:BFD es un protocolo intensivo que consume recursos del sistema. Especificar un intervalo mínimo para BFD de menos de 100 ms para sesiones basadas en motor de enrutamiento y 10 ms para sesiones BFD distribuidas puede provocar aleteo de BFD no deseado.
En función del entorno de red, puede aplicarse lo siguiente:
Para implementaciones de red a gran escala con un gran número de sesiones BFD, especifique un intervalo mínimo de no menos de 500 ms. Se recomienda un intervalo de 1000 ms para evitar cualquier problema de inestabilidad.
Para que las sesiones de BFD permanezcan activas durante un evento de cambio de motor de enrutamiento cuando se configura un enrutamiento activo sin paradas (NSR), especifique un intervalo mínimo de 2500 ms para las sesiones basadas en motor de enrutamiento. Sin NSR, las sesiones basadas en motor de enrutamiento pueden tener un intervalo mínimo de 100 ms.
-
Para las sesiones de BFD distribuidas con NSR configurado, las recomendaciones de intervalo mínimo no cambian y dependen únicamente de su implementación de red.
-
Junos OS 21.2R1 y versiones posteriores admiten sesiones distribuidas OSPFv3 e ISIS BFD con direcciones locales de vínculo IPv6 en enrutadores de la serie MX que ejecutan MPC del 1 al 9 (no se admite en MPC 10 ni MPC 11). El valor predeterminado para BFD local de vínculo IPv6 es el modo en línea.
-
BFD no se distribuye antes de Junos 21.2 (porque para OSPFv3, BFD se basa en el motor de enrutamiento).
En un solo conmutador QFX5100, cuando agregue un módulo de expansión QFX-EM-4Q, especifique un intervalo mínimo superior a 1000 ms.
minimum-receive-interval
: intervalo de recepción mínimo para la detección de fallos. Esta opción configura el intervalo mínimo de recepción, en milisegundos, después del cual el dispositivo de enrutamiento espera recibir un paquete de saludo de un vecino con el que ha establecido una sesión BFD. También puede especificar el intervalo de recepción mínimo mediante laminimum-interval
instrucción.multiplier
—Multiplicador para paquetes de saludo. Esta configuración configura el número de paquetes de saludo que no recibe un vecino, lo que hace que la interfaz de origen se declare inactiva. De forma predeterminada, tres paquetes de saludo perdidos hacen que la interfaz de origen se declare inactiva.no-adaptation
—Desactiva la adaptación de BFD. Esta configuración impide que las sesiones BFD se adapten a las condiciones cambiantes de la red. Esta configuración está disponible en Junos OS versión 9.0 y posteriores.Nota:Le recomendamos que no deshabilite la adaptación BFD a menos que sea preferible no tener adaptación BFD en su red.
transmit-interval minimum-interval
—Intervalo de transmisión mínimo para la detección de fallos. Esta opción configura el intervalo de transmisión mínimo, en milisegundos, en el que el dispositivo de enrutamiento local transmite paquetes de saludo al vecino con el que ha establecido una sesión BFD. También puede especificar el intervalo de transmisión mínimo mediante laminimum-interval
instrucción.transmit-interval threshold
—Umbral para la adaptación del intervalo de transmisión de la sesión BFD. Cuando el intervalo de transmisión se adapta a un valor mayor que el umbral, se envían una sola captura y un único mensaje de registro del sistema. El valor umbral debe ser mayor que el intervalo mínimo de transmisión. Si intenta confirmar una configuración con un valor de umbral inferior al intervalo de transmisión mínimo, el dispositivo de enrutamiento muestra un error y no acepta la configuración.version
—Versión BFD. Esta opción configura la versión de BFD utilizada para la detección. Puede configurar explícitamente la versión 1 de BFD o el dispositivo de enrutamiento puede detectar automáticamente la versión de BFD. De forma predeterminada, el dispositivo de enrutamiento detecta automáticamente la versión de BFD, que es 0 o 1.
También puede realizar un seguimiento de las operaciones de BFD con fines de solución de problemas.
Ejemplo: configuración de BFD para OSPF
En este ejemplo se muestra cómo configurar el protocolo de detección de reenvío bidireccional (BFD) para OSPF.
Requisitos
Antes de empezar:
Configure las interfaces del dispositivo. Consulte la biblioteca de interfaces de red de Junos OS para dispositivos de enrutamiento.
Configure los identificadores de enrutador para los dispositivos de la red OSPF. Consulte Ejemplo: Configuración de un identificador de enrutador OSPF.
Controle la elección del enrutador designado por OSPF. Consulte Ejemplo: Control de la elección del enrutador designado por OSPF.
Configure una red OSPF de área única. Consulte Ejemplo: Configuración de una red OSPF de área única.
Configure una red OSPF multiárea. Consulte Ejemplo: Configuración de una red OSPF multiárea.
Configure una red OSPF multiárea. Consulte Ejemplo: Configuración de una red OSPF multiárea.
Visión general
Una alternativa a ajustar la configuración del intervalo de saludo OSPF y del intervalo muerto para aumentar la convergencia de rutas es configurar BFD. El protocolo BFD es un mecanismo de saludo simple que detecta fallas en una red. Los temporizadores de detección de fallas BFD tienen límites de temporizador más cortos que los mecanismos de detección de fallas OSPF, lo que proporciona una detección más rápida.
BFD es útil en interfaces que no pueden detectar fallas rápidamente, como las interfaces Ethernet. Otras interfaces, como las interfaces SONET, ya tienen detección de errores incorporada. No es necesario configurar BFD en esas interfaces.
BFD se configura en un par de interfaces OSPF vecinas. A diferencia de la configuración del intervalo de saludo OSPF y del intervalo muerto, no es necesario habilitar BFD en todas las interfaces de un área OSPF.
En este ejemplo, se habilita la detección de errores incluyendo la bfd-liveness-detection
instrucción en la interfaz OSPF vecina fe-0/1/0 en el área 0.0.0.0 y se configura el intervalo de intercambio de paquetes BFD en 300 milisegundos, se configura 4 como el número de paquetes de saludo perdidos que hace que la interfaz de origen se declare inactiva, y se configuran sesiones BFD sólo para vecinos de OSPF con adyacencia de vecino completo incluyendo la siguiente configuración:
full-neighbors-only: en Junos OS versión 9.5 y posteriores, configura el protocolo BFD para establecer sesiones BFD solo para vecinos de OSPF con adyacencia de vecino completo. El comportamiento predeterminado es establecer sesiones BFD para todos los vecinos de OSPF.
intervalo mínimo: configura el intervalo mínimo, en milisegundos, después del cual el dispositivo de enrutamiento local transmite paquetes de saludo, así como el intervalo mínimo después del cual el dispositivo de enrutamiento espera recibir una respuesta del vecino con el que ha establecido una sesión BFD. Puede configurar un número en el intervalo de 1 a 255.000 milisegundos. También puede especificar los intervalos mínimos de transmisión y recepción por separado utilizando las instrucciones intervalo mínimo y
minimum-receive-interval
intervalo de transmisión.Nota:BFD es un protocolo intensivo que consume recursos del sistema. Especificar un intervalo mínimo para BFD de menos de 100 ms para sesiones basadas en motor de enrutamiento y 10 ms para sesiones BFD distribuidas puede provocar aleteo de BFD no deseado.
En función del entorno de red, es posible que se apliquen estas recomendaciones adicionales:
Para implementaciones de red a gran escala con un gran número de sesiones BFD, especifique un intervalo mínimo de no menos de 500 ms. Se recomienda un intervalo de 1000 ms para evitar cualquier problema de inestabilidad.
Nota:Para el proceso bfdd, el intervalo de detección establecido es inferior a 300 ms. Si hay un proceso de alta prioridad como ppmd ejecutándose en el sistema, la CPU podría dedicar tiempo al proceso ppmd en lugar del proceso bfdd.
Para los firewalls de la serie SRX de sucursal, se recomienda 1000 ms como intervalo de tiempo mínimo de mantenimiento de la vida para los paquetes BFD.
Para implementaciones de red a gran escala con un gran número de sesiones de BFD, comuníquese con el servicio de atención al cliente de Juniper Networks para obtener más información.
Para que las sesiones de BFD permanezcan activas durante un evento de cambio de motor de enrutamiento cuando se configura un enrutamiento activo sin paradas (NSR), especifique un intervalo mínimo de 2500 ms para las sesiones basadas en motor de enrutamiento. Para las sesiones de BFD distribuidas con NSR configurado, las recomendaciones de intervalo mínimo no cambian y dependen únicamente de su implementación de red.
multiplicador: configura el número de paquetes de saludo no recibidos por un vecino que hace que la interfaz de origen se declare inactiva. De forma predeterminada, tres paquetes de saludo perdidos hacen que la interfaz de origen se declare inactiva. Puede configurar un valor en el intervalo del 1 al 255.
Topología
Configuración
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente el protocolo BFD para OSPF, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía [edit] y, a continuación, ingrese commit
desde el modo de configuración.
[edit] set protocols ospf area 0.0.0.0 interface fe-0/0/1 bfd-liveness-detection minimum-interval 300 set protocols ospf area 0.0.0.0 interface fe-0/0/1 bfd-liveness-detection multiplier 4 set protocols ospf area 0.0.0.0 interface fe-0/0/1 bfd-liveness-detection full-neighbors-only
Procedimiento paso a paso
Para configurar el protocolo BFD para OSPF en una interfaz vecina:
Cree un área OSPF.
Nota:Para especificar OSPFv3, incluya la
ospf3
instrucción en el nivel jerárquico[edit protocols]
.[edit] user@host# edit protocols ospf area 0.0.0.0
Especifique la interfaz.
[edit protocols ospf area 0.0.0.0] user@host# set interface fe-0/0/1
Especifique los intervalos mínimos de transmisión y recepción.
[edit protocols ospf area 0.0.0.0 ] user@host# set interface fe-0/0/1 bfd-liveness-detection minimum-interval 300
Configure el número de paquetes de saludo perdidos que hacen que la interfaz de origen se declare inactiva.
[edit protocols ospf area 0.0.0.0 ] user@host# set interface fe-0/0/1 bfd-liveness-detection multiplier 4
Configure sesiones de BFD solo para vecinos de OSPF con adyacencia de vecino completo.
[edit protocols ospf area 0.0.0.0 ] user@host# set interface fe-0/0/1 bfd-liveness-detection full-neighbors-only
Si ha terminado de configurar el dispositivo, confirme la configuración.
[edit protocols ospf area 0.0.0.0 ] user@host# commit
Nota:Repita toda esta configuración en la otra interfaz vecina.
Resultados
Confirme la configuración introduciendo el show protocols ospf
comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.
user@host# show protocols ospf area 0.0.0.0 { interface fe-0/0/1.0 { bfd-liveness-detection { minimum-interval 300; multiplier 4; full-neighbors-only; } } }
Para confirmar la configuración de OSPFv3, escriba el show protocols ospf3
comando.
Verificación
Confirme que la configuración funciona correctamente.
Verificación de las sesiones de BFD
Propósito
Compruebe que las interfaces OSPF tienen sesiones BFD activas y que los componentes de sesión se han configurado correctamente.
Acción
Desde el modo operativo, ingrese el show bfd session detail
comando.
Significado
El resultado muestra información sobre las sesiones de BFD.
El campo Dirección muestra la dirección IP del vecino.
El campo Interfaz muestra la interfaz que configuró para BFD.
El campo Estado muestra el estado del vecino y debe mostrarse Completo para reflejar la adyacencia completa del vecino que configuró.
El campo Intervalo de transmisión muestra el intervalo de tiempo configurado para enviar paquetes BFD.
El campo Multiplicador muestra el multiplicador que ha configurado.
Descripción de la autenticación BFD para OSPF
La detección de reenvío bidireccional (BFD) permite la detección rápida de fallas de comunicación entre sistemas adyacentes. De forma predeterminada, la autenticación para sesiones BFD está deshabilitada. Sin embargo, cuando ejecuta BFD sobre protocolos de capa de red, el riesgo de ataques al servicio puede ser significativo. Recomendamos encarecidamente usar la autenticación si está ejecutando BFD en varios saltos o a través de túneles no seguros. A partir de Junos OS versión 9.6, Junos OS admite la autenticación para sesiones BFD que se ejecutan sobre OSPFv2. La autenticación BFD no se admite en sesiones MPLS OAM. La autenticación BFD solo se admite en la versión de Canadá y Estados Unidos de la imagen de Junos OS y no está disponible en la versión de exportación.
Las sesiones BFD se autentican especificando un algoritmo de autenticación y un llavero y, a continuación, asociando esa información de configuración con un llavero de autenticación de seguridad mediante el nombre del llavero.
En las secciones siguientes se describen los algoritmos de autenticación, los llaveros de seguridad y el nivel de autenticación admitidos que se pueden configurar:
- Algoritmos de autenticación BFD
- Llaveros de autenticación de seguridad
- Autenticación estricta frente a autenticación flexible
Algoritmos de autenticación BFD
Junos OS admite los siguientes algoritmos para la autenticación BFD:
simple-password: contraseña de texto sin formato. Se utilizan de uno a 16 bytes de texto sin formato para autenticar la sesión BFD. Se pueden configurar una o más contraseñas. Este método es el menos seguro y debe usarse solo cuando las sesiones BFD no están sujetas a interceptación de paquetes.
keyed-md5: algoritmo hash Keyed Message Digest 5 para sesiones con intervalos de transmisión y recepción superiores a 100 ms. Para autenticar la sesión BFD, MD5 con clave utiliza una o más claves secretas (generadas por el algoritmo) y un número de secuencia que se actualiza periódicamente. Con este método, los paquetes se aceptan en el extremo receptor de la sesión si una de las claves coincide y el número de secuencia es mayor o igual que el último número de secuencia recibido. Aunque es más seguro que una simple contraseña, este método es vulnerable a ataques de reproducción. Aumentar la velocidad a la que se actualiza el número de secuencia puede reducir este riesgo.
meticulous-keyed-md5: algoritmo hash meticuloso de Message Digest 5. Este método funciona de la misma manera que MD5 con clave, pero el número de secuencia se actualiza con cada paquete. Aunque es más seguro que MD5 con clave y contraseñas simples, este método puede tardar más tiempo en autenticar la sesión.
keyed-sha-1: algoritmo hash seguro con clave I para sesiones con intervalos de transmisión y recepción superiores a 100 ms. Para autenticar la sesión BFD, SHA con clave utiliza una o más claves secretas (generadas por el algoritmo) y un número de secuencia que se actualiza periódicamente. La clave no se transporta dentro de los paquetes. Con este método, los paquetes se aceptan en el extremo receptor de la sesión si una de las claves coincide y el número de secuencia es mayor que el último número de secuencia recibido.
meticulous-keyed-sha-1—Algoritmo de hash seguro con clave meticulosa I. Este método funciona de la misma manera que el SHA con clave, pero el número de secuencia se actualiza con cada paquete. Aunque es más seguro que el SHA con clave y las contraseñas simples, este método puede tardar más tiempo en autenticar la sesión.
El enrutamiento activo sin paradas (NSR) no es compatible con los algoritmos de autenticación meticulous-keyed-md5 y meticulosus-keyed-sha-1. Las sesiones de BFD que utilizan estos algoritmos pueden dejar de funcionar después de un cambio.
Los conmutadores de la serie QFX5000 y EX4600 no admiten valores de intervalo mínimo de menos de 1 segundo.
Llaveros de autenticación de seguridad
El llavero de autenticación de seguridad define los atributos de autenticación utilizados para las actualizaciones de claves de autenticación. Cuando el llavero de autenticación de seguridad está configurado y asociado a un protocolo a través del nombre del llavero, las actualizaciones de la clave de autenticación pueden producirse sin interrumpir los protocolos de enrutamiento y señalización.
El llavero de autenticación contiene uno o más llaveros. Cada llavero contiene una o más llaves. Cada clave contiene los datos secretos y el momento en que la clave se vuelve válida. El algoritmo y el llavero deben configurarse en ambos extremos de la sesión BFD y deben coincidir. Cualquier discrepancia en la configuración impide que se cree la sesión BFD.
BFD permite múltiples clientes por sesión, y cada cliente puede tener su propio llavero y algoritmo definido. Para evitar confusiones, recomendamos especificar solo un llavero de autenticación de seguridad.
Autenticación estricta frente a autenticación flexible
De forma predeterminada, la autenticación estricta está habilitada y la autenticación se comprueba en ambos extremos de cada sesión de BFD. Opcionalmente, para facilitar la migración de sesiones no autenticadas a sesiones autenticadas, puede configurar la comprobación flexible. Cuando se configura la comprobación flexible, se aceptan paquetes sin que se compruebe la autenticación en cada extremo de la sesión. Esta función está pensada solo para períodos transitorios.
Configuración de la autenticación BFD para OSPF
A partir de Junos OS versión 9.6, puede configurar la autenticación para sesiones BFD que se ejecutan sobre OSPFv2. También se admiten instancias de enrutamiento.
En las secciones siguientes se proporcionan instrucciones para configurar y ver la autenticación BFD en OSPF:
- Configuración de parámetros de autenticación BFD
- Visualización de la información de autenticación para sesiones BFD
Configuración de parámetros de autenticación BFD
Solo se necesitan tres pasos para configurar la autenticación en una sesión BFD:
Especifique el algoritmo de autenticación BFD para el protocolo OSPFv2.
Asocie el llavero de autenticación con el protocolo OSPFv2.
Configure el llavero de autenticación de seguridad relacionado.
Para configurar la autenticación BFD:
La autenticación BFD solo se admite en la versión de Canadá y Estados Unidos de la imagen de Junos OS y no está disponible en la versión de exportación.
Visualización de la información de autenticación para sesiones BFD
Puede ver la configuración de autenticación BFD existente mediante los show bfd session detail
comandos y show bfd session extensive
.
En el ejemplo siguiente se muestra la autenticación BFD configurada para el grupo BGP if2-ospf . Especifica el algoritmo de autenticación SHA-1 con clave y un nombre de llavero de bfd-ospf. El llavero de autenticación se configura con dos claves. La clave 1 contiene los datos secretos "$ABC 123$ABC123" y la hora de inicio del 1 de junio de 2009 a las 9:46:02 AM PST. La clave 2 contiene los datos secretos "$ABC 123$ABC123" y la hora de inicio del 1 de junio de 2009 a las 3:29:20 PM PST.
[edit protocols ospf] area 0.0.0.1 { interface if2-ospf { bfd-liveness-detection { authentication { algorithm keyed-sha-1; key-chain bfd-ospf; } } } } [edit security] authentication key-chains { key-chain bfd-ospf { key 1 { secret “$ABC123$ABC123”; ## SECRET-DATA start-time “2009-6-1.09:46:02 -0700”; } key 2 { secret “$ABC123$ABC123”; start-time “2009-6-1.15:29:20 -0700”; ## SECRET-DATA } } }
Si confirma estas actualizaciones en su configuración, verá resultados similares a los siguientes. En el resultado del comando, se muestra Autenticar para indicar que la show bfd session detail
autenticación BFD está configurada.
Mostrar detalles de la sesión de BFD
user@host# show bfd session detail Detect Transmit Address State Interface Time Interval Multiplier 10.9.1.33 Up so-7/1/0.0 0.600 0.200 3 Client OSPF, TX interval 0.200, RX interval 0.200, multiplier 3, Authenticate Session up time 3d 00:34 Local diagnostic None, remote diagnostic None Remote state Up, version 1 Replicated 1 sessions, 1 clients Cumulative transmit rate 10.0 pps, cumulative receive rate 10.0 pps
Para obtener más información acerca de la configuración, utilice el show bfd session extensive
comando. El resultado de este comando proporciona el nombre del llavero, el algoritmo y el modo de autenticación para cada cliente de la sesión, y el estado general de configuración de la autenticación BFD, el nombre del llavero y el algoritmo y modo de autenticación.
Mostrar sesión de BFD extensa
user@host# show bfd session extensive Detect Transmit Address State Interface Time Interval Multiplier 10.9.1.33 Up so-7/1/0.0 0.600 0.200 3 Client OSPF, TX interval 0.200, RX interval 0.200, multiplier 3, Authenticate keychain bfd-ospf, algo keyed-md5, mode loose Session up time 3d 00:34 Local diagnostic None, remote diagnostic None Remote state Up, version 1 Replicated Min async interval 0.200, min slow interval 1.000 Adaptive async tx interval 0.200, rx interval 0.200 Local min tx interval 0.200, min rx interval 0.200, multiplier 3 Remote min tx interval 0.100, min rx interval 0.100, multiplier 3 Threshold transmission interval 0.000, Threshold for detection time 0.000 Local discriminator 11, remote discriminator 80 Echo mode disabled/inactive Authentication enabled/active, keychain bfd-ospf, algo keyed-sha-1, mode strict 1 sessions, 1 clients Cumulative transmit rate 10.0 pps, cumulative receive rate 10.0 pps