VIP STUDY сегодня – это учебный центр, репетиторы которого проводят консультации по написанию самостоятельных работ, таких как:
  • Дипломы
  • Курсовые
  • Рефераты
  • Отчеты по практике
  • Диссертации
Узнать цену

Имитационное моделирование SDN сетей

Внимание: Акция! Курсовая работа, Реферат или Отчет по практике за 10 рублей!
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Код работы: R001630
Тема: Имитационное моделирование SDN сетей
Содержание
Министерство образования и науки Российской федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования 
«Пермский государственный национальный исследовательский университет»

   УДК 004.942
Кафедра математического
обеспечения вычислительных
систем
Имитационное моделирование SDN сетей
Выпускная квалификационная работа бакалавра

Работу выполнил
студент 1 группы 4 курса механико-математического факультета направления «Прикладная математика и информатика»
Мальцев Г.В.
_________________________

Научный руководитель:
к. ф.-м. наук, доцент,
Замятина Е.Б.
_________________________

“_____”_______________20__г.
Пермь 2016
Оглавление
Введение	4
Глава 1. Обзор современных компьютерных сетей и средств имитационного моделирования	6
1.1 Локальные сети	6
1.2 SDN-cети	7
1.3 SON-сети	8
1.4 Средства имитационного моделирования для анализа компьютерных сетей	9
1.4.1 COMNET	9
1.4.2 Opnet	10
1.4.3 OMNeT++	11
1.5 Особенности моделирования SDN-сетей	12
Глава 2. Система имитационного моделирования Triad.Net	14
2.1 Архитектура системы имитационного моделирования Triad.Net	14
2.2 Представление имитационной модели в Triad.Net	15
2.3 Алгоритм исследования	16
2.4 Графический интерфейс	17
2.5 Вывод	18
Глава 3. Обзор алгоритмов маршрутизации и их использование в симуляторах сетей.	20
3.1 Обзор алгоритмов маршрутизации	20
3.1.1 Алгоритм Флойда-Уоршалла	22
3.1.2 Алгоритм Туэга построения кратчайших путей	24
3.2 Алгоритмы маршрутизации в симуляторах сетей	30
3.3 Алгоритм маршрутизации SBARC	31
3.3.1 Суперузлы	33
3.3.2 Конструкция системы SBARC	33
3.3.3 Вывод	37
Глава 4. Особенности моделирования распределенных информационных систем	38
4.1 Программные средства имитационного моделирования распределенных систем	38
4.2 Протокол принятия согласованного решения	40
4.3 Использование слоя сообщений и условий моделирования для изменения модели	43
4.4 Отказоустойчивость алгоритма SBARC	45
4.5 Вывод	45
Глава 5. Программная реализация добавления графовых констант и алгоритма маршрутизации SBARC	47
5.1 Разработка и реализация добавления графовых констант	47
5.2 Реализация алгоритма маршрутизации SBARC	52
5.3 Вывод	56
Заключение	57
Библиографический список	58
Приложение 1. Исходный код системы TriadNS	60


 Введение

   В настоящее время существует большое количество различных типов компьютерных сетей. Одни из самых быстро развивающихся - это SON-сети, SDN-сети. Особенно актуальна задача их проектирования. Один из подходов к проектированию компьютерных сетей – это имитационное моделирование, которое предполагает разработку модели и моделирование поведения компьютерной сети. К имитационному моделированию прибегают, когда:
* дорого или невозможно экспериментировать на реальном объекте;
* необходимо провести исследования различных характеристик сети;
* необходимо сымитировать поведение системы во времени.
   Разработано и существует достаточно большее количество средств имитационного моделирования для проектирования и анализа компьютерных сетей (COMNET, OPNET, OMNET++ и др.).  Некоторые из них предназначены для решения конкретных задач. Одни позволяют анализировать сети, другие ориентированы на решение задач проектирования.   Для SDN-сетей и SON-сетей подходят средства, позволяющие работать с случайными графами, позволяющие выполнять операции над графами, позволяющие анализировать и моделировать сети.
   Таковой является система автоматизированного проектирования и моделирования компьютерных сетей TriadNS с использованием средств системы имитационного моделирования Triad.Net. Также в отличие от других средств TriadNS обладает стандартными алгоритмами маршрутизации и возможностями для добавления новых алгоритмов.
    SDN-сети, используются в сенсорных сетях. Основными преимуществами и особенностями таких сетей являются:
