Routers : Routers Cisco de la serie 7500

Solución de problemas de uso intensivo de CPU debido al proceso IP Input

23 Marzo 2008 - Traducción manual
Otras Versiones: PDFpdf | Traducción Automática (31 Julio 2013) | Inglés (2 Agosto 2006) | Comentarios

Contenidos

Introducción
Requisitos previos
     Requisitos
     Componentes utilizados
     Convenciones
IP Input
Ejemplo de sesión de depuración de paquetes IP
Discusiones relacionadas de la comunidad de soporte de Cisco

Introducción

Este documento explica cómo solucionar problemas de alta utilización de la CPU debido al proceso IP Input (entrada IP).

Nota: Este documento no proporciona las estrategias para prevenir los diferentes tipos de ataques.

Requisitos previos

Requisitos

Cisco recomienda que consulte Resolución de problemas de alta utilización de la CPU en routers de Cisco antes de continuar con este documento.

Componentes utilizados

Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.

La información que se presenta en este documento se ha creado a partir de dispositivos en un entorno específico de laboratorio. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración despejada (predeterminada). Si está trabajando en una red en producción, asegúrese de haber comprendido el impacto que puede tener un comando antes de ejecutarlo.

Convenciones

Si desea obtener más información sobre las convenciones utilizadas en este documento, consulte las Convenciones sobre consejos técnicos de Cisco.

IP Input

El proceso del software Cisco IOS® denominado "IP Input" se ocupa de los paquetes IP conmutados por proceso. Si el proceso IP Input usa una cantidad inusualmente alta de recursos de la CPU, el router está conmutando por procesos una gran cantidad de tráfico IP. Compruebe lo siguiente:

  • La conmutación de interrupción está desactivada en una interfaz o varias interfaces que tienen bastante tráfico

    La conmutación de interrupción hace referencia al uso de algoritmos de conmutación en lugar de a la conmutación por procesos; por ejemplo, conmutación rápida, conmutación óptima, conmutación CEF, etc. (consulte Fundamentos del ajuste de desempeño para obtener información). Examine el resultado del comando show interfaces switching para ver la interfaz que está cargada de tráfico. Puede comprobar el comando show ip interface para ver los métodos de conmutación que se usan en cada interfaz. Vuelva a habilitar la interrupción de conmutación en esa interfaz. Recuerde que la conmutación rápida común se configura en las interfaces de salida: si se configura la conmutación rápida en una interfaz, los paquetes que salen de esa interfaz se conmutan rápidamente. Cisco Express Forwarding (CEF) está configurado en las interfaces de entrada. Para crear la Base de información de reenvío (FIB) y las entradas de la tabla de adyacencias en una interfaz concreta, configure la conmutación CEF en todas las interfaces que se enrutan a dicha interfaz.

  • La conmutación rápida en la misma interfaz está desactivada

    Si una interfaz tiene una gran cantidad de direcciones secundarias o subinterfaces y hay una gran cantidad de tráfico que se origina en la interfaz y cuyo destino es una dirección de la misma interfaz, todos los paquetes se conmutarán por proceso. En esta situación, debe habilitar ip route-cache same-interface en la interfaz. Cuando se usa la conmutación CEF, no necesita habilitar esta conmutación en la misma interfaz por separado.

  • La conmutación rápida de una interfaz que proporciona ruteo de políticas está desactivada

    Si se ha configurado una correspondencia de ruta (route-map) en una interfaz y la correspondencia gestiona una gran cantidad de tráfico, el router conmuta por procesos este tráfico. En esta situación, debe habilitar ip route-cache policy en la interfaz. Compruebe las restricciones que se mencionan en la sección sobre la habilitación del ruteo basado en políticas de conmutación rápida de Configuring Policy-Based Routing (Configuración del ruteo basado en políticas).

  • Se recibe tráfico que no se puede conmutar por interrupción

    Puede ser cualquiera de los tipos de tráfico que se enumeran: Haga clic en los elementos con enlace para obtener más información.

    • Paquetes que aún no tienen una entrada en la memoria caché de conmutación.

      Aunque se configure la conmutación rápida, óptima o CEF, se procesará un paquete para el que no existe coincidencia en la memoria caché de conmutación rápida o en las tablas de FIB o de adyacencias. A continuación, se crea una entrada en la memoria caché o tabla apropiada, y todos los paquetes subsiguientes que coincidan con los mismos criterios se procesarán mediante la conmutación rápida, óptima o CEF. En circunstancias normales, estos paquetes procesados no producen una elevada utilización de la CPU. Sin embargo, si hay un dispositivo en la red que 1) genera paquetes a una velocidad extremadamente rápida para los dispositivos alcanzables mediante el router y 2) usa direcciones IP de origen o de destino diferentes, no existe coincidencia para estos paquetes en la tabla o memoria caché de conmutación, por lo que se procesarán mediante el proceso IP Input (si la conmutación NetFlow está configurada, los puertos TCP de origen y destino se comparan también con las entradas de la memoria caché de NetFlow). Este dispositivo de origen puede ser un dispositivo no funcional o, más probablemente, un dispositivo que intenta un ataque.

      (*) Sólo con adyacencias de recolección. Consulte la documentación de Cisco Express Forwarding para obtener más información acerca de las adyacencias CEF.

    • Paquetes destinados para el router

      Los siguientes ejemplos son paquetes destinados al router:

      • Actualizaciones de ruteo que llegan a una velocidad extremadamente alta. Si el router recibe una gran cantidad de actualizaciones de ruteo que se deben procesar, esta tarea puede sobrecargar la CPU. Por lo general, esto no se produce en una red estable. La forma en que puede reunir más información depende del protocolo de ruteo que haya configurado. Sin embargo, puede comenzar comprobando el resultado del comando show ip route summary periódicamente. Los valores que cambian rápidamente son una indicación de una red inestable. Los cambios frecuentes en la tabla de ruteo indican un procesamiento de protocolos de ruteo, lo que implica un aumento de la utilización de la CPU. Para obtener información adicional acerca de cómo solucionar este problema, consulte la sección Resolución de problemas de TCP/IP de la Guía de resolución de problemas entre redes.

      • Cualquier tipo de tráfico destinado al router. Compruebe quién está conectado en el router y las acciones del usuario. Si alguien está conectado y ejecuta comandos que producen grandes cantidades de resultados, el proceso "IP Input" produce una alta utilización de la CPU, seguida de una aún mayor utilización de la CPU por parte del proceso Exec virtual.

      • Ataque Spoof. Para identificar el problema, ejecute el comando show ip traffic para comprobar la cantidad de tráfico IP. Si existe un problema, el número de paquetes recibido con un destino local es significativo. A continuación, examine el resultado de los comandos show interfaces y show interfaces switching para comprobar a qué interfaz llegan los paquetes. Una vez identificada la interfaz de recepción, active ip accounting en la interfaz de salida y compruebe si existe un patrón. Si se está produciendo un ataque, la dirección de origen es casi siempre diferente, pero la dirección de destino es la misma. Se puede configurar una lista de acceso para solucionar el problema temporalmente (preferentemente en el dispositivo más cercano al origen de los paquetes), pero la solución real es rastrear el dispositivo de origen y detener el ataque.

    • Tráfico de difusión (broadcast)

      Compruebe el número de paquetes de difusión en el resultado del comando show interfaces. Si se compara la cantidad de difusiones con la cantidad total de paquetes que se han recibido en la interfaz, podrá tener una idea de si existe una sobrecarga de difusiones. Si existe una LAN con varios switches conectados al router, puede ser indicativo de un problema con el árbol de expansión (Spanning Tree).

    • Paquetes IP con opciones

    • Paquetes que requieren la traducción del protocolo

    • Protocolo Multilink Point-to-Point (protocolo punto a punto de enlaces múltiples) (compatible con la conmutación CEF)

    • Tráfico comprimido

      Si no existe ningún Adaptador de servicio de compresión (CSA) en el router, los paquetes comprimidos deben conmutarse por proceso.

    • Tráfico cifrado

      Si no existe ningún Adaptador de servicio de cifrado (ESA) en el router, los paquetes cifrados deben conmutarse por proceso.

    • Paquetes que atraviesan interfaces seriales con encapsulación X.25

      En el conjunto de protocolos X.25, el control de flujo se implementa en la segunda capa OSI (Open System Interconnection, interconexión de sistemas abiertos).

  • Una gran cantidad de paquetes, que llegan a una velocidad extremadamente alta, para un destino en una subred de conexión directa, para el que no existe una entrada en la tabla de Protocolo de resolución de direcciones (ARP). Esto no sucede con el tráfico TCP debido al mecanismo de ventanas, pero puede suceder con el tráfico del Protocolo de datagrama de usuario (UDP). Para identificar el problema, repita las acciones sugeridas para hacer un seguimiento de un ataque de simulación (spoof).

  • Una gran cantidad de tráfico de multidifusión (multicast) pasa por el router. Desafortunadamente, no hay una forma fácil de examinar la cantidad de tráfico de multidifusión. El comando show ip traffic únicamente muestra información de resumen. Sin embargo, si ha configurado el ruteo de multidifusión en el router, puede habilitar la conmutación rápida de paquetes de multidifusión con el comando ip mroute-cache de configuración de interfaces (de manera predeterminada, la conmutación rápida de paquetes de multidifusión está desactivada).

  • El router tiene un exceso de suscriptores. Si hay un uso excesivo del router y éste no puede gestionar esta cantidad de tráfico, intente distribuir la carga entre otros routers o adquiera un router de mayor capacidad.

  • La Traducción de direcciones IP de red (NAT) está configurada en el router y una gran cantidad de paquetes del Sistema de nombres de dominio (DNS) pasan por el router. Los paquetes UDP o TCP con origen o destino en el puerto 53 (DNS) siempre se impulsan al nivel de proceso mediante NAT.

  • Existen otros tipos de paquete que se impulsan al procesamiento.

