ICMP Internet Control Message Protocol
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) |