ICMP

ICMP
ICMP
Название:

Internet Control Message Protocol

Уровень (по модели OSI):

Сетевой

Семейство:

TCP/IP

Спецификация:

RFC 792

ICMP (англ. Internet Control Message Protocol — протокол межсетевых управляющих сообщений[1]) — сетевой протокол, входящий в стек протоколов 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-пакетов, сгенерировавших ICMP-ответ. IP инкапсулирует соответствующее ICMP-сообщение с новым заголовком IP (чтобы отправить ICMP-сообщение обратно отправителю) и передает полученные пакеты дальше.

Например, каждая машина (такая, как маршрутизатор), которая перенаправляет IP-пакеты, уменьшает Time to live (TTL) поля заголовка IP на единицу, если TTL достигает 0, ICMP-сообщение о превышении TTL отправляется на источник пакета.

Каждое ICMP-сообщение инкапсулируется непосредственно в пределах одного IP-пакета, и, таким образом, как и UDP, ICMP является ненадежным (надежным является TCP).

ICMP основан на протоколе IP. Его цели отличны от целей транспортных протоколов, таких как TCP и UDP: он, как правило, не используется для передачи и приема данных между конечными системами. ICMP не используется непосредственно в приложениях пользователей сети (исключение составляют инструменты Ping и Traceroute).

Использование ICMP-сообщений

ICMP-сообщения (тип 12) генерируются при нахождении ошибок в заголовке IP-пакета (за исключением самих ICMP-пакетов, дабы не привести к бесконечно растущему потоку ICMP-сообщений об ICMP-сообщениях).

ICMP-сообщения (тип 3) генерируются маршрутизатором при отсутствии маршрута к адресату.

Утилита Ping, служащая для проверки возможности доставки IP-пакетов использует ICMP-сообщения с типом 8 (эхо-запрос) и 0 (эхо-ответ).

Утилита Traceroute, отображающая путь следования IP-пакетов, использует ICMP-сообщения с типом 11.

ICMP-сообщения с типом 5 используются маршрутизаторами для обновления записей в таблице маршрутизации отправителя.

ICMP-сообщения с типом 4 используются получателем (или маршрутизатором) для управления скоростью отправки сообщений отправителем.

Формат пакета ICMP

Октет 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0—3 Тип Код Контрольная сумма
Данные (формат зависит от значений полей «Код» и «Тип»)
Типы пакетов ICMP
Тип Код Сообщение Данные (длина, бит)
0 0 Эхо-ответ
Идентификатор (16) Номер последовательности (16)
Данные (переменная)
1, 2 Зарезервировано
3 Адресат недоступен
Не используется (32)
Заголовок IP, Начало исходной дейтаграммы (64)
0 Сеть недостижима
1 Узел недостижим
2 Протокол недостижим
3 Порт недостижим
4 Необходима фрагментация, но установлен флаг ее запрета (DF)
5 Неверный маршрут от источника
6 Сеть назначения неизвестна
7 Узел назначения неизвестен
8 Узел источник изолирован
9 Сеть административно запрещена
10 Узел административно запрещён
11 Сеть недоступна для ToS
12 Узел недоступен для ToS
13 Коммуникации административно запрещены
14 Нарушение порядка предпочтения узлов
15 Активно отсечение порядка предпочтения
4 0 Сдерживание источника (отключение источника при переполнении очереди)
5 Перенаправление
Адрес маршрутизатора (32)
Заголовок IP, Начало исходной дейтаграммы (64)
0 Перенаправление пакетов в сеть
1 Перенаправление пакетов к узлу
2 Перенаправление для каждого типа обслуживания (ToS)
3 Перенаправление пакета к узлу для каждого типа обслуживания
6 0 Альтернативный адрес узла
7 Зарезервировано
8 0 Эхо-запрос
Идентификатор (16) Номер последовательности (16)
Данные (переменная)
9 0 Объявление маршрутизатора
Количество адресов (8) Размер элемента (8) Срок действия (16)
Адрес[1] (32)
Предпочтительность[1] (32)
Адрес[N] (32)
Предпочтительность[N] (32)
10 0 Запрос маршрутизатора
Не используется (32)
11 Время жизни дейтаграммы истекло
Не используется (32)
Заголовок IP, Начало исходной дейтаграммы (64)
0 Время жизни пакета (TTL) истекло при транспортировке
1 Время жизни пакета истекло при сборке фрагментов
12 Неверный параметр (проблема с параметрами дейтаграммы: ошибка в IP-заголовке или отсутствует необходимая опция)
0 Указатель говорит об ошибке
Указатель (8) Не используется (24)
Заголовок IP, Начало исходной дейтаграммы (64)
1 Отсутствует требуемая опция
Не используется (32)
Заголовок IP, Начало исходной дейтаграммы (64)
2 Некорректная длина
13 0 Запрос метки времени
Идентификатор (16) Номер последовательности (16)
Начальное время (32)
Время приёма (32)
Время отправки (32)
14 0 Ответ с меткой времени
15 0 Информационный запрос
Идентификатор (16) Номер последовательности (16)
16 0 Информационный ответ
17 0 Запрос адресной маски
Идентификатор (16) Номер последовательности (16)
Маска (32)
18 0 Отклик на запрос адресной маски
19 Зарезервировано (для обеспечения безопасности)
20—29 Зарезервировано (для экспериментов на устойчивость к ошибкам)
30 Трассировка маршрута
Идентификатор (16) Не используется (16)
Количество хопов исходящего пакета (16) Количество хопов возвращающегося пакета (16)
Скорость линии связи (32)
MTU линии связи (32)
0 Исходящий пакет успешно отправлен
1 Путь для исходящего пакета не найден, пакет уничтожен
31 Ошибка преобразования датаграммы
Указатель (32)
Заголовок IP и транспортного протокола исходной дейтаграммы
0 Неизвестная или неуказанная ошибка
1 Невозможно конвертировать опцию
2 Неизвестная обязательная опция
3 Неподдерживаемая обязательная опция
4 Неподдеживаемый транспортный протокол
5 Превышена полная длина
6 Превышена длина заголовка IP
7 Номер транспортного протокола больше 255
8 Номер порта вне допустимого диапазона
9 Превышена длина заголовка транспортного протокола
10 Переход через границу 32 бит и установлен бит ACK
11 Неизвестная обязательная опция транспортного протокола
32 Перенаправление для мобильного узла
33 IPv6 Where-Are-You (где вы находитесь)
34 IPv6 I-Am-Here (я здесь)
35 Запрос перенаправления для мобильного узла
36 Отклик на запрос перенаправления для мобильного узла
37 Запрос доменного имени
38 Ответ на запрос доменного имени
39 SKIP
40 Photuris  
0 Зарезервировано
1 Неизвестный индекс параметров безопасности
2 Параметры безопасности верны, но произошла ошибка аутентификации
3 Параметры безопасности верны, но произошел сбой при расшифровке
4 Требуется проверка подлинности
5 Требуется авторизация
41—255 Зарезервировано

