Tcp/ip и Интернет 2


Поиск неисправностей в сетях. Команда Ping



страница14/25
Дата18.11.2016
Размер1.5 Mb.
Просмотров2974
Скачиваний0
1   ...   10   11   12   13   14   15   16   17   ...   25

34. Поиск неисправностей в сетях. Команда Ping


Существует несколько хороших инструментов, позволяющих искать неисправности в сети на уровне TCP/IP. Большинство из них выдает низкоуровневую информацию, поэтому для того, чтобы пользоваться ими, нужно хорошо понимать принципы работы протоколов TCP/IP и маршрутизации.

С другой стороны, источником проблем в сети могут служить и ошибки в работе та­ ких высокоуровневых протоколов, как DNS, NFS или HTTP.

Последнее замечание заслуживает более подробного рассмотрения.

В семействе протоколов TCP/IP определяются уровни абстракции, на которых функционируют различные компоненты сети. Например, протокол HTTP зависит от протокола TCP, который, в свою очередь, основан на протоколе IP, а последний взаи­ модействует с протоколом Ethernet, работоспособность которого зависит от целостности сетевого кабеля. Можно существенно уменьшить время поиска неисправности, если предварительно понять, средства какого уровня ведут себя неправильно.

Проходя стек протоколов уровень за уровнем (вверх или вниз), проверяйте следующее.


    • Есть ли физическое соединение и светится ли индикатор связи?

    • Правильно ли сконфигурирован сетевой интерфейс?

    • Отображаются ли в таблицах маршрутизации адреса других компьютеров?

    • Есть ли брандмауэр на вашем локальном компьютере?

    • Если брандмауэр есть, проходят ли через него ICMP-пакеты утилиты ping и от­ веты?

    • Находит ли команда ping узел localhost (127.0.0.1)?

    • Находит ли команда ping другие компьютеры локальной сети по IР-адресам?

    • Правильно ли сконфигурирована служба DNS?1

    • Находит ли команда ping другие компьютеры локальной сети по именам?

    • Находит ли команда ping компьютеры в другой сети?

    • Работают ли высокоуровневые сетевые утилиты, такие как telnet или ssh?

    • Вы правда проверили брандмауэры?

Команда ping удивительно проста, но во многих случаях ее оказывается вполне до­ статочно. Она посылает ICMP-пакет ECHO_REQUEST конкретному компьютеру и ждет ответа.

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

Если утилита ping используется для проверки выхода в Интернет, необходимо проверить брандмауэр. Некоторые хорошо известные сайты отвечают на пакеты ping, а другие — нет. Например, оказалось, что сайт google.com отвечает на такие запросы.

Большинство версий команды работает в бесконечном цикле, если не задан аргумент “число пакетов”. В системе Solaris команда ping -s обеспечивает расширенный вывод, а в других системах это происходит по умолчанию. Для того чтобы прервать работу команды, нажмите .

Приведем пример.

linux$ ping beast

PING beast (10.1.1.46) : 56 data bytes

64 bytes from beast(10.1.1.46): icmp_seq=0 ttl=54 time=48.3ms

64 bytes from beast(10.1.1.46): icmp_seq=l ttl=54 time=46.4ms

64 bytes from beast(10.1.1.46): icmp_seq=2 ttl=54 time=88.7ms

^C

--- beast ping statistics ---



3 packets transmitted, 3 packets received, 0% packet loss, time 2026ms rtt min/avg/max/stddev = 46.490/61.202/88.731/19.481 ms

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

Порядковый номер ICMP-пакета — особенно ценный элемент информации. Нарушение последовательности свидетельствует об удалении пакетов. Обычно они со­ провождаются сообщениями о каждом пропущенном пакете.

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

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

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

В системах семейства Linux желательный размер пакета в байтах задается с помощью флага -s.

# ping -s 1500 cuinfo.cornell.edu

В системах Solaris, HP-UX и AIX достаточно просто указать желательный размер па­

кета в конце команды ping.

# ping cuinfo.cornell.edu 1500

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

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




Поделитесь с Вашими друзьями:
1   ...   10   11   12   13   14   15   16   17   ...   25


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал