70839

Протокол ICMP. Утилита зондирования хостов PING

Лабораторная работа

Информатика, кибернетика и программирование

Internet Control Message Protocol (ICMP, RFC-792) – это протокол передачи команд и сообщений об ошибках. Он может быть использован для выполнения некоторых диагностических функций. Функции протокола ICMP: запрос эха и передача эхо-ответа; контроль времени жизни дейтаграмм в системе...

Русский

2014-10-28

144.77 KB

3 чел.

Тема 10: Протокол ICMP. Утилита зондирования хостов PING

Протокол ICMP –справочные сведения

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

Функции протокола ICMP:

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

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

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

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

Поле Тип

Тип сообщения ICMP

0

Ответ на эхо-запрос (echo reply)

3

Назначение недостижимо (destination unreachable)

4

Подавление источника (source quench)

5

Переадресация (redirect)

8

Запрос эха (echo)

11

Превышено время жизни (time exceeded)

12

Ошибка параметра в IP-дейтаграмме (parameter problem)

13

Запрос временной метки (timestamp)

14

Ответ на запрос временной метки (timestamp reply)

15

Запрос информации (information request)

16

Ответ на запрос информации (information reply)

17

Запрос адресной маски (address mask request)

18

Ответ на запрос адресной маски (address mask reply)

Коды ICMP-сообщений о недостижимости:

Поле Код

Значение

0

Сеть недостижима (network unreachable)

1

Хост недостижим (host unreachable)

2

Неизвестный протокол (protocol unreachable)

3

Порт недостижим (port unreachable)

4

Требуется фрагментация, но запрещена (fragmentation needed and DF set)

5

Невозможность маршрутизации, заданной источником (source route failed)

9

Взаимодействие с сетью назначения административно запрещено

10

Взаимодействие с хостом назначения административно запрещено

11

Сеть недостижима из-за класса обслуживания

12

Хост недостижим из-за класса обслуживания

Ping - утилита зондирования хостов. Введение в тему

Общие сведения

Термин ping заимствован из акустической локации. Утилита ping позволяет оценить RTT (время прохода пакетов до заданного элемента сети и обратно). Она использует эхо-запросы (echo request) и отклики (echo reply) протокола ICMP. Формат ICMP эхо-запросов и откликов одинаков - они различаются только значением в поле Type. Ping полезна не только в качестве средства отладки и диагностики, но и как инструмент для изучения реальной работы протоколов ICMP, IP и опций IP. Создатель ping  - Mike Muuss.

Принцип действия Ping

  1.  Утилита генерирует ICMP "echo request",в котором Type=8, Code=0, ID=PID (в Unix), Sequence number=0,1,2 ..., в поле Data записывается время в момент отправки запроса (это поле дополняется до заданной длины - по умолчанию обычно до 40-56 байтов).

   8 бит       8 бит            16 бит

|-- -- -- --|-- -- -- --|-- -- -- -- -- -- -- --|

|Type(8),(0)|  Code(0)  |       Checksum        |

|-- -- -- --|-- -- -- --|-- -- -- -- -- -- -- --|

|          ID           |   Sequence number     |

|-- -- -- -- -- -- -- --|-- -- -- -- -- -- -- --|

|                     Data                      |

|-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --|

  1.  В ответ от ядра ОС адресата приходит ICMP "echo-reply", в котором  Type=0, Code=0, а все остальные поля (ID, Seq.number и Data) возвращаются в исходном виде.
  2.  Среди многих поступающих на хост источника ICMP-сообщений процесс-источник запроса распознает ICMP-отклики на свои собственные запросы, сличая значения в полях ID со своим Process ID (см. п.1). Обнаружив "свой" отклик, он засекает момент его получения, извлекает из его поля Data момент отсылки соответствующего (по порядковому номеру sequence number) вызвавшего отклик запроса и вычисляет RTT (Round-Trip Time) как разность зтих двух моментов. Выдает строку вывода: размер пакета, его icmp-seq, RTT.

Если при запуске ping был задан одиночный режим, работа утилиты заканчивается.

Если был задан серийный режим (ключ -s некоторых реализаций Unix; в других реализациях это режим по умолчанию), то эхо-запросы высылаются через 1 сек. либо сколь угодно долго (до прерывания по Ctrl+C), либо заданное при запуске утилиты число раз.

