Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка метода маршрутизации для беспроводной ячеистой сети с учетом качества обслуживания Иванов Дмитрий Викторович

Разработка метода маршрутизации для беспроводной ячеистой сети с учетом качества обслуживания
<
Разработка метода маршрутизации для беспроводной ячеистой сети с учетом качества обслуживания Разработка метода маршрутизации для беспроводной ячеистой сети с учетом качества обслуживания Разработка метода маршрутизации для беспроводной ячеистой сети с учетом качества обслуживания Разработка метода маршрутизации для беспроводной ячеистой сети с учетом качества обслуживания Разработка метода маршрутизации для беспроводной ячеистой сети с учетом качества обслуживания
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Иванов Дмитрий Викторович. Разработка метода маршрутизации для беспроводной ячеистой сети с учетом качества обслуживания : диссертация ... кандидата технических наук : 05.13.13 / Иванов Дмитрий Викторович; [Место защиты: Моск. гос. ун-т путей сообщ. (МИИТ) МПС РФ].- Москва, 2009.- 150 с.: ил. РГБ ОД, 61 10-5/891

Содержание к диссертации

Введение

1 Анализ предметной области и определение целей исследования 7

1.1 Особенности работы беспроводных ячеистых сетей 7

1.2 Анализ среды функционирования беспроводных ячеистых сетей с учетом качества обслуживания 14

1.2.1 Факторы, влияющие на обеспечение качества обслуживания в беспроводных ячеистых сетях 14

1.2.2 Параметры состояния узлов и каналов связи с точки зрения качества обслуживания 18

1.2.3 Показатели качества обслуживания 21

1.2.4 Факторы, влияющие на эффективность метода маршрутизации с учетом качества обслуживания 23

1.2.5 Ресурсы сети, необходимые для обеспечения качества обслуживания 24

1.2.6 Компромиссы построения методов маршрутизации . 26

1.3 Анализ существующих методов маршрутизации в беспроводных ячеистых сетях с учетом качества обслуживания 30

1.3.1 Протокол OLSR 32

1.3.2 Протокол AODV 34

1.3.3 Протокол QOLSR 35

1.3.4 Протокол ODCR .' 37

1.3.5 Протокол Application Aware QoS Routing 38

1.3.6 Протокол Cross Layer ACOR 39

1.3.7 Протокол AQOR 42

1.3.8 Недостатки существующих методов маршрутизации для беспроводных ячеистых сетей 42

1.4 Выводы 44

Разработка метода маріпрутизации на основе аппарата нечеткой логики 47

2.1 Разработка протокола маршрутизации для беспроводной ячеистой сети 47

2.2 Аппарат нечеткой логики 52

2.3 Разработка блока принятия решения для метода маршрутизации на основе контроллера нечеткой логики 58

2.3.1 Входные параметры контроллера и блок фаззификации 58

2.3.2 Блок нечеткого вывода и блок дефаззификации 68

2.4 Выводы 75

Разработка метода оптимизации параметров метода маршрутизации на основе генетического алгоритма 77

3.1 Постановка задачи оптимизации .77

3.2 Классический генетический алгоритм как метод оптимизации 79

3.3 Анализ задачи многокритериальной оптимизации 86

3.3.1 Традиционные подходы к нахождению Парето-оптимальных решений 90

3.4 Разработка генетического алгоритма для оптимизации контроллера маршрутизации на основе нечеткой логики 92

3.4.1 Кодирование параметров задачи 93

3.4.2 Селекция ' 95

3.4.3 Оператор скрещивания 98

3.4.4 Противодействие преждевременной сходимости алгоритма 101

3.5 Выводы 105

Постановка и проведение модельного эксперимента 107

4.1 Разработка модели предложенного метода маршрутизации для беспроводной ячеистой сети 108

4.1.1 Выбор среды моделирования 108

4.1.2 Разработка модели предложенного метода маршрутизации для среды моделирования OMNeT-f-f - 110

4.1.3 Выбор и реализация модели распространения сигнала 114

4.1.4 Выбор и реализация модели генератора трафика 117

4.2 Проведение модельного эксперимента 120