* большие масштабы сетей с большой плотностью размещения узлов в пространстве;
* высокая отказоустойчивость и надежность системы достигаются за счет большого количества различных маршрутов доставки данных;
* устойчивость к изменениям топологии сети;
* самоорганизация узлов.
   Сенсорные сети могут быть использованы во многих прикладных областях, таких как системы обороны и обеспечение безопасности, контроль окружающей среды, мониторинг промышленного оборудования.
   Целью настоящей работы является реализация алгоритма маршрутизации SBARC, используемого в SDN-сетях. Цель была поставлена Николаем Ильиным, директором по развитию бизнеса Центра прикладных исследований компьютерных сетей.
   Для достижения поставленной цели были поставлены следующие задачи:
* выполнить анализ характерных особенностей сетей SDN;
* выполнить анализ систем автоматизированного проектирования и имитационного моделирования компьютерных сетей и их характеристик, с целью возможности моделирования SDN-сетей;
* выявить особенности моделирования распределенных информационных систем;
* разработать имитационную модель для реализации алгоритма маршрутизации SBARC в инструментальном средстве моделирования TriadNS.
   Для выполнения поставленных задач в работе были использованы методы теории графов, теории имитационного моделирования, теории распределенных алгоритмов.
   Разработка велась средствами языка программирования C# в среде разработки Visual Studio.
 Глава 1. Обзор современных компьютерных сетей и средств имитационного моделирования
      
      Компьютерная сеть (вычислительная сеть, сеть передачи данных) — система связи компьютеров или вычислительного оборудования (серверы, маршрутизаторы и другое оборудование). [13] 
      Главной целью объединения компьютеров в сеть является предоставление пользователям возможности доступа к различным информационным ресурсам (например, документам, программам, базам данных и т.д.), распределенным по этим компьютерам и их совместного использования. Важной характеристикой любой компьютерной сети является широта территории, которую она охватывает. Широта охвата определятся взаимной удаленностью компьютеров, составляющих сеть и, следовательно, влияет на технологические решения, выбираемые при построении сети. Рассмотрим: Локальные сети, SDN-сети, SON-сети.
1.1 Локальные сети
	
      Локальная вычислительная сеть (ЛВС, локальная сеть; англ. Local Area Network, LAN) — компьютерная сеть, покрывающая обычно относительно небольшую территорию или небольшую группу зданий (дом, офис, фирму, институт). [9] 
      С физической точки зрения, локальная сеть включает в себя компьютеры пользователей, серверы, АТС, принтеры, факсы, сканеры, оборудование, осуществляющее маршрутизацию в сети, ну и непосредственно то, при помощи чего все эти объекты соединяются между собой, то есть кабели, кроссы, разъемы в варианте проводной связи. С логической точки зрения, не принципиально, как соединены между собой компьютеры и оргтехника, каждое устройство рассматривается только как узел в сети, который несет определенную смысловую нагрузку, то есть необходим для выполнения тех или иных задач и может использоваться одним или несколькими пользователями в сети по назначению. Доступ к каждому узлу осуществляется посредством передачи данных по физическим каналам. Проводные, оптические связи устанавливаются через Ethernet, беспроводные — через Wi-Fi, Bluetooth, GPRS и прочие средства. Отдельная локальная вычислительная сеть может иметь связь с другими локальными сетями через шлюзы, а также быть частью глобальной вычислительной сети (например, Интернет) или иметь подключение к ней.
      Для построения простой локальной сети используются маршрутизаторы, коммутаторы, точки беспроводного доступа, беспроводные маршрутизаторы, модемы и сетевые адаптеры. Реже используются преобразователи (конвертеры) среды, усилители сигнала (повторители разного рода) и специальные антенны.
      Маршрутизация в локальных сетях используется примитивная, если она вообще необходима. Чаще всего это статическая либо динамическая маршрутизация (основанная на протоколе RIP).
      Связь с удалённой локальной сетью, подключенной к глобальной сети, из дома/командировки/удалённого офиса часто реализуется через VPN. При этом устанавливается VPN-подключение к пограничному маршрутизатору.
