ICMP - описание протокола

ICMP (англ. Internet Control Message Protocol — протокол межсетевых управляющих сообщений) — сетевой протокол, входящий в стек протоколов TCP/IP.

В основном протокол ICMP определён RFC 792 (с дополнениями в RFC 950)

Основное

В основном ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных (IP датаграммы), например, запрашиваемая услуга недоступна, или хост, или маршрутизатор не отвечают. Также на ICMP возлагаются некоторые сервисные функции.

Основная информация о протоколе содержится в RFC 792 (на русском здесь).

Ниже же будут приведены некоторые вспомогательные заметки.

Формата пакета

формат ICMP пакета
данный пакет инкапсулируется в IP пакет - и располагается в области его данных (после IP заголовка)

Типы сообщений будут приведены ниже, код - это уточнение типа. (см RFC 792 .)

Виды сообщений

Название = номер типа:

  1. Сообщение о недостижимости порта = 3
  2. Сообщение о превышении контрольного времени = 11
  3. Сообщение о проблемах с параметром (напр. в ip заголовке) = 12
  4. Сообщение для приостановки отправителя (сдерживание источника -отключение источника при переполнении очереди) = 4
  5. Сообщение о переадресации = 5
  6. Эхо-сообщение и сообщение в ответ на эхо = 8 - если ответ и 0 - если запрос
  7. Сообщение со штампом времени и сообщение с ответом на штамп времени = 13 для сообщения со штампом времени, 14 для ответа на сообщение со штампом времени
  8. Запрос информации и ответное сообщение с информацией (15,16)

Избежание перегрузки

ICMP не сообщает о:

  • 1) собственных повреждённых пакетах (вообще о неполадках связанных с передачей ICMP пакетов инкапсулированных в IP )
  • 2) о пакетах, с номером больше 0 (при разбиении данных на последовательность при передачи через IP)

Такие ограничения введены, в частности, в связи с ограниченной пропускной способностью сетей.

Литература

Помимо приведённых выше ссылок полезными могут оказаться эти статьи