Internet Control Message Protocol (ICMP) ist ein Netzwerkprotokoll für IP-Netzwerke (Internet Protocol). ICMP überträgt Steuerinformationen für den Status des Netzwerks selbst und nicht für Anwendungsdaten. Ein IP-Netzwerk erfordert ICMP, um ordnungsgemäß zu funktionieren.
ICMP-Nachrichten sind eine bestimmte Art von IP-Nachrichten, die sich von TCP und UDP unterscheiden.
Das bekannteste Beispiel für ICMP-Messaging in der Praxis ist das Dienstprogramm ping, das ICMP verwendet, um entfernte Hosts auf Reaktionsfähigkeit zu prüfen und die Gesamtlaufzeit der Testnachrichten zu messen.
ICMP unterstützt auch andere Dienstprogramme wie Traceroute, die zwischengeschaltete Routing-Geräte ("Hops") auf dem Pfad zwischen einer bestimmten Quelle und einem Ziel identifizieren.
ICMP im Vergleich zu ICMPv6
Die ursprüngliche Definition von ICMP unterstützte IPv4-Netzwerke (Internet Protocol Version 4). IPv6 enthält eine überarbeitete Form des Protokolls, das üblicherweise als ICMPv6 bezeichnet wird, um es vom ursprünglichen ICMP (gelegentlich als ICMPv4 bezeichnet) zu unterscheiden.
ICMP-Nachrichtentypen und -formate
ICMP-Nachrichten enthalten Daten, die für den Betrieb und die Verwaltung eines Computernetzwerks wesentlich sind. Das Protokoll berichtet über Bedingungen wie nicht reagierende Geräte, Übertragungsfehler und Netzwerküberlastungsprobleme.
Wie andere Protokolle der IP-Familie definiert ICMP einen Nachrichtenkopf. Die Kopfzeile enthält vier Felder in der folgenden Reihenfolge:
- Typ (8 Bit)
- Code (8 Bit)
- Prüfsumme (16 Bit)
- ICMP-Daten (32 Bit)
ICMP definiert eine Liste bestimmter Nachrichtentypen und weist jedem eine eindeutige Nummer zu.
Wie in der nachstehenden Tabelle gezeigt, bieten ICMPv4 und ICMPv6 einige allgemeine Nachrichtentypen (jedoch häufig mit unterschiedlichen Nummern) und auch einige für jeden eindeutige Nachrichten. (Die allgemeinen Nachrichtentypen können sich auch leicht zwischen den IP-Versionen unterscheiden.)
v4 # | v6 # | Art | Beschreibung |
---|---|---|---|
0 | 129 | Echoantwort | Nachricht als Antwort auf eine Echoanfrage (siehe unten) |
3 | 1 | Ziel unerreichbar | Wird gesendet, wenn eine IP-Nachricht aus verschiedenen Gründen nicht zugestellt werden kann. |
4 | - | Quellquench | Ein Gerät kann diese Nachricht an einen Absender zurücksenden, der eingehenden Verkehr schneller generiert, als er verarbeitet werden kann. (Durch andere Methoden ersetzt.) |
5 | 137 | Nachricht umleiten | Routing-Geräte können diese Methode generieren, wenn sie feststellen, dass eine Änderung der angeforderten Route für eine IP-Nachricht geändert werden soll. |
8 | 128 | Echoanfrage | Nachricht, die von Ping-Dienstprogrammen gesendet wird, um die Reaktionsfähigkeit eines Zielgeräts zu überprüfen |
11 | 3 | Zeit überschritten | Router haben diese Nachricht generiert, wenn die eingehenden Daten ihre "Hop" -Zählgrenze erreicht haben. Wird von traceroute verwendet. |
12 | - | Parameter Problem | Wird generiert, wenn ein Gerät beschädigte oder fehlende Daten in einer eingehenden IP-Nachricht feststellt. |
13, 14 | - | Zeitstempel (Anfrage, Antwort) | Entwickelt, um Zeituhren zwischen zwei Geräten über IPv4 zu synchronisieren (durch andere zuverlässigere Methoden ersetzt). |
- | 2 | Paket zu groß | Router erzeugen diese Nachricht, wenn sie eine Nachricht empfangen, die wegen Überschreitung eines Längenlimits nicht an ihr Ziel weitergeleitet werden kann. |
Das Protokoll füllt die Code- und ICMP-Datenfelder je nach dem Nachrichtentyp, der für die Freigabe zusätzlicher Informationen ausgewählt wurde. Beispielsweise kann eine Ziel nicht erreichbare Nachricht abhängig von der Art des Fehlers viele verschiedene Codewerte enthalten.