Формат 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. Таблицы маршрутов в шлюзах на всем обратном пути корректны.