Тестирование и диагностика лвс. Организация диагностики компьютерной сети

Муромский институт (филиал) Владимирского государственного университета

Методы решения проблем проектирования и диагностики локальных вычислительных сетей

А.Е. Лашин, Д.О. Мальцев

Научный руководитель – В.В. Чекушкиин, профессор кафедры САПР, д.т.н.


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

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

Возможность получить и отправить любую информацию с любого компьютера в сети.

Свободное добавление, удаление и перемещение рабочих мест сотрудников внутри офиса/здания.

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

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

Рис. 1 – Структура локальной вычислительной сети


Рассмотрим сеть, в которой есть доступ в интернет и к любому компьютеру, подключённому в сеть. Доступ к сети Интернет осуществляется за счёт роутера, к которому подключена выделенная линия, mac адреса отключены. Роутер – используется для объединения сетей с разными типами программного и аппаратного обеспечения. Мост – разделяет сеть на участки, таким образом данные проходят через мост только если это действительно необходимо, т.е. если получатель не находится в одном сегменте с отправителем. Коммутатор (сетевой концентратор) – отличатся от моста только тем, что он имеет по процессору на каждое гнездо, в то время как у моста - один процессорный блок на все гнезда. Такая структура повышает производительность. Коннектор – устанавливается на концах сетевого кабеля (витой пары) с помощью обжимного инструмента, служит в качестве штекера витой пары.

Сеть сформирована с помощью коммутаторов и витой пары, обжатой по стандарту T568A. Доступ в интернет осуществляется по средствам роутера. Сеть интернет (выделенная линия) подключается к входу роутера, а его выход подключается к входу разветвителя. Разветвитель в свою очередь или на прямую, или через другие разветвители подключается к компьютеру. Таким образом, осуществляется соединение всех компьютеров в единую локальную вычислительную сеть (ЛВС).

Чтобы отдельные компьютеры отображались в сетевом окружении внутри ЛВС, необходимо каждый компьютер настроить должным образом. То есть, установить драйвер сетевой карты и задать настройки сетевого подключения. В данном случае требуется отключить mac адрес, ввести IP адрес и маску подсети, а если требуется доступ в интернет, то ввести адрес шлюза (IP адрес роутера).

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

локальный сеть роутер

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

2. Проверить, качество контакта коннектора витой пары, как в разъёме сетевой карты, так и в разъёме коммутатора. Извлечь коннектор из разъёма и вставить вновь до характерного щелчка;

3. Проверить правильность введенных настроек (к примеру, у 2-х машин в ЛВС не может быть одинаковый IP адрес). Ввести правильные настройки для конкретной машины;

4. Если проблема не в этом, то необходимо попробовать подсоединить сетевой провод к другому разъёму в коммутаторе (бывает, что выгорает один из разъёмов, а не весь коммутатор). Извлечь коннектор из разъёма и присоединить его к другому разъёму;

5. Проверить состояние mac адреса (при установке на машину некоторых операционных систем он может измениться). В данном случае, отключить в настройках mаc адрес;

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

7. Если всё выше перечисленное не решило проблему, то следует заменить сетевую карту (если есть такая возможность), после этого нужно будет снова установить драйвера и ввести все настройки. Если сетевая карта встроена в материнскую, то вставить в специальный разъём на материнской плате сетевую карту. Если сетевая карта уже была установлена, то поменять её на заведомо рабочую. Это крайняя мера, но не редки случаи, когда выгорает встроенная сетевая плата.

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

NDF (Network Diagnostics Framework) позволяет пользователям диагностировать и устранять неполадки, предоставляя диагностические оценки и информацию о последовательности операций, которая позволит устранить проблему. NDF упрощает и автоматизирует многие из стандартных операций по устранению неполадок и реализации решений для устранения проблем сети.

Теперь Microsoft поставляет NDF в составе Windows 7 наряду с другими новшествами, такими как доступ к утилите устранения неполадок из области уведомлений, апплет «Устранение неполадок компьютера» (Troubleshooting) в панели управления и трассировка сети средствами Event Tracing for Windows (ETW). Все они облегчают просмотр и сбор информации, необходимой для исследования неполадок сети, требующих исправления — автоматически или за счет вмешательства пользователя.

Устранение неполадок с использованием значка сети в области уведомлений

