Что такое icmp пакеты
Перейти к содержимому

Что такое icmp пакеты

  • автор:

Протокол ICMP — что это и для чего нужен?

img

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

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

Основная цель ICMP это отчетность об ошибках. При соединении двух девайсов в сети, если часть данных не доходит до адреса назначения, теряется или превышает допустимые таймауты — ICMP генерирует ошибки.

Второе, и, пожалуй, одно из самых популярных применений ICMP это утилиты ping и traceroute. Термин “пинговать» как — раз связан с протоколом ICMP и “пинговать» хост — означает отправлять ICMP пакеты с целью понять, отвечает ли на них целевое устройство.

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

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

Про пинг

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

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

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

Протокол ICMP - что это и для чего нужен

  1. Источник отправляет запрос вида ICMP echo request. Это выглядит как вопрос “бро, ты живой?»
  2. Получатель отправляет ответ источнику ICMP echo reply. Это звучит как ответ вида “да, бро, я жив, спасибо!»
  3. Время с момента отправки вопроса до получения ответа суммируется и считается за время пинга

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

На самом деле, с помощью ICMP можно провести атаки на сеть. Эти атаки связаны с отказом устройства в обслуживании (denial-of-service, DoS). Например “флуд — атака», суть которой заключается в отправке огромного количества пинг (ICMP) — запросов на хоста назначения с разных источников. В итоге устройство отвечает кучей пакетов на разные адреса и перегружает собственные мощности и сетевой адаптер.

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

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

Keep calm and Merion!

Что такое ICMP?

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

Какие существуют варианты использования ICMP?

Протокол Internet Control Message Protocol (ICMP) является важным протоколом сетевого уровня в компьютерных сетях. Он обеспечивает стандартизированный механизм передачи сетевыми устройствами важной информации, такой как подключение и состояние сети. Все устройства, подключенные к сети, включая маршрутизаторы и конечные устройства, могут обрабатывать сообщения ICMP. ICMP адаптирован для работы как с IPv4, так и с IPv6.

Далее мы обсудим некоторые распространенные варианты использования ICMP.

Отчеты об ошибках

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

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

Диагностика

ICMP можно использовать для диагностики сети. Чаще всего он используется для команд ping и traceroute.

Команда ping проверяет доступность сетевых устройств, отправляя пакеты эхо-запроса ICMP на целевое устройство. Если устройство доступно, оно возвращает эхо-ответ ICMP. Благодаря этому надежно проверяется задержка в сети и обеспечивается доступность устройства.

Команда traceroute отслеживает путь пакетов от источника до места назначения. Для этого команда отправляет сообщения эхо-запроса и эхо-ответа в указанное место назначения.

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

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

сетевая безопасность;

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

Вы также можете использовать протокол для выявления необычных схем трафика, которые могут указывать на несанкционированную активность.

Как работает ICMP?

Протокол Internet Control Message Protocol (ICMP) обычно работает вместе с другими сетевыми протоколами, например TCP/IP или протоколом пользовательских дейтаграмм (UDP). Хосты и маршрутизаторы обмениваются сообщениями или пакетами ICMP при возникновении определенных сетевых событий.

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

Заголовок пакета ICMP

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

Например, если используется эхо-запрос, получатель отправляет эхо-ответ с теми же данными. Если тип – недоступное место назначения, получатель отвечает сообщением, в котором указано, что оно недоступно.

Раздел данных ICMP

Раздел данных в сообщении ICMP содержит такую информацию, как IP-адрес получателя или причина сбоя, а также коды ошибок или числовые коды, идентифицирующие ошибки.

Ниже приведены некоторые примеры.

  • Код недоступного места назначения (тип 3) означает, что устройство получателя не существует в сети
  • Код перенаправления (тип 5) отправляет сообщение другому маршрутизатору с указанием лучшего маршрута к месту назначения
  • Коды эхо-запроса и эхо-ответа (типы 8 и 10) проверяют связь между устройствами
  • Сообщение о превышении времени показывает, что пакет достиг места назначения
  • Сообщение Parameter Problem (Проблема параметра) указывает, что маршрутизатор столкнулся с проблемой в заголовке поля IP
  • Сообщение Source Quench (Подавление источника) отправляется, когда маршрутизатору приходится сталкиваться с перегрузкой и ему необходимо ограничить количество получаемых пакетов

В чем разница между ICMP и TCP?

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

Напротив, протокол Internet Control Message Protocol (ICMP) – это протокол без подключения, который не гарантирует доставку сообщений. Поскольку ICMP используется только для отчетов об ошибках, сообщения ICMP также меньше пакетов TCP.

