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



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

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

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

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

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

Голубев Андрей Сергеевич. Статическая маршрутизация с использованием структурных особенностей в мобильных децентрализованных сетях : диссертация ... кандидата технических наук : 05.12.13 / Голубев Андрей Сергеевич; [Место защиты: Владимир. гос. ун-т].- Владимир, 2008.- 141 с.: ил. РГБ ОД, 61 09-5/936

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

Введение

Глава I. Сети MANET 10

1.1. Тенденции развития программно-аппаратных средств мобильных сетей... 10

1.2. Сети MANET: проблемы и возможности 12

1.3. Классификация алгоритмов маршрутизации 14

1.4. Обзор маршрутизирующих протоколов MANET 18

1.4.1. Destination-Sequenced Distance-Vector Routing (DSDV) 18

1.4.2. Optimized Link State Routing Protocol (OLSR) 19

1.4.3. Topology broadcast based on reverse-path forwarding (TBRPF) 20

1.4.4. Ad hocOn-Demand Distance Vector (AODV) 20

1.4.5. Dynamic Source Routing (DSR) 22

1.4.6. Temporally-Ordered Routing Algorithm (TORA) 24

1.4.7. Zone Routing Protocol (ZRP) 24

1.4.8. Hazy-Sighted Link State Routing Protocol (HSLS) 25

1.5. Сравнительная характеристика 26

1.6. Маршрутизация в самоорганизующихся МО-сетях 28

1.7. Выводы по главе 29

Глава II. Разработка метода маршрутизации на основе структурной особенности сети 30

2.1.1. Область применения 30

2.2. Математическая модель 33

2.2.1. Общие положения 33

2.2.2. п-окрестность 34

2.2.3. R-отношение 36

2.2.4. Возможные приложения 37

2.3. Алгоритм R-маршрутизации 49

2.3.1. Постановка задачи 49

2.3.2. Базовый алгоритм 51

2.3.3. Модификации 61

2.4. Выводы по главе 67

Глава III. Экспериментальное тестирование 69

3.1. Имитационное моделирование сетевой среды 69

3.2. Программная модель (симулятор) 70

3.2.1. Библиотека PeerSim 72

3.2.2. Структура имитационной модели 78

3.3. Тестирование алгоритма маршрутизации 81

3.3.1. Исследование R-отношения 86

3.3.2. Исследование параметров 105

3.4. Выводы по главе 109

Глава IV. Макетная реализация 110

4.1. Цели и задачи 110

4.2. Лабораторный стенд 111

4.2.1. Аппаратное обеспечение 111

4.2.2. Программное обеспечение 112

4.3. Проведение испытаний 122

4.3.1. Подключение устройств 123

4.3.2. Формирование маршрутных таблиц 124

4.3.3. Имитация разрывов маршрутов при передаче данных 126

4.4. Выводы по главе 130

Заключение 131

Список использованных источников

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

Предмет исследования

В последнее время наблюдается повышенный интерес к беспроводным

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

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

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

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

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

Цель и задачи исследования

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

В ходе работы решались следующие задачи:

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

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

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

Выработка рекомендаций применения данного описания, на примерах некоторых моделей мобильных сетей.

Разработка алгоритма маршрутизации, использующего структурные особенности сети.

Имитационное моделирование алгоритма с целью проверки его эффективности и исследования области применимости.

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

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

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

Научная новизна

Научную новизну работы определяют следующие положения:

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

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

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

Практическая ценность и реализация результатов

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

Разработанные в диссертации принципы, алгоритмы, программные и методические средства использовались при выполнении госбюджетных и хоздоговорных научно-исследовательских работ с участием автора в рамках ряда ФЦП Минобразования.

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

Основные результаты работы докладывались и экспонировались на следующих научно-технических совещаниях и конференциях:

Международная конференция «Телекоммуникационные и информационные системы», Санкт-Петербург, 2007 г.

Международный форум по проблемам науки, техники и образования, Москва, 04-12 декабря 2007 г.

