Протокол Internet Control Message Protocol (ICMP) является сетевым протоколом для сетей Интернет-протокола (IP). ICMP передает управляющую информацию для статуса самой сети, а не данных приложения. IP-сеть требует ICMP для правильной работы.
ICMP-сообщения - это особый вид IP-сообщения, отличного от TCP и UDP.
Самым известным примером обмена сообщениями ICMP на практике является утилита ping, которая использует ICMP для проверки удаленных хостов для реагирования и измерения общего времени округления пробных сообщений.
ICMP также поддерживает другие утилиты, такие как traceroute, которые идентифицируют промежуточные устройства маршрутизации («переходы») на пути между данным источником и получателем.
ICMP против ICMPv6
Исходное определение ICMP поддерживаемых сетей протокола IP версии 4 (IPv4). IPv6 включает пересмотренную форму протокола, обычно называемую ICMPv6, чтобы отличить ее от оригинальной ICMP (иногда называемой ICMPv4).
Типы сообщений ICMP и форматы сообщений
ICMP-сообщения несут данные, необходимые для работы и администрирования компьютерной сети. Протокол сообщает об условиях, таких как невосприимчивые устройства, ошибки при передаче и проблемы с перегрузкой сети.
Как и другие протоколы в семействе IP, ICMP определяет заголовок сообщения. Заголовок содержит четыре поля в следующей последовательности:
- Тип (8 бит)
- Код (8 бит)
- Контрольная сумма (16 бит)
- Данные ICMP (32 бита)
ICMP определяет список конкретных типов сообщений и присваивает каждому уникальный номер.
Как показано в таблице ниже, ICMPv4 и ICMPv6 предоставляют некоторые общие типы сообщений (но часто с разными номерами), а также некоторые сообщения, уникальные для каждого. (Общие типы сообщений могут также незначительно отличаться в их поведении между версиями IP).
| v4 # | v6 # | Тип | Описание |
|---|---|---|---|
| 0 | 129 | Эхо-ответ | Сообщение, отправленное в ответ на запрос эхо-сигнала (см. Ниже) |
| 3 | 1 | Недоступен | Отправляется в ответ на недопустимое сообщение IP по любой из причин. |
| 4 | - | Источник Quench | Устройство может отправить это сообщение отправителю, который генерирует входящий трафик быстрее, чем может быть обработан. (Заменены другими методами.) |
| 5 | 137 | Сообщение о перенаправлении | Маршрутизирующие устройства могут генерировать этот метод, если они обнаруживают изменение запрошенного маршрута для IP-сообщения, которое должно быть изменено. |
| 8 | 128 | Эхо-запрос | Сообщение, отправленное утилитами ping для проверки оперативности целевого устройства |
| 11 | 3 | Время превышено | Маршрутизаторы генерировали это сообщение, когда входящие данные достигли своего предела количества «хоп». Используется traceroute. |
| 12 | - | Проблема с параметром | Сгенерировано, когда устройство обнаруживает поврежденные или отсутствующие данные во входящем IP-сообщении. |
| 13, 14 | - | Временная метка (запрос, ответ) | Предназначен для синхронизации часов времени между двумя устройствами через IPv4 (заменяется другими более надежными методами). |
| - | 2 | Слишком большой пакет | Маршрутизаторы генерируют это сообщение при приеме сообщения, которое не может быть отправлено его адресату из-за превышения предела длины. |
Протокол заполняет поля данных Code и ICMP в зависимости от типа сообщения, выбранного для обмена дополнительной информацией. Например, сообщение Destination Unreachable может иметь много разных значений кода в зависимости от характера сбоя.




