Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Mensajes de error de BGP

Descripción del control de errores para mensajes de actualización de BGP

Un mensaje BGP se considera mal formado cuando cualquiera de los atributos del mensaje está mal formado. Cuando un enrutador que participa en una sesión BGP recibe un mensaje de actualización con formato incorrecto, toda la sesión se restablece de forma predeterminada. Esto no es deseable porque los mensajes de actualización con rutas válidas también se ven afectados. Para evitar este comportamiento no deseado, es necesario modificar el control de errores para los mensajes de actualización de BGP.

Para configurar el control de errores para los mensajes de actualización de BGP, configure la bgp-error-tolerance instrucción en el nivel , o [edit protocols bgp group group-name neighbor address] jerárquico[edit protocols bgp][edit protocols bgp group group-name].

Si un atributo contiene indicadores de atributo que entran en conflicto con el valor del campo Tipo de atributo, los indicadores de atributo se restablecen al valor correcto y se procesa el mensaje de actualización. El valor del bit de longitud extendida en los indicadores de atributo no cambia porque este valor define si la longitud del atributo es uno o dos octetos. Por lo tanto, el valor del indicador de atributo afecta a cómo se analiza el paquete de actualización BGP.

Nota:

No hay ninguna especificación explícita para el valor de indicador de atributo para los atributos de ruta.

Los mensajes de actualización con formato incorrecto se tratan caso por caso, dependiendo de los valores de los atributos contenidos en los mensajes. Hay tres formas de controlar los mensajes de actualización de BGP con formato incorrecto, enumerados en orden decreciente de gravedad.

  1. Notification message approach: el error del mensaje con formato incorrecto se registra localmente, se envía un mensaje de actualización del código de error a la administración del par y se restablece toda la sesión del BGP.

    Este enfoque se elige cuando:

    • El mensaje de actualización de BGP contiene el atributo MP reach o el atributo MP unreach.

    • El campo NLRI o el mensaje de actualización de BGP no se pueden analizar correctamente debido a una discrepancia entre la longitud del atributo y el valor del campo de longitud del atributo.

  2. Treat-as-withdraw approach: todas las rutas del mensaje de actualización con formato incorrecto se tratan como rutas ocultas, a menos que la keep none instrucción esté configurada, en cuyo caso las rutas se descartan. En ausencia de la keep none instrucción, el número de rutas ocultas mal formadas se configura con un límite, que cuando se excede descarta las rutas y evita que se oculten otras rutas mal formadas. Junos OS elimina las rutas mal formadas recién recibidas cuando se alcanza el límite de rutas mal formadas.

  3. Attribute discard approach: se descartan los atributos con formato incorrecto en el mensaje de actualización; sin embargo, el mensaje se procesa. No se recomienda utilizar este enfoque si los atributos que se van a descartar pueden afectar a la selección o instalación de rutas.

    Nota:

    Si un atributo aparece más de una vez en un mensaje de actualización, se descartarán todas las apariciones del atributo que no sean la primera y se procesará el mensaje.

Los mensajes de actualización de BGP se analizan en busca de los siguientes atributos y se tratan como mal formados en función de los valores de estos atributos:

  • The origin attribute—Manejado por el enfoque de tratar como retirar.

  • The AS path attribute—Manejado por el enfoque de tratar como retirar.

  • The AS 4 path attribute: se maneja mediante el enfoque de descarte de atributos. Si algún atributo tiene indicadores de atributo que entran en conflicto con el código de tipo de atributo, Junos OS restablece los indicadores de atributo al valor correcto. El mensaje de actualización continúa procesándose.

    Junos OS no cambia el valor del bit de longitud extendida en los indicadores de atributos. Este bit define si la longitud del atributo es un octeto o dos octetos. El valor de este indicador afecta al modo en que se analiza el paquete BGP. No hay ninguna especificación explícita de este valor para los atributos de ruta.

  • The aggregator attribute: se maneja mediante el enfoque de descarte de atributos.

  • The aggregator 4 attribute: se maneja mediante el enfoque de descarte de atributos.

  • The next-hop attribute—Manejado por el enfoque de tratar como retirar.

  • The multiple exit discriminator attribute—Manejado por el enfoque de tratar como retirar.

  • The local preference attribute—Manejado por el enfoque de tratar como retirar.

  • The atomic aggregate attribute: se maneja mediante el enfoque de descarte de atributos.

  • The community attribute—Manejado por el enfoque de tratar como retirar.

  • The extended community attribute—Manejado por el enfoque de tratar como retirar.

  • The originator attribute—Manejado por el enfoque de tratar como retirar.

  • The cluster attribute—Manejado por el enfoque de tratar como retirar.

  • The PMSI attribute—Manejado por el enfoque de tratar como retirar.

  • The MP reach attribute: se maneja mediante el enfoque de mensaje de notificación.

  • The MP unreach attribute: se maneja mediante el enfoque de mensaje de notificación.

  • The attribute set attribute—Manejado por el enfoque de tratar como retirar.

  • The AIGP attribute—Manejado por el enfoque de tratar como retirar.

  • Unknown attribute: si el indicador BGP no indica que se trata de un atributo opcional, el enfoque de mensaje de notificación controla este atributo con formato incorrecto.

