RFC: 792
Оригинал: Internet Control Message Protocol
Предыдущие версии: RFC 777
Категория: Стандарт Интернета
Дата публикации:
Автор:
Перевод: Николай Малых

RFC 792, Страница 5 из 11

Сообщение 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 может быть получен от шлюза или хоста.

Страница 5 из 11

2007 - 2022 © Русские переводы RFC, IETF, ISOC.