1.2 SDN-cети
      Программно-конфигурируемая сеть (SDN от англ. Software-defined Networking, также программно-определяемая сеть) — сеть передачи данных, в которой уровень управления сетью отделён от устройств передачи данных и реализуется программно, одна из форм виртуализации вычислительных ресурсов [10]. 
      Cуть концепции SDN заключается в разделении функций управления и пересылки данных, передаче функций маршрутизации контроллеру сети, и реализации на основе этого принципа легко масштабируемой, быстро и гибко настраиваемой виртуальной сети.
      Разделение уровней управления (Control Plane) и коммутации (Forwarding plane) избавляет коммутаторы и маршрутизаторы от значительной доли вычислительной нагрузки. Все, что от них теперь требуется, это максимально быстро пересылать пакеты из одного порта в другой, согласно таблицы маршрутизации, поступающей извне от контроллера сети. Контроллер же, вместо построения маршрута для каждого пакета, как это предусмотрено в традиционной схеме, принимает решение однократно, а потом гонит все однотипные пакеты потоком по готовому маршруту, пока не изменится состояние сети или характер трафиках [1].
      Ключевые принципы программно-конфигурируемых сетей — разделение процессов передачи и управления данными, централизация управления сетью при помощи унифицированных программных средств, виртуализация физических сетевых ресурсов. Протокол OpenFlow, реализующий независимый от производителя интерфейс между логическим контроллером сети и сетевым транспортом, является одной из реализаций концепции программно-конфигурируемой сети и считается движущей силой её распространения и популяризации.
      В архитектуре программно-конфигурируемой сети выделяется три уровня:
* инфраструктурный уровень, на котором функционируют сетевые коммутаторы и каналы передачи данных;
* уровень управления — набор программных средств, физически отделённых от инфраструктурного уровня, обеспечивающий реализацию механизмов управления устройствами инфраструктурного уровня;
* уровень сетевых приложений.
      Ядром уровня управления программно-конфигурируемой сетью является сетевая операционная система — программное средство, обеспечивающее, с одной стороны, интерфейс со средствами инфраструктурного уровня (например, динамическое изменение таблиц маршрутизации), и с другой стороны — прикладной программный интерфейс для уровня сетевых приложений, сформулированный в терминах более высокого уровня абстракции (например, «имя узла», «имя пользователя»), нежели используется в параметрах конфигурации сетевых устройств (IP-адрес, маска подсети, MAC-адрес).
      
1.3 SON-сети

      Одним из подходов классификации беспроводных сетей связи является деление на централизованные инфраструктуры и самоорганизующиеся. Отличительной особенностью самоорганизующихся сетей SON (self-organization) — это возможность в отсутствии централизованной инфраструктуры обмениваться данными любой паре находящихся в зоне радиопокрытия узлов сети. Узлы в SON могут быть одновременно конечными хостами и маршрутизаторами. Соединение организуется на длинные расстояния с помощью специализированных протоколов маршрутизации в промежуточных узлах-маршрутизаторах. Такое соединение называется «многоэтапным или многошаговым» (multihop). Этапом является участие в этом соединении одного узла- маршрутизатора. Узлы этих сетей обладают способностью сами находить друг друга и формировать сеть, а в случае выхода из строя какого-либо узла могут устанавливать новые маршруты для передачи сообщений. [2]
      
1.4 Средства имитационного моделирования для анализа компьютерных сетей
      Моделирование дает возможность изучать объекты, о поведении которых имеется недостаточно информации. Имитационное моделирование - это метод исследования, при котором изучаемая система заменяется моделью, которая с достаточной точностью описывает реальную систему, и с ней проводятся эксперименты с целью получения информации об этой системе. Имитационное моделирование позволяет имитировать поведение системы во времени. Причём плюсом является то, что временем в модели можно управлять: замедлять в случае с быстропротекающими процессами и ускорять для моделирования систем с медленной изменчивостью. Можно имитировать поведение тех объектов, реальные эксперименты с которыми дороги, невозможны или опасны. 
      Существует большое множество средств имитационного моделирования компьютерных сетей, рассмотрим некоторые из них.
