El Protocolo de mensajes de control de Internet (ICMP) es un protocolo de tercera capa (capa de red) en el modelo OSI de siete capas. El protocolo diagnostica problemas de conectividad de red o transmisión de datos entre dispositivos. Ayuda enviando, recibiendo y procesando mensajes ICMP para informar problemas de conectividad al dispositivo de red de origen.
Por lo tanto, el propósito principal del protocolo ICMP es informar errores en la capa de red. Sin embargo, los actores maliciosos pueden manipular su funcionalidad para lanzar ataques como Distributed Denial of Service (DDoS) y Ping of Death. Aquí aprenderá sobre el protocolo ICMP, su caso de uso y los parámetros que son importantes para comprender los mensajes ICMP.
¿Cómo funciona ICMP?
Los enrutadores utilizan el protocolo ICMP para realizar la gestión de la red y el diagnóstico de problemas. Genera y envía mensajes de error al dispositivo emisor cuando la red deshabilita la entrega de paquetes al dispositivo de destino. Estos mensajes de error incluyen tiempo excedido, problema de parámetros, destino inalcanzable, congestión de la red, etc.
Por ejemplo, cuando un remitente envía datos desde un dispositivo al dispositivo de destino en forma de datagrama IP, viaja a través de múltiples enrutadores o dispositivos intermediarios. En ocasiones, puede haber un error al reenviar ese datagrama IPV4. Por lo tanto, los mensajes ICMP se dividen en dos grandes categorías: mensajes de error y mensajes de consulta.
Mensajes de informe de errores
Estos son los mensajes que el enrutador o host intermediario puede enfrentar en el procesamiento de datagramas:
- Tiempo excedido: El paquete ICMP tiene un parámetro de tiempo de vida que cuando llega a 0, el enrutador o host descarta el datagrama y envía un mensaje de error de tiempo excedido. El mensaje también se envía cuando el destino no recibe todos los fragmentos de datos.
- Destino inalcanzable: El dispositivo que inicia la conexión recibe un mensaje de error de destino inalcanzable cuando el enrutador o el host intermediario no lo entregan. En consecuencia, los dispositivos descartan el datagrama.
- Fuente para enfriar: Cuando los dispositivos no pueden entregar el datagrama debido a la congestión de la red, envían un "mensaje de apagado de fuente" ICMP al remitente del mensaje. El mensaje de informe de errores agrega control de flujo en la capa de red al informar al dispositivo de origen sobre la congestión en la ruta y ralentizar el proceso de envío de datos.
- Redirección: Un enrutador en una ruta no óptima redirige el paquete a un enrutador con una ruta óptima entre el origen y el destino. Como tal, actualiza la fuente sobre el cambio en su ruta.
- Problema de parámetros: El dispositivo de origen recibe este mensaje cuando falta algún valor en el encabezado del datagrama. Por ejemplo, la diferencia en la suma de comprobación calculada en el destino desde el origen genera este mensaje de error ICMP.
Mensajes de consulta
Los mensajes de consulta ocurren en pares y brindan información específica desde los dispositivos intermedios hasta el dispositivo de origen.
- Mensaje de solicitud de eco y respuesta de eco: Estos mensajes ayudan a resolver problemas de diagnóstico de red.
- Solicitud y respuesta de marca de tiempo: Estas solicitudes de marca de tiempo y mensajes de respuesta ayudan a determinar el tiempo de ida y vuelta entre los dispositivos.
Comprensión de los parámetros ICMP
Los datos de los mensajes ICMP se encapsulan bajo el encabezado IP, lo que significa que el encabezado del datagrama ICMP viene después de la información de IPv4/v6. La primera parte del encabezado del paquete ICMP contiene los parámetros que ayudan a los dispositivos de red a determinar el mensaje de error o consulta.
Entre los primeros 32 bits, los primeros 8 bits determinan el tipo de mensaje, los siguientes 8 bits determinan el código del mensaje y los bits restantes contienen información relacionada con la integridad de los datos. Por lo tanto, los tres campos de información son: tipos de ICMP, código de ICMP y suma de comprobación.
Tipos de ICMP
El tipo determina el propósito del paquete ICMP. Como explica brevemente por qué el dispositivo fuente está recibiendo ese mensaje. Hay 0-255 tipos de mensajes ICMP, de modo que cada tipo proporciona información diferente. Algunos tipos importantes de ICMP son:
0: Solicitud de eco
3: Destino inalcanzable
4: extinción de la fuente
5: Redirigir
8: Respuesta de eco
11: Tiempo excedido
12: Problema de parámetros
30: trazar ruta
Código ICMP
El código ICMP proporciona información adicional sobre los mensajes. Por ejemplo, ICMP tipo 3 con código 0-15 especifica por qué el destino es inalcanzable; es decir, si el código es 0, entonces es porque la red no está disponible. De manera similar, para el código 1 de tipo 3, el mensaje especifica que no se puede acceder al host.
Además, el código 0 de tipo 8 y el código 0 de tipo 0 representan mensajes de solicitud de eco y de respuesta de eco. Por lo tanto, cada tipo de mensaje con el mismo valor de código brinda información de red diferente.
Suma de verificación
La suma de comprobación es un mecanismo de detección de errores que determina la integridad de los datos. El valor de la suma de comprobación representa los bits en el mensaje de transmisión. El remitente calcula e incluye la suma de verificación de datos, y el receptor vuelve a calcular el valor y lo compara con el original para determinar cualquier cambio en el mensaje original durante transmisión.
La segunda parte del encabezado apunta al valor del byte que es la causa del problema en el mensaje original. Por último, la parte final del paquete ICMP es el datagrama real.
Caso de uso de ICMP
Aquí hay algunos ejemplos de trabajo del protocolo ICMP en varios gestión de red y utilidades administrativas.
Silbido
Ping es una utilidad de línea de comandos que se basa en mensajes de solicitud y respuesta de eco ICMP para probar la disponibilidad de la red y la latencia entre dispositivos. La utilidad simplemente determina la disponibilidad del servidor de destino estimando el total de paquetes enviados o recibidos y el porcentaje de pérdida de paquetes. También ayuda a determinar el tamaño total de la unidad máxima de transmisión (MTU).
Usar silbido para determinar la disponibilidad de google.com:
trazarruta
Traceroute es otra utilidad de línea de comandos que utiliza mensajes de solicitud y respuesta de eco con una variable TTL para mapear la ruta entre los dispositivos de origen y destino. También es útil para determinar los retrasos de respuesta y asegura la precisión consultando cada salto varias veces.
¿Cómo funciona ICMP sin un puerto?
De la explicación anterior, ICMP es un protocolo sin conexión que envía datos de forma independiente como un datagrama, y su encabezado aparece después de los detalles de IPv4. Sin embargo, también puede notar la ausencia de un número de puerto, lo que plantea la pregunta de cómo los dispositivos reciben los datos ICMP o se dan cuenta de alguna conexión.
La respuesta es bastante simple. El protocolo ICMP fue diseñado para funcionar en la capa de red del modelo OSI y comunicarse entre enrutadores y hosts para compartir información. Los números de puerto son parte de la capa de transporte e ICMP no es un protocolo TCP ni UDP. Por último, la combinación de tipo y código ICMP ayuda a los dispositivos a determinar el mensaje y obtener toda la información sobre la red.
Control de errores y flujo con ICMP
Los detalles anteriores sobre el protocolo ICMP muestran cómo garantiza el control de flujo y el control de errores de los datos en la capa tres de un modelo OSI. Los mensajes y parámetros del protocolo en la primera parte del encabezado del paquete ICMP cubren todos los aspectos de la administración de la red y los problemas de diagnóstico.
Es importante saber que la configuración incorrecta del firewall puede permitir a los atacantes hacer un barrido de ping a través de la red de la organización y hacerla propensa a ataques DDOS, ping of death y ICMP flood. Puedes usar Wireshark para capturar paquetes de internet y realice un análisis detallado de los paquetes ICMP para una mejor comprensión.
5 formas de corregir el error "Faltan uno o más protocolos de red" en Windows 10
Leer siguiente
Temas relacionados
- Tecnología explicada
- Red de computadoras
Sobre el Autor
Rumaisa es escritora independiente en MUO. Ha desempeñado muchas funciones, desde matemática hasta entusiasta de la seguridad de la información, y ahora trabaja como analista de SOC. Sus intereses incluyen leer y escribir sobre nuevas tecnologías, distribuciones de Linux y todo lo relacionado con la seguridad de la información.
Suscríbete a nuestro boletín
¡Únase a nuestro boletín para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!
Haga clic aquí para suscribirse