- Internet Control Message Protocol V6
-
L’ICMP pour IPv6 (Internet Control Message Protocol Version 6) fait partie à part entière de l'architecture IPv6 et doit être complètement supportée par toutes les implémentations d'IPv6. ICMPv6 combine des fonctions antérieurement subdivisées à travers différents protocoles, tels qu’ICMP v4 (Internet Control Message Protocol version 4), IGMP (Internet Group Membership Protocol), et ARP (Address Resolution Protocol), et il introduit quelques simplifications en éliminant des types de messages obsolètes qui ne sont plus utilisés.
Sommaire
Résumé
L'Internet Protocol, version 6 (IPv6) est une nouvelle version d'IP. IPv6 utilise le protocole ICMP comme défini pour IPv4[1], avec quelques changements. Le protocole résultant est appelé ICMPv6. Cet article décrit le format d'un ensemble de messages de contrôle utilisés par ICMPv6.
ICMPv6 est un protocole générique ; par exemple, il est utilisé pour rapporter des erreurs trouvées dans le traitement de paquets, effectuer des diagnostics, effectuer une découverte de voisinage, et rapporter l'appartenance à un multicast. Pour cette raison, les messages ICMPv6 sont catégorisés en deux classes : error messages et information messages. Les datagrammes ICMP sont transportés à l'intérieur de datagrammes IPv6 dans lequel un en-tête d'extension peut aussi être présent. Un message ICMP est identifié par sa valeur 58 positionnée dans le champ Next Header de l'en-tête IPv6.
ICMPv6 (ICMP pour IPv6)
ICMPv6 est utilisé par les nœuds/hôtes IPv6 pour rapporter les erreurs trouvées dans le traitement de datagrammes, et pour effectuer d'autres traitements internes à cette couche, tels que des diagnostics (ICMPv6 « ping »).
Format des paquets
Les paquets ICMPv6 ont le format Type, Code & Checksum. Le champ Type de 8-bits indique le type du message. Si le bit de poids fort a une valeur de zéro, il s'agit d'un message d'erreur ; sinon d’information. Le contenu du champ Code de 8 bits dépend du type de message, et est utilisé pour créer un niveau additionnel de granularité de message. Le champ Checksum est utilisé pour détecter des erreurs dans le message ICMP à l'intérieur du message IPv6.
Messages d'erreur
Les messages d'erreur ICMPv6 sont similaires à ceux d’ICMPv4. Ils appartiennent à l'une des quatre catégories : Destination non atteignable, Paquet trop gros, Time out, et Problèmes de paramétrage.
1 Destination Unreachable 2 Packet Too Big 3 Time Exceeded 4 Parameter Problem
Messages informatifs
L'autre type de messages ICMP est divisé en trois groupes : messages de diagnostic, messages pour la gestion des groupes multicast, et messages de découverte de voisinage. (diagnostic messages, messages for the management of multicast groups, et Neighbor Discovery messages.)
128 Echo Request 129 Echo Reply
Format des datagrammes
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Message Body + | | +---------------------------------------------------------------+
Message Source Address Determination
Un nœud qui envoie un message ICMPv6 doit déterminer à la fois les adresses IPv6 de Source et de Destination de l'en-tête IPv6 avant de calculer la somme de contrôle. Si le nœud a plus d'une adresse unicast, il doit choisir l'adresse source du message de la manière suivante :
- (a) Si le message est une réponse à un message envoyé à l'une des adresses unicast du nœud, l'adresse Source de la réponse doit être la même.
- (b) Si le message est une réponse à un message envoyé en multicast ou anycast, d'un groupe dont le nœud est membre, l'adresse de la réponse doit appartenir au groupe.
- (c) Si le message est une réponse à un message envoyé à une adresse n'appartenant pas au nœud, l'adresse source devrait être l'adresse unicast du nœud qui sera la plus utile au diagnostic de l'erreur.
- (d) Dans les autres cas, en fonction de la table de routage.
Types de messages ICMP
Type Signification 1 Destination Unreachable 2 Packet Too Big 3 Time Exceeded 4 Parameter Problem 128 Echo Request 129 Echo Reply 130 Group Membership Query 131 Group Membership Report 132 Group Membership Reduction 133 Router Solicitation 134 Router Advertisement 135 Neighbor Solicitation 136 Neighbor Advertisement 137 Redirect Liste complète disponible sur le site de l'IANA : http://www.iana.org/assignments/icmpv6-parameters
Références
- (en) RFC 792 – Internet Control Message Protocol
Voir aussi
Liens externes
- RFC 4443 ICMPv6 version la plus récente (RFC 1885 et RFC 2463 version précédente)
- RFC 3971 Découverte sécurisée du voisinage (SEND : SEcure Neighbor Discovery)
- Gisèle Cizault, IPv6, Théorie et pratique, O'Reilly, ISBN 978-2-84177-337-4, évolution du livre
Wikimedia Foundation. 2010.