Сообщение Parameter Problem
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Pointer | unused | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Заголовок IP и 64 бита исходной дейтаграммы | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Поля IP
- Destination Address
- Адрес отправителя исходной дейтаграммы.
Поля ICMP
- Type
- 12
- Code
- 0 — поле pointer pointerpointer содержит указатель на ошибку.
- Checksum
- Контрольная сумма представляет собой 16-битовое поразрядное дополнение до единицы суммы поразрядных дополнений до единицы сообщения ICMP, начиная с поля ICMP Type. При расчете контрольной суммы значение поля checksum принимается нулевым. Алгоритм вычисления контрольной суммы может быть изменен в будущем.
- Pointer
- Если code = 0, данное поле указывает октет, в котором обнаружена ошибка.
- Заголовок IP и 64 бита исходной дейтаграммы
- Эта информация используется хостом, чтобы связать сообщение с подходящим процессом. Если протокол вышележащего уровня использует порты, можно полагать, что номер порта присутствует в первых 64 байтах данных исходной дейтаграммы.
Описание
Если шлюз или хост, обрабатывающий дейтаграмму, встречает в заголовке параметры, которые не могут быть обработаны, такая дейтаграмма отбрасывается. Одной из причин таких ошибок являются некорректные аргументы в полях опций. Шлюз или хост может уведомить отправителя дейтаграммы о возникновении проблем с помощью сообщения parameter problem. Такие сообщения передаются только в случаях отбрасывания проблемной дейтаграммы.
Поле pointer указывает октет в заголовке исходной дейтаграммы, в котором была обнаружена ошибка (она может находиться в поле опций). Например, значение 1 показывает ошибку в поле Type of Service, а 20 (если в заголовке присутствуют опции) говорит о некорректности кода первой опции.
Код 0 может быть получен от шлюза или хоста.