|  |   | 
| (69 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | 
| Zeile 1: | Zeile 1: | 
|  | '''IPv6/ICMP''' - (ICMPv6) [[Internet Control Message Protocol]]für [[IPv6]] |  | '''IPv6/ICMPv6''' - ICMPv6 ([[Internet Control Message Protocol]] in [[IPv6-Netzwerk]]en | 
|  | 
 |  | 
 | 
|  | == Beschreibung == |  | == Beschreibung == | 
|  | {| class="wikitable float"
 |  | <div class="float"> | 
|  | |-
 |  | {{:IPv6/ICMPv6/Diagramm}} | 
|  | ! style="background:#C0C0FF;" colspan="2"| ICMPv6 (Internet Control Message Protocol Version 6)
 |  | </div> | 
|  | |-
 |  | 
|  | | align="left" | '''Familie'''
 |  | 
|  | | align="left" | [[Internetprotokolle]]
 |  | 
|  | |-
 |  | 
|  | | align="left" | '''Einsatzgebiet'''
 |  | 
|  | | align="left" style="width:210px;"| Fehlermeldungen, Diagnose, Autoconfiguration, Routing
 |  | 
|  | |-
 |  | 
|  | | align="center" colspan="2" |
 |  | 
|  | {| border="0" cellspacing="3"
 |  | 
|  | |+ '''Internet-Protokolle im [[TCP/IP-Referenzmodell|TCP/IP-Protokollstapel]]'''
 |  | 
|  | |-
 |  | 
|  | | rowspan="2" align="center" bgcolor="#FFCC99" | '''Internet'''
 |  | 
|  | | colspan="5" align="center" bgcolor="#9999FF" | '''ICMPv6'''
 |  | 
|  | |-
 |  | 
|  | | colspan="5" align="center" bgcolor="#EEEEFF" | [[IPv6]]
 |  | 
|  | |-
 |  | 
|  | | rowspan="2" align="center" bgcolor="#FFEEBB" | ''Netzzugang''
 |  | 
|  | | rowspan="2" align="center" bgcolor="#EEEEEE" | [[Ethernet]]
 |  | 
|  | | rowspan="2" align="center" bgcolor="#EEEEEE" | [[Token Bus|Token<br />Bus]]
 |  | 
|  | | rowspan="2" align="center" bgcolor="#EEEEEE" | [[IEEE 802.11|IEEE<br />802.11a/b/g/n]]
 |  | 
|  | | rowspan="2" align="center" bgcolor="#EEEEEE" | [[Fiber Distributed Data Interface|FDDI]]
 |  | 
|  | | rowspan="2" align="center" bgcolor="#EEEEEE" | …
 |  | 
|  | |}
 |  | 
|  | |}
 |  | 
|  |   |  | 
|  | Das '''Internet Control Message Protocol for the Internet Protocol Version 6''' ('''ICMPv6''') ist die mit [[IPv6]] zusammen verwendete Version des [[Internet Control Message Protocol]]
 |  | 
|  | * Es dient, wie schon bei [[IPv4]], in [[Rechnernetz|Netzwerken]] zum Austausch von Fehler- und Informationsmeldungen
 |  | 
|  | * Zusätzlich findet es aber noch im [[Neighbor Discovery Protocol]], dem Ersatz des [[Address Resolution Protocol]], Verwendung
 |  | 
|  | 
 |  | 
 | 
|  | ; ICMPv6 zwingend notwendig |  | ; Fehlererkennung und -meldung | 
|  | Im Gegensatz zum ICMP bei IPv4 ist ICMPv6 zwingend für den Betrieb von IPv6 nötig
 |  | Fehleranalyse | 
|  | * Ein generelles Blockieren von ICMPv6 auf der Firewall führt dazu, dass IPv6 nicht funktioniert (vgl. RFC 4890) |  | * Echo-Request und Echo-Reply für Ping-Operationen | 
|  | 
 |  | 
 | 
|  | ICMPv6 dient als Hilfsprotokoll für IPv6, ist in derselben OSI-Schicht 3wie dieses angesiedelt und nutzt das IPv6-Protokoll zum Versand von ICMP-Nachrichten
 |  | ; Hilfsprotokoll für IPv6 | 
|  | * Als [[Protokoll (IP)|Protokoll-Nummer]]wird dabei 58ins Next-Header-Feld des IPv6-Headers eingefügt |  | OSI-Schicht 3 | 
|  |  | * nutzt das IPv6-Protokoll zum Versand von ICMP-Nachrichten | 
|  |  | * [[Protokoll (IP)|Protokoll-Nummer]] ''58'' im [[Next-Header]]-Feld des [[IPv6-Header]]s | 
|  | 
 |  | 
 | 
|  | == Header ==
 |  | ; Austausch von Fehler- und Informationsmeldungen in [[IPv6]]-[[Rechnernetz|Netzwerken]] | 
|  | {| class="wikitable float small" cellpadding="2"
 |  | [[Neighbor Discovery Protocol]] | 
|  | |+ ICMPv6 Header
 |  | * Nachfolger des [[Address Resolution Protocol]] mit [[IPv4]] | 
|  | |-align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 0
 |  | 
|  | | colspan="8" | Type
 |  | 
|  | | colspan="8" | Code
 |  | 
|  | | colspan="16" | Prüfsumme
 |  | 
|  | |-align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"|…
 |  | 
|  | | colspan="32" | ICMPv6-Nachricht …
 |  | 
|  | |}
 |  | 
|  | 
 |  | 
 | 
|  | Das Feld ''Type'' gibt die Klasse der ICMP-Nachricht an
 |  | ; Aufgaben | 
|  | * welche mit dem Feld ''Code'' genauer spezifiziert werden kann |  | * [[Adressauflösung]] | 
|  | Die Prüfsumme wird zur Verifizierung der Gültigkeit des ICMPv6-Pakets benutzt
 |  | * [[Reichweiten-Ermittlung]] | 
|  | 
 |  | 
 | 
|  | Der restliche Inhalt der ICMP-Nachricht wird durch den jeweiligen Typ bestimmt
 |  | ; Bedeutung von ICMPv6 | 
|  | * Bei Fehlernachrichten wird nach den möglichen zusätzlichen Feldern immer noch so viel wie möglich vom fehlerverursachenden Paket angehängt |  | ICMPv6 oft erforderlich | 
|  |   |  | * Im Gegensatz zum ICMP bei IPv4 ist ICMPv6 zwingend für den Betrieb von IPv6 erforderlich | 
|  | === Prüfsumme ===
 |  | * Ein generelles Blockieren von ICMPv6 auf der Firewall führt dazu, dass IPv6 nicht funktioniert (vgl. RFC 4890) | 
|  | {| class="wikitable small float" cellpadding="2"
 |  | 
|  | |+ Prüfsummen-Schema
 |  | 
|  | |-
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 0
 |  | 
|  | | colspan="32" rowspan="4" | IPv6-Absender-Adresse
 |  | 
|  | |-
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 32
 |  | 
|  | |-
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 64
 |  | 
|  | |-
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 96
 |  | 
|  | |-
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 128
 |  | 
|  | | colspan="32" rowspan="4" | IPv6-Ziel-Adresse
 |  | 
|  | |-
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 160
 |  | 
|  | |-
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 192
 |  | 
|  | |-
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 224
 |  | 
|  | |-
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 256
 |  | 
|  | | colspan="32" | IPv6-Nutzlast-Größe
 |  | 
|  | |-
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 288
 |  | 
|  | | colspan="24" | Checksumme 0
 |  | 
|  | | colspan="8" | Next Header 58
 |  | 
|  | |}
 |  | 
|  |   |  | 
|  | Die Prüfsumme (engl. ''checksum'') eines ICMPv6-Pakets istein 16-Bit-[[Einerkomplement]] der Summe des Einerkomplements der gesamten ICMPv6-Nachricht
 |  | 
|  | * Zusätzlich zur Nachricht wird noch ein IPv6-Pseudoheader vorne angehängt
 |  | 
|  | * Zur Berechnung der Prüfsumme wird das Prüfsummenfeld auf0 gesetzt |  | 
|  | * Der zur Berechnung der Prüfsumme verwendete Pseudoheader sieht wie im Schema nebenan aus
 |  | 
|  |   |  | 
|  | Dies ist eine derNeuerungen von ICMPv6 gegenüber [[Internet Control Message Protocol|ICMP]],wo die Prüfsumme nur über den ICMP-Header berechnet wurde
 |  | 
|  | 
 |  | 
 | 
|  | == Verarbeitung == |  | == Verarbeitung == | 
|  | ; Regeln für die Verarbeitung von ICMPv6-Nachrichten |  | ; Regeln für die Verarbeitung von ICMPv6-Nachrichten | 
|  | * Unbekannte ICMPv6-Fehlernachrichten müssen an die darüberliegende Netzwerkschicht weitergereicht werden
 |  | 
|  | * Unbekannte ICMPv6-Informationsnachrichten müssen ohne Benachrichtigung des Absenders verworfen werden
 |  | 
|  | * Jeder Fehlernachricht wird am Ende so viel wie möglich des fehlerverursachenden Pakets angehängt
 |  | 
|  | * Die Protokollnummer zum Weiterreichen von unbekannten Fehlernachrichten wird aus dem angehängten Originalpaket entnommen
 |  | 
|  | 
 |  | 
|  | ; Auf folgende Pakete werden keine Fehlernachrichten versandt:
 |  | 
|  | * Fehlernachrichten
 |  | 
|  | * Pakete an Multicast-, Link-Level-Multicast- oder Link-Level-Broadcast-Adressen mit folgenden Ausnahmen:
 |  | 
|  | ** Packet-Too-Big-Nachrichten
 |  | 
|  | ** Parameter-Problem-Nachrichten mit Code 2 – unbekannte IPv6-Option
 |  | 
|  | * Das Netz darf nicht mit ICMPv6-Fehlernachrichten geflutet werden
 |  | 
|  | 
 |  | 
|  | == Nachrichten-Typen ==
 |  | 
|  | {| class="wikitable options big" |  | {| class="wikitable options big" | 
|  | |- |  | |- | 
|  | ! Gruppe !! TType !! Beschreibung |  | ! Nachricht !! Beschreibung | 
|  | |- |  | |- | 
|  | | Fehlernachrichten || 0–127 || mit dem [[Bitwertigkeit|höchstwertigen Bit]] (engl. ''most significant bit'') auf 0, sind Fehlernachrichten |  | | Unbekannte ICMPv6-Fehlernachrichten || müssen an die darüberliegende Netzwerkschicht weitergereicht werden | 
|  | |- |  | |- | 
|  | | Informationsnachrichten || 128–255 || mit dem höchstwertigen Bit auf 1, sind Informationsnachrichten |  | | Unbekannte ICMPv6-Informationsnachrichten || müssen ohne Benachrichtigung des Absenders verworfen werden | 
|  | |}
 |  | 
|  |   |  | 
|  | == Fehlernachrichten ==
 |  | 
|  | {| class="wikitable big options col1center"
 |  | 
|  | ! class="hintergrundfarbe6"| Type
 |  | 
|  | ! class="hintergrundfarbe6"| Beschreibung
 |  | 
|  | ! class="hintergrundfarbe6"| RFC
 |  | 
|  | |- |  | |- | 
|  | |1 ||[[#Destination Unreachable|Destination Unreachable]] ||[https://www.rfc-editor.org/rfc/4443 RFC 4443] |  | | Fehlerverursachendes Paket || Jeder Fehlernachricht wird am Ende so viel wie möglich des fehlerverursachenden Pakets angehängt | 
|  | |- |  | |- | 
|  | |2 ||[[#Packet Too Big|Packet Too Big]] ||[https://www.rfc-editor.org/rfc/4443 RFC 4443] |  | | Protokollnummer || Die Protokollnummer zum Weiterreichen von unbekannten Fehlernachrichten wird aus dem angehängten Originalpaket entnommen | 
|  | |-
 |  | 
|  | |3 || [[#Time Exceeded|Time Exceeded]] ||[https://www.rfc-editor.org/rfc/4443 RFC 4443]
 |  | 
|  | |-
 |  | 
|  | |4 || [[#Parameter Problem|Parameter Problem]] ||[https://www.rfc-editor.org/rfc/4443 RFC 4443]
 |  | 
|  | |} |  | |} | 
|  | 
 |  | 
 | 
|  | ==== Destination Unreachable ====
 |  | ; Keine Antworten auf | 
|  |  | Netz darf nicht mit ICMPv6-Fehlernachrichten geflutet werden | 
|  | 
 |  | 
 | 
|  | {| class="wikitable float small"
 |  | Auf folgende Pakete werden keine Fehlernachrichten versandt | 
|  | |+ Destination-Unreachable-Schema
 |  | * Fehlernachrichten | 
|  | |-align="center"
 |  | * Pakete an Multicast-, Link-Level-Multicast- oder Link-Level-Broadcast-Adressen mit folgenden  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 0
 |  | 
|  | | colspan="8" | Type
 |  | 
|  | | colspan="8" | Code
 |  | 
|  | | colspan="16" | Prüfsumme
 |  | 
|  | |-align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 32
 |  | 
|  | | colspan="32" | Unbenutzt
 |  | 
|  | |-align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| …
 |  | 
|  | | colspan="32" | Fehlerhaftes Paket
 |  | 
|  | |}
 |  | 
|  | ; Destination Unreachable - Type 1
 |  | 
|  | ''Destination-Unreachable''-Nachrichten sollten vom Router erzeugt werden, wenn ein Paket nicht ausgeliefert werden konnte
 |  | 
|  | * Wenn das Paket wegen Überlastung fallen gelassen wurde, muss keine ''Destination Unreachable'' versandt werden
 |  | 
|  | 
 |  | 
 | 
|  | Wenn das Paket wegen fehlender Routen nicht ausgeliefert wurde, wird der Code 0 gesetzt
 |  | Ausnahmen | 
|  | * Ist das Ausliefern administrativ verboten ([[Firewall]]), wird der Code 1 gesetzt |  | * Packet-Too-Big-Nachrichten | 
|  | * Wenn der Router die IPv6-Adresse nicht auflösen kann, oder ein Problem mitdem Link hat, wird der Code3 gesetzt |  | * Parameter-Problem-Nachrichten mit Code 2 - unbekannte IPv6-Option | 
|  | * Wenn ein Zielhost für ein UDP-Paket keinen Listener hat, sollte er ein ''Destination Unreachable'' mit Code 4 versenden
 |  | 
|  | 
 |  | 
 | 
|  | Wenn ein ''Destination Unreachable'' empfangen wird, muss es der darüberliegenden Schicht weitergereicht werden
 |  | <noinclude> | 
|  | 
 |  | 
 | 
|  | ==== Packet Too Big ==== |  | == Anhang == | 
|  | {| class="wikitable float small"
 |  | ==== RFC ==== | 
|  | |+ Packet-Too-Big-Schema
 |  | {| class="wikitable options big col1center" | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 0
 |  | 
|  | | colspan="8" | Type
 |  | 
|  | | colspan="8" | Code
 |  | 
|  | | colspan="16" | Prüfsumme
 |  | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 32
 |  | 
|  | | colspan="32" | MTU
 |  | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| …
 |  | 
|  | | colspan="32" | Fehlerhaftes Paket
 |  | 
|  | |}
 |  | 
|  |   |  | 
|  | ; Packet Too Big - Type 2
 |  | 
|  | Eine ''Packet-Too-Big''-Nachricht muss vom Router erzeugt werden, wenn ein Paket nicht weitergeleitet werden kann, weil es größer ist als die maximale [[Maximum Transmission Unit|MTU]] des Links, über den es versendet werden soll. ''Packet-Too-Big''-Nachrichten werden vom [https://de.wikipedia.org/wiki/Path_MTU_Discovery Path MTU Discovery] gebraucht, um die pfadabhängige MTU zu ermitteln
 |  | 
|  |   |  | 
|  | Der Code sollte vom Sender auf 0 gesetzt und vom Empfänger ignoriert werden
 |  | 
|  |   |  | 
|  | Wenn ein ''Packet Too Big'' empfangen wird, muss es dem darüberliegenden Layer weitergereicht werden
 |  | 
|  |   |  | 
|  | ==== Time Exceeded ==== |  | 
|  | {| class="wikitable float small" |  | 
|  | |+ Time-Exceeded-Schema
 |  | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"|0
 |  | 
|  | | colspan="8" | Type
 |  | 
|  | | colspan="8" | Code
 |  | 
|  | | colspan="16" | Prüfsumme
 |  | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"|32
 |  | 
|  | | colspan="32" | Unbenutzt
 |  | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| …
 |  | 
|  | | colspan="32" | Fehlerhaftes Paket
 |  | 
|  | |}
 |  | 
|  |   |  | 
|  | ; Time Exceeded - Type 3
 |  | 
|  | Wenn ein Router ein Paket mit einem [[Hop (Netzwerktechnologie)|Hop]]-Limit von 0 erhält, oder den [[Time to Live|Time-to-Live]]-Wert auf 0 reduziert, muss er das Paket verwerfen und ein ''Time Exceeded'' mit Code 0 an den Absender versenden
 |  | 
|  | * Das zeigt entweder eine Endlosschleife im Routing an oder ein zu kleines anfängliches Hop-Limit
 |  | 
|  |   |  | 
|  | Wenn von einer fragmentierten Nachricht nicht alle Fragmente innerhalb einer gewissen Zeit ankommen, wird das Paket verworfen und es muss ein ''Time Exceeded'' mit Code 1 versendet werden
 |  | 
|  |   |  | 
|  | ==== Parameter Problem ====
 |  | 
|  | {| class="wikitable float small"
 |  | 
|  | |+ Parameter-Problem-Schema
 |  | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 0
 |  | 
|  | | colspan="8" | Type
 |  | 
|  | | colspan="8" | Code
 |  | 
|  | | colspan="16" | Prüfsumme
 |  | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 32
 |  | 
|  | | colspan="32" | Pointer
 |  | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| …
 |  | 
|  | | colspan="32" | Fehlerhaftes Paket
 |  | 
|  | |}
 |  | 
|  |   |  | 
|  | ; Parameter Problem - Type 4
 |  | 
|  | Wenn ein Host beim Verarbeiten eines IPv6-Pakets ein Problem in einem Feld feststellt und nicht mit der Verarbeitung weiterfahren kann, muss er das Paket verwerfen und eine ''Parameter-Problem''-Nachricht verschicken
 |  | 
|  |   |  | 
|  | Mit dem Code wird dabei die Art des Problems genauer beschrieben
 |  | 
|  |   |  | 
|  | {| class="wikitable bigoptions col1center"
 |  | 
|  | | 0
 |  | 
|  | | Fehlerhaftes Header-Feld gefunden
 |  | 
|  | |- |  | |- | 
|  | | 1
 |  | ! RFC !! Titel !! Jahr !! Status | 
|  | | Unbekannter Next-Header-Typ gefunden
 |  | 
|  | |- |  | |- | 
|  | | 2 |  | | [https://www.rfc-editor.org/info/rfc2460 2460] || Internet Protocol, Version 6 (IPv6) Specification || 1998 || Ersetzt durch: [[RFC/8200]] | 
|  | | Unbekannte IPv6-Option |  | 
|  | |- |  | |- | 
|  | | 3
 |  | | [https://www.rfc-editor.org/info/rfc3122 3122] || Extensions to IPv6 Neighbor Discovery for Inverse Discovery Specification || ||   | 
|  | | Unvollständiger IPv6 Header Chain im ersten IPv6 Fragment
 |  | 
|  | |}
 |  | 
|  |   |  | 
|  | Der Pointer zeigt dabei auf die Stelle im Paket, an der das Problem aufgetreten ist
 |  | 
|  |   |  | 
|  | == Informationsnachrichten ==
 |  | 
|  | {| class="wikitable big options"
 |  | 
|  | ! class="hintergrundfarbe6"| Type
 |  | 
|  | ! class="hintergrundfarbe6"| Beschreibung
 |  | 
|  | ! class="hintergrundfarbe6"| RFC
 |  | 
|  | |-
 |  | 
|  | |128 || [[#Echo Request|Echo Request]] || [https://www.rfc-editor.org/rfc/4443 RFC 4443]
 |  | 
|  | |-
 |  | 
|  | |129 || [[#|Echo Reply|Echo Reply]] ||[https://www.rfc-editor.org/rfc/4443|RFC 4443]
 |  | 
|  | |-
 |  | 
|  | |130 || [[#Multicast Listener Query|Multicast Listener Query]] ||RFC 2710 und RFC 3810
 |  | 
|  | |-
 |  | 
|  | |131 || Version 1 Multicast Listener Report |RFC 2710
 |  | 
|  | |-
 |  | 
|  | |132 || Multicast Listener Done ||RFC 2710
 |  | 
|  | |-
 |  | 
|  | |133 || Router Solicitation || RFC 4861
 |  | 
|  | |-
 |  | 
|  | |134 || Router Advertisement || RFC 4861
 |  | 
|  | |-
 |  | 
|  | |135 || |NeighborSolicitation ||RFC 4861
 |  | 
|  | |-
 |  | 
|  | |136 || Neighbor Advertisement ||RFC 4861
 |  | 
|  | |-
 |  | 
|  | |137 || Redirect || RFC 4861
 |  | 
|  | |-
 |  | 
|  | |138
 |  | 
|  | |Router Renumbering |  | 
|  | |RFC 2894
 |  | 
|  | |-
 |  | 
|  | |139
 |  | 
|  | |ICMP Node Information Query
 |  | 
|  | |RFC 4620
 |  | 
|  | |-
 |  | 
|  | |140 |  | 
|  | |ICMP Node Information Response |  | 
|  | |RFC 4620 |  | 
|  | |- |  | |- | 
|  | |141 |  | | [https://www.rfc-editor.org/info/rfc4443 4443] || Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification || ||   | 
|  | |Inverse Neighbor Discovery Solicitation Message |  | 
|  | |RFC 3122 |  | 
|  | |- |  | |- | 
|  | |142 |  | | [https://www.rfc-editor.org/info/rfc4604 4604] || Using Internet Group Management Protocol Version 3 (IGMPv3) and Multicast Listener Discovery Protocol Version 2 (MLDv2) for Source-Specific Multicast || 2006 || Proposed Standard | 
|  | |Inverse Neighbor DiscoveryAdvertisement Message |  | 
|  | |RFC 3122 |  | 
|  | |- |  | |- | 
|  | |143 |  | | [https://www.rfc-editor.org/info/rfc4861 4861] || Neighbor Discovery for IP Version 6 (IPv6) || ||   | 
|  | |Version 2 Multicast Listener Report |  | 
|  | |RFC 3810 |  | 
|  | |- |  | |- | 
|  | |144 |  | |- [https://www.rfc-editor.org/info/rfc4890 4890] || Recommendations for Filtering ICMPv6 Messages in Firewalls || ||   | 
|  | |Home Agent Address Discovery Request Message |  | 
|  | |RFC 3775 |  | 
|  | |- |  | |- | 
|  | |145 |  | | [https://www.rfc-editor.org/info/rfc7112 7112] || Implications of Oversized IPv6 Header Chains || ||   | 
|  | |Home Agent Address Discovery Reply Message |  | 
|  | |RFC 3775 |  | 
|  | |- |  | |- | 
|  | |146 |  | | [https://www.rfc-editor.org/info/rfc8200 8200] || Internet Protocol, Version 6 (IPv6) Specification  || || löst [https://www.rfc-editor.org/info/rfc2460 2460] ab | 
|  | |Mobile Prefix Solicitation
 |  | 
|  | |RFC 3775
 |  | 
|  | |-
 |  | 
|  | |147
 |  | 
|  | |Mobile Prefix Advertisement
 |  | 
|  | |RFC 3775
 |  | 
|  | |-
 |  | 
|  | |148
 |  | 
|  | |Certification Path Solicitation Message
 |  | 
|  | |RFC 3971
 |  | 
|  | |-
 |  | 
|  | |149
 |  | 
|  | |Certification Path Advertisement Message
 |  | 
|  | |RFC 3971
 |  | 
|  | |-
 |  | 
|  | |150
 |  | 
|  | |ICMP messages utilized by experimental mobility protocols such as Seamoby
 |  | 
|  | |RFC 4065
 |  | 
|  | |-
 |  | 
|  | |151
 |  | 
|  | |Multicast Router Advertisement
 |  | 
|  | |RFC 4286
 |  | 
|  | |-
 |  | 
|  | |152
 |  | 
|  | |Multicast Router Solicitation
 |  | 
|  | |RFC 4286
 |  | 
|  | |-
 |  | 
|  | |153 |  | 
|  | |Multicast Router Termination |  | 
|  | |RFC 4286 |  | 
|  | |-
 |  | 
|  | |155 |  | 
|  | |RPL Control Message |  | 
|  | |[https://www.rfc-editor.org/rfc/rfc6550.html RFC 6550] |  | 
|  | |-
 |  | 
|  | |200
 |  | 
|  | |Private experimentation
 |  | 
|  | |
 |  | 
|  | |-
 |  | 
|  | |201
 |  | 
|  | |Private experimentation
 |  | 
|  | |
 |  | 
|  | |-
 |  | 
|  | |255
 |  | 
|  | |Reserved for expansion of ICMPv6 informational messages
 |  | 
|  | |
 |  | 
|  | |}
 |  | 
|  |   |  | 
|  | ==== Echo Request ====
 |  | 
|  | {| class="wikitable float small"
 |  | 
|  | |+ Echo-Request-Schema
 |  | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 0
 |  | 
|  | | colspan="8" | Type
 |  | 
|  | | colspan="8" | Code
 |  | 
|  | | colspan="16" | Prüfsumme
 |  | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 32
 |  | 
|  | | colspan="16" | Identifikation
 |  | 
|  | | colspan="16" | Sequenznummer
 |  | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| …
 |  | 
|  | | colspan="32" | Daten
 |  | 
|  | |} |  | |} | 
|  | 
 |  | 
 | 
|  | ; Echo Request - Type 128
 |  | 
|  | Mit einem ''Echo Request'' wird um eine Antwort gebeten
 |  | 
|  | * Ein ''Echo Request'' ist nichts anderes als ein simpler [[Ping (Datenübertragung)|Ping]]
 |  | 
|  | * Das Datenfeld kann mit Daten vergrößert werden, um größere Pakete zu produzieren
 |  | 
|  | * So kann man zum Beispiel die [[Maximum Transmission Unit|MTU]] ermitteln
 |  | 
|  | 
 |  | 
|  | Jedes System muss gemäß RFC auf ''Echo Request''s reagieren und mit ''Echo Replies'' antworten
 |  | 
|  | * Auch sollte jedes System eine Anwendung zum Versenden und Empfangen von ''Echo Request/Replies'' besitzen
 |  | 
|  | * Hiervon wird in der Praxis jedoch oft abgewichen, so blockiert beispielsweise die Windows-Firewall standardmäßig ICMPv6-Echo-Request-Anfragen
 |  | 
|  | 
 |  | 
|  | Empfangene ''Echo Request'' können an Anwendungen weitergeleitet werden, die auf ICMP-Nachrichten horchen
 |  | 
|  | 
 |  | 
|  | ==== Echo Reply ====
 |  | 
|  | {| class="wikitable float small"
 |  | 
|  | |+ Echo-Reply-Schema
 |  | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 0
 |  | 
|  | | colspan="8" | Type
 |  | 
|  | | colspan="8" | Code
 |  | 
|  | | colspan="16" | Prüfsumme
 |  | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| 32
 |  | 
|  | | colspan="16" | Identifikation
 |  | 
|  | | colspan="16" | Sequenznummer
 |  | 
|  | |- align="center"
 |  | 
|  | ! class="hintergrundfarbe6" colspan="1"| …
 |  | 
|  | | colspan="32" | Daten
 |  | 
|  | |}
 |  | 
|  | 
 |  | 
|  | ; Echo Reply - Type 129
 |  | 
|  | Auf eine ''Echo-Request''-Nachricht muss mit einem ''Echo Reply'' geantwortet werden
 |  | 
|  | * Das Paket ist bis auf das Typenfeld dasselbe. ''Echo-Reply''-Nachrichten sollen nur an Unicast-Adressen verschickt werden
 |  | 
|  | 
 |  | 
|  | Anhand der Identifikation und der Sequenznummer wird der Empfänger die Antworten zu seinen Anfragen zuordnen können
 |  | 
|  | 
 |  | 
|  | Empfangene ''Echo-Reply''-Nachrichten müssen an die Anwendung weitergereicht werden, die den zugehörigen ''Echo Request'' versendet hat
 |  | 
|  | * An die restlichen auf ICMP horchende Anwendungen kann es weitergereicht werden
 |  | 
|  | 
 |  | 
|  | ==== Multicast Listener Discovery ====
 |  | 
|  | ; Multicast Listener Discovery - Type 130
 |  | 
|  | MLD ist die Implementation von [[Internet Group Management Protocol|IGMP]] (IPv4) in IPv6
 |  | 
|  | * Es wird also genutzt, um [[Multicast]]-Abonnements zu verwalten
 |  | 
|  | * Dabei entspricht '''MLDv1 IGMPv2''' und '''MLDv2 IGMPv3'''
 |  | 
|  | * Bei den jeweils neueren Versionen lässt sich bestimmen, welche Quell-Adressen für Multicast-Streams akzeptabel sind.), Windows seit 2006 (Vista), FreeBSD seit 2009 (8.0)
 |  | 
|  | 
 |  | 
|  | <noinclude>
 |  | 
|  | 
 |  | 
|  | == Anhang ==
 |  | 
|  | === Siehe auch === |  | === Siehe auch === | 
|  | {{Special:PrefixIndex/IPv6}} |  | {{Special:PrefixIndex/IPv6/ICMPv6}} | 
|  | ==== RFC ====
 |  | 
|  | {| class="wikitable sortable options big"
 |  | 
|  | |-
 |  | 
|  | ! RFC !! Titel
 |  | 
|  | |-
 |  | 
|  | | [https://www.rfc-editor.org/rfc/rfc3122 3122] || Extensions to IPv6 Neighbor Discovery for Inverse Discovery Specification
 |  | 
|  | |-
 |  | 
|  | | [https://www.rfc-editor.org/rfc/rfc4443 4443] || Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification
 |  | 
|  | |-
 |  | 
|  | | [https://www.rfc-editor.org/rfc/rfc4604 4604] ||
 |  | 
|  | |-
 |  | 
|  | | [https://www.rfc-editor.org/rfc/rfc4861 4861] || Neighbor Discovery for IP Version 6 (IPv6)
 |  | 
|  | |-
 |  | 
|  | |- [https://www.rfc-editor.org/rfc/rfc4890 4890] || Recommendations for Filtering ICMPv6 Messages in Firewalls
 |  | 
|  | |-
 |  | 
|  | | [https://www.rfc-editor.org/rfc/rfc7112 7112] || Implications of Oversized IPv6 Header Chains
 |  | 
|  | |-
 |  | 
|  | | [https://www.rfc-editor.org/rfc/rfc8200 8200] || Internet Protocol, Version 6 (IPv6) Specification, löst [https://www.rfc-editor.org/rfc/rfc2460 2460] ab
 |  | 
|  | |}
 |  | 
|  | 
 |  | 
 | 
|  | ==== Links====
 |  | === Links === | 
|  | ===== Weblinks=====
 |  | ==== Weblinks ==== | 
|  | # https://de.wikipedia.org/wiki/ICMPv6 |  | # https://de.wikipedia.org/wiki/ICMPv6 | 
|  | # [https://www.iana.org/assignments/icmpv6-parameters IANA ICMP Parameters] - Vollständige Liste der ICMPv6-Typen und -Codes |  | # [https://www.iana.org/assignments/icmpv6-parameters IANA ICMP Parameters] - Vollständige Liste der ICMPv6-Typen und -Codes | 
|  | 
 |  | 
 | 
|  | [[Kategorie:Abkürzung]]
 |  | [[Kategorie:IPv6/ICMPv6]] | 
|  | [[Kategorie:IPv6/ICMP]] |  | 
|  | </noinclude> |  | </noinclude> |