Icmp: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(11 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
=Internet Control Message Protocol=
 
=Internet Control Message Protocol=
 +
*ICMP ist Bestandteil jeder IP- Implementierung und hat die Aufgabe Fehler- und Diagnoseinformationen für IP zu transportieren.
 +
*ICMP ist im RFC 792 spezifiziert.
 +
*Oft wird ICMP auch für Testzwecke verwendet, etwa um zu 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).
 +
[[Bild:MessageProtocol.png]]
 +
=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.
 +
*Die ICMP-Meldung in den Datenbereich des IP-Datengramms eingekapselt (siehe Abbildung).
  
Das Internet Control Message Protocol (ICMP) ist Bestandteil jeder IP-
+
[[Bild:icmp.png]]
Implementierung und hat die Aufgabe Fehler- und
+
=ICMP-Nachrichten-Einkapselung.=
Diagnoseinformationen für IP zu transportieren. ICMP ist im RFC 792
+
*Das Datengramm wird dann wie üblich versendet.  
spezifiziert. Oft wird ICMP auch für Testzwecke verwendet, etwa um zu
+
*Eine ICMP-Nachricht wird immer als Antwort auf ein Datengramm verschickt.
ermitteln, ob ein Host derzeit empfangsbereit ist.
+
*Entweder ist ein Datengramm auf ein Problem gestoßen, oder das Datengramm enthält eine ICMP-Anfrage
ICMP hat sehr unterschiedliche Informationen zu transportieren. Deshalb
+
*Auf diese dann  eine Antwort versendet versendet werden muß.
ist nur der Grundaufbau des ICMP-Headers immer gleich, die Bedeutung
+
*In beiden Fällen sendet ein Host oder Router eine ICMP-Nachricht an die Quelle des Datengramms zurück.
der einzelnen Felder im Protokollkopf wechselt jedoch. Jeder ICMP-
+
=Die derzeit wichtigsten ICMP-Nachrichtentypen sind=
Nachrichtentyp wird in einem IP-Datengramm eingekapselt.
 
Der ICMP-Header (allgemeiner Aufbau).
 
 
 
<center>[[Bild:MessageProtocol.png]]</center>
 
 
 
 
 
 
 
Die derzeit wichtigsten ICMP-Nachrichtentypen sind:
 
 
 
  
 
==Destination Unreachable (Ziel nicht erreichbar)==
 
==Destination Unreachable (Ziel nicht erreichbar)==
 
 
Diese Nachricht wird verwendet, wenn:
 
Diese Nachricht wird verwendet, wenn:
 
ein Netzwerk, Host, Protokoll oder Port nicht erreichbar ist,
 
ein Netzwerk, Host, Protokoll oder Port nicht erreichbar ist,
Zeile 29: Zeile 31:
 
===Net unreachable===
 
===Net unreachable===
 
*IP 192.168.255.3 > 192.168.244.2: ICMP net 65.21.34.0/24 unreachable, length 92
 
*IP 192.168.255.3 > 192.168.244.2: ICMP net 65.21.34.0/24 unreachable, length 92
 
 
===Port unreachable===
 
===Port unreachable===
 
*IP 192.168.240.100 > 192.168.244.2: ICMP 192.168.240.100 udp port 44444 unreachable, length 36
 
*IP 192.168.240.100 > 192.168.244.2: ICMP 192.168.240.100 udp port 44444 unreachable, length 36
====Source Quench (Quelle löschen)====
+
===Redirect===
 
+
Wird ausgesendet, wenn ein Router feststellt, daß ein Paket falsch weitergeleitet wurde. Der sendende Host wird damit aufgefordert, die angegebene Route zu ändern.
Wird ausgesendet, wenn ein Host zu viele Pakete verschickt, die aus
+
*IP 192.168.244.2 > 192.168.242.28: ICMP redirect 8.8.8.8 to host 192.168.240.100, length 92
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)====
 
