Протокол обмена управляющими сообщениями (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
Метод оценивания: Высшая оценка