на каком уровне используется протокол icmp

На каком уровне используется протокол icmp

Internet Control Message Protocol

ICMP (англ. Internet Control Message Protocol — протокол межсетевых управляющих сообщений [1] ) — сетевой протокол, входящий в стек протоколов TCP/IP. В основном ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например, запрашиваемая услуга недоступна, или хост, или маршрутизатор не отвечают. Также на ICMP возлагаются некоторые сервисные функции.

Содержание

Технические подробности

Протокол ICMP описан в RFC 792 (с дополнениями в RFC 950) и является стандартом Интернета (входит в стандарт STD 5 вместе с IP). Хотя формально ICMP использует IP (ICMP-пакеты инкапсулируются в IP пакеты), он является неотъемлемой частью IP и обязателен при реализации стека TCP/IP. Текущая версия ICMP для IPv4 называется ICMPv4. В IPv6 существует аналогичный протокол ICMPv6.

ICMP-сообщение строится из IP-пакетов, сгенерировавших ICMP-ответ. IP инкапсулирует соответствующее ICMP-сообщение с новым заголовком IP (чтобы отправить ICMP-сообщение обратно отправителю) и передает полученные пакеты дальше.

Например, каждая машина (такая, как маршрутизатор), которая перенаправляет IP-пакеты, уменьшает Time to live (TTL) поля заголовка IP на единицу, если TTL достигает 0, ICMP-сообщение о превышении TTL отправляется на источник пакета.

Каждое ICMP-сообщение инкапсулируется непосредственно в пределах одного IP-пакета, и, таким образом, как и UDP, ICMP является ненадежным (надежным является TCP).

ICMP основан на протоколе IP. Его цели отличны от целей транспортных протоколов, таких как TCP и UDP: он, как правило, не используется для передачи и приема данных между конечными системами. ICMP не используется непосредственно в приложениях пользователей сети (исключение составляют инструменты Ping и Traceroute).

Использование ICMP-сообщений

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

ICMP-сообщения (тип 3) генерируются маршрутизатором при отсутствии маршрута к адресату.

Утилита Ping, служащая для проверки возможности доставки IP-пакетов использует ICMP-сообщения с типом 8 (эхо-запрос) и 0 (эхо-ответ).

Утилита Traceroute, отображающая путь следования IP-пакетов, использует ICMP-сообщения с типом 11.

ICMP-сообщения с типом 5 используются маршрутизаторами для обновления записей в таблице маршрутизации отправителя.

ICMP-сообщения с типом 4 используются получателем (или маршрутизатором) для управления скоростью отправки сообщений отправителем.

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

ICMP, который расшифровывается как Internet Control Message Protocol это протокол третьего уровня модели OSI, который используется для диагностики проблем со связностью в сети. Говоря простым языком, ICMP помогает определить может ли достичь пакет адреса назначения в установленные временные рамки. Обычно, ICMP “юзают» маршрутизаторы и устройства третьего уровня.

Онлайн курс по Кибербезопасности

Изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

Для чего используется ICMP?

Про трассировку

Так и с “трассировкой». Когда говорят “сделайте трассировку маршрута» это означает, что мы хотим увидеть полный маршрут между хостом, на котором выполняется трассировка до хоста назначения. Трассировка покажет каждый из маршрутизаторов на пути до цели и время обработки и прохождения каждого из участков маршрута. Кстати, такой маршрут называется “хопом». Часто говорят: если от узла отправления до узла назначения на пути встретиться 7 маршрутизаторов, то говорят на пути будет 7 хопов. А если на 6 маршрутизаторе пакет обрабатывается дольше обычного, то в среде инженеров говорят “на 6 хопе повышенная задержка». Это один из базовых инструментов того, как можно понять, какой из сетевых узлов на маршруте пакет “сбоит». Именно в этом нам помогает протокол ICMP.

Про пинг

Теперь про ping. Можно сказать, это самый базовый инструмент инженера, который позволяет понять “»А жив ли хост?»

