ICMP (Internet Control Message Protocol)

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

Для того чтобы скачать эту работу.
1. Подтвердите что Вы не робот:
2. И нажмите на эту кнопку.
закрыть



заголовка

Адреса
Адрес отправителя в сообщении со штампом времени будет адресом получателя в сообщении с ответом. Чтобы сформировать ответ на сообщение, следует просто поменять местами адреса отправителя и получателя, выбрать код типа 14, а также пересчитать контрольную сумму.

Поля ICMP сообщения

Тип

13 для сообщения со штампом времени14 для ответа на сообщение со штампом времениКод
0

Контрольная сумма

Контрольная сумма - это 16-битное дополнение до единицы суммы дополнений для ICMP сообщения, начиная с поля типа ICMP.

При вычислении контрольной суммы это поле должно быть сперва обнулено. В будущем алгоритм вычисления контрольной суммы может быть изменен.

Идентификатор
Если код = 0, то идентификатор, служащий для соотнесения сообщений со штампом времени и ответов на них, должен быть обнулен.

Номер очереди

Если код = 0, то номер очереди, служащий для соотнесения сообщений со штампом времени и ответов на них, должен быть обнулен.

Описание
Данные из сообщения (штамп времени) возвращаются вместе с ответом, при этом в них добавляется еще один штамп времени. Штамп времени - это 32 бита, где записано время в миллисекундах, прошедшее после полуночи по единому времени (UT). Один из примеров использования таких временных штампов приведен в документе

Штамп времени отправления - это время, которое отправитель фиксировал последний раз перед посылкой сообщения. Штамп времени получения - это время, когда исходное сообщение впервые увидел получатель первоначального сообщения. Штамп времени передачи - это время, которое фиксировал в последний раз компьютер, отправляющий ответное сообщение.

Если нет возможности измерять время в миллисекундах или нельзя определить единое время (UT), то в штамп все же можно занести имеющееся время, снабдив его единицей в старшем бите. Последнее также указывает на запись нестандартного значения в этом поле.

Идентификатор и номер очереди могут использоваться отправителем для соотнесения сообщений (запросов) и ответов на них. На пример, идентификатор может использоваться в качестве порта, аналогично протоколам TCP и UDP, для идентификации сессии. Номер очереди может увеличиваться на единицу при каждой посылке сообщения (запроса). Адресат возвращает для этих параметров те значения, которые были обнаружены в запросе. И шлюз и хост-компьютер могут возвращать сообщения с кодом 0.

Запрос информации и ответное сообщение с информацией

01234567890123456789012345678901Тип Код Контрольная сумма Идентификатор Номер очереди Поля 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-протокол осуществляет:

  • передачу отклика на пакет или эхо на отклик;
  • контроль времени жизни дейтограмм в системе;
  • реализует переадресацию пакета;
  • выдает сообщения