Я пытался понять технологию торрент-магнита, но не могу понять, как вы подключаетесь к первому узлу при открытии магнитной ссылки.
Когда вы получаете магнитную ссылку, как показано ниже, она не содержит исходного однорангового узла - только BitTorrent Info Hash (btih) и имя файла.
magnet:?xt=urn:btih:bbb6db69965af769f664b6636e7914f8735141b3&dn=ubuntu-12.04-desktop-i386.iso
Согласно BitTorrent и магниты: как они работают? (MakeUseOf)
Если вы нажмете магнитную ссылку, в которой не указан трекер (
tr
) , первый одноранговый узел будет найден с помощью DHT. Когда у вас есть коллега, тоже вступает в силу обмен.
В статье DHT в Википедии не указано, как найти однорангового узла, но в Статья Кадемлии (на которой основан BitTorrent DHT), в ней говорится
Узел, который хотел бы присоединиться к сети, должен сначала пройти процесс начальной загрузки. На этом этапе присоединяющийся узел должен знать IP-адрес и порт другого узла - узел начальной загрузки (полученный от пользователя или из сохраненного списка), который уже участвует в сети Kademlia. .
Но откуда он знает этот узел? Я не вижу адреса или чего-либо еще в магнитной ссылке. Поскольку он децентрализован (без трекера), я бы не ожидал, что он заранее знает узел. Или DHT на самом деле не децентрализован?