1.4.1 COMNET
      COMNET III ? объектно-ориентированная система моделирования локальных и глобальных сетей. Позволяет моделировать уровни: приложений, транспортный, сетевой, канальный. Использует все известные на сегодня технологии и протоколы, а также системы клиент-сервер. Легко настраивается на модель оборудования и технологий.
      COMNET Predictor – система быстрого временного анализа. COMNET Baseliner ? система импорта данных. COMNET Enterprise Profiler – система мониторирования сети. 
      Результатами моделирования являются оценки производительности различных вариантов построения исследуемой локальной или глобальной сети, учитывая при этом стоимостные характеристики. 
      При моделировании в COMNET III затрагиваются следующие уровни модели: 
      Приложений уровень. На нем описываются источники трафика ? сообщения, сеансы, отклики, вызовы, поведение программного обеспечения. 
      Транспортный уровень. На данном уровне ? транспортные протоколы и их параметры. 
      Сетевой, на котором описываются алгоритмы маршрутизации, потоки пакетов, таблицы маршрутизации штрафные функции. 
      Канальный уровень - непосредственно передача пакетов, ретрансляция, описание каналов.
      Подход к построению моделей в COMNET III может быть представлен в виде стандартной последовательности шагов:
      - описание топологии сетей и определение параметров оборудования;
      - описание источников трафика и их поведения, описание загрузки сети;
      - определение сценария моделирования.
      В системе COMNET полностью применим объектно-ориентированный метод декомпозиции, что позволяет существенно сократить сроки моделирования и сделать его процесс интуитивно-понятным, четко коррелирующим с реальной системой. Модель создается из объектов, своего рода “строительных блоков”, знакомых пользователю из опыта реальной жизни. С системой COMNET поставляется большая библиотека таких объектов - моделей реального сетевого оборудования и методов доступа к среде. 
1.4.2 Opnet
      OPNET ? средство для проектирования и моделирования локальных и глобальных сетей, компьютерных систем, приложений и распределенных систем. Включает следующие продукты:  Netbiz (проектирование и оптимизация вычислительной системы), Modeler (моделирование и анализ производительности сетей, компьютерных систем, приложений и распределенных систем), ITGuru (оценка производительности коммуникационных сетей и распределенных систем).
      Opnet Modeler предлагает пользователям графическую среду для создания, выполнения и анализа событийного моделирования сетей связи. Это удобное программное обеспечение может быть использовано для большого ряда задач, например, типичные создание и проверка протокола связи, анализ взаимодействий протокола, оптимизация и планирование сети. Также возможно осуществить с помощью пакета проверку правильности аналитических моделей, и описание протоколов.
         Пакет -   структура данных, основа связи между процессами. Могут быть заданы форматы пакета, то есть они определяют, какие поля могут содержать такие стандартные типы данных, как целые числа, числа с плавающей запятой и указатели на пакеты. 
      В рамках, так называемого, редактора проекта могут быть созданы палитры сетевых объектов, которым пользователь может присвоить различные формы соединения узлов и связи вплоть до имеющих вид головоломки. Автоматизированное порождение сетевой топологии - кольца, звезды, случайной сети, также поддерживается и резервируется утилитами для импортируемых сетевых топологий в различных форматах. 
      Одним из плюсов из создания модели сети с помощью программного обеспечения является то, что уровень гибкости, обеспечиваемый ядром моделирования, тот же, что и для моделирования, написанных с нуля, но объектное построение среды позволяет пользователю намного быстрее делать разработку, усовершенствования и производить модели для многократного использования.
           Есть несколько сред редактора - по одной для каждого типа объекта. Организация объектов - иерархическая, сетевые объекты (модели) связаны набором узлов и объектов связи, в то время как объекты узла связаны набором объектов, типа модулей очерёдности, модулей процессора, передатчиков и приемников. Версия ПО для моделирования радиоканала содержит модели антенны радиопередатчика, антенны приемника, перемещающихся объектов узла (включая спутники).
      Логику поведения процессора и модулей очередности определяет модель процесса, которую пользователь может создавать и изменять в пределах редактора процесса. В редакторе процесса пользователь может определить модель процесса через комбинацию алгоритма работы конечного автомата (finite-state machine - FSM) и операторов языка программирования C/C++.
       Вызов события модели процесса в течение моделирования управляется возбуждением прерывания, а каждое прерывание соответствует событию, которое должно быть обработано моделью процесса. Более подробное описание Opnet можно найти в [19].