XIV Всероссийская научно-методическая конференция «Телематика-2007», Санкт-Петербург, 18-21 июня 2007 г.

VIII Международная научно-техническая конференция «Физика и радиоэлектроника в медицине и экологии» ФРЭМЭ'2008, Владимир, 02-04 июля 2008.

Международная научно-техническая конференция «Перспективные технологии в средствах передачи информации», Владимир, 10-12 ноября 2007 г.

Выставка-ярмарка «Современная образовательная среда», Москва, ВВЦ 03.10-06 ноября 2007 г.

Всероссийская научно-методическая конференция «Инновационные технологии обучения: проблемы и перспективы», Липецк, 29-30 марта 2008.

XV конференция представителей региональных научно-образовательных сетей «RELARN-2008», Н.Новгород, 01-08 июня 2008.

Положения, выносимые на защиту

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

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

  2. Предложена математическая модель структурных особенностей мобильной сети.

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

Публикации

Основные результаты работы представлены в 7 публикациях, в том числе 1 статье в журнале из перечня ВАК, а также в научно-технических отчетах НИР, выполненных по заданию Рособразования и Роснауки.

Объем и структура диссертации

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

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

Сети MANET: проблемы и возможности

Наиболее распространёнными из актуальных сегодня в гражданском секторе стандартов являются Bluetooth, IEEE 802.11, WiMAX и др. Эти технологии позволяют использовать не только уже проверенные хорошо зарекомендовавшие себя схемы сетевого взаимодействия, но и стимулируют возникновение новых идей, способных в полной мере раскрыть их потенциал.

Одной из таких идей является создание сетей MANET, которые позволяют устанавливать соединения между терминалами отовсюду и в любой момент времени без помощи фиксированной, а на практике часто жестко определенной и централизованной сетевой инфраструктуры [16], [18]. Классическая схема взаимодействия предполагает наличие в каждом «связном» сетевом сегменте маршрутизатора, который осуществляет координирование информационных потоков между всеми устройствами. Такая схема используется в проводных сетях Ethernet. В случае беспроводных сетей примером этой схемы может служить использование протоколов GPRS и EDGE, где функцию маршрутизатора выполняет базовая станция.

В то же время беспроводные технологии позволяют организовать новый тип сетей, где абонентские устройства взаимодействуют друг с другом напрямую, без посредничества каких-либо точек доступа. Такие сети получили название MANET (Mobile Ad-Hoc Networks - [19], [20]), что можно перевести как «мобильные сети произвольной структуры». Отличительной особенностью MANET является способность к самоорганизации без какой-либо внешней административной системы. Узлы в подобной сети могут служить как маршрутизаторами, так и хост-узлами; они могут пересылать пакеты данных для других узлов и поддерживать выполнение приложений пользователя.

Сфера применения MANET достаточно широка. Традиционно к ней принято относить функции организации связи при проведении военных или спасательных операций [17]. Но с появлением новых технологий, таких как Bluetooth и Wi-Fi, растет интерес и к гражданским областям применения. Среди них можно отметить возможности организации сенсорных сетей, временных покрытий для доступа к публичным сетям, домашние сети, разнообразные сервисы мультимедийной коммуникации ([24], [25], [26], [27], [28], [29]).

Однако, несмотря на все преимущества MANET, их широкому внедрению препятствуют серьезные технические проблемы. Прежде всего, это отсутствие общепринятого способа пакетной маршрутизации, обеспечивающего надежную и эффективную доставку данных. Маршрутизация является основой функционирования сетевой инфраструктуры. Для мобильных сетей, где топология крайне неустойчива, требования к маршрутизирующему алгоритму чрезвычайно высоки. Несмотря на то, что на сегодняшний день предложено большое количество специализированных алгоритмов [22], каждый из них имеет свою область применения. Существуют условия, при которых тот или иной способ оказывается либо не применим вовсе, либо неэффективен. В этих условиях он может, например, давать слишком низкий процент успешных доставок сообщений, слишком большие накладные расходы, слишком большое среднее время доставки и т.п.

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

