ICMP - Internet Control Message Protocol
1. Allgemein
- ICMP dient, der Kontrolle des IP-basierten Datenverkehrs, bzw. der Fehleranalyse, der Informationsbeschaffung
- Es wird für für Diagnose- und Fehlermeldungen aber auch für das Auskundschaften von Rechner (-netzen) eingesetzt.
- ICMP wurde 1981 in RFC777 festgelegt .
- Typischer Einsatz für ICMP ist wenn das Ziel eines IP-Pakets unerreichbar ist, weil die Time to Live (TTL - Router reduziert beim Weiterleiten den TTL-Wert um 1) abgelaufen ist.
- Der ICMP-Typ beschreibt die gewünschte Hauptfunktion des ICMP-Pakets, die durch den ICMP-Code genauer spezifiziert wird.
- ICMP ist für IPv4 und IPv6 definiert
- Protokollnummer von ICMP ist 1
2. Ping
Bekannteste ICMP-Typen sind Type 0 (Echo Reply) und Type 8 (Echo Request). Diese beiden ICMP-Typen werden in der Regel zur Feststellung der Erreichbarkeit eines Hosts verwendet. Eine ICMP-Echo-Nachricht besteht aus einem 16-Bit-Identifer sowie einer 16-Bit-Sequenznummer zur Identifikation der Datagramme. Optional können noch Daten an das Paket angehängt werden, um die Netzlast zu erhöhen (z.B. für Performance-Tests).
Beispiel: Host A sendet einen Echo Request an Host B, Host B antwortet darauf mit einem Echo Reply.
3. ICMP-Type 3
Der ICMP-Type 3 (Destination Unreachable) wird versendet, wenn ein Datagramm nicht zugestellt werden konnte. Genauere Information zum Grund der Fehlzustellung gibt der ICMP-Code an.
Es gibt z.B. folgende Möglichkeiten: • Code 0: Zielnetzwerk ist nicht erreichbar (z.B. fehlende Routing) • Code 1 Netzwerk, nicht aber der Host erreichbar. (z.B. falsche Adresse) • Code 2 Protokoll nicht erreichbar. • Code 3 Datagramm nicht an Port weitergereichbar • Code 4 Datagramm wurde mit dem gesetzten Bit "Don’t Fragment" (DF) versandt. Zu groß für die MTU des Netzes • Code 6 Netzwerk nicht vorhanden • Code 7 Host nicht vorhanden • Codes 9 und 10 Kommunikation zum Netzwerk vom Admin untersagt • Codes 11 und 12 Zielnetzwerk nicht für Type-of-Service erreichbar • Code 13 Firewall blockt den Traffic
4. ICMP-Type 4
Wird von einem Empfänger versandt, wenn zu viele Pakete bei ihm eintreffen. Hauptaufgabe ist, überlastete Prozessoren und Netzwerkschnittstellen mit Hilfe der Flusskontrolle zu verhindern.
5. ICMP-Type 5
ICMP-Type 5 (Redirect) wird zur Umlenkung von Routen verwendet. Wird ein Router verwendet, um ein Paket zuzustellen, und kennt dieser Router zusätzlich einen besseren Pfad zum Ziel als den, der über ihn selbst führt, so kann der Router zum Absender des betreffenden Pakets eine ICMP-Redirect-Nachricht senden. Der Absender wird daraufhin die eigene Routingtabelle so abändern, dass er seine Pakete über den vom Router empfohlenen „besseren“ Router sendet. Beispiel für IPv4 Redirect Message