Nota:

Cuando un mensaje de actualización de BGP contiene varios atributos mal formados, se sigue el enfoque más grave desencadenado por uno de los atributos.

Ejemplo: Configuración del control de errores para mensajes de actualización de BGP

En este ejemplo se muestra cómo configurar el control de errores de BGP.

Requisitos

Antes de empezar:

  • Configure las interfaces del enrutador.

  • Configure un protocolo de puerta de enlace interior (IGP).

  • Configure BGP.

  • Configure las políticas de enrutamiento.

Descripción general

Cuando un dispositivo de enrutamiento recibe un mensaje de actualización con un atributo mal formado, se requiere que el enrutador restablezca la sesión. Esto se especifica en RFC 4271, Protocolo de puerta de enlace de borde 4 (BGP-4). Los restablecimientos de sesión impactan no solo a las rutas con el atributo ofensivo, sino también a otras rutas válidas intercambiadas durante la sesión. Además, este comportamiento puede presentar una vulnerabilidad de seguridad potencial en el caso de atributos transitivos opcionales. Para minimizar el impacto en el enrutamiento realizado por mensajes de actualización con formato incorrecto, el borrador de Internet draft-ietf-idr-error-handling-01.txt, Revisión de errores para mensajes BGP UPDATE especifica modificaciones para controlar el mensaje de actualización BGP con atributos mal formados. El nuevo manejo de errores permite mantener la sesión establecida y mantener las rutas válidas intercambiadas, al tiempo que elimina las rutas transportadas en el mensaje UPDATE mal formado.

Topología

En Figura 1, el dispositivo R1 tiene una sesión de emparejamiento BGP interna con el dispositivo R0 y una sesión de emparejamiento BGP externa con el dispositivo R2.

Figura 1: Topología de ejemplo de control de errores de BGPTopología de ejemplo de control de errores de BGP

Para protegerse contra mensajes de actualización con formato incorrecto que causen inestabilidad en la red, el dispositivo R1 tiene configurado el control de errores de BGP, como se muestra a continuación:

De forma predeterminada, un mensaje BGP se considera mal formado cuando cualquiera de los atributos del mensaje está mal formado. Cuando un enrutador que participa en una sesión BGP recibe un mensaje de actualización con formato incorrecto, se restablece toda la sesión. La bgp-error-tolerance instrucción reemplaza este comportamiento para que el siguiente control de errores BGP esté en efecto:

  • En el caso de errores graves, Junos OS envía un mensaje de notificación titulado Mensaje de actualización del código de error y restablece la sesión BGP. Un error en el atributo MP_{UN}REACH se considera fatal. La presencia de varios atributos MP_{UN}REACH en una actualización de BGP también se considera un error grave. Junos OS restablece la sesión BGP si no puede analizar correctamente el campo NLRI o la actualización del BGP. No se puede analizar el paquete de actualización BGP cuando la longitud del atributo no coincide con la longitud del valor del atributo.

  • Para algunos errores no graves, Junos OS trata todas las rutas contenidas en el mensaje de actualización de BGP con formato incorrecto como rutas retiradas y las instala como ocultas, a menos que la keep none instrucción se incluya en la configuración de BGP. Junos OS utiliza este enfoque de control de errores para los casos que implican cualquiera de los siguientes atributos: ORIGIN, AS_PATH, NEXT_HOP, MULTI_EXIT_DISC, LOCAL_PREF, ORIGINATORS, CLUSTER, ATTRSET, PMSI, comunidad y comunidad extendida. Además, si falta alguno de los atributos de ruta conocidos obligatorios, Junos OS trata la actualización del BGP como mal formada. Para limitar el uso de memoria de estas rutas ocultas mal formadas, Junos OS detiene la instalación de nuevas rutas ocultas mal formadas después de alcanzar el número máximo de dichas rutas ocultas mal formadas. En este ejemplo, el número máximo se establece en 5, utilizando la malformed-route-limit instrucción. El valor predeterminado es 1000. Opcionalmente, puede permitir un número ilimitado de rutas ocultas debido a atributos mal formados. Para ello, incluya la no-malformed-route-limit instrucción.

  • Para otros errores no graves, Junos OS descarta los atributos de ruta con formato incorrecto y continúa procesando el mensaje de actualización del BGP. No es seguro utilizar este enfoque en los atributos de ruta que pueden afectar a la selección o instalación de rutas. Junos OS utiliza este enfoque de control de errores para los casos que implican cualquiera de los siguientes atributos: ATOMIC_AGGREGATE, AGGREGATOR, AGGREGATOR4 y AS4PATH.