Помимо прочего, пинг поможет понять как долго пакет доходит до адреса назначения и, соответственно, поможет измерить задержку.

Работает ping предельно просто:

Темная сторона ICMP

Так же, раньше была популярна атака Ping of Death. Если кратко, ее суть заключалась в следующем: злоумышленник намеренно отправляет пакет больше максимального размера. Такой пакет фрагментируется на сети на несколько частей, прилетает в буфер устройства и попадает в очередь на сборка пакета “воедино». Переполнение этой очереди приводило к подвисанию хоста и полному отказу в работе.

Что же, теперь вы знаете, что такое ICMP, почему и как он используется в утилитах ping и трассировке, а так же, какие виды атак можно выполнить с помощью ICMP.

Keep calm and Merion!

Полный курс по Сетевым Технологиям

В курсе тебя ждет концентрат ТОП 15 навыков, которые обязан знать ведущий инженер или senior Network Operation Engineer

Источник

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

ICMP (Internet Control Messaging Protocol)

Протокол управляющих сообщений Internet (Internet Control Messaging Protocol — ICMP) фактически считается вспомогательным протоколом для IP. Поэтому он определен в том же документе стандарта Internet (стандарт 5), что и IP. Но ICMP по принципам своего функционирования в большей степени напоминает протокол верхнего уровня, чем вспомогательный протокол, и использует IP таким же образом, как его используют другие протоколы верхнего уровня (такие как TCP). В частности, ICMP позволяет протоколу IP инкапсулировать передаваемые им данные. Поэтому в протоколе ICMP, как таковом, применяются механизмы адресации и фрагментации IP. Причина, по которой ICMP считается вспомогательным протоколом, состоит в том, что он играет крайне важную роль в обеспечении успешного функционирования IP, поэтому стал обязательным компонентом любой реализации IP. Какую же важную роль играет этот протокол? Он просто сообщает об ошибках.

Назначение ICMP как протокола состоит в предоставлении устройствам IP информации о результатах выполненных ими операций передачи данных по протоколу IP. Как правило, этот протокол чаще всего используется для передачи хостам сообщений о том, что возникла какая-то ошибка. Например, предположим, что предпринимается попытка подключения к удаленному хосту с помощью протокола Telnet. Пользователь вводит в приложении Telnet соответствующее имя хоста, а через несколько секунд получает ответ, что адресат недоступен — Destination Unreachable. Каким образом приложение Telnet могло определить, что адресат недоступен? Если бы маршрутизатор просто уничтожил пакет с запросом на установление соединения, то не было бы возможности определить действительную причину ошибки.

Именно для этой цели и служит ICM Р. Приложение Telnet не должно ожидать до бесконечности установления соединения (или устанавливать тайм-аут на четыре минуты, ожидая истечения максимального значения TTL), поскольку им может быть сразу же получено сообщение ICMP от маршрутизатора с указанием, что адресат недоступен. Сообщение Destination Unreachable представляет собой лишь одно из сообщений многих типов, которые определены в протоколе ICMP. Полный список типов сообщений ICMP, которые предусмотрены в документе RFC 792, приведен в табл. 5.1. Назначение сообщений некоторых типов описано ниже. Следует отметить, что все реализации IP формально должны распознавать сообщения всех типов, но не во всех этих реализациях фактически используется полный перечень типов сообщения. Иными словами, состав поддерживаемых сообщений зависит от реализации протокола IP в конкретной операционной системе.

Таблица 5.1. Коды и типы сообщений ICMP.

Код ICMPТип ICMP
0Echo Reply (Ответ эхо-повтора)
3Destination Unreachable (Адресат недоступен)
4Source Quench (Подавление источника)
5Redirect (Перенаправление)
8Echo Request (Запрос эхо-повтора)
11Time Exceeded (Превышение установленного времени)
12Parameter Problem (Ошибка при обработке параметра)
13Timestamp Request (Запрос временной отметки)
14Timestamp Reply (Ответ с временной отметкой)
15Information Request (Информационный запрос)
16Information Reply (Информационный ответ)

