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

Тип работы:
Отчет
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Содержание

Введение

1. Аналитический обзор

1.1 Топология сети

1.1.1 Топология шина

1.1.2 Топология звезда

1.1.3 Топология кольцо

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

1.2.1 Утилита ping

1.2.2 Утилита traceroute

1.2.3 Утилита telnet

1.3 Выводы

1.4 Постановка задачи

3. Алгоритмическое конструирование

3.1 Общий принцип работы программы

3.2 Алгоритм тестирования сети

4. Программное конструирование

4.1 Структура программного средства

4.2 Описание модулей

4.3 Выбор языка и среды программирования

5. Программирование и отладка модулей

5.1 Основные методы

6. Проведение экспериментов

Заключение

Список использованных источников

Введение

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

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

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

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

1. Аналитический обзор

1. 1 Топология сети

сеть топология мониторинг соединение

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

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

Существует три базовые топологии сети:

1. Шина (bus) -- все компьютеры параллельно подключаются к одной линии связи. Информация от каждого компьютера одновременно передается всем остальным компьютерам (рисунок 1).

Рисунок 1 — Сетевая топология шина.

2. Звездам (star) -- базовая топология компьютерной сети, в которой все компьютеры сети присоединены к центральному узлу (обычно сетевой концентратор), образуя физический сегмент сети (рисунок 2). Подобный сегмент сети может функционировать как отдельно, так и в составе сложной сетевой топологии (как правило, «дерево»). Весь обмен информацией идет исключительно через центральный компьютер, на который таким способом ложится очень большая нагрузка, потому ничем другим, кроме сети, он заниматься не может. Как правило, именно центральный компьютер является самым мощным, и именно на него возлагаются все функции по управлению обменом. Никакие конфликты в сети с топологией звезда в принципе не возможны, потому что управление полностью централизовано.

Рисунок 2 — Сетевая топология звезда.

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

Рисунок 3 — Сетевая топология кольцо.

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

1.1.1 Топология шина

Топология шина (или, как ее еще называют, общая шина) самой своей структурой предполагает идентичность сетевого оборудования компьютеров, а также равноправие всех абонентов по доступу к сети. Компьютеры в шине могут передавать информацию только по очереди, так как линия связи в данном случае единственная. Если несколько компьютеров будут передавать информацию одновременно, она исказится в результате наложения (конфликта, коллизии). В шине всегда реализуется режим так называемого полудуплексного (half duplex) обмена (в обоих направлениях, но по очереди, а не одновременно) [1].

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

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

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

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

Рисунок 4 — Обрыв кабеля в сети с топологией шина.

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

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

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

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

Рисунок 5 — Соединение сегментов сети типа шина с помощью репитера.

1.1.2 Топология звезда

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

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

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

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

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

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

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

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

1.1.3 Топология кольцо

Кольцо — это топология, в которой каждый компьютер соединен линиями связи с двумя другими: от одного он получает информацию, а другому передает. На каждой линии связи, как и в случае звезды, работает только один передатчик и один приемник (связь типа точка-точка). Это позволяет отказаться от применения внешних терминаторов [1].

Важная особенность кольца состоит в том, что каждый компьютер ретранслирует (восстанавливает, усиливает) приходящий к нему сигнал, то есть выступает в роли репитера. Затухание сигнала во всем кольце не имеет никакого значения, важно только затухание между соседними компьютерами кольца. Если предельная длина кабеля, ограниченная затуханием, составляет Lпр, то суммарная длина кольца может достигать NLпр, где N -- количество компьютеров в кольце. Полный размер сети в пределе будет NLпр/2, так как кольцо придется сложить вдвое. На практике размеры кольцевых сетей достигают десятков километров (например, в сети FDDI). Кольцо в этом отношении существенно превосходит любые другие топологии.

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

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

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

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

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

1.2.1 Утилита ping

Для проверки соединений в сетях наиболее очевидным является использование утилиты Ping [3].

Ping -- утилита для проверки соединений в сетях на основе TCP/IP.

Она отправляет запросы (ICMP Echo-Request) протокола ICMP указанному узлу сети и фиксирует поступающие ответы (ICMP Echo-Reply). Время между отправкой запроса и получением ответа (RTT, от англ. Round Trip Time) позволяет определять двусторонние задержки (RTT) по маршруту и частоту потери пакетов, то есть косвенно определять загруженность на каналах передачи данных и промежуточных устройствах.

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

Полное отсутствие ICMP-ответов может также означать, что удаленный узел (или какой-либо из промежуточных маршрутизаторов) блокирует ICMP Echo-Reply или игнорирует ICMP Echo-Request.

Программа ping является одним из основных диагностических средств в сетях TCP/IP и входит в поставку всех современных сетевых операционных систем. Функциональность ping также реализована в некоторых встроенных ОС маршрутизаторов.

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

1.2.2 Утилита traceroute

Traceroute -- это служебная компьютерная программа, предназначенная для определения маршрутов следования данных в сетях TCP/IP. Traceroute основана на протоколе ICMP [4].

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

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

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

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

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

1.2.3 Утилита telnet

TELNET (англ. TErminaL NETwork) -- сетевой протокол для реализации текстового интерфейса по сети (в современной форме — при помощи транспорта TCP). Название «telnet» имеют также некоторые утилиты, реализующие клиентскую часть протокола. Современный стандарт протокола описан в RFC 854 [5].

