Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Uso de un servidor de enrutamiento basado en cRPD

 

Este capítulo trata algunas consideraciones de configuración especiales para usar una instancia cRPD o instancias como servidor de enrutamiento.

Para el ejemplo siguiente, usaremos los siguientes atributos:

  • La subred IP de puente de Docker es de 198.51.100.0/24

  • La subred LAN IXP es 192.0.2.0/24

  • Se ha asignado la dirección IP de 192.0.2.254 al servidor enrutador en la LAN IXP

  • IXP BGP tal y como 100

Consideraciones especiales para este ejemplo de implementación:

  • Dado que los clientes EBGP se encuentran en una subred IP diferente a la de la LAN IXP, las sesiones EBGP deben ser de salto múltiple. Esto se debe al hecho de que el contenedor se ejecuta en la subred del puente del Docker.

  • ’No configurará interfaces cuando utilice cRPD. La dirección de interfaz se lee desde el contenedor del acoplador.

Figure 1: Ejemplo de LAN IXP para una ruta basada en cRPD-implementación del servidor
Ejemplo de LAN IXP para una ruta basada en cRPD-implementación del servidor

Ejemplo de dirección local de servidor de enrutamiento:

Ejemplo de configuración de servidor de enrutamiento cRPD:

Configuración de enrutadores de cliente IXP:

Se debe tener en cuenta que este ejemplo no’cubre todo lo que debe configurarse en un enrutador de cliente de emparejamiento con un servidor de enrutamiento operativo en una red activa. Aquí se puede encontrar un buen ejemplo de lo que se debe configurar en un dispositivo cliente que ejecuta Junos OS que participan en las operaciones de IXP: https://www.ams-ix.net/ams/documentation/config-guide.

Sincronización del plano de datos y de control

Un difícil problema con las LAN IXP son que los servidores de enrutamiento no están activos en el plano de datos entre clientes miembros IXP’, de modo que es posible que el plano de datos entre los clientes esté fuera de funcionamiento mientras las sesiones de EBGP con el servidor de enrutamiento se conserven. Como puede imaginar, esto crearía una capa negra – 3 cree que el destino es alcanzable y, por lo tanto, el cliente está enviando tráfico “mientras” el circuito de capa 2 está inactivo.

