Анализ производительности протоколов уровня доступа к среде в беспроводных локальных сетях

УДК 621.39

Н. Н. Лосев, В. Н. Дмитриев

АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ ПРОТОКОЛОВ УРОВНЯ ДОСТУПА К СРЕДЕ В БЕСПРОВОДНЫХ ЛОКАЛЬНЫХ СЕТЯХ

Введение

В последнее время исследователями прилагали значительные усилия по увеличению производительности беспроводных локальных сетей. Большинство исследований сосредотачивалось на уменьшении задержек при передаче кадров, избегании потерь пакетов, коллизий, и увеличении общей производительности сети. Одним из вариантов организации доступа к среде передачи данных является функция распределенной координации (Distributed Coordination Function, DCF), основанная на методе коллективного доступа с обнаружением несущей и механизмом избежания коллизий (Carrier Sense Multiple Access/Collision Avoidance, CSMA/CA). Алгоритм DCF описан стандартом IEEE 802.11 и является важным предметом исследований.

Для беспроводных локальных сетей были представлены новые решения по организации равноправного доступа к среде. Одним из решений по увеличению производительности стал алгоритм Double Increment Double Decrement (DIDD), вносящий ряд изменений в работу алгоритма DCF. Основные изменения коснулись окна конкурентного доступа (Contention Window, CW). Стандарт IEEE 802.11e описывает новый алгоритм Enhanced distributed channel access (EDCA), определяющий серию улучшений в качестве обслуживания (Quality of Service, QoS) и повышающий общую производительность беспроводной локальной сети [1].

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

Задачами, результаты решения которых описаны в статье, являлись: рассмотрение особенностей функционирования протоколов DCF, DIDD и EDCA уровня доступа к среде в беспроводных локальных сетях, рассмотрение программного комплекса Network Simulator 2 как средства моделирования вычислительных и телекоммуникационных сетей с динамической топологией сети, получение характеристик производительности протоколов уровня доступа к сети посредством модельных экспериментов (сценариев) и сравнительная оценка эффективности их работы.

Описание алгоритмов протоколов уровня доступа к среде

В Алгоритме DCF повторная передача поврежденных при коллизии кадров осуществляется в соответствии с алгоритмом отката с возвратом BEB (Binary Exponential Backoff). Узел начинает передавать данные, если среда передачи доступна в течение определенного временного интервала. В соответствии с алгоритмом BEB, каждый раз при появлении коллизии удваивается интервал времени, в течение которого станция выжидает перед передачей, так называемое окно конкурентного доступа CW (Contention Window). При успешной передаче кадра значение окна CW сбрасывается до минимума.

К недостаткам традиционного DCF можно отнести тот факт, что алгоритм не различает коллизию и повреждение пакета при передаче. Это приводит к существенному влиянию на общую производительность системы, поскольку каждый раз при коллизии меняется окно CW, в то время как фактически пакет может быть поврежден при передаче. Алгоритм DCF характеризуется также низкой пропускной способностью при больших трафиковых нагрузках. Причина этого явления заключается в том, что при большом количестве соревнующихся за доступ к среде узлов при успешной передаче кадра после определенного числа коллизий происходит уменьшение окна CW до минимального значения, приводящее к возрастанию вероятности коллизий согласно [1]. Таким образом, BEB работает стабильно при небольшом количестве станций, соревнующихся за передачу пакетов.

Основная идея алгоритма DIDD заключается в плавном уменьшении размера окна CW после успешной передачи пакета. На рис. 1 представлены отличия работы алгоритмов BEB и DIDD. В случае коллизии DIDD ведет себя так же, как BEB и удваивает окно CW, при этом уменьшается вероятность коллизий. В случае успешной передачи пакета алгоритм BEB сбрасы-

вает размер окна CW до минимума, в то время как DIDD уменьшает его в два раза. Таким образом, традиционный алгоритм BEB не учитывает число коллизий, произошедших при передаче пакета. В алгоритме DIDD по достижении максимального числа попыток повторной передачи пакет не будет отброшен, а будет обработан в соответствии с алгоритмом BEB.

Рис. 1. Отличие алгоритма DIDD от BEB

Алгоритм EDCA описан в стандарте IEEE 802.11e и по существу является расширением стандарта 802.11, включающим в себя возможности QoS, т. е. механизм управления трафиком согласно приоритетам, в соответствии с которыми высокоприоритетный трафик имеет больше шансов быть отправленным. В качестве механизма доступа к среде в стандарте 802.11e используется так называемая гибридная функция координации HCF (Hybrid Coordination Function), работающая в режиме EDCA (Enhanced Distributed Channel Access) и являющаяся расширенной версией DCF [2]. Для реализации механизма QoS в EDCA были добавлены четыре категории доступа AC (Access Categories), дающие возможность назначать приоритеты кадрам в зависимости от потребностей пользователя.

Архитектура NS-2