Назначение протокола TELNET в предоставлении достаточно общего, двунаправленного, восьмибитного байт-ориентированного средства связи. Его основная задача заключается в том, чтобы позволить терминальным устройствам и терминальным процессам взаимодействовать друг с другом. Предполагается, что этот протокол может быть использован для связи вида терминал-терминал («связывание») или для связи процесс-процесс («распределенные вычисления»).

Хотя в сессии Telnet выделяют клиентскую и серверную сторону, протокол на самом деле полностью симметричен. После установления транспортного соединения (как правило, TCP) оба его конца играют роль «сетевых виртуальных терминалов» (англ. Network Virtual Terminal, NVT), обменивающихся двумя типами данных:

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

Командами протокола Telnet, частным случаем которых являются опции, служащие для уяснения возможностей и предпочтений сторон.

Хотя Telnet-сессии, выполняющейся по TCP, свойственен полный дуплекс, NVT должен рассматриваться как полудуплексное устройство, работающее по умолчанию в буферизированном строковом режиме.

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

Все значения октетов прикладных данных кроме 377 (десятичное 255) передаются по транспорту как есть. Октет 377 передается последовательностью 377 377 из двух октетов. Это связано с тем, что октет 377 используется на транспортном уровне для кодирования опций.

1. 3 Выводы

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

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

1. 4 Постановка задачи

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

Программа должна функционировать по следующему алгоритму:

· после запуска программы, создается список проверяемых IP-адресов;

· задаются настройки таймаута ping-а;

· запускается тестирование сети;

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

3. Алгоритмическое конструирование

3.1 Общий принцип работы программы

Общий алгоритм работы информационной системы поддержки и управления разработкой топологии локальной сети представлен на рисунке 6 Алгоритм показывает общую схему работы программы от запуска программы на исполнение до завершения ее работы. Тестирование сети происходит последовательным пингом IP-адресов входящих в список заданный пользователем. В процессе тестирования элементам списка соответствующим значениям Active присваивается true или false, затем производится трассировка маршрута с установлением количества маршрутизаторов до заданной точки сети, и на основе этих данных строится карта сети.

4. Программное конструирование

4.1 Структура программного средства

Структура программного средства (на рисунке 8) представлена следующими модулями (классами), вспомогательными перечислениями:

Схема структуры программного средства.

4.2 Описание модулей

GeneratedFiles содержит описание основных элементов интерфейса и служит для упрощения и украшения приложения. Они автогенирируются средой MS Visual Studio 2008 при создании формы и добавлении на нее элементов.

Следующие три формы являются основными элементами пользовательского интерфейса:

1. FMain — содержит главное окно программы с картой сети;

2. FInputIp — окно, отвечающее за добавление IP-адресов в список (рисунок 10);

3. FSettings — окно, отвечающее за изменение параметра таймаута пинга (рисунок 11).

4.3 Выбор языка и среды программирования

В качестве базового языка разработки выбран С# (. Net Framework 3. 5). Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщенные типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, сериализацию, комментарии в формате XML, является универсальным языком программирования [6].

Среда разработки — MS Visual Studio 2008 Professional, является бесплатной для студентов, участвующих в специальной программе Microsoft. Кроме того, среда представляет собой полный набор средств, помогающих ускорить процесс реализации замысла разработчика.

5. Программирование и отладка модулей

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

5. 1 Основные методы

· bool IsExist (string IP) — проверка на существование в списке заданного IP-адреса;

· int FindNode (int X, int Y) — метод ищет на карте узел и возвращает его порядковый номер по координатам курсора;

· void DrawImage () — рисует карту сети;

· void pbMap_MouseClick (object sender, MouseEventArgs e) — добавление узла в список;

· void FMain_Load (object sender, EventArgs e) — загрузка главной формы, отрисовка карты сети;

· void bTest_Click (object sender, EventArgs e) — запуск тестирования сети;

· void bEdit_Click (object sender, EventArgs e) — переход к редактированию узла;

· void bTimeOut_Click (object sender, EventArgs e) — открытие окна редактирования таймаута пинга.

Реализация перечисленных методов приведена в приложении А.

6. Проведение эксперемента

После запуска программы на исполнение создаем карту сети, посредством добавления IP-адресов.

После добавление всех нужных IP-адресов задаем параметр таймаута пинга.

Затем запускаем тестирование и получаем итоговую карту сети и лог выполнения пинга.

Тестирование программного средства производилось на нескольких компьютерах с разными операционными системами семейства Windows:

MS Windows XP SP 2,3×86;

MS Windows Server 2008 R2 Standard x64;

MS Windows 7×86/x64.

И показало адекватность программы.

Заключение

В результате практической работы разработана информационная система поддержки и управления разработкой топологии локальной сети. Мною были освоены основы мониторинга и администрирования локальных вычислительных сетей, различные топологии подключения рабочих станций ЭВМ, изучены приемы программирования в среде C# и использование классов. Net Framework. Программа построена на основе классов, что позволяет без проблем добавлять любые другие методы и расширять функциональность программного продукта.

Список использованных источников

1. Ватаманюк А. «Создание и обслуживание локальных сетей» — СПб. Ж Питер. 2008

2. Троелсен Э. «C# и платформа. NET. Библиотека программиста.» — СПб.: Питер. 2004.

ПоказатьСвернуть
Заполнить форму текущей работой