Часть данных является обязательной в ответных пакетах, если в пакете запроса есть часть данных. Автоответчик должен отправить ответ, содержащий точно такую же часть данных. 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-эхо-запросе является необязательной.