Протокол обмена управляющими сообщениями (ICMP)

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


•Протокол обмена управляющими сообщениями (Internet Control Message Protocol), являющийся неотъемлемой частью протокола IP, осуществляет  передачу уведомлений между шлюзами и хостами источника, если требуются запросить диагностическую информацию или обеспечить поддержку маршрутизации, а также для передачи сообщений об ошибках при обработке датаграмм. Цель этих управляющих сообщений заключается в достижении обратной связи о проблемах в среде передачи, и такие сообщения не гарантируют, что датаграмма будет доставлена, или что будет возвращено контрольное сообщение.

•Сообщения ICMP Redirect — это самый стандартный пример, в котором ICMP используется в качестве средства поддержки функций маршрутизации. На приведенной схеме пакет пересылается шлюзу хостом A на основе адреса шлюза хоста A. Шлюз определяет, что полученный пакет предназначен для пересылки по адресу следующего шлюза, который является частью той же сети, что и хост, инициирующий пакет, отдельно выделив неоптимальный путь передачи между хостом и шлюзами.
•Для решения этой задачи на хост отправляется сообщение о перенаправлении (ICMP Redirect), в котором содержится рекомендация хосту отправлять трафик, предназначенный для планируемого пункта назначения, непосредственно на шлюз, с которым связана сеть назначения, так как такой маршрут является наиболее коротким путем к месту назначения. Однако шлюз принимает решение о передаче данных исходного пакета в запланированный пункт назначения.

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

•ICMP обеспечивает обмен различными сообщениями об ошибках, в которых часто содержатся проблемы достижимости узлов, и формируют конкретные отчеты об ошибках, позволяющие получить более четкое представление для хоста о том, почему передача в планируемый пункт назначения не выполнена.
•Среди типичных примеров — возникновение петли в сети, которая привела к истечению срока жизни (параметр time to live, содержащийся в заголовке IP), в результате чего сгенерировалось сообщение об ошибке «ttl exceeded in transit». Другой пример — недостижимый планируемый пункт назначения, что может быть связано с более конкретной проблемой планируемой сети, не известной получающим шлюзом, или с тем, что планируемый хост в сети назначения не обнаружен. Во всех таких событиях генерируется сообщение ICMP с информацией о пункте назначения в соответствии с IP-адресом источника, найденном в заголовке IP-кадра, для гарантии, что сообщение будет передано отправляющему хосту.

•Сообщения ICMP отправляются с использованием основного заголовка IP, который является неотъемлемой частью сообщения ICMP, как например в случае с параметром TTL, который используется для определения достижимости пункта назначения. В основе формата сообщения ICMP лежат два поля идентификации сообщений — «тип» и «код», где поле «тип» содержит общее описание типа сообщения, а поле «код» содержит более конкретный параметр типа сообщения.
•Контрольная сумма — это средство проверки целостности сообщения ICMP. 32 бита включены для обозначения переменных параметров, часто неиспользуемых и поэтому устанавливаемых в значение 0 при отправке сообщения ICMP, однако если это сообщение о перенаправлении (ICMP redirect), данное поле содержит IP-адрес шлюза, на который хост должен перенаправлять пакеты. Поле параметра при передаче эхо-запросов содержит идентификатор и порядковый номер, которые источник использует для ассоциирования отправленных эхо-запросов с полученными эхо-ответами, особенно в случае, если в определённый пункт назначения передаются несколько запросов.
•В качестве последнего средства трассировки данных в отношении конкретного процесса, в сообщении ICMP могут передаваться заголовок IP-кадра и блок, содержащий информацию верхнего уровня. Такая информация позволяет источнику идентифицировать процесс, в котором произошла ошибка, например при истечении времени жизни (ICMP TTL) в транзитной передаче.

•Существует большое количество значений типа ICMP, которые четко определяют функцию протокола ICMP. В некоторых случаях для конкретизации записи в поле «тип» поле «код» не требуется. Например, это характерно для эхо-запроса, у которого в поле «тип» стоит значение 8, и соответствующего эхо-ответа, который генерируется и отправляется как отдельное ICMP-сообщение по исходному адресу отправителя и определяется значением 0 в поле «тип».
•Напротив, в некоторых случаях значение поля «тип» содержит общую информацию, которую необходимо конкретизировать с помощью поля «код», например значение 3. Такое значение указывает, что данное место назначения недостижимо, в то время как поле «код» определяет конкретно, что отсутствует — сеть, хост, протокол, порт (TCP/UDP), способность выполнять фрагментацию (код 4) — или указывает исходный маршрут (код 5), в котором пакет, для которого точно или частично определен путь передачи через сеть, не достигает места назначения.

Этот тест был открыт Вторник, 18 Апрель 2023, 15:17

Тестирование будет окончено в Среда, 18 Апрель 2035, 15:17

Метод оценивания: Высшая оценка