4.2.1 Сравнение эффективности разработанного метода с протоколами OLSR, QOLSR, AODV, ACOR с точки зрения качества обслуживания 122

Шаблон „опорная сеть" 122

Шаблон „мобильная сеть" 129

4.2.2 Оценка влияния оптимизации на эффективность работы метода маршрутизации 134

4.3 Пример практической реализации 140

4.4 Выводы 141

Заключение 142

Список литературы 144

Введение к работе

Актуальность.

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

Однако существующие протоколы маршрутизации, в том числе стандарта IEEE 802.11, не были спроектированы с учетом ячеистой топологии и не учитывают возможность многомаршрутной передачи данных. Кроме того, мультимедийные приложения занимают все большую долю среди пользовательских приложений. Как следствие, происходит смещение фокуса от сервисов доставки данных без гарантий к сервисам, обеспечивающим качество обслуживания (Quality of Service, QoS) в беспроводных сетях.

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

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

Существующие протоколы маршрутизации для беспроводных ячеистых сетей нацелены на функционирование в общих (среднестатистических) условиях работы. Они не предоставляют средств оптимизации протокола для функционирования в заданном сценарии.

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

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

Задачи работы:

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

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

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

  4. Разработка метода оптимизации параметров работы предложенного метода маршрутизации для заданного сценария функционирования сети.

  5. Реализация разработанных алгоритмов и построение модели предлагаемого метода маршрутизации.

  6. Проведение модельных экспериментов для оценки эффективности его работы с точки зрения качества обслуживания.

Методы исследования.

Для решения поставленных задач были использованы методы теории вероятностей, аппарата нечеткой логики, теории многокритериальной оптимизации, теории стохастической оптимизации (генетические алгоритмы). При разработке программного обеспечения использован объектно-ориентированный подход.

Научная новизна работы.

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

Метод маршрутизации в беспроводных ячеистых сетях, основанный на аппарате нечеткой логики;

Метод многокритериальной оптимизации параметров метода маршрутизации, построенный на основе генетического алгоритма.

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

Достоверность результатов работы подтверждена серией модельных экспериментов.

Основные практические результаты, выносимые на защиту:

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

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

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

Разработанная модель предложенного метода маршрутизации.

Результаты, полученные в ходе проведения модельных экспериментов.

Реализация результатов работы.

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

Апробация работы.

Основные положения диссертационной работы докладывались и обсуждались на заседаниях кафедры "Математическое обеспечение автоматизированных систем управления" МИИТа в 2005-2009 гг., а также на следующих научных конференциях:

Пятая международная научно-практическая конференция "Trans-Mech-
Art-Chem". Москва, МИИТ, 2008 г.

Шестнадцатая межвузовская научно-техническая конференция студентов и аспирантов "Микроэлектроника и информатика". Зеленоград, МИЭТ, 2009 г.

Шестая международная научно-практическая конференция "Trans-Mech-Art-Chem". Польша, Радом, 2009 г.

Публикации.

По теме диссертации опубликовано 5 печатных работ.

Структура и объем работы.

Анализ среды функционирования беспроводных ячеистых сетей с учетом качества обслуживания

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

Ненадежность беспроводной связи. Беспроводная связь подвержена ошибкам из-за радиопомех от соседних узлов, фонового радиошума, затухания сигнала. Надежность доставки пакетов по радиоканалам обычно характеризуется двумя параметрами: доля потерянных/искаженных бит (bit error rate) и доля потерянных/искаженных пакетов (packet error rate). Ненадежность радиосвязи делает практически невозможным обеспечение „жестких" гарантий QoS или обеспечения QoS в определенных рамках в течение долгого периода времени. Кроме того, любая преграда на пути сигнала (на открытой местности или в помещении) снижает мощность и искажает его (наложение отраженного сигнала). Неблагоприятные погодные условия также вносят свой вклад в искажение сигнала, например, при использовании беспроводных ячеистых сетей в городах для построения опорных сетей доступа в Интернет.