Se está realizando el trabajo en IETF para resolver este problema con BFD (https://datatracker.ietf.org/doc/draft-ietf-IDR-RS-BFD/).

El extracto de los anteriores Estados de borrador:

Cuando se utilizan BGP servidores de enrutamiento, el plano de datos no es congruente con el plano de control. Por lo tanto, los elementos del mismo nivel en un intercambio de Internet pueden perder la conectividad de datos sin que el plano de control sea consciente de ello, y los paquetes se pierden. Este documento propone el uso de un BGP identificador subsiguiente de familia de direcciones (SAFI) recién definido para permitir que el servidor de enrutamiento solicite a sus clientes que usen BFD para hacer un seguimiento de la’ Conectividad del plano de datos a sus direcciones de equipos del mismo nivel, y para que los clientes señalen ese estado de conectividad al servidor de enrutamiento.

En el desarrollo de este libro no existen implementaciones de este borrador que se encuentren disponibles de forma general. Una aplicación externa, como HealthBot, puede detectar y mitigar este problema como alternativa a las extensiones nativas de BGP propuestas en el borrador de IETF.

La solución HealthBot

La solución HealthBot funciona primero mediante la correlación de varios segmentos de datos para detectar la condición. HealthBot recopila y/o recibe los siguientes datos:

  • EBGP siguientes saltos desde el servidor de enrutamiento

  • EVPN rutas MAC desde un selector de ruta

  • MANTENIMIENTO seguros de plano de datos estadísticas entre los enrutadores de PE

Para corregir el evento, que no es directo, HealthBot realiza lo siguiente, tal y Figure 2como se muestra en:

  • Restringe la distribución de rutas únicamente entre clientes de servidores de rutas que se vean afectados por la modificación de las políticas de importación de instancias en consecuencia.

Figure 2: Flujo de trabajo HealthBot para validar el plano de control y el plano de datos
Flujo de trabajo HealthBot para validar el plano de control y el plano de datos

Ahora vamos’a analizar un ejemplo funcional; considere la topología de ejemplo en Figure 3.

Figure 3: Ejemplo de LAN IXP
Ejemplo de LAN IXP

En primer lugar HealthBot se suscribe al sensor de telemetría BGP y recopila los datos del servidor de enrutamiento (vRR) y el selector Route. En este ejemplo, el servidor de ruta actúa también como el selector Route. Además, HealthBot se suscribe al sensor de iAgent MPLS y recopila estadísticas de la ruta conmutada por etiqueta (LSP) de los enrutadores de PE R1, R6 y R7.

Búsqueda de nombres de instancias de enrutamiento para cada cliente de servidor de enrutamiento ejemplo de CLI:

Búsqueda de los enrutadores de cliente IXP direcciones IP (el BGP próximos saltos) ejemplo:

Figure 4: RSVP-TE LSP entre enrutadores de PE IXP
RSVP-TE LSP entre enrutadores de PE IXP

Figure 4 En referencia a para garantizar que el plano de datos está intacto entre enrutadores PE, HealthBot supervisa el estado de RSVP-te LSP entre todos los enrutadores de PE IXP:

Durante el funcionamiento normal, las rutas se intercambian entre los miembros de IXP de acuerdo con las políticas de salida basadas en la comunidad. Aquí podemos ver que C1 recibe rutas de C2 (198.51.100.0/24) y C3 (203.0.113.0/24), respectivamente:

Sin embargo, ¿qué sucede si uno de los LSP de RSVP-TE deja de funcionar, por alguna razón, lo que da como resultado un desglose de datos entre R1 y R6, pero el servidor de enrutamiento sigue recibiendo rutas de miembros IXP adjuntos a esos enrutadores de PE?

Figure 5: Inactivo LSP entre R1 y R6
Inactivo LSP entre R1 y R6

Inactivo LSP...

Pero...

HealthBot detectará la situación, mostrará una alarma de panel y modificará la configuración de la Directiva de servidor de enrutamiento para limitar la distribución de rutas entre los enrutadores de miembro IXP afectados.

Figure 6: Panel de HealthBot con alarma
Panel de HealthBot con alarma

Configuración modificada del servidor de rutas:

Comprobación en enrutador de miembro IXP C1. Como puede ver, las rutas ya no se reciben del miembro C2:

Una vez que se haya restaurado el plano de datos, HealthBot borrará la alarma y volverá a la configuración de la política.

Una solución de prefijo máximo aceptado dinámica y automatizada

Como se analizó anteriormente en la sección consideraciones de seguridad del capítulo Internet Exchange Point Overview , determinar, supervisar y mantener prefijos máximos por servidor de ruta puede’ser algo difícil para una implementación de servidor de enrutamiento IXP s. Se presentaron varias soluciones, incluidos varios factores de multiplicación para determinar el valor. HealthBot ofrece otra solución que implica la recopilación de telemetría de transmisión por secuencias en tiempo real del servidor de enrutamiento, el mantenimiento de los recuentos aceptados por el cliente de servidores de ruta y la modificación dinámica de la Directiva de servidor de enrutamiento cuando vales cambia. Este flujo de trabajo para dos clientes del servidor de enrutamiento se Figure 7muestra en la.

Figure 7: Servidor de enrutamiento con cálculo de prefijos dinámicos basado en controlador
Servidor de enrutamiento con cálculo de prefijos dinámicos basado en controlador

Echemos’un vistazo a un ejemplo real. En la salida de la CLI siguiente, puede ver el cliente de servidor de enrutamiento C1. El servidor de enrutamiento está recibiendo y aceptando 10 prefijos del cliente C1. También puede ver que el servidor de enrutamiento está configurado con una directiva para aceptar un máximo de 15 prefijos del cliente C1:

Observe también el panel HealthBot; el cliente C1 se selecciona Figure 8 a continuación y podemos ver que durante el último intervalo de estadísticas, no se han producido cambios en la Directiva de prefijo máximo determinada por HealthBot. Esto se indica con el ‘estado verde’ y el mensaje en la tabla de ese cliente. ¿Qué es un intervalo estadístico, puede que se le pregunte? En esta solución de HealthBot, aplicamos un intervalo muy simple y definido por el usuario en el que se recopilará el número de prefijos aceptados por cliente de servidor de ruta. Después de cada intervalo de estadísticas, HealthBot toma el valor actual de los prefijos aceptados, los multiplica por 1,5, el usuario puede configurar también y actualiza la Directiva de cliente de servidor de enrutamiento con el nuevo valor.

Figure 8: Healthbot valores máximos de prefijo por cliente
Healthbot valores máximos de prefijo por cliente

Ahora, dejar’que el cliente C1 anuncie algunas rutas más al servidor de enrutamiento y agregue dos rutas más estáticas a C1’s BGP Directiva de exportación:

Podemos ver que el servidor de enrutamiento recibe y acepta los prefijos adicionales en el resultado siguiente:

Pero ahora miremos el panel de HealthBot. El icono del cliente C1 se ha convertido en rojo. Esto se debe a que el número de prefijos aceptados supera el umbral del 90%, que también puede ser configurable por el usuario.

Figure 9: Healthbot Dahsboard Mostrar validación de prefijo máximo
Healthbot Dahsboard Mostrar validación de prefijo máximo

Al final del intervalo de recopilación de estadísticas, también se puede ver que el’icono de C1 s se ha convertido en amarillo, lo que significa que HealthBot está cambiando la Directiva de prefijo máximo del cliente C1 en el servidor de enrutamiento. Y el panel de HealthBot volverá a mostrar’el icono de C1 en verde ya que se encuentra dentro de la política y no supera los umbrales

Figure 10: El’icono de C1 es verde
El’icono de C1 es verde

Como puede ver, la configuración del servidor de ruta se ha actualizado con el nuevo valor (12 prefijo * 1,5) de 18:

Figure 11: Panel de HealthBot que muestra el número de prefijos aceptados
Panel de HealthBot que muestra el número de prefijos aceptados

Por último, cada cliente’de enrutadores de enrutamiento acepta prefijos y el valor de prefijo máximo correspondiente puede ser supervisado individualmente. En Figure 12, puede ver el número de prefijos aceptados para el cliente C1 junto con el valor Max-prefix Policy configurado durante el intervalo de estadísticas.

Figure 12: HealtBot Dashbaord muestra el historial de los valores de prefijo aceptado y calculado
HealtBot Dashbaord muestra el historial de los valores de prefijo aceptado y calculado

Resumen

Los autores esperan que la información proporcionada en este libro le ayude a comenzar a diseñar, probar e implementar servidores de enrutamiento basados en Junos OS. Las consideraciones acerca de la configuración y el diseño que se tratan en este libro son simplemente para empezar. En extremo, cada IXP es único y tendrá sus propias consideraciones para la implementación de políticas.