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 - он наглядно показывает, на каком из маршрутизаторов имеются проблемы с передачей пакетов. Для Windows существует мощный визуальный (показывает движение пакетов на карте Планеты) трассировщик VisualRoute фирмы Visu-alWare (http://visualware.com).
Утилита агр
Утилита агр дает возможность просматривать и изменять ARP-таблицу, в которой хранятся пары 'ММАС-адрес - IP-адрес' для тех узлов, с которыми в недавнем происходил обмен данными. Эта таблица формируется автоматически при работе сетевого узла, но администратор сети может вносить в нее записи вручную. Формальный синтаксис: arp -s inet_addr eth_addr [if_addr] или ARP -d inet_addr [if_affr] или ARP -a [inet_addr] [-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 [/? | /all | /release [адаптер] | /renew [адаптер] | /flushdns | displaydns /registerdns | /showclassid адаптер | /setclassid адаптер [устанавливаемый_код_ класса_dhcp]].
Параметр '/displaydns' выводит кэш разрешенных имен DNS на экран.
Параметр '/release [адаптер]' освобождает арендованный по DHCP (Dynamic Host Configuration Protocol) IP-адрес (если указан адаптер, то только для этого адаптера, иначе для всех адаптеров).
Параметр '/renew [адаптер]' запрашивает обновление аренды по DHCP ЕР-адреса (если указан адаптер, то только для этого адаптера, иначе для всех адат'еров).
Параметр '/registerdns' запрашивает обновление аренды по DHCP всех адресов и повторную их регистрацию в DNS.
Утилита route
Утилита route отображает таблицу маршрутов и позволяет ее изменять. Формальный синтаксис: route [-f] [-p] [команда [узел]] [MASK маска] [шлюз] [METRIC метрика] [IF-интерфейс]. При использовании route параметр 'метрика' определяет качество данного маршрута (в хопах - количестве промежуточных маршрутизаторов, времени прохождения пакета по линиям связи, характеристикой надежности линии связи на данном маршруте и т.п.) в соответствие с заданным в сетевом пакете критерием (т.н. классом сервиса).
Команда 'PRINT' выводит таблицу маршрутов: сетевой адрес; маска сети; адрес шлюза; интерфейс; метрика, команда 'ADD' позволяет добавить новый маршрут, 'DELETE' - удалить маршрут, 'CHANGE' - изменить (существующий) маршрут).
Утилита netstat
Утилита netstat отображает текущие соединения, порты, ожидающие соединения и статистические данные по протоколам TCP/IP. Без дополнитель-н^1х параметров выводится список текущих соединений (протокол: TCP или UDP; локальный адрес и порт; внешний адрес и порт; состояние соединения). Формальный синтаксис: netstat [-a] [-e] [-n] [-s] [-p имя] [-r] [интервал]
Параметр '-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-имен.
Параметр '-а <имя удаленного компьютера>' выводит содержимое таблицы имен для удаленного компьютера, указанного по имени.
Параметр '-А <IР-адрес удаленного компьютера>' выводит содержимое таблицы имен для удаленного компьютера, указанного по 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 (включая
ICMP, UDP).
При использовании утилиты nbtstat первым шагом рекомендуется просмотреть таблицы NetBIOS-имен на локальном компьютере (параметр '-n') и далее на других компьютерах в сети (параметры ' -a' или ' -A').
При использовании утилиты route (с параметром PRINT для вывода на экран) просматривается как список интерфейсов, так и список активных маршрутов. Удаление маршрута достигается вводом route DELETE узел (где узел -IP-адрес удаляемого из маршрута узла), добавление - route ADD узел MASK маска шлюз METRIC метрика IF интерфейс (где узел - IP-адрес добавляемого узла, маска - значение маски, шлюз - IP-адрес шлюза, метрика - значение метрики добавляемого маршрута, интерфейс - номер сетевого интерфейса; может быть опущен, тогда выбирается наиболее подходящий для указанного шлюза).