![](/user_photo/_userpic.png)
книги / Управление большими системами. УБС-2017
.pdfИнформационные технологии в управлении техническими системами и технологическими процессами
сле чего осуществляется переход в следующее состояние для выбора промежуточного узла-получателя Y.
3. Выбор промежуточного узла-получателя Y происходит по Q-таблице узла, передающего сообщение. При этом проверяется вся строчка таблицы для заданного конечного получателя, а дальнейшая передача сообщения производится через узел
сминимальным значением метрики.
4.Передача сообщения производится путем удаления сообщения из очереди на передачу данного узла и занесением его в очередь узла-получателя сообщения.
5.Состояние ожидания ответа необходимо для получения значения задержки передачи сообщения через узел Y. Переход в следующее состояние производится при получении данного ответа. При этом производится расчет промежуточного значения задержки передачи сообщения от узла-передатчика к получателю через узел Y.
6.В состоянии вычисления задержки выполняется расчёт нового значения предполагаемой остаточной задержки доставки сообщения и запись его в Q-таблицу. После этого система возвращается в начальное состояние ожидания сообщения.
Диаграмма приема сообщения реализует алгоритм, также представленный в п. 2, и описывается следующим набором состояний узла и переходов между ними (см. рис. 2).
1.В исходном состоянии узел ожидает приёма сообщения. Выход из состояния производится при получении нового сообщения. При этом переход сопровождается проверкой совпаде-
ния адреса получателя сообщения и адреса текущего узла. В случае совпадения адресов выполняется переход к состоянию сбора статистики, удаления принимаемого сообщения и возврат к начальному состоянию. В ином случае выполняется переход
всостояние выбора следующего узла-получателя.
2.Выбор промежуточного узла-получателя Z происходит по Q-таблице. При этом проверяется вся строчка таблицы для заданного конечного получателя, а дальнейшая передача сообщения будетпроизводитьсячерезузелсминимальнымзначениемметрики.
3.В состоянии передачи задержки осуществляется формирование ответа узлу-отправителю об актуальном значении
503
541
Управление большими системами. Выпуск XX
q-задержки. После передачи диаграмма переходит в начальное состояние.
Представленное описание реализовано в модели программно с использованием простых приёмов объектно-ориентированного программирования Java работы с объектами модели, массивами, параметрами, переменными.
4.Результаты
Встатье разработана имитационная модель протокола маршрутизации Q-Routing. Представлено описание анализируемого алгоритма маршрутизации на узле сети передачи данных с использованием естественного языка и языка онтологий OWL. По предложенной онтологии разработана имитационная модель протокола в среде моделирования AnyLogic. Особое внимание
уделено созданию диаграмм передачи и приёма сообщений, реализующих модель алгоритма маршрутизации.
В настоящий момент ведётся проработка вопросов построения процедур сбора и расчёта статистических данных для оценки эффективности работы модели протокола маршрутизации Q-routing и сравнения её с другими известными протоколами, а также проведения анализа влияния параметров протокола, в частности скорости обучения, на сетевые характеристики.
Литература
1.ДАДЕНКОВ С.А., КОН Е.Л. Анализ моделей и методов агентного и дискретно-событийного имитационного моделирования// ИзвестияСПБГЭТУ ЛЭТИ. – 2015. – №5. – С. 35–41.
2.ШИЛОВА Ю.А., КАВАЛЕРОВ М.В. Исследование влияния параметра скорости обучения на результаты работы алгоритма маршрутизации q-routing // Инновационные технологии: теория, инструменты, практика. – 2015. – С. 172–179.
3.BOYAN JUSTIN A., LITTMAN MICHAEIL L. Packet routing
in dynamically changing networks: a reinforcement learning approach // Advances in neural information processing systems. – 1994. – P. 671–678.
504
542
Информационные технологии в управлении техническими системами и технологическими процессами
DEVELOPMENT OF THE Q-ROUTING ROUTING PROTOCOL MODEL
Alyona Yakimova, Perm National Research Polytechnic University, Perm, student (jkimovaalena@yandex.ru).
Abstract: The article develops a simulation model of the routing protocol q-routing. The description of the routing algorithm on the node of the data transmission network using the natural language and ontology language owl is presented. According to the proposed ontology, a simulation model of the protocol was developed in the Anylogic modeling environment.
Keywords: wireless networks, simulation modeling, communication network ontology, routing protocol, Anylogic, q-routing.
505
543
![](/html/65386/197/html_AmyeWD7732.J7Uc/htmlconvd-4A1mQz544x1.jpg)
Управление большими системами. Выпуск XX
УДК 004.057.4
ББК 30в6
МОДЕЛЬ ПРОТОКОЛА ПОИСКОВОГО СЕРВИСА DHT
Даденков С.А.1, Ибрагимов Р.Р.2
(Пермский национальный исследовательский политехнический университет, Пермь)
В статье разрабатывается имитационная модель децентрализованной P2P-сети с протоколом поискового сервиса DHT. Приводится естественное и онтологическое описание работы протокола DHT. Предлагается имитационная модель P2P-сети с протоколом DHT в среде моделирования AnyLogic, позволяющая оценивать результативность поиска данных.
Ключевые слова: протоколы поиска данных, централизованные и децентрализованные протоколы, BitTorrent, DHT, P2P.
1. Введение
Распространенность протоколов поиска информации в современных сетях связи обусловлена востребованностью получения больших объемов данных миллионами устройств и пользователей глобальной информационной сети. С ростом масштабов сетей связи снижается эффективность применения традиционных централизованных архитектур и протоколов поиска информации. Это обусловлено высокой стоимостью централизованных систем хранения данных, низкой отказоустойчивостью, недостаточной пропускной способностью каналов связи для передачи и обработки больших объёмов данных. Распространённость получают децентрализованные системы хранения и протоколы поиска данных, и в частности,
протокол поискового сервиса DHT (Distributed Hash Table) [2, 1].
1 Сергей Александрович Даденков, кандидат технических наук
(dadenkov@rambler.ru).
2 Ринат Рамилевич Ибрагимов, студент (rinat_ibragimov95@mail.ru).
506
544
Информационные технологии в управлении техническими системами и технологическими процессами
Недостаточность исследований применения данного протокола ивлияния его параметров на результативность поиска не позволяют создавать и поддерживать эффективность функционирования децентрализованных систем хранения данных. Указанное актуализирует решение задачи построения имитационной модели протокола поискового сервиса DHT и исследования влияния его параметровнарезультативностьпоискаинагрузку насетьсвязи.
2. Протокол DHT поиска данных в P2P-сети
DHT (распределённая хеш-таблица) – это класс децентрализованных распределённых систем поискового сервиса, работающего по технологии хеш-таблиц, представляющих собой ассоциативный массив записей идентификаторов (ключей) и адресов узлов сети. Особенность технологии заключается в возможности распределения информации среди некоторого набора узлов P2P-сети [3] таким образом, что каждый участвующий узел смог бы найти искомые данные, связанные с ключами в сети (идентификаторами других узлов). Ответственность за поддержание связей распределяется между узлами, что обеспечивает простое масштабирование DHT. DHT работает на прикладном уровне и позволяет участникам файлообмена узнать друг о друге, а также найти узлы – хранители искомыхданных[2, 1].
Алгоритм работы протокола поиска DHT включает последовательности подключения пользователя к сети, поиска, размещения и распространения информации в сети.
2.1СЦЕНАРИЙ ПОДКЛЮЧЕНИЯ ПОЛЬЗОВАТЕЛЯ К СЕТИ
Сценарий подключения нового пользователя к сети вклю-
чает 1) выбор уникального идентификатора компьютерного узла hashID из 160-битного пространства с помощью хеш-функции SHA-1 из IP-адреса и дополнительной информации (имени компьютера, MAC-адреса сетевой карты и пр.); 2) заполнение индивидуальной DHT-таблицы узла случайными существующими в сети идентификаторами узлов и соответствующими им адресами (IP: port). Для заполнения DHT-таблицы записями узел обращается с запросом к серверу-координатору (например,
507
545
Управление большими системами. Выпуск XX
router.utorrent.com) с запросом на получение ограниченного числа k записей, составляющих одну корзину таблицы. Корзиной называется область адресов таблицы, состоящая из k записей, при этом первая запись таблицы является ключом корзины. Разбиение таблицы на корзины с ключами необходимо для организации наискорейшего поиска узлов в сети и производится каждый раз при изменении таблицы (см. п. 2.2). Это единственная фаза взаимодействия узла сети с центральным серверомкоординатором. После получения K записей они упорядочиваются в порядке возрастания десятичных чисел и вносятся в таблицу, а пользователь повторно формирует запрос для каждого из вновь полученных адресов на получение данных об известных ему случайных K узлах. Так продолжается до тех пор, пока размер таблицы узла не превысит минимального объёма таблицы V.
2.2СЦЕНАРИЙ РАЗМЕЩЕНИЯ И ПОИСКА ИНФОРМАЦИИ
Для размещения и поиска данных в сети DHT используется
уникальный идентификатор информационной раздачи infoHash. Для размещения данных и организации доступа узлов сети владелец файла должен определить M «представителей» данных, которые будут знать об источнике данных. Представители выбираются по принципу наибольшей близости их hashID к infoHash-данных. Данный механизм обеспечивает высокую вероятность доступности, низкое время поиска информации и нагрузку на сеть даже в случае неактивности ряда узлов сети. Принцип выбора «ближайших» узлов заключается в их итеративном поиске по DHT-таблице. Число итераций поиска M «представителей» ограничено значением Q. Каждая итерация представляет собой выбор узлов корзины, наиболее близкой к искомому infoHash, и формирование запроса на получение новых K-записей (корзины) из таблиц запрашиваемых узлов, также наиболее близких к искомому infoHash. Ближайшей называется адрес или корзина, адрес которой имеет наименьшее расстояние (десятичную разницу) hashID и infoHash-данных (ближайшая корзина определяется по попаданию в её адресное пространство infoHash-данных). По результатам поиска узлампредставителям наиближайшей корзины отправляется сообще-
508
546
Информационные технологии в управлении техническими системами и технологическими процессами
ние об известности идентификатора узла, раздающего данные и infoHash его данных. Данная процедура при определённых значениях параметров обеспечивает высокую вероятность нахождения данных узлов-представителей и узла-источника с данными по infoHash данных.
Процедура поиска данных в сети аналогична процедуре размещения и сводится к итеративному поиску и заполнению таблицы DHT новыми записями об hashID узлов, чьи адреса ближе всего к искомому infoHash. С каждой итерацией поиска увеличивается вероятность нахождения узлов, обладающих информацией об infoHash искомых данных.
Одной из проблем функционирования DHT-сети является нарушение активности узлов в сети. Это наблюдается при неактивности узлов в случае отсутствия подключения к сети, при смене адреса и в других ситуациях и приводит к снижению вероятности успешного поиска информации в сети. Для обработки таких ситуаций в DHT-таблице определяется состояние каждого узла: 1) актуальный – узел, от которого получено сообщение или ответ за последний контрольный период времени T; 2) сомнительный – узел, связь с которым отсутствует на протяжении времени T; 3) не актуальный – узел, не отвечающий на запросы в течение нескольких периодов опроса, допускается исключение данных о таком узле из DHT-таблицы. Таким образом, записи DHT-таблицы сохраняют свою актуальность при работе в сети. Ввиду сложности моделирования сценариев потери актуальности данный аспект в работе не анализируется.
3. Разработка модели
Построение современной имитационной модели сложной системы целесообразно с применением концепции объектноориентированного программирования (ООП). Это способствует повышению детализации модели учётом значимых факторов функционирования объекта и повышению точности результатов моделирования. Однако разработка корректной имитационной модели очень сложна и поэтому должна выполняться не только на основе естественного описания объекта моделирования. Раз-
509
547
![](/html/65386/197/html_AmyeWD7732.J7Uc/htmlconvd-4A1mQz548x1.jpg)
Управление большими системами. Выпуск XX
работке имитационной модели должно предшествовать описание модели на языке, близком к имитационному. Проработка архитектуры разрабатываемой модели, первичное определение структуры модели, её классов и объектов, свойственных им параметров, методов работы (в том числе диаграмм состояний и переходов, процессных диаграмм) способствует значительному сокращению времени разработки модели, сокращению числа допускаемых при разработке моделей ошибок и повышению корректности модели в целом. Представление указанного описания исследуемого объекта выполняется в работе с использованием языка описания онтологий (OWL). Разработанная онтология DHT-сети представлена на рис. 1.
|
nodeInfo |
|
|
sizeBacket |
|
|
infoHash |
|
numberEntries |
|
|
|
depthSearch |
|
numberNodes |
|
|
|
|
addNodes_infoHash |
server |
NETWORK |
|
|
|
nodeSearch |
|
ID |
DHT_table |
arrayIDs |
|
infoHash |
SERVER |
|
|
|
|
|
result_Search |
arrayNodes |
NODE |
Рис. 1. Онтология DHT-сети
Онтология сети показывает связи ключевых объектов модели DHT-сети. Каждый объект характеризуется индивидуальными параметрами, определяющими функционирование и характеристики сети. Основными объектами модели являются: 1) корневой объект сети Network; 2) сервер Server; 3) узлы класса Node.
510
548
![](/html/65386/197/html_AmyeWD7732.J7Uc/htmlconvd-4A1mQz549x1.jpg)
Информационные технологии в управлении техническими системами и технологическими процессами
Моделируемая сеть описывается параметрами: numberNodes – количество узлов DHT-сети; arrayNodes – массив узлов сети; numberEntries – минимальное число записей DHT-таблицы; sizeBacket – размер корзины; nodeInfo – узел источник информации; infoHash – идентификатор искомых данных; depthSearch – глубина поиска, количество итераций поиска; addNodes_infoHash – параметр, подразумевающий добавление новых идентификаторов узлов в DHT-таблицу, чьи ID более близки к Infohash; nodeSearch – узел, осуществляющий поиск данных. Сервер сети включает массив для хранения ассоциативной таблицы hashID узлов сети и соответствующих им индексов в массиве arrayNodes. Класс узлов сети описывается параметрами: идентификатор ID (hashID); идентификатор данных узла infoHash; DHT-таблица DHT_Table; коллекциясрезультатамипоискаresult_Search.
Для исследования протокола DHT согласно представленной онтологии создана имитационная модель сети в среде имитационного моделирования AnyLogic на основе языка программирования Java. Основной интерфейс модели показан на рис. 2.
Рис. 2. Интерфейс модели P2P-сети с протоколом DHT
511
549
Управление большими системами. Выпуск XX
Для удобства использования проработаны программные способы ручной и автоматизированной работы с моделью. Работа
смоделью выполняется по этапам.
1.Создание узлов и их уникальных идентификаторов hashID. Процедура выполняется в цикле, где создаются объекты класса узел (Node), добавляются в массив arrayNodes,
а их идентификаторы определяются с использованием алгоритма хеширования SHA-1 (от hashCode объекта) из подключенной библиотеки commons-codec-1.7. В массив объекта сервер записывается ассоциация hashID и индекса узла в мас-
сиве arrayNodes.
2.Заполнение DHT-таблиц узлов. Процедура выполняется
вцикле, где для каждого узла DHT-таблица заполняется
numberEntries необходимым минимальным числом записей с сервера. Процедура в модели упрощена по сравнению с представленным в п. 2.1 алгоритмом, но не влияет на результат случайного выбора идентификаторов узлов сети. Сложность этапа заключается в необходимости сортировки записей в DHT-таблице по возрастанию значений, что потребовало пересортировки таблицы класса ArrayList путём её промежуточного преобразования в таблицу класса TreeSet.
3.Выбор случайного узла nodeInfo в сети и создание случайного infoHash его данных.
4.Поиск и назначение узлов – представителей infoHash.
Программа на данном этапе реализует итеративный поиск узлов представителей по известному infoHash данных согласно процедуре, представленной в п. 2.2.
5. Выбор случайного узла nodeSearch, осуществляющего поиск данных по infoHash. Программа на данном этапе выбирает случайный узел, который должен осуществлять поиск данных по известному infoHash.
6. Поиск infoHash и вывод результатов. Процедура проводится аналогично этапу 4 по сценарию п. 2.2. В качестве результатов выводится число узлов, обладающих информацией о искомых данных.
Пример использования модели представлен на рис. 3.
512
550