Para facilitar la solución de problemas de paquetes con formato incorrecto, Junos OS registra el error al enumerar el código de atributo de ruta con formato incorrecto, la marca, la longitud, la información sobre el par y la familia, y el primer prefijo de la actualización del BGP con formato incorrecto. El registro de los paquetes con formato incorrecto puede ralentizar el rendimiento de Junos OS si se recibe un número significativo de paquetes con formato incorrecto en poco tiempo. Para limitar el impacto en el rendimiento, Junos OS implementa un algoritmo para registrar una actualización con formato incorrecto, suprimir el registro durante un intervalo y registrar un resumen. Cuando expira el temporizador de supresión de registros, el software registra el número total de atributos con formato incorrecto recibidos durante el intervalo. En este ejemplo, el temporizador se establece en 10 segundos, utilizando la malformed-update-log-interval instrucción. El valor predeterminado es 300 segundos (5 minutos).

Configuración rápida de CLI muestra la configuración de todos los dispositivos en Figura 1.

En la sección #d202e116__d202e307 se describen los pasos del dispositivo R1.

Configuración

Configuración rápida de CLI

Para configurar rápidamente este ejemplo, 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 y, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit] jerarquía.

Dispositivo R0

Dispositivo R1

Dispositivo R2

Procedimiento

Procedimiento paso a paso

En el ejemplo siguiente, debe explorar por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI de Junos OS.

Para configurar el control de errores de BGP:

  1. Configure las interfaces del enrutador.

  2. Configure un protocolo de puerta de enlace interior (IGP), como OSPF o IS-IS.

  3. Configure el número de sistema autónomo (AS) y ID del enrutador.

  4. Configure la directiva de enrutamiento.

  5. Configure la sesión de EBGP.

  6. Configure las sesiones de IBGP.

  7. Habilite la tolerancia a errores de BGP.

  8. (Opcional) Configure el intervalo de registro.

  9. (Opcional) Configure un límite para el número de rutas ocultas que se van a almacenar.

Resultados

Desde el modo de configuración, escriba los comandos , , y , para show routing-optionsconfirmar la show interfacesconfiguración. show protocolsshow policy-options Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.

Si ha terminado de configurar los dispositivos, ingrese commit desde el modo de configuración.

Verificación

Confirme que la configuración funcione correctamente.

Comprobación de las sesiones de vecino de BGP

Propósito

Compruebe que la tolerancia a errores de BGP esté habilitada y muestre los contadores relacionados con los atributos de ruta de acceso con formato incorrecto.

Acción
Significado

El campo Atributos con formato incorrecto muestra que la tolerancia a errores está habilitada. Los campos Intervalo de registro y Límite de ruta muestran los valores configurados.

Los contadores de atributos muestran que en la conexión EBGP se recibieron varios atributos con formato incorrecto del dispositivo R2.

Comprobación de rutas ocultas

Propósito

Vea información sobre rutas ocultas y descubra por qué están ocultas.

Acción
Significado

Las rutas ocultas mal formadas se marcan con MalformedAttr en el campo de ruta del AS.

Puede eliminar las rutas ocultas ejecutando el clear bgp neighbor 10.10.10.2 malformed-route comando.

Verificación del origen de las rutas ocultas

Propósito

Vea información sobre rutas ocultas y descubra por qué están ocultas.

Acción
Significado

Junos OS muestra MalformedAttr en el campo de ruta del AS en la salida del show route receive-protocol bgp 10.10.10.2 detail hidden comando.

Puede eliminar las rutas ocultas ejecutando el clear bgp neighbor 10.10.10.2 malformed-route comando.