Internet Control Message Protocol: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Markierung: Manuelle Zurücksetzung |
||
(166 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''I'''nternet '''C'''ontrol '''M'''essage '''P'''rotocol (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 Lebenszeit (TTL) eines Datagramms ist abgelaufen | ||
* die Pufferkapazität des Empfängers ist erschöpft | * 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 == | |||
=== Header === | |||
[[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 | |||
* 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 | |||
{| class="wikitable | {| class="wikitable options big" | ||
|- | |- | ||
! Typ !! Typname !! Code !! Bedeutung | ! Typ !! Typname !! Code !! Bedeutung | ||
|- | |- | ||
| 0 || Echo | | 0 || Echo Reply || 0 || Echo-Antwort | ||
|- | |- | ||
|rowspan="7"| 3 || rowspan="7"| | |rowspan="7"| 3 || rowspan="7"| Destination Unreachable || 0 || Netzwerk nicht erreichbar | ||
|- | |- | ||
| 1 || Host (Zielstation) nicht erreichbar | | 1 || Host (Zielstation) nicht erreichbar | ||
Zeile 56: | Zeile 70: | ||
| 13 || Paket wird von der Firewall des Empfängers geblockt | | 13 || Paket wird von der Firewall des Empfängers geblockt | ||
|- | |- | ||
| 4 || | | 4 || Source Quench || 0 || Datagramm verworfen, da Warteschlange voll | ||
|- | |||
|rowspan="4"| 5 || rowspan="4"| 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 | ||
|- | |- | ||
|rowspan="2"| 11 || rowspan="2"| | |rowspan="2"| 11 || rowspan="2"| Time Exceeded || 0 || TTL (Time To Live, Lebensdauer) abgelaufen | ||
|- | |- | ||
| 1 || Zeitlimit während der Defragmentierung überschritten | | 1 || Zeitlimit während der Defragmentierung überschritten | ||
|} | |} | ||
== ICMP-Daten | === 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 == | ||
{| 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/{{BASEPAGENAME}}}} | |||
---- | |||
{{Special:PrefixIndex/ICMP}} | |||
==== Dokumentation ==== | |||
===== RFC ===== | |||
# https://tools.ietf.org/html/rfc792 | |||
==== Links ==== | |||
===== Weblinks ===== | |||
[[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 |