Network Simulator 2 (NS-2) [3] является объектно-ориентированным программным обеспечением, ядро которого реализовано на языке С++. Язык скриптов (сценариев) OTcl (Object oriented Tool Command Language) используется в качестве интерпретатора. NS-2 полностью поддерживает иерархию классов С++ (называемую в терминах NS-2 компилируемой иерархией) и подобную иерархию классов интерпретатора OTcl (называемую интерпретируемой иерархией) [4]. Обе иерархии обладают идентичной структурой (рис. 2), т. е. существует однозначное соответствие между классом одной иерархии и таким же классом другой.

Компилируемая иерархия классов

Класс

Класс

Класс

Ґ Л

Класс

ч

Класс Класс

4 * Г

Класс

OTcl

Класс

Класс

Интерпретируемая иерархия классов

Рис. 2. Отличие алгоритма DIDD от BEB

Использование двух языков программирования в NS-2 объясняется следующими причинами. С одной стороны, для детального моделирования протоколов необходимо использовать системный язык программирования, обеспечивающий высокую скорость выполнения и способный манипулировать достаточно большими объемами данных. С другой стороны, для удобства

пользователя и быстроты реализации и модификации различных сценариев моделирования привлекательнее использовать язык программирования более высокого уровня абстракции. Такой подход является компромиссом между удобством и скоростью. В NS-2 в качестве системного языка используется C++, позволяющий обеспечить:

— высокую производительность;

— работу с пакетами потока на низком уровне абстракции модели;

— модификацию ядра NS-2 с целью поддержки новых функций и протоколов.

В качестве языка высокого уровня абстракции используется язык скриптов OTcl, позволяющий обеспечить ряд положительных свойств, присущих языку Tcl/Tk (т. к. Otcl является объектно-ориентированным расширением языка Tcl):

— простота синтаксиса;

— простота построения сценария моделирования;

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

Программный комплекс позволяет создавать новые модели систем связи, вести разработку и проверку новых протоколов канального и сетевого уровней [5].

Модельные эксперименты

Конечный пользователь для описания модели эксперимента использует язык Tcl и передает его для обработки в программный комплекс NS-2 [2]. Моделирование осуществлялось в NS-2 версии 2.34 со встроенной поддержкой алгоритма DCF. Для имплементации протокола DIDD были переписаны функции программы в части определения работы окна конкурентного доступа, сбрасывающие размер окна после успешной передачи пакета. Функции были отредактированы так, что при вызове размер окна не сбрасывался до минимального, а уменьшался в два раза. Алгоритм EDCF заработал путем установки исправления и внесения незначительных корректировок в ядро с использованием указаний, приведенных в техническом отчете [6].

Был принят ряд допущений:

— одинаковая скорость передачи данных;

— одинаковый размер кадров для всех узлов;

— идеальный канал (отсутствие помех);

— потери кадров только при коллизиях;

— нет скрытых узлов;

— узлы находятся внутри зоны видимости друг друга.

Моделируемая сеть состояла из 5 движущихся узлов, скорость передачи данных составляла 11 Мбит/с. Узлы двигались в заданных направлениях по территории размером 1 000 на 1 000 метров. В качестве генераторов трафика использовались CBR-генераторы (Constant Bit Rate), имитировавшие постоянную скорость потока данных. Время моделирования составляло 900 с. Использовался протокол маршрутизации AODV, являющийся реактивным протоколом маршрутизации, что означает запуск процедуры поиска маршрута по запросу.

Оценка эффективности работы протоколов уровня доступа к среде

На выходе экспериментов были получены так называемые файлы трассировки для каждого из протоколов. Файл трассировки содержит детальную информацию о каждом пакете. Формат файлов трассировки для проводных и беспроводных сетей значительно отличается. Каждая строка в файле трассировки состоит из полей и содержит информацию о пакете. В первом поле описывается тип события: отправлен, принят или отброшен. Во втором поле хранится значение времени произошедшего события, Третье поле - номер узла, на котором произошло событие. Четвертое поле описывает уровень сети (физический, канальный, приложений). Пятое поле -флаги пакетов (если заданы). Следующее поле - порядковый номер пакета. Седьмое поле задает тип пакета (пакет маршрутизации, пакет канального уровня или пакет данных). Восьмым полем задается размер пакета в соответствии с уровнем, т. к. размеры пакета на разных уровнях различны. Остальные поля содержат информацию о MAC-адресах, IP-адресах источника и получателя, о портах и другую важную информацию. Файлы трассировки были экспортированы в редактор таблиц Excel для последующей обработки.

1. Средняя задержка определяется как суммарная задержка всех пакетов, деленная на количество сгенерированных пакетов:

D,

средн

^N-1

'n=0

N -1

2. Пропускная способность Ж вычисляется по формуле

N3 • 8

Ж =-----прин---Кбит/с,

Т •1024

эксп

где ШБприн - число принятых байт; Тэксп - время эксперимента.

3. Коэффициент доставки Кдост определяется отношением числа принятых пакетов к числу сгенерированных пакетов:

N

К = прин

N

ген

