Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Mensajes de error del BGP

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

Se considera que un mensaje BGP está malformado cuando cualquiera de los atributos del mensaje está malformado. Cuando un enrutador que participa en una sesión de BGP recibe un mensaje de actualización malformado, toda la sesión se restablece de forma predeterminada. Esto no es deseable, ya que 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 de los mensajes de actualización del BGP.

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

Si un atributo contiene indicadores de atributos que entran en conflicto con el valor del campo Tipo de atributo, las marcas de atributo se restablecen al valor correcto y el mensaje de actualización se procesa. El valor del bit Extended Length de los indicadores de atributos no cambia, ya que este valor define si la longitud del atributo es de uno o dos octetos. Por lo tanto, el valor de la marca de atributos afecta al modo en que se analiza el paquete de actualización del BGP.

Nota:

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

Los mensajes de actualización malformada se tratan caso por caso, dependiendo de los valores de los atributos incluidos en los mensajes. Hay tres maneras de manejar mensajes de actualización de BGP malformados, enumerados en el orden de disminución de la gravedad.

  1. Notification message approach— El error del mensaje malformado se registra localmente, se envía un mensaje de actualización de 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 del BGP contiene el atributo de alcance MP o el atributo de unreach MP.

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

  2. Treat-as-withdraw approach— Todas las rutas del mensaje de actualización malformada 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 malformadas se configuran con un límite que, cuando se supera, descarta las rutas e impide que se oculte cualquier otra ruta malformada. Junos OS elimina las rutas malformadas recién recibidas cuando se alcanza el límite de ruta malformada.

  3. Attribute discard approach— Los atributos malformados del mensaje de actualización se descartan; sin embargo, el mensaje se procesa. No se recomienda usar este enfoque si los atributos que se descartarán pueden afectar a la selección o la instalación de la ruta.

    Nota:

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

Los mensajes de actualización del BGP se analizan en busca de los siguientes atributos y se tratan como malformados según los valores de estos atributos:

  • The origin attribute—Gestionado por el enfoque de tratamiento como retirada.

  • The AS path attribute—Gestionado por el enfoque de tratamiento como retirada.

  • The AS 4 path attribute— Se controla mediante el enfoque de descarte de atributos. Si algún atributo tiene indicadores de atributos 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 se sigue procesando.

    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 de un octeto o de dos octetos. El valor de esta marca 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 controla mediante el enfoque de descarte de atributos.

  • The aggregator 4 attribute— Se controla mediante el enfoque de descarte de atributos.

  • The next-hop attribute—Gestionado por el enfoque de tratamiento como retirada.

  • The multiple exit discriminator attribute—Gestionado por el enfoque de tratamiento como retirada.

  • The local preference attribute—Gestionado por el enfoque de tratamiento como retirada.

  • The atomic aggregate attribute— Se controla mediante el enfoque de descarte de atributos.

  • The community attribute—Gestionado por el enfoque de tratamiento como retirada.

  • The extended community attribute—Gestionado por el enfoque de tratamiento como retirada.

  • The originator attribute—Gestionado por el enfoque de tratamiento como retirada.

  • The cluster attribute—Gestionado por el enfoque de tratamiento como retirada.

  • The PMSI attribute—Gestionado por el enfoque de tratamiento como retirada.

  • The MP reach attribute— Se maneja mediante el enfoque del mensaje de notificación.

  • The MP unreach attribute— Se maneja mediante el enfoque del mensaje de notificación.

  • The attribute set attribute—Gestionado por el enfoque de tratamiento como retirada.

  • The AIGP attribute—Gestionado por el enfoque de tratamiento como retirada.

  • Unknown attribute— Si el indicador BGP no indica que se trata de un atributo opcional, este atributo malformado se controla mediante el enfoque del mensaje de notificación.

Nota:

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

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

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

Requisitos

Antes de empezar:

  • Configure interfaces de 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 malformado, el enrutador es necesario para restablecer la sesión. Esto se especifica en rfc 4271, protocolo de puerta de enlace de borde 4 (BGP-4). Los restablecimientos de sesión no solo afectan a las rutas con el atributo infractor, sino también a otras rutas válidas intercambiadas a través de la sesión. Además, este comportamiento puede presentar una potencial vulnerabilidad de seguridad en el caso de atributos transitivos opcionales. Para minimizar el impacto en el enrutamiento que hacen los mensajes de actualización mal formados, el borrador de Internet draft-ietf-idr-error-handling-01.txt, Revised Error Handling for BGP UPDATE Messages especifica las modificaciones para el manejo del mensaje de actualización del BGP con atributos mal formados. El nuevo manejo de errores permite mantener la sesión establecida y mantener las rutas válidas intercambiadas, a la vez que elimina las rutas llevadas en el mensaje UPDATE malformado.

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 de BGP externa con el dispositivo R2.

