Icmp
Zur Navigation springen
Zur Suche springen
Internet Control Message Protocol (ICMP)
- ICMP ist Bestandteil jeder IP-Implementierung und transportiert Fehler- und Diagnoseinformationen (RFC 792).
- Verwendung: Diagnose und Testzwecke (z. B. Erreichbarkeit eines Hosts prüfen).
- Aufbau: Der Grundaufbau des ICMP-Headers ist konstant, die Bedeutung der weiteren Felder variiert je nach Nachrichtentyp.
- Kapselung: Jede ICMP-Nachricht wird in einem IP-Datagramm eingekapselt.
Einsatz von ICMP
- IP nutzt ICMP für Fehler- und Diagnosemeldungen; ICMP nutzt IP zur Übertragung.
- Bei Bedarf wird ein IP-Datagramm erzeugt und die ICMP-Meldung in den Datenbereich eingebettet.
- ICMP-Nachrichten sind immer Antworten auf ein Datagramm (aufgrund eines Problems oder einer Anfrage).
- Ein Host oder Router sendet die ICMP-Nachricht immer an die Quelle des ursprünglichen Datagramms zurück.
Wichtige ICMP-Nachrichtentypen
Destination Unreachable (Ziel nicht erreichbar)
- Verwendung bei: Nichterreichbarkeit von Netzwerk, Host, Protokoll oder Port.
- Sonderfall MTU: Tritt auf, wenn ein Paket nicht fragmentiert werden kann (DF-Bit gesetzt), aber die MTU des nächsten Hops zu klein ist (Type 3, Code 4). Dies ist die Basis für die Path MTU Discovery (PMTUD).
- Firewalls: Viele Administratoren blockieren ICMP Type 3, was die Fehlersuche erschwert, da Pakete ohne Rückmeldung einfach verworfen werden ("Black Hole").
Host unreachable
- IP 192.168.240.100 > 192.168.244.2: ICMP host 192.168.255.67 unreachable, length 36
Net unreachable
- IP 192.168.255.3 > 192.168.244.2: ICMP net 65.21.34.0/24 unreachable, length 92
Port unreachable
- IP 192.168.240.100 > 192.168.244.2: ICMP 192.168.240.100 udp port 44444 unreachable, length 36
Redirect
- Wird gesendet, wenn ein Router eine Fehlleitung feststellt.
- Der Host wird aufgefordert, die Route auf ein spezifisches Gateway zu ändern.
Time Exceeded (Zeit verstrichen)
- Gesendet an den Absender, wenn die Lebensdauer (TTL) den Wert 0 erreicht.
- Ursachen: Routing-Zyklen (Schleifen), Netzüberlastung oder zu geringe initiale Lebensdauer.
- Beispiel: IP 192.168.255.3 > 192.168.244.2: ICMP time exceeded in-transit
Echo Request, Echo Reply
- Prüfung der Erreichbarkeit eines Ziels (Ping-Befehl).
- Echo Request (Type 8) erfordert einen Echo Reply (Type 0) vom Zielhost.
- IP 192.168.244.2 > 136.243.187.66: ICMP echo request, id 30461, seq 1, length 64
- IP 136.243.187.66 > 192.168.244.2: ICMP echo reply, id 30461, seq 1, length 64
Source Quench / Parameter Problem
- Source Quench: Aufforderung zur Drosselung der Senderate bei Überlastung.
- Parameter Problem: Meldung über Paketverwurf aufgrund fehlerhafter Angaben im IP-Header.
EXKURS: ICMP TYPES AND CODES
| TYPE | CODE | Description | Q | E |
|---|---|---|---|---|
| 0 | 0 | Echo Reply | x | |
| 3 | 0 | Network Unreachable | x | |
| 3 | 1 | Host Unreachable | ||
| 3 | 2 | Protocol Unreachable | ||
| 3 | 3 | Port Unreachable | ||
| 3 | 4 | Fragmentation needed but no frag. bit set | ||
| 3 | 9 | Destination network administratively prohibited | ||
| 3 | 10 | Destination host administratively prohibited | ||
| 3 | 13 | Communication administratively prohibited by filtering | ||
| 5 | 0 | Redirect for network | ||
| 5 | 1 | Redirect for host | ||
| 8 | 0 | Echo request | x | |
| 11 | 0 | TTL equals 0 during transit | x | |
| 11 | 1 | TTL equals 0 during reassembly | ||
| 12 | 0 | IP header bad (catchall error) |

