Протоколобмена управляющими сообщениями IInternet Control MessageProtocol позволяет маршрутизатору сообщить конечному узлу об ошибках, скоторыми машрутизатор столкнулся при передаче какого-либо IP-пакета от данногоконечного узла. Управляющие сообщения ICMP не могут направляться промежуточномумаршрутизатору, который участвовал в
передаче пакета, с которым возниклипроблемы, так как для такой посылки нет адресной информации – пакет несет всебе только адрес источника и адрес назначения, не фиксируя адресапромежуточных маршрутизаторов. Протокол ICMP – это протокол сообщения об ошибках, а не протокол коррекцииошибок. Конечный узел может предпринять некоторые действия для того, чтобыошибка больше не возникала, но эти действия протоколом ICMP нерегламентируются. Каждое сообщение протокола
ICMP передается по сети внутри пакета IP. ПакетыIP с сообщениями ICMP маршрутизируются точно так же, как и любые другие пакеты,без приоритетов, поэтому они также могут теряться. Кроме того, в загруженнойсети они могут вызывать дополнительную загрузку маршрутизаторов. Для того,чтобы не вызывать лавины сообщения об ошибках, потери пакетов IP, переносящиесообщения ICMP об ошибках, не могут порождать новые сообщения
ICMP. Формат сообщений протокола ICMPСуществует несколько типов сообщений ICMP. Каждый тип сообщения имеет свойформат, при этом все они начинаются с общих трех полей 8-битного целого числа,обозначающего тип сообщения TYPE , 8-битного поля кода CODE , которыйконкретизирует назначение сообщения, и 16-битного поля контрольной суммы CHECKSUM . Кроме того, сообщение ICMP всегда содержит заголовок и первые 64бита данных пакета IP, который вызвал ошибку. Это делается для того, чтобыузел-отправитель смог более точно проанализировать причину ошибки, так как всепротоколы прикладного уровня стека TCP IP содержат наиболее важную информациюдля анализа в первых 64 битах своих сообщений. Поле типа может иметь следующие значения Значение Тип сообщения 0 Эхо-ответ Echo Replay 3 Узел назначения недостижим
Destination Unreachable 4 Подавление источника Source Quench 5 Перенаправление маршрута Redirect 8 Эхо-запрос Echo Request 11 Истечение времени дейтаграммы Time Exceeded for a Datagram 12 Проблема с параметром пакета Parameter Problem on a Datagram 13 Запрос отметки времени
Timestamp Request 14 Ответ отметки времени Timestamp Replay 17 Запрос маски Address Mask Request 18 ICMP представляет собойнекоторое объединение протоколов, решающих свои узкие задачи. Эхо-протоколПротокол ICMP предоставляет сетевым администраторам средства длятестирования достижимости
узлов сети. Эти средства представляют собой оченьпростой эхо-протокол, включающий обмен двумя типами сообщений эхо-запроси эхо-ответ. Компьютер или маршрутизатор посылают по интерсетиэхо-запрос, в котором указывают IP-адрес узла, достижимость которого нужнопроверить. Узел, который получает эхо-запрос, формирует и отправляет эхо-ответи возвращает сообщение узлу – отправителю запроса. В запросе могут содержатьсянекоторые данные, которые должны быть возвращены в ответе.
Так как эхо-запрос иэхо-ответ передаются по сети внутри IP-пакетов, то их успешная доставкаозначает нормальное функционирование всей транспортной системы интерсети. Во многих операционных системах используется утилита ping, котораяпредназначена для тестирования достижимости узлов. Эта утилита обычно посылаетсерию эхо-запросов к тестируемому узлу и предоставляет пользователю статистикуоб утерянных эхо-ответах и среднем времени реакции сети на запросы. Сообщения о недостижимости узла назначенияКогда маршрутизатор не может передать или доставить IP-пакет, он отсылаетузлу, отправившему этот пакет, сообщение Узел назначения недостижим тип сообщения – 3 . Это сообщение содержит в поле кода значение, уточняющеепричину, по которой пакет не был доставлен. Причина кодируется следующимобразом Код Причина 0 Сеть недостижима 1 Узел недостижим 2
Протокол недостижим 3 Порт недостижим 4 Требуется фрагментация, а бит DF установлен 5 Ошибка в маршруте, заданном источником 6 Сеть назначения неизвестна 7 Узел назначения неизвестен 8 Узел-источник изолирован 9 Взаимодействие с сетью назначения административно запрещено 10 Взаимодействие с узлом назначения административно запрещено 11
Сеть недостижима для заданного класса сервиса 12 Узел недостижим для заданного класса сервиса Маршрутизатор, обнаруживший по какой-либо причине, что он не может передатьIP-пакет далее по сети, должен отправить ICMP-сообщение узлу-источнику, итолько потом отбросить пакет. Кроме причины ошибки, ICMP-сообщение включаеттакже заголовок недоставленного пакета и его первые 64 бита поля данных. Узел или сеть назначения могут быть недостижимы из-за временнойнеработоспособности
аппаратуры, из-за того, что отправитель указал неверныйадрес назначения, а также из-за того, что маршрутизатор не имеет данных омаршруте к сети назначения. Недостижимость протокола и порта означают отсутствие реализации какого-либопротокола прикладного уровня в узле назначения или же отсутствие открытогопорта протоколов UDP или TCP в узле назначения. Ошибка фрагментации возникает тогда, когда отправитель послал в сеть пакет спризнаком DF, запрещающим фрагментацию, а маршрутизатор столкнулся снеобходимостью передачи этого пакета в сеть со значением MTU меньшим, чемразмер пакета. Перенаправление маршрутаМаршрутные таблицы у компьютеров обычно являются статическими, так какконфигурируются администратором сети, а у маршрутизаторов – динамическими,формируемыми автоматически с помощью протоколов обмена маршрутной информации.Поэтому с течением времени при изменении топологии сети маршрутные таблицыкомпьютеров могут устаревать. Кроме того, эти таблицы обычно содержат минимуминформации, например, только адреса
нескольких маршрутизаторов. Для корректировки поведения компьютеров маршрутизатор может использоватьсообщение протокола ICMP, называемое Перенаправление маршрута Redirect . Это сообщение посылается в том случае, когда маршрутизатор видит, чтокомпьютер отправляет пакет некоторой сети назначения нерациональным образом, тоесть не тому маршрутизатору локальной сети, от которого начинается болеекороткий маршрут к сети назначения.
Механизм перенаправления протокола ICMP позволяет компьютерам содержать вконфигурационном файле только IP-адреса его локальных маршрутизаторов. Спомощью сообщений о перенаправлении маршрутизаторы будут сообщать компьютерувсю необходимую ему информацию о том, какому маршрутизатору следует отправлятьпакеты для той или иной сети назначения. То есть маршрутизаторы передадуткомпьютеру нужную ему часть их таблиц маршрутизации. В сообщении Перенаправление маршрута маршрутизатор помещаетIP-адрес маршрутизатора, которым нужно пользоваться
в дальнейшем, и заголовокисходного пакета с первыми 64 битами его поля данных. Из заголовка пакета узелузнает, для какой сети необходимо пользоваться указанным маршрутизатором.