Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Управление большими системами. УБС-2017

.pdf
Скачиваний:
3
Добавлен:
12.11.2023
Размер:
17.48 Mб
Скачать

Информационные технологии в управлении техническими системами и технологическими процессами

сле чего осуществляется переход в следующее состояние для выбора промежуточного узла-получателя 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

Управление большими системами. Выпуск 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

Управление большими системами. Выпуск 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

Информационные технологии в управлении техническими системами и технологическими процессами

Моделируемая сеть описывается параметрами: 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