Правила генерации ICMP-пакетов

  1. При потере ICMP-пакета никогда не генерируется новый.
  2. ICMP-пакеты никогда не генерируются в ответ на IP-пакеты с широковещательным или групповым адресом, чтобы не вызывать перегрузку в сети (так называемый «широковещательный шторм»).
  3. При повреждении фрагментированного IP-пакета ICMP-сообщение отправляется только после получения первого повреждённого фрагмента, поскольку отправитель всё равно повторит передачу всего IP-пакета целиком.

См. также

Примечания

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "ICMP" в других словарях:

  • ICMP — may be:* International Commission on Missing Persons * Internet Control Message Protocol * International Collection of Microorganisms from Plants held by Landcare Research …   Wikipedia

  • ICMP — bezeichnet: Internet Control Message Protocol, ein Internetprotokoll zum Austausch von Informations und Fehlermeldungen, Internationale Kommission für vermisste Personen (engl. International Commission on Missing Persons), eine internationale… …   Deutsch Wikipedia

  • ICMP — abbr. Internet Control Message Protocol. * * * …   Universalium

  • ICMP —   [Abk. für Internet Control Message Protocol, dt. »Nachrichtenprotokoll, das Kontrollfunktionen im Internet übernimmt«], ein Internetprotokoll, das zusammen mit IP und TCP die Grundlage für das Internet bildet. Es gehört im OSI Schichtenmodell… …   Universal-Lexikon

  • ICMP — (Internet Control Message Protocol) protocol used to send control messages and error messages during the transmission of IP type data packets …   English contemporary dictionary

  • ICMP — Internet Control Message Protocol Pile de protocoles 7 • Application 6 • Présentation 5 • Session 4 • …   Wikipédia en Français

  • ICMP — Internet Control Message Protocol. Protokoll, welches die TCP/IP Verbindungen kontrolliert. Zu diesem Zwecke werden zwischen den Internet Modulen Testdaten ausgetauscht. Somit kann das ICMP etwaige Fehler aufdecken. Die Programme Ping und… …   Online-Wörterbuch Deutsch-Lexikon

  • ICMP Router Discovery Protocol — ICMP Internet Router Discovery Protocol (IRDP) uses Internet Control Message Protocol (ICMP) router advertisements and router solicitation messages to allow a host to discover the addresses of operational routers on the subnet.ee also* ICMPv6… …   Wikipedia

  • ICMP тоннель — ICMP туннель  скрытый канал для передачи данных, организованный между двумя узлами, использующий IP пакеты с типом протокола ICMP (обычно echo request, echo reply). Содержание 1 Принцип работы 2 Использование …   Википедия

  • ICMP Destination Unreachable — es un tipo de paquete ICMP cuya función es transportar un mensaje que es generado por un enrutador, y se envía al host de origen, que recibe el mensaje emitido por el enrutador. El mensaje en sí significa que este router considera inalcanzable el …   Wikipedia Español


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»