Icmp: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Thomas (Diskussion | Beiträge) |
|||
| (19 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | =Internet Control Message Protocol= | + | = Internet Control Message Protocol (ICMP) = |
| − | + | * ICMP ist Bestandteil jeder IP-Implementierung und transportiert Fehler- und Diagnoseinformationen (RFC 792). | |
| − | Implementierung und | + | * Verwendung: Diagnose und Testzwecke (z. B. Erreichbarkeit eines Hosts prüfen). |
| − | Diagnoseinformationen | + | * 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. | |
| − | |||
| − | |||
| − | |||
| − | der | ||
| − | |||
| − | |||
| − | + | [[Bild:MessageProtocol.png]] | |
| + | = 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. | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | *IP | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
[[Bild:icmp.png]] | [[Bild:icmp.png]] | ||
| + | * 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. | ||
| − | ICMP- | + | = 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 === | ||
| − | + | {| class="wikitable" | |
| + | |- | ||
| + | ! 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) || || | ||
| + | |} | ||
Aktuelle Version vom 29. März 2026, 10:44 Uhr
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) |

