Подтвердить что ты не робот

Как работает DHT в торрентах?

Я кодирую реализацию p2p, которую я хотел бы сделать децентрализованной, но у меня есть некоторые проблемы с пониманием того, как DHT в протоколах, таких как bittorrent. Как клиент знает, где находятся сверстники, если нет трекера? Хранители peer хранятся в реальном торрент файле?

4b9b3361

Ответ 1

При использовании трекеров без трекера /DHT IP-адреса одноранговых узлов хранятся в DHT с использованием BitTorrent infohash в качестве ключа. Так как все трекер делает, в основном, отвечает на запросы put/get, эта функциональность точно соответствует интерфейсу, который предоставляет DHT (распределенная хеш-таблица): он позволяет вам искать и хранить IP-адреса в DHT посредством infohash.

Таким образом, запрос "получить" будет искать BT-infohash и возвращать набор IP-адресов. В "put" хранится IP-адрес для данного infohash. Это соответствует запросу "анонс", который вы в противном случае сделали бы трекеру для получения словаря одноранговых IP-адресов.

В DHT одноранговые узлы случайным образом назначаются для хранения значений, принадлежащих небольшой доле ключевого пространства; хеширование гарантирует, что ключи распределяются случайным образом между участвующими одноранговыми узлами. Протокол DHT (Kademlia для BitTorrent) гарантирует, что запросы put/get будут эффективно распределены между сверстниками, ответственными за поддержание заданных ключевых списков IP-адресов.

Ответ 3

Что происходит с bittorrent и DHT, так это то, что в начале bittorrent использует информацию, встроенную в торрент файл, для перехода к трекеру или к одному из набора узлов из DHT. Затем, когда он найдет один node, он может продолжать находить других и продолжать использовать DHT, не требуя централизованного трекера для его поддержки.

Исходная информация загружает позднее использование DHT.

Ответ 4

Узлы DHT имеют уникальные идентификаторы, называемые Node ID. Node Идентификаторы выбираются случайным образом из того же 160-битового пространства, что и хэш-информация BitTorrent. Близость измеряется путем сравнения таблиц маршрутизации идентификаторов Node ID, чем ближе Node, тем более подробным, что приводит к оптимальному

Что тогда делает их более оптимальными, чем предшественник "Kademlia", который использовал простые целые без знака: distance (A, B) = | A xor B | Меньшие значения ближе. XOR. Кроме того, что он не был в безопасности, его логика была ошибочной.

Если ваш клиент поддерживает DHT, в нем зарезервировано 8 байтов, в котором содержится 0x09, за которым следует 2-байтная полезная нагрузка с портом UDP и DHT node. Если рукопожатие будет успешным, это будет продолжено.

Ответ 5

Сегодня найти сервис DHT torrent parser http://torrent-status.info Сервис парсинга семян и груш.