УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА АСУ МЕТОДИЧЕСКИЕ УКАЗАНИЯ К лабораторным работам по курсу Сети ЭВМ и телекоммуникации для подготовки инженеров по направлению Информатика и вычислительная техника Лабораторная работа №2 Моделирование и анализ локальной вычислительной сети Уфа 2007 Содержание Введение ................................................................................................................... 3 1. Наиболее популярные системы моделирования ........................................... 4 2. Обзор NET-Simulator........................................................................................ 6 2.1 Сетевое ядро ................................................................................................... 6 2.2 Графический интерфейс ................................................................................ 6 2.3 Сохранение/загрузка проектов ..................................................................... 7 2.4 Экспорт проектов в html-отчеты .................................................................. 7 2.5 Системные требования .................................................................................. 7 2.6 Виртуальные терминалы и интерфейс командной строки. ....................... 7 3. Содержание работы ........................................................................................ 13 3.1. Исходные данные к заданию ..................................................................... 13 3.2. Перечень задач по проектированию ЛВС ................................................ 13 3.3. Содержание отчета ..................................................................................... 13 Список литературы ............................................................................................... 14 Введение Основу информационной системы составляет вычислительная система, включающая такие компоненты, как кабельная сеть и активное сетевое оборудование, компьютерное и периферийное оборудование, оборудование хранения данных (библиотеки), системное программное обеспечение (операционные системы, системы управления базами данных), специальное ПО (системы мониторинга и управления сетями) и в некоторых случаях прикладное ПО. В качестве подхода к проектированию может быть использованы: разработка модели и моделирование (имитацию работы - simulation) поведения вычислительной системы. Критериями оценки эффективности могут служить снижение стоимости реализации вычислительной системы, соответствие текущим требованиям и требованиям ближайшего времени, возможность и стоимость дальнейшего развития и перехода к новым технологиям. В процессе моделирования возможно следующее: определение минимально необходимого, но обеспечивающего потребности передачи, обработки и хранения информации оборудования (даже не имеющего реальных аналогов) в настоящее время; оценка необходимого запаса производительности оборудования, обеспечивающего возможное увеличение производственных потребностей в ближайшее время (один-два года); выбор нескольких вариантов оборудования с учетом текущих потребностей, перспективы развития на основании критерия стоимости оборудования; проведение проверки работы вычислительной системы, составленной из рекомендованного оборудования. 1. Наиболее популярные системы моделирования BONeS (фирма Systems and Networks) - графическая система моделирования общего назначения для анализа архитектуры систем, сетей и протоколов. Описывает модели на транспортном уровне и на уровне приложений. Дает возможность анализа воздействия приложений типа клиент - сервер и новых технологий на работу сети. Netmaker (фирма OPNET Technologies) - проектирование топологии, средства планирования и анализа сетей широкого класса. Состоит из различных модулей для расчета, анализа, проектирования, визуализации, планирования и анализа результатов. Optimal Perfomance (фирма Compuware; Optimal Networks) - имеет возможности быстрого оценочного и точного моделирования, помогает оптимизировать распределенное программное обеспечение. Prophesy (компания Abstraction Software) - простая система для моделирования локальных и глобальных сетей. Позволяет оценить время реакции компьютера на запрос, количество "хитов" на WWW-сервере, количество рабочих станций для обслуживания активного оборудования, запас производительности сети при поломке определенного оборудования. Семейство CANE (компания ImageNet) -- проектирование и реинжиниринг вычислительной системы, оценка различных вариантов, сценарии "что, если". Моделирование на различных уровнях модели OSI. Развитая библиотека устройств, которая включает физические, электрические, температурные и другие характеристики объектов. Возможно создание своих библиотек. Семейство COMNET (фирма Compuware; CACI Products Company) -- объектноориентированная система моделирования локальных и глобальных сетей. Позволяет моделировать уровни: приложений, транспортный, сетевой, канальный. Использует все известные на сегодня технологии и протоколы, а также системы клиент -- сервер. Легко настраивается на модель оборудования и технологий. Возможность импорта и экспорта данных о топологии и сетевом трафике. Моделирование иерархических сетей, многопротокольных локальных и глобальных сетей; учет алгоритмов маршрутизации. Семейство OPNET (фирма OPNET Technologies) - средство для проектирования и моделирования локальных и глобальных сетей, компьютерных систем, приложений и распределенных систем. Возможность импорта и экспорта данных о топологии и сетевом трафике. Анализ воздействия приложений типа клиент -- сервер и новых технологий на работу сети. Моделирование иерархических сетей, многопротокольных локальных и глобальных сетей; учет алгоритмов маршрутизации. Объектно-ориентированный подход. Исчерпывающая библиотека протоколов и объектов. Включает следующие продукты: Netbiz (проектирование и оптимизация вычислительной системы), Modeler (моделирование и анализ производительности сетей, компьютерных систем, приложений и распределенных систем), ITGuru (оценка производительности коммуникационных сетей и распределенных систем). Stressmagic (фирма NetMagic Systems) -- поддержка стандартных тестов измерения производительности; имитация пиковой нагрузки на файл-сервер и сервер печати. Возможно моделирование взаимодействия различных пользователей с файл-сервером. Включает 87 тестов производительности. NET-Simulator позволяет строить виртуальные вычислительные сети из виртуальных сетевых устройств: маршрутизаторов, настольных компьютеров, концентраторов и т.п. Устройствами можно управлять при помощи интерфейса командной строки из виртуальных терминалов. В виртуальных сетях реализованы канальный и сетевой уровни в соответствии с ISO OSI. Таблица 1. Системы моделирования Компания Systems and Networks Продукт Стоимость, долл. Тип сети Операционная система Bones 20000 40000 LAN, WAN, клиентсерверные архитектуры Sun Solaris, Sun OS, HP/UX Windows NT ImageNet (www.imagenetcane.com) CANE 7900 - 25000 LAN, WAN, клиентсерверные архитектуры Optimal Networks (Compuware) (www.optimal.com) Optimal Perfomance 5000 - 30000 LAN, WAN Windows 98/NT s Abstraction Software (www.abstraction.com) Prophesy 599 LAN, WAN Windows 98/NT, OS/2 Network Analysis Center (www.nacmind.com, www.salestar.com) WinMIND 9500 - 41000 WAN Windows 98/NT CACI Products (Compuware) (www.caciasl.com, www.compuware.com) Семейство COMNET 19000 60000 LAN, WAN клиентсерверные архитектуры Windows 98/NT, OS/2, AT&T Unix, IBM AIX, DEC Ultrix, Sun Solaris, Sun OS, HP/UX OPNET Technologies (MIL3) (www.mil3.com, www.opnet.com) Семейство OPNET 16000 40000 LAN, WAN, клиентсерверные архитектуры DEC AXP, Sun Solaris, Sun OS, HP/UX, Silicon Graphics IRIX, IBM AIX, Windows NetMagic Systems (www.netmagicinc.com) StressMagic 3000 на 1 файл-сервер LAN Windows 98/NT NETSimulator бесплатно LAN ОС с Java-машиной NET-Simulator (www.net-simulator.org) Более подробные сведения об этих системах и их характеристиках приведены в табл. В образовательных целях рассмотрим продукт NET-Simulator, который позволит с необходимой в учебном процессе точностью смоделировать ЛВС. 2. Обзор NET-Simulator 2.1 Сетевое ядро В NET-Simulator реализованы только два уровня ISO OSI: канальный и сетевой. Таким образом NET-Simulator позволяет решать следующие образовательные задачи: Изучение принципов работы коммуникаторов второго и третьего уровня, пассивных концентраторов. Отработка практических навыков статической маршрутизации в IP-сетях. Изучение принципов работы протоколов канального уровня, ARP, IP4, ICMP. Отработка практических навыков поисков неисправностей в IP-сетях. Физическая природа сети не учитывается. Предполагается, что пакеты канального уровня распространяются в среде аналогичной локальной сети на основе Ethernet. На канальном уровне используется простейший Ethrnet-образный протокол, который предусматривает адресацию по 6-ти байтовым MAC-адресам. Уникальность MAC-адресов обеспечивает ядро NET-Simulator. Пакет канального протокола представляет собой объект Java и не имеет аналогов в реальных сетях. На сетевом уровне используется ограниченная реализация IP в соответствии с RFC791. Для преобразования IP-адресов в MAC реализована служба ARP на основе широковещательных запросов. Для работы служебных утилит, таких как ping, используется ограниченная реализация ICMP в соответствии с RFC792. 2.2 Графический интерфейс В главном окне NET-Simulator отображается поле в которое можно добавлять различные селевый устройства из меню Устройства. Поддерживаются следующие типы устройств: Маршрутизатор. Коммутатор 3-го уровня с 8-мью интерфейсами и поддержкой IP4. Настольный компьютер. Фактически маршрутизатор с одним интерфейсом. Концентратор (Hub). Простейшее устройства ретранслирующее пакеты канального уровня на свои интерфейсы. Не имеет терминала и соответственно никак не управляется. Коммутатор (Switch). Коммутатор 2-го уровня с 8-мью интерфейсами. Коммутирует пакеты канального уровня на основе таблиц MAC-адресов, по аналогии с известными алгоритмами используемыми в Ethernet-свитчах. Устройства соединяются с помощью универсальной среды передачи данных, виртуального патчкорда. При прохождении пакета через патчкорд, он подсвечивается для визуального отслеживания активности в сети. Вновь добавленные устройств появляются в верхнем левом углу, после чего их можно перетаскивать мышкой в удобное место. Вилки патчкордов «приклеиваются» к розеткам интерфейсов устройств. Нажатие правой кнопки мыши на устройстве открывает контекстное меню, которое позволяет просмотреть свойства, открыть терминал или удалить устройство. Двойной щелчок левой кнопкой мыши открывает терминал. 2.3 Сохранение/загрузка проектов Проекты сохраняются в формате xml. DTD для проектов NET-Simulator находиться в каталоге dtd — net_simulator.dtd 2.4 Экспорт проектов в html-отчеты Проекты можно сохранять в виде html-отчетов. Отчет состоит непосредственно из htmlфайла с детальным описанием проекта и одноименного файла со схемой виртуальной сети в формате png. Отчеты формируются путем конвертации исходного xml-файла проекта при помощи xsl-шаблона. По умолчанию используется шаблон cfg/tohtml.xsl. Изменяя шаблон можно добиться желаемого вида отчета. Конечно вы можете использовать любой другой xml-конвертер для генерации отчетов. 2.5 Системные требования NET-Simulator написан на Java. Для того что бы просто запустить NET-Simulator вам необходимо установить на свой компьютер Java Runtime Environment (JRE) 5.0. Если вы хотите собрать NET-Simulator из исходников вам понадобиться Java SE Development Kit (JDK) 5.0, а также Apache Ant. Если вы собираетесь принять участие в разработке проекта, имеет смысл установить IDE NetBeans. Для запуска NET-Simulator обязательно наличие следующих библиотек: включена в дистрибутив NETSimulator (см. lib/commons-cli-1.0.jar). Используется для разбора командной строки в виртуальных терминалах. Apache Xerces XML parser включена в дистрибутив NET-Simulator (см. lib/xercesImpl.jar). Используется для загрузки проектов из xml-файлов, чтения файла конфигурации. Apache Command Line arguments parser Дополнительно, для экспорта проектов NET-Simulator в html-отчеты, необходим XSLTконвертер. В состав JRE 5.0 включен конвертер Xalan от Apache Fundation как нестандартное расширение. Если вы используете другую Java-машину возможно вам придется установить Xalan или другой конвертер самостоятельно. Какой конвертер использовать, можно задать через системную переменную Java-машины «javax.xml.transform.TransformerFactory». 2.6 Виртуальные терминалы и интерфейс командной строки. Виртуальные устройства в NET-Simulator управляются при помощи интерфейса командной строки из виртуальных терминалов. Терминал устройства можно открыть двойным кликом на значке устройства или через контекстное меню. Поддерживается история команд, клавиши вверх/вниз позволяют просматривать историю команд. Список команд доступных на данном устройстве можно посмотреть командой help. Сочетание клавиш Ctrl+L очищает терминал. Краткая справка по любой команде выводится при вызове команды с опцией -h. Справочник команд: help route ifconfig ping arp mactable help — выводит список доступных команд. help [-h] Опции -h Краткая справка. Описание route — позволяет управлять таблицей маршрутизации устройств поддерживающих протокол IP4. route [-h] [{-add|-del} <target> [-netmask <address>] [-gw <address>] [-metric <M>] [-dev <If>]] Опции Описание -h Краткая справка. target Адрес назначения. Назначением может быть подсеть или отдельный узел в зависимости от значения маски подсети. Если маска равна 255.255.255.255 или отсутствует совсем назначением будет узел, иначе назначением будет сеть. -add Добавляет новый маршрут в таблицу маршрутизации. -del Удаляет маршрут из таблицы маршрутизации. -dev <If> Принудительно присоединяет маршрут к определенному интерфейсу. If — имя интерфейса. -gw <address> Направляет пакеты по этому маршруту через заданный шлюз. address — адрес шлюза. Маска подсети используемая совместно с адресом назначения при добавлении маршрута. address — маска. Если маска netmask <address> не задана явно подразумевается 255.255.255.255. -metric <M> Метрика используемая в данном маршруте. M — целое число большее или равное нулю. Если route вызывается без параметров, то команда выводит на экран таблицу маршрутизации: =>route IP routing table Destination 10.0.0.0 11.0.0.0 Gateway * 10.0.0.10 Netmask 255.0.0.0 255.0.0.0 Flags U UG Metric 1 1 Iface eth0 eth0 192.168.120.1 10.0.0.10 255.255.255.255 UGH 1 eth0 Если маршрут не использует шлюз, вместо адреса шлюза выводиться *. Flags может содержать значение: U — маршрут активен, G — маршрут использует шлюз, H — назначением является узел. Примеры: =>route -add 192.168.120.0 -netmask 255.255.255.0 -dev eth0 =>route IP routing table Destination Gateway Netmask Flags 192.168.120.0 * 255.255.255.0 U => =>route -add 192.168.121.10 -gw 192.168.120.10 =>route IP routing table Destination Gateway Netmask Flags 192.168.120.0 * 255.255.255.0 U 192.168.121.10 192.168.120.1 255.255.255.255 UGH => Metric 1 Iface eth0 Metric 1 1 Iface eth0 eth0 ifconfig — конфигурирует сетевые интерфейсы. ifconfig [-h] [-a] [<interface>] [<address>] [-broadcast <address>] [-netmask <address>] [-up|-down] Опции Описание -h Краткая справка. -a Показывать информацию о всех интерфейсах. Если данная опция отсутствует выводится информация только об активных интерфейсах. interface Конфигурировать или показать информацию только о заданном интерфейсе. address IP-адрес присваиваемый интерфейсу. Широковещательный адрес присваиваемый интерфейсу. broadcast <address> address — широковещательный адрес. Маска подсети используемая совместно с адресом. address — маска. Если маска не задана явно, маска -netmask <address> принимается равной стандартным значения для стандартных классов подсетей A, B и C. -up Активирует интерфейс. При активизации интерфейса для него автоматически добавляется соответствующий маршрут в таблице маршрутизации. -down Деактивирует интерфейс. При деактивации интерфейса соответствующий маршрут автоматически удаляется из таблицы маршрутизации. Если ifconfig вызывается без параметров, то команда выводит на экран данные о состоянии всех активных интерфейсов: =>ifconfig eth0 Link encap:Ethernet HWaddr 0:0:0:0:CF:0 inet addr:192.168.120.1 Bcast:192.168.120.255 UP RX packets:23 errors:0 dropped:0 TX packets:23 errors:0 dropped:0 RX bytes:0 TX bytes:0 Mask:255.255.255.0 HWaddr — уникальный 6-ти байтовый адрес интерфейса, аналогичный MAC-адресу в Ethernet сетях. Назначается автоматически. Примеры: =>ifconfig eth0 192.168.120.1 -up =>ifconfig eth0 Link encap:Ethernet HWaddr 0:0:0:0:CF:0 inet addr:192.168.120.1 Bcast:192.168.120.255 Mask:255.255.255.0 UP RX packets:0 errors:0 dropped:0 TX packets:0 errors:0 dropped:0 RX bytes:0 TX bytes:0 ping — использует ICMP протокол что бы проверить достижимость интерфейса удаленного узла. ping посылает удаленному узлу ICMP ECHO_REQUEST и ожидает в течении определенного промежутка времени ICMP ECHO_RESPONSE. В случае получения ответа выводит данные о прохождении ICMP-пакета по сети. ping [-h] [-i <interval>] [-t <ttl>] <destination> Опции Описание Краткая справка. -h Задает частоту ICMP-запросов. interval — интервал между i <interval> запросами в секундах. По умолчанию отсылается один пакет в секунду. -t <ttl> Задает значение атрибута Time to Live в генерируемых IP-пакетах. ttl — целое число 0-255. По умолчанию TTL равно 64. destination IP-адрес исследуемого узла Примеры: =>ping 192.168.120.1 PING 192.168.120.1 64 bytes from 192.168.120.1: 64 bytes from 192.168.120.1: 64 bytes from 192.168.120.1: 64 bytes from 192.168.120.1: 64 bytes from 192.168.120.1: 64 bytes from 192.168.120.1: icmp_seq=0 icmp_seq=1 icmp_seq=2 icmp_seq=3 icmp_seq=4 icmp_seq=5 ttl=62 ttl=62 ttl=62 ttl=62 ttl=62 ttl=62 time=477 ms time=435 ms time=234 ms time=48 ms time=87 ms time=56 ms ping выводит результат исследования удаленного узла в следующем формате: 64 bytes from 192.168.120.1 — размер полученного ответа и адрес источника ответа. В NET-Simulator размер пакета имеет условное значение и всегда равен 64B. icmp_seq=0 — номер пакета. Каждый запрос содержит свой номер, как правило формируется инкрементно. ping выводит номер пакета из каждого полученного ответа. ttl=62 — значение TTL из полученного ответа. time=48 ms — время прохождения пакетом полного маршрута (туда и обратно, round-trip time) в миллисекундах. arp — показывает ARP-таблицу устройства. Кроме того опция -r позволяет сформировать запрос для определения MAC-адреса по явно заданному IP-адресу. Эта функция обычно отсутствует в реальных устройствах, в NET-Simulator она добавлена для наглядности при изучении протоколов канального и сетевого уровня. arp [-h] [-r <IP-address> <interface>] Опции Описание Краткая справка. -h Прежде чем вывести ARP-таблицу предпринимает попытку найти MAC-адрес по явно заданному IP-адресу. IP-r <IPaddress IP-адрес для которого определяется MAC-адрес. address> <interface> interface имя интерфейса в сети подсоединенной к которому будет происходить поиск. Если arp вызывается без параметров, то команда выводит на экран ARP-таблицу: =>arp Address 10.0.0.10 10.0.0.11 HWaddress 0:0:0:0:BC:0 0:0:0:0:1F:2 iface eth0 eth0 =>arp -r 192.168.120.12 eth1 Address HWaddress 10.0.0.10 0:0:0:0:BC:0 10.0.0.11 0:0:0:0:1F:2 192.168.120.12 0:0:0:0:12:1 iface eth0 eth0 eth1 Примеры: mactable — показывает таблицу MAC-адресов коммутаторов второго уровня. mactable [-h] Опции -h Краткая справка. Примеры: Описание =>mactable MACAddress 0:0:0:0:B3:0 0:0:0:0:2F:2 0:0:0:0:03:0 port 0 0 3 Где port — номер порта на коммутаторе. Нумерация портов идет по порядку начиная с нуля. 3. Содержание работы 3.1. Исходные данные к заданию Фрагмент модели ЛВС (спроектированной на лабораторной работе №1) . 3.2. Перечень задач по моделированию ЛВС исследовать пример модели ЛВС в Net-Simulator, который открывается при первом запуске приложения. В примере проверить работу терминалов рабочих станций, свитчей (switch), маршрутизатора (router). Исследовать таблицу маршрутизации и конфигурировании сетевых интерфейсов; построить часть своей модели ЛВС (спроектированной на лабораторной работе №1) с не менее чем 10 рабочими станциями, 4 свитчами (switch), 1 маршрутизатором (router), 2 хабами (hab). 3.3. Содержание отчета модель выбранного фрагмента ЛВС в программе Net-Simulator; конфигурация 2 рабочих станций (результаты команд ifconfig, route) в разных фрагментах ЛВС по отношению к маршрутизатору; проверка маршрута между этими 2 рабочими станциями (результат команды ping – 45- строк); выводы. Список литературы 1. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. Спб.: Питер, 2005. -672с. 2. Конспект лекций по дисциплине «Сети ЭВМ и телекоммуникации» 3. http://www.net-simulator.org, симулятор вычислительных сетей, сайт программы 4. http://java.sun.com/javase/downloads/index.jsp, виртуальная машина Java