Читайте данную работу прямо на сайте или скачайте
ICMP (Internet Control Message Protocol)
Федеральное агентство по образованию
Государственное образовательное чреждение высшего профессионального образования
Челябинский государственный педагогический ниверситет
(ГОУВПО ЧГПУ)
Профессионально-педагогический институт
Кафедра подготовки педагогов профессионального обучения и предметных методик
Реферат
на тему ICMP (Internet Control Message Protocol)
по дисциплине
Компьютерные коммуникации и сети
Выполнил:
Казанцев А.С.
Проверил:
Блинов А.Н
Челябинск, 2005
TOC \o "1-5" \f
Введение. 3
Формат ICMP сообщений. 5
Сообщение о недостижимости порта. 6
Сообщение о превышении контрольного времени. 8
Сообщение о проблемах с параметром. 9
Сообщение для приостановки отправителя. 11
Сообщение о переадресации. 13
Эхо-сообщение и сообщение в ответ на эхо. 15
Сообщение со штампом времени и сообщение с ответом на штамп времени 16
Запрос информации и ответное сообщение с информацией. 18
Список типов сообщений. 21
Type 8 и Type 0 - эхо-запрос и эхо-ответ. 21
Type 3 Ч Пункт назначения недоступен. 21
Туре 4 - Подавление источника. 22
Туре 5 - Переадресация. 22
Type 9 и Type 10 - Объявление и запрос маршрутизатора. 22
Туре 11 - Превышение времени жизни датаграммы.. 23
Туре 12 - Ошибка параметра. 23
Туре 13 и Туре 14 - Запрос и ответ об отметке времени. 23
Туре 15 и Туре 16 - Информационный запрос и ответ. 23
Туре 17 и Туре 18 - Запрос и ответ о маске адреса. 24
Вывод. 25
Литература. 26
Формат ICMP сообщений
ICMP сообщения посылаются с помощью стандартного IP заголовка. Первый октет в поле данных датаграммы - это поле типа ICMP сообщения. Значение этого поля определяет формат всех остальных данных в датаграмме. Любое поле, которое помечено "unused", зарегистрировано для последующих разработок и должно при отправлении содержать нули. Однако получатель не должен использовать значения этих полей (за исключением процедуры вычисления контрольной суммы). Если обратное особо не оговорено при описании отдельных фрагментов, Internet заголовок должен иметь в своих полях следующие значения:
Версия
4
IHL
Длина Internet заголовка; единица измерения - 32-битное слово.
Тип сервиса
0
Общая длина
Длина Internet заголовка и поля данных в октетах.
Идентификация, флаги, смещение фрагмента
Время жизни
Время жизни в секундах. Поскольку значение этого поля уменьшается на единицу в каждой машине, на которой обрабатывается данная датаграмма, то значение этого поля должно, по крайней мере, превышать количество шлюзов, через которые будет проходить данная датаграмма.
Протокол
ICMP=1
Контрольная сумма заголовка
16-битное дополнение до единицы суммы дополнений до единицы всех 16-битных слов в заголовке. При вычислении данной суммы следует первоначально станавливать значение этого поля в нуль.
В дальнейшем этот алгоритм вычисления контрольной суммы должен быть изменен.
дрес отправления
дрес шлюза или хост-компьютера, который составил данное ICMP сообщение. Если не оговорено обратное, в этом поле может находиться любой из адресов шлюза.
дрес получателя
дрес шлюза или хост-компьютера, которому следует послать данное сообщение.
Сообщение о недостижимости порта
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
Тип |
Код |
Контрольная сумма |
|||||||||||||||||||||||||||||
не используется |
|||||||||||||||||||||||||||||||
Internet заголовок + 64 бита данных из исходной датаграммы |
Поля Internet протокола:
дрес получателя
Локальная сеть и адрес компьютера, отправившего исходную датаграмму
Поля ICMP протокола
Тип
3
Код
0 |
невозможно передать датаграмму на локальную сеть, где находится адресат |
1 |
невозможно передать датаграмму на хост-компьютер, являющийся адресатом |
2 |
нельзя воспользоваться казанным протоколом |
3 |
нельзя передать данные на казанный порт |
4 |
для передачи датаграммы по сети требуется фрагментация, однако выставлен флаг DF. |
5 |
сбой в маршрутизации при отправлении |
Контрольная сумма
Контрольная сумма является 16-битным дополнением до единицы суммы дополнений октетов в полях ICMP сообщения, начиная с поля типа ICMP. Для вычисления контрольной суммы первоначально значение этого поля обнуляется. В будущем процедура вычисления контрольной суммы может быть изменена.
Internet заголовок + 64 бита данных из исходной датаграммы
Данное поле содержит Internet заголовок и первые 64 бита данных из исходной датаграммы для выработки сообщения для соответствующего процесса. Если протокол более высокого ровня использует номера портов, то предполагается, что эти номера находятся в первых 64 битах поля данных.
Описание
Если, согласно информации в таблицах маршрутизации шлюза, локальная сеть,
указанная в Internet заголовке датаграммы в поле адресата, является недостижимой, например, из-за ее чрезмерной даленности, то шлюз может послать хост-компьютеру, отправившему датаграмму по Internet сети, сообщение о недостижимости адресата.
Кроме этого, в некоторых сетях шлюз может иметь возможность определять доступность отдельного хост-компьютера. Шлюз в такой сети может послать данное сообщение, если хост-компьютер, являющийся адресатом, недоступен.
Иная ситуация возникает, когда для достижения адресата датаграмма должна быть разбита шлюзом на отдельные фрагменты, но становлен флаг запрета фрагментации. О этом случае шлюз обязан ликвидировать датаграмму и может при этом послать сообщение о недостижимости адресата.
Шлюз может послать сообщения с кодами 0, 1, 4 и 5. Хост-компьютер может послать сообщения с кодами 2 и 3.
Сообщение о превышении контрольного времени
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
Тип |
Код |
Контрольная сумма |
|||||||||||||||||||||||||||||
не используется |
|||||||||||||||||||||||||||||||
Internet заголовок + 64 бита данных из исходной датаграммы |
Поля IP заголовка
Заимствованы сеть и адрес отправителя из исходной датаграммы с данными. Поля ICMP сообщения
Тип
11
Код
0 |
при передаче превышено время жизни |
1 |
превышено контрольное время при сборке фрагментов датаграммы |
Контрольная сумма
Контрольная сумма является 16-битным дополнением до единицы суммы дополнений в ICMP сообщении, начиная с поля типа ICMP.
При вычислении суммы следует сперва обнулить поле контрольной суммы. В будущем алгоритм контрольной суммы может быть изменен.
Internet заголовок + 64 бита данных из исходной датаграммы
Internet заголовок плюс первые 64 бита данных из исходной датаграммы. Эти биты данных используются хост-компьютером для привязки сообщения к соответствующему процессу. Если протокол более высокого ровня использует номера портов, то предполагается, что эти номера входят в первые 64 бита данных в исходной датаграмме.
Описание
Если фрагмент нулевого размера превысил контрольное время, то сообщение в этом не посылается вовсе.
Шлюз может послать сообщение с кодом 0, хост - с кодом 1.
Сообщение о проблемах с параметром
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
Тип |
Код |
Контрольная сумма |
|||||||||||||||||||||||||||||
указатель |
не используется |
||||||||||||||||||||||||||||||
Internet заголовок + 64 бита данных из исходной датаграммы |
Поля IP заголовка
Заимствованы сеть и адрес отправителя из исходной датаграммы с данными. Поля ICMP сообщения
Тип
12
Код
0 - казатель показывает ошибку
Контрольная сумма
Контрольная сумма является 16-битным дополнением до единицы суммы дополнений в ICMP сообщении, начиная с поля типа ICMP.
При вычислении суммы следует сперва обнулить поле контрольной суммы. В будущем алгоритм вычисления контрольной суммы может быть изменен.
Указатель
Если код = 0, то он казывает на октет, где была обнаружена ошибка.
Internet заголовок + 64 бита данных из исходной датаграммы
Эти биты данных используются хост-компьютером для привязки сообщения к соответствующему процессу. Если протокол более высокого ровня использует номера портов, то предполагается, что эти номера входят в первые 64 бита данных в исходной датаграмме.
Описание
Если шлюз или хост-компьютер, обрабатывающий датаграмму, обнаруживает проблему с обработкой параметров заголовка, и это не позволяет завершить ее обработку,
то он должен ликвидировать рассматриваемую датаграмму. Одной из потенциальных причин такой неприятности могут бить неправильные аргументы в опции. Шлюз или хост-компьютер в сообщении о проблеме с параметрами может также помянуть хост-компьютер,
породивший датаграмму с ошибкой. Сообщения такого типа посылаются лишь в том случае, если ошибка приводит к ликвидации этой датаграммы.
Указатель определяет октет в заголовке исходной датаграммы, где была обнаружена ошибка (этот ошибочный октет может находиться даже посередине опции). Например, 1 казывает на то, что имеется какая-то ошибка в поле типа сервиса, (если имеются опции) 20 определяет, что имеется ошибка в коде типа для первой опции. Код 0 сообщения может приходить как от шлюза, так и от хост-компьютера.
Сообщение для приостановки отправителя
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
Тип |
Код |
Контрольная сумма |
|||||||||||||||||||||||||||||
не используется |
|||||||||||||||||||||||||||||||
Internet заголовок + 64 бита данных из исходной датаграммы |
Поля IP заголовка
Заимствованы сеть и адрес отправителя из исходной датаграммы с данными.
Поля ICMP сообщения
Тип
4
Код
0
Контрольная сумма
Контрольная сумма является 16-битным дополнением до единицы суммы дополнений в ICMP сообщении, начиная с поля типа ICMP. При вычислении контрольной суммы следует сперва обнулить поле контрольной суммы. В будущем алгоритм вычисления контрольной суммы может быть изменен.
Internet заголовок + 64 бита данных из исходной датаграммы
Internet заголовок плюс первые 64 бита данных из исходной датаграммы. Эти данные используются хост-компьютером для привязки сообщения к соответствующему процессу. Если протокол более высокого ровня использует номера портов, то предполагается, что эти номера входят в первые 64 бита данных исходной датаграммы.
Описание
Шлюз может ликвидировать Internet датаграммы, если у него нет места в буфере для постановки этих датаграмм в очередь на от правление в очередную сеть по маршруту следования к адресату.
Если шлюз ликвидирует датаграмму, то он должен послать сообщение для приостановки хост-компьютеру в Internet системе, отправившему данную датаграмму. Сообщение о приостановке может послать также сам адресат, если датаграммы приходят слишком быстро, чтобы спеть их обработать. Сообщение о приостановке является за просом для хост-компьютера меньшить скорость посылки данных на этот конкретный адрес. Шлюз может посылать сообщение для при остановки отправителя в каждом случае ликвидации. При получении такого сообщения хост-компьютер, отправивший данные, должен меньшить скорость посылки данных по этому адресу до тех пор, пока не перестанут приходить запросы на приостановку с данного шлюза. После этого хост-компьютер, отправляющий данные, может постепенно величивать скорость посылки данных по этому адресу, пока вновь не станут приходить сообщения о приостановке.
Шлюз или хост-компьютер может посылать сообщение о приостановке еще до достижения предельной пропускной способности, и не ждать, пока этот предел будет пройден. Это означает, что датаграмма с данными, вызвавшая появление сообщения о приостановке, все же может достичь своего адресата. И шлюз и хост-компьютер могут отправить сообщение с кодом 0.
Сообщение о переадресации
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
Тип |
Код |
Контрольная сумма |
|||||||||||||||||||||||||||||
Internet адрес шлюза |
|||||||||||||||||||||||||||||||
Internet заголовок + 64 бита данных из исходной датаграммы |
Поля IP заголовка
Заимствованы сеть и адрес отправителя из исходной датаграммы с данными.
Поля ICMP сообщения
Тип
5
Код
0 |
- переадресация датаграмм для сети |
1 |
- переадресация датаграмм для хост-компьютера |
2 |
- переадресация датаграмм для типа слуг и сети |
3 |
- переадресация датаграмм для типа слуг и хост-компьютера |
Контрольная сумма
Контрольная сумма - это 16-битное дополнение до единицы суммы дополнений в ICMP сообщении, начиная с поля типа ICMP. При вычислении контрольной суммы следует сперва обнулить поле контрольной суммы. В будущем алгоритм вычисления контрольной суммы может быть изменен.
Internet адрес шлюза
дрес шлюза, на который должен быть проложен маршрут к сети, указанной в поле адреса в исходной датаграмме с данными.
Internet заголовок + 64 бита данных из исходной датаграммы
Internet заголовок плюс первые 64 бита данных из исходной датаграммы. Эти данные используются хост-компьютером для привязки сообщения к соответствующему процессу. Если протокол более высокого ровня использует номера портов, то предполагается, что эти номера входят в первые 64 бита данных исход ной датаграммы.
Описание
Шлюз посылает сообщение на хост-компьютер о переадресации в следующей ситуации:
Шлюз G1 получает Internet датаграмму от хост-компьютера в сети, где он расположен. Шлюз G1 проверяет таблицу маршрутизации и находит адрес следующего шлюза G2 в качестве маршрута для датаграммы по пути в сеть X, где расположен ее адресат. Если G2 и исходный хост-компьютер идентифицируются Internet адресом как находящиеся в одной и той же сети, то на хост-компьютер следует послать сообщение о переадресации. Сообщение о переадресации заставляет хост-компьютер посылать датаграммы для сети X прямо на шлюз G2, поскольку это более короткий путь, нежели привлекать еще шлюз G1. Шлюз передает данные исходной датаграммы их адресату в системе Internet.
Для датаграмм с опциями IP маршрутизации отправления и адресом шлюза в поле получателя сообщение не посылается, даже если и существует более оптимальный маршрут к конечному адресату, чем следующий адрес, казанный в такой опции маршрута.
Шлюзом могут быть переданы сообщения с кодами 0, 1, 2 и 3.
Эхо-сообщение и сообщение в ответ на эхо
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
Тип |
Код |
Контрольная сумма |
|||||||||||||||||||||||||||||
Идентификатор |
Номер очереди |
||||||||||||||||||||||||||||||
Данные..... |
Поля IP заголовка
дреса
Адрес отправителя в эхо-сообщении будет адресом получателя в ответном сообщении. Чтобы сформировать сообщение ответа, следует просто переставить местами адреса отправителя и получателя, код типа изменить на 0 и пересчитать контрольную сумму.
Поля ICMP сообщения
Тип
8 |
- эхо-сообщение |
0 |
- сообщение в ответ на эхо |
Код
0
Контрольная сумма
Контрольная сумма - это 16-битное дополнение до единицы суммы дополнений для ICMP сообщения, начиная с поля типа ICMP.
При вычислении контрольной суммы это поле должно быть сперва обнулено. Если общая длина сообщения нечетная, то для вычисления контрольной суммы поле данных дополняется еще одним нулевым октетом. В будущем алгоритм вычисления контрольной суммы может быть изменен.
Идентификатор
Если код = 0, то идентификатор для соотнесения эхо-сообщений и ответов на них,
должен быть обнулен.
Номер очереди
Если код = 0, то номер очереди, служащий для соотнесения эхо-сообщений и ответов на них, должен быть обнулен.
Описание
Данные из эхо-сообщения должны быть переданы в ответе на это сообщение.
Идентификатор и номер очереди может использоваться отправителем эхо-сообщения с целью идентификации приходящих пакетов. На пример, идентификатор может использоваться в качестве порта подобно протоколам TCP и UDP для идентификации сеанса. Номер очереди может величиваться на единицу при посылке каждого эхо сообщения (запроса). Компьютер, отозвавшийся на это сообщение, возвращает в своем ответе те же значения для идентификатора и номера очереди, что были в исходном эхо-сообщении.
Как шлюз, так и хост-компьютер могут возвращать сообщение с кодом 0.
Сообщение со штампом времени и сообщение с ответом на штамп времени
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
Тип |
Код |
Контрольная сумма |
|||||||||||||||||||||||||||||
Идентификатор |
Номер очереди |
||||||||||||||||||||||||||||||
Штамп времени отправления |
|||||||||||||||||||||||||||||||
Штамп времени получения |
|||||||||||||||||||||||||||||||
Штамп времени передачи |
Поля IP заголовка
дреса
Адрес отправителя в сообщении со штампом времени будет адресом получателя в сообщении с ответом. Чтобы сформировать ответ на сообщение, следует просто поменять местами адреса отправителя и получателя, выбрать код типа 14, также пересчитать контрольную сумму.
Поля ICMP сообщения
Тип
13 |
для сообщения со штампом времени |
14 |
для ответа на сообщение со штампом времени |
Код
0
Контрольная сумма
Контрольная сумма - это 16-битное дополнение до единицы суммы дополнений для ICMP сообщения, начиная с поля типа ICMP.
При вычислении контрольной суммы это поле должно быть сперва обнулено. В будущем алгоритм вычисления контрольной суммы может быть изменен.
Идентификатор
Если код = 0, то идентификатор, служащий для соотнесения сообщений со штампом времени и ответов на них, должен быть обнулен.
Номер очереди
Если код = 0, то номер очереди, служащий для соотнесения сообщений со штампом времени и ответов на них, должен быть обнулен.
Описание
Данные из сообщения (штамп времени) возвращаются вместе с ответом, при этом в них добавляется еще один штамп времени. Штамп времени - это 32 бита, где записано время в миллисекундах, прошедшее после полуночи по единому времени
(UT). Один из примеров использования таких временных штампов приведен в документе
Штамп времени отправления - это время, которое отправитель фиксировал последний раз перед посылкой сообщения. Штамп времени получения - это время, когда исходное сообщение впервые видел получатель первоначального сообщения. Штамп времени передачи - это время, которое фиксировал в последний раз компьютер, отправляющий ответное сообщение.
Если нет возможности измерять время в миллисекундах или нельзя определить единое время (UT), то в штамп все же можно занести имеющееся время, снабдив его единицей в старшем бите. Последнее также казывает на запись нестандартного значения в этом поле.
Идентификатор и номер очереди могут использоваться отправителем для соотнесения сообщений (запросов) и ответов на них. На пример, идентификатор может использоваться в качестве порта, аналогично протоколам TCP и UDP, для идентификации сессии. Номер очереди может величиваться на единицу при каждой посылке сообщения (запроса). Адресат возвращает для этих параметров те значения, которые были обнаружены в запросе. И шлюз и хост-компьютер могут возвращать сообщения с кодом 0.
Запрос информации и ответное сообщение с информацией
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
Тип |
Код |
Контрольная сумма |
|||||||||||||||||||||||||||||
Идентификатор |
Номер очереди |
Поля IP заголовка
дреса
Адрес отправителя в сообщении с запросом информации окажется адресом получателя в ответном сообщении с информацией. Чтобы сформировать ответное сообщение,
следует просто поменять местами адреса отправителя и получателя, код типа сменить на 16, пересчитать контрольную сумму.
Поля ICMP сообщения
Тип
15 |
- сообщение с запросом информации |
16 |
- ответное сообщение с информацией |
Код
0
Контрольная сумма
Контрольная сумма - это 16-битное дополнение до единицы суммы дополнений для ICMP сообщения, начиная с поля типа ICMP. При вычислении контрольной суммы следует предварительно обнулить поле самой контрольной суммы. В будущем алгоритм вычисления контрольной суммы может быть изменен.
Идентификатор
Если код = 0, то идентификатор, служащий для соотнесения запросов и ответов,
может быть обнулен.
Номер очереди
Если код = 0, то номер очереди, служащий для соотнесения запросов и ответов, может быть обнулен.
Описание
Данное сообщение может быть послано, когда в IP заголовке в полях отправителя и получателя записаны нули (это означает "именно эту" локальную сеть).
В ответ должен быть послан IP модуль с полностью заданными адресами. Данное сообщение является способом, с помощью которого хост-компьютер сможет определить номер сети, куда он подключен.
Отправитель сообщений может использовать идентификатор и номер очереди для соотнесения запросов и пришедших ответов. Например, идентификатор может использоваться как порт в протоколах TCP и UDP для идентификации сеанса. Номер очереди может величиваться на единицу всякий раз, когда посылается запрос. Адресат возвращает в ответе те же значения этих параметров, которые были обнаружены в запросе.
И хост-компьютер и шлюз могут возвращать сообщения с кодом 0.
Список типов сообщений
0 |
ответ на запрос эхо |
3 |
дресат недостижим |
4 |
приостановка отправителя |
5 |
переадресация |
8 |
эхо-запрос |
11 |
превышение контрольного времени |
12 |
проблемы с параметрами |
13 |
штамп времени |
14 |
ответ на запрос штампа времени |
15 |
запрос информации |
16 |
ответ на запрос информации |
Type 8 и Type 0 - эхо-запрос и эхо-ответ
Эхо-запрос Туре 8 и эхо-ответ Туре 0 логично рассматривать вместе, так как протонкол ICMP использует их также совместно. тилита Ping применяется для тестированния соединения сетевого ровня между двумя IP-хостами. Когда пользователь запуснкает тилиту Ping, протокол ICMP посылает эхо-запрос и ожидает, что хост назначения отреагирует и пришлет соответствующий эхо-ответ.
Type 3 - Пункт назначения недоступен
ICMP-сообщение Туре 3 о том, что пункт назначения недоступен, посылается марншрутизатором хосту-отправителю. Это предупреждение о том, что возникли пробленмы с доставкой данных получателю. Например, маршрутизатор может сообщить, что он не способен передать датаграмму далее, потому что не может найти сеть назначенния, хост или процесс. Это может случиться, если хост-получатель (или сеть, или процесс) не существует, либо не функционирует в данный момент, или к нему отсутнствует маршрут через данный маршрутизатор. То есть в любом случае маршрутизатор не может доставить или перенаправить IP-датаграмму в казанную сеть.
Туре 4 - Подавление источника
Принимающий хост генерирует это сообщение, когда он не может обработать да-таграммы с запрашиваемой скоростью по причине нехватки памяти или внутренних ресурсов. Это сообщение работает как простой механизм правления потоком инфорнмации, который принимающий хост может использовать для предупреждения отпранвителя о том, что следует снизить скорость передачи данных. Маршрутизатор может генерировать это сообщение, если в процессе ретрансляции датаграмм происходит переполнение буфера и он не может организовать очередь для доставки датаграмм.
Туре 5 - Переадресация
Это сообщение об ошибке отправителю IP-датаграмм посылает маршрутизатор. Сонобщение казывает отправителю, что он должен переслать датаграмму на другой марншрутизатор или непосредственно получателю (если последний находится в той же лонкальной сети). Сообщение помогает хосту-отправителю переадресовать ошибочно переданную датаграмму в нужном направлении (шлюзу или хосту). Заметьте, что шлюз, получивший неправильно направленный кадр, не ничтожает его, если есть возможнность переадресовать этот кадр. Шлюз отправляет кадр хосту-отправителю и посылает предупреждающее сообщение в надежде, что тот правильно перешлет кадр по адресу, казанному в сообщении.
Type 9 и Type 10 - Объявление и запрос маршрутизатора
ICMP-сообщения Туре 9 и Туре 10 используются для динамического обнаружения маршрутизаторов. Маршрутизаторы с помощью сообщений Туре 9 оповещают сеть о своем присутствии, в то время как хосты и другие маршрутизаторы могут послать сонобщение Туре 10 при поиске следующего в маршруте маршрутизатора.
Туре 11 - Превышение времени жизни датаграммы
Сообщение о превышении времени жизни отправляется, когда маршрутизатор понлучает датаграмму с TTL (время жизни пакета), равным 0 или 1. Протокол IP испольнзует поле TTL для предотвращения бесконечного зацикливания маршрутов. Маршрунтизатор не может ретранслировать датаграмму, в которой значение TTL равно 0 или 1. Вместо этого он ничтожает датаграмму и посылает сообщение "превышение времени ". Traceroute и ей подобные тилиты также используют TTL для поиска пути или марншрута к сети или хосту-получателю.
Туре 12 - Ошибка параметра
Сообщение об ошибке параметра генерируется, если хост (или шлюз) не может иннтерпретировать полученный неверный (или неправильно понятый) параметр. Хост (или шлюз) также может послать такое сообщение, если никакое другое ICMP-сообщение не может быть использовано для решения проблемы и предупреждения хоста-отпранвителя. Поэтому сообщение Туре 12 является в какой-то степени ниверсальным.
Туре 13 и Туре 14 - Запрос и ответ об отметке времени
Запросы и ответы об отметке времени работают совместно. Их не обязательно иснпользовать. Сообщение Туре 13 позволяет системе запрашивать у другой системы тенкущее время, а сообщение Туре 14 позволяет получить ответ на такой запрос.
Туре 15 и Туре 16 - Информационный запрос и ответ
Несмотря на то, что информационные запросы и ответы присутствуют в списке как потенциальные ICMP-сообщения, в действительности они не используются и считанются устаревшими. Например, хост может запросить информацию о сети, к которой он относится.
Туре 17 и Туре 18 - Запрос и ответ о маске адреса
Запросы и ответы о маске адреса также используются "в тандеме". Эти сообщения также редко используются в настоящее время, но в свое время они были разработаны для реализации динамического получения маски подсети при начальной загрузке хонста от другого хоста, принадлежащего данной сети.
Вывод
Подводя итоги, можно сказать, что ICMP-протокол осуществляет:
передачу отклика на пакет или эхо на отклик;
контроль времени жизни дейтограмм в системе;
реализует переадресацию пакета;
выдает сообщения о недостижимости адресата или о некорректности параметров;
формирует и пересылает временные метки;
выдает запросы и отклики для адресных масок и другой информации.
ICMP-сообщения об ошибках никогда не выдаются в ответ на:
ICMP-сообщение об ошибке.
При мультикастинг или широковещательной адресации.
Для фрагмента дейтограммы (кроме первого).
Для дейтограмм, чей адрес отправителя является нулевым, широковещательным или мультикастинговым.
Эти правила призваны блокировать потоки дейтограмм, посылаемым в отклик на мультикастинг или широковещательные ICMP-сообщения.
Литература
1.Хизер Остерлох Маршрутизация в IP-сетях. Принципы, протокол, настройка.-М., ДиСофтЮП, 2002, 512с.
2. ссылка более недоступнаinternet/tifamily/icmpspec.shtml