Internet Control Message Protocol
(Weitergeleitet von ICMP)
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 |