Утилиту устранения неполадок легко запустить, щелкнув правой кнопкой значок сети в области уведомлений рабочего стола Windows 7 и выбрав команду «Диагностика неполадок» (Troubleshoot problems). Откроется окно утилиты «Диагностика сетей Windows» (Windows Network Diagnostics) и запустится диагностика сети.

Поиск неполадок из Панели управления

В Windows 7 не нужно ждать, пока произойдет сбой сети, чтобы выполнить встроенную диагностику. Открыть сеанс поиска неполадок можно в любой момент, открыв служебную программу «Устранение неполадок компьютера» (Troubleshooting) на Панели управления, рис. 1. В данном случае служебная программа обнаружила, что у компьютера нет подключения к Интернету. Об этом говорит сообщение в верхней части страницы, при этом предлагается попытаться подключиться повторно.

Рис. 1 Открытие апплета устранения неполадок компьютера в панели управления.

Если щелкнуть «Сеть и Интернет» (Network and Internet), откроется диалоговое окно, показанное на рис. 2. Там можно выбрать один из семи вариантов исследования сетевых подключений, в том числе устранить неполадки подключения к Интернету, доступа к файлам и папкам на других компьютерах и печати.


Рис. 2 Поиск неполадок сети и подключения к Интернету.

При выборе любого из этих семи вариантов открывается мастер, помогающий выполнить диагностику неполадки и, если возможно, устранить ее автоматически или вручную. Средство диагностики также ведет запись в журнал трассировки событий (Event Tracing Log, ETL). Если неполадку не удается устранить, можно исследовать журнал самостоятельно или переслать его более сведущим людям. Для этого щелкните в диалогом окне поиска неполадок «Просмотр журнала» (View History). На рис.3 показан пример журнала ETL.


Рис. 3 Пример журнала ETL.

