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

Как получить первый сверстник из ссылки torrent-magnet?

Я пытался понять технологию торрентов-магнитов, но я не могу понять, как вы подключаетесь к первому сверстнику при открытии магнитной ссылки.

Когда вы получаете ссылку на магнит, как показано ниже, в ней нет начального peer - только BitTorrent Info Hash (btih) и имя файла.

magnet:?xt=urn:btih:bbb6db69965af769f664b6636e7914f8735141b3&dn=ubuntu-12.04-desktop-i386.iso

Согласно BitTorrent и магниты: как они работают? (MakeUseOf)

Если вы нажмете ссылку на магнит, которая не укажет трекер (tr) , первый одноранговый узел будет найден с использованием DHT. После того, как вы получили равный подход, обмен пирамидами тоже.

В статье DHT в Википедии не указывается, как найти одноранговую сеть, но в статье Kademlia (на котором основан BitTorrent DHT), говорится:

A node, который хотел бы присоединиться к сети, должен сначала пройти процесс начальной загрузки. На этом этапе соединение node должно знать IP-адрес и порт другого node -a bootstrap node (полученного от пользователя или из сохраненного списка) - это уже участвуя в сети Kademlia.

Но откуда он знает, что node от? Я не вижу адреса или ничего присутствующего в ссылке на магнит. Поскольку он децентрализован (без следа), я бы не ожидал, что он будет знать node заранее. Или DHT фактически не децентрализован?

4b9b3361

Ответ 1

По большей части, когда вы запускаете клиент bittorrent, bootstrap off:

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

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

Затем вы можете нажать router.utorrent.com:6881. Я считаю, что передача, azureus и bitcomet запускают аналогичные маршрутизаторы и, возможно, другие клиенты.

Под "маршрутизатором" я подразумеваю node, который, как представляется, ведет себя как любой другой node в DHT, но, вероятно, имеет другой механизм для определения того, какие узлы выдавать, и, вероятно, оптимизирован специально для использования случай простого введения узлов dht друг к другу.

ОБНОВЛЕНИЕ: вы можете запустить свой собственный загрузочный компьютер DHT, здесь исходный код.