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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Тип | Код | Контрольная сумма |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| не используется |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Internet заголовок + 64 бита данных из исходной датаграммы |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Поля IP заголовка
Заимствованы сеть и адрес отправителя из мсходной датаграммы с данными.
Поля ICMP сообщения
0 | при передаче превышено время жизни |
1 | превышено контрольное время при сборке фрагментов датаграммы |
Контрольная сумма является 16-битным дополнением до единицы суммы дополнений в ICMP сообщении, начиная с поля типа ICMP. При вычислениии суммы следует сперва обнулить поле контрольной суммы. В будущем алгоритм контрольной суммы может быть изменен.
Описание
Если фрагмент нулевого размера превысил контрольное время, то сообщение в этом не посылается вовсе.
Шлюз может послать сообщение с кодом 0б а хост - с кодом 1.