El Protocolo de mensajes de control de Internet (ICMP) es un protocolo de red para redes de Protocolo de Internet (IP). ICMP transfiere información de control para el estado de la red en lugar de datos de aplicación. Una red IP requiere ICMP para funcionar correctamente.
Los mensajes ICMP son un tipo específico de mensaje IP distinto de TCP y UDP.
El ejemplo más conocido de mensajería ICMP en la práctica es la utilidad de ping, que utiliza ICMP para sondear los hosts remotos en cuanto a la capacidad de respuesta y mide el tiempo total de ida y vuelta de los mensajes de la sonda.
ICMP también admite otras utilidades como traceroute que identifican dispositivos de enrutamiento intermedios ("saltos") en la ruta entre un origen y un destino determinados.
ICMP Versus ICMPv6
La definición original de redes de protocolo de Internet compatibles con ICMP versión 4 (IPv4). IPv6 incorpora una forma revisada del protocolo convencionalmente llamado ICMPv6 para distinguirlo del ICMP original (ocasionalmente llamado ICMPv4).
Tipos de mensajes ICMP y formatos de mensajes
Los mensajes ICMP llevan datos esenciales para la operación y administración de una red de computadoras. El protocolo informa sobre condiciones tales como dispositivos que no responden, errores de transmisión y problemas de congestión de la red.
Al igual que otros protocolos en la familia de IP, ICMP define un encabezado de mensaje. El encabezado contiene cuatro campos en la siguiente secuencia:
- Tipo (8 bits)
- Código (8 bits)
- Suma de comprobación (16 bits)
- Datos ICMP (32 bits)
ICMP define una lista de tipos de mensajes específicos y asigna un número único a cada uno.
Como se muestra en la tabla a continuación, ICMPv4 e ICMPv6 proporcionan algunos tipos de mensajes comunes (pero a menudo con números diferentes) y también algunos mensajes únicos para cada uno. (Los tipos de mensajes comunes también pueden variar ligeramente en su comportamiento entre las versiones de IP).
| v4 # | v6 # | Tipo | Descripción |
|---|---|---|---|
| 0 | 129 | Respuesta de eco | Mensaje enviado en respuesta a una solicitud de eco (ver más abajo) |
| 3 | 1 | Destino inalcanzable | Enviado en respuesta a un mensaje IP que no se puede entregar por cualquiera de varias razones. |
| 4 | - | Fuente para enfriar | Un dispositivo puede enviar este mensaje a un remitente que está generando tráfico entrante a una velocidad mayor de la que puede procesarse. (Reemplazado por otros métodos.) |
| 5 | 137 | Mensaje de redireccionamiento | Los dispositivos de enrutamiento pueden generar este método si detectan que se debe cambiar un cambio en la ruta solicitada para un mensaje de IP. |
| 8 | 128 | Solicitud de eco | Mensaje enviado por las utilidades de ping para verificar la capacidad de respuesta de un dispositivo de destino |
| 11 | 3 | Tiempo excedido | Los enrutadores generaron este mensaje cuando los datos entrantes han alcanzado su límite de conteo de "saltos". Utilizado por traceroute. |
| 12 | - | Problema de parametro | Se genera cuando un dispositivo detecta datos dañados o faltantes en un mensaje IP entrante. |
| 13, 14 | - | Marca de tiempo (solicitud, respuesta) | Diseñado para sincronizar relojes de tiempo entre dos dispositivos a través de IPv4, (Reemplazado por otros métodos más confiables.) |
| - | 2 | Paquete demasiado grande | Los enrutadores generan este mensaje cuando reciben un mensaje que no se puede reenviar a su destino debido a que excede un límite de longitud. |
El protocolo llena los campos de datos de código e ICMP según el tipo de mensaje elegido para compartir información adicional. Por ejemplo, un mensaje de Destino inalcanzable puede tener muchos valores de Código diferentes dependiendo de la naturaleza del error.