ICMP и TCP используются совместно для определения причины сбоя доставки по протоколу TCP.

Что такое наплыв пингов ICMP?

Наплыв пингов по протоколу Internet Control Message Protocol (ICMP) – это события типа «отказ в обслуживании» (DoS), когда неавторизованные пользователи отправляют несколько эхо-запросов ICMP за короткий период времени. В каждом запросе ICMP содержится уникальный идентификатор и полезная нагрузка данных, которая требует от получателя уникального ответа. Принимающий сервер пытается ответить на каждый несанкционированный запрос, в результате чего ответы авторизованных источников задерживаются или замедляются.

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

Как AWS может усилить защиту от DDoS-событий?

Amazon Web Services (AWS) предлагает сервис AWS Shield, чтобы улучшить защиту от событий типа «распределенный отказ в обслуживании» (DDoS).

AWS Shield — это управляемый сервис защиты от DDoS-атак, который надежно защищает приложения, работающие в облаке AWS. Он обеспечивает динамическое обнаружение и автоматические встроенные средства защиты, которые минимизируют время простоя и задержки приложений. В AWS Shield предусмотрены автоматизированные методы нейтрализации угроз для защиты от всех типов событий сетевой безопасности.

AWS Shield предоставляет вам множество возможностей.

  • Автоматическая очистка несанкционированного трафика на определенных уровнях
  • Минимизация времени простоя и задержек приложений
  • Мониторинг и защита до 1000 типов ресурсов
  • Индивидуальное обнаружение на основе шаблона трафика приложения

Начните использовать защиту от DDoS-событий, создав аккаунт сегодня.

Что такое icmp пакеты

4.4.4 Протокол передачи команд и сообщений об ошибках (ICMP)
Семенов Ю.А. (ГНЦ ИТЭФ)

Протокол передачи команд и сообщений об ошибках (ICMP — internet control message protocol, RFC-792, — 1256) выполняет многие и не только диагностические функции, хотя у рядового пользователя именно этот протокол вызывает раздражение, сообщая об его ошибках или сбоях в сети. Именно этот протокол используется программным обеспечением ЭВМ при взаимодействии друг с другом в рамках идеологии TCP/IP. Осуществление повторной передачи пакета, если предшествующая попытка была неудачной, лежит на TCP или прикладной программе. При пересылке пакетов промежуточные узлы не информируются о возникших проблемах, поэтому ошибка в маршрутной таблице будет восприниматься как неисправность в узле адресата и достоверно диагностироваться не будет. ICMP-протокол сообщает об ошибках в IP-дейтограммах, но не дает информации об ошибках в самих ICMP-сообщениях. icmp использует IP, а IP-протокол должен использовать ICMP. В случае ICMP-фрагментации сообщение об ошибке будет выдано только один раз на дейтограмму, даже если ошибки были в нескольких фрагментах.

Задачи, решаемые ICMP

Подводя итоги, можно сказать, что ICMP-протокол осуществляет:

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

Следует только иметь в виду, что получив отклик на посланный запрос, мы узнаем состояние объекта не в данный момент, а RTT/2 тому назад.

ICMP-сообщения об ошибках никогда не выдаются в ответ на:

  • ICMP-сообщение об ошибке.
  • При мультикастинг или широковещательной адресации.
  • Для фрагмента дейтограммы (кроме первого).
  • Для дейтограмм, чей адрес отправителя является нулевым, широковещательным или мультикастинговым.

Эти правила призваны блокировать потоки дейтограмм, посылаемым в отклик на мультикастинг или широковещательные ICMP-сообщения.

ICMP-сообщения имеют свой формат, а схема их вложения аналогична UDP или TCP и представлена на рис. 4.4.4.1.

Схема вложения ICMP-пакетов в Ethernet-кадр

Рис. 4.4.4.1. Схема вложения ICMP-пакетов в Ethernet-кадр

Все ICMP пакеты начинаются с 8-битного поля типа ICMP и его кода (15 значений).

Код уточняет функцию ICMP-сообщения. Таблица этих кодов приведена ниже (символом * помечены сообщения об ошибках, остальные — являются запросами):

Типы и коды ICMP-сообщений

Таблица 4.4.4.1. Типы и коды ICMP-сообщений.