Каждая запись в журнале представляет отдельный сеанс поиска неполадок. Двойной щелчок сеанса открывает его журнал (рис. рис.4.


Рис. 4 Пример журнала устранения неполадок.

Чтобы просмотреть детали процедуры поиска неполадок обнаружения, щелкните ссылку «Обнаружение проблемы» (Detection details) - откроется окно, похожее на показанное на рис. 5.


Рис. 5 Типичное окно с подробностями поиска неполадок.

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

Просматривать и анализировать ETL-файлы можно средствами Сетевого монитора версии 3.3. Также для этой цели можно задействовать средство «Просмотр событий» и Tracerpt.exe. Можно преобразовать файл в XML или текстовый формат командой netsh trace convert. Подробные результаты сеанса поиска неполадок можно получить в виде CAB-файла, для чего нужно щелкнуть правой кнопкой сеанс в окне «Журнал устранения неполадок» (Troubleshooting History) и выбрать Сохранить как (Save As). Как и ETL-файлы, CAB-файл можно отправить в отдел поддержки для анализа.

Трассировка сети средствами Netsh.exe

Windows 7 включает новый контекст утилиты Netsh.exe - netsh trace, служащий для трассировки сети. Команды в этом контексте позволяют выборочно включать трассировку провайдеров или сценариев. Провайдер - это отдельный компонент в стеке сетевых протокол, такой как Winsock, TCP/IP, службы беспроводной локальной сети или NDIS. Сценарий трассировки - это набор провайдеров, реализующих одну функциональность, например совместный доступ к файлам или беспроводную локальную сеть. Чтобы избавиться от несущественных подробностей и уменьшить размер ETL-файла, можно применять фильтры.

Как правило, для выполнения детального анализа неполадок сети нужно предоставлять сотрудникам отдела поддержки или службе поддержки клиентов Microsoft как информацию о трассировки компонента, так и запись сетевого трафика во время проявления неполадки. До Windows 7 для получения этих данных приходилось выполнять две различных процедуры: использовать команды Netsh.exe для включения и отключения трассировке и задействовать сетевой анализатор, такой как Сетевой монитор, для записи сетевого трафика. После этого предстояло решить нелегкую задачу синхронизации информации из этих двух источников, чтобы определить, как сетевой трафик соотносится с событиями в журналах трассировки.

В Windows 7 при выполнении трассировки сети в контексте netsh trace ETL-файлы могут последовательно содержать информацию и сетевого трафика, и трассировки компонента. Полученные ETL-файлы можно изучать средствами Сетевого монитора версии 3.3, который предоставляет намного более эффективный интерфейс анализа и исследования сетевых неполадок (рис. На рис. 6 показан пример файла ETL, который просматривается в Network Monitor 3.3.


Рис. 6 Использование сетевого монитора версии 3.3 для просмотра сетевого трафика, сохраненного в ETL-файле.

Эта новая возможность позволяет не требовать от конечных пользователей или сотрудников отдела поддержки для записи сетевого трафика устанавливать и использовать Сетевой монитор на компьютере, где наблюдаются неполадки. Имейте в виду, что по умолчанию ETL-файлы, созданные в сеансах диагностики неполадок апплета «Устранение неполадок компьютера» (Troubleshooting) не содержат данных сетевого трафика.

Для последовательной регистрации данных трассировки и сетевого трафика многих компонентов сетевого стека (таких как Winsock, DNS, TCP, NDIS, WFP и т. п.) в Windows используется корреляция на основе идентификатора транзакции, которая называется группировкой и используется для сбора и записи трассировки и трафика в ETL-файле. Группировка в ETL-файлах позволяет исследовать всю транзакцию как единую последовательность взаимосвязанных событий.

Подробнее о командах Netsh.exe для трассировки см. врезку «Запуск и остановка трассировки в Netsh.exe».

При использовании Netsh.exe в Windows 7 могут создаваться два файла. ETL-файл содержит события трассировки компонентов Windows и, если требуется, сетевого трафика. По умолчанию ETL-файл называется Nettrace.etl и размещается в папке %TEMP%\\NetTraces. Можно задать другое имя и место, задав параметр tracefile=. Необязательный CAB-файл может содержать файлы нескольких типов, в том числе текстовые файлы, файлы реестра Windows, XML и другие - они содержат дополнительную информацию для поиска неполадок. CAB-файл также включает копию ETL-файла. По умолчанию CAB-файл называется Nettrace.cab и размещается в папке %TEMP%\NetTraces.

Трассировку средствами Netsh.exe можно совмещать с диагностированием с помощью апплета «Устранение неполадок компьютера» панели управления. Сначала выполните соответствующую команду Netsh.exe, чтобы запустить трассировку сценария, например: netsh trace scenario=internetclient report=yes. В апплете «Устранение неполадок компьютера» запустите сеанс устранения неполадок подключения к Интернету. По завершении сеанса выполните команду netsh trace stop. Теперь при просмотре журнала сеанса устранения неполадок будет доступен CAB-файл.
Боковая панель: Запуск и остановка трассировки в Netsh.exe

Чтобы запустить трассировку сети в Netsh.exe, прежде всего надо открыть окно командной строки с дополнительными правами. Чтобы получить список провайдеров трассировки, выполните команду netsh trace show providers. Получить список сценариев, можно командой netsh trace show scenarios. Чтобы получить список провайдеров в сценарии, выполните netsh trace show scenario ScenarioName.

Можно запустить трассировку одного или нескольких провайдеров или сценариев. Например, трассировка сценария InternetClient запускается командой netsh trace start scenario=internetclient. Чтобы запустить трассировку нескольких сценариев, надо последовательно их задать:netsh trace start scenario=FileSharing scenario=DirectAccess.

Чтобы создать CAB-файл с форматированным отчетом, добавьте параметр report=yes. Для задания имени и местоположения ETL- и CAB-файлов служит параметр tracefile=parameter. Если в ETL файле нужно записать еще и сетевой трафик, добавьте параметр capture=yes.

Вот пример команды, которая запустит трассировку сценария WLAN, создаст CAB-файл с форматированным отчетом, запишет сетевой трафик и сохранит файлы под именем WLANTest в папке C:\\Tshoot: netsh trace start scenario=WLAN capture=yes report=yes tracefile=c:\tshoot\WLANtest.etl.

Чтобы остановить трассировку, используйте команду netsh trace stop command.

Боковая панель: Использование сетевого монитора версии 3.3 для просмотра ETL-файлов

Чтобы Сетевой монитор версии 3.3 смог полностью отображать ETL-файлы, сгенерированные в Windows 7, нужно сконфигурировать полные анализаторы Windows. По умолчанию Сетевой монитор версии 3.3 использует стандартные анализаторы Windows. Чтобы конфигурировать полные анализаторы Windows, выберите Tools/Options/Parsers. В списке анализаторов выберите Windows/Stubs, чтобы отключить стандартные анализаторы и включить полные анализаторы, далее щелкните OK.

Джозеф Дейвис (Joseph Davies) - ведущий технический писатель в группе команды технических писателей по теме сетей Windows в Microsoft. Он является автором и соавтором нескольких книг, опубликованных в издательстве Microsoft Press, в числе которых «Windows Server 2008 Networking and Network Access Protection (NAP)», «Understanding IPv6, Second Edition» и «Windows Server 2008 TCP/IP Protocols and Services».

Лабораторная работа № 15

15.1 Цель работы - приобретение практических знаний и навыков в на-
стройке программного обеспечения (ПО) ПЭВМ для обеспечения функцио-
нирования в составе локальной компьютерной сети.

15.2 Теоретические основы.

Утилита ping

Утилита ping тестирует сетевое соединение путем посылки ICMP-пакетов типа 8 (запрос эха), на которые получатель отвечает ICMP-пакетом типа 0 (эхо-ответ). С помощью этой утилиты удобно проверять наличие пу­ти до заданного узла и определять временные характеристики этого пути. Утилите ping достаточно указать IP-адрес или DNS-имя, однако имеется ряд параметров, позволяющих более тонко управлять ее работой. Утилита ping выводит результат каждого запроса/ответа на отдельной строке, а перед за­вершением работы выдает статистику: минимальное, максимальное и среднее время передачи пакета, количество и долю потерянных пакетов. Фактически ping является "рабочей лошадкой при тестировании сетевых со­единений.

Общий формат использования утилиты (как всегда, находящиеся в квад­ратных скобках параметры опциональны): ping [-t] [-a] [-n число] [-l размер] [-f] [-i TTL] [-v TOS] [-r число] [-s число] [[-j списокУзлов] | [-k списокУзлов]] [-w таймаут] конечноеИмя. Для получения такой подсказки достаточно запустить ping без параметров, для вывода подсказки в файл ping_test.txt следует использовать ping > ping_test.txt (то же относится и к большинству иных утилит).

Параметр "-t" включает постоянную проверку связи до нажатия Ctrl+C. При нажатии Ctrl+Break выводится статистически накопленная информация и работа продолжается (обычно этот параметр используют, чтобы как можно быстрее узнать о наличии связи с заданным узлом).

Параметр "-а" требует определение IP-адреса по имени узла (по умолча­нию не выполняется).

Параметр "-n <число>" позволяет задать количество запросов (по умол­чанию четыре запроса).

Параметр "-l <число>" дает возможность задать размер пакета (по умолча­нию размер пакета 64 байта).

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

Параметр "-i <число>" задает время жизни пакета (TTL), по умолчанию у ICMP-пакетов время жизни равно 255.

Параметр "-r <число>" дает возможность получить маршрут, по которо­му передавались запрос и ответ (показать маршрутизацию). Числовой па­раметр может быть от 1 до 9 и определяет максимальное количество узлов, которые будут показаны в маршруте.

Параметр "-w <число>" позволяет задать время ожидания каждого пакета (в миллисекундах), по умолчанию это 1"000 миллисекунд.

Утилита tracert

Утилита tracert дает возможность проследить маршрут пакетов до задан­ного узла и получить временные характеристики для каждого промежуточ­ного маршрутизатора на этом пути. Эта утилита, как и ранее описанная ping, отправляет серию пакетов ICMP типа 8, но с разными значениям TTL: сна­чала отправляется три пакета с TTL=1 (на эти пакеты ближайший маршру­тизатор ответит пакетами ICMP типа 11 (истекло время передачи), из ко­торых будет извлечен его адрес), затем с TTL=2 (на эти пакеты ответит вто­рой маршрутизатор) и так далее до тех пор, пока не будет достигнут задан­ный узел или значение TTL не превысит порог. Для каждого TTL утилита выводит по одной строке с адресом маршрутизатора (и, возможно, с его до­менным именем - если удалось его разрешить) и тремя значениями времени, которое понадобилось для передачи пакета. Формальный синтаксис: tracert [-d] [-h максЧисло] [-j списокУзлов] [-w интервал] имя.

Параметр "-d" позволяет (принудительно) не выполнять разрешение IP-адресов маршрутизаторов в доменные имена, это позволяет ускорить работу утилиты за счет отмены обращения к службе DNS.

Параметр "-h <число>" дает возможность задать порог, до которого будет расти TTL (по умолчанию - 30).

Параметр "-w <число>" позволяет задать время ожидания каждого пакета (в миллисекундах), по умолчанию 1"000 миллисекунд.

Утилита pathping

Утилита pathping фактически совмещает функциональность утилит ping и tracert и выполняется в две фазы: сначала, подобно tracert, собирается и вы­водится маршрут до заданного узла (только IP-адреса и имена) и затем, по­добно ping, в течение некоторого времени (чем дольше выполнялась трасси­ровка, тем больше будет это время) собирается статистика времен передачи пакетов, количеств и относительных долей потерянных пакетов для каждого из промежуточных маршрутизаторов (а не только для заданного узла, как ping).

Формальный синтаксис: pathping [-g Список] [-h Число_прыжков] [-i Адрес] [-n] [-p Пауза] [-q Число_запросов] [-w Таймаут] [-P] [-R] [-T] [-4] [-6] узел

Наиболее полезен результат работы второй фазы утилиты pathping - он на­глядно показывает, на каком из маршрутизаторов имеются проблемы с пере­дачей пакетов. Для Windows существует мощный визуальный (показывает движение пакетов на карте Планеты) трассировщик VisualRoute фирмы Visu-alWare (http://visualware.com ).

Утилита агр

Утилита агр дает возможность просматривать и изменять ARP-таблицу, в которой хранятся пары "ММАС-адрес - IP-адрес" для тех узлов, с которыми в недавнем происходил обмен данными. Эта таблица формируется автомати­чески при работе сетевого узла, но администратор сети может вносить в нее записи вручную. Формальный синтаксис: arp -s inet_addr eth_addr или ARP -d inet_addr или ARP -a [-N if_addr]. Здесь if_addr суть зада­ет номер интерфейса.

Параметр "-а" позволяет вывести всю ARP-таблицу на экран.

Параметр "-а <1Р-адрес>" запрашивает вывод записи об узле с заданным адресом на экран.

Параметр "-S <1Р-адрес> <МАС-адрес>" позволяет добавить запись об узле с заданными адресами в ARP-таблицу.

Параметр "-d <1Р-адрес>" служит для удаления записи об узле с заданным адресом из ARP-таблицы.

Параметр "-d *" очищает ARP-таблицу.

Утилита hostname

Утилита hostname всего-навсего выводит имя узла. Может быть использова­на в файлах сценариев для пакетной обработки.

Утилита ipconfig

Утилита ipconfig отображает и настраивает настройки протоколов TCP/IP. Без дополнительных параметров выводится IP-адрес, маска подсети и шлюз по умолчанию для всех сетевых интерфейсов. С параметром "/all" кроме сказанно­го, выводятся МАС-адреса сетевых интерфейсов, имя узла, адреса серверов DNS и WINS и некоторая другая информация. Формальный синтаксис: ipconfig | /renew [адаптер] | /flushdns | displaydns /registerdns | /showclassid адаптер | /setclassid адаптер [устанавливаемый_код_ класса_dhcp]].

Параметр "/flushdns" очищает кэш разрешенных имен DNS.

Параметр "/displaydns" выводит кэш разрешенных имен DNS на экран.

Параметр "/release [адаптер]" освобождает арендованный по DHCP (Dynamic Host Configuration Protocol) IP-адрес (если указан адаптер, то только для этого адаптера, иначе для всех адаптеров).

Параметр "/renew [адаптер]" запрашивает обновление аренды по DHCP ЕР-адреса (если указан адаптер, то только для этого адаптера, иначе для всех адат"еров).

Параметр "/registerdns" запрашивает обновление аренды по DHCP всех адре­сов и повторную их регистрацию в DNS.

Утилита route

Утилита route отображает таблицу маршрутов и позволяет ее изменять. Фор­мальный синтаксис: route [-f] [-p] [команда [узел]] [шлюз] . При использовании route параметр "метрика" определяет ка­чество данного маршрута (в хопах - количестве промежуточных маршрутизато­ров, времени прохождения пакета по линиям связи, характеристикой надежно­сти линии связи на данном маршруте и т.п.) в соответствие с заданным в сете­вом пакете критерием (т.н. классом сервиса).

Команда "PRINT" выводит таблицу маршрутов: сетевой адрес; маска сети; адрес шлюза; интерфейс; метрика, команда "ADD" позволяет добавить новый маршрут, "DELETE" - удалить маршрут, "CHANGE" - изменить (существующий) маршрут).

Утилита netstat

Утилита netstat отображает текущие соединения, порты, ожидающие соеди­нения и статистические данные по протоколам TCP/IP. Без дополнитель-н^1х параметров выводится список текущих соединений (протокол: TCP или UDP; локальный адрес и порт; внешний адрес и порт; состояние соедине­ния). Формальный синтаксис: netstat [-a] [-e] [-n] [-s] [-p имя] [-r] [интервал]

Параметр "-а" дополнительно отображает порты, ожидающие соедине­ния; ожидающие TCP-порты обозначены состоянием "LISTENING", a UDP-порты - внешним адресом

Параметр "-n" требует выводить все адреса и номера портов в числовом формате, поскольку по умолчанию netstat пытается разрешить IP-адреса и имена и заменить номер порта на его имя.

Параметр "-r" выводит таблицу маршрутов (сетевой адрес; маска сети; адрес шлюза; интерфейс; метрика). Подобную информацию можно получить с помощью утилиты route.

Параметр "-е" позволяет получить статистику Ethernet.

Параметр "-s" выводит статистику по протоколам TCP, UDP и IP.

Параметр "-е <протокол>" применяется совместно с параметром "-s" для ог­раничения выдаваемой статистики заданным протоколом (TCP, UDP или IP).

Утилита nbtstat

Утилита nbtstat отображает статистику протокола и текущих подключений TCP/IP при использовании технологии NetBIOS через TCP/IP. Формальный синтаксис: nbtstat [-a Узел] [-A IP-адрес] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [интервал].

Параметр "-с" дает возможность просматривать содержимое кэша разре­шенных имен.

Параметр "-n" позволяет просматривать список зарегистрированных дан­ным компьютером локальных NetBIOS-имен.

Параметр "-а <имя удаленного компьютера>" выводит содержимое таблицы имен для удаленного компьютера, указанного по имени.

Параметр "-А " выводит содержимое таб­лицы имен для удаленного компьютера, указанного по IP-адресу.

Параметр "-r" дает возможность просматривать статистические данные о разрешении имен.

Параметр "-интервал" задает циклический вывод статистики через указан­ный интервал в секундах (прекращение вывода - Ctrl+C).

15.3 Необходимое оборудование - IBM PC-совместимая ЭВМ, подключен-
ная к компьютерной сети с помощью Ethernet-сетевой карты.

15.4 Порядок проведения работы. Проверка работоспособности сетевого соединения с использованием стандартных утилит Windows. При этом следует проверить корректность задания хотя бы одного адреса DNS-сервера (рекомендуется, например, 192.190.241.65) при настройке сетевого ПО, иначе сопоставление IP-адреса заданному доменному имени окажется невозможным. Типовыми заданиями являются:

Просмотр и анализ настроек стека протоколов TCP/IP с использованием утилиты ipconfig.

Тестирование сетевого соединения утилитой ping (конечный адрес ука­зывается преподавателем - им может быть, напр., IP-адрес местного Proxy-сервера, адрес одной из машин в сети, доменное имя некоторого узла в Сети и др.).

Прослеживание маршрута пакетов до заданного узла утилитой tracert.

Отображение и изменение таблицы хранения соответствия МАС- и IP-адресов с помощью утилиты arp.

Просмотр текущих сетевых соединений, портов, TCP/IP-статистики ути­литой netstat.

Отображение статистики протокола и текущих подключений TCP/IP при использовании NetBIOS через TCP/IP утилитой nbtstat.

Отображение и изменение таблицы маршрутов утилитой route (препода­вателем может быть задано изменение или дополнение маршрутов).

2.5 Оформление отчета по работе. В отчете указываются параметры ис­пользуемой сети (тип ПЭВМ, MAC- и IP-адреса сетевой карты, тип и число портов коммутатора, топология локальной сети).

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

При использовании утилиты netstat необходимо зафиксировать назначение TCP- и UDP-портов имени ПЭВМ, локальному адресу и их состояние (пара­метр "-a"). Общую статистику обменов можно получить при использовании параметра "-e", с использованием параметра "-s" следует зафиксировать и проанализировать статистику по всем протоколам стека TCP/IP (включая

При использовании утилиты nbtstat первым шагом рекомендуется просмот­реть таблицы NetBIOS-имен на локальном компьютере (параметр "-n") и далее на других компьютерах в сети (параметры " -a" или " -A").

При использовании утилиты route (с параметром PRINT для вывода на эк­ран) просматривается как список интерфейсов, так и список активных мар­шрутов. Удаление маршрута достигается вводом route DELETE узел (где узел -IP-адрес удаляемого из маршрута узла), добавление - route ADD узел MASK маска шлюз METRIC метрика IF интерфейс (где узел - IP-адрес добавляемого узла, маска - значение маски, шлюз - IP-адрес шлюза, метрика - значение мет­рики добавляемого маршрута, интерфейс - номер сетевого интерфейса; может быть опущен, тогда выбирается наиболее подходящий для указанного шлю­за).

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

Утилита pingявляется одним из основных диагностических средств в сетях TCP/IP и входит в поставку всех современных сетевых операционных систем. Функциональность ping также реализована в некоторых встроенных ОС маршрутизаторов, доступ к результатам выполнения ping для таких устройств по протоколу SNMP определяется RFC 2925 (Definitions of Managed Objects for Remote Ping, Traceroute, and Lookup Operations).

Так как программа использует ICMP и создает raw-пакеты, для ее выполнения в unix-системах необходимы права суперпользователя. Чтобы обычные пользователи могли использовать ping, на /bin/ping ставят SUID бит в права доступа (chmod4755 /bin/pingи попросить выполнить эту команду администратора). Пример запуска утилиты ping:

Пример. Запуск ping.

%ping -c 3 fpm2.ami.nstu.ru

PING fpm2.ami.nstu.ru (217.71.130.131): 56 data bytes

64 bytes from 217.71.130.131: icmp_seq=0 ttl=57 time=5.458 ms

64 bytes from 217.71.130.131: icmp_seq=1 ttl=57 time=3.088 ms

64 bytes from 217.71.130.131: icmp_seq=2 ttl=57 time=1.927 ms

Fpm2.ami.nstu.ru ping statistics ---

3 packets transmitted, 3 packets received, 0.0% packet loss

round-trip min/avg/max/stddev = 1.927/3.491/5.458/1.469 ms

Таблица 7.1

Утилита (команда)

Назначение

Примеры использования

Используется для отправки ЭХО-запросов на указанный узел сети. Простое, но незаменимое средство диагностики сети

ping -c 7 saturn

Используется для определения маршрута следования пакетов от вашего хоста до указанного хоста

traceroute -I fpm2.ami.nstu.ru

Конфигурирует или отображает параметры сетевых интерфейсов хоста (для протоколов стека TCP/IP)

Выводит информацию о сетевых соединениях, статистику по сетевым интерфейсам и т. п.

Отображает или модифицирует таблицу протокола ARP (преобразование IP в MAC-адреса)

Выводит различную информа-цию о системе

То же, что и ifconfig, но для Windows XP

То же, что и traceroute, но для Windows XP

tracert tom.interface.nsk.su

Утилита tracerouteпредназначена для определения маршрутов следования данных в сетях TCP/IP. Она выполняет отправку данных указанному узлу сети, при этом отображая сведения о всех промежуточных маршрутизаторах, через которые прошли данные на пути к целевому узлу. В случае проблем при доставке данных до какого-либо узла программа позволяет определить, на каком именно участке сети возникли неполадки.

tracerouteвходит в поставку большинства современных сетевых операционных систем. В системах Microsoft Windows эта программа носит названиеtracert , а в системах GNU/Linux –traceroute .

Для определения промежуточных маршрутизаторов tracerouteотправляет серию пакетов целевому узлу, при этом каждый раз увеличивая на 1 значение поля TTL («время жизни»). Это поле обычно указывает максимальное количество маршрутизаторов, которое может быть пройдено пакетом. Первый пакет отправляется с TTL, равным 1, и поэтому первый же маршрутизатор возвращает обратно сообщение ICMP, указывающее на невозможность доставки данных.Tracerouteфиксирует адрес маршрутизатора, а также время между отправкой пакета и получением ответа (эти сведения выводятся на монитор компьютера). Затемtracerouteповторяет отправку пакета, но уже с TTL, равным 2, что позволяет первому маршрутизатору пропустить пакет дальше.

Процесс повторяется до тех пор, пока при определенном значении TTL пакет не достигнет целевого узла. При получении ответа от этого узла процесс трассировки считается завершенным.

На оконечном хосте IP-дейтаграмма с TTL = 1 не отбрасывается и не вызывает ICMP-сообщения типа срок истек , а должна быть отдана приложению. Достижение пункта назначения определяется следующим образом: отсылаемыеtracerouteдейтаграммы содержат UDP-пакет с таким номером UDP-порта адресата (превышающим 30000), что он заведомо не используется на адресуемом хосте. В пункте назначения UDP-модуль, получая подобные дейтаграммы, возвращает ICMP-сообщения об ошибке «порт недоступен». Таким образом, чтобы узнать о завершении работы, программеtracerouteдостаточно обнаружить, что поступило ICMP-сообщение об ошибке этого типа.

Примерв Windows:

C:\Documents and Settings\dnl>tracert fpm2.ami.nstu.ru

Пример.Результат выполнения командыtracert

Трассировка маршрута к fpm2.ami.nstu.ru

с максимальным числом прыжков 30:

1 2 ms 1 ms 1 ms ifgate.interface.nsk.su

2 2 ms 1 ms 2 ms cisco.n-sk.ru

3 1 ms 1 ms 1 ms router.n-sk.ru

4 2 ms 1 ms 1 ms nsk-ix.n-sk.ru

5 2 ms 1 ms 1 ms c7120.nstu.ru

6 2 ms 2 ms 1 ms ix-i.nstu.ru

7 2 ms 3 ms 1 ms ami.nstu.ru

8 2 ms 3 ms 1 ms fpm2.ami.nstu.ru

Трассировка завершена.

Запуск программы производится из командной строки. Для этого вы должны войти в нее (Пуск – Выполнить – В графе «Открыть» пишется «cmd», нажимается ОK). В открывшемся окне пишем:

tracert fpm2.ami.nstu.ru

где tracert – обращение к программе, а fpm2.ami.nstu.ru– символьное имя (DNS-имя) или IPv4 адрес.

Примерв Linux:

В Unix/Linux системах существуют режимы, в которых запуск программы возможен только от имени суперпользователя root(администратора). К числу этих режимов относится важный режим трассировки с помощьюICMP (ключ -I).

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

Пример. Результат выполнения командыtraceroute

%traceroute -I saturn.ami.nstu.ru

traceroute to saturn.ami.nstu.ru (217.71.130.153), 64 hops max, 60 byte packets

1 ifgate (195.62.2.1) 1.262 ms 1.258 ms 1.138 ms

2 cisco.n-sk.ru (195.62.0.93) 2.798 ms 1.629 ms 1.903 ms

3 router.n-sk.ru (195.62.1.49) 1.232 ms 1.175 ms 1.170 ms

4 nsk-ix.n-sk.ru (195.62.1.80) 1.567 ms 1.446 ms 1.579 ms

5 c7120.nstu.ru (217.71.128.237) 1.771 ms 1.659 ms 1.582 ms

6 ix-i.nstu.ru (217.71.128.70) 2.040 ms 1.593 ms 1.753 ms

7 ami.nstu.ru (217.71.131.2) 2.996 ms 2.718 ms 1.612 ms

8 saturn.ami.nstu.ru (217.71.130.153) 4.268 ms 3.108 ms 2.051 ms

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

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

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

Примериспользования команды netstat (для операционной системыSunOC):

name MTU Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue

le0 1500 solar sun 7442667 27558 736826 33 125361 0

lo0 536 loopback localhost 1283 0 1283 0 0 0 ,

где name – имя сетевого интерфейса;

lo0 – циклический (loopback) интерфейс (или «заглушка»), используемый для проверки сетевых протоколов;

MTU – (Maximum Transmition Unit) размер в байтах максимального пакета данных, поддерживаемого данным интерфейсом. Для Ethernet MTU=1500, для FDDI – 4428, для lo0 – 536;

Net/Dest – назначение сети. Это имя, значение которого можно получить по номеру сети (Network Number), может быть установлено в файле /etc/networks;

Address – имя машины (опция -n позволяет вывести также IP-адрес);

Ipkts/Ierrs – число пришедших пакетов и число ошибок;

Opkts/Oerrs – то же самое для исходящих пакетов;

Collis – число произошедших коллизий. Величина, называемая коэффициентом коллизий (collision rate), вычисляется как (Collis/Opkts)*100. Хорошим считается коэффициент 0…2 %, при 3…5 % можно начинать беспокоиться, если же он больше 5 %, дела совсем плохи;

Queue – число пакетов, ожидающих прохождения через интерфейс. В большинстве случаев таких пакетов нет.

Пример использования утилиты netstat дляLinux:

Bash-3.2$ netstat -i

Kernel Interface table

Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0 1500 0 173351491 0 0 0 156580779 0 0 0 BMRU

eth1 1500 0 183024 0 0 0 247635 0 0 0 BMRU

lo 16436 0 547246 0 0 0 547246 0 0 0 LRU

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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