====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 Lebensdauerfür das Paket zu gering eingestellt wurde
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
 
*IP 192.168.255.3 > 192.168.244.2: ICMP time exceeded in-transit, length 92
 
 
====Echo Request, Echo Reply====
 
====Echo Request, Echo Reply====
 
+
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).
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 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
 
*IP 136.243.187.66 > 192.168.244.2: ICMP echo reply, id 30461, seq 1, length 64
 
+
===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.
 
====Timestamp Request, Timestamp Reply====
 
====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.
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]]
 
 
 
 
 
ICMP-Nachrichten-Einkapselung.
 
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.
 
 
 
 
 
 
===EXKURS: ICMP TYPES AND CODES===
 
===EXKURS: ICMP TYPES AND CODES===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Zeile 135: Zeile 84:
 
| 3      || 13    || Communication administrativelv prohibited by filtering  ||    ||
 
| 3      || 13    || Communication administrativelv prohibited by filtering  ||    ||
 
|-
 
|-
| 0     || 14    || Host precedence violation    ||    ||  
+
| 3     || 14    || Host precedence violation    ||    ||  
 
|-
 
|-
 
| 3      || 15    || Precedence cutoff in effect  ||    ||  
 
| 3      || 15    || Precedence cutoff in effect  ||    ||  
Zeile 175: Zeile 124:
 
| 18    || 0    || Adress mask reply            ||    ||
 
| 18    || 0    || Adress mask reply            ||    ||
 
|}
 
|}
 
[[Bild:icmp-types.png]]
 
 
 
[[Bild:icmp-types2.png]]
 
 
 
[[Bild:icmp-types3.png]]
 

Aktuelle Version vom 17. September 2021, 08:42 Uhr

Internet Control Message Protocol

  • ICMP ist Bestandteil jeder IP- Implementierung und hat die Aufgabe Fehler- und Diagnoseinformationen für IP zu transportieren.
  • ICMP ist im RFC 792 spezifiziert.
  • Oft wird ICMP auch für Testzwecke verwendet, etwa um zu 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).

MessageProtocol.png

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.
  • Die ICMP-Meldung in den Datenbereich des IP-Datengramms eingekapselt (siehe Abbildung).

Icmp.png

ICMP-Nachrichten-Einkapselung.

  • 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 diese dann 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.

Die derzeit wichtigsten ICMP-Nachrichtentypen sind

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

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 ausgesendet, wenn ein Router feststellt, daß ein Paket falsch weitergeleitet wurde. Der sendende Host wird damit aufgefordert, die angegebene Route zu ändern.

  • IP 192.168.244.2 > 192.168.242.28: ICMP redirect 8.8.8.8 to host 192.168.240.100, length 92

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 Lebensdauerfür das Paket zu gering eingestellt wurde

  • IP 192.168.255.3 > 192.168.244.2: ICMP time exceeded in-transit, length 92

Echo Request, Echo Reply

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

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.

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.

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 5 Source routing failed
3 6 Destination network unknow
3 7 Destination host unknow
3 8 Source host isolated (obsolete)
3 9 Destination network administrativelv prohibited
3 10 Destination host administrativelv prohibited
3 11 Network unreachable for TOS
3 12 Host Unreachable for TOS
3 13 Communication administrativelv prohibited by filtering
3 14 Host precedence violation
3 15 Precedence cutoff in effect
4 0 Source quench
5 0 Redirect for network
5 1 Redirect for host
5 2 Redirect for TOS and network
5 3 Redirect for TOS and host
8 0 Echo request x
9 0 Router advertisement
10 0 Route sollicitation
11 0 TTL equals 0 during transit x
11 1 TTL equals 0 during reassemblv
12 0 IP header bad (catchall error)
12 1 Required options missing
13 0 Timestamp request (obsolete)
14 0 Timestamp reply (obsolete)
15 0 Information request (obsolete)
16 0 Information reply (obsolete)
17 0 Adress mask request
18 0 Adress mask reply