答案1
数据部分是强制性的回复数据包,如果请求数据包中有数据部分。应答系统必须发送一个包含完全相同数据部分的答复。RFC792未指定请求数据包中的数据部分是否是强制性的。Data
此架构中的 未像(optional)
许多其他 RFC 中一样标记为。
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 ...
+-+-+-+-+-
但是,发送零字节数据的 ping 是完全可能的。在 Windows 上尝试:
ping <destination> -l 0
这证明 ICMP-Echo-Request 中的数据部分是可选的。