Das Internet Control Message Protocol (ICMP) ist ein Protokoll der dritten Schicht (Netzwerkschicht) im Sieben-Schichten-Modell von OSI. Das Protokoll diagnostiziert Netzwerkverbindungs- oder Datenübertragungsprobleme zwischen Geräten. Es hilft durch Senden, Empfangen und Verarbeiten von ICMP-Nachrichten, um Verbindungsprobleme an das Quellnetzwerkgerät zu melden.
Daher besteht der Hauptzweck des ICMP-Protokolls darin, Fehler auf der Netzwerkschicht zu melden. Böswillige Akteure können jedoch ihre Funktionalität manipulieren, um Angriffe wie Distributed Denial of Service (DDoS) und Ping of Death-Angriffe zu starten. Hier erfahren Sie mehr über das ICMP-Protokoll, seinen Anwendungsfall und die Parameter, die wichtig sind, um ICMP-Nachrichten zu verstehen.
Wie funktioniert ICMP?
Router verwenden das ICMP-Protokoll, um das Netzwerkmanagement durchzuführen und Diagnosen auszugeben. Es generiert und sendet Fehlermeldungen an das Sendergerät, wenn das Netzwerk die Übermittlung von Paketen an das Zielgerät deaktiviert. Diese Fehlermeldungen umfassen Zeitüberschreitung, Parameterproblem, Ziel nicht erreichbar, Netzwerküberlastung usw.
Wenn ein Absender beispielsweise Daten in Form eines IP-Datagramms von einem Gerät an das Zielgerät sendet, werden diese durch mehrere Router oder zwischengeschaltete Geräte geleitet. Gelegentlich kann beim Weiterleiten dieses IPV4-Datagramms ein Fehler auftreten. Daher werden ICMP-Nachrichten in zwei große Kategorien unterteilt: Fehlermeldungen und Abfragenachrichten.
Fehlermeldungen
Dies sind die Nachrichten, denen der Router oder Zwischenhost bei der Datagrammverarbeitung begegnen kann:
- Zeit überschritten: Das ICMP-Paket hat einen Time-to-Live-Parameter, bei dem der Router oder Host das Datagramm verwirft, wenn es 0 erreicht, und eine Fehlermeldung über die Zeitüberschreitung sendet. Die Nachricht wird auch gesendet, wenn das Ziel nicht alle Datenfragmente empfängt.
- Ziel unerreichbar: Das verbindungseinleitende Gerät erhält eine Fehlermeldung über ein nicht erreichbares Ziel, wenn der Router oder der zwischengeschaltete Host sie nicht liefern kann. Folglich verwerfen die Geräte das Datagramm.
- Quellquench: Wenn die Geräte das Datagramm aufgrund einer Netzwerküberlastung nicht zustellen können, senden sie eine ICMP-"Source-Quench-Nachricht" an den Absender der Nachricht. Die Fehlermeldung fügt Flusskontrolle in der Vermittlungsschicht hinzu, indem sie das Quellgerät über Staus im Pfad informiert und den Datensendeprozess verlangsamt.
- Weiterleitung: Ein Router auf einem nicht optimalen Pfad leitet das Paket an einen Router mit einem optimalen Pfad zwischen Quelle und Ziel um. Als solches aktualisiert es die Quelle über die Änderung seiner Route.
- Parameterproblem: Das Quellgerät empfängt diese Nachricht, wenn ein Wert im Datagramm-Header fehlt. Beispielsweise erzeugt die Differenz zwischen der berechneten Prüfsumme am Ziel und der Quelle diese ICMP-Fehlermeldung.
Meldungen abfragen
Die Abfragenachrichten treten paarweise auf und liefern spezifische Informationen von den Zwischengeräten an das Quellgerät.
- Echo-Anfrage und Echo-Antwortnachricht: Diese Meldungen helfen bei der Behebung von Netzwerkdiagnoseproblemen.
- Zeitstempelanfrage und Antwort: Diese Zeitstempelanforderungen und Antwortnachrichten helfen dabei, die Umlaufzeit zwischen den Geräten zu bestimmen.
Verständnis von ICMP-Parametern
Die ICMP-Nachrichtendaten sind unter dem IP-Header eingekapselt, was bedeutet, dass der ICMP-Datagramm-Header nach den IPv4/v6-Informationen kommt. Der erste Teil des ICMP-Paket-Headers enthält die Parameter, die Netzwerkgeräten helfen, die Fehler- oder Abfragenachricht zu bestimmen.
Von den ersten 32 Bits bestimmen die ersten 8 Bits den Nachrichtentyp, die nächsten 8 Bits den Code der Nachricht und die restlichen Bits enthalten Informationen zur Datenintegrität. Daher sind die drei Informationsfelder: ICMP-Typen, ICMP-Code und Prüfsumme.
ICMP-Typen
Der Typ bestimmt den Zweck des ICMP-Pakets. Es erklärt kurz, warum das Quellgerät diese Nachricht empfängt. Es gibt 0–255 Typen von ICMP-Nachrichten, sodass jeder Typ unterschiedliche Informationen bereitstellt. Einige wichtige ICMP-Typen sind:
0: Echoanforderung
3: Ziel nicht erreichbar
4: Quellenabschreckung
5: Umleitung
8: Echo-Antwort
11: Zeit überschritten
12: Parameterproblem
30: Traceroute
ICMP-Code
Der ICMP-Code liefert zusätzliche Informationen zu den Nachrichten. Beispielsweise gibt ICMP-Typ 3 mit Code 0-15 an, warum das Ziel nicht erreichbar ist; Das heißt, wenn der Code 0 ist, dann liegt das daran, dass das Netzwerk nicht verfügbar ist. In ähnlicher Weise gibt die Nachricht für Typ 3 Code 1 an, dass der Host nicht erreichbar ist.
Darüber hinaus repräsentieren Typ 8 Code 0 und Typ 0 Code 0 Echoanforderungs- und Echoantwortnachrichten. Daher liefert jeder Nachrichtentyp mit demselben Codewert unterschiedliche Netzwerkinformationen.
Prüfsumme
Die Prüfsumme ist ein Fehlererkennungsmechanismus, der die Datenintegrität bestimmt. Der Prüfsummenwert repräsentiert die Bits in der Übertragungsnachricht. Der Sender berechnet und fügt die Datenprüfsumme ein, und der Empfänger berechnet den Wert neu und vergleicht sie mit der ursprünglichen, um etwaige Änderungen an der ursprünglichen Nachricht währenddessen festzustellen Übertragung.
Der zweite Teil des Headers zeigt auf den Bytewert, der die Ursache des Problems in der ursprünglichen Nachricht ist. Schließlich ist der letzte Teil des ICMP-Pakets das eigentliche Datagramm.
ICMP-Anwendungsfall
Hier sind einige Arbeitsbeispiele des ICMP-Protokolls in verschiedenen Netzwerkmanagement und administrative Dienstprogramme.
Klingeln
Ping ist ein Befehlszeilendienstprogramm, das sich auf ICMP-Echo-Request- und Echo-Reply-Nachrichten stützt, um die Netzwerkverfügbarkeit und Latenz zwischen Geräten zu testen. Das Dienstprogramm bestimmt einfach die Verfügbarkeit des Zielservers, indem es die Gesamtzahl der gesendeten oder empfangenen Pakete und den Prozentsatz des Paketverlusts schätzt. Es hilft auch, die Gesamtgröße der maximalen Übertragungseinheit (MTU) zu bestimmen.
Benutzen Klingeln So ermitteln Sie die Verfügbarkeit von google.com:
Traceroute
Traceroute ist ein weiteres Befehlszeilendienstprogramm, das Echoanforderungs- und Echoantwortnachrichten mit einer TTL-Variablen verwendet, um den Pfad zwischen Quell- und Zielgeräten abzubilden. Es ist auch nützlich, um die Antwortverzögerungen zu bestimmen, und stellt die Genauigkeit sicher, indem es jeden Hop mehrmals abfragt.
Wie funktioniert ICMP ohne Port?
Aus der obigen Erklärung geht hervor, dass ICMP ein verbindungsloses Protokoll ist, das Daten unabhängig als Datagramm sendet, und sein Header erscheint nach IPv4-Details. Allerdings fällt auch das Fehlen einer Portnummer auf, was die Frage aufwirft, wie Geräte die ICMP-Daten empfangen bzw. auf eine Verbindung aufmerksam werden?
Die Antwort ist ziemlich einfach. Das ICMP-Protokoll wurde entwickelt, um auf der Netzwerkschicht des OSI-Modells zu arbeiten und zwischen Routern und Hosts zu kommunizieren, um Informationen auszutauschen. Portnummern sind Teil der Transportschicht und ICMP ist weder ein TCP- noch ein UDP-Protokoll. Schließlich hilft die Kombination aus ICMP-Typ und -Code den Geräten, die Nachricht zu bestimmen und alle Informationen über das Netzwerk zu erhalten.
Fehler- und Flusskontrolle mit ICMP
Die obigen Details zum ICMP-Protokoll zeigen, wie es die Flusskontrolle und Fehlerkontrolle von Daten auf Schicht drei eines OSI-Modells sicherstellt. Die Protokollnachrichten und -parameter im ersten Teil des ICMP-Paket-Headers decken alle Aspekte der Netzwerkverwaltung und Diagnoseprobleme ab.
Es ist wichtig zu wissen, dass unangemessene Firewall-Einstellungen es Angreifern ermöglichen können, das Netzwerk der Organisation zu pingen und es anfällig für DDOS-, Ping-of-Death- und ICMP-Flood-Angriffe zu machen. Sie können verwenden Wireshark zum Erfassen von Paketen aus dem Internet und führen Sie zum besseren Verständnis eine detaillierte Analyse der ICMP-Pakete durch.
5 Möglichkeiten zur Behebung des Fehlers „Ein oder mehrere Netzwerkprotokolle fehlen“ in Windows 10
Lesen Sie weiter
Verwandte Themen
- Technik erklärt
- Computernetzwerke
Über den Autor
Rumaisa ist freiberufliche Autorin bei MUO. Sie hat viele Rollen getragen, von einer Mathematikerin bis hin zu einer Enthusiastin für Informationssicherheit, und arbeitet jetzt als SOC-Analystin. Ihre Interessen umfassen das Lesen und Schreiben über neue Technologien, Linux-Distributionen und alles rund um Informationssicherheit.
Abonnieren Sie unseren Newsletter
Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!
Klicken Sie hier, um sich anzumelden