IPv6: ICMP - Teil 1
RFC-2463 definiert das Internet Control Message Protocol für IPv6. Es informiert über Fehler und hilft bei der Fehlersuche. Hier sind zunächst die Nachrichtentypen des RFC-2463 aufgeführt. Weitere sind in anderen RFCs definiert. Der allgemeine Aufbau der ICMP-Nachricht:

Type (8 Bits) - Der Nachrichten-Typ:
- 1 - Destination Unreachable
- 2 - Packet Too Big
- 3 - Time Exceeded
- 4 - Parameter Problem
- 128 - Echo Request
- 129 - Echo Reply
Code (8 Bits) - Der Code gibt zusätzliche Informationen abhängig vom Typen.
Checksum (16 Bits) - Prüfsumme
Message Body (variabel) - Daten, abhängig vom Nachrichtentyp.
Destination Unreachable
Kann ein IP-Paket nicht zugestellt werden, zeigt diese Fehlermeldung den Grund.

Type (8 Bits) - Nachrichten-Typ 1.
Code (8 Bits) - Code:
- 0 - Keine Route zum Ziel
- 1 - Kommunikation administrativ unterbunden
- 2 - (noch nicht vergeben)
- 3 - Adresse nicht erreichbar
- 4 - Port nicht erreichbar
Checksum (16 Bits) - Prüfsumme
Unused (32 Bits) - Unbenutzt, wird mit 0 initialisiert.
Invoking Packet (32 Bits) - Kopie des Originalpakets, wobei die Größe des ganzen ICMP-Pakets 1280 Bytes nicht überschritten darf.
Packet Too Big
Wenn ein Router ein IP-Paket nicht weiterleiten kann, weil es zu groß für die MTU der benutzten Verbindung ist, sendet er diese Fehlermeldung und verwirft das Paket.

Type (8 Bits) - Nachrichten-Typ 2.
Code (8 Bits) - Code = 0
Checksum (16 Bits) - Prüfsumme
MTU (32 Bits) - MTU der Verbindung zum nächsten Hop
Invoking Packet (32 Bits) - Kopie des Originalpakets, wobei die Größe des ganzen ICMP-Pakets 1280 Bytes nicht überschritten darf.
Time Exceeded
Diese Fehlermeldung erzeugt ein Router, der ein Paket mit einem Hop-Limit von Null empfängt.

Type (8 Bits) - Nachrichten-Typ 3.
Code (8 Bits) - Code:
- 0 - Hop Limit erreicht
- 1 - Zeit zum Zusammensetzen von Fragmenten erreicht
Checksum (16 Bits) - Prüfsumme
Unused (32 Bits) - Unbenutzt, wird mit 0 initialisiert.
Invoking Packet (32 Bits) - Kopie des Originalpakets, wobei die Größe des ganzen ICMP-Pakets 1280 Bytes nicht überschritten darf.
Parameter Problem
Wird ein Fehler in einem IP-Paket entdeckt, schickt der Node diese Fehlermeldung und verwirft das Paket.

Type (8 Bits) - Nachrichten-Typ 3.
Code (8 Bits) - Code:
- 0 - fehlerhaftes Header-Feld
- 1 - unbekannter "Next Header Type"
- 2 - unbekannte IPv6-Option
Checksum (16 Bits) - Prüfsumme
Pointer (32 Bits) - Zeigt auf das Byte (des Originalpakets) an welcher Stelle der Fehler auftritt.
Invoking Packet (32 Bits) - Kopie des Originalpakets, wobei die Größe des ganzen ICMP-Pakets 1280 Bytes nicht überschritten darf.
Echo Request
Das bekannte "ping", um die Erreichbarkeit eines Systems zu prüfen.

Type (8 Bits) - Nachrichten-Typ 128.
Code (8 Bits) - Code = 0.
Checksum (16 Bits) - Prüfsumme
Identifier (16 Bits) - ID, um bei der Zuordnung von Echo Replies zu diesem Echo Request zu helfen.
Sequence Number (16 Bits) - Sequenznummer, um bei der Zuordnung von Echo Replies zu diesem Echo Request zu helfen.
Data (variabel) - Prüfdaten.
Echo Reply
Dies ist die Antwort zu einem "ping".

Type (8 Bits) - Nachrichten-Typ 129.
Code (8 Bits) - Code = 0.
Checksum (16 Bits) - Prüfsumme
Identifier (16 Bits) - ID vom Echo Request.
Sequence Number (16 Bits) - Sequenznummer vom Echo Request.
Data (variabel) - Prüfdaten vom Echo Request.

