Типы ICMP-сообщений

Все типы ICMP-сообщений могут быть разделены на два класса:

□ диагностические сообщения об ошибках;

□ информационные сообщения типа запрос/ответ. ICMP-сообщение инкапсулируется в поле данных IP-пакета (рис. 19.19).

ICMP-сообщение 20 байт 1 байт 1 байт 2 байта 4 байта
Заголовок Тип Код Контрольная Зависит от типа Зависит от типа
  сумма и кода и кода

Заголовок ICMP (8 байт) Рис. 19.19. Инкапсуляция и формат ICMP-сорбщения

Заголовок ICMP состоит из 8 байт; поля заголовка перечислены ниже.

□ Тип (размером 1 байт) содержит код, определяющий тип сообщения. Основ­ные типы сообщений перечислены в табл. 19.7.

□ Код (размером 1 байт) более тонко дифференцирует тип ошибки.

□ Контрольная сумма, подсчитанная для всего ICMP-сообщения, занимает 2 байта.

Заголовок также включает поле из 4 байт, содержимое которого зависит от зна­чений полей типа и кода. В сообщениях типа запрос/ответ это поле содержит 2-байтовые подполя идентификатора и порядкового номера (см. далее). Числа и:з этих подполей дублируются из сообщения-запроса в сообщение-ответ. Иден­тификатор позволяет узлу-получателю сообщения определить, какому приложе­нию направлен этот ответ, а порядковый номер используется приложением, что­бы связать ответ с соответствующим запросом (учитывая, что одно приложение может выдать несколько однотипных запросов). В сообщениях об ошибке это поле не используется и заполняется нулями.

Таблица 19.7. Возможные значения поля типа
Значение Тип сообщения
  Эхо-ответ
  Узел назначения недостижим
  Подавление источника
  Перенаправление маршрута
а Эхо-запрос

продолжение &


  Глава 19. Базовые протоколы TCP/IP
Таблица 19.7 (продолжение)
Значение Тип сообщения j
  Истечение времени дейтаграммы |
  Проблема с параметром пакета;
  I Запрос отметки времени
  Ответ отметки времени
  Запрос маски
  Ответ маски

Каждый тип ошибки может быть более точно охарактеризован кодом ошибки. Например, в табл. 19.8 приведены коды для сообщения о недостижимости узла назначения (ошибка типа 3 из предыдущей таблицы). Эти коды, которые могут быть указаны в сообщении этого типа, позволяют выявить множество различ­ных причин данной ситуации. Недостижимость узла назначения может, в част­ности, быть вызвана временной неработоспособностью аппаратуры, неверным адресом назначения, отсутствием протокола прикладного уровня или открытого порта UDP/TCP в узле назначения.

 

Таблица 19.8. Коды, детализирующие причину ошибки о недостижимости узла назначения

Код Причина
  Сеть недостижима
  Узел недостижим
  Протокол недостижим
  Порт недостижим
  Требуется фрагментация, а бит DF установлен
  Ошибка в маршруте, заданном источником
  Сеть назначения неизвестна
  Узел назначения неизвестен
  Узел-источник изолирован
  Взаимодействие с сетью назначения административно запрещено
  Взаимодействие с узлом назначения административно запрещено
И Сеть недостижима для заданного класса сервиса
  Узел недостижим для заданного класса сервиса
  Взаимодействие административно запрещено путем фильтрации

Формат поля данных ICMP-сообщения также зависит от значений полей типа и кода. Чтобы показать различия в форматах разных типов сообщений, мы рас­смотрим в следующих разделах два примера:

□ сообщения типа эхо-запрос и эхо-ответ;

□ сообщение о недостижимости узла назначения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: