Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metoda.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
268.29 Кб
Скачать

§4. Команда ping.

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

Эта команда предназначена для использования при тестировании сетей, управления сетями и измерения характеристик работы сети.

Синтаксис:

ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] destination-list

Основные параметры:

  • -t - Не прекращать работу до принудительного завершения пользователем. Для просмотра статистики и продолжения работы - Control-Break. Для прекращения работы - Control-C.

  • -a - Разрешать числовые составные адреса в символьные имена.

  • -n count - Остановить работу после передачи count пакетов ECHO_REQUEST, ping ждет count пакетов ECHO_REPLY, пока не закончится таймаут.

  • -l size - Определяет размер пакетов для пересылки. По умолчанию 24, преобразующиеся в 32 ICMP байтов данных при комбинации с 8 байтами ICMP заголовка.

  • -i TTL - Устанавливает время жизни IP для пакетов.

  • -v TOS - Устанавливает качественную связь. RFC1349 определяет следующие значения:

  • 0-зарезервировано;

  • 1-4 - тип сервиса;

  • 5-7 для предпочитаемых значений.

Возможные значения для типа сервиса:

  • минимальное время: 0x02,

  • надежность: 0x04;

  • пропускная способность: 0x08;

  • задержка: 0x10.

Установка нескольких битов TOS не должна производиться одновременно. Возможный диапазон для особых предпочитаемых значений: от приоритетного (0x20) до сетевого управления (0xe0).

  • -r count - Показать буфер маршрута для возвращенных пакетов. Принимаемые параметры ключа от 1 до 9; - количество записей буфера. Многие узлы игнорируют или не обрабатывают этот параметр.

  • -s count - Устанавливает специальную временную метку IP. Принимаемые значения ключа от 1-4; - количество временных меток на каждый ECHO_REQUEST пакет.

  • -w timeout - Ожидать timeout миллисекунд пакета ECHO_REPLY на каждый ECHO_REQUEST пакет.

Если ping не получает ответных пакетов, то она завершит работу с кодом выхода 1. Иначе программа завершает работу с кодом 0. Эти значения позволяют использовать коды выхода для определения работоспособности серверов и компьютеров в программах и скриптах.

Описание пакетов ICMP

Заголовок IP без параметров имеет размер в 20 байтов. Пакет ICMP ECHO_REQUEST содержит дополнительные 8 байтов к ICMP заголовку, сопровождаемые случайным количеством данных. Когда задано packetsize , то определяется и размер дополнительного блока данных. Поэтому количество принятых данных внутри IP пакета типа ICMP ECHO_REPLY всегда будет на 8 байтов больше, чем заданный ( ICMP заголовок).

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

TTL

Значение TTL для IP пакетов есть то максимальное количество IP маршрутизаторов, через которое пакет еще будет пытаться проходить, а не считаться утерянным. Каждый маршрутизатор в сети уменьшает поле TTL четко на единицу.

Спецификация TCP/IP определяет, что поле TTL для пакетов TCP должно быть установлено в 60, но многие системы используют меньшие значения (4.3 BSD использует 30, 4.2 использует 15).

Максимальное значение данного поля равно 255, и многие системы устанавливают поле TTL для пакетов ICMP ECHO_REQUEST в 255.

При нормальных операциях ping выводит значения времени жизни принятых (возвращенных) пакетов. Когда удаленная система принимает пакет, она может сделать одну из трех возможных операций с полем TTL в ответ:

  • Не изменять его; это делали системы Berkeley Unix до выпуска BSD 4.3 tahoe TTL в принятом пакете будет 255 минус количество пройденных маршрутизаторов.

  • Устанавливает его в 255; это то, что системы Berkeley Unix делают сейчас. В этом случае значение TTL в принятом пакете будет 255 минус количество пройденных маршрутизаторов от удаленной системы до ping -уемого компьютера.

  • Устанавливает его в какое-либо другое значение. Некоторые машины используют то же значение для пакетов ICMP , что они используют для TCP пакетов, например либо 30 либо 60. Некоторые могут использовать вообще непредсказуемые значения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]