В конце работы выдается статистика - процент потерь и RTT (min, average, max).

Дополнительные возможности.

Дополнительные возможности зависят от реализации Ping и определяются соответствующими ключами. В разных реализациях они обозначаются либо как options утилиты буквами (напр., запись маршрута -R в Unix и в Windows), либо как qualifiers (/record_route в VAX/VMS).

Параметры утилиты ping в Unix ОС:

-c (count) –отправить заданное количество эхо-запросов

-s (size) –отправлять пакеты заданного размера

-w или -i (wait) –время ожидания между отправками эхо-запросов

-t (timeout) –максимальное время работы утилиты независимо от количества отправленных и принятых пакетов.

-l (preload) –послать заданное количество пакетов без ожидания между отправкой, затем перейти в обычный режим

-f (flood) –не делать задержку между отправкой пакетов (только администратор (root) может использовать этот режим)

-R (record route) –использовать IP-опцию “record route” для записи маршрута

-r (no route) –не использовать таблицу маршрутизации при отправке пакетов)

Особенности, которые следует учитывать при работе с ping

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

Пример. Летом 97 г. хост одной из кафедр ФТК вызвал интенсивный ICMP-flooding всей академсети Санкт-Петербурга. Более 30 организаций пришлось отключить от Internet на несколько часов, 9 корпус на сутки, а сегмент кафедры на 2 недели для принятия мер защиты и предупреждения.

Предупреждение.  Не зондируйте длинными сериями - прерывайте серию (Ctrl+C)! Тем более не используйте (особенно за пределы локальной сети) режим burst (flood или preload)!

2. Значение первого RTT может быть завышено из-за запроса протокола ARP (см. ARP-кэш).

3. Может нарушаться очередность поступления откликов.

4. На медленных линиях (RTT > 1 секунды) последний пакет (или больше) засчитывается пропавшим (lost), а на самом деле при остановке программы ответ(ы) просто еще в пути.

. Режим регистрации маршрута (ключ -R или /record_route) не всегда дает адекватный результат. Для понимания особенностей этого режима полезно знать, как работают IP-опции Record Route и Time-stamp, учитывать их ограничения и то, что далеко не все маршрутизаторы корректно обрабатывают как эти IP-опции, так и поле TTL IP-дейтаграмм.

Кратко о режиме Record Route утилит ping (ключ -R в Unix).

Используется RR-опция протокола IP - см. поле "опции" в заголовке IP (рис 6) и формат RR-опции IP(рис 7). В этой IP-опции: Code=7 (код), Len=32 (длина), ptr (указатель свободного места)=4,8,12...40  (40 означает full). Поскольку 39-3=36 байтов (рис 7), то только 9 IP-адресов (а если IP-опция timestamp, то только 4 пары "адрес-штемпель") могут разместиться в заголовке IP-дейтаграммы.

Вопрос. При обработке RR-опции IP-заголовка который из своих IP-адресов записывает маршрутизатор - своего входного или выходного интерфейса?

Ответ. Выходного - запомните это (позднее сопоставим с traceroute).


План работы по теме 10

  1.  Законспектировать сообщаемые преподавателем сведения (см. Введение в тему 10).
  2.  Прочесть man на ping, законспектировать основные установки и режимы. Внимание: не применять "опасные" режимы (flood, preload)
  3.  Короткой серией прозондировать несколько (минимум 2) хостов. Из них один "ближний" (а именно, главное здание - www.unilib.neva.ru) и как минимум один "дальний" хост. Сопоставить для ближней и дальней точек полученные средние значения RTT.
  4.  Прозондировать те же хосты с IP-опцией RR (-R) Записать полученное в конспект (понадобится позже в следующей теме).
  5.  Послать одиночный зонд или короткую серию на ограниченный широковещательный IP-адрес Internet (255.255.255.255) и на широковещательный IP-адрес нашей локальной сети. Объяснить результаты.

Контрольные вопросы

  1.  Адресат не откликается на ping. Значит ли это, что он недостижим по telnet, ftp и т.д.?
  2.  Почему в WAN может нарушаться очередность поступающих ICMP-откликов?
  3.  Часть пакетов ping потерялась. Перечислить возможные причины.
  4.  Почему обычно посылают не 1 пакет, а короткую серию? Почему короткую?
  5.  Действует ли в случае ping "классическая" схема "клиент-сервер"?
  6.  Как утилита ping отличает "свои" отклики от "чужих"?
  7.  Как утилита ping вычисляет RTT для разных пакетов (учесть, что пакеты могут терятся и приходить с нарушением очередности)?

