Протокол ICMP. Назначение, формат заголовка
Протокол ICMP (Internet Control Message Protocol — протокол межсетевых управляющих сообщений) — является вспомогательным сетевым протоколом, включенным в стек протоколов TCP/IP.
Принцип работы ICMP заключается в том, что данный протокол срабатывает для передачи сообщений об ошибках при передаче или исключительных ситуациях, то есть когда маршрутизатор не работает или требуемая услуга недоступна. То есть протокол ICMP не может запросить послать потерянный пакет повторно, а просто оповещает о несчастных случаях.
В основном ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например, запрашиваемая услуга недоступна, или хост, или маршрутизатор не отвечают. Также на ICMP возлагаются некоторые сервисные функции.
Когда протокол IP определяет, что дальнейшая передача пакета невозможно, перед тем как уничтожить пакет, должен отослать узлу-источнику диагностическое ICMP-сообщение. Если при передаче самого ICMP-сообщения возникла ситуация препятствующая его передачу, то протокол ICMP не будет отправлять об этом диагностическое сообщения, для избегания «штормов» в сетях.
При передаче по сети, сообщения ICMP инкапсулируются в поле данных IP-пакетов.
Протокол ICMP служит дополнением, компенсирующим ненадежность протокола IP, но несколько другого рода. Он не предназначен для исправления возникших при передаче пакета проблем: если пакет потерян, ICMP не может послать его заново. Задача ICMP другая — он является средством оповещения отправителя о «несчастных случаях», произошедших с его пакетами. Пусть, например, протокол IP, работающий на каком-либо маршрутизаторе, обнаружил, что пакет для дальнейшей передачи по маршруту необходимо фрагментировать, но в пакете установлен признак DF (не фрагментировать). Протокол IP, обнаруживший, что он не может передать IP-пакет далее по сети, прежде чем отбросить пакет, должен отправить диагностическое ICMP-сообщение конечному узлу-источнику.
Важно, что обработка ICMP-сообщений не входит в обязанности протоколов IP и ICMP.
Протокол ICMP не предусматривает передачу сообщений о проблемах, возникающих при обработке IP-пакетов, несущих ICMP-сообщения об ошибках.
Особенностью протокола ICMP является функциональное разнообразие решаемых задач, а следовательно, и связанных с этим сообщений. Все типы сообщений имеют один и тот же формат, однако интерпретация полей существенно зависит от того, к какому типу относится сообщение.
Заголовок ICMP-сообщения состоит из 8 байт:
· тип (1 байт) — числовой идентификатор типа сообщения;
· код (1 байт) — числовой идентификатор, более тонко дифференцирующий тип ошибки;
· контрольная сумма (2 байта) — подсчитывается для всего ICMP-сообщения.
Содержимое оставшихся четырех байтов в заголовке и поле данных зависит от значений полей типа и кода.
Дата добавления: 2021-04-21; просмотров: 400;