Das Internet Control Message Protocol (ICMP) dient in Rechnernetzwerken dem Austausch von Informations- und Fehlermeldungen über das Internet-Protokoll in der Version 4 (IPv4). Für IPv6 existiert ein ähnliches Protokoll mit dem Namen ICMPv6.
ICMP ist Bestandteil von IPv4, wird aber wie ein eigenständiges Protokoll behandelt. Es wird von jedem Router und jedem Rechner erwartet, das ICM-Protocol „sprechen“ zu können. Die meisten ICMP-Pakete enthalten Diagnose-Informationen, sie werden vom Router zur Quelle zurückgeschickt, wenn der Router Pakete verwirft, etwa weil das Ziel nicht erreichbar ist, die TTL abgelaufen ist usw. Es gilt der Grundsatz, dass ein ICMP-Paket niemals ein anderes ICMP-Paket auslöst, insbesondere wird die Tatsache, dass ein ICMP-Paket nicht zugestellt werden konnte, nicht durch ein weiteres signalisiert. Eine Ausnahme zu diesem Grundsatz bildet die Echo-Funktion. Echo-ICMP-Pakete werden zum Beispiel durch das Programm Ping versendet.
ICMP-Nachrichten werden beim Versand im Datenteil von IPv4-Datagrammen eingekapselt. Dabei sind im IPv4-Header der Servicetyp 0 und die Protokollnummer 1. ICMPv6 trägt dagegen die Protokollnummer 58.
Quelle: Wikipedia