Das Internet Control Message Protocol (ICMP) (RFC 792 und RFC 1256) ist neben dem Hauptprotokoll, dem Internet Protokoll IP, als Hilfsprotokoll auf der Vermittlungsschicht (Ebene 3) angesiedelt. Über das ICMP-Protokoll werden Fehler- und Informationsmeldungen zwischen Rechnern und Netz ausgetauscht.
Das ICMP-Protokoll setzt auf dem IP-Protokoll auf, d.h., es wird von IP behandelt, als sei es ein Protokoll einer höheren Schicht. ICMP-Daten werden immer mit einem vollständigen IP-Header verschickt, die eigentlichen ICMP-Meldungen befinden sich im anschliessenden IP- Datenteil.
Das bekannteste, auf den ICMP-Echo-Paketen basierende interaktive Tool ist der PING- Befehl, mit dessen Hilfe die Erreichbarkeit eines Zielrechners überprüft werden kann. Es basiert darauf, dass ein Rechner ein ICMP-Echo-Request absetzt und anschliessend auf ein ICMP-Echo-Response wartet.
Struktur eines ICMP Telegramms mit Ethernet TYPE = 0x0800 (IP):
ICMP Telegramm |
Umfang |
Werte |
Bedeutung |
---|---|---|---|
Ver |
4 Bit |
4 |
IP Protokoll Version 4 |
IHL |
4 Bit |
5 |
|
Type of Service |
1 Byte |
|
|
Total Length |
2 Byte |
18 |
Das ICMP Telegramm hat eine feste Länge von 18 Byte |
Identification |
2 Byte |
111 |
|
Flg |
3 Bit |
0 |
|
Fragment Offset |
13 Bits |
0 |
|
Time |
1 Byte |
123 |
|
Protocol |
1 Byte |
1 = ICMP |
|
Header Checksum |
2 Byte |
|
Checksumme über die ersten 10 Bytes |
Source IP-address |
4 Byte |
|
|
Destination IP-address |
4 Byte |
|
|
ICMP-Typ |
1 Byte |
0 = Echo Reply 8 = Echo Request 30 = Traceroute |
Beispiele der wichtigsten Werte |
ICMP-Code |
1 Byte |
|
|
ICMP-Checksum |
2 Byte |
|
|
Der ICMP-Header besteht aus einem ICMP-Typen-Feld, ICMP-Code-Feld und einem ICMP- Checksummen-Feld. Anschliessend an den Header folgt das ICMP-Daten-Feld.
Als Fehlermeldungen sind beim ICMP-Protokoll folgende Meldungen definiert:
"Destination Unreachable (Empfänger nicht erreichbar)
"Redirect (Wegumleitung)
"Source Quench (Ressourcen aufgebraucht)
"Time Exceeded (Timer abgelaufen)
"Paramterproblem (Paramter Problem)
Als Informationsmeldungen sind beim ICMP-Protokoll folgende Meldungen definiert:
"Echo (-Request/-Reply)
"Information
"Timestamp (Zeitmessung)
"Address Mask (Adressmaske)
"Router Discovery (Router-Findung)