Как дерево узлов Kademlia относится к информационному хешу торрент-файла?

Я пытаюсь понять, как работает Kademlia в поиске ресурса. Сейчас есть довольно хорошее описание для построения дерева узлов, которое ближе всего к самому узлу, как найти расстояние между узлами, как инициировать процесс и т. Д. Что я не понимаю, так это как файл infohash вписывается в эту картину, Все описания говорят нам, как войти в игру и создать свою собственную часть распределенной хэш-таблицы, но это не так. Мы делаем это для того, чтобы найти ресурс, файл с определенным информационным хешем. Как оно хранится в этом дереве узлов или есть отдельное? Как это работает, чтобы найти узлы, которые имеют этот infohash, следовательно, имея файл.

Есть краткое упоминание того факта, что идентификатор узла и информационный хэш, имеющие одинаковые 20-байтовые коды длины, и нечто такое, что информационный хэш идентификатора узла XOR - это расстояние между узлом и ресурсом, но я не могу представить, как это и как это помогает найти ресурс? Ведь идентификатор узла, фактически имеющий ресурс, может иметь наибольшее расстояние XOR до ресурса.

Спасибо Алекс

1 ответ

Я рекомендую вам не только прочитать спецификацию bittorrent DHT, но и оригинальную статью о kademlia, поскольку первая довольно краткая и лишь мимоходом упоминает некоторые вещи.

Bittorrent-х get_peers поиск эквивалентен find_value Операция описана в статье.

Вкратце: точно так же, как вы можете выполнить итеративный поиск, чтобы найти K-closest-node-set - ближайший на основе xor-distance относительно целевого ключа - для идентификатора вашего собственного узла вы можете сделать это для любого другого идентификатора.

За get_peers Вы просто используете infohash как целевой ключ.

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

Другие вопросы по тегам