¿Qué ICMP (Protocolo de mensajes de control de Internet)?

2 de julio de 2024

El protocolo de mensajes de control de Internet (ICMP) es un protocolo de capa de red fundamental que se utiliza para informar y diagnosticar errores en redes IP. Es utilizado por dispositivos de red, como routers y hosts, para enviar mensajes de error e información operativa.

¿Qué es el protocolo de mensajes de control de Internet?

¿Qué es el Protocolo de mensajes de control de Internet (ICMP)?

El protocolo de mensajes de control de Internet (ICMP) es una parte integral del conjunto de protocolos de Internet (TCP/IP), que opera en la capa de red para facilitar la notificación de errores y el diagnóstico de red. Lo utilizan principalmente dispositivos de red, como enrutadores y anfitriones, para comunicar problemas encontrados al procesar paquetes IP. A diferencia de otros protocolos que se centran en la transferencia de datos, la función principal de ICMP es transmitir mensajes de control y error, asegurando el funcionamiento eficiente y confiable de la red.

Los mensajes ICMP se encapsulan dentro de paquetes IP y se generan en respuesta a diversas condiciones de la red, como hosts inalcanzables, congestión de la red y problemas de enrutamiento. Cuando un paquete no puede llegar a su destino, ICMP envía un mensaje al origen indicando la naturaleza del error. Este mecanismo de retroalimentación ayuda a identificar y resolver problemas de red.

¿Cómo funciona ICMP?

El protocolo de mensajes de control de Internet (ICMP) opera en la capa de red para facilitar la notificación de errores y el diagnóstico de la red. Cuando un paquete encuentra un problema mientras atraviesa la red, ICMP genera y envía un mensaje de error al origen del paquete. Esta retroalimentación ayuda al remitente a comprender qué salió mal y tomar medidas correctivas.

Los mensajes ICMP se encapsulan dentro de paquetes IP. Cuando un dispositivo genera un mensaje ICMP, incluye información sobre la naturaleza del error o la solicitud. Luego, estos paquetes IP se enrutan a través de la red como cualquier otro paquete.

Casos de uso de ICMP

ICMP, o Protocolo de mensajes de control de Internet, cumple varias funciones cruciales en las redes IP, centrándose principalmente en el informe de errores y el diagnóstico de la red. A continuación se presentan casos de uso clave que resaltan las aplicaciones prácticas de ICMP en el mantenimiento y gestión de operaciones de red:

  • Pruebas de conectividad de red. Los administradores de red utilizan frecuentemente ICMP para probar la conectividad entre dispositivos. Herramientas como "de ping" envía mensajes ICMP a un dispositivo de destino para verificar si es accesible y medir el tiempo de ida y vuelta. Esto ayuda a diagnosticar rápidamente problemas de red y confirmar el estado operativo de los dispositivos.
  • Descubrimiento de rutas y resolución de problemas. ICMP es esencial para herramientas como "traceroute", que mapea la ruta que toman los paquetes a través de la red para llegar a un destino. Al identificar cada salto a lo largo de la ruta, los administradores pueden identificar dónde ocurren retrasos o fallas, lo que facilita la resolución eficiente de problemas de enrutamiento y cuellos de botella de la red.
  • Monitoreo del desempeño de la red. ICMP se utiliza para monitorear el rendimiento de la red, incluida la latencia y la pérdida de paquetes. El envío regular de mensajes ICMP a nodos críticos de la red ayuda a evaluar el estado de la red, identificar la degradación del rendimiento y garantizar que acuerdos de nivel de servicio (SLA) se cumplan.
  • Mapeo de topología de red. En redes grandes y complejas, ICMP ayuda a mapear la topología de la red. Al enviar mensajes ICMP a una variedad de Direcciones IP, las herramientas de descubrimiento de redes pueden identificar dispositivos activos, sus direcciones IP y sus relaciones, proporcionando una visión integral de la estructura de la red.
  • Gestión de la congestión. Aunque es menos común hoy en día, ICMP todavía puede desempeñar un papel en la gestión de la congestión. Los enrutadores pueden usar mensajes ICMP para notificar a los dispositivos emisores que reduzcan sus velocidades de transmisión durante períodos de alto tráfico, lo que ayuda a aliviar la congestión y mantener el rendimiento de la red.
  • Seguridad y respuesta a incidentes. ICMP es útil en escenarios de seguridad y respuesta a incidentes. Los administradores pueden usar ICMP para detectar redes inaccesibles o dispositivos mal configurados, lo que podría indicar violaciones de seguridad o fallas de red. Además, monitorear el tráfico ICMP puede ayudar a identificar actividades maliciosas, como escaneo de red y ataques DDoS, lo que permite intervenciones oportunas.
  • Configuración automática de red. ICMP se utiliza en protocolos de configuración automática de redes, como el protocolo de descubrimiento de enrutadores (RDP). Los enrutadores envían mensajes ICMP para informar a los hosts sobre su presencia, lo que ayuda a los hosts a configurar sus ajustes de red automáticamente y descubrir rutas de enrutamiento óptimas.

