ICMP (Internet Control Message Protocol) ist ein Diagnose-Protokoll, das feststellt, ob ein Host "lebt". Ein ICMP-Paket wird durch das Programm ping gesendet. Anschließend prüft das Programm, ob das Paket zurückkommt und wie groß die Verzögerung ist.
Im folgenden Beispiel wird ein Ping auf die URL www.willemer.de ausgeführt. Unter Linux läuft der Ping so lange, bis er mit der Tastenkombination [Strg]+[C] beendet wird. Dann liefert der Befehl eine Statistik.
$ ping www.willemer.de PING www.willemer.de (217.160.231.176) 56(84) bytes of data. 64 bytes from clienthosting.eu (217.160.231.176): icmp_seq=1 ttl=56 time=26.2 ms 64 bytes from clienthosting.eu (217.160.231.176): icmp_seq=2 ttl=56 time=27.1 ms 64 bytes from clienthosting.eu (217.160.231.176): icmp_seq=3 ttl=56 time=33.8 ms 64 bytes from clienthosting.eu (217.160.231.176): icmp_seq=4 ttl=56 time=26.6 ms 64 bytes from clienthosting.eu (217.160.231.176): icmp_seq=5 ttl=56 time=26.2 ms ^C --- www.willemer.de ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 26.225/28.032/33.831/2.924 ms
Mit ping können folgende Erkenntnisse gewonnen werden:
- Der Zielrechner antwortet, die Laufzeit ist normal: Alles gut.
- Pakete kommen zurück, allerdings mit hohen Laufzeiten: Die Verbindung hat eine hohe Latenz oder der Rechner steht unter schwerer Last.
- Einige Pakete kommen nicht zurück: Die Verbindung ist unzuverlässig.
- Es kommen keine Pakete zurück: Das kann mehrere Ursachen haben.
- Die Namensauflösung (DNS) funktioniert nicht. Das gilt natürlich nur dann, wenn ping über einen Hostnamen aufgerufen wurden.
- Der Ziel-Host ist down.
- Das Routing funktioniert nicht.
Traceroute sendet UDP-Paket, wartet aber auf ein ICMP-Paket.
ICMP zur Ermittlung, ob Pakete fragmentiert werden müssen.
Da ICMP im Extremfall für einen Denial of Service verwendet werden kann, gibt es einige Hosts, die Ping-Pakete nicht beantworten.
Traceroute
Der Befehl traceroute sendet ICMP-Pakete an den Zielrechner, deren TTL-Wert bei 1 beginnt und langsam steigt.Jeder Router, bei dem eine TTL endet, sendet eine ICMP-Nachricht an den Absender des Pakets zurück.
Auf diese Weise kann traceroute ermitteln, auf welchem Weg ein Paket seinen Weg zum Ziel erreich hat.