Команда ping: проверка доступности компьютера
Категория: Управление сетями | Автор: admin | 5-06-2010, 18:59 | Просмотров: 13297

Команда ping удивительно проста. Она посылает ICMP-пакет ECHO_RE-QUEST конкретному компьютеру и ждет ответа. Несмотря на свою простоту, команда ping стала одним из основных инструментов, использующихся при отладке сетей.

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

Команда ping поддерживается во всех системах. Большинство версий команды работает в бесконечном цикле, если не задан аргумент "число пакетов". Команда ping -s в Solaris выдает расширенную информацию, которая в других операционных системах сообщается по умолчанию. Чтобы прервать выполнение команды, нажмите <Ctrl-C>.

Вот пример работы команды:

% ping beast

PING beast  (10.1.1.46): 56 data bytes

64 bytes from 10.1.1.46: icmp_seq=0 ttl=255 time=0.808 ms

64 bytes from 10.1.1.46: icmp_seq=l ttl=255 time=0.400 ms

64 bytes from 10.1.1.46: icmp_seq=2 ttl=255 time=0.390 ms

-----beast ping statistics-----

3 packets transmitted,  3 packets received,  0% packet loss round-trip min/avg/max/stddev = 0.390/0.533/0.808/0.195 ms

 

 

Информация о компьютере beast включает его IP-адрес, порядковый номер ICMP-пакета и время полного обхода (время, затраченное на прохождение пакета к пункту назначения и обратно). Такая информация, очевидно, свидетельствует о том, что компьютер beast работает и подключен к сети.

В нормально функционирующей сети команда ping позволяет выяснить, включен компьютер или нет. Если же точно известно, что зондируемый компьютер включен и работает корректно, то с помощью данной команды можно получить полезную информацию о состоянии сети. Пакеты, отправляемые командой ping, как и любые другие пакеты, маршрутизируются средствами протокола IP, и успешное получение такого пакета после завершения им кругового маршрута свидетельствует о том, что все компоненты сети между источником и приемником пакета функционируют правильно, хотя бы в первом приближении.

Порядковый номер ICMP-пакета — особенно полезный элемент информации. Несмотря на то, что протокол IP не гарантирует доставки пакетов, пакеты будут пропадать только в том случае, если сеть чересчур загружена. Потерю пакетов нужно обязательно выявлять, потому что этот факт иногда маскируется протоколами более высокого уровня. Может показаться, что сеть функционирует нормально, но на самом деле она работает гораздо медленнее, чем должна, — не только из-за повторной передачи пакетов, но также из-за "накладных расходов", требуемых для выявления и обработки пропавших пакетов соответствующими протоколами.

Если не все пакеты доходят до адресата, запустите программу traceroute (описана в следующем параграфе), с тем чтобы выяснить маршрут, по которому пакеты следуют к компьютеру-адресату. Затем посредством команды ping проверьте все промежуточные шлюзы, через которые пролегает маршрут, и узнайте, на каком этапе теряются пакеты. Чтобы точно диагностировать проблему, следует отправить такое количество пакетов, которое позволит получить статистически достоверные результаты. С достаточной степенью вероятности можно утверждать, что неисправность будет найдена на участке между последним шлюзом, для которого количество потерянных пакетов не больше некоторой заданной величины, и шлюзом, при обращении к которому количество потерянных пакетов превышает эту величину.

Время полного обхода, сообщаемое командой ping, дает представление об общей скорости передачи пакета по сети. Колебания этого значения, как правило, не являются признаком проблем. Иногда пакеты задерживаются на десятки и сотни миллисекунд без какой-либо очевидной причины — просто так работают протокол IP и сама ОС UNIX. Но все-таки следует ожидать, что время полного обхода для большинства пакетов будет постоянным, за некоторыми исключениями.  Большинство современных маршрутизаторов обеспечивает выдачу ответов на ICMP-запросы с ограничениями по скорости, т.е. маршрутизатор может задержать ответ на пакет команды ping в связи с общим ограничением трафика протокола ICMP.

Команда ping позволяет задавать размер посылаемого эхо-пакета. Если передается пакет, длина которого превышает максимально допустимое для данной сети значение (в частности, 1500 байтов в сети Ethernet), включается принудительная фрагментация. Это позволяет выявлять ошибки передачи данных в самом носителе и другие низкоуровневые ошибки, например проблемы, связанные с перегрузкой сети ATM.

В Solaris и HP-UX нужная длина пакета указывается в конце команды ping:

% ping cuinfo.cornell.edu 1500

 

В Red Hat Linux и FreeBSD длина пакета в байтах задается флагом -s. Так как слишком большие пакеты могут вызвать проблемы в сети, во FreeBSD эту опцию может указывать только пользователь root.

# ping -s 1500 cuinfо.cornell.edu

 

При работе с командой ping следует придерживаться следующих ограничений. Во-первых, сложно отличить неисправность сети от неисправности сервера, пользуясь только этой командой. Сообщение команды ping о потере пакетов говорит лишь о том, что какой-то компонент работает неправильно.

Во-вторых, команда ping не позволяет получить информацию о состоянии исследуемого компьютера. Эхо-запросы обрабатываются в стеке протокола IP и не требуют, чтобы на зондируемом компьютере выполнялся серверный процесс. Наличие ответа служит гарантией лишь того, что компьютер включен и ядро системы функционирует. Для проверки работы отдельных служб, таких как HTTP и DNS, следует применять высокоуровневые средства.



 (голосов: 1)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page