Вопросы "сверх программы"

  1.  Зависит ли RTT от длины зондового пакета?
  2.  В книгах пишут, что ICMP-отклики могут не только терятся или приходить вне очереди, но и дублироваться. Чем такое явление может объясняться? (это вопрос "на засыпку" - запомните его на будущее)
  3.  Если задаться целью создать приложение "geo_ping" (то есть такое, чтобы можно было в GUI увидеть на карте мира координаты зондируемого хоста), то какой принцип географической привязки Вы могли бы предложить?

 

А также другие работы, которые могут Вас заинтересовать

49744. Информационная система библиотека 117.06 KB
  Цель моей работы заключается в создании программы в которой можно: создавать новую базу данных, открывать базу из файла, сохранение базы в файл, добавление записей, удаление записей, поиск записей по одному из полей, вывод базы данных на экранб, сортировка и вывод на экран.
49745. Характеристики и параметры биполярного транзистора 2.19 MB
  В ходе выполнения курсовой работы для заданного типа транзистора определяются паспортные параметры и статические характеристики в соответствии со схемой включения и величинами элементов схемы усилительного каскада выбирается положение режима покоя для которого рассчитываются величины элементов эквивалентных схем транзистора и мало сигнальные параметры транзистора графоаналитическим методом определяются параметры усилительного каскада. Характеристики используемого транзистора Проектируемое устройство основано на биполярном транзисторе...
49746. Разработка конструкции привода растворонасоса 311.74 KB
  Разработанный редуктор имеет конструкцию, обеспечивающую высокую надёжность и простоту монтажа и обслуживания. Все элементы привода выбраны с небольшим запасом, что обеспечивает повышенную надёжность в случае непредвиденных пиковых нагрузок связанных с областью применения привода.
49748. Электромеханический привод 812.1 KB
  Определяем по формуле где КПД быстроходной ступени цилиндрического редуктора; принимаем ; КПД тихоходной ступени цилиндрического редуктора; принимаем ; КПД конической передачи; принимаем ; КПД одной пары подшипников; принимаем ; k – число пар подшипников в механизме; k=3. Определяем частоту вращения выходного вала привода . Определяем выходную мощность привода . Передаточное соотношение привода разбиваем по ступеням в соответствии с соотношением где передаточное отношение быстроходной ступени; передаточное отношение тихоходной...
49749. Расчет структурно-сетевых параметров мультисервисных сетей телекоммуникаций 815.5 KB
  Расчет структурносетевых параметров мультисервисных сетей телекоммуникаций по дисциплине Мультисервисные сети телекоммуникаций Выполнил студент группы ТЭ 041 СОДЕРЖАНИЕ ВВЕДЕНИЕ Сети предоставляющие любые телекоммуникационные и информационные услуги называют полносервисными или мультисервисными сетями. Данные сети должны гарантировать оговоренное качество соединений и предоставляемых услуг. При создании мультисервисной сети достигается: Сокращение расходов...
49751. Автоматизация проверки решения задачи 259.72 KB
  Notepd свободный текстовый редактор с с подсветкой синтаксиса большого количества языков программирования и разметки Во время разработки программы использовались следующие компоненты: Таблица 5 – Компоненты в приложении № п п Компонент Описание 1 EDIT Поле ввода и редактирования информации 2 BUTTON Кнопка с растровым изображением 3 STRINGGRID Таблица для отображения информации 4 COMBOBOX Отображение информации в виде списка строк 5 LBEL Отображение текста на форме Отладка программы Отладка этап разработки компьютерной...
49752. СБОРОЧНО-СВАРОЧНЫЙ ЦЕХ ЗАВОДА ТЯЖЕЛОГО МАШИНОСТРОЕНИЯ 196 KB
  Коэффициент использования территории. Решение: Определяем нормированное значение коэффициента естественной освещенности по формуле 1: ; 1 где е значение к. о в при рассеянном свете от небосвода определяемое с учетом характера зрительной работы; е =4 т коэффициент светового климата без учета прямого солнечного света определяемый в зависимости от района расположения здания на территории России;m=11 С коэффициент солнечности климата с учетом прямого солнечного света определяемый в зависимости от района...