70839

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

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

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

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

Русский

2014-10-28

144.77 KB

1 чел.

Тема 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 увидеть на карте мира координаты зондируемого хоста), то какой принцип географической привязки Вы могли бы предложить?

 

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

2944. Введение в управление предприятием и содержание дисциплины «Менеджмент предприятия» 100.5 KB
  Введение в управление предприятием и содержание дисциплины Менеджмент предприятия  Вопросы для изучения: Краткая историческая справка и отличительные особенности развития управленческой мысли в нашей стране. Основные проблемы пере...
2945. Сущность эффективного управления предприятием 113 KB
  Сущность эффективного управления предприятием Вопросы: Сущность и характерные черты менеджмента. Содержание менеджмента. Современные подходы и концепции менеджмента. Виды и уровни менеджмента предприятия. Успешное (эффективное) у...
2946. Организация управления промышленной фирмой 89 KB
  Организация управления промышленной фирмой Тема включает три раздела: Основные принципы внутрифирменного управления. Организация управления международной деятельностью фирмы. Опыт (тенденции) управления промышленными фирмами в разв...
2947. Организация управления международной деятельностью фирмы 67.5 KB
  Организация управления международной деятельностью фирмы  Международная среда и международный бизнес фирмы. Содержание и формы (методы) международной деятельности фирмы. Организация зарубежной производственной деятельности фирм...
2948. Опыт управления ведущих фирм США, Японии и Западной Европы 103 KB
  Опыт управления ведущих фирм США, Японии и Западной Европы Вопросы: Основные этапы развития организационных структур промышленных фирм  Ключевые элементы управления предприятием (корпорацией) Особенности внутрифирменного планировани...
2949. Маркетинг как специфическая функция управления предприятием 105.5 KB
  Маркетинг как специфическая функция управления предприятием Тема включает 2 части Маркетинговая деятельность на промышленном предприятии Использование маркетинговых программ для оптимизации структуры и программы производства Маркет...
2950. Разработка маркетинговых программ и сбытовой политики предприятия 107 KB
  Разработка маркетинговых программ и сбытовой политики предприятия Вопросы: Разработка программы маркетинга по продукту. Разработка программы маркетинга по производству. Организация и стимулирование сбыта. Разработка программы марке...
2951. Внутрифирменное планирование 70 KB
  Внутрифирменное планирование Тема включает два раздела: Базовые аспекты внутрифирменного планирования. Перспективное планирование и разработка бюджета предприятия. Базовые аспекты внутрифирменного планирования Вопросы: Цели ...
2952. Перспективное планирование и разработка бюджета фирмы 60.5 KB
  Перспективное планирование и разработка бюджета фирмы Вопросы: Цели и содержание перспективного планирования Долгосрочное и среднесрочное стратегическое планирование. Оперативное (текущее) планирование и разработка бюджета. Цели и содержани...