Для построения графика пропускной способности использовалась консольная программа для создания двухмерных и трехмерных графиков функций gnuplot. На рис. 3 представлены пропускные способности для трех протоколов в каждый момент времени. По горизонтальной оси задано время эксперимента, по вертикальной - средняя пропускная способность, Мбит/c. Средняя пропускная способность для DCF составила 0,77 Мбит/c, для DIDD 1,33 Мбит/c и для EDCA - 1,73 Мбит/c.

Рис. 3. Зависимость средней пропускной способности от времени для протоколов DCF DIDD и EDCA, Мбит/c

На рис. 4 представлены коэффициенты доставки в процентах и средние задержки в миллисекундах. Коэффициент доставки для DCF составил 74,2 %, для DIDD - 74,4 %, для EDCA -76,4 %. Можно сделать вывод о том, что DCF и DIDD по количеству потерянных пакетов практически не отличаются, в то время как для EDCA коэффициент доставки вырос на 2,1 %.

На рис. 5 представлены средние задержки передачи пакетов для каждого алгоритма в миллисекундах.

Средние задержки для DCF составили 49,5 мс, для DIDD - 39,4 мс, для EDCA - 33,7 мс. Очевидно, алгоритм DIDD работает значительно лучше, чем традиционный DCF, в то время как EDCA показывает лучшие результаты по отношению к обоим алгоритмам DCF и DIDD.

DCF

DIDD

EDCA

Рис. 4. Коэффициенты доставки для протоколов DCF, DIDD и EDCA, %

48

43

38

DCF

DIDD

EDCA

33 J

Рис. 5. Средние задержки передачи пакетов для протоколов DCF, DIDD и EDCA, мс

Таким образом, EDCA показывает значительный прирост производительности в беспроводных локальных сетях.

Заключение

В соответствии с поставленной целью рассмотрен способ моделирования беспроводных телекоммуникационных систем с динамической топологией сети. Рассмотрены алгоритмы протоколов DCF, DIDD и EDCA, проанализирован программный комплекс Network Simulator 2 как средство моделирования вычислительных и телекоммуникационных сетей с динамической топологией сети. Были проведены модельные эксперименты и выполнен сравнительный анализ выходных данных экспериментов. Для каждого протокола определена средняя пропускная способность, коэффициент доставки и средняя задержка. По результатам исследования можно сделать следующие выводы:

1. Алгоритм DIDD незначительно увеличивает производительность беспроводной сети в сравнении с традиционным DCF. Основным его преимуществом является простота, т. к. он использует элементарные параметры. К недостаткам можно отнести большие задержки при передаче пакетов в сетях с большим количеством узлов.

2. Алгоритм EDCA стандарта IEEE 802.11e в целом увеличивает производительность беспроводных локальных сетей и вносит ряд улучшений по передаче трафика с высоким приоритетом. Алгоритм EDCA, так же как и DCF, использует технологию случайного доступа к среде, а потому не является идеальным, т. к. не может гарантировать определенный уровень качества для трафика с высоким приоритетом.

3. Полученные результаты средних задержек, средней пропускной способности и коэффициентов доставки протоколов DCF, DIDD и EDCA показывают лучшую работу протокола EDCA. В целях улучшения эффективности работы QoS протокол EDCA требует дальнейших исследований.

СПИСОК ЛИТЕРАТУРЫ

1. Achieving performance enhancement in IEEE 802.11 WLANs by using the DIDD backoff mechanism by P. Chatzimisios, V. Vitas, 2007.

2. WLAN QoS Issues and IEEE 802.11e QoS Enhancement by Rathnakar Acharya, 2010.

3. Программный комплекс NS-2 / http://www.isi.edu/nsnam/ns/ns-build.html.

4. Introduction to Network Simulator NS2 by Teerawat Issariyakul. - Springer, 2009.

5. Сорокин А. А., Дмитриев В. Н., Лосев Н. Н. Виртуальная лаборатория для моделирования и изучения телекоммуникационных систем на основе программного пакета Network Simulator // Вестн. Астрахан. гос. техн. ун-та. Сер.: Управление, вычислительная техника и информатика. - 2010. - № 1. - С. 103-108.

6. Design and Verification of an IEEE 802.11e EDCF Simulation Model in NS-2.26 by Sven Wietholter / Technical University Berlin, 2003.

Статья поступила в редакцию 31.05.2011, в окончательном варианте - 15.06.2011

PRODUCTIVITY ANALYSIS OF PROTOCOLS OF THE ACCESS LEVEL TO THE MEDIUM IN WIRELESS LOCAL AREA NETWORKS

N. N. Losev, V. N. Dmitriev

Protocols properties of DCF, DIDD and EDCA of the access level to the medium in wireless local area networks are investigated by means of modelling experiments (scripts) in the conditions of units mobility. Modelling is carried out in the program complex "Network Simulator 2". The comparative analysis of protocols productivity is made; average data throughput, delivery factor and average delay are defined for every protocol.

Key words: modeling, productivity analysis, protocols, access level to the medium.