Figura 1: Topología de ejemplo de manejo de errores del BGPTopología de ejemplo de manejo de errores del BGP

Para protegerse contra los mensajes de actualización malformados que causan la inestabilidad de la red, el dispositivo R1 tiene configurado el manejo de errores del BGP, como se muestra aquí:

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

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

  • Para algunos errores no casuales, Junos OS trata todas las rutas contenidas en el mensaje de actualización del BGP malformado como rutas retiradas y las instala como ocultas, a menos que la keep none instrucción esté incluida en la configuración del BGP. Junos OS utiliza este enfoque de manejo de errores para los casos que involucran cualquiera de los siguientes atributos: ORIGIN, AS_PATH, NEXT_HOP, MULTI_EXIT_DISC, LOCAL_PREF, ORIGINOR, CLUSTER, ATTRSET, PMSI, Community y Extended Community. Además, si falta alguno de los atributos de ruta conocidos obligatorios, Junos OS trata la actualización del BGP como malformada. Para limitar el uso de memoria de estas rutas ocultas malformadas, Junos OS deja de instalar nuevas rutas ocultas malformadas después de alcanzar el número máximo de estas rutas ocultas malformadas. En este ejemplo, el número máximo se establece en 5 mediante la malformed-route-limit instrucción. El valor predeterminado es 1000. Opcionalmente, puede permitir un número ilimitado de rutas ocultas debido a atributos malformados. Para ello, incluya la no-malformed-route-limit instrucción.

  • En el caso de otros errores no fetales, Junos OS descarta los atributos de ruta malformadas y continúa procesando el mensaje de actualización del BGP. No es seguro usar este enfoque en los atributos de ruta que pueden afectar a la selección o instalación de la ruta. Junos OS utiliza este enfoque de manejo de errores para los casos que involucran cualquiera de los siguientes atributos: ATOMIC_AGGREGATE, AGGREGATOR, AGGREGATOR4 y AS4PATH.

Para facilitar la resolución de problemas de paquetes malformados, Junos OS registra el error que enumera el código de atributo de ruta malformada, la marca, la longitud, la información del par y la familia, y el primer prefijo de la actualización del BGP malformado. El registro de los paquetes malformados puede ralentizar el rendimiento de Junos OS si se recibe un número significativo de paquetes malformados en poco tiempo. Para limitar el impacto en el rendimiento, Junos OS implementa un algoritmo para registrar una actualización malformada, suprimir el registro durante un intervalo y registrar un resumen. Cuando caduca el temporizador de supresión de registro, el software registra el número total de atributos malformados recibidos durante el intervalo. En este ejemplo, el temporizador se establece en 10 segundos mediante 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.

La sección #d100e116__d100e307 describe los pasos en el 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, luego, copie y pegue los comandos en la CLI en el [edit] nivel de jerarquía.

Dispositivo R0

Dispositivo R1

Dispositivo R2

Procedimiento

Procedimiento paso a paso

El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de la CLI de Junos OS.

Para configurar el manejo de errores del 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 el ID del enrutador.

  4. Configure la política de enrutamiento.

  5. Configure la sesión del EBGP.

  6. Configure las sesiones del IBGP.

  7. Habilite la tolerancia a errores del BGP.

  8. (Opcional) Configure el intervalo de registro.

  9. (Opcional) Configure un límite para la cantidad de rutas ocultas que se almacenarán.

Resultados

Desde el modo de configuración, ingrese los comandos , show protocols, show policy-optionsy show routing-options, para confirmar la show interfacesconfiguración. 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 funciona correctamente.

Comprobar las sesiones de vecino de BGP

Propósito

Compruebe que la tolerancia de error del BGP está habilitada y muestre los contadores relacionados con atributos de ruta malformados.

Acción
Significado

El campo Atributos malformados muestra que la tolerancia a errores está habilitada. El intervalo de registro y los campos de límite de ruta muestran los valores configurados.

Los contadores de atributos muestran que en la conexión ebGP, se recibieron varios atributos malformados 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 malformadas se marcan con MalformedAttr en el campo de ruta del AS.

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

Verificar el 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 quitar las rutas ocultas ejecutando el clear bgp neighbor 10.10.10.2 malformed-route comando.