УДК 004.75
DOI: 10.24412/2071-6168-2024-1-164-165
ВЗАИМОДЕЙСТВИЕ АБОНЕНТОВ MANET ПРИ УСТАНОВЛЕНИИ И ПОДДЕРЖАНИИ СОЕДИНЕНИЯ АБОНЕНТОВ С СЕТЬЮ
М.С. Пестин, А.С. Новиков
Процедуры установления соединения, построения и обслуживания сетей MANET выполняются программными службами маршрутизации. В текущей работе рассматривается метод взаимодействия служб маршрутизации для установления и поддержания соединения между мобильными абонентами. Он включает обмен сообщениями NeighborMessage, которые содержат данные о наличии связей с другими абонентами, сетевые показатели производительности абонентов и каналов связи между ними, формирование таблицы AbonentMap, содержащей сведения об узлах-соседях. В ходе экспериментального исследования для передачи трафика использовались маршруты связи в два перехода, выбранные по критерию надёжности, рассчитанной на основе данных из AbobentMap. Это способствовало росту надёжности передачи трафика по маршрутам обозначенного типа. Предложенный в работе метод позволит повысить производительность передачи данных на двухшаговых путях связи и сократить время обнаружения маршрутов.
Ключевые слова: MANET, маршрутизация трафика, таблица маршрутизации, процедура Hello, соседний абонент.
Введение. Мобильные ad-hoc сети (mobile ad-hoc network, MANET) -технология беспроводной одноранговой связи [1] между мобильными абонентами (мобильные роботы, автомобили, человек с портативными средствами связи). Такие сети не имеют постоянной структуры ввиду частых случаев разрыва и установления прямого соединения между узлами. Поэтому требуется регулярно производить построение маршрутов передачи трафика для абонентов, удалённых между собой на более чем один переход (рис. 1), их обновление и обслуживание. Эти задачи решаются так называемыми службами маршрутизации трафика. Они представляют собой программное обеспечение (программные агенты), функционирующее на каждом узле сети, и осуществляющие взаимодействие между собой для решения обозначенных задач [2].
(3J Количество переходов от абонента S
Рис. 1. Схема MANET сети. Удаление абонентов от узла S
В маршрутизации MANET установление соединения с сетью означает инициализация прямого соединения с несколькими соседними (смежными) абонентами сети. Такие абоненты называют соседними (смежными) абонентами первого порядка (рис. 1, абоненты с номерами «1» для S). Они задействуются в процедурах построения и обслуживания маршрутов связи как первые транзитные абоненты на пути к целевому.
Существующие реактивные протоколы маршрутизации [3] (AODV и DSR) для обнаружения соседних абонентов первого порядка используют пакеты запроса маршрута с широковещательным адресом, ограниченные одним переходом. В более продви-
164
нутых случаях, как [4] используется отдельные пакеты Hello, предназначенные для определения не только смежных абонентов, но и соседей второго порядка (рис. 1, абоненты с номерами «2» относительно S). Такой подход исключает потребность в запуске алгоритмов обнаружения маршрутов к абонентам, удаленных на два перехода относительно текущего.
В тоже время, построение маршрутов в соответствии с классическими маршрутными метриками (длина маршрута, время передачи трафика) не обеспечивают их оптимальность. Требуется учитывать не только стандартные показатели производительности, но и надёжность передачи трафика через последовательность узлов и каналов связи и возникающие на них задержки [5]. Разработанные на текущей момент методы предполагают случайный выбор двухшагового маршрута для передачи трафика соседним абонентам второго уровня. При этом существующие подходы предполагают, что расчёт маршрутной метрики, по которой осуществляется оптимизация маршрута, производится по всем пройденным поисковым пакетом абонентам и каналам связи, включенным в маршрут. Поэтому в нашей работе предлагается метод взаимодействия служб маршрутизации, который позволяет собирать показатели производительности соседних абонентов первого и второго порядков и смежных им каналов. Это позволит сократить время поиска маршрута связи за счёт оценки производительности маршрутов на 2 перехода вперёд, также при передаче трафика соседям второго порядка выбирать менее загруженных транзитных абонентов и более надёжные каналы связи [6].
Структура данных для хранения соседних абонентов. Для хранения информации об известных абонентах сети, наличия связи с соседними абонентами первого и второго порядков, информации об их производительности и каналов связи с ними [7] мы будем использовать ассоциативный массив AbonentMap (рис. 2). Ключом является адрес абонента A. Значением - структура Abonentlnformation. Abonentlnformation содержит следующие поля:
- Direct - представляет флаг наличия прямой связи текущего узла с абонентом
A;
- LastTime - время, когда в последний раз было получено сообщение NeighborMessage или NeighborMessageAnswer от абонента A;
- NeighborList - ассоциативный массив соседних абонентов 1-го порядка для A (актуально, если в службе маршрутизации узла A для абонентов в списке Direct = True). При этом значением массива являются параметры производительности канала связи между абонентом A и соответствующим соседним абонентом;
- PerfParams - содержит параметры производительности абонента A и соединяющего его и собственный узел канала связи.
Addres 1
Address 2
Address N
Ф Ф Ф
Abonentlnformation
Abonentlnformation
Abonentlnformation
Адрес соседнего абонента 1
Адрес соседнего абонента 2
Адрес соседнего абонента п
<.....>
<.....>
<.....>
<.....>►
Производи тепьност ь канала
Производится ьност ь канала
Производительность канала
Производительность канала
Abonentlnformation
Direct LastTime NeighborList PerfParams
Наличие прямой связи Время получения сообщения Список соседних абонентов i lapa метры производительности
Рис. 2. Структура AbonentMap
При этом PerfParams хранит следующие показатели производительности абонента связи [8]:
- ЯеИ - рассчитанная надёжность канала связи между текущим узлом и абонентом А;
- Lch - рассчитанная нагрузка канала связи между текущим узлом и абонентом
A;
-MessRecv - количество принятых сообщений от абонента A за Hellolnterval;
- Q - размер очереди пакетов на узле связи;
- Delay - средняя задержка при прохождении пакета через абонента;
- I - количество актуальных маршрутов, которые включают абонента;
- Rn - доля пакетов, которые не были отброшены в процессе пребывания во входящей или исходящей очередях.
Параметрами производительности каналов связи, которые содержаться в NeighborList, являются Rch, Lch.
Метод взаимодействия абонентов MANET при установлении и поддержании соединения с сетью. Обозначим процедуру, в ходе которой производится взаимодействие служб маршрутизации для подключения к сети и поддержания соединения как Hello. Для обмена трафикам в рамках Hello были разработаны пакеты Neigh-borMessage и NeighborMessageAnswer (рис. 3). NeighborMessage используется для уведомления других абонентов о своём присутствии в сети, информировании о наличии соседей первого порядка, параметрах производительности собственного абонента и соседей первого порядка. Если принятый от абонента S пакет содержит в списке соседей адрес текущего абонента, то это означает, что с абонентом S установлено соединение.
О {бит) 8 16 24 25 32
MessageType Source (S) De st (□) NFA Пад Count
Тип сообщения Адрес Адрес : Количество
(NeighborMessage or отправителя получателя 1 coceöeüу
NeighborMessageAnswer) ! Source
; Необходимость отправки ответа ;
32~ 48 80 88 100~ )
Speed (V) Position (Р) Q Delay
Vx Vy Рх Ру
Скорость перемещения абонента (м/с) Координаты объекта относительно базовой точки (в 10-ках метров) Размер очереди пакетов Средняя задержка прохождения пакета через абонента
100 108 120
Показатели производительности абонента Source
120 128 140 152 168
Neighbor^ (N) Rch Lch MessRecv
Адрес 1-го соседа 1-го порядка Предсказанная надёжность канала связи Рассчитанная нагрузка канала связи Количество принятых сообщений
168 176 188 196 208
Q Delay ! Яn
Информация о -ом соседе 1-го порядке
208 296 120+ 88*(Cou/if - 1) 120+88*Couni
Neighbor; (N) NelghborCourit (N)
Информация о 2-ом соседе 1-го порядкеа - Информация о Count-ом соседе 1-го порядкеа
Рис. 3. Структура пакетов NeighborMessage и NeighborMessageAnswer
166
1
Количество пересекаемых маршрутов Доля неотброшенных пакетов
Пакет NeighborMessageAnswer может быть использован для подтверждения получения NeighborMessage соседними абонентами первого порядка при высокой пропускной способности сети. Для этого абонент отправитель должен выставить флаг NFAFlag в сообщении NeighborMessage. Использование подтверждения позволяет более оперативно получать информацию о соседних абонентах и наличии каналов связи между ними. При этом отсутствие требования подтверждения (NFAFlag = 0) позволяет сократить объём служебного трафика и повысить пропускную способность каналов связи.
Взаимодействие между службами маршрутизации для установления и поддержания соединения с сетью производится по следующему алгоритму:
1) Абонент S формирует сообщение NeighborMessage для информирования других абонентов сети о себе и соседях первого порядка и производит широковещательную рассылку пакета:
1.1) В поле «Адрес отправителя» устанавливается адрес собственного узла;
1.2) В поле «Адрес получателя» устанавливает широковещательный адрес «0»;
1.3) В пакет добавляются данные о своей производительности (скорость перемещения абонента, координаты относительно базовой точки, Q, Delay, I, Rn) и производительности соседей 1-го порядка (Rch, Lch, MessRecv, Q, Delay, I, Rn). Эти показатели в дальнейшем используются для формирования метрик производительности маршрутов связи, в которые входит текущий абонент;
1.4) При низкой загруженности сети может быть установлен флаг необходимости ответа NFAFlag. Если флаг установлен (NFAFlag = 1), то при получении сообщения соседний абонент должен отправить подтверждающий ответ сообщением Neigh-borMessageAnswer, структура которого аналогична NeighborMessage;
1.5) Добавляется список абонентов, с которыми на момент отправки сообщения установлена прямая связь. Если абонент не подключён к сети, список является пустым;
2) Каждый абонент D, принявший NeighborMessage, добавляет запись в Abo-nentMap об абоненте отправителе, если ранее записи не существовало, или обновляет информацию по абоненту:
2.1) В поле Direct устанавливается значение true;
2.2) В поле LastTime записывается время приёма пакета;
2.3) В поле PerfParams записываются значения производительности абонента S и смеженного с ним канала I, L, Q, D, Rch, Rn. При этом Rch обновляется на основе значений скорости, производительности и информации о количестве принятых пакетов MessRecv за последний промежуток HelloInterval. Значение MessRecv берётся из сообщения HelloNeighbor из поля с информацией о соседях 1-го порядка;
2.4) Обновляется поле со списком соседних абонентов;
3) Если сообщение NeighborMessage от абонента S не было принято в течении периода 2 * Hellolnterval, то в их таблицах для абонента снимается флаг о наличии прямого соединения;
4) Если в NeighborMessage установлен флar NFAFlag, то абонент отправитель должен получить ответ NeighborMessageAnswer от получателя в течение HelloAnswer. При этом:
4.1) Формирование сообщения производится аналогично NeighborMessage;
4.2) В поле D устанавливается адрес абонента отправителя;
4.3) Для абонентов, от которых не были получены ответы, в AbonentMap на узле S снимаются флаги наличия прямого соединения c D;
5) Через Hellolnterval абонент S повторяет алгоритм.
Диаграмма взаимодействия между службами маршрутизации трафика абонентов MANET по предложенному алгоритму представлена на рис. 4.
Таким образом, алгоритм Hello обеспечивает установление и поддержание в актуальном состоянии соединения с другими абонентами сети, а также сбор информации о производительности абонентов первого и второго порядков. При выполнении ал-
горитма Hello производится формирование таблицы AbonentMap, которая задействует-ся в дальнейшем в процессе поиска маршрутов между узлами.
Повторить
Граф сети ©
© ©
О
Рис. 4. Схема взаимодействия абонентов в процедуре Hello
Экспериментальное исследование. По сценарию исследования мы использовали таблицу АЬопеПМар, формируемую предложенным в работе алгоритмом, для выбора промежуточного абонента Т, который будет использован при передаче данных от текущего абонента S соседнему абоненту второго порядка N2. В ходе исследования применялась имитационная модель [9], при этом используемые параметры моделирования представлены в таблице. Абоненты движутся в соответствии с моделью переме-щенья на основе случайных точек [10]. Соединение между абонентами возникает, когда расстояние между ними менее 400 м. Надёжность каналов связи задаётся как равномерно распределённая случайная величина.
Параметры моделирования
Параметр Значение
Скорость передачи данных 8 Кб/с.
Трафик между абонентами 2 Кб/с.
Максимальная скорость движения абонентов 6 м/с.
Модель движения абонентов Модель перемещений на основе случайных точек
Радиус радиопередачи 400 м.
Надёжность каналов связи Случайная величина по равномерному закону распределения [X; 1.0], где X = { 0,9; 0,905; 0,91; ...; 0,95 } - нижний предел надёжности каналов связи
Яп Случайная величина по равномерному закону распределения [0,95; 1.0],
Размер карты 1500 х 1500 м2
Ограничение по виртуальному времени моделирования 1200 с.
В ходе эксперимента исследовалась зависимость надёжности передачи данных по двухшаговым маршрутам. В первом случае («До») использовался стандартный алгоритм передачи трафика соседу второго порядка, где абонент-ретранслятор выбирался случайно. Во втором случае («После») при передаче пакета с данными между S и N2 выбирался наиболее надёжный двухшаговый маршрут по следующей метрике:
Rch(S, T) * Rn(T) * Rch(T, N2) ^ max, где Rch(S, T) и Rch(T, N2) - надёжность каналов связи, рассчитанная как соотношение отправленных и принятых соседним абонентом пакетов данных. Rch(S, T), Rch(T, N2), Rn(T) взяты из таблицы AbonentMap для соответствующих абонентов и каналов связи. Результаты эксперимента представлены на рис. 5.
168
"До
-После
0,9 0,91 0,92 0,93 0,94 0,95 Нижний предел надёжности каналов связи
Рис. 5. Результаты экспериментального исследования
Проведённый эксперимент показывает повышение надёжности доставки данных по 2-шаговым маршрутам. Результаты демонстрируют, что полученная в результате взаимодействия служб маршрутизации трафика информация о производительности соседних абонентов и каналов связи между ними позволяет повысить производительность сети.
Заключение. В текущей работе был предложен метод взаимодействия между службами маршрутизации трафика для установления и поддержания соединений между соседними абонентами в сети MANET. Метод включает обмен сообщениями Neigh-borMessage, содержащие информацию о производительности узла-отправителя пакета, список соседних абонентов, с которыми установлено соединение, их производительность. При необходимости доставка пакета может быть подтверждена ответным сообщением NeighborMessageAnswer. Был проведён эксперимент, в котором сравнивалась надёжность передачи данных между случайными 2-шаговыми маршрутами и путями, рассчитанная надёжность которых выше альтернативных. Второй способ предполагал использование информации, полученной в результате взаимодействия служб маршрутизации соседних абонентов. По результатам эксперимента, предложенный подход позволил повысить долю доставляемых данных до целевых абонентов. Кроме того, предложенный метод может быть использован для сокращения количества шагов при построении маршрутов связи за счёт конкатенации к ним известных двухшаговых путей.
Список литературы
1. Mobile Ad Hoc Networks: Current Status and Future Trends / Edited by Loo J.; Lloret Mauri J., Ortiz J. Boca Raton, FL: CRC Press, 2012. -538 p.
2. Q. Le-Trung and V. -H. Pham, "Integration of re-active ad-hoc routing daemon into Quagga routing suite for wireless ad-hoc routers," 2014 International Conference on Advanced Technologies for Communications (ATC 2014), Hanoi, Vietnam, 2014. P. 256-261. DOI: 10.1109/ATC.2014.7043394.
3. K. L. Arega, G. Raga, R. Bareto, Survey on performance analysis of AODV, DSR and DSDV in MANET, Computer Eng. Intell. Syst.,11 (2020). P. 23-32. DOI: 10.7176/ceis/11-3-03.
4. S. Y. Han and D. Lee. An Adaptive Hello Messaging Scheme for Neighbor Discovery in On-Demand MANET Routing Protocols // in IEEE Communications Letters, 2013. vol. 17, no. 5. P. 1040-1043. DOI: 10.1109/LCOMM.2013.040213.130076.
5. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 4-е изд. СПб.: Питер, 2010. 944 с.
6. Pestin M.S., Novikov A.S. Protocol for Multipath Routing of Traffic in Wireless Ad-Hoc Networks Based on the Status of Channels and Network Nodes // 2022 International Russian Automation Conference (RusAutoCon), Proceeding. 2022. С. 553-558. DOI: 10.1109/RusAutoCon54946.2022.9896315.
7. Датьев И. О. Маршрутные метрики многошаговых беспроводных самоорганизующихся сетей // Труды Кольского научного центра РАН. 2015. №3 (29).
8. Пестин М.С. Методы машинного обучения в задачах построения маршрутов связи в беспроводных ad-hoc- сетях передачи данных // Известия Тульского государственного университета. Технические науки. 2022. Вып. 8. С. 121-127. DOI: 10.24412/2071-6168-2022-8-121-128.
9. Пестин М.С., Новиков А.С. Имитационная модель беспроводной ad-hoc сети для исследования алгоритмов маршрутизации трафика // Прикладная информатика. 2022. Т. 17. № 4. С. 75-86. DOI: 10.37791/2687-0649-2022-17-4-75-86.
10. Camp, T., Boleng, J., Davies V. A survey of mobility models for ad hoc network research. Wirel. Commun. Mob. Comput., V. 2. P. 483-502. DOI: 10.1002/wcm.72.
Пестин Максим Сергеевич, аспирант, [email protected], Россия, Тула, Тульский государственный университет,
Новиков Александр Сергеевич, канд. техн. наук, доцент, [email protected], Россия, Тула, Тульский государственный университет
INTERACTION OF MANET SUBSCRIBERS WHEN ESTABLISHING AND MAINTAINING THE CONNECTION OF SUBSCRIBERS TO THE NETWORK
M.S. Pestin, A.S. Novikov
Procedures for establishing connections, building and maintaining MANET networks are performed by software routing services. The current work examines a method for inter-working routing services to establish and maintain connections between mobile subscribers. It includes the exchange of NeighborMessage messages, which contain data on the presence of connections with other subscribers, network performance indicators of subscribers and communication channels between them, and the formation of the AbonentMap table containing information about neighboring nodes. During the experimental study, two-hop communication routes were used to transmit traffic, selected according to the reliability criterion calculated based on data from AbobentMap. This contributed to an increase in the reliability of traffic transmission along routes of the designated type. The method proposed in this work will improve the performance of data transmission on two-step communication paths and reduce the time of route discovery.
Key words: MANET, traffic routing, routing table, Hello procedure, neighbor subscriber.
Pestin Maxim Sergeevich, postgraduate, [email protected], Russia, Tula, Tula State University,
Novikov Alexander Sergeevich, candidate of technical science, docent, [email protected], Russia, Tula, Tula State University