Формат сообщений протокола ICMP

Существует несколько типов сообщений ICMP. Каждый тип сообщения имеет свой формат, при этом все они начинаются с общих трех полей: 8-битного целого числа, обозначающего тип сообщения (TYPE), 8-битного поля кода (CODE), который конкретизирует назначение сообщения, и 16-битного поля контрольной суммы (CHECKSUM). Кроме того, сообщение ICMP всегда содержит заголовок и первые 64 бита данных пакета IP, который вызвал ошибку. Это делается для того, чтобы узел-отправитель смог более точно проанализировать причину ошибки, так как все протоколы прикладного уровня стека TCP/IP содержат наиболее важную информацию для анализа в первых 64 битах своих сообщений.

Поле типа может иметь следующие значения (табл. П2.1).

ЗначениеТип сообщения
0 1Эхо-ответ (Echo Replay)
3Узел назначения недостижим (Destination Unreachable)
4Подавление источника (Source Quench)
5Перенаправление маршрута (Redirect)
8Эхо-запрос (Echo Request)
11Истечение времени дейтаграммы (Time Exceeded for a Datagram)
12Проблема с параметром пакета (Parameter Problem on a Datagram)
13Запрос отметки времени (Timestamp Request)
14Ответ отметки времени (Timestamp Replay)
17Запрос маски (Address Mask Request)
18Ответ маски (Address Mask Replay)

Таблица П2.1. Значения

Как видно из используемых типов сообщений, протокол ICMP представляет собой некоторое объединение протоколов, решающих свои узкие задачи.