Содержание

Запрос и ответ эхо-повтора ICMP

Сообщения эхо-повтора ICMP используются для диагностических целей в одном из наиболее широко применяемых в настоящее время сетевых приложений — в программе Ping. Те, кто незнаком с программой Ping, могут рассматривать ее как грубый способ проверки наличия признаков жизни. Например, если преподаватель на уроке заметил, что один из учеников положил голову на стол, он может проверить, жив ли этот ученик (и просто уснул) или умер. В этом случае преподавателю нужно взять указку (ведь она есть практически у каждого преподавателя) и «постучать» нерадивого ученика по голове. Итак, если он действительно спит, то обязательно отреагирует каким- либо образом. Ну а если случилось худшее, то и об этом необходимо вовремя узнать.

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

Сообщение Destination Unreacheable (адресат недостижим)

Это сообщение применяется для передачи хосту указания на то, что получатель отправленного им пакета IP не был найден. Такая проблема может быть вызвана многими причинами, о которых можно узнать по дополнительному коду в сообщении Destination Unreachable. Для этого сообщения определено шесть дополнительных кодов, описание которых приведено ниже.

Этот код позволяет хосту определить, что заданный им маршрут передачи пакета получателю является недействительным. Как правило, это сообщение не применяется, поскольку в протоколе IP обычно не предусматривается маршрутизация от отправителя. Сообщение Source Quench(подавление источника)

Сообщение Source Quench

Сообщение Source Quench протокола ICMP является типичным примером уведомления о заторе. Когда буфер устройства начинает заполняться, этим устройством может быть отправлено сообщение Source Quench ICMP на предыдущее устройство, находящееся на расстоянии одного транзитного перехода, с требованием замедлить передачу. Такой механизм напоминает схему уведомления о заторе, которая рассматривалась в главе 1. Единственным недостатком такого механизма является то, что устройства обычно начинают отправлять сообщения Source Quench только после того, как в них начинается уничтожение пакетов, полученных от предыдущего устройства. Сообщения Source Quench могут вырабатываться любыми устройствами вдоль пути следования пакета, независимо от того, являются ли эти устройства маршрутизаторами или оконечными устройствами (хостами). Кроме того, на сообщение Source Quench может также ответить любое устройство вдоль пути следования (маршрутизатор или хост), но и в этом случае перечень возможных ответов зависит от конкретной реализации протокола ICMP.

Сообщение Redirect (перенаправление)

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

Сообщение Time Exceeded (превышение установленного времени)

Для передачи хосту информации о том, что пересылка отправленного им сообщения потребовала слишком много времени на пути к намеченному получателю, после достижения нулевого значения в поле TTL пакета IP хосту отправителя передается сообщение Time Exceeded. Поле TTL обычно применяется в программе traceroute (версия этой программы, применяемая в операционной системе Cisco, носит название Пасе, а в операционной системе Windows — tracert). Назначение программы traceroute состоит в проверке каждого транзитного перехода на пути к указанному получателю. Такая информация позволяет узнать точный маршрут прохождения пакетов от отправителя к получателю. Такая информация имеет исключительно важное значение при поиске неисправностей.

Например, обычно автор, чтобы обратиться на Web-узел Microsoft, отправляет со своего домашнего компьютера пакеты, которые вначале поступают на узел в г. Роли (Raleigh), шт. Северная Каролина, затем в Вашингтон, округ Колумбия, и наконец, поступают в Сиэтл, шт. Вашингтон. А когда автор заметил, что в определенные дни Web-узел Microsoft отвечает на запросы с особенно значительным замедлением, он решил выяснить, находится ли причина такого замедления в его локальной сети, в сети провайдера Internet или просто связана с нарушением работы опорной сети. А поскольку после выполнения трассировки маршрута с помощью программы traceroute было обнаружено, что путь в Сиэтл в период значительного замедления проходит через Флориду, ответ стал очевидным. По всей вероятности, опорная сеть, которая обычно используется, была перегружена или остановлена, поэтому пакеты были направлены по альтернативному маршруту, который оказался намного длиннее.

