Internet Control Message Protocol: Unterschied zwischen den Versionen
Erscheinungsbild
	
	
| (161 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| '''Internet Control Message Protocol''' (ICMP) - Statusinformationen einer [[IP]]-Verbindung austauschen | |||
| = Beschreibung = | == Beschreibung == | ||
| [[Internet-Protokoll]] ermöglicht die Kommunikation von Geräten über beliebige Pfade | |||
| * Treten dabei Fehler auf, kann ICMP den Absender informieren | |||
| *  | |||
| ; Beispiele | |||
| *  | * Gerät oder Dienst nicht erreichbar | ||
| * Header-Daten wurden verfälscht | |||
| * Lebenszeit (TTL) eines Datagramms ist abgelaufen | |||
| * die Pufferkapazität des Empfängers ist erschöpft | |||
| ; OSI-Schicht 3 | |||
| Die Daten werden jedoch in IP-Paketen transportiert | |||
| , wie dies bei TCP & UDP geschieht | |||
| , obwohl ICMP kein Transportprotokoll ist | |||
| * ICMP nutzt somit das IP-Protokoll, | |||
| als wäre es ein Protokoll einer höheren Schicht (im OSI-Modell), obwohl es eigentlich integraler Bestandteil des IP-Protokolls ist | |||
| == Fehlerermittlung == | |||
| ; Situationen, die eine ICMP-Fehlermeldung auslösen | |||
| {| class="wikitable options big gnu" | |||
| ! Grund !! Fehler !! Auslöser | |||
| |- | |||
| | Ziel nicht erreichbar || Destination Unreachable || Dieser Fehler tritt auf, wenn der Zielrechner nicht mehr existiert, oder auf diesem kein passendes Protokoll gefunden werden kann. Tritt dieser Fall ein, wird der Absender entsprechend benachrichtigt | |||
| |- | |||
| | Zeit überschritten || Time Exceeded || | |||
| |- | |||
| | Ungültige Parameter || Parameter Problem || | |||
| |- | |||
| | Senderate reduzieren || Source Quench || | |||
| |- | |||
| | Umleitung im Netzwerk || Redirect || | |||
| |} | |||
| * Prüfung auf Erreichbarkeit eines Gerätes | |||
| *  | * Ermittlung des Pfades, den ein Datagramm durch das Netz beschreitet | ||
| *  | * Ermittlung der maximalen Größe des Datagramms auf diesem Pfad | ||
| =  | == Paketstruktur == | ||
| ==  | === Header === | ||
| [[File:ICMPv4.png|mini|400px]] | |||
| Der ICMP-Header folgt direkt auf den IPv4-Header | |||
| * wird an der Protokollnummer erkannt | |||
| * Erweitert den IP-Header und ist als integraler Bestandteil des IP-Protokolls zu sehen | * Erweitert den IP-Header und ist als integraler Bestandteil des IP-Protokolls zu sehen | ||
| *  | * Länge: 8 Byte + Datenabschnitt variabler Größe | ||
| : Format der ersten vier Bytes | |||
| * Mit dem ersten Byte wird der Typ der Nachricht kodiert | * Mit dem ersten Byte wird der Typ der Nachricht kodiert | ||
| * Das zweite Byte enthält einen, vom jeweiligen Typ abhängigen Code | * Das zweite Byte enthält einen, vom jeweiligen Typ abhängigen Code | ||
| * Das dritte und vierte Byte bilden eine Prüfsumme des Headers | * Das dritte und vierte Byte bilden eine Prüfsumme des Headers | ||
| * Die folgenden vier Bytes sind vom Typ der ICMP-Nachricht abhängig | |||
| {| class="wikitable options big" | |||
| {| class="wikitable  | |||
| |- | |- | ||
| ! Typ !! Typname !! Code !! Bedeutung | ! Typ !! Typname !! Code !! Bedeutung | ||
| Zeile 78: | Zeile 93: | ||
| |} | |} | ||
| ==  | === Daten === | ||
| Je nach Typ der ICMP-Nachricht haben die, sich dem ICMP-Header anschließenden Daten, einen unterschiedlichen Inhalt und sind verschieden strukturiert | |||
| * Oft wird der IP-Header wiederholt und im Anschluss daran die ersten 64 Bit des ursprünglichen Datagramms | * Oft wird der IP-Header wiederholt und im Anschluss daran die ersten 64 Bit des ursprünglichen Datagramms | ||
| * Damit wird dem Zielrechner die Zuordnung der Nachricht ermöglicht | * Damit wird dem Zielrechner die Zuordnung der Nachricht ermöglicht | ||
| =  | == Anwendung == | ||
| {| class="wikitable options big" | |||
| |- | |||
| | Erreichbarkeit prüfen || [[ping]] | |||
| |- | |||
| | Weg nachvollziehen || [[traceroute]] | |||
| |- | |||
| | Maximale Path-MTU ermitteln || [[Path MTU Discovery]] | |||
| |- | |||
| | Umleitung im Netzwerk || [[IPv4/ICMP/Redirect]] | |||
| |} | |||
| [[ | |||
| [[ | |||
| [[ | |||
| <noinclude> | |||
| ==  | == Anhang == | ||
| === Siehe auch === | |||
| {{Special:PrefixIndex/ICMP}} | |||
| ---- | |||
| {{Special:PrefixIndex/ICMP}} | |||
| === Dokumentation === | |||
| ===== RFC ===== | |||
| # https://tools.ietf.org/html/rfc792 | |||
| =  | === Links === | ||
| = Links = | ==== Weblinks ==== | ||
| ==  | |||
| ==  | |||
| [[Kategorie:ICMP]] | |||
| </noinclude> | |||
Aktuelle Version vom 9. Juli 2025, 16:45 Uhr
Internet Control Message Protocol (ICMP) - Statusinformationen einer IP-Verbindung austauschen
Beschreibung
Internet-Protokoll ermöglicht die Kommunikation von Geräten über beliebige Pfade
- Treten dabei Fehler auf, kann ICMP den Absender informieren
- Beispiele
- Gerät oder Dienst nicht erreichbar
- Header-Daten wurden verfälscht
- Lebenszeit (TTL) eines Datagramms ist abgelaufen
- die Pufferkapazität des Empfängers ist erschöpft
- OSI-Schicht 3
Die Daten werden jedoch in IP-Paketen transportiert , wie dies bei TCP & UDP geschieht , obwohl ICMP kein Transportprotokoll ist
- ICMP nutzt somit das IP-Protokoll,
als wäre es ein Protokoll einer höheren Schicht (im OSI-Modell), obwohl es eigentlich integraler Bestandteil des IP-Protokolls ist
Fehlerermittlung
- Situationen, die eine ICMP-Fehlermeldung auslösen
| Grund | Fehler | Auslöser | 
|---|---|---|
| Ziel nicht erreichbar | Destination Unreachable | Dieser Fehler tritt auf, wenn der Zielrechner nicht mehr existiert, oder auf diesem kein passendes Protokoll gefunden werden kann. Tritt dieser Fall ein, wird der Absender entsprechend benachrichtigt | 
| Zeit überschritten | Time Exceeded | |
| Ungültige Parameter | Parameter Problem | |
| Senderate reduzieren | Source Quench | |
| Umleitung im Netzwerk | Redirect | 
- Prüfung auf Erreichbarkeit eines Gerätes
- Ermittlung des Pfades, den ein Datagramm durch das Netz beschreitet
- Ermittlung der maximalen Größe des Datagramms auf diesem Pfad
Paketstruktur
Header

Der ICMP-Header folgt direkt auf den IPv4-Header
- wird an der Protokollnummer erkannt
- Erweitert den IP-Header und ist als integraler Bestandteil des IP-Protokolls zu sehen
- Länge: 8 Byte + Datenabschnitt variabler Größe
- Format der ersten vier Bytes
- Mit dem ersten Byte wird der Typ der Nachricht kodiert
- Das zweite Byte enthält einen, vom jeweiligen Typ abhängigen Code
- Das dritte und vierte Byte bilden eine Prüfsumme des Headers
- Die folgenden vier Bytes sind vom Typ der ICMP-Nachricht abhängig
| Typ | Typname | Code | Bedeutung | 
|---|---|---|---|
| 0 | Echo Reply | 0 | Echo-Antwort | 
| 3 | Destination Unreachable | 0 | Netzwerk nicht erreichbar | 
| 1 | Host (Zielstation) nicht erreichbar | ||
| 2 | Protokoll nicht erreichbar | ||
| 3 | Port nicht erreichbar | ||
| 4 | Fragmentierung nötig, Don’t Fragment aber gesetzt | ||
| 5 | Route nicht möglich | ||
| 13 | Paket wird von der Firewall des Empfängers geblockt | ||
| 4 | Source Quench | 0 | Datagramm verworfen, da Warteschlange voll | 
| 5 | Redirect Message | 0 | Benachrichtigung über eine Umleitung für das angegebene Netzwerk | 
| 1 | Benachrichtigung über eine Umleitung für den ausgewählten Host | ||
| 2 | Umleitung für den angegebenen Dienst & das Netz | ||
| 3 | Umleitung für den angegebenen Dienst & den Host | ||
| 8 | Echo Request | 0 | Echo-Anfrage (Ping) | 
| 9 | Router Solicitation | 0 | Suche nach einem Router | 
| 10 | Router Advertisement | 0 | Bekanntmachung eines Routers | 
| 11 | Time Exceeded | 0 | TTL (Time To Live, Lebensdauer) abgelaufen | 
| 1 | Zeitlimit während der Defragmentierung überschritten | 
Daten
Je nach Typ der ICMP-Nachricht haben die, sich dem ICMP-Header anschließenden Daten, einen unterschiedlichen Inhalt und sind verschieden strukturiert
- Oft wird der IP-Header wiederholt und im Anschluss daran die ersten 64 Bit des ursprünglichen Datagramms
- Damit wird dem Zielrechner die Zuordnung der Nachricht ermöglicht
Anwendung
| Erreichbarkeit prüfen | ping | 
| Weg nachvollziehen | traceroute | 
| Maximale Path-MTU ermitteln | Path MTU Discovery | 
| Umleitung im Netzwerk | IPv4/ICMP/Redirect | 
Anhang
Siehe auch
Dokumentation
RFC
Links
Weblinks