Icmp: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(17 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Internet Control Message Protocol=
+
= Internet Control Message Protocol (ICMP) =
  
Das Internet Control Message Protocol (ICMP) ist Bestandteil jeder IP-
+
* ICMP ist Bestandteil jeder IP-Implementierung und transportiert Fehler- und Diagnoseinformationen (RFC 792).
Implementierung und hat die Aufgabe Fehler- und
+
* Verwendung: Diagnose und Testzwecke (z. B. Erreichbarkeit eines Hosts prüfen).
Diagnoseinformationen für IP zu transportieren. ICMP ist im RFC 792
+
* Aufbau: Der Grundaufbau des ICMP-Headers ist konstant, die Bedeutung der weiteren Felder variiert je nach Nachrichtentyp.
spezifiziert. Oft wird ICMP auch für Testzwecke verwendet, etwa um zu
+
* Kapselung: Jede ICMP-Nachricht wird in einem IP-Datagramm eingekapselt.
ermitteln, ob ein Host derzeit empfangsbereit ist.
 
ICMP hat sehr unterschiedliche Informationen zu transportieren. Deshalb
 
ist nur der Grundaufbau des ICMP-Headers immer gleich, die Bedeutung
 
der einzelnen Felder im Protokollkopf wechselt jedoch. Jeder ICMP-
 
Nachrichtentyp wird in einem IP-Datengramm eingekapselt.
 
Der ICMP-Header (allgemeiner Aufbau).
 
  
<center>[[Bild:MessageProtocol.png]]</center>
+
[[Bild:MessageProtocol.png]]
  
 +
= Einsatz von ICMP =
  
 
+
* IP nutzt ICMP für Fehler- und Diagnosemeldungen; ICMP nutzt IP zur Übertragung.
Die derzeit wichtigsten ICMP-Nachrichtentypen sind:
+
* Bei Bedarf wird ein IP-Datagramm erzeugt und die ICMP-Meldung in den Datenbereich eingebettet.
 
 
 
 
==Destination Unreachable (Ziel nicht erreichbar)==
 
 
 
Diese Nachricht wird verwendet, wenn:
 
ein Netzwerk, Host, Protokoll oder Port nicht erreichbar ist,
 
ein Paket nicht fragmentiert werden kann, weil das DF-Bit gesetz ist,
 
die Source Route Option nicht erfolgreich ist.
 
===Host unreachable===
 
*IP 192.168.240.100 > 192.168.244.2: ICMP host 192.168.255.67 unreachable, length 36
 
 
 
 
 
 
 
====Source Quench (Quelle löschen)====
 
 
 
Wird ausgesendet, wenn ein Host zu viele Pakete verschickt, die aus
 
Kapazitätsmangel nicht mehr verarbeitet werden können. Der
 
sendende Host muß dann die Rate zum Aussenden von Nachrichten
 
verringern.
 
 
 
 
 
====Parameter Problem====
 
 
 
Verständigt den Absender eines Datengramms darüber, daß das Paket
 
aufgrund einer fehlerhaften Angabe im IP-Header verworfen werden
 
mußte.
 
 
 
 
 
====Redirect====
 
 
 
Wird ausgesendet, wenn ein Router feststellt, daß ein Paket falsch
 
weitergeleitet wurde. Der sendende Host wird damit aufgefordert, die
 
angegebene Route zu ändern.
 
 
 
 
 
====Time Exceeded (Zeit verstrichen)====
 
 
 
Diese Nachricht wird an den Absender eines Datengramms gesendet,
 
dessen Lebensdauer den Wert 0 erreicht hat. Diese Nachricht ist ein
 
Zeichen dafür, daß Pakete in einem Zyklus wandern, daß Netz
 
überlastet ist oder die Lebensdauer für das Paket zu gering eingestellt
 
wurde
 
*IP 192.168.255.3 > 192.168.244.2: ICMP time exceeded in-transit, length 92
 
 
 
====Echo Reply, Echo Request====
 
 
 
Mit diesen Nachrichten kann festgestellt werden, ob ein bestimmtes
 
Ziel erreichbar ist. Ein Echo Request wird an einen Host gesendet und
 
hat einen Echo Reply zur Folge (falls der Host erreicht wird).
 
 
 
*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
 
 
 
====Timestamp Request, Timestamp Reply====
 
 
 
Diese beiden Nachrichten sind ähnlich den zuvor beschriebenen
 
Nachrichten, außer das die Ankunftszeit der Nachricht und die
 
Sendezeit der Antwort mit erfaßt werden. Mit diesen
 
Nachrichtentypen kann die Netzleistung gemessen werden.
 
 
 
===Einsatz von icmp===
 
 
 
IP verwendet ICMP zum versenden von Fehler- und Diagnosemeldungen,
 
während ICMP zur Übertragung seiner Nachrichten IP benutzt. Das
 
bedeutet, wenn eine ICMP-Nachricht verschickt werden muß, wird ein IP-
 
Datengramm erzeugt und die ICMP-Meldung in den Datenbereich des IP-
 
Datengramms eingekapselt (siehe Abbildung).
 
  
 
[[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-Nachrichten-Einkapselung.
+
= Wichtige ICMP-Nachrichtentypen =
Das Datengramm wird dann wie üblich versendet. Eine ICMP-Nachricht
 
wird immer als Antwort auf ein Datengramm verschickt. Entweder ist ein
 
Datengramm auf ein Problem gestoßen, oder das Datengramm enthält
 
eine ICMP-Anfrage, auf die eine Antwort versendet versendet werden
 
muß. In beiden Fällen sendet ein Host oder Router eine ICMP-Nachricht
 
an die Quelle des Datengramms zurück.
 
  
 +
== 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").
  
===EXKURS: ICMP TYPES AND CODES===
+
=== 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.
  
[[Bild:icmp-types.png]]
+
== 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
  
[[Bild:icmp-types2.png]]
+
== 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 ===
  
[[Bild:icmp-types3.png]]
+
{| 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.

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.

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

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)