В программе traceroute задача проверки маршрута выполняется очень просто. Как указано выше, после истечения времени, установленного в поле TTL, пакет уничтожается и хосту передается сообщение Time Exceeded протокола ICMP. В программе traceroute как раз и используется это поле, в котором по мере отправки очередных пакетов устанавливаются небольшие, но последовательно увеличивающиеся значения. Установив значение TTL в первом пакете, передаваемом получателю, равное 1, программа traceroute получает сообщение Time Exceeded от первого же маршрутизатора на пути к месту назначения (такое сообщение, безусловно, не может быть получено в том случае, если в конфигурации маршрутизатора не предусмотрена отправка сообщений Time Exceeded). Причина отправки такого сообщения является очевидной: каждый маршрутизатор в пути следования пакета должен уменьшить значение TTL, по меньшей мере, на 1. А если поле TTL имело значение 1 и маршрутизатор уменьшил его на 1, такое значение становится равным 0, поэтому пакет отбрасывается и отправителю передается сообщение Time Exceeded.

Итак, программа traceroute просто выполняет такую операцию много раз, последовательно увеличивая при этом значение TTL на 1. Поэтому при отправке первого сообщения TTL равно 1, что позволяет определить первый транзитный переход. Во втором сообщении оно равно 2, что дает возможность узнать, где находится второй транзитный переход и т.д.

Сообщение Parameter Problem (ошибка при обработке параметра)

Сообщение Parameter Problem передается отправителю в том случае, если устройство получателя не может определить, что означает один из параметров в заголовке IP, и поэтому вынуждено отбросить ракет. Как правило, это сообщение передается только в том случае, если получателем обнаружены в пакете такие опции, которые он не может распознать.

Сообщения Timestamp Request (запрос отметки времени) и Timestamp Reply (ответ с отметкой времени)

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

Сообщения Information Request (информационный запрос) и Information Reply (информационный ответ)

Сообщения ICMP типа Information применяются устройством для определения того, в какой сети оно находится. Устройство отправляет пакет IP, в котором в полях адреса отправителя и получателя находятся значения 0.0.0.0. Затем другое устройство (обычно маршрутизатор или сервер) в ответ передают сетевой адрес данной локальной сети, что позволяет отправителю первоначального сообщения определить, к какой сети он относится.

Дополнительная информация о протоколе ICMP приведена в документе RFC 792 (стандарт 5).

Источник

Протокол межсетевых управляющих сообщений. Типы и Коды ICMP — сообщений

Протокол ICMP (Internet Control Message Protocol) — протокол межсетевых управляющих сообщений.

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

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

Формат заголовка ICMP

Рассмотрим формат пакета ICMP. Первое поле в заголовке тип сообщения. Оно говорит о том, что произошло в сети, какая ошибка или какое действие по диагностике пытаются выполнить.

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

Типы ICMP — сообщений

Самое важно в пакете ICMP это тип сообщений. Именно тип, говорит о том, что произошло в сети. Есть 2 вида ICMP сообщений. Первый вид это запрос-ответ.

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

Коды ICMP — сообщений

Следующее поле в заголовке ICMP это код сообщения. Ниже представлено несколько возможных кодов для типа сообщения 3 — узел назначения недостижим. Какие могут быть причины? Причины перечислены ниже на картинке.

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

Применение ICMP

Большая часть пакетов ICMP формируется и отправляется автоматически сетевым оборудованиям. Но некоторые типы сообщений формируются утилитами, которые применяются для диагностики сети. Рассмотрим утилиты ping и traceroute (в Windows tracert)

Утилита ping