Наконец, немаловажной проблемой в беспроводных сетях является обеспечение безопасности [33], [34], [35]. Эта проблема обусловлена самой природой MANET, где любой узел потенциально является маршрутизатором.

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

Множество предложенных на текущий момент алгоритмов выбора маршрутов может быть классифицировано по различным признакам [4, с. 207], [5, с. 198]. Например, в качестве классификаторов можно предложить следующие свойства: характер используемой служебной информации — изолированные, глобальные и смешанные стратегии; место выполнения маршрутных вычислений — централизованные, децентрализованные и смешанные стратегии; степень реагирования на изменение внешних условий (топологии, загрузки) — адаптивные, статические и квазистатические стратегии; число выбранных возможных маршрутов - однопутевые и многопутевые стратегии.

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

Математическая модель

В соответствии с классическим представлением, будем ассоциировать коммуникационную сеть с графом G(V,E), где V — множество вершин, Е -множество ребер. Каждая вершина символизирует узел сети, каждое ребро -канал передачи данных (связь между узлами). В дальнейшем будем считать эти понятия эквивалентными. Для определенности введем следующие обозначения: vit і = 1, N - вершины из множества V, N = V\; e(yi, г?у) = ец, i,j = 1,N - ребра из множества Е; d(vi) = elegit - степень вершины г .

Поскольку предметом изучения является мобильная сеть, необходимо учесть фактор времени, в результате чего граф примет вид G(V(t), E(t)). Здесь V(t) и E(t) - множества вершин и ребер на момент времени t. Однако в силу специфики задачи можно считать множество вершин постоянным, т.е. рассматривать сеть с неизменным числом узлов. Обоснованием этого служит тот факт, что при передаче данных по сети учитываются только связные компоненты графа — а они полностью определяются множеством E(t). Для удобства дальнейшего изложения будем обозначать Е = [jtE(t) - множество всех реализуемых ребер графа G.

Заметим, что в общем случае ребра графа являются направленными. При этом одиночные ребра соответствуют односторонней ассиметричной связи — например, из-за различного радиуса действия приемопередающих устройств. Но на практике большинство протоколов построены по диалоговой схеме коммуникации, когда на каждый переданный блок данных должно быть получено соответствующее подтверждение. Это обстоятельство делает невозможным использование таких протоколов в ассиметричной среде и позволяет упростить модель, отказавшись от направленных ребер. По схожим техническим соображениям можно исключить случай кратных связей (идентификация устройства однозначно осуществляется его физическим адресом). Таким образом, сеть представлена неориентированным графом G(V,E(t)), причем граф G(V,E) является связным. п-окрестность

Пусть (у -» и) — маршрут из вершины v ви некоторого графа G(V, Е). V(y -»и) - упорядоченное множество вершин маршрута {у - и): v = Vi v2 vm = и, т = d(y - и) + 1. Е(у - и) —упорядоченное множество ребер маршрута (у - и). d(y - и) = \E(y - и)\ - длина маршрута (у - и). d(i?, и) = min{(v u)j d(v - и) - расстояние от вершины v до и. Зафиксируем произвольную вершину графа v0 Є 7 и число п Є N. Определение, n-окрестностью вершины v0 называется граф, образованный множеством всех маршрутов длиной не более п и проходящих через вершину v0: дп{у0) = с{у{л),Е{я)), Л = {(у - и): d(v - и) n,vQ Е V(v - гг)} Отметим следующие очевидные свойства п-окрестности:

1. Qn(yo) есть подграф графа G(y,E), порожденный множеством ребер Я(с/Г);

2. множество вершин п-окрестности образует замкнутый шар с центром v0, т.е. d(y0,u) nVu Є V(„0?0));

3. п(Уо) содержит только ребра всех простых цепей графа G(V,E) длиной не более п из вершины v0 (напомним, что простой цепью называется маршрут, не содержащий повторяющихся вершин — кроме, быть может, конечных). Действительно, любое ребро е(и1)и2) Є E(JV) содержится в маршруте (у0 -» щ) или (у0 - и2) длиной не более п. Следовательно, существует простая цепь [70, с. 10] из VQ В Щ ИЛИ Щ, длиной не более п, также содержащая е(щ,и2).

