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

 

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

54800. Заработная плата как цена труда. Монопсония на рынке труда 18.75 KB
  Монопсония — ситуация на рынке, когда фирма (или другая организация), называемая “монопсонистом”, полностью контролирует спрос на определенное благо (товар или услугу), являясь единственным возможным его покупателем. При монопсонии наниматель обладает монополистической возможностью нанимать работников.
54802. Paparazzi and Celebrities 37 KB
  The sun is shining outside! The weather is awesome. I’d like you to be in good mood. If you aren’t, we’ll rise it. So, your first task is to tell your classmates couple nice words. For instance: Julia, you look amazing! This new skirt really suits you!
54803. Рынок земли и его особенности 18.58 KB
  Особенность рынка земли. Особенностью этого рынка является ограниченность (иногда и невозможность) воспроизводства. В силу ограниченности данного ресурса собственность на землю является самым доходным видом собственности.
54804. «Узнайте нас – мы будем рады» 38 KB
  И только умная и образованная Шахразада которая смогла тысячу ночей рассказывать царю Шахрияру свои чудесные сказки не была казнена и осталась единственной любимой супругой царя. Мистер Кредо появляются Шахразада царь Шахрияр Шахразада. Шахразада хлопает в ладоши под музыку выходят герои: Золушка горбун из Нотрдама и Эсмиральда Оксана Руслан и Черномор Слон и Моська дАртаньян. Шахразада.
54805. Парад точных наук 178 KB
  Ход мероприятия проводится в актовом зале Звучит музыка Ведущий 1: Добро пожаловать в страну точных наук В страну логаритмов простых вычислений корней возведений и уравнений Группа учащихся исполняют гимн математики и физики Пусть говорять мы годы губим Что умереть что умереть нам суджено Но математику и физику мы любим Давнымдавно давнымдавно давнымдавно....
54806. Урок позакласного читання. Остап Вишня. «Паралелепіпед». Прямокутний паралелепіпед та його об’єм 160 KB
  Мета: Закріплювати інтерес учнів до творчості Остапа Вишні ознайомити зі змістом твору Паралелепіпед закріплювати знання про життєвий і творчий шлях Остапа Вишні;удосконалювати навички виразного читання;розвивати читацький інтерес; Закріплювати знання учнів про елементи прямокутного паралелепіпеда поняття обєма і формули обєма прямокутного паралелепіпеда й куба; відпрацювати уміння розвязувати задачі на обчислення вимірів прямокутного паралелепіпеда площі його поверхні та...
54807. Площі паралелограмів 13.66 MB
  Підготовча робота: За тиждень до проведення уроку учні класу обєднуються в три групи і отримують завдання застосовуючи знання теми Площі прямокутників і паралелограмів: 1. Обладнання: Мультимедійна дошка презентації вчителя і учнів набори паралелограмів картки консультанти картки інструкції картки з домашнім завданням креслярські інструменти банки з фарбою тестові завдання для роботи за компютером. № Вид діяльності Час 1 Організаційний момент 4хв 2 Актуалізація опорних знань 6хв 3 Перегляд учнівських робіт 12хв 4...
54808. Паралелограми 736 KB
  2хв 3 Корекція зорового образу: робота з зашумленим рисунком; упізнання методом виключення 6хв 4 Встановлення взаємозвязків різних видів паралелограмів за допомогою кіл Ейлера та опорної схеми 6хв 5 Фізкультхвилинка для зняття зорового напруження 15 хв 6 Корекція образно логічного сприйняття матеріалу шляхом встановлення відповідності між властивостями поданими в усній формі різних видів...