Skip to main content

Echo or 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 ...
+-+-+-+-+-

IP字段 (IP Fields)

Addresses (地址)

回显消息中的源地址将是回显应答消息的目的地址. 要形成回显应答消息, 只需交换源地址和目的地址, 将类型代码更改为0, 并重新计算校验和.

ICMP字段 (ICMP Fields)

Type (类型)

  • 8 = echo message (回显消息);
  • 0 = echo reply message (回显应答消息).

Code (代码)

0

Checksum (校验和)

校验和是从ICMP类型开始的ICMP消息的反码和的16位反码. 计算校验和时, 校验和字段应该 (SHOULD) 为零. 如果总长度为奇数, 则接收的数据用一个八位组的零填充以计算校验和. 该校验和将来可能 (MAY) 被替换.

Identifier (标识符)

如果code = 0, 则为帮助匹配回显和应答的标识符, 可以 (MAY) 为零.

Sequence Number (序列号)

如果code = 0, 则为帮助匹配回显和应答的序列号, 可以 (MAY) 为零.

Data (数据)

可变长度的数据.

描述 (Description)

在回显消息中接收的数据必须 (MUST) 在回显应答消息中返回.

标识符和序列号可以 (MAY) 被回显发送方用于帮助将应答与回显请求匹配. 例如, 标识符可能像TCP或UDP中的端口一样用于标识会话, 序列号可能在发送的每个回显请求上递增. 回显响应者在回显应答中返回这些相同的值.

Code 0可以 (MAY) 从网关或主机接收.