Icmp: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Thomas (Diskussion | Beiträge) |
|||
| (11 dazwischenliegende Versionen von 2 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. | ||
| − | + | [[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. | |
| − | |||
| − | + | = 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 === | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | ===EXKURS: ICMP TYPES AND CODES=== | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| − | ! TYPE | + | ! 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) |

