Aller au contenu principal

3. Messages d'erreur ICMPv6 (ICMPv6 Error Messages)

3.1. Message de destination inaccessible (Destination Unreachable Message)

    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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Unused |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| As much of invoking packet |
+ as possible without the ICMPv6 packet +
| exceeding the minimum IPv6 MTU [IPv6] |

Champs IPv6 :

Adresse de destination (Destination Address) : Copiée du champ Adresse source du paquet invoquant.

Champs ICMPv6 :

Type : 1

Code :

  • 0 - No route to destination (Aucun chemin vers la destination)
  • 1 - Communication with destination administratively prohibited (Communication avec la destination interdite administrativement)
  • 2 - Beyond scope of source address (Au-delà de la portée de l'adresse source)
  • 3 - Address unreachable (Adresse inaccessible)
  • 4 - Port unreachable (Port inaccessible)
  • 5 - Source address failed ingress/egress policy (L'adresse source a échoué à la politique d'entrée/sortie)
  • 6 - Reject route to destination (Route vers la destination rejetée)

Unused : Ce champ est inutilisé pour toutes les valeurs de code. Il doit être initialisé à zéro par l'émetteur et ignoré par le récepteur.

Description

Un message Destination Unreachable devrait être généré par un routeur, ou par la couche IPv6 dans le nœud d'origine, en réponse à un paquet qui ne peut pas être livré à son adresse de destination pour des raisons autres que la congestion. (Un message ICMPv6 ne doit pas être généré si un paquet est abandonné en raison de la congestion.)

Si la raison de l'échec de livraison est l'absence d'une entrée correspondante dans la table de routage du nœud de transfert, le champ Code est défini à 0.

Si la raison de l'échec de livraison est une interdiction administrative (par exemple, un "filtre de pare-feu"), le champ Code est défini à 1.

Si la raison de l'échec de livraison est que la destination est au-delà de la portée de l'adresse source, le champ Code est défini à 2.

Si la raison de l'échec de livraison ne peut être mappée à aucun autre code, le champ Code est défini à 3.

Un nœud de destination devrait émettre un message Destination Unreachable avec Code 4 en réponse à un paquet pour lequel le protocole de transport (par exemple, UDP) n'a pas d'écouteur.

Si la raison de l'échec de livraison est que le paquet avec cette adresse source n'est pas autorisé en raison de politiques de filtrage d'entrée ou de sortie, le champ Code est défini à 5.

Si la raison de l'échec de livraison est que la route vers la destination est une route de rejet, le champ Code est défini à 6.

Les codes 5 et 6 sont des sous-ensembles plus informatifs du code 1.

Notification de couche supérieure (Upper Layer Notification)

Un nœud recevant le message ICMPv6 Destination Unreachable doit notifier le processus de couche supérieure si le processus concerné peut être identifié (voir Section 2.4, (d)).

3.2. Message de paquet trop grand (Packet Too Big Message)

    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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MTU |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| As much of invoking packet |
+ as possible without the ICMPv6 packet +
| exceeding the minimum IPv6 MTU [IPv6] |

Champs IPv6 :

Adresse de destination : Copiée du champ Adresse source du paquet invoquant.

Champs ICMPv6 :

Type : 2

Code : Défini à 0 (zéro) par l'émetteur et ignoré par le récepteur.

MTU : L'unité de transmission maximale (Maximum Transmission Unit) du lien du prochain saut.

Description

Un message Packet Too Big doit être envoyé par un routeur en réponse à un paquet qu'il ne peut pas transférer car le paquet est plus grand que le MTU du lien sortant. Les informations contenues dans ce message sont utilisées dans le cadre du processus de découverte du MTU de chemin (Path MTU Discovery) [PMTU].

L'émission d'un message Packet Too Big constitue une exception à l'une des règles concernant le moment d'émettre un message d'erreur ICMPv6. Contrairement à d'autres messages, il est envoyé en réponse à un paquet reçu avec une adresse de destination multicast IPv6, ou avec une adresse multicast ou broadcast de couche liaison.

Notification de couche supérieure

Un message Packet Too Big entrant doit être transmis au processus de couche supérieure si le processus concerné peut être identifié (voir Section 2.4, (d)).

3.3. Message de temps dépassé (Time Exceeded Message)

    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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Unused |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| As much of invoking packet |
+ as possible without the ICMPv6 packet +
| exceeding the minimum IPv6 MTU [IPv6] |

Champs IPv6 :

Adresse de destination : Copiée du champ Adresse source du paquet invoquant.

Champs ICMPv6 :

Type : 3

Code :

  • 0 - Hop limit exceeded in transit (Limite de saut dépassée en transit)
  • 1 - Fragment reassembly time exceeded (Temps de réassemblage des fragments dépassé)

Unused : Ce champ est inutilisé pour toutes les valeurs de code. Il doit être initialisé à zéro par l'émetteur et ignoré par le récepteur.

Description

Si un routeur reçoit un paquet avec une limite de saut (Hop Limit) de zéro, ou si un routeur décrémente la limite de saut d'un paquet à zéro, il doit abandonner le paquet et émettre un message ICMPv6 Time Exceeded avec Code 0 à la source du paquet. Cela indique soit une boucle de routage, soit une valeur de limite de saut initiale trop petite.

Un message ICMPv6 Time Exceeded avec Code 1 est utilisé pour signaler un dépassement du délai de réassemblage des fragments, comme spécifié dans [IPv6, Section 4.5].

Notification de couche supérieure

Un message Time Exceeded entrant doit être transmis au processus de couche supérieure si le processus concerné peut être identifié (voir Section 2.4, (d)).

3.4. Message de problème de paramètre (Parameter Problem Message)

    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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| As much of invoking packet |
+ as possible without the ICMPv6 packet +
| exceeding the minimum IPv6 MTU [IPv6] |

Champs IPv6 :

Adresse de destination : Copiée du champ Adresse source du paquet invoquant.

Champs ICMPv6 :

Type : 4

Code :

  • 0 - Erroneous header field encountered (Champ d'en-tête erroné rencontré)
  • 1 - Unrecognized Next Header type encountered (Type Next Header non reconnu rencontré)
  • 2 - Unrecognized IPv6 option encountered (Option IPv6 non reconnue rencontrée)

Pointer (Pointeur) : Identifie le décalage d'octet dans le paquet invoquant où l'erreur a été détectée. Le pointeur pointera au-delà de la fin du paquet ICMPv6 si le champ en erreur est au-delà de ce qui peut tenir dans la taille maximale d'un message d'erreur ICMPv6.

Description

Si un nœud IPv6 traitant un paquet trouve un problème avec un champ dans l'en-tête IPv6 ou les en-têtes d'extension tel qu'il ne peut pas compléter le traitement du paquet, il doit abandonner le paquet et devrait émettre un message ICMPv6 Parameter Problem à la source du paquet, indiquant le type et l'emplacement du problème.

Les codes 1 et 2 sont des sous-ensembles plus informatifs du Code 0.

Le pointeur identifie l'octet de l'en-tête du paquet original où l'erreur a été détectée. Par exemple, un message ICMPv6 avec un champ Type de 4, un champ Code de 1 et un champ Pointer de 40 indiquerait que l'en-tête d'extension IPv6 suivant l'en-tête IPv6 du paquet original contient une valeur de champ Next Header non reconnue.

Notification de couche supérieure

Un nœud recevant ce message ICMPv6 doit notifier le processus de couche supérieure si le processus concerné peut être identifié (voir Section 2.4, (d)).