ICMP-сообщение Описание сообщения
Тип Код
0 Эхо-ответ (ping-отклик)
3 Адресат недостижим
0 * Сеть недостижима
1 * ЭВМ не достижима
2 * Протокол не доступен
3 * Порт не доступен
4 * Необходима фрагментация сообщения
5 * Исходный маршрут вышел из строя
6 * Сеть места назначения не известна
7 * ЭВМ места назначения не известна
8 * Исходная ЭВМ изолирована
9 * Связь с сетью места назначения административно запрещена
10 * Связь с ЭВМ места назначения административно запрещена
11 * Сеть не доступна для данного вида сервиса
12 * ЭВМ не доступна для данного вида сервиса
13 * Связь административно запрещена с помощью фильтра.
14 * Нарушение старшинства ЭВМ
15 * Дискриминация по старшинству
4 0 * Отключение источника при переполнении очереди (quench)
5 Переадресовать (изменить маршрут)
0 Переадресовать дейтограмму в сеть (устарело)
1 Переадресовать дейтограмму на ЭВМ
2 Переадресовать дейтограмму для типа сервиса (tos) и сети
3 Переадресовать дейтограмму для типа сервиса и ЭВМ
8 0 Эхо запроса (ping-запрос).
9 0 Объявление маршрутизатора
10 0 Запрос маршрутизатора
11 Для дейтограммы время жизни истекло (ttl=0):
0 *при передаче
1 * при сборке (случай фрагментации).
12 * Проблема с параметрами дейтограммы
0 * Ошибка в ip-заголовке
1 * Отсутствует необходимая опция
13 Запрос временной метки
14 Временная метка-отклик
15 Запрос информации (устарел)
16 Информационный отклик (устарел)
17 Запрос адресной маски
18 Отклик на запрос адресной маски

Процедура «отключение источника» (quench, поле тип ICMP=4) позволяет управлять потоками данных в каналах Интернет. Не справляясь с обработкой дейтограмм, ЭВМ-адресат может послать запрос «отключить источник» отправителю, который может сократить темп посылки пакетов или вовсе прервать их посылку. Специальной команды, отменяющей прежние запреты, не существует. Если сообщения об отключении прекращаются, источник может возобновить посылку пакетов или увеличить частоту их отправки. Ниже (на рис. 4.4.4.2) представлен формат эхо-запроса (ping) и отклика для протокола ICMP.

Форматы пакетов ICMP

Рис. 4.4.4.2. Формат эхо-запроса и отклика ICMP

Поля идентификатор (обычно это идентификатор процесса) и номер по порядку (увеличивается на 1 при посылке каждого пакета) служат для того, чтобы отправитель мог связать в пары запросы и отклики. Поле тип определяет, является ли этот пакет запросом (8) или откликом (0). Поле контрольная сумма представляет собой 16-разрядное дополнение по модулю 1 контрольной суммы всего ICMP-сообщения, начиная с поля тип . Поле данные служит для записи информации, возвращаемой отправителю. При выполнении процедуры ping эхо-запрос с временной меткой в поле данные посылается адресату. Если адресат активен, он принимает IP-пакет, меняет адрес отправителя и получателя местами и посылает его обратно. ЭВМ-отправитель, восприняв этот отклик, может сравнить временную метку, записанную им в пакет, с текущим показанием внутренних часов и определить время распространения пакета (RTT — round trip time). Размер поля данные не регламентирован и определяется предельным размером IP-пакета.

Поле идентификатор бывает важно, когда ЭВМ используется как программируемый генератор трафика. В этом случае очередной ICMP-пакет посылается, не дожидаясь прихода отклика. Более того, такие пакеты могут генерироваться несколькими процессами одновременно. В этом случае поле идентификатор становится необходимым, чтобы определить, какому процессу ОС передать очередной отклик.

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

Когда маршрутизатор не может доставить дейтограмму по месту назначения, он посылает отправителю сообщение «адресат не достижим» (destination unreachable). Формат такого сообщения показан ниже (на рис. 4.4.4.3).

Рис. 4.4.4.3. Формат ICMP-сообщения «адресат не достижим»

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

Так как в сообщении содержится Интернет-заголовок и первые 64-байта дейтограммы, легко понять, какой адрес оказался недостижим. Этот тип ICMP-сообщения посылается и в случае, когда дейтограмма имеет флаг DF=1 («не фрагментировать»), а фрагментация необходима. В поле код в этом случае будет записано число 4.

Если буфер приема сообщения переполнен, ЭВМ посылает сообщение типа 4 для каждого из не записанных в буфер сообщений.

Так как собственные часы различных ЭВМ имеют свое представление о времени, протокол ICMP, среди прочего, служит для синхронизации работы различных узлов, если это требуется (запросы временных меток). Протокол синхронизации NTP (network time protocol) описан в RFC-1119.

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

Рис. 4.4.4.4. Формат icmp-запроса снижения загрузки

