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

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

Сообщение Time Exceeded

 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             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             unused                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Заголовок IP и 64 бита исходной дейтаграммы          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Поля IP

  • Destination Address
  • Адрес отправителя исходной дейтаграммы.

Поля ICMP

  • Type
  • 11
  • Code
  • 0 — время жизни истекло в процессе доставки;
  • 1 — время жизни истекло в процессе сборки фрагментов.
  • Checksum
  • Контрольная сумма представляет собой 16-битовое поразрядное дополнение до единицы суммы поразрядных дополнений до единицы сообщения ICMP, начиная с поля ICMP Type. При расчете контрольной суммы значение поля checksum принимается нулевым. Алгоритм вычисления контрольной суммы может быть изменен в будущем.
  • Заголовок IP и 64 бита исходной дейтаграммы
  • Эта информация используется хостом, чтобы связать сообщение с подходящим процессом. Если протокол вышележащего уровня использует порты, можно полагать, что номер порта присутствует в первых 64 байтах данных исходной дейтаграммы.

Описание

Если обрабатывающий дейтаграмму шлюз видит, что поле TTL содержит нулевое значение, дейтаграмма должна быть отброшена. Шлюз может уведомить отправителя дейтаграммы с помощью сообщения time exceeded.

Если хост, собирающий дейтаграмму из фрагментов, не может завершить сборку в течение заданного времени по причине нехватки фрагментов, дейтаграмма должна быть отброшена. Хост может передать отправителю дейтаграммы сообщение time exceeded.

При отсутствии нулевого фрагмента сообщение time exceeded передавать не нужно.

Код 0 может быть получен от шлюза, код 1 — от хоста.

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