УДК 004.7
С. С. Баскаков
ИССЛЕДОВАНИЕ СПОСОБОВ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ МАРШРУТИЗАЦИИ ПО ВИРТУАЛЬНЫМ КООРДИНАТАМ В БЕСПРОВОДНЫХ СЕНСОРНЫХ СЕТЯХ
Предложены и с помощью имитационного моделирования исследованы способы повышения эффективности протоколов маршрутизации по виртуальным координатам для применения в беспроводных сенсорных сетях. Сформулированы рекомендации, выполнение которых позволит обеспечить высокую эффективность и масштабируемость протоколов маршрутизации данного типа при малых затратах ресурсов узлов и сети.
Ключевые слова: беспроводные сенсорные сети, маршрутизация пакетов, сетевые протоколы.
Беспроводные сенсорные сети (БСС) — новое перспективное направление в области систем передачи и сбора данных. Беспроводная сенсорная сеть представляет собой распределенную, самоорганизующуюся и устойчивую к отказу сеть миниатюрных электронных устройств, обменивающихся информацией по беспроводному каналу связи. Предполагается, что такие сети будут иметь многоячейковую (mesh) топологию и состоять из большого числа (до нескольких десятков тысяч) узлов, которые способны ретранслировать сообщения друг друга.
Маршрутизация пакетов является одной из наиболее актуальных задач в области БСС, так как характеристики протокола маршрутизации оказывают существенное влияние на энергопотребление, пропускную способность и другие показатели качества обслуживания сети. Из-за особенностей БСС применение в них традиционных алгоритмов маршрутизации, разработанных для беспроводных эпизодических сетей, нецелесообразно. Более эффективными являются схемы географической маршрутизации, в которых для определения пути доставки пакета используется информация о местоположении узлов в физическом пространстве (географические координаты). Такие алгоритмы обладают свойством масштабируемости, так как узлу достаточно хранить информацию только о своих ближайших соседях независимо от общего числа узлов в сети, но имеют ряд недостатков, для устранения которых было предложено несколько протоколов географической маршрутизации по виртуальным координатам [1-4] (далее ВК-маршрутизация), более эффективно выполняющих маршрутизацию при наличии препятствий и неравномерностей в сети, не требуя системы точной локализации узлов.
Виртуальные координаты узла представляют собой вектор, элементами которого являются значения минимального числа элементарных передач (hop) между данным узлом и фиксированным набором опорных узлов. Опорные узлы отличаются от обычных только тем, что периодически начинают процесс широковещательной передачи специальных сигнальных пакетов, а обычные узлы эти пакеты только ретранслируют. Анализируя полученные сигнальные пакеты, все узлы (как обычные, так и опорные) вычисляют набор значений длин кратчайших путей между ними и опорными узлами.
Виртуальные координаты используются для вычисления виртуального расстояния между узлами с помощью некоторой метрики. Процесс маршрутизации заключается в последовательной минимизации виртуального расстояния до узла-получателя пакета («жадная» маршрутизация). При обнаружении локального минимума (ситуация, при которой очередной узел не имеет узла-соседа, расположенного ближе к узлу-назначению) протоколы используют различные варианты бектрекинг-режима, которые полностью или с высокой вероятностью гарантируют доставку пакета ценой увеличения длины пути.
Теоретический фундамент ВК-маршрутизации в основном складывается из методов теории графов и вложения метрических пространств, поскольку описанная процедура вычисления виртуальных координат является частным случаем вложения Липшица метрического пространства, соответствующего связному неориентированному графу сети. Данной проблеме посвящено множество теоретических исследований, но цель настоящей работы заключается в повышении эффективности протоколов ВК-маршрутизации способами, имеющими простую практическую реализацию и низкую алгоритмическую сложность.
В первую очередь на характеристики протокола ВК-маршрутизации влияют метрика виртуальных расстояний, а также число и расположение (распределение) опорных узлов по площади покрытия сети. В настоящей работе с помощью имитационного моделирования исследуется влияние этих факторов на эффективность маршрутизации и рассмотрено несколько способов ее повышения:
• целенаправленное распределение опорных узлов, а не случайное;
• использование информации о соседних узлах 2-го уровня;
• выбор порядка и весовой функции для метрики виртуального расстояния.
Модель сети и условия моделирования. Рассмотрим беспроводную многоячейковую сеть, состоящую из множества узлов V, общее число которых n, при этом nb из них являются опорными узлами
(nb < n). Узлы случайно и равномерно распределены на физической двумерной плоскости, покрывая площадь A, м2.
При моделировании используется бинарная модель канала связи, согласно которой узлы могут передавать сообщения друг другу со 100%-ной достоверностью, если физическое расстояние между ними меньше или равно максимальной дальности радиосвязи r, м, в противном случае обмен сообщениями невозможен.
Каждый узел сети поддерживает в актуальном состоянии информацию о своих ближайших соседях (в частности, их виртуальные координаты); множество соседних узлов N(v) узла v G V будем называть его сетевым окружением. Если пренебречь краевыми эффектами на границе площади покрытия сети, то среднее число соседей (узлов) у каждого из узлов сети равно
2
nnr2
р = M [|N (v) |] =
Величину р будем называть плотностью сетевого окружения и плотностью размещения узлов в пространстве.
Диаметр сети d (максимальное расстояние между всевозможными парами узлов, измеренное как длина кратчайшего пути между ними) оцениваем по упрощенной формуле
, VA inn d « — = J—.
r у р
В качестве протокола ВК-маршрутизации рассмотрим следующую итерационную процедуру, которая выполняется промежуточными узлами в процессе доставки пакета от узла-отправителя до узла-назначения t с виртуальными координатами t =
1. Текущий узел v вычисляет виртуальное расстояние Sv = S(v,t) до узла t, где S(v,u) — некоторая метрика виртуального расстояния между Vv, u G V.
2. Узел v выбирает из множества N (v) ближайший к t узел w, т.е.
w = arg min S (u, t).
ueN (v)
3. Если Sw < Sv, то v передает пакет w.
4. Если Sw > Sv, то v вычисляет номер k ближайшего к t опорного узла, т.е.
k = arg min {¿¿}.
i=l:nb
Если v не является k-м опорным узлом, то он передает пакет соседнему узлу u такому, что uk < vk.
6. Если v является k-м опорным узлом, то он начинает широковещательное распространение пакета в пределах tk ретрансляций.
В пп. 1-3 выполняется стандартный «жадный» поиск маршрута, а в пп. 4-6 реализуется упрощенный вариант бектрекинг-режима [1] для выхода из локального минимума. Описанная процедура соответствует базовой функциональности протоколов ВК-маршрутизации [1-4], а отличие в деталях несущественно для целей данного исследования.
Для оценки эффективности ВК-маршрутизации используются следующие параметры:
• коэффициент доставки пакетов в режиме «жадной» маршрутизации пая — отношение числа пакетов, дошедших до конечных узлов-получателей только в режиме «жадной» маршрутизации, к общему числу пакетов, переданных узлами-отправителями;
• коэффициент длины маршрутов nPS — среднее значение отношения длины найденных маршрутов к длине кратчайших путей между узлами. Длина маршрута (пути) — это число соединений, через которое он проходит.
Исследование характеристик протокола маршрутизации выполнено с помощью среды имитационного моделирования OMNeT++ версии 3.2 и пакета моделей Mobility Framework версии 2.0. Целью тестирования является исследование характеристик именно метода маршрутизации, поэтому использовались идеальные модели физического уровня и уровня управления доступом к среде, чтобы исключить влияние на результаты потери пакетов из-за ошибок при передаче, коллизий, переполнения буферов и т.п.
Для различных сочетаний параметров сети (общего числа узлов n, плотности размещения р и диаметра d) было создано по 5 топологий со случайным размещением узлов на квадратном пространстве таким образом, чтобы сеть была полностью связной при r = 50 м. Для каждого экземпляра сети со стационарной топологией проводилась серия из 10 запусков со случайными начальными условиями, при этом случайным образом выбиралось 100 пар узлов-отправителей и узлов-получателей пакетов (если в сети менее 100 узлов, то все они обменивались пакетами). Таким образом, общий размер выборки для каждого набора параметров составляет 495 000 маршрутов.
На приведенных далее графиках указаны средние значения и границы доверительных интервалов при уровне значимости 0,05.
Распределение опорных узлов. Очевидно, что число и расположение опорных узлов оказывает существенное влияние на эффективность протоколов маршрутизации по виртуальным координатам. Чем больше опорных узлов, тем точнее виртуальные координаты аппроксимируют топологию сети и, следовательно, увеличивается доля
Рис. 1. Примеры "плохого" (а, б) и "хорошего" (в, г) распределения опорных узлов:
а, в — топология сети; б, г — расстояние до узла-назначения
пакетов, доставленных в режиме минимизации расстояния, но при этом накладные расходы на хранение и передачу служебной информации равны О(рпь) и О(пь) соответственно. Поэтому более важным с практической точки зрения является способ назначения опорных узлов из исходного множества V, так как «хорошее» распределение опорных узлов позволяет значительно повысить эффективность «жадной» маршрутизации при фиксированном пь. Продемонстрируем это на примерах.
На рис. 1, а показана топология сети из 25 узлов в виде решетки размером 5 х 5 с 4 опорными узлами, указаны адреса узлов и их виртуальные координаты. Опорными назначены узлы с адресами 1, 5, 13 и 23, находящиеся в точках (1,1), (5,1), (3, 3) и (3, 5) соответственно. Такое распределение опорных узлов является неудачным, так как в сети есть несколько пар узлов (например, узлы 17 и 19, 21 и 25), которые получили одинаковые виртуальные координаты, но не являются
ближайшими соседями друг друга. Вследствие этого будут локальные минимумы, выход из которых приведет к существенному увеличению длины маршрута, что показано на рис.1, б для сети с аналогичными топологией и расположением опорных узлов: размер сети 50 х 50 (2 500 узлов), опорные узлы находятся в точках (1,1), (50,1), (25, 25) и (25, 50). На рис. 1, б для каждого узла сети приведены значения виртуального расстояния, вычисленного по виртуальным координатам с помощью евклидовой нормы, до узла-назначения в точке (1, 50). Видно, что образовано несколько областей локальных минимумов и возможно движение пакетов в неправильном направлении, так как узлы в точках (1, 50) и (50, 50) неразличимы для алгоритма маршрутизации из-за совпадения виртуальных координат.
Изменением распределения опорных узлов по сети можно значительно улучшить ситуацию. На рис.1, в приведена топология сети, как на рис. 1, а, но в качестве опорных выбраны узлы в точках (1,1), (5,1), (1, 5) и (5, 5). В результате в сети отсутствуют узлы с одинаковыми виртуальными координатами и функция расстояния до узла-назначения не имеет локальных минимумов (рис. 1, г).
В большинстве практических ситуаций невозможно вручную подбирать «хорошее» распределение опорных узлов в конкретных условиях эксплуатации, поэтому рассматриваются следующие типы распределения опорных узлов:
• случайное распределение по сети;
• равномерное распределение по сети на максимальном расстоянии относительно друг друга;
• распределение по периферии (на границе) сети.
Случайный выбор опорных узлов является наиболее простым в реализации и часто используемым вариантом (например, [1]). Но в этом случае нет гарантии, что опорные узлы будут «хорошо» распределены по площади покрытия сети, поэтому при малом пь протокол маршрутизации оказывается чувствителен к полученному распределению опорных узлов. Тогда приходится увеличивать общее число опорных узлов, что нежелательно.
Задействовать в качестве опорных узлы, находящиеся на границе сети, предлагается во многих работах (например, [2, 3]), при этом в работах [2, 5] предложены алгоритмы автоматического выбора произвольного наперед заданного числа опорных узлов. Результатом работы алгоритмов являются равномерно распределенные по сети или находящиеся на периферии опорные узлы. Примеры целенаправленного назначения опорных узлов показаны на рис. 2 с обозначением их порядковых номеров.
а в
Рис. 2. Варианты распределения опорных узлов:
а — равномерное; б — по периметру
Рис. 3. Изменение коэффициентов доставки пакетов и длины маршрутов в зависимости от распределения опорных узлов:
1 — случайное, 4 опорных узла; 2 — случайное, 8 опорных узлов; 3 — равномерное и по периметру, 4 опорных узла; 4 — равномерное, 8 опорных узлов; 5 — по периметру, 8 опорных узлов
На рис. 3, а и б представлены результаты моделирования сетей при переменном числе узлов п и фиксированной плотности р =10 узлов (диаметр d изменяется от 8 до 35), а также при переменной плотности р и фиксированном диаметре сети d =10 (число узлов п изменяется от 23 до 358).
Для всех видов распределений при постоянном значении пь коэффициент доставки пакетов пая в режиме минимизации расстояния монотонно убывает с ростом п (см. рис.3,а), но при распределении опорных узлов по периметру или равномерном распределении скорость убывания ниже, чем при случайном выборе. Уменьшение коэффициента доставки пакетов происходит из-за того, что увеличение п при фиксированном р приводит к росту диаметра сети и средней длины маршрутов, следовательно, возрастает вероятность появления локального минимума на пути доставки пакета.
С увеличением плотности размещения узлов эффективность ВК-маршрутизации, наоборот, возрастает, принимая некоторое постоянное значение при р > 20 узлов (см. рис.3, б). При использовании целенаправленного распределения опорных узлов пав достигает значения более 95 % при 4 опорных узлах и более 99 % при 8 опорных узлах, в то время как при случайном выборе эти значения составляют 66% и 87% соответственно.
Представленные на рис.3,в и г результаты демонстрируют непосредственную связь между коэффициентом доставки пакетов в «жадном» режиме и длиной найденных маршрутов. Низкое значение пая означает высокую вероятность появления локального минимума, следовательно, протоколу маршрутизации чаще приходится переходить в бектрекинг-режим, что приводит к увеличению пути. При 4 опорных узлах, распределенных по алгоритму, найденные маршруты на 9. . . 25 % короче, чем при случайном назначении опорных узлов. При 8 опорных узлах разница несколько меньше и составляет 4. . . 19 %.
Таким образом, применение целенаправленного распределения опорных узлов позволяет значительно повысить долю пакетов, доставленных в режиме минимизации расстояния, приближая длину найденных маршрутов к оптимальной. При этом разброс значений коэффициента доставки пакетов меньше, чем при случайном выборе опорных узлов, поэтому характеристики протокола маршрутизации будут более стабильны и предсказуемы.
Моделирование также показало, что распределение опорных узлов по границе сети дает несколько лучший результат, чем равномерное распределение.
Использование соседних узлов 2-го уровня. Приведенные на рис. 3, б и г зависимости показывают, что, начиная с некоторого значения р (в данном случае при р > 20 узлов), эффективность протокола
^ Число узлов в сети, шт. ^ Плотность размещения узлов, шт'
а б
Рис. 4. Изменение коэффициента доставки пакетов при использовании соседей 2-го уровня:
1 — 4 опорных узла, без второго уровня; 2 — 8 опорных узлов, без второго уровня; 3 — 4 опорных узла, со вторым уровнем
маршрутизации достигает максимального значения и практически не изменяется. При высокой плотности узел имеет большое число соседних узлов, поэтому выше шансы найти среди них узел, сокращающий виртуальное расстояние до узла-назначения. При низкой же плотности чаще происходят совпадения виртуальных координат соседних узлов и меньше выбор кандидатов на следующее звено в цепочке передачи пакета, поэтому возникают локальные минимумы. Способом решить эту проблему является использование соседних узлов 2-го уровня (соседей ближайших соседей) для выхода из локального минимума. Собрать информацию о соседях 2-го уровня не составляет труда, так как узлы периодически обмениваются друг с другом содержимым своих таблиц сетевого окружения.
Приведенные на рис. 4 результаты моделирования соответствуют распределению опорных узлов по периметру, которое в предыдущем эксперименте показало себя как наилучшее из рассмотренных. Согласно графикам при 4 опорных узлах и использовании соседей 2-го уровня эффективность протокола маршрутизации выше обычного варианта (без учета соседей 2-го уровня) с 4 опорными узлами и сопоставима с обычным вариантом при пь = 8. При этом наблюдается меньшая зависимость пая от п и р.
Метрика виртуального расстояния. В протоколах маршрутизации по реальным географическим координатам узлов используется обычная евклидова норма, так как она действительно отражает расстояние между узлами в физическом пространстве. Однако из-за неортогональности системы виртуальных координат в протоколах ВК-маршрутизации обоснованным может быть применение самых различных метрик расстояния. В настоящей работе в качестве метрики виртуального расстояния 5 (V, £) рассматривается несколько вариантов
нормы Lp в сочетании с весовыми функциями, т.е.
Г ПЪ 1/p
5(v,t~) = Lp(V,t)= j Y, [W(v»,t»)|v» - t»|]p j , (1)
где V = {v»}™=t = {t»}™= i — виртуальные координаты узлов v и t; p — порядок (степень) нормы (1 < p < то); W(v», t») — весовая функция.
С помощью выражения (1) определяем, насколько целесообразно использовать узел v в качестве следующего звена в цепочке передачи пакета конечному узлу-назначению t.
В большинстве работ не используются веса при вычислении расстояния между узлами, т.е.
Wi(vi,ti ) = 1.
В алгоритме BVR [1] предлагается весовая функция вида
ттл/ л JC при V» >t», [ 1 при V» < t»,
где C — некоторая константа (C > 1).
Весовая функция W2(v»,t») необходима для того, чтобы в формуле (1) увеличивать слагаемые, в которых узел t находится ближе к соответствующему опорному узлу, чем узел v, так как считается, что движение в сторону опорного узла всегда предпочтительнее движения от него. В работе [1] рекомендуется значение C = 10.
В работе [6] предложен ряд модификаций первоначальной версии протокола BVR, в том числе новая весовая функция
которая уменьшает колебания значений виртуального расстояния по мере движения к узлу-назначению.
В протоколах LCR [2], VCAP [3] и HGR [4] используется метрика с p = 2 и W1, в Hop ID [7] — метрика с p = 10 и Wb а в протоколах BVR [1] и Fault-tolerant BVR [6] применяется p =1 и весовые функции W2 и W3 соответственно.
Отметим, что при использовании весов Lp не является метрикой в строгом смысле из-за появления асимметрии, так как в общем случае Lp(V, t) = Lp(t, V). Однако практика показывает, что нарушение свойства симметрий, равно как и невыполнение неравенства треугольника, не оказывает существенного влияния на характеристики алгоритма маршрутизации.
По представленным на рис. 5 результатам моделирования сети из 200 узлов с р =10 и nb = 4 видно, что при всех рассматриваемых весовых функциях эффективность нормы первого порядка
Рис. 5. Изменение коэффициента доставки пакетов в зависимости от вида метрики виртуального расстояния:
1 — равномерное; 2 — по перметру; 3 — случайное распределение опорных узлов; а, б, в — весовые функции Wl, W2, W3 соответственно
ниже, чем у метрики Ь2. Дальнейшее повышение р не дает существенного выигрыша, но вычислительные затраты увеличиваются. В предельном случае р = то эффективность резко падает из-за неполного использования информации о положении узлов в виртуальном пространстве, так как в этом случае метрика (1) принимает вид
(V, ¿) = тах [Ж^- и|].
При случайном выборе опорных узлов коэффициент доставки пакетов выше при использовании весовой функции , в то время как при целенаправленном распределении опорных узлов весовая функция не оказывает влияния на эффективность маршрутизации. Таким образом, из рассмотренных вариантов наиболее целесообразно применять метрику
L (V,t) =
\
nb
(Vi ,ti )|v
ti
(2)
i=1
2
при случайном распределении опорных узлов и
L (V, t) = . ^ - ti |
\
2
i=1
при использовании алгоритма выбора опорных узлов.
Выводы. Предложено несколько способов повышения эффективности протоколов маршрутизации по виртуальным координатам, практическая реализация которых сохраняет низкую сложность по времени и памяти, а также высокую масштабируемость алгоритмов данного типа. Результаты имитационного моделирования показали, что рассмотренные методы позволяют значительно повысить долю пакетов, доставленных в режиме минимизации виртуального расстояния, и приблизить длину найденных маршрутов к оптимальной.
На основе проведенного исследования можно сформулировать следующие рекомендации.
• При равномерно распределенных по сети или находящихся на периферии сети опорных узлах существенно снижается вероятность локального минимума по сравнению со случайным назначением узлов. В результате повышается надежность доставки пакетов и уменьшается длина найденных маршрутов.
• Распределение опорных узлов по границе сети более предпочтительно, чем равномерное размещение, но разница незначительна. Требуется более детальное сравнение данных видов распределений (в частности, в условиях наличия пустот в топологии сети).
• Размеры доверительных интервалов результатов моделирования показывают, что характеристики эффективности протокола ВК-маршрутизации более стабильны при целенаправленном распределении опорных узлов, чем при их случайном выборе.
• При наличии свободного пространства в таблице сетевого окружения целесообразно сохранять информацию о соседних узлах 2-го уровня для ее использования при выходе из локального минимума. Эффективность данного подхода повышается по мере снижения средней плотности размещения узлов, поэтому таблицы сетевого окружения могут иметь фиксированный размер при изменении р в широких пределах.
• Порядок нормы виртуального расстояния должен иметь значения р € (1; то), но для снижения вычислительной сложности следует использовать р = 2.
• При распределении опорных узлов по периметру или равномерном распределении рассмотренные весовые функции не оказывают влияния на успешность «жадной» маршрутизации, поэтому при таких способах назначения опорных узлов наилучшей
является метрика виртуального расстояния в виде обычной евклидовой нормы 2-го порядка. • При случайном выборе опорных узлов наилучшие результаты достигнуты при метрике 2-го порядка с весовой функцией из работы [1].
Исполнение указанных рекомендаций позволяет обеспечить высокую эффективность и масштабируемость протокола ВК-маршрутизации даже при малом числе опорных узлов.
СПИСОК ЛИТЕРАТУРЫ
1. Fonseca R. Beacon vector routing: Scalable point-to-point routing in wireless sensornets // Proc. sympos. on networked systems design and implementation. -Boston, Massachusetts, USA: 2005.
2. CaoQ. Scalable logical coordinates framework for routing in wireless sensor networks / Q. Cao, T. Abdelzaher // ACM Transactions on Sensor Networks. -2006. - Vol. 2. - No. 4. - P. 557-593.
3. C a r u s o A. GPS free coordinate assignment and routing in wireless sensor networks // Proc. 24th annual joint conf. of the IEEE computer and communications societies. - 2005. - Vol. 1. - P. 150-160.
4. Liu K. Virtual coordinate backtracking for void traversal in geographic routing // Proc. 5th intern. conf. on ad-hoc networks and wireless. - Ottawa, Canada: 2006.
5. Баскаков C. C. Алгоритм автоматического выбора опорных узлов в беспроводных сенсорных сетях // Информационные технологии и системы (ИТиС-2007): Тр. конф., Звенигород, 2007. - C.2-8.
6. D e m o r a c s k i L. Fault-tolerant beacon vector routing for mobile ad hoc networks // Proc. 19th IEEE intern. parallel and distributed processing sympos. -2005.
7. Z h a o Y. Efficient hop ID based routing for sparse ad hoc networks // Proc. 13th IEEE intern. conference on network protocols. - 2005.
Статья поступила в редакцию 16.09.2008
Сергей Сергеевич Баскаков родился в 1981 г., окончил МГТУ им. Н.Э. Баумана в 2006 г. Аспирант кафедры "Информационные системы и телекоммуникации" МГТУ им. Н.Э. Баумана. Автор 14 научных работ в области беспроводных сетей и систем связи.
S.S. Baskakov (b. 1981) graduated from the Bauman Moscow State Technical University in 2006. Post-graduate of "Information Systems and Telecommunications" department of the Bauman Moscow State Technical University. Author of 14 publications in the field of wireless networks and communication systems.