В Internet таблицы маршрутизации остаются без изменений достаточно долгое время, но иногда таблицы все же меняются. Если маршрутизатор обнаружит, что ЭВМ использует неоптимальный маршрут, он может послать ей ICMP-запрос переадресации. Формат такого сообщения отображен на рисунке 4.4.4.5.

Рис. 4.4.4.5. Формат ICMP-запроса переадресации

Поле Internet-адрес маршрутизатора содержит адрес маршрутизатора, который ЭВМ должна использовать, чтобы посланная дейтограмма достигла места назначения, указанного в ее заголовке. В поле internet-заголовок кроме самого заголовка лежит 64 первых бита дейтограммы, вызвавшей это сообщение. Поле код специфицирует то, как нужно интерпретировать адрес места назначения (см. табл. 4.4.4.1).

Команды переадресации маршрутизатор посылает только ЭВМ и никогда другим маршрутизаторам. Рассмотрим конкретный пример. Пусть некоторая ЭВМ на основе своей маршрутной таблицы посылает пакет маршрутизатору M1. Он, просмотрев свою маршрутную таблицу, находит, что пакет следует переслать маршрутизатору M2. Причем выясняется, что пакет из M1 в M2 следует послать через тот же интерфейс, через который он попал в M1. Это означает, что M2 доступен и непосредственно для ЭВМ-отправителя. В такой ситуации M1 посылает ICMP-запрос переадресации ЭВМ-отправителю указанного пакета с тем, чтобы она внесла соответствующие коррективы в свою маршрутную таблицу.

Маршрутная таблица может загружаться из файла, формироваться менеджером сети, но может создаваться и в результате запросов и объявлений, посылаемых маршрутизаторами. После загрузки системы маршрутизатор посылает широковещательный запрос. Один или более маршрутизаторов посылают в ответ сообщения об имеющейся маршрутной информации. Кроме того, маршрутизаторы периодически (раз в 450-600 сек.) широковещательно объявляют о своих маршрутах, что позволяет другим маршрутизаторам скорректировать свои маршрутные таблицы. В RFC-1256 описаны форматы ICMP-сообщений такого рода (см. рис. 4.4.4.6).

Рис. 4.4.4.6. Формат ICMP-сообщений об имеющихся маршрутах

Поле число адресов характеризует количество адресных записей в сообщении. Поле длина адреса содержит число 32-битных слов, необходимых для описания адреса маршрутизатора. Поле время жизни предназначено для записи продолжительности жизни объявленных маршрутов (адресов) в секундах. По умолчанию время жизни равно 30 мин. Поля уровень приоритета представляют собой меру приоритетности маршрута по отношению к другим маршрутам данной подсети. Чем больше этот код тем выше приоритет. Маршрут по умолчанию имеет уровень приоритета 0. Формат запроса маршрутной информации (8 октетов, рис. 4.4.4.7).

Рис. 4.4.4.7 Формат запроса маршрутной информации

Так как следующий прогон (hop) дейтограммы определяется на основании локальной маршрутной таблицы, ошибки в последней могут привести к зацикливанию пакетов. Для подавления таких циркуляций используется контроль по времени жизни пакета (TTL). При ликвидации пакета по истечении TTL маршрутизатор посылает отправителю сообщение «время истекло», которое имеет формат (рис. 4.4.4.8):

Рис. 4.4.4.8. Формат сообщения «время (ttl) истекло»

Значение поля код определяет природу тайм-аута (см. табл. 4.4.4.1).

Когда маршрутизатор или ЭВМ выявили какую-либо ошибку, не из числа описанных выше (например, нелегальный заголовок дейтограммы), посылается сообщение «конфликт параметров». Это может произойти при неверных параметрах опций. При этом посылается сообщение вида (рис. 4.4.4.9):

Рис. 4.4.4.9. Формат сообщения типа «конфликт параметров»

Поле указатель отмечает октет дейтограммы, который создал проблему. Код=1 используется для сообщения о том, что отсутствует требуемая опция (например, опция безопасности при конфиденциальных обменах), поле указатель при значении поля код=1 не используется.

В процессе трассировки маршрутов возникает проблема синхронизации работы часов в различных ЭВМ. К счастью синхронизация внутренних часов ЭВМ требуется не так часто (например, при выполнении синхронных измерений), негативную роль здесь могут играть задержки в каналах связи. Для запроса временной метки другой ЭВМ используется сообщение запрос временной метки, которое вызывает отклик с форматом (рис. 4.4.4.10):

Рис. 4.4.4.10. Формат ICMP-запроса временной метки

Поле тип=13 указывает на то, что это запрос, а тип=14 — на то, что это отклик. Поле идентификатор и номер по порядку используются отправителем для связи запроса и отклика. Поле исходная временная метка заполняется отправителем непосредственно перед отправкой пакета. Поле временная метка на входе заполняется маршрутизатором при получении этого пакета, а Временная метка на выходе — непосредственно перед его отправкой. Именно этот формат используется в процедурах ping и traceroute. Эти процедуры позволяют не только диагностировать, но и оптимизировать маршруты. Например, команда traceroute cernvm.cern.ch, выданная в ЭВМ SUN (ИТЭФ), может отобразить на экране (в скобках указаны IP-адреса узлов и значения времени жизни дейтограмм, значения RTT приводится в миллисекундах):

traceroute to crnvma.cern.ch (128.141.2.4) 30 hops max, 40 byte packets
1 itep-fddi-bbone (193.124.224.50) 3 ms 2 ms 3 ms
2 msu-tower.moscow.ru.radio-msu.net (193.124.137.13) 3 ms 3 ms 3 ms
3 npi-msu.moscow.ru.radio-msu.net (193.124.137.9) 27 ms 3 ms 9 ms
4 desy.hamburg.de.radio-msu.net (193.124.137.6) 556 ms 535 ms 535 ms
5 * 188.1.133.56 (188.1.133.56) 637ms 670ms
6 duesseldorf2.empb.net (193.172.4.12) 740ms(ttl=59!) 839ms(ttl=59!) 2066ms(ttl=59!)
7 bern3.empb.net (193.172.4.30) 2135ms (ttl=58!) 1644ms (ttl=58!) 1409ms (ttl=58!)
8 cernh3.euro-hep.net (193.172.24.10) 1808ms 1508ms 1830ms
9 cgate1.cern.ch (192.65.185.1) 1116ms 1270ms 1278ms
10 crnvma.cern.ch (128.141.2.4) 1132ms 1362ms 1524ms

Отсюда видно, что наиболее узкими участками маршрута являются Гамбург-Дюссельдорф-Берн-CERN. Следует иметь в виду, что канал МГУ-Гамбург является спутниковым и 500мс задержки здесь вносит время распространения сигнала до спутника и обратно. Участок Гамбург-Дюссельдорф (X.25, квота 256кбит/с) является общим также и для потока данных из Германии в США. Передача IP поверх X.25 также снижает эффективную широкополосность канала. Остальные связи обладают недостаточной пропускной способностью. Программа ping показывает для данных участков в часы пик высокую долю потерянных пакетов. Таким образом, имея карту связей и используя указанные процедуры, вы можете успешно диагностировать ситуацию в сети. Продвинутые же программисты могут легко написать свои диагностические программы, базирующиеся на ICMP, как для локальной сети, так и для «окрестного» Интернет.

При работе с субсетью важно знать маску этой субсети. Как уже отмечалось выше, IP-адрес содержит секцию адреса ЭВМ и секцию адреса сети. Для получения маски субсети ЭВМ может послать «запрос маски» в маршрутизатор и получить отклик, содержащий эту маску. ЭВМ может это сделать непосредственно, если ей известен адрес маршрутизатора, либо прибегнув к широковещательному запросу. Ниже описан формат таких запросов-откликов (рис. 4.4.4.11).

Рис. 4.4.4.11. Формат запроса (отклика) маски субсети

Поле тип здесь специфицирует модификацию сообщения, тип=17 — это запрос, а тип=18 — отклик. Поля идентификатор и номер по порядку, как обычно, обеспечивают взаимную привязку запроса и отклика, а поле адресная маска содержит 32-разрядную маску сети.

Что такое icmp пакеты

ICMP (англ. Internet Control Message Protocol — межсетевой протокол управляющих сообщений) — сетевой протокол, входящий в стек протоколов 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 средством надёжной доставки сообщений. Для этих целей существует TCP.

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

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

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

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

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

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

Формат ICMP-пакета

Типы ICMP пакетов (неполный список)

  1. Эхо-ответ
  2. Адресат недоступен
  3. Сдерживание источника (отключение источника при переполнении очереди)
  4. Перенаправление
  5. Эхо-запрос
  6. Объявление маршрутизатора
  7. Запрос маршрутизатора
  8. Превышение временно?го интервала (для дейтаграммы время жизни истекло)
  9. Неверный параметр (проблема с параметрами дейтаграммы: ошибка в IP-заголовке или отсутствует необходимая опция)
  10. Запрос метки времени
  11. Ответ с меткой времени
  12. Информационный запрос
  13. Информационный ответ
  14. Запрос адресной маски
  15. Отклик на запрос адресной маски
Предыдущий Следующий

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

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