logo
Varianty / SETI2

Протокол icmp

Протокол ICMP (Internet Control Message Protocol, Протокол Управляющих Сообщений Интернет) описан в RFC 792.

Он используется для сообщений об ошибках или нештатных ситуациях, передаваемых узлу-отправителю дейтаграммы узлом-получателем или промежуточным маршрутизатором.

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

Сообщения ICMP всегда начинаются с трех полей:

Тип (Type) [8 бит] – тип сообщения:

0 – ответ на эхо (Echo reply)

3 – получатель недостижим (Destination unreachable)

4 – подавление источника (Source quench)

5 – изменение маршрута (Redirect)

8 – запрос эха (Echo)

11 – время жизни дейтаграммы истекло (Time exceeded)

12 – ошибка в параметре (Parameter problem)

13 – запрос временной метки (Timestamp)

14 – временная метка (Timestamp reply)

15 – запрос информации (Information request)

16 – ответ на запрос информации (Information reply)

17 – запрос маски адреса (Mask request)

18 – маска адреса (Mask reply)

Код (Code) [8 бит] – причина проблем с доставкой дейтаграммы

Для типа 3 (получатель недостижим):

1 – сеть недостижима (net unreachable)

2 – узел недостижим (host unreachable)

3 – протокол недостижим (protocol unreachable)

4 – требуется фрагментация (fragmentation needed and DF set)

5 – сбой в маршрутизации от источника (source route failed)

6 – неизвестна сеть назначения

7 – неизвестно устройство назначения

8 – отправитель изолирован

9 – закрыт доступ к сети назначения

10 – закрыт доступ к устройству назначения

11 – сеть недостижима из-за требований к классу обслуживания

12 – устройство недостижимо из-за требований к классу обслуживания

Для типа 5 (изменение маршрута):

0 – переадресовать дейтаграммы для сети (redirect datagrams for the network)

1 – переадресовать дейтаграммы для узла (redirect datagrams for the host)

2 – переадресовать дейтаграммы для типа обслуживания и сети (redirect datagrams for the type of service and network)

3 – переадресовать дейтаграммы для типа обслуживания и узла (redirect datagrams for the type of service and host)

Для типа 11 (время жизни дейтаграммы истекло):

0 – время жизни истекло при передаче

1 – время жизни истекло при ожидании фрагмента для сборки

Для остальных типов в поле Код записывается нулевое значение.

Контрольная сумма (Checksum) [16 бит] – контрольная сумма ICMP-сообщения (начиная с поля Тип), вычисляемая, как в протоколе IP.

    1. Yandex.RTB R-A-252273-3