1.4.3 OMNeT++ 
      OMNeT++ представляет собой симулятор дискретных событий, которые происходят внутри простых модулей (simple modules). В системе OMNeT++ заложена детальная реализация протоколов, начиная от сетевого уровня, возможность написания и подключения собственных модулей, развитый графический интерфейс.
      Система OMNeT++ представляет собой симулятор дискретных событий, которые происходят внутри простых модулей (simple modules). Обмен сообщениями между модулями осуществляется по каналам (модули соединены с ними шлюзами) или непосредственно через шлюзы.
      Ее первичная прикладная область - моделирование сетей коммуникации и благодаря ее достаточно гибкой архитектуры, она успешно использовалось в других областях, таких как моделирование IT системы, сети организации очередей, архитектура аппаратных средств и бизнес-процессы. OMNeT ++ быстро становится популярной платформой моделирования в научном сообществе так же как в индустриальных параметрах настройки. Более подробное описание OMNeT ++ можно найти в [18].
1.5 Особенности моделирования SDN-сетей
	В последние несколько лет возрос интерес к новой архитектуре программно-конфигурируемых сетей или ПКС (SDN, Software Defined Networks). 
      Концепция ПКС определяет смещение парадигмы в сетевой архитектуре, когда слой управления сетью программируется напрямую и отделяется от непосредственной маршрутизации пакетов. Такой перенос управления обеспечивает абстракцию основной сети для приложений верхних слоёв, что позволяет им рассматривать сеть как логическую или виртуальную сущность.  Разработанный протокол OpenFlow (OF), применяющийся во многих сетевых устройствах и позволяет переместить функции управления маршрутизаторами сети в центральный модуль, называемый контроллером или сетевой операционной системой. 
      По сути контроллер является промежуточным звеном, связывающим реальные сетевые устройства и некоторые приложения, реализующие логику работы оборудования. Протокол OpenFlow определяет саму возможность и рамки взаимодействия между контроллером и сетевым оборудованием. Функции пересылки пакетов остаются внутри маршрутизаторов, называемых форвардерами или коммутаторами по той причине, что они не принимают решения о выборе маршрута, а лишь выполняют заданные контроллером правила маршрутизации. Контроллер (в совокупности с приложениями) можно считать сосредоточением интеллекта системы, поскольку решения о маршрутах принимаются именно на этом уровне, причем для потоков пакетов, а не пакетов в отдельности, после чего сетевые устройства конфигурируются через протокол OpenFlow. Протокол позволяет обеспечить полное представление сети на контроллере, мониторинг всех ресурсов и виртуализацию сети, что позволяет создавать сложные решения для управления сетью. В этой связи задача является актуальной и значимой для моделирования и исследования различных вариантов организации сети.
      
      Подведем итог. Некоторые средства позволяют строить схемы сетей и обладают ограниченными возможностями моделирования, другие же способны производить сложный анализ сетей. Системы имеют мощные инструменты визуализации процессов построения, моделирования и анализа собранной статистической информации.
      Но ни одно из средств не позволяет смоделировать сеть и проанализировать ее работу, добавить новые алгоритмы маршрутизации, для этого необходимо использовать несколько средств. Этот недостаток нивелирует система TriadNS.
      
    
 Глава 2. Система имитационного моделирования Triad.Net

    2.1 Архитектура системы имитационного моделирования Triad.Net 
     Система моделирования Triad.Net представляет собой совокупность лингвистических и программных средств имитационного моделирования.  
     СИМ Triad.Net включает следующие компоненты: компилятор, ядро, графический редактор, подсистему отладки, подсистему валидации, подсистему синхронизации распределенных объектов модели, подсистему балансировки (распределенная версия), подсистему организации удаленного доступа, подсистему защиты от внешних и внутренних угроз, подсистему автоматического доопределения модели. Назначение каждого из компонентов представлено ниже: TriadCompile (компилятор языка Triad, переводит описание имитационной модели с языка Triad во внутреннее представление); TriadDebugger (отладчик, использует механизм информационных процедур алгоритма исследования, локализует ошибки и вырабатывает рекомендации для их устранения на основании правил из базы данных, для каждого класса ошибок осуществляется поиск по онтологии соответствующего обработчика ошибок); TriadCore (ядро системы, включает библиотеки классов основных элементов модели), TriadEditor (редактор моделей, предназначен для работы с моделью как в удаленном, так и локальном режимах, локальный режим предполагает работу с системой в том случае, если нет удаленного доступа), TriadBalance (подсистема балансировки), TriadSecurity (подсистема безопасности, этот компонент используют при удаленном доступе к системе моделрования), TriadBuilder (подсистема автоматического доопределения частично описанной модели), база данных, где хранятся экземпляры элементов модели, TriadMiningнабор процедур для исследования результатов модели методами DataMining, TriadRule – алгоритм синхронизации объектов распределенной модели, использующей для вычислительного эксперимента ресурсы нескольких вычислительных узлов. [7]
    2.2 Представление имитационной модели в Triad.Net 
     Описание модели в системе Triad  можно определить как M = (STR, ROUT, MES), где STR – слой структур, ROUT – слой рутин, MES – слой сообщений [5].  
     Слой структур представляет собой совокупность объектов, взаимодействующих друг с другом посредством посылки сообщений. Каждый объект имеет полюсы (входные и выходные), которые служат соответственно для приема и передачи сообщений. Основа представления слоя структур – графы. В качестве вершин графа следует рассматривать отдельные объекты. Дуги графа определяют связи между объектами.  
     Объекты действуют по определенному алгоритму поведения, который описывают с помощью рутины. Рутина представляет собой последовательность событий ei, планирующих друг друга (E – множество событий; множество событий рутины является частично упорядоченным в модельном времени). Выполнение события сопровождается изменением состояния объекта. Состояние объекта определяется значениями переменных рутины. Таким образом, система имитации является событийно-ориентированной. Рутина так же, как и объект, имеет входные и выходные полюса. Входные полюса служат соответственно для приема сообщений, выходные полюса – для их передачи. В множестве событий рутины выделено входное событие.  Все входные полюса рутины обрабатываются входным событием. Обработка выходных полюсов осуществляется остальными событиями рутины. Для передачи сообщения служит специальный оператор out (out  through <имя полюса>).  Совокупность рутин определяет слой рутин ROUT.  
     Слой сообщений (MES) предназначен для описания сообщений сложной структуры.  Система Triad реализована таким образом, что пользователю необязательно описывать все слои. Так, если возникает необходимость в исследовании структурных особенностей модели, то можно описать только слой структур. В слое структур определены стандартные процедуры, с помощью которых можно определить множество вершин графа, множество ребер, дуг и т.д., найти кратчайшее расстояние между двумя вершинами, компоненты связности GetStronglyConnectedComponents(G), выделение слоя из структур модели GetGraphWithoutRoutines(M).   
     Ниже приведено описание слоя структур модели, которая представляет собой фрагмент компьютерной сети, состоящей из рабочих станций, передающих сообщения друг другу, и маршрутизаторов, отвечающих за нахождение пути передачи данных. 
