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

El Protocolo de mensajes de control de Internet (ICMP) es una utilidad que se utiliza para informar y diagnosticar errores en redes informáticas. ICMP es parte de Internet Protocol (IP) Suite y consta de mensajes predefinidos con diferentes propósitos. La mayoría de los aspectos del Protocolo de mensajes de control de Internet pasan desapercibidos para los usuarios finales, pero algunas herramientas de red, como traceroute y ping, dependen de los mensajes ICMP para su funcionalidad.

En el corazón de Internet y de las redes informáticas más pequeñas se encuentra una colección de protocolos conocida como IP Suite. Estos protocolos especifican los formatos de los mensajes intercambiados entre dispositivos de red y establecen reglas sobre cómo se envían y reciben esos mensajes. Los protocolos también están en capas, y cada capa depende de la que está debajo. El ICMP es parte de la segunda capa más alta, la capa de Internet. Esta capa incluye el conocido Protocolo de Internet responsable de la transmisión de grupos de datos individuales, llamados paquetes, a través de una o más redes.

ICMP se utiliza para enviar mensajes de error o información de diagnóstico entre dispositivos o hosts mediante el Protocolo de Internet. Los mensajes ICMP están predefinidos y pueden denominarse por nombre o número de tipo. La mayoría de estos mensajes son para diferentes tipos de informes de errores. Por ejemplo, cuando no se puede acceder a un host en particular, a menudo se genera un mensaje ICMP que indica el problema específico que impide la entrega de datos. Se envían otros tipos de mensajes si los paquetes se corrompen o si un enrutador o host en una red está congestionado.

El tamaño máximo de un paquete no está predefinido, sino que lo dicta la Unidad de transmisión máxima (MTU) de un enlace de red en particular. Los diferentes enlaces pueden tener diferentes MTU, pero un paquete debe ser más pequeño que la MTU más pequeña a lo largo de una ruta determinada para completar su viaje. Una técnica conocida como Path MTU Discovery (PMTUD) utiliza mensajes ICMP para notificar al remitente cuando los paquetes son demasiado grandes para un segmento de ruta en particular.

Un protocolo relacionado conocido como ICMP Router Discovery Protocol (IRDP) puede facilitar la configuración de red automática para los hosts que lo admiten. IRDP utiliza dos tipos de mensajes del Protocolo de mensajes de control de Internet para anunciar y descubrir enrutadores cercanos, es decir, hosts que conectan dos o más redes. Un enrutador compatible con IRDP transmitirá periódicamente un mensaje de anuncio de enrutador ICMP anunciando su presencia a los hosts. Los anfitriones también pueden enviar un mensaje de solicitud solicitando a todos los enrutadores cercanos que se identifiquen.

Algunas utilidades de red populares también se basan en el Protocolo de mensajes de control de Internet. Una herramienta, traceroute, utiliza el mensaje ICMP generado cuando un paquete ha caducado o excedido su «tiempo de vida» (TTL). Al establecer un valor TTL intencionalmente bajo para un paquete, traceroute recibirá un mensaje de tiempo excedido de ICMP del último enrutador al que llegó el paquete antes de expirar. Repetir este proceso y aumentar el valor TTL generará, en teoría, una lista de todos los hosts por los que viajan los paquetes.
Otra herramienta llamada ping se basa en el mensaje de solicitud de eco de ICMP, al que se responde con un mensaje de respuesta de eco de ICMP. Desafortunadamente, también se puede abusar del ping en un llamado «ataque pitufo» cuando un pirata informático envía solicitudes de eco con información del remitente falsificada, que luego son respondidas por muchas otras máquinas. Esto puede congestionar una red hasta el punto en que no puedan pasar paquetes legítimos, una situación conocida como denegación de servicio.