Internet Control Message Protocol: Unterschied zwischen den Versionen
Markierung: Manuelle Zurücksetzung |
|||
(90 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''I'''nternet '''C'''ontrol '''M'''essage '''P'''rotocol (ICMP) - Austausch von Statusinformationen der IP-Verbindung | |||
== Beschreibung == | == Beschreibung == | ||
* Das Internet-Protokoll ermöglicht die Kommunikation von Geräten über beliebige Pfade | |||
* Treten dabei Fehler auf, kann ICMP den Absender informieren | |||
; Mögliche Probleme | |||
* Gerät oder Dienst ist nicht erreichbar | |||
* Header-Daten wurden verfälscht | |||
* die 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" | |||
! 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 == | == Paketstruktur == | ||
=== | === Header === | ||
[[File:ICMP4.png| | [[File:ICMP4.png|mini|500px]] | ||
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 | * 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 106: | Zeile 91: | ||
|} | |} | ||
=== | === 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" | |||
{| class="wikitable | |||
|- | |- | ||
| Erreichbarkeit prüfen || [[ping]] | |||
|- | |- | ||
| | | Weg nachvollziehen || [[traceroute]] | ||
|- | |- | ||
| | | Maximale Path-MTU ermitteln || [[Path MTU Discovery]] | ||
|- | |- | ||
| Umleitung im Netzwerk || [[IPv4/ICMP/Redirect]] | |||
| Umleitung im Netzwerk | |||
|} | |} | ||
<noinclude> | |||
=== | == Anhang == | ||
=== Siehe auch === | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}}} | |||
---- | |||
{{Special:PrefixIndex/ICMP}} | |||
== | ==== Dokumentation ==== | ||
===== RFC ===== | |||
= | |||
=== | |||
# https://tools.ietf.org/html/rfc792 | # https://tools.ietf.org/html/rfc792 | ||
== | ==== Links ==== | ||
===== Weblinks ===== | |||
[[Kategorie:IPv4]] | [[Kategorie:IPv4]] | ||
[[Kategorie:ICMP]] | |||
</noinclude> |
Aktuelle Version vom 27. Februar 2024, 20:32 Uhr
Internet Control Message Protocol (ICMP) - Austausch von Statusinformationen der IP-Verbindung
Beschreibung
- Das Internet-Protokoll ermöglicht die Kommunikation von Geräten über beliebige Pfade
- Treten dabei Fehler auf, kann ICMP den Absender informieren
- Mögliche Probleme
- Gerät oder Dienst ist nicht erreichbar
- Header-Daten wurden verfälscht
- die 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 |