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)