Также заметим, что n-окрестность не совпадает, в общем случае, с подграфом, порожденным множеством вершин V(JC). В самом деле, если найдутся две вершины щ,и2 Є V(JV), удовлетворяющие условиям d(yQ,u{) = dCi?o,U;i) = я и e(ultU2) Є Е, то ни один маршрут из множества Л не будет содержать ребро e(u1; г2). Найдем множество всех простых цепей, упомянутое в свойстве 3. Пусть X = (xij); i,j = ОД,..., I Q/nC o))! " матрица смежности графа Qn(v0). Ее элементами являются логические переменные: _ (1, если {уІ, Vj) Є E(Qn(170))

ХЧ - (О, если (yitvj) ВДпОо)) Xij - Xji Отметим, что номер 0 соответствует выбранной вершине VQ. Рассмотрим матрицу Xй, полученную в результате логического произведения. Легко убедиться, что ее элементы принимают значение 1, если соответствующие вершины графа соединены п промежуточными ребрами (существует маршрут из одного узла в другой длины п). При этом развернутая запись каждого элемента представляет собой сумму произведений вида всех ребер, входящих в маршрут

Здесь каждое слагаемое образовано перечислением всех ребер, входящих в один из маршрутов из вершины xt в вершину Xj. Поскольку нас интересуют маршруты, начинающиеся в вершине v0, выберем слагаемые элементов xPoj P = І 71- Из них исключим те, которые содержат циклы или, что то же самое, повторяющиеся переменные. Оставшиеся элементы образуют искомое множество маршрутов.

Программная модель (симулятор)

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

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

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

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

