ICMP

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.

Funktionalität

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]

  1. Ping
  2. Traceroute

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 Hauptkomponente, die die ICMP-Nachrichten erkennt.
  • Der kleine Code, der Daten und Informationen über diesen bestimmten Feldtyp enthält.
  • Die Prüfsumme, die tatsächlich hilft, das besondere Problem zu erkennen, das während der Übertragung der Nachricht aufgetreten ist.

ICMP-Nachrichten

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]

  • Redirect Message - Dies ist das, was ein Gateway verwendet, um den Quellhost wissen zu lassen, dass er den Datenverkehr an einen anderen Router senden wird.
  • Zeitüberschreitung - Dies ist es, was ein Router dem Quellhost mitteilt, dass ein bestimmtes Paket einen bestimmten Zeitrahmen namens Time to Live (TTL) überschritten hat. Wenn ein bestimmter Host anfängt, die Informationspakete "Time Exceeded" zu empfangen, ist dies ein Zeichen dafür, dass es ein Problem innerhalb des Systems gibt, bei dem eine Rückkopplungsschleife im Informationsfluss vorhanden ist.
  • Source Quench - Dies sind Nachrichten, die von einem Router an den Host gesendet werden. Dies zeigt an, dass die Pufferkapazität nun voll ist und den Übertragungsprozess kurzzeitig stoppt, um den Rest der Daten nachholen zu können.

Weitere Meldungen sind Parameterproblem, Adressmaskenanforderung und -antwort, Zeitstempel.

Einschränkungen

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.


  1. https://searchnetworking.techtarget.com/definition/ICMP ↩︎ ↩︎

  2. https://www.pcwdld.com/what-is-icmp-and-port ↩︎ ↩︎ ↩︎

  3. https://www.comparitech.com/net-admin/what-is-icmp/ ↩︎

  4. https://www.techopedia.com/definition/5362/internet-control-message-protocol-icmp ↩︎

  5. http://www.enterprisenetworkingplanet.com/netsp/article.php/3584166/Networking-101-Understanding-and-Using-ICMP.htm ↩︎ ↩︎

  6. https://www.webopedia.com/TERM/I/ICMP.html ↩︎