参数问题消息 (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 | unused |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Internet Header + 64 bits of Original Data Datagram |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IP 字段
Destination Address (目的地址)
原始数据报数据中的源网络和地址。
ICMP 字段
Type (类型)
12
Code (代码)
0 = 指针指示错误位置 (pointer indicates the error).
Checksum (校验和)
校验和是从 ICMP Type 开始的 ICMP 消息的反码和的 16 位反码。计算校验和时, 校验和字段应置零。此校验和将来可能被替换。
Pointer (指针)
如果 code = 0, 标识检测到错误的字节位置。
Internet Header + 64 bits of Data Datagram (互联网头部 + 数据报数据的 64 位)
互联网头部加上原始数据报数据的前 64 位。主机使用这些数据将消息与适当的进程匹配。如果高层协议使用端口号, 则假定它们位于原始数据报数据的前 64 个数据位中。
描述
如果处理数据报的网关或主机发现头部参数存在问题, 导致无法完成数据报处理, 它必须丢弃该数据报。此类问题的一个潜在来源是选项中的参数不正确。网关或主机也可以通过参数问题消息通知源主机。此消息仅在错误导致数据报被丢弃时才发送。
指针标识原始数据报头部中检测到错误的字节位置。