Утилита ping используется, чтобы проверить доступность компьютера в сети. Возможно подключиться к этому компьютеру или нельзя. Ping использует это-протокол ICMP. Компьютер, который хочет проверить доступность другого, отправляет эхо-запрос (тип=8, код=0).

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

Компьютер, который получил такой запрос, в ответ отправляет эхо-ответ ICMP с типом 0, если эхо-ответ не пришел, значит установить с компьютером соединение по сети невозможно.

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

Пример использования утилиты ping для проверки возможности подключиться к сайту ВКонтакте. По умолчанию утилита ping запускает 4 эхо-запроса и для каждого эхо-запроса получен эхо-ответ. В ответе указывается некоторая диагностическая информация.

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

Утилита traceroute

Утилита traceroute позволяет определить маршрут от отправителя к получателю. Под маршрутом имеется в виду перечень всех маршрутизаторов через которые проходит пакет.

Пример работы утилиты traceroute ее windows вариант tracert для определения маршрута к сайту ВКонтакте.

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

Работа утилиты traceroute

Как утилита traceroute узнает маршрутизатор? Для этого утилита использует ICMP сообщения время жизни истекло. Чтобы этого достичь, сначала отправляется сообщение у которого время жизни установлено в единицу TTL=1.

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

Пакет доходит до первого маршрутизатора, маршрутизатор уменьшает время жизни TTL=0 и маршрутизатор отбрасывает пакет.

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

И генерирует сообщение об ошибке ICMP с типом 11, код 0 время жизни истекло. Утилита traceroute из заголовка IP пакета в которого вложен ICMP извлекает IP-адрес маршрутизатора.

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

На следующем этапе о тправляется пакет с временем жизни равным двум TTL=2.

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

На первом маршрутизаторе время жизни уменьшается до единицы и пакет переходит на второй маршрутизатор.

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

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

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

И так происходит до тех пор пока пакет не дойдет до узла назначения.

Заключение

Рассмотрели протокол ICMP протокол межсетевых управляющих сообщений. Протокол ICMP используется для сообщения об ошибках, которые происходят в сети и для тестирования работоспособности сети.

Источник

ЦельВспомогательный протокол для IPv4Разработчики)DARPAВведено1981 г.Слой OSIСетевой уровеньRFC (ы)RFC 792

СОДЕРЖАНИЕ

Технические детали

ICMP является частью набора интернет-протоколов, как определено в RFC 792. Сообщения ICMP обычно используются для целей диагностики или управления или генерируются в ответ на ошибки в IP- операциях (как указано в RFC 1122). Ошибки ICMP направляются на исходный IP-адрес исходного пакета.

Например, каждое устройство (такое как промежуточный маршрутизатор ), пересылающее дейтаграмму IP, сначала уменьшает время жизни (TTL) в поле IP-заголовка на единицу. Если результирующий TTL равен 0, пакет отбрасывается, и сообщение ICMP о превышении времени передачи отправляется на адрес источника дейтаграммы.

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

Структура дейтаграммы

Пакет ICMP инкапсулируется в пакет IPv4. Пакет состоит из разделов заголовка и данных.

Заголовок

Заголовок ICMP начинается после заголовка IPv4 и идентифицируется номером протокола IP «1». Все пакеты ICMP имеют 8-байтовый заголовок и раздел данных переменного размера. Первые 4 байта заголовка имеют фиксированный формат, а последние 4 байта зависят от типа / кода этого пакета ICMP.

Данные

Сообщения об ошибках ICMP содержат раздел данных, который включает копию всего заголовка IPv4 плюс по крайней мере первые восемь байтов данных из пакета IPv4, вызвавшего сообщение об ошибке. Максимальная длина сообщений об ошибках ICMP составляет 576 байт. Эти данные используются хостом для сопоставления сообщения с соответствующим процессом. Если протокол более высокого уровня использует номера портов, предполагается, что они находятся в первых восьми байтах данных исходной дейтаграммы.