Independientemente de la razón por la cual se realiza una elevada utilización de la CPU en el proceso IP Input, el origen del problema se puede encontrar al depurar los paquetes IP. Puesto que la utilización de la CPU ya es elevada, el proceso de depuración debe realizarse con precaución extrema. El proceso de depuración genera una gran cantidad de mensajes, por lo que únicamente se debe configurar logging buffered.

El registro en una consola genera interrupciones innecesarias en la CPU y aumenta su utilización. El registro en un host (o registro de monitor) genera un tráfico adicional en las interfaces.

El proceso de depuración se puede iniciar con el comando EXEC debug ip packet detail. Esta sesión no debe durar más de tres a cinco segundos. Los mensajes de depuración se escriben en el búfer de registro. Una captura de un ejemplo de sesión de depuración se incluye en la sección Ejemplo de sesión de depuración de paquetes IP de este documento. Cuando se encuentre el dispositivo de origen de los paquetes IP no deseados, podrá desconectarlo de la red o crear una lista de acceso en el router para descartar los paquetes procedentes de dicho destino.

Ejemplo de sesión de depuración de paquetes IP

Los destinos de registro configurados deben comprobarse primero con el comando show logging:

router#show logging
Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns)
    Console logging: level debugging, 52 messages logged
    Monitor logging: level debugging, 0 messages logged
    Buffer logging: level debugging, 148 messages logged
    Trap logging: level informational, 64 message lines logged
        Logging to 192.168.100.100, 3 message lines logged
        Logging to 192.168.200.200, 3 message lines logged
 --More--

Inhabilite todos los destinos de registro, excepto el búfer de registro, y borre el búfer de registro:

router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
router(config)#no logging console
router(config)#no logging monitor
router(config)#no logging 192.168.100.100
router(config)#no logging 192.168.200.200
router(config)#^Z
router#clear logging
Clear logging buffer [confirm]
router#

Para comprender mejor el resultado de la depuración, debe habilitar las marcas de fecha, hora y milisegundos:

router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
router(config)#service timestamps log datetime msec 
router(config)#service timestamps debug datetime msec 
router(config)#end
router#

Ya se puede iniciar la sesión de depuración:

router#debug ip packet detail
IP packet debugging is on (detailed)

La depuración no debe durar más de tres a cinco segundos. La sesión se puede detener con el comando EXEC undebug all:

router#undebug all
All possible debugging has been turned off

Puede comprobar los resultados con el comando EXEC show logging:

router#show logging
Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns)
    Console logging: disabled
    Monitor logging: disabled
    Buffer logging: level debugging, 145 messages logged
    Trap logging: level informational, 61 message lines logged
Log Buffer (64000 bytes):

*Mar  3 03:43:27.320: IP: s=192.168.40.53 (Ethernet0/1), d=144.254.2.204
   (Ethernet0/0), g=10.200.40.1, len 100, forward
*Mar  3 03:43:27.324: ICMP type=8, code=0
*Mar  3 03:43:27.324: IP: s=192.168.40.53 (Ethernet0/1), d=144.254.2.205
   (Ethernet0/0), g=10.200.40.1, len 100, forward
*Mar  3 03:43:27.324: ICMP type=8, code=0
*Mar  3 03:43:27.328: IP: s=192.168.40.53 (Ethernet0/1), d=144.254.2.206
   (Ethernet0/0), g=10.200.40.1, len 100, forward
*Mar  3 03:43:27.328: ICMP type=8, code=0
...

El registro muestra que:

  • Se ha recibido un paquete cada cuatro milisegundos

  • La dirección IP de origen es 192.168.40.53

  • Los paquetes han ingresado en la interfaz Ethernet0/1

  • Los paquetes tienen direcciones IP de destino diferentes.

  • Los paquetes han sido enviados en la interfaz Ethernet0/0

  • La dirección IP del salto siguiente es 10.200.40.1

  • Los paquetes son peticiones ICMP (tipo=8)

    En este ejemplo, puede observarse que la alta utilización de la CPU en el proceso IP Input se ha producido por una saturación de ping desde la dirección IP 192.168.40.53.

    Las saturaciones SYN se pueden detectar fácilmente de esta manera debido a la presencia del indicador SYN en el resultado de la depuración:

    *Mar 3 03:54:40.436: IP: s=192.168.40.53 (Ethernet0/1), d=144.254.2.204
       (Ethernet0/0), g=10.200.40.1, len 44, forward
    *Mar 3 03:54:40.440: TCP src=11004, dst=53,
       seq=280872555, ack=0, win=4128 SYN

Discusiones relacionadas de la comunidad de soporte de Cisco

La Comunidad de Soporte de Cisco es un foro donde usted puede preguntar y responder, ofrecer sugerencias y colaborar con colegas.


Document ID: 41160