В данной работе было принято решение о разработки программной модели в виде собственного сетевого симулятора. Тем не менее, разработка велась не «с нуля», а на основе специализированной библиотеки вспомогательных классов — PeerSim 1.0.1 (http://sourceforge.net/projects/ PeerSim).

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

В чем заключаются основные достоинства PeerSim по сравнению с другими аналогичными средствами моделирования? Во-первых, PeerSim изначально спроектирован для среды Java, что позволяет разработчику пользоваться всеми преимуществами этой технологии. К ним относятся, прежде всего, переносимость и скорость создания программного кода. В отличие от PeerSim, большинство существующих сетевых эмуляторов используют либо C++, либо высокоуровневые интерпретируемые или графические языки программирования. Несмотря на некоторое преимущество в производительности, C++ значительно уступает Java в простоте (а значит, скорости разработки), поскольку заставляет разработчика задумываться о многих деталях, не связанных с предметной областью. При этом C++ не гарантирует 100%-ной переносимости кода, причем переход на другую платформу требует перекомпиляции всех модулей. С другой стороны, специализированные высокоуровневые языки обладают существенно меньшей гибкостью, а интерпретируемое исполнение сильно замедляет скорость работы программы.

Аппаратное обеспечение

Программное обеспечение, как и в случае имитационной модели, было создано на базе платформы Java 2 Standard Edition (JDK 1.6). Основным средством разработки являлась среда Eclipse. В качестве низкоуровневого интерфейса доступа к стеку Bluetooth использовалась библиотека с открытым исходным кодом bluecove 2.0 (http://code.google.eom/p/bluecove/). Для управления Wi-Fi устройствами была создана собственная JNI библиотека (использовалась среда разработки Microsoft Visual Studio 2005). Разработка графического интерфейса пользователя осуществлялась при помощи открытой библиотеки SWT (http://www.eclipse.org/swt).

Чем обусловлен выбор данных средств для макетной реализации? На сегодняшний день существует большое число технологий, позволяющих организовать беспроводную сеть. К ним относятся широко известные стандарты Wi-Fi, WiMAX, Bluetooth, ZigBee и др. У каждой из них есть свои сильные и слабые стороны. Например, Wi-Fi идеально подходит для объединения компьютеров в локальную сеть, обеспечивая большую пропускную способность при умеренных энергозатратах. Bluetooth-устройства обладают значительно меньшим потенциалом по скорости и дальности передачи, но при этом гораздо компактнее и экономнее, что требуется в мобильных приложениях. Еще более «скромный» стандарт ZigBee подходит для дешевых сенсорных датчиков, способных продолжительное время работать без пополнения заряда. Однако чем дальше идет развитие беспроводные технологии, тем актуальней становится проблема взаимодействия устройств различных стандартов. Расширение сферы применения неизбежно вызывает тенденцию к унификации и интеграции приложений в единое информационное пространство. Некоторые производители даже планируют выпуск микросхем, объединяющих несколько стандартов (например, Wi-Fi и Bluetooth). Это, тем не менее, не дает какой-либо существенной выгоды для решения прикладных задач, при разработке

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

Очевидно, для развития неоднородных беспроводных сетей требуется создание унифицированного программного интерфейса взаимодействия, имеющего кроссплатформенную основу. На наш взгляд, естественным выбором для реализации такого интерфейса является Java как единственная реально платформонезависимая среда. В подтверждение этого можно привести пример стандарта JSR-82 (http://www.jcp.org/en/jsr/detail?id=82). Это Java-интерфейс для Bluetooth-устройств, поддержка которого в различных операционных системах, телефонах и КПК привела к его широкому распространению.

Фактически, универсальный интерфейс взаимодействия можно рассматривать как следующий уровень абстракции сетевых приложений, своего рода «сеть поверх сетей». Такой универсальный интерфейс должен предоставлять базовые сетевые функции: идентификацию и обнаружение узлов, передачу данных, маршрутизацию пакетов. Отчасти здесь можно провести аналогию с пирринговыми сетями, которые представляют собой логические сети поверх Internet. Однако пирринговые сети ориентированы на единый стандарт TCP/IP и опираются на существующую инфраструктуру, что значительно облегчает их реализацию. В случае беспроводных технологий таких условий нет — все приходится создавать «с нуля».

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

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

2. Канальный уровень. Предназначен для передачи пакетов между двумя соседними узлами сети. В данном случае имеет наиболее сложную структуру, т.к. осуществляет взаимодействие между сервисами операционной системы и виртуальной машиной Java. Системные сервисы включают: драйвер устройства, поставляемого производителем (для каждого устройства); прикладной интерфейс native АРІ (для каждой беспроводной технологии он свой, хотя его присутствие необязательно) и сетевые драйверы операционной системы (реализуют стек протоколов для данной технологии). Эти составляющие присутствуют в системе объективно и не требуют дополнительной реализации.

Для управления устройствами посредством Java в каждой системе требуется реализация непереносимой JNI-библиотеки, предоставляющей доступ к native API либо (в случае отсутствия такового) непосредственно к драйверу. Этот интерфейс необходим для управления аппаратно-зависимыми функциями устройства, такими как включение/выключение, сканирование среды, чтение и установка параметров и т.д. Данные функции используются низкоуровневыми Java-протоколами Discovery и DirectProtocol. Discovery - это служебный сервис, в задачи которого входит обнаружение и идентификация соседних узлов. Для этого он с помощью всех доступных JNI-интерфейсов производит сканирование и сохраняет таблицу соответствия идентификаторов и аппаратных адресов устройств. DirectProtocol - условное обозначение протокола, осуществляющего доставку пакетов соседним узлам. Для этого он запрашивает аппаратный адрес у Discovery, определяет соответствующий сетевой драйвер (либо native API), производит упаковку Java-объектов и передает этот пакет системному сервису. Обработка принятых пакетов происходит в обратном порядке.

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