Пояснительная записка (1194880), страница 10
Текст из файла (страница 10)
AddressValue remoteAddress (InetSocketAddress (adhocTxInterfaces.GetAddress (i), m_port));
onoff1.SetAttribute ("Remote", remoteAddress);
ApplicationContainer temp = onoff1.Install (c.Get (i + m_nSinks));
temp.Start (Seconds (var->GetValue (1.0,2.0)));
temp.Stop (Seconds (m_TotalSimTime));
}
В данном случае
– индекс узла-получателя,
– общее количество узлов-получателей.
Затем выполняется добавление в код протоколов, выбранных для анализа. Для этого достаточно в часть кода, в которой реализуется выбор протоколов добавить помощники новых протоколов, которые обеспечат возможность дальнейшей работы с ними, после этого добавить новые ответвления условий для протоколов и в этих ответвлениях осуществить добавление новых протоколов в класс помощник, отвечающий за маршрутизацию в соответствии с добавленными в него протоколами, а также в переменную отвечающую за имя протокола добавить название устанавливаемого протокола. Протоколы выбираются как параметры при запуске сценария, и для новых протоколов установлены следующие индексы: GPSR – 5, CLWPR – 6.
Наконец, нужно установить желаемый размер пакета. Для этого в методе, отвечающем за конфигурирование параметров передачи пакетов, в строке, устанавливающей размер пакетов:
Config::SetDefault ("ns3::OnOffApplication::PacketSize",”64”);
задать вместо 64, требуемый размер пакета, в данном случае размер устанавливается в 256. В этом же методе есть строка, устанавливающая частоту отправки пакетов в битах.
Config::SetDefault ("ns3::OnOffApplication::DataRate", StringValue (m_rate));
В строке сейчас установлено значение частоты равное параметру m_rate, который устанавливается как один из аргументов запуска симуляции из командной строки. В данном случае необходимо установить интервал отправки пакетов равным 0,25 секунды. Для такого интервала найти нужную частоту можно найти из соотношения
и он будет равен
.
Таким образом, подготовка симулятора и сценариев для математического моделирования завершена.
Принято решение о проведении 160 симуляций:
-
два сценария местности: город, загородное шоссе;
-
четыре протокола маршрутизации: OLSR, DSDV, GPSR, CLWPR;
-
градация скорости движения автомобилей: 0, 13, 27, 56 (м/с);
-
градация размеров пакета: 64, 128, 256, 512, 1054 (байт).
-
Оптимизация и автоматизация вычислений
-
Для ускорения вычислительного процесса решено оптимизировать вычислительные мощности ЭВМ путем создания четырёх параллельно работающих виртуальных машин (ВМ). Для этого необходимо включить в параметрах BIOS компьютера опцию виртуализации, после чего воспользоваться программным продуктом VMware® Workstation.
Эта среда позволяет гибко настраивать устройства ВМ, ограничивать ОЗУ, количество ядер, занимаемое место на диске, настраивать режим работы сетевого адаптера (мост, NAT и др.), быстро клонировать ВМ, подключаться по SSH с поддержкой графического интерфейса.
Конфигурация host-ЭВМ следующая:
-
центральный процессор: intel core i7 @2,40GHz, количество логических ядер 8;
-
оперативная память – 8 Гб;
-
жесткий диск HDD – 1 Tб.
Для оптимальной работы ВМ принято решение о разделении ОЗУ по 1280 Гб на узел, выделении 1 логического процессора и 50 Гб места на диске. Все узлы образуют локальную сеть, т.к. для каждого сетевого адаптера эмулировался мост с уникальным MAC-адресом.
Готовая для запуска виртуальная инфраструктура состоит из четырех виртуальных машин (рисунок 21).
Рисунок 21 – Параметры виртуальных машин
В качестве операционной системы для виртуальных машин выбран Linux 16.04. Очень важно установить VMware Tools в гостевую операционную систему. Инструменты VMware Tools обеспечивает поддержку, необходимую для общих папок. Установщики для VMware Tools для Windows, Linux, FreeBSD, и NetWare гостевых операционных систем встроены в VMware Workstation в виде файлов ISO-образ.
Для установки VMware Tools необходимо обновить систему и ядро, выполнив команду ниже:
# apt-get update && apt-get upgrade
# apt-get install build-essential && apt-get install linux-headers-`uname -r`
Далее следует смонтировать загруженный файл:
# mount /dev/sr0 /media/ubuntu/VMware\ Tools
После монтирования образа для дальнейшей установки следует перейти в указанную директорию и запустить скрипт:
# cd /media/ubuntu/VMware\ Tools/
# ls
# cp VMwareTools-9.2.0-799703.tar.gz /usr/local/src && cd /usr/local/src
# tar -xzf VMwareTools-9.2.0-799703.tar.gz
# cd vmware-tools-distrib/
# ./vmware-install.pl
Для автоматизации вычислений следует написать шелл-скрипт для запуска в виртуальных машинах, который будет менять параметры симуляций и копировать файлы вывода на host-машину в указанную папку, следуя заранее заданным правилам наименования папок и файлов.
В операционной системе linux для исполняемых файлов используется расширение «*.sh». Фрагмент кода представлен ниже:
#!/bin/bash
#1=OLSR, 3=DSDV, 5=GPSR, 6=CLWPR
#line0 city0
cp NS3/Options_new/CITY0/vanet-routing-compare.cc NS3/ns-allinone-3.26/ns-3.26/scratch/vanet-routing-compare.cc
cd NS3/ns-allinone-3.26/ns-3.26/
./waf --run "scratch/vanet-routing-compare -scenario=2 -interval=1000 -protocol=1 -packetSize=64 -rate=2048" > SOutput 2>&1
cp NameOfFile.xml /run/user/1000/gvfs/smb-share:server=hp-i7,share=ns3-host/Result_new/city\ 0/CITY0_PS-64_P-OLSR.xml
cp low_vanet-routing-compare2.csv /run/user/1000/gvfs/smb-share:server=hp-i7,share=ns3-host/Result_new/city\ 0/CITY0_PS-64_P-OLSR.csv
cp SOutput /run/user/1000/gvfs/smb-share:server=hp-i7,share=ns3-host/Result_new/city\ 0/CITY0_PS-64_P-OLSR.nig
Данные процедуры, запущенные в терминале, копируют файл сценария, запускают симуляцию с заданными параметрами и по её завершению копируют файлы с результатами на внешнюю ЭВМ, используя правило для наименования файлов CITYX_PS-YY_P-ZZZZ, где CITY/LINE – наименование сценария город/линия, X –максимальная скорость автомобилей в м/с, YY – размер отправляемых пакетов, ZZZZ – наименование протокола маршрутизации.
Система полностью готова для имитационного моделирования подвижной сети транспортных средств VANET. В симуляциях использованы следующие характеристики (таблица 3.1):
Таблица 3.1 – Параметры имитационного моделирования
| Варианты сценариев | Городская местность (фрагмент города Ноттингем); прямой участок трасы, протяженностью 5000м |
| Модель канального уровня | IEEE 802.11p |
| Рабочий диапазон | 2,9 ГГц |
| Мощность передатчиков каждого узла | 22.5 дБм |
| Тип антенны | Ненаправленная, с коэффициентом усиления 0 дБ, эффективностью 0,8 и потерями в фидере 0,5 дБ, высота подвеса 0,5 м; |
| Модель распространения сигнала | Двулучевая |
| Количество узлов сети | 100 в условиях имитации города; 50 в условиях имитации трассы. |
| Размер пакетов | 64, 128, 256, 512, 1024 байт |
| Продолжительность одной симуляции | 150с для сценария города; 180с для сценария загородной трассы |
| Используемые протоколы маршрутизации | OLSR, DSDV, GPSR, CLWPR |
| Модель коллизий | Yans |
| Полоса пропускания | 5 Mbps |
-
Формирование массива данных
Учитывая большой объем выходных данных, следует написать программу для сбора нужных параметров и подсчета средних значений в удобный формат. Листинг данной программы представлен в приложении Б. В результате работы приложения сформировано два массива текстовых документов для каждого сценария (рисунок 22).
Рисунок 22 – Результат работы программы
Один массив служит для построения гистограмм, второй содержит критерии оценки протоколов маршрутизации, рассмотренных в первой главе. Далее, для удобного анализа данных, следует объединить все результаты в Microsoft Excel. Для автоматизации этого процесса так же написана программа, частичный код которой представлен в приложении В. В MS Excel ранее сформированный паттерн CITYX_PS-YY_P-ZZZZ удобно разделяется на компоненты, что позволяет включать фильтр для просмотра интересующих результатов.
В результате вышеописанных действий выбран сетевой симулятор подвижных объектов NS3 в связке с симулятором мобильного движения SUMO. На этапе подготовки проведения имитационного моделирования выбраны наиболее приближенные к реальным условиям модели коллизий (Yans) и распространения сигнала (Two-ray-ground), сгенерирована модель мобильности узлов для двух сценариев (фрагмент города Ноттингем, загородная трасса, протяженностью 5000 м).
Выбраны для анализа протоколы маршрутизации OLSR, DSDV, GPSR, CLWPR, заданы физические параметры передачи данных, такие как мощность принимаемого сигнала (22,5 дБ), максимальное количество соединений (49), количество узлов в сети (50 для имитации загородной трассы, 100 – имитации городской топологии), установлена продолжительность одной симуляции (180/150 с для города/автомагистрали соответственно).
Произведен набор симуляций данных протоколов в двух сценариях местности, с различным скоростным режимом движения автомобилей (0, 13, 27, 56 м/с), с различными размерами пакета передачи данных (64, 128, 256, 512, 1024 байт).
Создан массив виртуальных машин для оптимизации вычислительных ресурсов, написан shell-скрипт для автоматизации запуска симуляций, а также импорта данных. В результате проведения всех возможных вариаций сценариев получен набор данных, для обработки которого созданы приложения, собирающие и группирующие статистику. Полученный массив данных экспортирован в MS Excel для дальнейшего анализа.
-
Визуализация полученных результатов
Как правило, различные комбинации «протокол – размер пакета» ведут себя по-разному в идентичных условиях. Для лучшего восприятия зависимостей параметров трафика рекомендуется разграничить полученный массив данных на категории и визуализировать его.
-
Успешность доставки пакета
Успешность доставки пакетов (Packet delivery ratio, PDR) – отношение количества доставленных пакетов к количеству отправленных. Данный критерий важен для трафика, требующего гарантированную доставку пакетов.
Полученные в результате имитационного моделирования данные упорядочены по уровню доставленных пакетов (рисунок 23) и представлены в формате «Протокол-размер пакета» ниже:
Рисунок 23 – Значения PDR в условиях города
Основываясь на классификацию PDR, установленную в различных исследованиях (таблица 2.1) и анализируя полученные результаты, можно сделать вывод, что протокол маршрутизации CLWPR показывает наивысший процент доставки отправленных пакетов, и, соответственно, уровень качества обслуживания «Высокий» для трафика реального времени, вне зависимости от скорости движения автомобилей в городской местности с наименьшим (64 байт) размером пакета. Все протоколы одинаково ведут себя с увеличением скорости.
Аналогичные результаты для сценария с загородной трассой представлены на рисунке 24:
Рисунок 24 – Значения PDR в условиях автотрассы
В условиях автомагистрали реактивные протоколы проявили себя значительно лучше: OLSR, показал аномально высокое значение PDR при увеличенном размере пакета (128 байт) в условиях увеличенной скорости (27 м/с), в то время как остальные протоколы сильно уступают в производительности.
-
Задержка доставки сигнала и джиттер
Задержка сигнала (Delay) – это сумма времени буферизации, времени ожидания, времени повторной передачи уровня MAC-пакетов и задержки распространения. Джиттер (Jitter). – колебания задержки в серии последовательных измерений задержки передачи данных. Данные характеристики очень важны для передачи трафика реального времени.















