Icmp

Aus xinux.net
Zur Navigation springen Zur Suche springen

Internet Control Message Protocol

Das 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 und 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 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.


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