Internet Control Message Protocol (ICMP)) ein Protokollnetzwerk, das für die Fehlerberichterstattung durch die Erzeugung und Übermittlung von Nachrichten an die Quell-IP-Adresse verantwortlich ist, wenn Netzwerkprobleme auftreten, auf die das System stößt.[1] Die Nachrichten, die das ICMP erzeugt, zeigen an, dass ein bestimmtes Gateway, Router, Dienst oder sogar Host, der sich mit dem Internet verbinden soll, nicht erreichbar ist. Grundsätzlich kann der Empfänger während der Übertragung keine Pakete empfangen. Jedes IP-Netzwerkgerät kann ICMP-Fehlermeldungen senden, generieren, empfangen und verarbeiten.
Mit anderen Worten, Sie können sich ICMP als ein Team vorstellen, das mechanische Teile für Fahrzeuge herstellt. Der beste Weg, ein Fahrzeug zusammenzubauen, wäre, zuerst jedes einzelne Teil herzustellen, bevor jedes dieser Teile an die Montagelinie geschickt wird, die diese dann zu einem komplexeren Produkt zusammenfügt. Wie wir alle wissen, wird es jedoch Zeiten geben, in denen das Produktionsteam nicht in der Lage sein wird, einige der Teile in einem geplanten Zeitrahmen zu versenden. Wenn es jemals zu Fehlteilen kommen sollte, dann muss das Montageband das Produktionsteam benachrichtigen, so dass das ICMP in gleicher Weise funktioniert. Im Wesentlichen spielt das ICMP die Rolle des Messengers, der Daten und Informationen vom Empfänger an den Absender weiterleitet.
Dieses Protokoll ist eigentlich recht komplex. Es hat zahlreiche weitere Funktionen, die über das Melden von Fehlern in der Paketübertragung und nicht erreichbaren Hosts hinausgehen. Es leitet auch Echo- und Echoantwort-Meldungen weiter. Dies wird durch einen bekannten PING-Befehl verwendet, der es den meisten Benutzern ermöglicht, ein Echo an einen empfangenden Host weiterzugeben. Dies sendet eine Echoantwort, wenn ein Echo empfangen wird.
Somit bieten ICMP-Nachrichten dem Netzwerk und dem System die Möglichkeit, die Quell-IP-Adresse, die das Relaisende ist, zu benachrichtigen, wenn der entfernte Host, der das Empfangsende ist, keine gesendeten Pakete empfängt.[2]
Ein Router wird verwendet, um die beliebte Nachricht "Destination Unreachable" an den Quellhost zurückzusenden.[3] Dies würde es dann an das Gerät oder Programm senden, das zuerst die Datenpakete übertragen hat. Diese Fehlermeldungen würden das Programm dann wissen lassen, dass es ein Problem mit der Konnektivität des Netzwerks gibt. Sobald das Quellprogramm die Information erhalten hat, dass einige dieser Datenpakete es nicht zum Empfänger geschafft haben, würde es diese Informationen dann erneut an den Empfänger weiterleiten.
Als wichtige Funktion wird ICMP nicht unbedingt regelmäßig von Einzelpersonen in Endbenutzeranwendungen verwendet, sondern von zahlreichen Netzwerkadministratoren, um Fehler in Internetverbindungen durch eine Versorgungsdiagnose wie:[4]
Das Hauptprotokoll, das das ICMP verwendet, wird von Zwischengeräten, Routern und sogar Hosts verwendet, um im Fehlerfall zu kommunizieren und die notwendigen Router, Zwischengeräte und Hosts zu aktualisieren. In diesem Fall verwenden die am häufigsten verwendeten IPv4 (Internet Protocol Version 4) und die viel neueren IPv6 ähnliche Versionen des ICMP-Protokolls, die als ICMPv4 bzw. ICMP6 bezeichnet werden.[5]
In Bezug darauf, wie sich das ICMP auf verschiedene Paketheader bezieht, erscheint der ICMP-Header nach dem IPv4- oder IPv6-Paketheader, während er an einer Protokollnummer erkannt wird. Dieses komplexe Protokoll enthält drei verschiedene Hauptkomponenten:[6]
Die beliebteste und bekannteste Nachricht aus einem ICMP-Datagramm ist die Nachricht "Destination Unreachable".[1:1] Es gibt mehrere Gründe, warum diese Nachricht erzeugt wird, was Probleme mit sich bringt, wie z.B. das Nicht-Erreichen eines Netzwerks, eines Hosts, eines Ports oder sogar eines fehlerhaften Protokolls.
Die meisten Benutzer müssen sich bewusst sein und auch berücksichtigen, dass die Nachricht "Destination Unreachable" zwar die häufigste empfangene Nachricht ist, aber nicht die einzige Nachricht, die der ICMP senden kann. Es gibt noch weitere Fehlermeldungen, die Folgendes beinhalten:[2:1]
Weitere Meldungen sind Parameterproblem, Adressmaskenanforderung und -antwort, Zeitstempel.
Trotz all dieser Rollen, die das ICMP ausführen muss, hat es einige funktionale Einschränkungen. Das ICMP hilft nicht, die Zuverlässigkeit des Quell-Hosts oder der IP zu erhöhen, und es empfängt oder sendet keine Daten, die für die Übertragung verwendet werden können.[5:1] Das ICMP existiert einfach, um Probleme mit verlorenen Paketen und fehlerhaftem Routing zu identifizieren.
Ein ICMP sendet auch keine Nachrichten, die sich auf ICMP-Nachrichten beziehen.[2:2] Sollte dies jemals passieren, würde dies zu einer Rückkopplungsschleife führen, die sich als Nachteil für das System erweisen würde, da es eine ICMP-Nachricht zurück auf die andere Seite erzeugen würde. Dies würde sich dann schnell so weit replizieren, dass es das Netzwerk überfluten würde, was es ineffizient macht.