Мобильность узлов. Узлы в беспроводной ячеистой сети могут свободно перемещаться, независимо друг от друга и случайным образом (хотя на практике всегда можно выделить осмысленную траекторию движения узла). Это означает, что информация о топологии сети (то есть о расположении узлов) верна лишь в течение ограниченного периода времени, и ее необходимо постоянно обновлять, чтобы правильно выбирать маршруты доставки пакетов данных. Как и в предыдущем случае, это делает на практике невозможным обеспечение „жестких" гарантий QoS. Более того, данные о состоянии узлов и их расположении должны обновляться чаще с ростом мобильности узлов. Важное заключение, к которому можно прийти, состоит в следующем: для правильного функционирования любого протокола маршрутизации скорость, с которой топология сети меняется, не должна быть выше, чем скорость распространения информации о состоянии узлов. В противном случае, маршрутная информация всегда будет устаревшей, что снижает эффективность процесса маршрутизации или делает его вовсе невозможным. Сеть, которая удовлетворяет данному условию, называется комбинаторно стабильной. [8]

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

Состязательный доступ к общей среде передачи. Для того, чтобы собрать информацию о топологии сети, узлы в беспроводной ячеистой сети должны обмениваться данными через общую среду передачи. Это ведет к проблемам, связанным с интерференцией и состязанием за доступ к общей среде передачи. Есть несколько способов избежать этих проблем в ячеистой сети. Одним из способов является синхронизация часов на всех узлах и использование политики доступа к среде с разделением по времени, когда каждый узел получает в свое распоряжение квант времени, в течение которого только он может передавать данные. Синхронный доступ трудно реализовать на практике из-за отсутствия централизованного управления, мобильности узлов и сложности разработки такого распределенного алгоритма синхронизации. В качестве других решений можно предложить использование доступа с разделением по частотам или по кодовой последовательности. Однако такой подход также требует разработки распределенного алгоритма выбора частот для каждого узла и распространения таблицы выбранных частот между всеми узлами. Поэтому в настоящее время наиболее популярные протоколы доступа к среде передачи для беспроводных ячеистых сетей (включая протокол IEEE 802.11) строятся на принципе состязания (Carrier Sense Multiple Access with Collision Avoidance) [9]. Однако состязательный метод доступа затрудняет вычисление доступной пропускной способности и задержки передачи пакета из-за того, что необходимо принимать во внимание трафик от соседних узлов в радиусе обнаружения доступа к общему каналу. Более того, нужно учитывать еще и коллизии, возникающие при одновременном доступе к среде передаче. Коллизии снижают эффективную пропускную способность сети, тратят впустую заряд батарей мобильных узлов и просто увеличивают долю потерянных пакетов.

Кроме того, проблема „скрытого" и „открытого" узлов также является следствием использования общей среды передачи. Узлы в этом случае влияют косвенно на доступ к среде передачи даже за пределами радиуса действия беспроводной связи. Суть первой проблемы сводится к следующему: станции А и С не могут общаться напрямую. А посылает данные В, но одновременно С посылает данные В, не замечая передачи А —+ С. Из-за этого на В происходит коллизия, как показано на рисунке 1.4. Говорят, что А и С скрыты друг от друга.

Проблема „открытого" узла состоит в следующем: станция В посылает анные станции А, С находится в зоне покрытия В, поэтому слышит передачу В —» А. С не может послать в этот момент данные другой станции, таким образом терминал С является „открытым" по отношению к В. Данная ситуация проиллюстрирована на рисунке 1.5

Разработка блока принятия решения для метода маршрутизации на основе контроллера нечеткой логики

Таким образом, предлагаемый метод маршрутизации в беспроводных ячеистых сетях состоит из двух компонент:

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

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

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

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