Formato de paquete ICMP

El formato de paquete del Protocolo de mensajes de control de Internet (ICMP) está estructurado para proporcionar capacidades esenciales de control y mensajería de errores dentro de las redes IP. Un paquete ICMP está encapsulado dentro de un paquete IP y consta de varios campos, cada uno de los cuales tiene un propósito específico. Aquí hay una explicación detallada del formato de paquete ICMP.

  1. Tipo (1 byte). El campo "Tipo" identifica el mensaje ICMP específico. Los diferentes tipos indican diferentes tipos de mensajes, como Solicitud de eco, Respuesta de eco, Destino inalcanzable y Tiempo excedido.
  2. Código (1 byte). El campo "Código" proporciona mayor granularidad al campo "Tipo", ofreciendo contexto adicional para el mensaje ICMP. Por ejemplo, dentro del tipo Destino inalcanzable, diferentes códigos especifican si la red, el host, el protocolo o el puerto de destino son inalcanzables.
  3. Suma de comprobación (2 bytes). La "suma de comprobación"El campo garantiza la integridad del mensaje ICMP. Es un código simple de detección de errores calculado sobre todo el mensaje ICMP (encabezado y datos). Si la suma de verificación no coincide con el valor calculado al recibirlo, el paquete se considera corrupto y se descarta.
  4. Resto del encabezado (4 bytes). El campo "Resto del encabezado" varía según el tipo y código del mensaje ICMP. Puede contener información adicional relevante para el mensaje ICMP específico.
  5. Datos (longitud variable). El campo "Datos" contiene la carga útil del mensaje ICMP. Su contenido y longitud dependen del tipo y código del mensaje ICMP.

A continuación se muestra un ejemplo de un paquete de solicitud de eco ICMP:

  • Tipo: 8 (que indica solicitud de eco)
  • Código: 0 (específico de Solicitud de eco)
  • Checksums: Calculado sobre todo el mensaje ICMP
  • Resto del encabezado: Contiene un identificador y un número de secuencia
  • Data: Contiene la carga útil que se repetirá en la respuesta de eco.

Para un paquete ICMP de destino inalcanzable, el ejemplo es:

  • Tipo: 3 (que indica destino inalcanzable)
  • Código: Varía (p. ej., 0 para red inalcanzable, 1 para host inalcanzable)
  • Checksums: Calculado sobre todo el mensaje ICMP
  • Resto del encabezado: Contiene una parte del encabezado del paquete original y los primeros 8 bytes de sus datos.
  • Data: Incluye contexto adicional sobre el error.

Tipos de mensajes ICMP

