Parameter Problem Message (Message de problème de paramètre)
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 | unused |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Internet Header + 64 bits of Original Data Datagram |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Champs IP
Destination Address (Adresse de destination)
Le réseau et l'adresse source des données du datagramme original.
Champs ICMP
Type
12
Code
0 = pointer indicates the error (le pointeur indique l'erreur).
Checksum
Le checksum est le complément à un sur 16 bits de la somme en complément à un du message ICMP commençant par le Type ICMP. Pour calculer le checksum, le champ checksum devrait être zéro. Ce checksum peut être remplacé à l'avenir.
Pointer (Pointeur)
Si code = 0, identifie l'octet où une erreur a été détectée.
Internet Header + 64 bits of Data Datagram (En-tête Internet + 64 bits du datagramme de données)
L'en-tête Internet plus les premiers 64 bits des données du datagramme original. Ces données sont utilisées par l'hôte pour faire correspondre le message au processus approprié. Si un protocole de niveau supérieur utilise des numéros de port, ils sont supposés être dans les 64 premiers bits de données des données du datagramme original.
Description
Si la passerelle ou l'hôte traitant un datagramme trouve un problème avec les paramètres d'en-tête tel qu'il ne peut pas terminer le traitement du datagramme, il doit rejeter le datagramme. Une source potentielle d'un tel problème est des arguments incorrects dans une option. La passerelle ou l'hôte peut également notifier l'hôte source via le message de problème de paramètre. Ce message n'est envoyé que si l'erreur a causé le rejet du datagramme.
Le pointeur identifie l'octet de l'en-tête du datagramme original où l'erreur a été détectée.