Пропускная способность канала связи между двумя узлами. Впредлагаемом методе маршрутизации, когда узлы передают друг другу пакеты Route Request, каждый из них записывает значение доступной пропускной способности на канале связи до предшествующего узла, от которого он получил этот пакет Route Request. Основной трудностью при этом является определение доступной пропускной способности канала связи, поскольку модуль маршрутизации в стеке протоколов может запросить только значение номинальной пропускной способности канала связи у уровня MAC. Значение доступной пропускной способности уровню MAC неизвестно. На практике узел знает только номинальную пропускную способность исходящего канала, установленную автоматически адаптером беспроводной связи. Стандарт IEEE 802.llg определяет 8 скоростей передачи данных: 54 Мбит/с, 48 Мбит/с, 36 Мбит/с, 24 Мбит/с, 18 Мбит/с, 12 Мбит/с, 9 Мбит/с и 6 Мбит/с - теоретически возможные скорости передачи данных. На практике такие скорости не достижимы из-за накладных расходов на передачу служебных данных, интерференции от других узлов из-за совместного использования общей среды передачи. Главной трудностью является учет активности соседних узлов, влияющих на работу данного узла. Чтобы понять зависимости в работе беспроводных узлов, рассмотрим алгоритм работы протокола доступа к среде передачи IEEE 802.11. Прежде чем получить доступ к среде передачи, узел должен "прослушать,, среду на предмет уже идущей передачи данных на данной частоте. Если среда свободна, узел пытается "захватить,, частоту для передачи, используя механизм RTS-CTS, описанный в первой главе. После этого узел захватывает среду для передачи данных, как показано на рисунке 2.3. Время захвата среды Тоссираи0п для передачи блока данных равно: -Loccupation == J-rts J-cts r -Lack ols{fs -\- ±difs r J-backoffs \ - -- J 60. RTS данные SIFS SIFS SIFS CTS ACK DIFS NAV (RTS) данные Другие NAV (CTS) станции \ состязание (backoff) отложенный доступ Рис. 2.3. Работа механизма RTS-CTS где L - размер пакета данных, включая заголовок MAC; Trts, Tcts, Тась - представляют собой время на передачу пакетов RTS, CTS и АСК соответственно, Tsijs Tdfs - межкадровые интервалы SIFS и TIFS; В -номинальная пропускная способность канала связи; Tbackoff обозначает время отката перед началом передачи. RTS содержит полное время передачи кадра и получения подтверждения. Поэтому узел при получении RTS/CTS от соседней станции устанавливает вектор распределения сети NAV, определяющий время, на которое среда будет занята. Обозначим ЭТОТ ПерИОД Времени Тыщ}

Разработка генетического алгоритма для оптимизации контроллера маршрутизации на основе нечеткой логики

Параметрами разработанного контроллера нечеткой логики, как было уже определено в предыдущей главе, являются параметры треугольных функций принадлежности щ и Wi для каждой г-той лингвистической переменной (5 входных и 1 выходная переменная), и значения выходной переменной для каждого из 3125 правил нечеткого вывода, из которых состоит база правил контроллера маршрутизации, значения таймаутов поиска маршрута и кэширования маршрута (t\ и t?) и значения двух интервалов сбора информации о состоянии среды передачи (з и t ).

Для правильного кодирования параметров задачи в хромосоме необходимо выбрать тип кодирования: двоичный (бинарный) или вещественный [55].

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

Таким образом необходимо решить, как закодировать параметры функций принадлежности (вещественные числа) для 6 лингвистических переменных, значения таймаутов протокола и интервалов сбора данных (также вещественные числа) в двоичном виде. Обозначим данные переменные Х{ Є [a,j, bi] С R; г = 1,2,..., 10. Требуется найти решение с точностью до q знаков после запятой для каждой переменной ХІ. В такой ситуации необходимо разбить интервал [щ, bi] на (bi — аг)-109 одинаковых подинтервалов. Это означает применение дискретизации с шагом 10_ 7. Наименьшее натуральное число ті, удовлетворяющее неравенству {bi - щ) IW 2ті - 1 (3.11) определяет необходимую и достаточную длину двоичной последовательности, требуемой для кодирования числа из интервала [а;,6г-] с шагом Ю-9. Каждой такой двоичной последовательности соответствует десятичное значение числа, представляемого данным кодом (с учетом правил перевода десятичных чисел в двоичную форму). Пусть г/і обозначает десятичное значение двоичной последовательности, кодирующей число ХІ. Значение Хі можно представить выражением

ХІ = СЦ + Уі (3.12)

Таким способом задаются фенотипы, соответствующие кодовым последовательностям С ДЛИНОЙ ТП{.

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

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

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

Извлеченные значения используются для построения контроллера нечеткой логики.

Запускается процесс моделирования с использованием полученного контроллера маршрутизации на заданных условиях работы сети.

Во время процесса моделирования собираются значения указанных параметров качества обслуживания - средней задержки пакета и доли потерянных пакетов.

Собранные значения и являются оценкой приспособленности данной хромосомы.

Разработка модели предложенного метода маршрутизации для среды моделирования OMNeT-f-f

Любая модель в OMNeT++ состоит из иерархически вложенных модулей, которые общаются между собой путем передачи сообщений. Самым верхним модулем (корнем) в этой иерархии является системный модуль. Глубина вложения модулей не ограничена. Для описания структуры модели используется специальный язык NED [47]. Модули, которые содержат в своем составе другие модули, называются составными (compound). Иначе модули называются простыми (simple).

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

Для описания соединений используется три параметра, которые упрощают моделирование телекоммуникационных сетей:

Задержка передачи (в миллисекундах): время, на которое пакет будет задержан при передаче через соединение (эмулируется задержка передачи по телекоммуникационным каналам связи).

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

Пропускная способность (в бит/с): показывает, какой объем данных может передать соединение за единицу времени.

Тип, структура и параметры модулей, составляющих модель описываются на языке NED в специальном файле omnetpp.ini. Все соединения между модулями также описываются в этом файле.

Таким образом, модель в OMNeT++ состоит из следующих компонент:

Исходный текст простых модулей, реализующих алгоритм работы протокола или иного компонента (на языке программирования C++).

Файлы описания сообщений (файлы .msg). Можно определить различные типы сообщений и их структуру, например, формат пакета маршрутизации. В состав OMNeT++ входит транслятор файлов .msg в исходный код C++.

Файлы описания структуры и параметров модели на языке NED (файлы .ned). Используются ядром моделирования во время исполнения.

Конфигурационный файл omnetpp.ini, который описывает:

— как будет исполняться моделирование,

— время выполнения моделирования,

— количество проходов,

— какие статистические параметры о работе модели будут собираться,

— будет ли включен графический интерфейс пользователя и т.д.

Система сборки и запуска моделирования среды OMNeT++ на основе этих компонент и ядра системы моделирования собирает и запускает модель на исполнение.

Алгоритм работы предложенного протокола маршрутизации, показанный на рисунке 2.1, для беспроводной ячеистой сети был реализован в виде простого модуля OMNeT++. Модуль протокола маршрутизации (с названием ODSR), предназначен для работы на сетевом уровне, поэтому был подключен в стек сетевых протоколов мобильного узла, как показано на рисунке 4.1. Входной шлюз модуля подключен к генератору трафика, который используется для моделирования работы пользовательских приложений. Выходной шлюз подключен к модулю протокола IP, который отвечает за дальнейшую пересылку сообщения (сетевого пакета). Модуль RoutingTable содержит таблицу маршрутизации узла.

Модуль протокола маршрутизации ODSR реализовывает интерфейс простого модуля SimpleModule, поэтому обработка всех входящих сообщений происходит в функции handleMessage(). Таймауты ожидания ответа маршрутизации и кэширования реализуются в виде сообщений модуля самому себе. Функция handleMessage() в зависимости от типа сообщения в соответствии с алгоритмом, изображенным на рисунке 2.1, передает это сообщение дальше на обработку в следующие функции (исходный текст модели протокола ODSR приведен в приложении):

handleOutgoingDataMessageQ для обработки исходящего пакета данных (от генератора).

handlelncomingOdsrMessage() для обработки входящего управляющего сообщения протокола маршрутизации.

handleOdsrPacketForMeQ для обработки входящего сообщения протокола маршрутизации, предназначенного для данного узла.

handleOdsrPacketForRelay() для обработки проходящего через узел управ ляющего сообщения протокола маршрутизации.

handleDiscoveredRouteQ для обработки найденного протоколом маршрутизации маршрута (пакет Route Reply).

handlelncomingDataPacketQ для обработки пакета данных от другого узла.

processQueueTimeout() для обработки таймера ожидания пакетов Route Reply.

Похожие диссертации на Разработка метода маршрутизации для беспроводной ячеистой сети с учетом качества обслуживания