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

 

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

68247. ОСОБЛИВОСТІ ОРІЄНТАЦІЇ ЛІОТРОПНИХ ХРОМОНІЧНИХ НЕМАТИЧНИХ РІДКИХ КРИСТАЛІВ 2.86 MB
  Що стосується рідких кристалів з більш складною структурою як наприклад ліотропні хромонічні нематичні рідкі кристали ЛХРК де елементарним будівельним блоком мезофази є видовжені молекулярні агрегати то методи їх орієнтації базуються швидше на експериментальному досвіді ніж на ґрунтовному...
68248. ПРИНЦИПИ ФУНКЦІОНАЛЬНО-ПРОСТОРОВОЇ ОРГАНІЗАЦІЇ ВИСОТНИХ БУДІВЕЛЬ 685.5 KB
  Мета дослідження: визначення особливостей і розробка принципів функціонально-просторової організації висотних будівель. Задачі дослідження: проаналізувати вітчизняний і зарубіжний досвід проектування та будівництва висотних будинків; виявити ієрархічну структуру висотного будівництва...
68249. Стратегічні пріоритети та засоби зміцнення економічної безпеки торговельного підприємства 198.5 KB
  Торгівля як посередницька ланка залежить як від виробництва так і споживання товарів що зумовлює особливості у функціональних складниках та індикаторах сукупності загроз і ризиків підходах до гарантування безпеки.
68250. ЕКОНОМІКО-ОРГАНІЗАЦІЙНІ АСПЕКТИ ЕФЕКТИВНОГО ФУНКЦІОНУВАННЯ КАРТОПЛЯРСТВА В АГРОФОРМУВАННЯХ ПОДІЛЬСЬКОГО РЕГІОНУ 300.5 KB
  Скорочення площ посадки картоплі в сільськогосподарських підприємствах та концентрація їх переважно у господарствах населення стало негативною тенденцією яка спостерігається на всій території України.
68251. УДОСКОНАЛЕННЯ СПОСОБІВ ДОЗУВАННЯ ЕНЕРГІЇ ПРИ ФІНІШНОМУ ТЕРМОІМПУЛЬСНОМУ ОЧИЩЕННІ ПРЕЦИЗІЙНИХ ДЕТАЛЕЙ ЛІТАЛЬНИХ АПАРАТІВ 3.34 MB
  Проблема технологічного очищення поверхонь і кромок деталей високоточних механізмів від задирок мікрочастинок і мікроліквідів є актуальною для всього машинобудування. Так наприклад відомо що при забезпеченні чистоти поверхонь прецизійних деталей і робочих порожнин багатьох машин їхній ресурс можна збільшити у дватри рази.
68252. МЕТОДОЛОГІЯ ПРОГНОЗУВАННЯ РОЗВИТКУ АНОМАЛІЙ АНТРОПОГЕННОГО ПОХОДЖЕННЯ НА ОСНОВІ ЛОГІКО-АЛГЕБРАЇЧНИХ МОДЕЛЕЙ КОМПЛЕКСУВАННЯ ДАНИХ МОНІТОРИНГУ ЕКОСИСТЕМ 2.19 MB
  Методи та засоби дистанційного зондування Землі дозволяють одержувати різні види даних про об’єкти і явища в глобальному масштабі з високим просторовим і часовим розрізненням. Однак для вирішення задач що пов’язані із прогнозуванням динаміки виявлених на знімках різних об’єктів або явищ...
68253. Будівельні облицювальні вироби на основі вапняно-вапнякових композицій карбонізаційного твердіння 7.63 MB
  Єдність природного походження вапна і карбонатної вторинної сировини обумовлює однорідність структури і високу міцність композицій на їхній основі. На сьогоднішній день відсутні системні дослідження формування структури карбонізованих будівельних матеріалів на основі...
68254. ФУНКЦІОНАЛІЗОВАНІ 3,3-БІС(МЕТИЛТІО)АКРИЛОНІТРИЛИ ТА ЦІАНОАЦЕТАНІЛІДИ У СИНТЕЗІ 2-ХАЛЬКОГЕНЗАМІЩЕНИХ АМІДІВ ТА НІТРИЛІВ НІКОТИНОВОЇ КИСЛОТИ 844 KB
  Метою дослідження став синтез функціоналізованих нітрилів та амідів 2-халькогенонікотинової кислоти на основі 2-заміщених 3,3-біс(метилтіо)акрилонітрилу та СНкислот, що містять нітрильну, естерну або (селено-, тіо-)амідну групу в α-положенні в умовах реакції...
68255. ДЕТЕРМІНАНТИ ТЕХНОЛОГІЧНОГО ЛІДЕРСТВА У МІЖНАРОДНОМУ БІЗНЕСІ 392 KB
  Унаслідок цих процесів відбувалося акселероване зростання технологічної компоненти сучасного розвитку а перехід до шостого технологічного укладу країнлідерів спричинив її сингулярність в основі якої лежить штучний інтелект та застосування новітніх досягнень ІКТ...