Диагностика и устранение сетевых неполадок в Windows. Диагностика локальных сетей

Средства, применяемые для диагностирования и мониторинга КС, можно разделить на несколько крупных классов:

- Системы управления сетью (Network Management Systems) - централизованные программные системы, построенные в соответствии с моделью TMN, которые собирают данные о состоянии узлов и коммуникационных устройств сети, а также данные о трафике, циркулирующем в сети. Эти системы не только осуществляют мониторинг и анализ сети, но и выполняют в автоматическом или полуавтоматическом режиме действия по управлению сетью - включение и отключение портов устройств, изменение параметров мостов адресных таблиц мостов, коммутаторов и маршрутизаторов и т.п. Примерами систем управления могут служить популярные системы HP OpenView, Sun NetManager, IBM NetView, Tivoli. В соответствии с рекомендациями ISO можно выделить следующие функции систем управления сетью:

Управление конфигурацией сети и именованием - состоит в конфигурировании компонентов сети, включая их местоположение, сетевые адреса и идентификаторы, управление параметрами сетевых операционных систем, поддержание схемы сети. Также эти функции используются для именования объектов.

Обработка ошибок - выявление, определение и устранение последствий сбоев и отказов в работе сети.

Анализ производительности - помогает на основе накопленной статистической информации оценивать время ответа системы и величину трафика, а также планировать развитие сети.

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

Учет работы сети - включает регистрацию и управление используемыми ресурсами и устройствами. Эта функция оперирует такими понятиями как время использования и плата за ресурсы.

- Средства управления системой (System Management ) - часто выполняют функции, аналогичные функциям систем управления, но по отношению к другим объектам. В первом случае объектом управления является программное и аппаратное обеспечение компьютеров сети, а во втором - коммуникационное оборудование. Ниже перечислены основные функции средств управления:

Учет используемых аппаратных и программных средств. Система автоматически собирает информацию об обследованных компьютерах и создает записи в базе данных об аппаратных и программных ресурсах. После этого администратор может быстро выяснить, чем он располагает и где это находится. Например, узнать о том, на каких компьютерах нужно обновить драйверы принтеров, какие ПК обладают достаточным количеством памяти и дискового пространства и т. п.

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

Удаленный анализ производительности и возникающих проблем. Администратор может удаленно управлять мышью, клавиатурой и видеть экран любого ПК, работающего в сети под управлением той или иной сетевой операционной системы. База данных системы управления обычно хранит детальную информацию о конфигурации всех компьютеров в сети для того, чтобы можно было выполнять удаленный анализ возникающих проблем.

Примерами средств управления системой являются такие продукты, как System Management Server компании Microsoft или LANDeskManager фирмы Intel, а типичными представителями средств управления сетями являются системы HPOpenView, SunNetManager и IBMNetView.

- Встроенные системы диагностики и управления (Embedded systems) - Эти системы выполняются в виде программно-аппаратных модулей, устанавливаемых в коммуникационное оборудование, а также в виде программных модулей, встроенных в операционные системы. Они выполняют функции диагностики и управления только одним устройством, и в этом их основное отличие от централизованных систем управления. Примером средств этого класса может служить модуль управления концентратором Distributed 5000, реализующий функции автосегментации портов при обнаружении неисправностей, приписывания портов внутренним сегментам концентратора и некоторые другие. Как правило, встроенные модули управления "по совместительству" выполняют роль SNMP-агентов, поставляющих данные о состоянии устройства для систем управления .

- Анализаторы протоколов (Protocol analyzers) - Представляют собой программные или аппаратно-программные системы, которые ограничиваются в отличие от систем управления функциями мониторинга и анализа трафика в сетях, в том числе и беспроводных . Выделяют ряд критериев оценки анализаторы протоколов :

− Возможность декодирования сетевых протоколов и поддержки физических интерфейсов.

− Качество интерфейса программного обеспечения (буфер захвата, фильтры, переключатели, постфильтрационный поиск, диапазон статистических данных).

− Наличие многоканальности.

− Генерация трафика.

− Возможность интеграции с ПК.

− Размер и вес.

− Соотношение цены и предоставляемых услуг.

- Оборудование для диагностики и сертификации кабельных систем - Условно это оборудование можно поделить на четыре основные группы: сетевые мониторы, приборы для сертификации кабельных систем, кабельные сканеры и тестеры (мультиметры).