Cada tipo de mensaje ICMP cumple una función específica, lo que permite generar informes de errores, diagnósticos y administración de red eficientes. Comprender estos tipos es crucial para mantener redes IP sólidas y confiables:

  • Solicitud de eco (Tipo 8) y Respuesta de eco (Tipo 0). El comando "ping" utiliza los mensajes de solicitud de eco y respuesta de eco para probar la accesibilidad de un host en una red. Se envía una solicitud de eco al host de destino, que responde con una respuesta de eco. Esto ayuda a medir el tiempo de ida y vuelta y comprobar si hay pérdida de paquetes.
  • Destino inalcanzable (Tipo 3). Los mensajes de Destino inalcanzable indican que un paquete no pudo llegar a su destino previsto. Este tipo tiene varios códigos que especifican el motivo, como red inalcanzable, host inalcanzable, protocolo inalcanzable y puerto inalcanzable.
  • Extinción de fuente (Tipo 4). Los mensajes Source Quench se utilizan para indicar congestión en la red. Cuando un enrutador o host está abrumado, envía este mensaje al remitente, solicitando una reducción en la velocidad de transmisión para aliviar la congestión.
  • Redirección (Tipo 5). Los mensajes de redireccionamiento informan al anfitrión que hay una mejor ruta disponible para un destino en particular. Esto ayuda a optimizar las decisiones de enrutamiento al guiar al host a utilizar una ruta más eficiente.
  • Tiempo excedido (Tipo 11). Los mensajes de tiempo excedido se envían cuando un paquete Tiempo de vida (TTL) el valor llega a cero. Esto evita que los paquetes circulen indefinidamente en la red e indica que el paquete ha sido descartado.
  • Problema de parámetros (Tipo 12). Los mensajes de problema de parámetro indican un error en el encabezado del paquete recibido, como un campo faltante o incorrecto. Este mensaje ayuda a identificar y corregir problemas de encabezado.
  • Solicitud de marca de tiempo (Tipo 13) y Respuesta de marca de tiempo (Tipo 14). Los mensajes de solicitud de marca de tiempo y respuesta de marca de tiempo se utilizan para medir el tiempo de ida y vuelta y sincronizar relojes entre dispositivos. El remitente envía una solicitud de marca de tiempo y el destinatario responde con una respuesta de marca de tiempo.
  • Solicitud de máscara de dirección (tipo 17) y respuesta de máscara de dirección (tipo 18). Los mensajes de solicitud de máscara de dirección y respuesta de máscara de dirección se utilizan para determinar la máscara de subred de una red. Un dispositivo envía una solicitud de máscara de dirección y el dispositivo de red responde con una respuesta de máscara de dirección, proporcionando la información de la máscara de subred.
  • Anuncio de enrutador (Tipo 9) y Solicitud de enrutador (Tipo 10). Los mensajes de anuncio de enrutador y solicitud de enrutador se utilizan en el proceso de descubrimiento de enrutadores. Los enrutadores envían periódicamente anuncios de enrutador y los hosts pueden enviar solicitudes de enrutador para solicitar a los enrutadores que anuncien su presencia e información.
  • Solicitud de Información (Tipo 15) y Respuesta de Información (Tipo 16). Los mensajes de solicitud de información y respuesta de información se utilizan para obtener información sobre la red. Un dispositivo envía una solicitud de información y el dispositivo que responde responde con una respuesta de información, proporcionando la información de red necesaria.

Ataques ICMP y DDoS

ICMP (Protocolo de mensajes de control de Internet) a menudo se explota en Ataques distribuidos de denegación de servicio (DDoS), particularmente a través de métodos como ataques de inundación ICMP. En tales ataques, se envía una abrumadora cantidad de mensajes ICMP Echo Request (ping) a un sistema objetivo, lo que hace que responda con mensajes Echo Reply. Esta avalancha de tráfico satura la red del objetivo. ancho de banda y agota sus recursos de procesamiento, haciendo que el sistema o la red no estén disponibles para usuarios legítimos. Los atacantes suelen utilizar una gran cantidad de dispositivos comprometidos, conocidos como botnets, para amplificar el ataque, dificultando su mitigación y causando una interrupción significativa en las operaciones del objetivo.


Anastasia
Spasojevic
Anastazija es una escritora de contenido experimentada con conocimiento y pasión por cloud informática, tecnología de la información y seguridad en línea. En phoenixNAP, se centra en responder preguntas candentes sobre cómo garantizar la solidez y seguridad de los datos para todos los participantes en el panorama digital.