Type Router,Host; 
integer i; 
M:=dStar(Rout[5]); 
M:=M+node Hst[8];   
M.Rout[0]=>Router; 
for i:=1 by 1 to 4 do       
   M.Rout[i]=>Router;       
   M:=M+edge(Rout[i].Pol[1] — Hst[2*i-2]);       
   M:=M+edge(Rout[i].Pol[2] — Hst[2*i-1]); 
endf; 
for i:=0 by 1 to 7 do  
   M.Hst[i]=>Host; 
endf; 
     Следует обратить внимание, что в Triad модель рассматривается как переменная. Она может быть построена с помощью операций над моделью. При построении модели используют графовые константы, которые соответствуют основным топологиям компьютерных сетей. В приведенном выше описании модели использовали графовую константу «звезда» (dstar). Кроме того, в приведенном выше примере были использованы «семантические» типы (Type Router, Host). В данном случае, это семантические типы «маршрутизатор», и «хост». Семантические типы используют для того, чтобы можно было доопределить модель с помощью рутины, извлеченной из библиотеки экземпляров рутин. Для поиска соответствующего экземпляра рутины.  
     Система Triad реализована таким образом, что пользователю необязательно описывать все слои. Так, если возникает необходимость в исследовании структурных особенностей модели, то можно описать в модели только слой структур.  
     Алгоритмом имитации будем называть совокупность объектов, функционирующих по определенным сценариям, и синхронизирующий их алгоритм.   
    2.3 Алгоритм исследования 
     Для сбора, обработки и анализа имитационных моделей в системе Triad.Net существуют специальные объекты – информационные процедуры и условия моделирования. Информационные процедуры и условия моделирования реализуют алгоритм исследования модели.  
     Информационные процедуры ведут наблюдение за элементами модели (событиями, переменными, входными и выходными полюсами), указанными пользователем. Если в какой-либо момент времени имитационного эксперимента пользователь решит, что следует установить наблюдение за другими элементами или выполнять иную обработку собираемой информации, он может сделать соответствующие указания, подключив к модели другой набор информационных процедур. Условия моделирования анализируют результат работы информационных процедур и определяют, выполнены ли условия завершения моделирования.  Кроме того, именно условия моделирования позволяют выполнить операции над моделью.  
     В системе Triad.Net для анализа функционирования компьютерной сети можно использовать стандартные и пользовательские информационные процедуры. Пользовательские информационные процедуры описывают на языке Triad. Для каждого элемента сети можно указать список необходимых информационных процедур, которые будут вести наблюдение во время моделирования за переменными, событиями и полюсами элемента. Система также предоставляет лингвистические средства для создания собственных условий моделирования, в которых можно описывать оригинальные алгоритмы сбора статистики и алгоритмы преобразования модели в динамике. 
    2.4 Графический интерфейс 
     Имитационная модель компьютерной сети может быть представлена графически или описана на языке Triad (входной язык CAD TRIADNS). Рассмотрим более подробно особенности работы с графическим интерфейсом. 
     Графический редактор позволяет оперативно проектировать компьютерные сети. Структуру сети формируют путем перемещения пиктограмм из панели элементов, обозначающих конкретные элементы сети, в рабочую область, затем добавляют связи между ними (рис.1).
     
     Рисунок 1. Окно графического редактора.
     Как уже говорилось ранее, имитационная модель имеет графовое представление. Элементы сети являются вершинами этого графа. Элементы сети загружаются из онтологии предметной области (подклассы класса ComputerNetworkNode, изначально он содержит 3 подкласса: «Рабочая станция», «Сервер», «Маршрутизатор»). Пользователь может также добавлять собственные элементы с помощью диалоговых окон системы, для этого нужно указать имя элемента, описание, суперкласс, изображение. При этом элементы программно добавляются в онтологию с использованием библиотеки OWL API. Для функционирования сети необходимо определить поведение каждой из вершин графа. Поведение вершин графа представлено рутинами. Все возможные рутины элементов также описывают в онтологии. Стандартные рутины имеют некоторое количество параметров, которые пользователь может изменять, после наложения рутины на элемент сети. Для каждого элемента сети можно определить произвольное количество рутин, описав их на языке Triad и добавив в онтологию. При добавлении рутины следует указать необходимость соединения каждого полюса рутины и семантический тип возможной смежной вершины, значения по умолчанию для указанных в рутине параметров. 
    2.5 Вывод
      Ни одно из средств рассмотренных в первой глав не способно охватить все задачи, связанные с моделированием, проектированием, анализом компьютерных сетей, поэтому если необходимо смоделировать сеть и проанализировать ее работу, необходимо прибегнуть к использованию нескольких продуктов. Также исследователю не предоставляются средства самому определять логику сбора статистической информации о модели, которая может быть довольно сложной в больших имитационных моделях. Такую возможность предоставляет пользователю система TriadNS.
     Рассмотрев средство моделирования TriadNS, можно заметить, что в графическом редакторе не реализована возможность добавления графовых констант, а также возможность моделирования SDN сетей. Для создания имитационной модели с целью возможности моделировать SDN сети, необходимо использовать алгоритмы маршрутизации. В следующей главе рассмотрим некоторые алгоритмы маршрутизации, алгоритмы маршрутизации в симуляторах сетей, алгоритм маршрутизации SBARC, используемый в SDN сетях.  
      


 Глава 3. Обзор алгоритмов маршрутизации и их использование в симуляторах сетей.

    3.1 Обзор алгоритмов маршрутизации
      В общем случае процесс (узел в компьютерной сети) непосредственно не соединен каналами связи с каждым другим процессом. Из каждого узла пакеты информации могут непосредственно передаваться только некоторому подмножеству других узлов, которые называются соседями этого узла. Маршрутизация — это термин, который используется для описания процедуры принятия решения о том, какому соседу (иногда не единственному) следует переслать пакет, чтобы он в конце концов был доставлен по назначению. Цель, которая ставится при проектировании алгоритма маршрутизации, состоит в том, чтобы снабдить каждый узел процедурой, которая сможет выполнять эту функцию и гарантировать доставку каждого пакета. [14] 
      Ясно, что в каждом узле должна храниться некоторая информация о топологии сети, и локальная процедура должна принимать решение на основе этой информации; эту информацию мы будем называть таблицей маршрутизации. Как только введены эти таблицы, задачу маршрутизации можно разбить на две алгоритмические составляющие; определение структуры таблицы, конечно, является составной частью разработки алгоритма. 
      1. Вычисление таблиц. Таблицы маршрутизации должны быть вычислены при инициализации сети и должны быть обновлены при изменении топологии сети. 
      2. Продвижение пакета. Когда пакет пересылается по сети, для его продвижения используются таблицы маршрутизации. 
      Критерии оценки качества методов маршрутизации учитывают следующие показатели. 
      1. Корректность. Алгоритм должен доставлять каждый пакет, поступивший в сеть, в точности по назначению. 
      2. Эффективность. Алгоритм должен отправлять пакеты по «наилучшим» путям; например, ожидается, что выбранные пути приводят к небольшой задержке и обеспечивают высокую пропускную способность всей сети. Алгоритм называется оптимальным, если он позволяет задействовать «наилучшие» пути. 
      3. Сложность. Алгоритм вычисления таблиц должен использовать как можно меньше сообщений, расходовать как можно более экономно время и память. Другим аспектам сложности, учитывающим, насколько быстро может быть построен маршрут, насколько быстро пакет может быть подготовлен для пересылки, и т.п., в этой главе будет уделяться меньше внимания.
      4. Устойчивость. В случае изменения топологии (добавления или удаления канала или вершины) алгоритм вносит изменения в таблицы маршрутизации, для того чтобы задачу маршрутизации можно было решить в модифицированной сети. 
      5. Адаптивность. Для того чтобы выровнять загруженность каналов и вершин, алгоритм приспосабливает к этому таблицы, избегая прокладывать пути через те каналы и вершины, которые чрезмерно загружены, и отдавая предпочтение тем каналам и вершинам, на которые в это время возложена наименьшая нагрузка. 
      6. Справедливость. Алгоритм должен обслуживать всех пользователей в равной мере. 
      Эти требования порой вступают в конфликт друг с другом, и большинство алгоритмов имеют хорошую производительность только относительно некоторого их подмножества. 
      Сеть, как обычно, представляется графом, вершины которого соответствуют узлам сети, и при этом соседние вершины соединены ребром, если между ними имеется канал связи. Оптимальность алгоритма зависит от того, какой путь в графе считается «наилучшим»; существует несколько вариантов понятия «наилучший путь», и для каждого из них имеется свой класс алгоритмов маршрутизации. 
      1. Минимальное количество звеньев. Стоимость использования пути определяется количеством звеньев (пройденных каналов или шагов от одной вершины к другой) в этом пути. Алгоритм маршрутизации с минимальным числом звеньев выбирает пути, имеющих наименьшее возможное число звеньев. 
      2. Кратчайший путь. Каждому каналу связи придается неи.......................
Для получения полной версии работы нажмите на кнопку "Узнать цену"
Узнать цену Каталог работ

Похожие работы:

Отзывы

Спасибо большое за помощь. У Вас самые лучшие цены и высокое качество услуг.

Далее
Узнать цену Вашем городе
Выбор города
Принимаем к оплате
Информация
Онлайн-оплата услуг

Наша Компания принимает платежи через Сбербанк Онлайн и терминалы моментальной оплаты (Элекснет, ОСМП и любые другие). Пункт меню терминалов «Электронная коммерция» подпункты: Яндекс-Деньги, Киви, WebMoney. Это самый оперативный способ совершения платежей. Срок зачисления платежей от 5 до 15 минут.

Сотрудничество с компаниями-партнерами

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