Контрольные сообщения

Погашение источника

Source Quench запрашивает у отправителя уменьшение количества сообщений, отправляемых маршрутизатору или хосту. Это сообщение может быть сгенерировано, если у маршрутизатора или хоста недостаточно буферного пространства для обработки запроса, или может появиться, если буфер маршрутизатора или хоста приближается к своему пределу.

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

Поскольку исследование показало, что «ICMP Source Quench [был] неэффективным (и несправедливым) противоядием от перегрузки», создание маршрутизаторами сообщений Source Quench было объявлено устаревшим в 1995 году RFC 1812. Кроме того, пересылка и любая реакция на (управление потоком) actions) сообщения о подавлении исходного кода устарели с 2012 года согласно RFC 6633.

Сообщение о гашении источника

00010203040506070809101112131415161718192021 год2223242526 год2728 год293031 год
Тип = 4Код = 0Контрольная сумма
неиспользованный
Заголовок IP и первые 8 байтов исходных данных дейтаграммы

Тип должен быть установлен на 4 Код должен быть установлен на 0 Заголовок IP и дополнительные данные используются отправителем для сопоставления ответа со связанным запросом.

Перенаправить

на каком уровне используется протокол icmp. Смотреть фото на каком уровне используется протокол icmp. Смотреть картинку на каком уровне используется протокол icmp. Картинка про на каком уровне используется протокол icmp. Фото на каком уровне используется протокол icmp

Перенаправить сообщение

00010203040506070809101112131415161718192021 год2223242526 год2728 год293031 год
Тип = 5КодКонтрольная сумма
айпи адрес
Заголовок IP и первые 8 байтов исходных данных дейтаграммы

Время истекло

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

Сообщения об истечении времени используются утилитой traceroute для идентификации шлюзов на пути между двумя хостами.

Сообщение о превышении времени

00010203040506070809101112131415161718192021 год2223242526 год2728 год293031 год
Тип = 11КодКонтрольная сумма
неиспользованный
Заголовок IP и первые 8 байтов исходных данных дейтаграммы

Отметка времени

Отметка времени используется для синхронизации времени. В качестве исходной временной метки устанавливается время (в миллисекундах с полуночи), когда отправитель последний раз касался пакета. Метки времени приема и передачи не используются.

Сообщение с отметкой времени

00010203040506070809101112131415161718192021 год2223242526 год2728 год293031 год
Тип = 13Код = 0Контрольная сумма
ИдентификаторПоследовательность чисел
Создать отметку времени
Получить отметку времени
Отметка времени передачи

Ответ с отметкой времени

Ответное сообщение с отметкой времени

00010203040506070809101112131415161718192021 год2223242526 год2728 год293031 год
Тип = 14Код = 0Контрольная сумма
ИдентификаторПоследовательность чисел
Создать отметку времени
Получить отметку времени
Отметка времени передачи

Запрос маски адреса

Запрос маски адреса

00010203040506070809101112131415161718192021 год2223242526 год2728 год293031 год
Тип = 17Код = 0Контрольная сумма
ИдентификаторПоследовательность чисел
Адресная маска

Тип должен быть установлен на 17 Код должен быть установлен на 0 Адресная маска может быть установлена ​​на 0

Запрос маски адреса ICMP может использоваться как часть разведывательной атаки для сбора информации о целевой сети, поэтому ответ по маске адреса ICMP отключен по умолчанию в Cisco IOS.

Ответ по адресной маске

Ответ маски адреса используется для ответа на сообщение запроса маски адреса с соответствующей маской подсети.

Ответ по адресной маске

00010203040506070809101112131415161718192021 год2223242526 год2728 год293031 год
Тип = 18Код = 0Контрольная сумма
ИдентификаторПоследовательность чисел
Адресная маска

Тип должен быть установлен на 18 Код должен быть установлен на 0 Маска адреса должна быть установлена ​​на маску подсети.

Пункт назначения недоступен

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *