Диссертация (1137248), страница 14
Текст из файла (страница 14)
Компоненты OMNeT++ написаны на языке программирования С++.Готовых моделей, реализующих стандарты IEEE 802.15.4 и более высоких уровней в этой среде моделирования нет. Но существуют библиотекимодулей для OMNeT 4.0 INETMANET и MiXiM, на базе которых есть возможность построить модель БСС соответствующих этим стандартами.Модель состоит из стека протоколов основанного на стандарте IEEE802.15.4 и двух независимых от протокола модулей измерения энергии и мобильности. Структура узла-сенсора, использованная в модели, состоит из следующих функциональных блоков:∙ Физический уровень и уровень доступа к среде, реализующие функциипо спецификации IEEE 802.15.4-2006.∙ Модуль интерфейса очереди IFQ, сохраняющий в буфере FIFO пакеты данных, приходящие от верхних уровней и отправляемые к уровнюдоступа к среде по запросу.∙ Модуль трафика, генерирующий пакеты на узлах источниках и принимающий их на узлах получателях.∙ Модуль батареи, который предоставляет данные потребляемой каждымузлом энергии и позволяет моделировать время жизни сети.∙ Модуль мобильности, поддерживающий моделирование статических идинамических топологий.97Неподдерживаемые функции:∙ Многоадресный трафик.∙ Безопасность.∙ Протоколы сетевого уровня для БСС.Отсутствие поддержки протоколов сетевого уровня для БСС являетсясущественным недостатком симулятора OMNeT.
Также в некоторых работах [31] было выявлено расхожение результатов моделирования с работойреального оборудования.NS-2NS-2 – еще одна система дискретного моделирования для исследованиякомпьютерных сетей [93]. NS-2 позволяет эмулировать TCP/IP, широковещательные протоколы, протоколы маршрутизации в проводных и беспроводных(локальных и спутниковых) сетях.NS-2 представляет собой систему с открытым исходным кодом, под которую написано множество примеров моделирования сенсорных сетей.
Этообъектно-ориентированный программный продукт, ядро которого реализовано на языке C++. Язык скриптов (сценариев) OTcl (Object-oriented ToolCommand Language) используется в качестве интерпретатора.NS-2 полностью поддерживает иерархию классов C++ (называемую втерминах NS-2 компилируемой иерархией) и подобную ей иерархию классовинтерпретатора OTcl (называемую интерпретируемой иерархией). Обе иерархии обладают идентичной структурой, т.е. существует однозначное соответствие между классом одной иерархии и таким же классом другой.Использование двух языков программирования в NS-2 объясняется следующими причинами.
С одной стороны, для детального моделирования про98токолов необходимо использовать системный язык программирования, обеспечивающий высокую скорость выполнения и способный управлять большими объемами данных. С другой стороны, для удобства пользователя и быстроты реализации и модификации различных сценариев моделирования лучше использовать язык программирования более высокого уровня абстракции.Такой подход является компромиссом между удобством использования и скоростью.В NS-2 в качестве системного языка используется язык C++, обеспечивающий: высокую производительность, работу с пакетам потоков на низкомуровне абстракции модели, модификацию ядра NS-2 с целью поддержки новых функций и протоколов.В качестве языка программирования высокого уровня абстракции используется язык скриптов OTcl, позволяющий обеспечить ряд положительных свойств, присущих языку Tcl/Tk (т.к.
OTcl является объектно-ориентированным расширением языка Tcl): простота синтаксиса, простота построениясценария моделирования, возможность соединения блоков, выполненных насистемных языках программирования. Объединение для совместного функционирования C++ и OTcl производится с помощью TclCl (Classes Tcl). TclCl- интерфейс между объектами C++ и OTcl, которым пользуются NS-2 и nam.Некоторое время назад был сделан переход на новую версию эмулятора- NS-3 [94]. В нем реализована новая архитектура, в которой весь код моделей разрабатывается на универсальном языке программирования C++. Вактуальной на момент написания диссертации версии эмулятора 3.17 отсутствует поддержка стандартов сенсорных сетей, реализованы только моделибеспроводных устройств стандарта IEEE 802.11 (Wi-Fi).В научных исследованиях наибольшей популярностью по-прежнему пользуется эмулятор сетей NS-2.
Он поддерживает все необходимые функции какнижних, так и верхних уровней эталонной модели OSI для сенсорных сетей.99Кроме того его использование позволит сравнить результаты проводимого вработе имитационного моделирования с результатами аналогичных исследований. Поэтому он выбран в качестве базовой среды моделирования БСС.4.3.2. Комплекс программ для проведения моделированияНесмотря на наличие большинства необходимых функций по эмуляцииработы БСС, необходима программная надстройка для решения следующихзадач:∙ Реализация логики предлагаемых методов динамической реконфигурации сетей.∙ Решение задач линейной оптимизации.∙ Задание параметров работы сети в графическом режиме.Общая структура разработанного программного комплекса представлена нарис.
4.6Рис. 4.6. Структура разработанной программы моделирования100Функции, выполняемые ядром системы:∙ Размещение узлов сети.∙ Построение топологии по заданным критериям.∙ Вычисление мощности, потребляемой каждым узлом сети.Для решения задач линейного и частично-целочисленного линейного программирования используется программный модуль lp_solve [95], широко применяемый для автоматизированного решения задач оптимизации, поставленных в общей форме. В приложении Г приведены примеры входного и выходного файлов данной утилиты.Модуль графического отображения позволяет выводить на экран топологию сети, а также информацию о параметрах функционирования отдельныхее элементов.4.3.3. Результаты имитационного моделирования БСС смобильным стокомИсходные параметрыПри моделировании будем использовать следующие параметры: Ретрансляторы размещаются в двумерной области размером LxL (L=300 м) координаты , узлов выбираются случайным образом из равномерного распределения от 0 до .К каждому ретранслятору подключено одинаковое количество дочернихоконечных устройств, генерирующих суммарный поток = 0, 2 кадра/с, размер каждого пакета равен 100 байт.
Возможные позиции стока организованыв виде решетки 4 × 4.Построение сетевой топологииТопология сети формируется каждый раз при новом размещении шлюза. Все101узлы, находящиеся на расстоянии или меньшем от позиции стока, соединяются непосредственно с ним. Для остальных узлов родитель выбираетсяпоследовательным анализом следующих величин:1. Количество промежуточных маршрутизаторов (хопов) до стока.2.
Количество уже подключенных узлов.3. Расстояние до узла-родителя.Пример сети показан на рис. 2.1. Квадратами обозначены возможные положения стока. Параметры потребляемой мощности в различных режимах взятыиз спецификации одного из доступных беспроводных модулей для сенсорныхсетей [87]. Все используемые константы сведены в таблицу 4.3.Параметр (обозначение)ЗначениеРазмер области, м (L)300Количество позиций стока (m)25 (решетка 4x4)Начальная энергия ретранслятора, кДж ( )20Размер кадра с данными от конечного устрой100ства, байт ()Поток пакетов, генерируемый каждым око0,2нечным устройством, кадров/c ()Минимальное время нахождения стока на лю60бой позиции, с ( )Таблица 4.3.
Параметры, используемые при моделированииСтационарный стокПрежде всего необходимо смоделировать базовый случай псевдомобильности, то есть работу сети при неподвижном стоке. Чтобы сохранить структуру задачи и уже на данном этапе ввести небольшой элемент оптимизации,возьмем возможных положений стока, которые в дальнейшем будут использоваться при планировании движения стока, и выберем из них такое ,102(а)(б )Рис. 4.7. Дисбаланс потребляемой мощности при статическом стокекоторое обеспечивает наибольшее время автономной работы:∈[1..] = argmax min∈[1..](4.1)Время работы сети со стационарным стоком вычисляется по формуле:∈[1..] ∈[1..] = max minНа рис.
4.7 еще раз проиллюстрирована проблема дисбаланса энергопотребления при неподвижном стоке. Слева представлено случайное размещение узлов сети и построена сетевая топология для оптимального положениястока . Справа показано распределение остаточной энергии после выходаиз строя первого по счету узла, который располагается вблизи позиции стока.Из рис. 4.7, б видно, что большинство остальных узлов все еще имеют более80% своей начальной энергии.Во всех исследуемых далее сценариях мобильности случай стационарного стока будет рассматриваться как точка отсчета, относительно которойбудет измеряться получаемое преимущество. Это объясняется тем, что самопо себе абсолютное значение времени автономной работы не несет никакой103смысловой нагрузки с точки зрения оценки того или иного метода, так какна него влияет огромное количество показателей (см.
главу 2). Например,достаточно всего лишь взять более емкие батареи, увеличив таким образом , и время работы сети пропорционально увеличится. Для оценки управляемой мобильности важно относительное приращение этого времени для тойже самой сети по сравнению со случаем, когда мобильность отсутствует.В качестве целевого показателя будет рассматриваться функция относительного приращения времени автономной работы, задаваемая следующимобразом: = (− 1) * 100%,(4.2)где - время жизни сети с неподвижным стоком - время автономной работы той же самой сети, в которой сток перемещаетсясогласно некоторому алгоритму.Прежде чем приступать к рассмотрению каждого из предлагаемых вдиссертации методов и алгоритмов, исследуем несколько важных факторов,которым, на взгляд автора, не было уделено достаточного внимания в предыдущих работах, но которые оказывают существенное влияние на результаты моделирования.