Формат ICMP сообщения

Доставка ICMP сообщений

Каждое сообщения ICMP передается по интернету в поле данных IP-пакета. Пакеты, несущие сообщения ICMP маршрутизируются точно так же, как и пакеты, несущие информацию для пользователей; для них не используются дополнительные приоритет или надежность. Поэтому, сами сообщения об ошибках могут быть потеряны или удалены. Более того, в уже переполненной сети сообщения об ошибках могут вызвать дополнительное переполнение. Если IP-пакет, несущий сообщение ICMP, вызвал ошибку, то сообщения ICMP не генерируются.

Хотя каждое сообщение ICMP имеет свой собственный формат, все они начинаются с трех одинаковых полей:

ü 8-битового целочисленного поля ТИП, которое идентифицирует сообщение;

ü 8-битового поля КОД, которое обеспечивает более точную информацию о типе сообщения;

ü 16-битового поля КОНТРОЛЬНАЯ_СУММА.

ü Помимо того, сообщения ICMP, сообщающие об ошибках, всегда включают заголовок и первые 64 бита данных пакета, вызвавшего ошибку.

Причиной возвращения не только заголовка пакета, вызвавшей ошибку, является желание позволить получателю более точно определять, какие протоколы и какие прикладные программы ответственны за его появление. Протоколы более высокого уровня в связке TCP/IP разрабатывались таким образом, что критическая информация закодирована в первых 64 битах.

Поле ТИП ICMP определяет смысл сообщения, а также его формат. Эти типы включают:

Поле ТИП Тип сообщения ICMP  
Ответ на эхо Ping
Назначение недостижимо Пакет не может быть доставлен по назначению. Поле Код содержит причину (недоступна сеть, приемник, протокол и т.д.).
Подавление источника Отправляется в том случае, если приемник не успевает обработать сообщения (в результате длительного переполнения очереди необработанных сообщений). Сообщение о подавлении источника требует от источника уменьшить скорость передачи дейтаграмм.
Переназначение(изменение маршрута) Если шлюз обнаруживает, что источник использует неоптимальный маршрут, он посылает ему сообщение ICMP, называемое "переназначением", запрашивающее изменение маршрута в таблице маршрутизации.
Запрос эха Ping
Превышено время для дейтаграммы Возникает в результате окончания времени жизни пакета. Или в случае истечения времени сборки фрагментированного пакета.
Ошибка параметра в дейтаграмме  
Запрос временной отметки Получения значения времени от другой машины.
Ответ для временной метки Получения значения времени от другой машины.
Запрос информации(не действует)  
Ответ на запрос информации(не действует)  
Запрос маски адреса Получение маски адреса от шлюза.
Ответ на запрос маски адреса Получение маски адреса от шлюза.

Запрос эха (ping). Одно из самых наиболее используемых средств отладки вызывает сообщения ICMP запрос эха и ответ эха. ПК или шлюз посылает сообщение запроса эха указанному месту назначения. Любая машина, получившая запрос эха, генерирует ответ на эхо и возвращает его первоначальному отправителю. Этот запрос содержит необязательную область данных; ответ содержит копию данных, посланных в запросе. Запрос эха и связанный с ним ответ могут использоваться для проверки достижимости назначения и его способности отвечать на запросы. Так как и запрос эха, и ответ на него передаются в IP-дейтаграммах, успешный прием ответа свидетельствует о работоспособности основных частей транспортной системы.

1. Программное обеспечение IP на машине источника произвело маршрутизацию дейтаграммы.

2. Промежуточные шлюзы между источником и получателем работоспособны и корректно маршрутизируют дейтаграммы.

3. Машина получателя работает (по крайней мере, она обрабатывает прерывания) и программное обеспечение как IP, так и ICMP выполняет свои функции.

4. Таблицы маршрутов в шлюзах на всем обратном пути корректны.