Configuración de la detección de fallas de OSPF mediante BFD
Descripción de BFD para OSPF
El protocolo de detección de reenvío bidireccional (BFD) es un mecanismo sencillo que detecta fallas en una red. BFD funciona con una amplia variedad de entornos de red y topologías. Un par de dispositivos de enrutamiento intercambian paquetes BFD. Los paquetes de saludo se envían a un intervalo regular y especificado. Se detecta un error de vecino 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 del OSPF, por lo que proporcionan una detección más rápida.
Los temporizadores de detección de fallas BFD son adaptables y se pueden ajustar para que sean más rápidos o más lentos. Cuanto más bajo 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 la adyacencia falla (es decir, el temporizador detecta los errores con mayor lentitud). O 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 una solapa de sesión BFD ocurre más de tres veces en un lapso de 15 segundos. Un algoritmo de respaldo aumenta el intervalo de recepción (Rx) en dos si la instancia de BFD local es el motivo del flap de sesión. El intervalo de transmisión (tx) aumenta dos si la instancia de BFD remota es la razón de la solap de sesión. Puede usar el clear bfd adaptation
comando para devolver temporizadores de intervalo BFD a sus valores configurados. El clear bfd adaptation
comando no tiene golpes, 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 intervalos mínimos de menos de 1 segundo.
BFD es compatible con OSPFv3 en la versión 9.3 y posteriores de Junos OS.
Para firewalls serie SRX de sucursal, recomendamos 1000 ms como intervalo de tiempo mínimo de mantenimiento para paquetes BFD.
Puede configurar las siguientes opciones de protocolo BFD:
detection-time threshold
— Umbral para la adaptación del tiempo de detección. Cuando el tiempo de detección de sesión BFD se adapta a un valor igual o mayor que el umbral configurado, se envían una única 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 completa. El comportamiento predeterminado es establecer sesiones BFD para todos los vecinos de OSPF. Esta configuración está disponible en la versión 9.5 y posteriores de Junos OS.minimum-interval
—Intervalo mínimo de transmisión y recepción para la detección de fallas. Esta configuración configura tanto el intervalo mínimo tras el cual el dispositivo de enrutamiento local transmite paquetes de saludo y el intervalo mínimo tras el cual el dispositivo de enrutamiento espera recibir una respuesta del vecino con el que ha establecido una sesión BFD. Ambos intervalos están 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 de 10 ms para sesiones de BFD distribuidas puede causar una flaqueo de BFD no deseado.
Según el entorno de red, es posible que se aplique lo siguiente:
Para implementaciones de red a gran escala con un gran número de sesiones de 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 conmutación del motor de enrutamiento cuando se configura el enrutamiento activo sin interrupciones (NSR), especifique un intervalo mínimo de 2500 ms para sesiones basadas en motor de enrutamiento. Sin NSR, las sesiones basadas en motores de enrutamiento pueden tener un intervalo mínimo de 100 ms.
-
Para sesiones de BFD distribuidas con NSR configurado, las recomendaciones de intervalo mínimo no cambian y dependen solo de su implementación de red.
-
Junos OS 21.2R1 y posterior admiten sesiones distribuidas de 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 o MPC 11). El valor predeterminado para el BFD local del 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 fallas. Esta configuración configura el intervalo de recepción mínimo, en milisegundos, después de lo 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 no. De forma predeterminada, tres paquetes de saludo que se pierden hacen que la interfaz de origen se declare desactivada.no-adaptation
: deshabilita la adaptación de BFD. Esta configuración deshabilita las sesiones de BFD para que se adapten a condiciones de red cambiantes. Esta configuración está disponible en la versión 9.0 y posteriores de Junos OS.Nota:Recomendamos que no desactive la adaptación de BFD a menos que sea preferible no tener una adaptación de BFD en su red.
transmit-interval minimum-interval
— Intervalo de transmisión mínimo para la detección de fallas. Esta configuración configura el intervalo mínimo de transmisión, 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 sesión BFD. Cuando el intervalo de transmisión se adapta a un valor mayor que el umbral, se envían una única captura y un único mensaje de registro del sistema. El valor de umbral debe ser mayor que el intervalo mínimo de transmisión. Si intenta confirmar una configuración con un valor de umbral menor que el intervalo de transmisión mínimo, el dispositivo de enrutamiento muestra un error y no acepta la configuración.version
—Versión BFD. Esta configuración configura la versión 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 BFD. De forma predeterminada, el dispositivo de enrutamiento detecta automáticamente la versión BFD, que es 0 o 1.
También puede rastrear las operaciones de BFD para solucionar 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 su red OSPF. Vea ejemplo: Configuración de un identificador de enrutador OSPF.
Elección designada de enrutador de control OSPF. Vea ejemplo: Control de elección de enrutador designado por OSPF.
Configure una red OSPF de área única. Vea ejemplo: Configuración de una red OSPF de área única.
Configure una red OSPF de varias áreas. Consulte ejemplo: Configuración de una red OSPF de varias áreas.
Configure una red OSPF de varias áreas. Consulte ejemplo: Configuración de una red OSPF de varias áreas.
Visión general
Una alternativa a ajustar la configuración del intervalo de saludo OSPF y del intervalo muerto para aumentar la convergencia de ruta es configurar BFD. El protocolo BFD es un simple mecanismo de saludo que detecta fallas en una red. Los temporizadores de detección de fallas de BFD tienen límites de temporizador más cortos que los mecanismos de detección de fallas del OSPF, lo que proporciona una detección más rápida.
El 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 fallas integrada. No es necesario configurar BFD en esas interfaces.
Configure BFD en un par de interfaces OSPF vecinas. A diferencia de la configuración del intervalo de saludo y del intervalo muerto del OSPF, no es necesario habilitar BFD en todas las interfaces de un área OSPF.
En este ejemplo, se habilita la detección de fallas mediante la inclusión de la bfd-liveness-detection
instrucción en la interfaz OSPF vecina fe-0/1/0 en el área 0.0.0.0.0 y configurar el intervalo de intercambio de paquetes BFD en 300 milisegundos, configurar 4 como el número de paquetes de saludo que se pierden y que hace que la interfaz de origen se declare como inactivo y configurar las sesiones BFD solo para los vecinos OSPF con adyacencia completa mediante la inclusión de las siguientes opciones:
solo vecinos completos: en la versión 9.5 y posterior de Junos OS, configura el protocolo BFD para establecer sesiones BFD solo para los vecinos de OSPF con adyacencia completa. 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 de lo cual el dispositivo de enrutamiento local transmite los paquetes de saludo, así como el intervalo mínimo tras el 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 mediante las instrucciones y
minimum-receive-interval
el intervalo mínimo 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 de 10 ms para sesiones de BFD distribuidas puede causar una flaqueo de BFD no deseado.
Según el 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 de 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 tiempo de detección establecido es inferior a 300 ms. Si hay un proceso de alta prioridad, como ppmd, que se ejecuta en el sistema, la CPU puede pasar tiempo en el proceso ppmd en lugar del proceso bfdd.
Para firewalls serie SRX de sucursal, recomendamos 1000 ms como intervalo de tiempo mínimo de mantenimiento para paquetes BFD.
Para implementaciones de red a gran escala con una gran cantidad de sesiones de BFD, póngase en contacto con el soporte al cliente de Juniper Networks para obtener más información.
Para que las sesiones de BFD permanezcan activas durante un evento de conmutación del motor de enrutamiento cuando se configura el enrutamiento activo sin interrupciones (NSR), especifique un intervalo mínimo de 2500 ms para sesiones basadas en motor de enrutamiento. Para sesiones de BFD distribuidas con NSR configurado, las recomendaciones de intervalo mínimo no cambian y dependen solo de su implementación de red.
multiplicador: configura el número de paquetes de saludo que no recibe un vecino que hace que la interfaz de origen se declare no. De forma predeterminada, tres paquetes de saludo que se pierden hacen que la interfaz de origen se declare desactivada. 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, luego, 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[edit protocols]
nivel de jerarquía.[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 la cantidad de paquetes de saludo que se pierden y que hacen que la interfaz de origen se declare no.
[edit protocols ospf area 0.0.0.0 ] user@host# set interface fe-0/0/1 bfd-liveness-detection multiplier 4
Configure las sesiones de BFD solo para vecinos OSPF con adyacencia completa.
[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
Para confirmar la configuración, ingrese el show protocols ospf
comando. Si el resultado no muestra la configuración deseada, repita las instrucciones en 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, ingrese el show protocols ospf3
comando.
Verificación
Confirme que la configuración funciona correctamente.
Verificar las sesiones de BFD
Propósito
Compruebe que las interfaces del OSPF tienen sesiones BFD activas y que los componentes de la 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 mostrar Lleno para reflejar la adyacencia de vecino completa que configuró.
El campo Intervalo de transmisión muestra el intervalo de tiempo que configuró para enviar paquetes BFD.
El campo Multiplicador muestra el multiplicador que configuró.
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 se ejecuta BFD a través de protocolos de capa de red, el riesgo de ataques de servicio puede ser significativo. Recomendamos encarecidamente usar la autenticación si está ejecutando BFD en varios saltos o mediante túneles inseguros. 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 de 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.
Puede autenticar sesiones de BFD especificando un algoritmo de autenticación y un llavero, y, luego, asociando esa información de configuración con un llavero de autenticación de seguridad mediante el nombre del llavero.
En las siguientes secciones se describen los algoritmos de autenticación compatibles, los llaveros de seguridad y el nivel de autenticación que se pueden configurar:
- Algoritmos de autenticación BFD
- Llaveros de autenticación de seguridad
- Autenticación estricta frente a la flexible
Algoritmos de autenticación BFD
Junos OS admite los siguientes algoritmos para la autenticación BFD:
contraseña simple: 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 solo debe usarse cuando las sesiones BFD no están sujetas a intercepción de paquetes.
keyed-md5: algoritmo hash de síntesis de mensaje con clave 5 para sesiones con intervalos de transmisión y recepción superiores a 100 ms. Para autenticar la sesión BFD, el MD5 con clave usa 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, se aceptan paquetes al final 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 los ataques de repetición. Aumentar la velocidad a la que se actualiza el número de secuencia puede reducir este riesgo.
meticuloso-keyed-md5— Meticuloso resumen de mensajes con clave 5 algoritmo hash. 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 las contraseñas simples y MD5 con clave, 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 usa 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 lleva dentro de los paquetes. Con este método, se aceptan paquetes al final 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.
meticuloso-sha-sha-1: algoritmo de hash seguro con clave meticulosa I. Este método funciona de la misma manera que SHA clave, pero el número de secuencia se actualiza con cada paquete. Aunque es más seguro que sha con claves y contraseñas simples, este método puede tardar más tiempo en autenticar la sesión.
El enrutamiento activo sin interrupciones (NSR) no se admite con los algoritmos de autenticación meticuloso-keyed-md5 y meticuloso-keyed-sha-1. Las sesiones de BFD que utilizan estos algoritmos pueden caer después de un cambio.
Los conmutadores serie QFX5000 y EX4600 no admiten valores de intervalos mínimos 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 con un protocolo a través del nombre del llavero, pueden producirse actualizaciones de claves de autenticación sin interrumpir los protocolos de enrutamiento y señalización.
El llavero de autenticación contiene uno o varios llaveros. Cada llavero contiene una o más claves. Cada clave contiene los datos secretos y el tiempo en el que la clave se vuelve válida. El algoritmo y el llavero se deben configurar en ambos extremos de la sesión BFD y deben coincidir. Cualquier discordancia en la configuración impide que se cree la sesión BFD.
BFD permite varios 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 la flexible
De forma predeterminada, la autenticación estricta está habilitada y la autenticación se comprueba en ambos extremos de cada sesión BFD. Opcionalmente, para facilitar la migración de sesiones no autenticadas a sesiones autenticadas, puede configurar la comprobación libre. Cuando se configura la comprobación libre, se aceptan paquetes sin autenticación en cada extremo de la sesión. Esta función está pensada únicamente 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 siguientes secciones, 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 de 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 de 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 siguiente ejemplo, se muestra la autenticación BFD configurada para el grupo BGP if2-ospf . Especifica el algoritmo de autenticación SHA-1 clave y un nombre de llavero de bfd-ospf. El llavero de autenticación está configurado con dos claves. La clave 1 contiene los datos secretos "$ABC 123$ABC123" y una hora de inicio del 1 de junio de 2009 a las 9:46:02 a. m. PST. La clave 2 contiene los datos secretos "$ABC 123$ABC123" y una 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 la configuración, verá un resultado similar al siguiente. En el resultado del show bfd session detail
comando, Autenticar se muestra para indicar que la autenticación BFD está configurada.
mostrar detalles de la sesión 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 de la llave, 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 de llavero y el algoritmo y modo de autenticación.
muestra la sesión completa de bfd
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