Сетевые мониторы (называемые также сетевыми анализаторами) представляют собой эталонные измерительные инструменты для диагностики и сертификации кабелей и кабельных систем. В качестве примера можно привести сетевые анализаторы компании HewlettPackard - HP 4195A и HP 8510C. Сетевые анализаторы содержат высокоточный частотный генератор и узкополосный приемник. Передавая сигналы различных частот в передающую пару и измеряя сигнал в приемной паре, можно измерить затухание и NEXT. Сетевые анализаторы - это прецизионные крупногабаритные и дорогие (стоимостью более $20"000) приборы, предназначенные для использования в лабораторных условиях специально обученным техническим персоналом.

Назначение устройств для сертификации кабельных систем непосредственно следует из их названия. Сертификация выполняется в соответствии с требованиями одного из международных стандартов на кабельные системы.

Кабельные сканеры используются для диагностики медных кабельных систем. Данные приборы позволяют определить длину кабеля, NEXT, затухание, импеданс, схему разводки, уровень электрических шумов и провести оценку полученных результатов. Цена на эти приборы варьируется от $1"000 до $3"000. Существует достаточно много устройств данного класса, например, сканеры компаний MicrotestInc., FlukeCorp., DatacomTechnologiesInc., ScopeCommunicationInc. В отличие от сетевых анализаторов сканеры могут быть использованы не только специально обученным техническим персоналом, но даже администраторами-новичками.

Тестеры предназначены для проверки кабелей на отсутствие физического разрыва. Это наиболее простые и дешевые приборы для диагностики кабеля. Они позволяют определить непрерывность кабеля, но не дают ответа на вопрос о том, в каком месте произошел сбой.

Многофункциональные устройства анализа и диагностики. В последние годы, в связи с повсеместным распространением локальных сетей возникла необходимость разработки недорогих портативных приборов, совмещающих функции нескольких устройств: анализаторов протоколов, кабельных сканеров и, даже, некоторых возможностей ПО сетевого управления. В качестве примера такого рода устройств можно привести Compas компании MicrotestInc. или 675 LANMeter компании FlukeCorp.

В связи с повсеместным распространением оптоволоконных сетей связи все большую значимость приобретают инструменты тестирования ВОЛС.

Визуальный дефектоскоп - VFL (Visual Fault Locator) может использоваться, чтобы проверить полярность, а также чтобы обнаружить недопустимые изгибы или обрыв кабеля. VFL - это мощный инфракрасный лазер, посылающий излучаемый им поток в один конец кабеля. При этом VFL определяет непрерывность, идентифицирует правильность подключения коннекторов.

Анализатор оптических потерь - OLTS (Optical Loss Test Set) включает в себя два компонента: источник света и измеритель мощности оптического сигнала. Использование средств диагностики этого типа позволяет проверить целостность волокна и проверить соответствие кабеля установленным стандартам. Многие устройства производят такое сравнение автоматически.

Третий тип устройств для тестирования оптического кабеля- это устройства сертификации оптических систем - CTS (Certifying Test Set) - усложненное OLTS. Данное оборудование может измерить и вычислить потерю сигнала, проверить полярность, определить длину кабеля, сравнить их со встроенной библиотекой стандартов, представить карту соединения. Также есть возможность сохранять всю полученную информацию для последующего переноса на компьютер, что поможет сделать глубокий анализ и составить отчет. CTS состоит из основного и нескольких удаленных устройств (в каждом конце кабеля, участвующего в тестировании), включающих в себя измеритель мощности оптического сигнала и дуальный источник длин волн.

Оптические рефлектометры OTDR (Optical Domain Reflectometer) - диагностические инструменты, которые используются, чтобы характеризовать потерю мощности оптического сигнала, посылая короткий импульс света с одного конца волокна и анализируя свет, отраженный от другого конца волокна. Регистрируя показания, OTDR определяет оптическую мощность, время прохода сигнала и отображает эти данные в виде графика. Данные устройства позволяют производить измерение элементов, входящих в сеть, включая длину частей волокна, однородность ослабления сигнала, местоположение коннекторов. Таким образом, можно визуально определить местонахождение рефлексивных событий (связи, обрывы волокна) и нерефлексивные события (соединения, недопустимые или напряженные изгибы), анализируя график, или при помощи таблицы событий, которая может быть сгенерирована устройствами OTDR.

Рис.1.3 - Оптический рефлектометр

Рефлектометр MTS 8000 - это новая мультимодульная тестовая платформа для оптоволоконных систем. В этом приборе одновременно инсталлирован рефлектометр, оптический тестер, измеритель оптической мощности, локатор визуальных дефектов, оптический микроскоп, оптическая гарнитура, OTDR. Конструктивное решение, разработанное специалистами Acterna, позволяет одновременно устанавливать в MTS 8000 большое количество сменных оптических модулей, благодаря чему пользователь получает возможность измерения всех необходимых характеристик в зависимости от типа работ. Процессор, установленный в MTS 8000 позволяет тестировать сеть по заранее предустановленным наборам тестов. Внутренняя память устройства составляет 8МБ. Новой интересной особенностью является возможность установки жесткого диска емкостью до 6 ГБ. Для удобства и возможности оперативной работы в MTS 8000 установлены накопители FDD, CD-RW, а также USB-порты.

- Экспертные системы - этот вид систем аккумулирует человеческие знания о выявлении причин аномальной работы сетей и возможных способах приведения сети в работоспособное состояние. Экспертные системы часто реализуются в виде отдельных подсистем различных средств мониторинга и анализа сетей: систем управления сетями, анализаторов протоколов, сетевых анализаторов. Простейшим вариантом экспертной системы является контекстно-зависимая help-система. Более сложные экспертные системы представляют собой так называемые базы знаний, обладающие элементами искусственного интеллекта. Примером является экспертная система анализа сети Expert Anаlysis из семейства продуктов Distributed Sniffer System .

В основе системы лежит уникальная база знаний, накопленная специалистами компании Network General с 1986 года и основанная на опыте работы с пользователями различных сетей и разработках групп Станфордского и Массачусетского университетов, а также компании Nippon Telephone and Telegraph (NTT).

Основное назначение системы - сокращение времени простоя и ликвидация узких мест сети с помощью автоматической идентификации аномальных явлений и автоматической генерации методов их разрешения. Система экспертного анализа предоставляет диагностическую информацию трех категорий:

Симптом - событие в сети, которому администратор сети должен уделить дополнительное внимание (например, физическая ошибка при обращении к узлу сети или единичная повторная передача файла). Необязательно означает возникновение частичной потери работоспособности, однако при высоком уровне периодичности требует внимания администратора.

Диагноз - неоднократное повторение симптома, требующее обязательного анализа со стороны администратора сети. Обычно диагноз описывает ситуации, характеризующие серьезные неисправности в сети (например, дублируемый сетевой адрес). На этапе диагноза происходит перевод события, приводящего к частичной потере работоспособности сети, на язык, понятный оператору и администратору.

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

Система автоматического анализа Expert Analysis основана на уникальной многозадачной технологии анализа пакетов, которая состоит из следующих шагов.

Циркулирующие в сети пакеты непрерывно захватываются и помещаются в кольцевой буфер захвата (первая задача).

Одновременно с этим несколько задач-анализаторов протоколов (по одной на каждое из семейств протоколов) сканируют буфер захвата и генерируют информацию в едином внутреннем формате.

Стандартизованная информация поступает на группу задач-экспертов. Каждая из этих программ является экспертом лишь в своей узкой области, например, в знании протокола взаимодействия клиента с сервером NetWare. Если эксперт находит событие, связанное с его областью интересов, он генерирует некоторый соответствующий объект (например, "пользователь Guest сервера IBSO") в объектно-ориентированной базе данных о сети, называемой BlackboardKnowledgeBase, и связывает его с соответствующими объектами более низкого уровня. В результате возникает некоторая сложная структура, отображающая все объекты сети, относящиеся к некоторому протоколу, и все возможные связи между ними на всех семи уровнях модели ISO/OSI.

Существует вторая группа задач-экспертов, постоянно анализирующая состояние базы данных и выдающих сообщения о ненормальном функционировании сети (симптомы или диагнозы). В общей сложности система ExpertAnalysis оперирует с более чем 200 различными событиями, приводящими к частичной потере работоспособности сети.

Подобная многозадачная система анализа является уникальной на рынке анализаторов, соответствует требованиям, предъявляемым к экспертным системам диагностики, ремонта и мониторинга, гарантирует достоверность поставленного диагноза. Однако рассмотренная ЭС относится к разряду дорогих систем высшего класса и, следовательно, недоступна широкому кругу пользователей.

Еще одним примером ЭС с элементами искусственного интеллекта является программа OptiView Protocol Expert , разработанная компанией Fluke Networks и являющаяся представителем семейства распределенных систем анализа и мониторинга вычислительных сетей 10/100/1000 Ethernet. Назначение системы, как и Expert Anаlysis, направлено на сокращение времени простоя и ликвидацию узких мест сети.

Все обнаруженные события рассматриваемая система классифицирует по уровням сетевой модели OSI:

Уровень приложений: Excessive ARP, Excessive BOOTP, NFS retransmission, all ICMP errors, HTTP Get Response, Slow Server Connect, Slow Server Response;

Транспортный уровень: TCP/IP checksum error, TCP/IP retransmission, TCP/IP fast retransmission, TCP/IP zero window, TCP/IP frozen window, TCP/IP long ack, TCP/IP SYN attack;

Сетевой уровень: duplicate IP or IPX address, IP TTL expiring, IP illegal source address, ISL Illegal VLAN ID, unstable MST, HSRP coup/resign;

Канальный уровень: illegal MAC source address, broadcast/multicast storms, physical errors.

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

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

⇡ Встроенные средства Windows - утилиты Ping и Tracert

В OS Windows имеется несколько утилит для диагностики состояния сети, но чаще всего используются Ping и Tracert. Программа Ping отправляет запрос указанному узлу сети и фиксирует время между отправкой запроса и получением ответа (RTT, от англ. Round Trip Time), иными словами, утилита позволяет определить время отклика интересующего сервера. Понятно, что чем оно меньше, тем обмен данными с этим сервером производится быстрее. Программа Tracert выполняет отправку тестового пакета указанному узлу сети, отображая информацию обо всех промежуточных маршрутизаторах, через которые прошел пакет на пути к запрошенному узлу, а также минимальное, максимальное и среднее время отклика каждого из них. Это позволяет оценить, насколько "длинный" путь прошел пакет и на каком участке возникают наибольшие задержки, связанные с передачей данных. Что означают результаты, выдаваемые утилитами Ping и Tracert? Например, отсутствие отклика от удаленного сервера может свидетельствовать о том, что он сейчас недоступен, или же администратор сервера заблокировал эхо-запросы (при этом остальные службы сервера могут нормально работать). Если время отклика (RTT) удаленных серверов слишком велико и не зависит от их месторасположения, скорее всего, качество вашего подключения оставляет желать лучшего и стоит обратиться к вашему провайдеру. Впрочем, некоторый выигрыш в скорости можно получить и путем настройки интернет-соединения на максимальное быстродействие, для чего лучше воспользоваться специальными утилитами-оптимизаторами, такими как TweakMASTER, но это уже совсем другая тема. Слишком "длинный" маршрут до интересующего сервера (то есть большое количество промежуточных маршрутизаторов на пути соединения с сервером) часто приводит к замедлению связи с ним. Если это критично, то имеет смысл попытаться поискать варианты сокращения длины маршрута. Например, в случае игровых серверов можно сделать выбор в пользу тех, которые находятся как можно "ближе" к серверу вашего интернет-провайдера. Если утилиты показывают, что тестовые пакеты не проходят дальше сервера вашего провайдера, весьма вероятно, что возникли проблемы на его стороне, а может быть это плановые профилактические работы. В применении утилит Ping и Tracert нет никаких хитростей, но технически использовать их не очень удобно. Для запуска ping-теста или трассировки придется открывать окно командной строки и вводить команду, возможно, еще и с параметрами, которые нужно либо запоминать, либо каждый раз обращаться к справке. Например, для проверки работоспособности узла www.сайт потребуется ввести в командной строке команду ping www.сайт , а чтобы выяснить путь прохождения пакетов до данного узла - команду tracert www.сайт . Результаты выполнения этих команд представлены ниже и представляют собой несколько текстовых строк. Отметим, что запускать указанные команды можно и через меню "Пуск" > "Выполнить", но в этом случае окно программы автоматически закрывается сразу после завершения ее работы и все результаты будут потеряны.

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

⇡ Диагностические сервисы

Сначала вкратце расскажем об альтернативном варианте диагностики сети - с помощью специальных онлайновых сервисов. В качестве примеров таковых можно привести WhatIsMyIPAddress.com и Yougetsignal.com , а также Whois-сервис . С помощью сервиса WhatIsMyIPAddress.com можно узнать свой внешний IP-адрес, если вы его не знаете или он у вас динамический. Также можно путь прохождения пакетов между своим компьютером и данным сервером. Сделать это просто, нужно в меню "IP Tools" выбрать функцию "Visual Traceroute", ввести свой внешний IP-адрес и щелкнуть по кнопке "Visual Traceroute".

Также можно воспользоваться инструментом "IP lookup" для того, чтобы выяснить кое-какие детали об интересующем IP-адресе, включая имя хоста, географические координаты и местоположение на карте мира. Зачем это нужно? Ну, например, для выхода на источник вторжения в вашу систему, если вы таковое зафиксировали. Воспользовавшись функцией "Visual Trace Route Tool" на сервисе Yougetsignal.com, также можно провести трассировку, для чего достаточно ввести URL сервера или его IP-адрес и щелкнуть на кнопке"Host Trace". В итоге сервис отобразит путь следования пакетов на карте мира, а также в виде списка промежуточных серверов с указанием общего числа переходов и принадлежности каждого из них конкретной стране. Активировав функцию "Network Location Tool", можно выяснить географическое положение любого сервера по его IP-адресу. А воспользовавшись функцией "WHOIS lookup Tool" можно получить информацию о сервере с информационного сервиса WHOIS.

Whois-сервис поможет установить время отклика интересующего сервера (функция "Ping"), определить путь прохождения запроса до сервера и узнать, сколько и какие промежуточные интернет-серверы, маршрутизаторы и другие устройства участвуют в пересылке данных на сервер и обратно (Tracert).

Кроме того, с помощью функции "IP Lookup" можно выяснить по имени хоста его IP-адрес (либо наоборот), а функция "Whois" подскажет, свободен указанный домен или занят. Если домен занят, то можно выявить его владельца и то, как с ним связаться (если вы, например, желаете купить это доменное имя).

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

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

Измерение текущей загруженности канала связи сети и определение влияния величины загрузки канала связи на время реакции прикладного ПО.

Измерение числа коллизий в сети и выяснение причин их возникновения.

Измерение числа ошибок передачи данных на уровне канала связи и выяснение причин их возникновения.

Выявление дефектов архитектуры сети.

Измерение текущей загруженности сервера и определение влияния степени его загрузки на время реакции прикладного ПО.

Выявление дефектов прикладного ПО, следствием которых является неэффективное использование пропускной способности сервера и сети.

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

Режим AUTOTEST не позволяет проверить уровень шума создаваемого внешним источником в кабеле. Это может быть шум от люминесцентной лампы, силовой электропроводки, сотового телефона, мощного копировального аппарата и др. Для определения уровня шума кабельные сканеры имеют, как правило, специальную функцию. Поскольку кабельная система сети полностью проверяется только на этапе ее инсталляции, а шум в кабеле может возникать непредсказуемо, нет полной гарантии того, что шум проявится именно в период полномасштабной проверки сети на этапе ее инсталляции.

При проверке сети кабельным сканером вместо активного оборудования к кабелю подключаются с одного конца - сканер, с другого - инжектор. После проверки кабеля сканер и инжектор отключаются, и подключается активное оборудование: сетевые платы, концентраторы, коммутаторы. При этом нет полной гарантии того, что контакт между активным оборудованием и кабелем будет столь же хорош, как между оборудованием сканера и кабелем. Неоднократно встречаются случаи, когда незначительный дефект вилки RJ-45 не проявляется при тестировании кабельной системы сканером, но обнаруживался при диагностике сети анализатором протоколов.

Диагностика сетевых устройств (или компонента сети) также имеет свои тонкости. При ее проведении применяют различные подходы. Выбор конкретного подхода зависит от того, что выбирается в качестве критерия хорошей работы устройства. Как правило, можно выделить три типа критериев и, следовательно, три основных подхода.

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

Второй подход основан на исследовании базовых линий параметров (так называемых трендов), характеризующих работу диагностируемого устройства. Основной принцип второго подхода можно сформулировать следующим образом: “устройство работает хорошо, если оно работает так, как всегда”. На этом принципе основана упреждающая (proactive) диагностика сети, цель которой -- предотвратить наступление ее критических состояний. Противоположной упреждающей является реактивная (reactive) диагностика, цель которой не предотвратить, а локализовать и ликвидировать дефект. В отличие от первого, данный подход позволяет обнаруживать дефекты, проявляющиеся не постоянно, а время от времени. Недостатком второго подхода является предположение, что изначально сеть работала хорошо. Но “как всегда” и “хорошо” не всегда означают одно и то же.

Третий подход осуществляется посредством контроля интегральных показателей качества функционирования диагностируемого устройства (далее -- интегральный подход). Следует подчеркнуть, что с точки зрения методологии диагностики сети между первыми двумя подходами, которые будем называть традиционными, и третьим, интегральным, есть принципиальное различие. При традиционных подходах мы наблюдаем за отдельными характеристиками работы сети и, чтобы увидеть ее “целиком”, должны синтезировать результаты отдельных наблюдений. Однако мы не можем быть уверены, что при этом синтезе не потеряем важную информацию. Интегральный подход, наоборот, дает нам общую картину, которая в ряде случаев бывает недостаточно детальной. Задача интерпретации результатов при интегральном подходе, по существу, обратная: наблюдая целое, выявить, где, в каких частностях заключается проблема.

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

Если программы периодически работают медленно, компьютеры "зависают" или отключаются от сервера, и программисты при этом говорят, что во всем виновата сеть, а администратор сети, - что во всем виноваты программы, то эта статья адресована именно вам.

Изложенный в этой статье материал не что иное, как обобщение многолетнего практического опыта компании "ПроЛАН" по выявлению "скрытых дефектов" и "узких мест" локальных сетей.

Прежде чем приступить к описанию методики выявления "скрытых дефектов", мы хотели бы определиться с терминами: что, собственно, понимается под локальной сетью, диагностикой локальной сети и какую сеть следует считать "хорошей".

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

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

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

  • Выявление дефектов физического уровня сети: кабельной системы, системы электропитания активного оборудования; наличия шума от внешних источников.
  • Измерение текущей загруженности канала связи сети и определение влияния величины загрузки канала связи на время реакции прикладного ПО.
  • Измерение числа коллизий в сети и выяснение причин их возникновения.
  • Измерение числа ошибок передачи данных на уровне канала связи и выяснение причин их возникновения.
  • Выявление дефектов архитектуры сети.
  • Измерение текущей загруженности сервера и определение влияния степени его загрузки на время реакции прикладного ПО.
  • Выявление дефектов прикладного ПО, следствием которых является неэффективное использование пропускной способности сервера и сети.

В рамках данной статьи мы рассмотрим первые четыре этапа комплексной диагностики локальной сети, а именно: диагностику канального уровня сети.

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

Хотелось бы обратить ваше внимание на два момента, тем более что о них часто забывают при тестировании кабельной системы сети с помощью сканера.

Режим AUTOTEST не позволяет проверить уровень шума создаваемого внешним источником в кабеле. Это может быть шум от люминесцентной лампы , силовой электропроводки, сотового телефона, мощного копировального аппарата и др. Для определения уровня шума кабельные сканеры имеют, как правило, специальную функцию. Поскольку кабельная система сети полностью проверяется только на этапе ее инсталляции, а шум в кабеле может возникать непредсказуемо, нет полной гарантии того, что шум проявится именно в период полномасштабной проверки сети на этапе ее инсталляции.

При проверке сети кабельным сканером вместо активного оборудования к кабелю подключаются с одного конца - сканер, с другого - инжектор. После проверки кабеля сканер и инжектор отключаются, и подключается активное оборудование: сетевые платы, концентраторы, коммутаторы. При этом нет полной гарантии того, что контакт между активным оборудованием и кабелем будет столь же хорош, как между оборудованием сканера и кабелем. Мы неоднократно встречались со случаями, когда незначительный дефект вилки RJ-45 не проявлялся при тестировании кабельной системы сканером, но обнаруживался при диагностике сети анализатором протоколов.

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

Организация процесса диагностики сети

Любая методика тестирования сети существенно зависит от имеющихся в распоряжении системного администратора средств. По нашему мнению, в большинстве случаев необходимым и достаточным cредством для обнаружения дефектов сети (кроме кабельного сканера) является анализатор сетевых протоколов. Он должен подключаться к тому домену сети (collision domain), где наблюдаются сбои, в максимальной близости к наиболее подозрительным станциям или серверу (см. Правило #3.3).

Если сеть имеет архитектуру с компактной магистралью (collapsed backbone) и в качестве магистрали используется коммутатор, то анализатор необходимо подключать к тем портам коммутатора, через которые проходит анализируемый трафик. Некоторые программы имеют специальные агенты или зонды (probes), устанавливаемые на компьютерах, подключенных к удаленным портам коммутатора. Обычно агенты (не путать с агентами SNMP) представляют собой сервис или задачу, работающую в фоновом режиме на компьютере пользователя. Как правило, агенты потребляют мало вычислительных ресурсов и не мешают работе пользователей, на компьютерах которых они установлены. Анализаторы и агенты могут быть подключены к коммутатору двумя способами.

При первом способе (см. Рисунок 1а) анализатор подключается к специальному порту (порту мониторинга или зеркальному порту) коммутатора, если таковой имеется, и на него по очереди направляется трафик со всех интересующих портов коммутатора.

Рисунок 1а. Зеркальный трафик со всех портов коммутатора по очереди направляется на порт коммутатора, к которому подключен анализатор протоколов.

Если в коммутаторе специальный порт отсутствует, то анализатор (или агент) следует подключать к портам интересующих доменов сети в максимальной близости к наиболее подозрительным станциям или серверу (см. Рисунок 1б). Иногда это может потребовать использования дополнительного концентратора. Согласно Правилу #3.3, данный способ предпочтительнее первого. Исключение составляет случай, когда один из портов коммутатора работает в полнодуплексном режиме. Если это так, то порт предварительно необходимо перевести в полудуплексный режим.

Рисунок 1б. Анализатор протоколов и удаленные агенты контролируют основные домены сети. Для диагностики домена сервера используется дополнительный концентратор.

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

Во-первых, анализатор протоколов должен иметь встроенную функцию генерации трафика (см. Правило #3.4). Во-вторых, анализатор протоколов должен уметь "прореживать" принимаемые кадры, т. е. принимать не все кадры подряд, а, например, каждый пятый или каждый десятый с обязательной последующей аппроксимацией полученных результатов. Если эта функция отсутствует, то при сильной загруженности сети, какой бы производительностью ни обладал компьютер, на котором установлен анализатор, последний будет "зависать" и/или терять кадры. Это особенно важно при диагностике быстрых сетей типа Fast Ethernet и FDDI.

Предлагаемую методику мы будем иллюстрировать на примере использования чисто программного анализатора протоколов Observer компании Network Instruments, работающего в среде Windows 95 и Windows NT. С нашей точки зрения, этот продукт обладает всеми необходимыми функциями для эффективного проведения диагностики сетей.

Итак, предположим, что прикладное программное обеспечение в вашей сети Ethernet стало работать медленно, и вам необходимо оперативно локализовать и ликвидировать дефект.

Первый этап

Измерение утилизации сети и установление корреляции между замедлением работы сети и перегрузкой канала связи.

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

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

Предположим, что анализатор протоколов установлен в том домене сети (collision domain), где прикладное ПО работает медленно. Средняя утилизация канала связи составляет 19%, пиковая доходит до 82%. Можно ли на основании этих данных сделать достоверный вывод о том, что причиной медленной работы программ в сети является перегруженность канала связи? Вряд ли.

Часто можно слышать о стандарте де-факто, в соответствии с которым для удовлетворительной работы сети Ethernet утилизация канала связи "в тренде" (усредненное значение за 15 минут) не должна превышать 20%, а "в пике" (усредненное значение за 1 минуту) - 35-40%. Приведенные значения объясняются тем, что в сети Ethernet при утилизации канала связи, превышающей 40%, существенно возрастает число коллизий и, соответственно, время реакции прикладного ПО. Несмотря на то что такие рассуждения в общем случае верны, безусловное следование подобным рекомендациям может привести к неправильному выводу о причинах медленной работы программ в сети. Они не учитывают особенности конкретной сети, а именно: тип прикладного ПО, протяженность домена сети, число одновременно работающих станций.

Чтобы определить, какова же максимально допустимая утилизация канала связи в вашем конкретном случае, мы рекомендуем следовать приведенным ниже правилам.

Правило # 1.1.

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

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

Если рабочая станция и сервер обладают высокой производительностью, и между ними идет обмен большими порциями данных, то утилизация в канале связи может достигать 80-90% (особенно в пакетном режиме - burst mode). Это абсолютно не замедляет работу сети, а, наоборот, свидетельствует об эффективном использовании ее ресурсов прикладным ПО.

Таким образом, если в вашей сети утилизация канала связи высока, постарайтесь определить, сколько компьютеров одновременно ведут обмен данными. Это можно сделать, например, собрав и декодировав пакеты в интересующем канале в период его высокой утилизации.

Правило # 1.2.

Высокая утилизация канала связи сети только в том случае замедляет работу конкретного прикладного ПО, когда именно канал связи является "узким местом" для работы данного конкретного ПО.

Кроме канала связи узкие места в системе могут возникнуть из-за недостаточной производительности или неправильных параметров настройки сервера, низкой производительности рабочих станций, неэффективных алгоритмов работы самого прикладного ПО.

В какой мере канал связи ответственнен за недостаточную производительность системы, можно выяснить следующим образом. Выбрав наиболее массовую операцию данного прикладного ПО (например, для банковского ПО такой операцией может быть ввод платежного поручения), вам следует определить, как утилизация канала связи влияет на время выполнения такой операции.

Проще всего это сделать, воспользовавшись функцией генерации трафика, имеющейся в ряде анализаторов протоколов (например, в Observer). С помощью этой функции интенсивность генерируемой нагрузки следует наращивать постепенно, и на ее фоне производить измерения времени выполнения операции. Фоновую нагрузку целесообразно увеличивать от 0 до 50-60% с шагом не более 10%.

Если время выполнения операции в широком интервале фоновых нагрузок не будет существенно изменяться, то узким местом системы является не канал связи. Если же время выполнения операции будет существенно меняться в зависимости от величины фоновой нагрузки (например, при 10% и 20% утилизации канала связи время выполнения операции будет значительно различаться), то именно канал связи, скорее всего, ответственнен за низкую производительность системы, и величина его загруженности критична для времени реакции прикладного ПО. Зная желаемое время реакции ПО, вы легко сможете определить, какой утилизации канала связи соответствует желаемое время реакции прикладного ПО.

В данном эксперименте фоновую нагрузку не следует задавать более 60-70%. Даже если канал связи не является узким местом, при таких нагрузках время выполнения операций может возрасти вследствие уменьшения эффективной пропускной способности сети.

Правило # 1.3.

Максимально допустимая утилизация канала связи зависит от протяженности сети.

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

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

Второй этап

Измерение числа коллизий в сети.

Если две станции домена сети одновременно ведут передачу данных, то в домене возникает коллизия. Коллизии бывают трех типов: местные, удаленные, поздние.

Местная коллизия (local collision) - это коллизия, фиксируемая в домене, где подключено измерительное устройство, в пределах передачи преамбулы или первых 64 байт кадра, когда источник передачи находится в домене. Алгоритмы обнаружения местной коллизии для сети на основе витой пары (10BaseT) и коаксиального кабеля (10Base2) отличны друг от друга.

В сети 10Base2 передающая кадр станция определяет, что произошла локальная коллизия по изменению уровня напряжения в канале связи (по его удвоению). Обнаружив коллизию, передающая станция посылает в канал связи серию сигналов о заторе (jam), чтобы все остальные станции домена узнали, что произошла коллизия. Результатом этой серии сигналов оказывается появление в сети коротких, неправильно оформленных кадров длиной менее 64 байт с неверной контрольной последовательностью CRC. Такие кадры называются фрагментами (collision fragment или runt).

В сети 10BaseT станция определяет, что произошла локальная коллизия, если во время передачи кадра она обнаруживает активность на приемной паре (Rx).

Удаленная коллизия (remote collision) - это коллизия, которая возникает в другом физическом сегменте сети (т. е. за повторителем). Станция узнает, что произошла удаленная коллизия, если она получает неправильно оформленный короткий кадр с неверной контрольной последовательностью CRC, и при этом уровень напряжения в канале связи остается в установленных пределах (для сетей 10Base2). Для сетей 10BaseT/100BaseT показателем является отсутствие одновременной активности на приемной и передающей парах (Tx и Rx).

Поздняя коллизия (late collision) - это местная коллизия, которая фиксируется уже после того, как станция передала в канал связи первые 64 байт кадра. В сетях 10BaseT поздние коллизии часто фиксируются измерительными устройствами как ошибки CRC.

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

Помимо высокого уровня утилизации канала связи коллизии в сети Ethernet могут быть вызваны дефектами кабельной системы и активного оборудования, а также наличием шумов.

Даже если канал связи не является узким местом системы, коллизии несущественно, но замедляют работу прикладного ПО. Причем основное замедление вызывается не столько самим фактом необходимости повторной передачи кадра, сколько тем, что каждый компьютер сети после возникновения коллизии должен выполнять алгоритм отката (backoff algorithm): до следующей попытки выхода в канал связи ему придется ждать случайный промежуток времени, пропорциональный числу предыдущих неудачных попыток.

В этой связи важно выяснить, какова причина коллизий - высокая утилизация сети или "скрытые" дефекты сети. Чтобы это определить, мы рекомендуем придерживаться следующих правил.

Правило # 2.1.

Не все измерительные приборы правильно определяют общее число коллизий в сети.

Практически все чисто программные анализаторы протоколов фиксируют наличие коллизии только в том случае, если они обнаруживают в сети фрагмент, т. е. результат коллизии. При этом наиболее распространенный тип коллизий - происходящие в момент передачи преамбулы кадра (т. е. до начального ограничителя кадра (SFD)) - программные измерительные средства не обнаруживают, так уж устроен набор микросхем сетевых плат Ethernet. Наиболее точно коллизии обнаруживают аппаратные измерительные приборы, например LANMeter компании Fluke.

Правило # 2.2.

Высокая утилизация канала связи не всегда сопровождается высоким уровнем коллизий.

Уровень коллизий будет низким, если в сети одновременно работает не более двух станций (см. Правило # 1.1) или если небольшое число станций одновременно ведут обмен длинными кадрами (что особенно характерно для пакетного режима). В этом случае до начала передачи кадра станции "видят" несущую в канале связи, и коллизии редки.

Правило # 2.3.

Признаком наличия дефекта в сети служит такая ситуация, когда невысокая утилизация канала (менее 30%) сопровождается высоким уровнем коллизий (более 5%).

Если кабельная система предварительно была протестирована сканером, то наиболее вероятной причиной повышенного уровня коллизий является шум в линии связи, вызванный внешним источником, или дефектная сетевая плата, неправильно реализующая алгоритм доступа к среде передачи (CSMA/CD).

Компания Network Instruments в анализаторе протоколов Observer оригинально решила задачу выявления коллизий, вызванных дефектами сети. Встроенный в программу тест провоцирует возникновение коллизий: он посылает в канал связи серию пакетов с интенсивностью 100 пакетов в секунду и анализирует число возникших коллизий. При этом совмещенный график отображает зависимость числа коллизий в сети от утилизации канала связи.

Долю коллизий в общем числе кадров имеет смысл анализировать в момент активности подозрительных (медленно работающих) станций и только в случае, когда утилизация канала связи превышает 30%. Если из трех кадров один столкнулся с коллизией, то это еще не означает, что в сети есть дефект.

В анализаторе протоколов Observer график, показанный на Рисунке 3, меняет цвет в зависимости от числа коллизий и наблюдаемой при этом утилизации канала связи.

Правило # 2.4.

При диагностике сети 10BaseT все коллизии должны фиксироваться как удаленные, если анализатор протоколов не создает трафика.

Если вы пассивно (без генерации трафика) наблюдаете за сетью 10BaseT и физический сегмент в месте подключения анализатора (измерительного прибора) исправен, то все коллизии должны фиксироваться как удаленные.

Если тем не менее вы видите именно локальные коллизии, то это может означать одно из трех: физический сегмент сети, куда подключен измерительный прибор, неисправен; порт концентратора или коммутатора, куда подключен измерительный прибор, имеет дефект, или измерительный прибор не умеет различать локальные и удаленные коллизии.

Правило # 2.5.

Коллизии в сети могут быть следствием перегруженности входных буферов коммутатора.

Следует помнить, что коммутаторы при перегруженности входных буферов эмулируют коллизии, дабы "притормозить" рабочие станции сети. Этот механизм называется "управление потоком" (flow control).

Правило # 2.6.

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

Если компьютеры, включенные в сеть не имеют общей точки заземления (зануления), то между корпусами компьютеров может возникать разность потенциалов. В персональных компьютерах "защитная" земля объединена с "информационной" землей. Поскольку компьютеры объединены каналом связи локальной сети, разность потенциалов между ними приводит к возникновению тока по каналу связи. Этот ток вызывает искажение информации и является причиной коллизий и ошибок в сети. Такой эффект получил название ground loop или inter ground noise.

Аналогичный эффект возникает в случае, когда сегмент коаксиального кабеля заземлен более чем в одной точке. Это часто случается, если Т-соединитель сетевой платы соприкасается с корпусом компьютера.

Обращаем ваше внимание на то, что установка источника бесперебойного питания не снимает описанных трудностей. Наиболее подробно данные проблемы и способы их решения рассматриваются в материалах компании APC (American Power Conversion) в "Руководстве по защите электропитания" (Power Protection Handbook).

При обнаружении большого числа коллизий и ошибок в сетях 10Base2 первое, что надо сделать, - проверить разность потенциалов между оплеткой коаксиального кабеля и корпусами компьютеров. Если ее величина для любого компьютера в сети составляет более одного вольта по переменному току, то в сети не все в порядке с топологией линий заземления компьютеров.

Третий этап

Измерение числа ошибок на канальном уровне сети.

В сетях Ethernet наиболее распространенными являются следующие типы ошибок.

Короткий кадр - кадр длиной менее 64 байт (после 8-байтной преамбулы) с правильной контрольной последовательностью. Наиболее вероятная причина появления коротких кадров - неисправная сетевая плата или неправильно сконфигурированный или испорченный сетевой драйвер.

Последнее время мы наблюдаем большое число ошибок этого типа на относительно медленных компьютерах (486/SX), работающих под Windows 95 с сетевыми платами NE2000. Причина нам неизвестна.

Длинный кадр (long frame) - кадр длиннее 1518 байт. Длинный кадр может иметь правильную или неправильную контрольную последовательность. В последнем случае такие кадры обычно называют jabber. Фиксация длинных кадров с правильной контрольной последовательностью указывает чаще всего на некорректность работы сетевого драйвера; фиксация ошибок типа jabber - на неисправность активного оборудования или наличие внешних помех.

Ошибки контрольной последовательности (CRC error) - правильно оформленный кадр допустимой длины (от 64 до 1518 байт), но с неверной контрольной последовательностью (ошибка в поле CRC).

Ошибка выравнивания (alignment error) - кадр, содержащий число бит, не кратное числу байт.

Блики (ghosts) - последовательность сигналов, отличных по формату от кадров Ethernet, не содержащая разделителя (SFD) и длиной более 72 байт. Впервые данный термин был введен компанией Fluke с целью дифференциации различий между удаленными коллизиями и шумами в канале связи.

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

Рискуя навлечь на себя праведный гнев дистрибьюторов программ сетевого управления на основе SNMP, мы осмелимся тем не менее утверждать, что степень влияния ошибок канального уровня сети на время реакции прикладного ПО сильно преувеличена.

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

Правило # 3.1.

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

Работа любого анализатора протоколов основана на том, что сетевая плата и драйвер переводятся в режим приема всех кадров сети (promiscuous mode). В этом режиме сетевая плата принимает все проходящие по сети кадры, а не только широковещательные и адресованные непосредственно к ней, как в обычном режиме. Анализатор протоколов всю информацию о событиях в сети получает именно от драйвера сетевой платы, работающей в режиме приема всех кадров.

Не все сетевые платы и сетевые драйверы предоставляют анализатору протоколов идентичную и полную информацию об ошибках в сети. Сетевые платы 3Com вообще никакой информации об ошибках не выдают. Если вы установите анализатор протоколов на такую плату, то значения на всех счетчиках ошибок будут нулевыми.

EtherExpress Pro компании Intel сообщают только об ошибках CRC и выравнивания. Сетевые платы компании SMC предоставляют информацию только о коротких кадрах. NE2000 выдают почти полную информацию, выявляя ошибки CRC, короткие кадры, ошибки выравнивания, коллизии.

Сетевые карты D-Link (например, DFE-500TX) и Kingstone (например, KNE 100TX) сообщают полную, а при наличии специального драйвера - даже расширенную, информацию об ошибках и коллизиях в сети.

Ряд разработчиков анализаторов протоколов предлагают свои драйверы для наиболее популярных сетевых плат.

Правило # 3.2.

Обращайте внимание на "привязку" ошибок к конкретным MAC-адресам станций.

При анализе локальной сети вы, наверное, обращали внимание, что ошибки обычно "привязаны" к определенным МАС-адресам станций. Однако коллизии, произошедшие в адресной части кадра, блики, нераспознанные ситуации типа короткого кадра с нулевой длиной данных не могут быть "привязаны" к конкретным МАС-адресам.

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

Если большинство ошибок привязаны к конкретным MAC-адресам станций, то постарайтесь выявить закономерность между местонахождением станций, передающих ошибочные кадры, расположением измерительного прибора (см. Правила # 3.3, # 3.4) и топологией сети.

Правило # 3.3.

В пределах одного домена сети (collision domain) тип и число ошибок, фиксируемых анализатором протоколов, зависят от места подключения измерительного прибора.

Другими словами, в пределах сегмента коаксиального кабеля, концентратора или стека концентраторов картина статистики по каналу может зависеть от места подключения измерительного прибора.

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

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

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

Подтверждение приведенного правила можно найти на серверах Web компаний Fluke (www.fluke.com) и Net3 Group (www.net3group.com).

Правило # 3.4.

Для выявления ошибок на канальном уровне сети измерения необходимо проводить на фоне генерации анализатором протоколов собственного трафика.

Генерация трафика позволяет обострить имеющиеся проблемы и создает условия для их проявления. Трафик должен иметь невысокую интенсивность (не более 100 кадров/с) и способствовать образованию коллизий в сети, т. е. содержать короткие (<100 байт) кадры.

При выборе анализатора протоколов или другого диагностического средства внимание следует обратить прежде всего на то, чтобы выбранный инструмент имел встроенную функцию генерации трафика задаваемой интенсивности. Эта функция имеется, в частности, в анализаторах Observer компании Network Instruments и NetXray компании Cinco (ныне Network Associates).

Правило # 3.5.

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

Правило # 3.6.

Если доля ошибок CRC в общем числе ошибок велика, то следует определить длину кадров, содержащих данный тип ошибок.

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

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

Сравнить длину ошибочных и правильных кадров проще всего посредством сбора в буфер анализатора серии кадров с ошибкой CRC.

Правило # 3.7.

Таблица1 систематизирует причины ошибок и коллизий для этапов 2 и 3
Таблица 1 - Типы ошибок и коллизий, фиксируемые ИЗМЕРИТЕЛЬНЫМ СРЕДСТВОМ
Причина ошибок Локальные коллизии Удаленные коллизии Поздние коллизии Короткий кадр Длинный кадр Jabber Ошибка CRC
Дефектная сетевая плата >5% при
U<30%
>5% при
U<30%
Есть Есть Есть Есть Есть
Дефектный драйвер платы Есть Есть Есть Есть
Дефектный концентратор, повторитель, трансивер >5% при
U<30%
>5% при
U<30%
Есть Есть Есть
Неправильное подключение активного оборудования >5% при
U<30%
>5% при
U<30%
Есть Есть
Слишком длинный кабель Есть Есть
Более 4 повторителей или объединенных в каскад концентраторов Есть
Неправильное заземление компьютеров или коаксиального кабеля >5% при
U<30%
>5% при
U<30%
Есть Есть Есть
Дефекты кабельной системы и пассивного оборудования >5% при
U<30%
>5% при
U<30%
Есть Есть Есть
Источник шума рядом с кабельной системой >5% при
U<30%
>5% при
U<30%
Есть Есть Есть
Примечание. U - утилизация канала связи

Если вы впервые диагностируете свою сеть и в ней наблюдаются проблемы, то не следует ожидать, что в вашей сети дефектен только один компонент.

Наиболее надежным способом локализации дефектов является поочередное отключение подозрительных станций, концентраторов и кабельных трасс, тщательная проверка топологии линий заземления компьютеров (особенно для сетей 10Base2).

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

Правило # 3.8.

Отсутствие ошибок на канальном уровне еще не гарантирует того, что информация в вашей сети не искажается.

В начале данного раздела уже упоминалось, что влияние ошибок канального уровня на работу сети сильно преувеличено. Следствием ошибок нижнего уровня является повторная передача кадров. Благодаря высокой скорости сети Ethernet (особенно Fast Ethernet) и высокой производительности современных компьютеров, ошибки нижнего уровня не оказывает существенного влияния на время реакции прикладного ПО.

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

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

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

Иногда кроме искажения наблюдается исчезновение информации. Чаще всего оно происходит на дешевых сетевых платах или на коммутаторах Ethernet-FDDI. Механизм исчезновения информации в последнем случае понятен. В ряде коммутаторов Ethernet-FDDI обратная связь быстрого порта с медленным (или наоборот) отсутствует, в результате другой порт не получает информации о перегруженности входных/выходных буферов быстрого (медленного) порта. В этом случае при интенсивном трафике информация на одном из портов может пропасть.

Опытный администратор сети может возразить, что кроме защиты информации на канальном уровне в протоколах IPX и TCP/IP возможна защита информации с помощью контрольной суммы.

В полной мере на защиту с помощью контрольной суммы можно полагаться, только если прикладное ПО в качестве транспортного протокола задействует TCP или UDP. Только при их использовании контрольной суммой защищается весь пакет. Если в качестве "транспорта" применяется IPX/SPX или непосредственно IP, то контрольной суммой защищается лишь заголовок пакета.

Даже при наличии защиты с помощью контрольной суммы описанное искажение или исчезновение информации вызывает существенное увеличение времени реакции прикладного ПО.

Если же защита не установлена, то поведение прикладного ПО может быть непредсказуемым.

Помимо замены (отключения) подозрительного оборудования выявить такие дефекты можно двумя способами.

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

Вторым способом является метод стрессового тестирования сети.

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

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

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

Какие параметры необходимо отслеживать при диагностике сети? Методика упреждающей диагностики сети

Методика упреждающей диагностики заключается в следующем. Администратор сети должен непрерывно или в течение длительного времени наблюдать за работой сети. Такие наблюдения желательно проводить с момента ее установки. На основании этих наблюдений администратор должен определить, во-первых, как значения наблюдаемых параметров влияют на работу пользователей сети и, во-вторых, как они изменяются в течение длительного промежутка времени: рабочего дня, недели, месяца, квартала, года и т. д.

Наблюдаемыми параметрами обычно являются:

  • параметры работы канала связи сети - утилизация канала связи, число принятых и переданных каждой станцией сети кадров, число ошибок в сети, число широковещательных и многоадресных кадров и т. п.;
  • параметры работы сервера - утилизация процессора сервера, число отложенных (ждущих) запросов к диску, общее число кэш-буферов, число "грязных" кэш-буферов и т. п.

Зная зависимость между временем реакции прикладного ПО и значениями наблюдаемых параметров, администратор сети должен определить максимальные значения параметров, допустимые для данной сети. Эти значения вводятся в виде порогов (thresholds) в диагностическое средство. Если в процессе эксплуатации сети значения наблюдаемых параметров превысят пороговые, то диагностическое средство проинформирует об этом событии администратора сети. Такая ситуация свидетельствует о наличии в сети проблемы.

Наблюдая достаточно долго за работой канала связи и сервера, вы можете установить тенденцию изменения значений различных параметров работы сети (утилизации ресурсов, числа ошибок и т. п.). На основании таких наблюдений администратор может сделать выводы о необходимости замены активного оборудования или изменения архитектуры сети.

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

Рис. 2.

В составе Windows XP2000 есть команда "Ping" она позволяет оправлять пакеты информации заданной длины и фиксировать время отклика удаленной системы, а так же целостность информации. Тестовая служба Ping взаимодействует напрямую с сетевой картой на уровне протокола TCP/IP, поэтому вне зависимости от того, настроены ли параметры доступа и дополнительные службы, Ping систему увидит.

Запустим командную строку "Пуск" -> "Выполнить -> "cmd".

Появиться окно консольного сеанса, по сути, старый добрый MS DOS. Затем с помощью команд CD (Change Directory) перейдите в папку system32 вашей копии Windows XP как показано на рисунке 8. Если запустить ping из Windows с помощью batcmd файла или раздела "выполнить", сразу после выполнения задачи окно программы закроется и мы не успеем увидеть результаты.

Формат команды: Ping "IP адрес удаленной системы"

Например "Ping 192.168.0.1". По умолчанию программа передает 4 пакета по 32 байт каждый, что недостаточно для объективного тестирования сети, так как система бодро отчитается об успешном результате даже при очень низком качестве сигнала. Данная команда подойдет только для того, чтобы определить, есть ли вообще связь с тем или иным узлом. Для тестирования качества связи запустите Ping со следующими параметрами.

ping.exe -l 16384 -w 5000 -n 100 192.168.0.XX.

Это обеспечит отправку 100 запросов по 16 килобайт на заданный IP адрес с интервалом ожидания в 0,5 секунды.

  • 1. Если по результатам тестирования дошли все пакеты и потери составили не более 3%, сеть работает нормально.
  • 2. От 3-10% - сеть по-прежнему работает, благодаря алгоритмам коррекции ошибок, однако из-за значительного числа потерянных пакетов и необходимости их повторной доставки снижается эффективная скорость сети.
  • 3. Если число потерянных пакетов превышает 10-15%, необходимо принять меры по устранению неисправности, вызвавшей ухудшения качества связи.

Для получения более объективных результатов можно увеличить размер пакетов иили их число, однако это увеличит и время тестирования. Дополнительные настройки программы ping можно узнать, если запустить её с привычным справочным ключом ping /?

Причины слабого сигнала в линии и потери пакетов данных

  • - Физические повреждения сетевого кабеля или его изоляции.
  • - Некачественный обжим.
  • - Ошибки в разводке витой пары.
  • - Превышение стандартной длины сегмента.
  • - Наличие мощных источников помех по ходу кабеля.
  • - Некачественное восстановление поврежденных участков.
  • - Более 5 коммутаторов в цепи.

Если произошел обрыв кабеля наращиваем витую пару.

Как определить, что произошел обрыв кабеля? Очень легко: сеть не будет работать, световые индикаторы сетевой карты и коммутатора погаснут (при некоторых повреждениях кабеля этого не происходит). Windows XP выдаст сообщение: "сетевой кабель не подключен". Команда Ping не получит отклика от удаленной системы. Но не спешите паниковать, может быть, кабель действительно не подключён или по каким-то причинам выключеннеисправен switch.

Если связь пропала именно из-за повреждения сетевого кабеля, то нужно его восстанавливать. Вообще, по стандартам восстановлению витая пара не подлежит. Действительно, даже самая качественная пайка или плотная скрутка изменяет волновые свойства кабеля и работать так же хорошо, как целый, он уже не будет. Весь вопрос в том, насколько сильно падает качество связи. Как показала практика - незначительно, т.е. визуально вообще ничего не меняется, а скорость связи может падать от 5 до 10%. Правда аппаратные кабель тестеры показывают вместо витой пары пятой категории третью. Конечно, по возможности кабель должны быть цельным. Но те или иные повреждения, особенно длинных отрезков сети, происходят достаточно часто и если после каждого обрыва линии прокладывать весь кабель заново, как того требуют стандарты, не хватит никаких денег и сил. Так же часто возникает ситуация, когда по тем или иным причинам не хватает длины существующего отрезка кабеля, и его нужно нарастить. Можно использовать пайку либо простую скрутку, первое предпочтительней ввиду более надёжного контакта и меньшей потери производительности. К сожалению, повреждения кабеля чаще происходят на уличных сегментах, где не всегда есть условия для проведения работ и паяльник.

Также требуется провести тестирование на нагрузочную способность, скорость. локальный сеть топология сервер

Тест на нагрузочную способность был проведен с помощью программы J.D Edwards.

Результаты тестирования следующие:

За состоянием сервера следили постоянно, но "картинку" (скриншот) получили в тот момент, когда к серверу было подключено 18 пользователей, из которых активно работали 16. Четверо были соединены с сервером, но никаких операций на нем не выполняли. В этот момент сервер уже работал с заметным "торможением" так, что это визуально ощущалось на клиентском компьютере.

Рис.3.

На рисунке 3 видно, что дисковая активность (зеленая линия) была высокой, и размер файла подкачки (синяя линия) постоянно увеличивался. При этом загрузка процессора была относительно не высокой (красная линия).

При этом используемая память превышала 3,5 Гб.

Динамику использования памяти можно увидеть на рис.4


Рис. 4.

Если посмотреть, какие процессы занимали больше всего места в памяти (рис.5 - список отсортирован по убыванию) то можно увидеть, что это ERP система (oexplore.exe).


Рис.5.

По полученным результатам был сделан вывод, что терминальный сервер может обеспечить работу в "нормальном режиме" не более 16 активно работающих пользователей. Под "нормальным режимом" понимается режим, когда не происходит заметного замедления работы клиентов по причине "торможения" терминального сервера.

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

Видно, что "узким местом" в работе терминального сервера является недостаток памяти - так как память используется на 100%, (зеленая линия на рис. 6), а процессор загружен в среднем на 20% (красная линия на рис.3). И, возможно, узким местом, является работа с диском.