[БИОГРАФИЯ] [БИБЛИОТЕКА] [СПИСОК ССЫЛОК] [ОТЧЕТ О ПОИСКЕ] [ЗАДАНИЕ] [ДОННТУ]

Мирецкий Алексей Валентинович

Мирецкий Алексей Валентинович

Специальность: "Программное обеcпечение автоматизированных систем"
Тема магистерской работы:

"Объектно-ориентированная модель алгоритмов адаптивной маршрутизации"

Научный руководитель: доц., канд. техн. наук Ладыженский Юрий Валентинович
E-mail: m_overkill@mail.ru


Автореферат магистерской работы

ВВЕДЕНИЕ
1.ПОСТАНОВКА ЗАДАЧИ
2.РАЗРАБОТКА ОБЪЕКТНО-ОРИЕНТИРОВАННОЙ МОДЕЛИ СЕТИ
2.1 Модель коммуникационной сети
2.2 Модель узла сети и линии связи
2.3 Модель маршрутизатора
2.4 Модель генератора трафика
2.5 Объектно-ориентированная модель сетевого симулятора
3. МОДЕЛИРОВАНИЕ АЛГОРИТМОВ ANTNET И OSPF
ЗАКЛЮЧЕНИЕ И БУДУЩАЯ РАБОТА
СПИСОК ССЫЛОК

ВВЕДЕНИЕ

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

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

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

В мире постоянно ведутся работы по усовершенствованию старых алгоритмов и по разработке новых алгоритмов маршрутизации. Для тестирования работоспособности алгоритмов используются специальные моделирующие системы. В результате моделирования можно получить основные характеристики разрабатываемого (исследуемого) алгоритма. Наиболее известны системы Network Simulator и MaRS. [2, 3]

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

1.ПОСТАНОВКА ЗАДАЧИ

Цель работы - разработка симулятора, позволяющего исследовать поведение алгоритмов адаптивной маршрутизации. [4]

2.ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ МОДЕЛЬ СЕТИ

Модель является нерегулярной, с неориентированной на соединение топологией сети с сетевым уровнем IP (в терминах ISO-OSI) и с очень простым транспортным уровнем. Грубо говоря, подсети рассматриваются как отдельные узлы-хосты, соединенные с интерфейсными узлами, называемыми шлюзами. Шлюзы выполняют довольно сложные задачи сетевого уровня, включая маршрутизацию. Каждый узел моделируемой сети будет рассматриваться и как шлюз, и как узел-хост. [1]

2.1 Модель коммуникационной сети

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

Рисунок 2.1 - Модель коммуникационной сети

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

2.2 Модель узла сети и линии связи

Модель узла сети и линии связи представлена на рисунке 2.2.

Рисунок 2.2 - Модель узла сети и линии связи

Линия связи - это структура, в которой записано, с каким узлом соединен данный узел, а также записаны характеристики данной линии. С каждой линией связи ассоциированы очереди пакетов (очередь IN, очередь OUT и приоритетная очередь OUT), а также принимающее устройство (RX) и передающее устройство (TX).

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

    Объект узел выполняет несложные функции, связанные с передачей между передающими и принимающими устройствами, очередями и маршрутизатором. Узел также "следит" за состоянием своего буфера. В узле сети происходят следующие процессы:
  1. После того, как пакет P попадает в узел N через канал передачи битов i, он принимается устройством RXi и передается в очередь входящих пакетов, принадлежащую i-му каналу. При этом, если буфер узла не свободен, то пакет теряется.
  2. Когда подходит очередь пакета P, он перенаправляется в маршрутизатор для обработки.
  3. После обработки на маршрутизаторе, пакет перенаправляется в канал передачи битов j и ставится в очередь выходящих пакетов, принадлежащую этому каналу для последующей передачи;
  4. Каждый раз, когда появляется необходимость передачи пакета через канал связи, этот канал резервируется, генерируется время передачи пакета, которое зависит от размера пакета и от характеристик канала. По истечении этого времени, пакет передается устройством TXj в следующий узел, а канал освобождается для передачи следующего пакета.
  5. Если пакет прибыл в целевой узел, информация о его прибытии фиксируется, а сам пакет удаляется из модели.

2.3 Модель маршрутизатора

Маршрутизатор является отдельным объектом сети. В его состав входит таблица маршрутизации. Таблица маршрутизации - это специальная двумерная таблица, при помощи которой определяется узел, в который должен перейти пакет, в зависимости от узла-назначения пакета. Таблица маршрутизации имеет размерность N-1 на M, где N - количество узлов в сети, M - количество узлов смежных с данным узлом. Значения, которые хранятся в таблице маршрутизации, используются по-разному, в зависимости от алгоритма маршрутизации. Они могут носить, например, вероятностный характер (т.е. пакет с определенной вероятностью может быть перенаправлен в один из нескольких возможных узлов).

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

2.4 Модель генератора трафика

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

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

Модель генератора трафика представлена на рисунке 2.3.

Модель генератора трафика

Рисунок 2.3 - Модель генератора трафика

2.5 Объектно-ориентированная модель сетевого симулятора

Сетевой симулятор является дискретно-событийным симулятором. Главная структура данных в таком симуляторе - это список запланированных событий, которые произойдут в моделируемой системе. Все события упорядочены по времени наступления. Из списка постоянно в процессе моделирования выбирается самое раннее событие. Время моделирования устанавливается равным времени наступления события (дискретное время). Событие передается своему обработчику. [5, 6]

Для реализации дискретно-событийного симулятора введены два базовых класса объектов: планировщик событий и обработчик событий. Объекты системы могут запланировать события с помощью планировщика, а также назначить этим событиям обработчики. События также являются объектами.

Пример функционирования дискретно-событийного симулятора показан на рисунке 2.4.

Рисунок 2.4 - Пример функционирования дискретно-событийного симулятора.

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

3 МОДЕЛИРОВАНИЕ АЛГОРИТМОВ ANTNET И OSPF

Для сетевого симулятора реализованы два алгоритма маршрутизации OSPF и AntNet [7, 8]. Эти алгоритмы реализовала в виде отдельных модулей магистр Солдатова В.А. Полученные результаты подробно описаны в [9].

ЗАКЛЮЧЕНИЕ И БУДУЩАЯ РАБОТА

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

СПИСОК ССЫЛОК

  1. Столлингс В. Современные компьютерные сети. 2-е изд. - СПб: Питер, 2003. - 783с.
  2. The Network Simulator ns-2 - http://www.isi.edu/nsnam/ns
  3. Maryland Routing Simulator - ftp://ftp.cs.umd.edu/pub/MaRS
  4. А. Лоу, Д. Келтон. Имитационное моделирование. 3-е изд. - К:bhv, 2003
  5. George S. Fishman. Discrete-Event Simulation: Modeling, Programming, and Analysis. 2001 - p. 537
  6. Parallel Descrete-Event Simulation. Benno Overeinder, Bob Hertzberger, Peter Sloot - http://dare.uva.nl/document/2069
  7. Di Caro G., Dorigo M. AntNet: Distributed Stigmergetic Control for Communications Networks: Journal of Artificial Intelligence Research. - 1998. - №9 - pp. 317-365
  8. RFC 2328 (rfc2328) - OSPF Version 2 - http://www.faqs.org/rfcs/rfc2328.html
  9. Солдатова В.А. Динамический алгоритм маршрутизации на основе агентных технологий. - http://masters.donntu.ru/2005/fvti/soldatova/library/soldatova.htm