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

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

Сообщения Echo и Reply

 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        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Данные ...
+-+-+-+-+-

Поля IP

  • Address
  • Адрес отправителя сообщения echo будет адресом получателя в сообщении echo reply. Для формирования сообщений echo reply поля адресов отправителя и получателя просто меняются местами, значение кода заменяется на 0 и заново вычисляется контрольная сумма.

Поля ICMP

  • Type
  • 8 — для сообщений echo
  • 0 — для сообщений echo reply
  • Code
  • 0
  • Checksum
  • Контрольная сумма представляет собой 16-битовое поразрядное дополнение до единицы суммы поразрядных дополнений до единицы сообщения ICMP, начиная с поля ICMP Type. При расчете контрольной суммы значение поля checksum принимается нулевым. Если общий размер имеет нечетное значение, полученные данные при расчете контрольной суммы дополняются нулевым октетом. Алгоритм вычисления контрольной суммы может быть изменен в будущем.
  • Идентификатор
  • Если code = 0, идентификатор для обеспечения соответствия запросов и откликов может быть нулевым.
  • Порядковый номер
  • Если code = 0, порядковый номер для обеспечения соответствия запросов и откликов может быть нулевым.

Описание

Данные, принятые из сообщения echo, должны возвращаться в сообщении echo reply.

Значения идентификатора и порядкового номера могут использоваться отправителем сообщений echo в целях обеспечения соответствия между запросами и откликами. Например, значение идентификатора может использоваться по аналогии с портами TCP и UDP для обозначения сеансов, а порядковый номер может увеличиваться на единицу в каждом передаваемом запросе echo (отвечающая сторона сохраняет порядковые номера в откликах).

Код 0 может приходить от шлюзов и хостов.

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