ICMP
Материал из Википедии — свободной энциклопедии
ICMP (англ. Internet Control Message Protocol — межсетевой протокол управляющих сообщений) — сетевой протокол, входящий в стек протоколов TCP/IP. В основном ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных. Также на ICMP возлагаются некоторые сервисные функции.
Протокол ICMP описан в RFC 792 (с дополнениями в RFC 950) и является стандартом Интернета (входит в стандарт STD 5 вместе с IP). Хотя формально ICMP использует IP (ICMP пакеты инкапсулируются в IP пакеты), он является неотъемлемой частью IP и обязателен при реализации стека TCP/IP. Текущая версия ICMP для IPv4 называется ICMPv4. В IPv6 существует аналогичный протокол ICMPv6.
Протокол ICMP не делает протокол IP средством надёжной доставки сообщений. Для этих целей существует TCP.
ICMP сообщения (тип 12) генерируются при нахождении ошибок в заголовке IP пакета (за исключением самих ICMP пакетов, дабы не привести к бесконечно растущему потоку ICMP сообщений об ICMP сообщениях).
ICMP сообщения (тип 3) генерируются маршрутизатором при отсутствии маршрута к адресату.
Утилита ping, служащая для проверки возможности доставки IP пакетов использует ICMP сообщения с типом 8 (эхо-запрос) и 0 (эхо-ответ).
Утилита traceroute, отображающая путь следования IP пакетов, использует ICMP сообщения с типом 11.
ICMP сообщения с типом 5 используются маршрутизаторами для обновления записей в таблице маршрутизации отправителя.
ICMP сообщения с типом 4 используются получаетелем (или промежуточным маршрутизатором) для управления скоростью отправки сообщений отправителем.
[править] Формат ICMP-пакета
Бит | 0 — 7 | 8 — 15 | 16 — 31 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Тип | Код | Контрольная сумма | |||||||||||||||||||||||||||||
32 | Содержание сообщения(зависит от значений полей Код и Тип) |
[править] Типы ICMP пакетов (неполный список)
- 0 Эхо-ответ
- 3 Адресат недоступен
- 4 Сдерживание источника (отключение источника при переполнении очереди)
- 5 Перенаправление
- 8 Эхо-запрос
- 9 Объявление маршрутизатора
- 10 Запрос маршрутизатора
- 11 Превышение временно́го интервала (для дейтаграммы время жизни истекло)
- 12 Неверный параметр (проблема с параметрами дейтаграммы: ошибка в IP-заголовке или отсутствует необходимая опция)
- 13 Запрос метки времени
- 14 Ответ с меткой времени
- 15 Информационный запрос
- 16 Информационный ответ
- 17 Запрос адресной маски
- 18 Отклик на запрос адресной маски