Применение модели метризованного случайного графа со свойствами тесного мира к построению службы DNS

Информационные технологии Вестник Нижегородского университета им. Н.И. Лобачевского, 2011, Ns 3 (2), с. 207-211

УДК 004.057.4

ПРИМЕНЕНИЕ МОДЕЛИ МЕТРИЗОВАННОГО СЛУЧАЙНОГО ГРАФА СО СВОЙСТВАМИ ТЕСНОГО МИРА К ПОСТРОЕНИЮ СЛУЖБЫ DNS

© 2011 г. Д.А. Гусев

Нижегородский государственный технический университет им. Р.Е. Алексеева

gucello@mail.ru

Поступила в редакцию 13.04.2010

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

Ключевые слова: DNS, иерархическая структура, распределённая модель, метризованный тесный мир, метрика, децентрализация, сильная связанность, локальность, метрическая кластеризация.

Существующая модель DNS

Domain Name System - система доменных имён - распределённая система, способная по запросу, содержащему доменное имя хоста (компьютера или другого сетевого устройства, а также электронного почтового ящика, sip-адреса), сообщить IP адрес или (в зависимости от запроса) другую информацию. Как частный случай, DNS может хранить и обрабатывать и обратные запросы - определение доменного имени хоста по его IP адресу. В рамках данного исследования для нас наиболее важными являются следующие характеристики системы доменных имён:

• Иерархическая структура - все DNS-серверы объединены в дерево, и каждый сервер может или самостоятельно определять работу нижестоящих серверов, или передавать их функции другим серверам.

• Распределённая модель хранения информации. Каждый DNS-сервер в обязательном порядке должен хранить только те данные, которые входят в его зону ответственности, и адреса корневых DNS-серверов.

По обращении к официальным документам, описывающим организацию службы DNS [1-2], и после анализа DNS трафика, идущего из локальной сети во внешнюю сеть, автором были выделены следующие недостатки существующей службы DNS:

• Большая нагрузка приходится на корневые сервера, причём эта нагрузка имеет импульсный характер, соответственно стремятся увеличить

пропускную способность каналов связи, при этом достаточно большое время они простаивают.

• Нет возможностей расчёта оптимальной стоимости маршрута.

• Несовершенная система динамического обновления ресурсных записей DNS.

• В службе DNS нет встроенной многоязыковой поддержки, для этого требуется на DNS-серверах и клиентах дополнительно организовывать поддержку IDN (англ. International Domain Names).

• Формат передаваемых пакетов строго формализован и не допускает какого-либо расширения.

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

Модель METRIZED SMALL WORLD

MSW (Metrized Small World) - англ. «метризованный тесный мир» - модель графа, используемая в продукте компании «Мералабс» -Metrized Small World Data Storage. Модель предполагает построение глобальной распределенной архитектуры хранения и поиска информации, действующей в контексте сети Интернет и содержащей петабайтные объемы данных,

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

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

Полученный сложный граф обладает следующими специальными свойствами [3]:

1. Децентрализация: каждый узел структуры должен быть соединён с другими с помощью указателей использования узлов (ссылки) некоторым однородным способом.

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

3. Локальность: каждый узел должен хранить небольшое количество ссылок: (O(Log(n)) или O(1)).

4. Метрическая кластеризация: пары узлов, имеющих низкое значение метрики, принадлежат общим кластерам.

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

Изменение структуры DNS

Применение модели MSW к службе DNS позволит осуществить следующее:

• Удалить корневые DNS-серверы. Дерево поиска нужного доменного имени можно будет выстроить из любого узла, т.к. узлы уже будут иметь достаточно связей для осуществления поиска нужного узла. Это означает, что посланный нами запрос о разрешении имени на ближайший DNS-сервер будет рекурсивно посылаться на связанные серверы, пока не будет найдено искомое имя или определено, что такого имени нет.

• Удаление корневых DNS-серверов, являющихся узким местом в иерархической структуре DNS, даст возможность равномерно распределить нагрузку на каналы связи. Запросы на разрешение имени будут в таком случае идти от одного связного сервера к другому, причём положение их в общей системе будет равноправно.

• Использовать расширяемый формат передаваемых пакетов. В связи с тем, что в системе Metrized Small World Data Storage для хранения данных и обмена ими между узлами используется формат XML (англ. extensible Markup Language, «расширяемый язык разметки»), передаваемые пакеты могут содержать любой объём информации.

• Использование XML позволит встроить многоязыковую поддержку в сам протокол обмена информацией между узлами. Соответственно и на DNS-клиенте, и на DNS-сервере не потребуется разворачивать дополнительных модулей для отображения имён на национальных языках в символы английского алфавита.

Моделирование

В процессе исследования работы Metrized Small World Data Storage применительно к задачам DNS были проведены эксперименты по добавлению новых узлов в систему. Так как при добавлении узла осуществляется поиск наилучшего места для него в сети - с наименьшей метрикой, то, фактически, получается, задействуются две операции - поиска и добавления [4]. И, соответственно, отдельно операция поиска не даст сколь-либо отличающихся результатов.

