Децентрализованный каталог

Для того чтобы избежать проблем, порождаемых централизацией, естественно попытаться распределить ресурсы центрального каталога между одноранговыми системами. Подобный подход был использован в системе KaZaA/FastTrack [141], завоевавшей широкую популярность в 2001-2002 годах.

Как показано на рис. 2.31, часть одноранговых систем выделяется, и они становятся лидерами групп. Все остальные системы входят в состав одной из групп и связаны с ее лидером. Получив IP-адрес лидера своей группы, каждый пользователь отсылает ему список доступных файлов; таким образом, лидер группы хранит базу данных, связывающую IP-адреса членов группы с именами файлов. В такой схеме исходная система фактически разбивается на множество связанных между собой одноранговых подсистем, в которых лидер группы играет роль центрального сервера. Необходимо отметить, что лидер группы отличается от ее «рядовых» членов лишь тем, что располагает базой данных о ресурсах группы; было бы ошибочно думать, что он представляет собой выделенный сервер.

231.png

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

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

Например, неясны механизмы назначения лидеров групп и закрепления за ними новых пользователей. Поскольку процесс подключения и отключения пользователей непрерывен и интенсивен, оверлейная сеть постоянно меняется. Для принятия в сеть нового пользователя необходимо установить соединение последнего хотя бы с одним уже подключенным к сети пользователем. Очевидно, что для подключения потенциальный пользователь должен получить IP-адрес своего будущего лидера группы. Это делается при помощи одного или нескольких специальных узлов начальной загрузки. Будущий одноранговый пользователь сначала устанавливает соединение с узлом начальной загрузки, который сообщает ему IP-адрес лидера группы, а затем с помощью полученного IP-адреса устанавливает соединение с лидером группы. Иногда узел начальной загрузки может сразу присвоить новой системе статус лидера группы. В этом случае система получает IP-адреса других (возможно, всех) лидеров групп системы. Поскольку узлы начальной загрузки являются непрерывно функционирующими серверами, их IP-адреса доступны по протоколу DNS.

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

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

Решение только этой задачи уже представляет немалую трудность. Во-вторых, несмотря на относительно низкую степень централизации, лидеры групп не являются истинно одноранговыми (то есть равноправными) по отношению к остальным членам групп. Полностью децентрализованная система предполагает равенство всех ее составных частей. Лидеры групп вынуждены выполнять относительно более широкий круг обязанностей, тем самым становясь потенциальным «узким местом» с точки зрения загрузки. Кроме того, в системе присутствует непрерывно функционирующий сервер, выполняющий функции узла начальной загрузки. Несмотря на то, что функции узла начальной загрузки не представляют сложности (присоединение новых систем к лидерам групп, назначение лидеров групп и поддержка оверлейной сети), в каждый момент времени необходимо присутствие хотя бы одного такого узла.

Данная статья "Децентрализованный каталог" размещена на сайте Компьютерные сети и многоуровневая архитектура интернета (conlex.kz) в ознакомительных целях.

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

Ответственность, за все изменения, внесённые в систему по советам данной статьи, Вы берёте на себя.

Копирование статьи "Децентрализованный каталог", без указания ссылки на сайт первоисточника Компьютерные сети и многоуровневая архитектура интернета (conlex.kz), строго запрещено.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *