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