Одноранговая система разрешения имен сетевых устройств

Исследователи компании МераЛабс разрабатывают архитектуру децентрализованной системы разрешения имен сетевых устройств в глобальных ip-сетях. В основе данной архитектуры лежит одноранговая самоорганизующаяся сеть.

История

История систем разрешения имен интернет-устройств началась с файла hosts.txt, хранившим имена всех сетевых устройств. Файл составлялся и администрировался централизованно. В начале 1980-х количество сетевых устройств стало рости слишком быстрыми темпами для того, чтобы обновлять и рассылать файл в приемлемое время. Для решения этой проблемы Пол Мокапетрис и другие исследователи разработали и создали первую реализовацию распределнной системы разрешения имен интернет устройств. Эта система известна нам как Система Доменных Имен (Domain Name System, DNS).

Работоспособность многих интернет-приложений и технологий зависит от корректной работы системы DNS. Так современная глобальная паутина WWW и электронная почта активно используют доменные имена в своей работе. В DNS была введена административная иерархия имен. Также, ответственность за корректное разрешение имени стало неотъемлемой частью права обладания этим доменным именем.

Изначальная концепция системы доменных имен не содержала средств обеспечения безопасности. Одной из причин этого было то, что административная структура системы повторяла её сервисную структуру и предполагалось что в систему не попадут "случайные люди". В начале 1990-х для решения проблем безопасности были введено расширение протокола системы: DNS Security Extensions (DNSSEC).
DNSSEC позволяет проверять подлинность и целостность данных, получамых в качестве ответа. Таким образом, аутентификация данных была эффективно отделена от самого сервиса.

Мотивация

Системы разрешения имен интернет-устройств исторически двигались от централизованного управления (hosts.txt) к распределнному (DNS). Однако система DNS всё еще имееет некоторые признаки цетрализации - корневой домен. Можно предположить, что следующим шагом в развитии таких систем станет полностью децентрализованная система. Вполне вероятно что система будет организована в виде одноранговой сети.

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

Одноранговая система имен:

  • более устойчива, чем DNS ввиду своей децентрализованной структуры
  • может иметь малое время отклика (благодаря кешированию)
  • обладает лучшей масштабируемостью
  • может содежрать механизмы аутентификации данных
  • может изменить понятие "имени" устройства, расширив его
  • может обладать более гибким механизмом поиска данных

Наше решение

Каждому сетевому устройству ставится в соответствие специальный идентификационный цифровой документ, называемый "кибер паспортом". Эти кибер паспорта содержат как техническую информацию об устройстве (сетевой адрес, доменное имя или MAC-адрес устрйоства), информацию о владельце устройства, а также прочую, дополнительную информацию.

Данные хранимые в кибер-паспортах, защищены от подделки при помощи механизмов цифровой подписи. Для аутентификации открытых ключей может использоваться внешний сервис (PKI или Web of Trust).

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

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

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

Для построения сети кибер паспортов и поиска данных в ней могут использоваться различные механизмы. Одним из возможных механизмов являются распределенные хеш-таблицы (Distributed hash tables, DHT). Однако, компания МераЛабс разработала собственный метод построения и поиска данных в одноранговых сетях: "Метризованный тесный мир" (MSW).

Мы полагаем, что решение использующее MSW обладает преимуществом над решением с DHT, так как обладает большей гибкостью, например MSW позволяет производить ранжированные запросы к системе, в то время как большинство DHT не поддерживают такой тип запросов.

Сравнение одноранговой системы имен и DNS

Устойчивость системы

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

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

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

Время отклика

Большинство запросов в системе DNS получают ответ в течении миллисекунд. Такая эффективность во многом основана на агрессивном использовании кеширования данных.

Кеширование это "механизм, при использовании которого данные, полученные в качестве ответа на запрос клиента, могут быть локально сохранены для использования в качестве ответа на последующие запросы данного или любого другого клиента" [1].

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

Исследовательская команда из MIT, в составе Russ Cox, Athicha Muthitacharoen и Robert T. Morris исследовала возможность создания одноранговой системы разрешения имен на основе распределенных хеш-таблиц [2],[3]. Одним из результатов их исследований стало наблюдение о том, что время отклика при некешируемых ответах для системы на основе DHT, намного превышает время отклика системы DNS. Авторы приходят к выводу, что система разрешения имен сетевых устройств не может быть построена на основе DHT и на основе каких-либо одноранговых сетей в принципе.

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

Ссылки

[1] Paul Mockapetris, Kevin Dunlap "Development of the Domain Name System"

[2] Russ Cox, Athicha Muthitacharoen, Robert T. Morris “Serving DNS using a Peer-to-Peer Lookup Service”

[3] Russ Cox, Athicha Muthitacharoen, Robert Morris “DNS and Distributed Hash Tables Not Quite Perfect Together”