Условия эксперимента во всех случаях: локальная сеть пропускной способностью 100 Мбит/с, три компьютера с запущенными экземплярами сервера Metrized Small World Data Storage, на одном из компьютеров было запущено клиентское приложение, посылавшее команды на добавление новых узлов, по поиску уже имеющихся.

Во время первого эксперимента производилось добавление узлов с именами nameXXX.com и с IP-адресами вида 213.YY.YY.YY, причём

XXX е N и УУ е N, и выбирались они по порядку. В результате получили линейную зависимость времени добавления узлов (¿, мс) в систему от количества узлов (п, шт) (рис. 1). В этом случае граф терял свойства «тесного мира» и превращался в связный список, т.к. каждый новый узел добавлялся в конец, потому что

метрика между соседними узлами получалась минимальной. Данный случай является идеализированным, т.к. на практике регистрация доменных имён вида nameXXX.com в большом количестве не требуется, если же такое будет происходить, то модель MSW будет непригодна к реализации на базе неё службы БШ.

Рис. 1. Зависимость времени добавления узлов в систему от количества узлов при их добавлении в прямом порядке

Далее рассматриваются случаи, более близкие к реальности, - случайный выбор доменного имени и 1Р-адреса.

При добавлении узлов с именами и с 1Р-адресами того же вида, но где XXX є N и УУ є N выбирались случайным образом, получили логарифмическую зависимость времени добавления узлов в систему от количества уже находящихся в ней узлов (рис. 2).

В этом случае модель демонстрировала ожидаемое свойство, необходимое для реализации на базе её службы Б^, - логарифмическую зависимость времени поиска элементов в базе. Это свойство было достигнуто после добавления 250000 узлов. Это вполне приемлемо, т.к. количество зарегистрированных хостов в сети Интернет на март 2010 г. составляет 206675938 шт. [5].

Рис. 2. Зависимость времени добавления узлов в систему от количества узлов при их добавлении в случайном порядке

Чтобы улучшить характеристики исследуемой системы, было предложено увеличить количество связей между узлами, выделив в отдельные слои пространство доменных имён и пространство 1Р-адресов. В эксперименте использовались аналогичные имена и 1Р-адреса, где XXX є N и УУ є N выбирались случайным образом. Удалось получить логарифмическую

зависимость времени добавления узлов в систему уже после добавления 40000 узлов (рис. 3). Увеличение связей в данном случае дало положительный эффект, но при сильном увеличении их количества - в предельном случае «каждый с каждым» - граф снова будет вырождаться в список, т.к. поиск нужного узла будет производиться перебором всех связанных узлов.

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

Обратим внимание на результаты второго эксперимента (рис. 2). Зависимость времени добавления узлов в систему можно аппроксимировать логарифмической кривой, при этом имеется разброс значений. Основная масса находится в пределах среднеквадратического отклонения: в начале эксперимента (до 10000 добавленных узлов) его значение 400 мс, в конце (на отметке 250000 узлов) - 500 мс, но при этом имеются резкие скачки значений времени добавления: количество выбросов длительностью >2000 мс 907 шт (0.302% от общего количества процедур добавления узлов), длительностью >3000 мс - 76 шт (0.025%), длительностью >4000 мс - 3 шт (0.001%), случаев превышения тайм-аута HTTP-соединения зафиксировано не было. Из этого следует, что исследуемая система может работать в заранее определённых временных рамках, а больших выбросов значений времени работы можно избежать путём введения предельной длины маршрута DNS запроса от сервера к серверу, при превышении которой запрос можно было бы дальше не перенаправлять.

Выводы

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

Список литературы

1. RFC 1034. Domain names - concepts and facilities. URL: http://www.ietf.org/rfc/rfc1034.txt (дата обращения: 28.03.2010).

2. RFC 1035. Domain names - implementation and

specification. URL: http://www.ietf.org/rfc/rfc1035.txt

(дата обращения: 28.03.2010).

3. Krylov V., Logvinov A., Ponomarenko A., Ponomarev D. Metrized Small World Properties Data Structure // Proc. SEDE. ISCA, 2008. P. 203-208.

4. Krylov V., Logvinov A., Ponomarenko A., Ponomarev D. Active Database Architecture for XML Documents // Proc. CAINE. ISCA, 2008. P. 244-249.

5. http://news.netcraft.com

USING METRIZED RANDOM GRAPH MODEL WITH SMALL WORLD PROPERTIES TO DESIGN A

DNS SERVER

D.A. Gusev

This article analyzes a possibility to apply a new universal architecture based on the mathematical model of the metrized random graph with small world properties to design a DNS server. Some possible ways are considered to eliminate the shortcomings of the current DNS service by implementing the proposed architecture.

Keywords: Domain Name System (DNS), hierarchical structure, distributed model, metrized small world, metric, decentralization, strong connectivity, locality, metric clustering.