4. ICMPv6 信息性消息 (Informational Messages)
4.1. 回显请求消息 (Echo Request 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identifier | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data ...
+-+-+-+-+-
IPv6 字段 (IPv6 Fields):
目标地址 (Destination Address): 任何合法的 IPv6 地址.
ICMPv6 字段 (ICMPv6 Fields):
类型 (Type): 128
代码 (Code): 0
标识符 (Identifier): 一个标识符, 用于帮助将回显应答 (Echo Reply) 与此回显请求 (Echo Request) 匹配. 可以为零.
序列号 (Sequence Number): 一个序列号, 用于帮助将回显应答与此回显请求匹配. 可以为零.
数据 (Data): 零个或多个任意数据八位字节.
描述 (Description)
每个节点必须实现 ICMPv6 回显响应器功能, 用于接收回显请求并发起相应的回显应答. 出于诊断目的, 节点还应当实现一个应用层接口, 用于发起回显请求和接收回显应答.
上层通知 (Upper Layer Notification)
回显请求消息可以传递给接收 ICMP 消息的进程.
4.2. 回显应答消息 (Echo Reply 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identifier | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data ...
+-+-+-+-+-
IPv6 字段 (IPv6 Fields):
目标地址 (Destination Address): 从触发此消息的回显请求数据包的源地址字段复制而来.
ICMPv6 字段 (ICMPv6 Fields):
类型 (Type): 129
代码 (Code): 0
标识符 (Identifier): 来自触发此消息的回显请求消息的标识符.
序列号 (Sequence Number): 来自触发此消息的回显请求消息的序列号.
数据 (Data): 来自触发此消息的回显请求消息的数据.
描述 (Description)
每个节点必须实现 ICMPv6 回显响应器功能, 用于接收回显请求并发起相应的回显应答. 出于诊断目的, 节点还应当实现一个应用层接口, 用于发起回显请求和接收回显应答.
为响应单播回显请求消息而发送的回显应答, 其源地址必须与该回显请求消息的目标地址相同.
对于发送到 IPv6 多播或任播地址的回显请求消息, 应当发送回显应答作为响应. 在这种情况下, 应答的源地址必须是接收该回显请求消息的接口所属的一个单播地址.
在 ICMPv6 回显请求消息中收到的数据, 必须在 ICMPv6 回显应答消息中完整且未经修改地返回.
上层通知 (Upper Layer Notification)
回显应答消息必须传递给发起回显请求消息的进程. 回显应答消息可以传递给未发起该回显请求消息的进程.
请注意, 可放入回显请求和回显应答消息中的数据量没有限制.