Если у меня есть торрент без каких-либо трекеров, и я только что запустил битторент-клиент, поэтому у меня еще нет пиров ... как мне узнать, с кем сначала подключиться в DHT? Похоже, мне нужно знать хотя бы ОДИН узел в DHT, чтобы начать ...
Как загружается DHT в Bittorent-клиенте?
Ответы (7)
Когда клиент BitTorrent подключается к DHT, существует начальное место, куда он направляется для поиска пиров. В оригинальном BitTorrent-клиенте был URL-адрес bitorrent.com, который помог бы начать работу. Я попытался найти ссылку, но не смог ее найти. После того, как вы установили соединения с другими клиентами, вы можете сделать announce
в сети DHT, чтобы найти пиров для торрента, который вы ищете.
Вот ссылка на спецификации BitTorrent, в которых обсуждается DHT.
Торрент-словарь без трекера не имеет кнопки «анонс». Вместо этого торрент без трекера имеет ключ «узлов». Этот ключ должен быть установлен на K ближайших узлов в таблице маршрутизации клиента, генерирующего торрент. В качестве альтернативы ключ может быть установлен на заведомо исправный узел, например, управляемый человеком, генерирующим торрент. Пожалуйста, не добавляйте автоматически router.bittorrent.com в торрент-файлы или автоматически добавляйте этот узел в таблицы маршрутизации клиентов.
announce
в сети DHT? Я думал, вы сделали get_peers()
или даже реферат get()
, чтобы найти пэров?
- person gsk; 03.08.2012
Основные узлы начальной загрузки DHT - это router.utorrent.com
и CNAME для него, router.bittorrent.com
. Порт 6881
.
график внизу этого сайта проекта мониторинга DHT показывает
- dht.transmissionbt.com
- router.utorrent.com
- router.bittorrent.com
как бутстрэппинг-пэры
В BiTTorrent у вас есть три основных варианта:
- Торрент-файл: некоторые торрент-файлы могут встраиваться
nodes
, с помощью которых вы можете ссылаться на DHT (на самом деле, это рекомендуется при создании торрент-файла) - Жесткое кодирование: некоторые торрент-клиенты жестко кодируют несколько узлов начальной загрузки (например, упомянутые stk). Обычно они выполняются компаниями и организациями с давно работающими серверами.
- PEX / Peer Conversations: обычно вы можете запросить DHT-узлы у людей, у которых вы загружаете другие торренты (если ваши клиенты понимают друг друга, т. е. некоторые версии несовместимы).
Transmission
использует жестко запрограммированный узел начальной загрузки для dht, если нет другого способа получить сверстники:
bootstrap_from_name( "dht.transmissionbt.com", 6881, bootstrap_af(session) );
Я предполагаю, что каждый торрент-клиент использует свой собственный узел начальной загрузки.
Для записи, Deluge также использует жестко запрограммированные узлы ускорения:
dht_bootstraps = set(
lt_bootstraps.split(',')
+ [
'router.bittorrent.com:6881',
'router.utorrent.com:6881',
'router.bitcomet.com:6881',
'dht.transmissionbt.com:6881',
'dht.aelitis.com:6881',
]
)
Клиент может узнать о других партнерах, поддерживающих DHT, через взаимодействие с ними. Поддержка DHT со стороны партнера объявляется в его рукопожатии. Как только клиент обнаруживает хотя бы один хороший, хорошо подключенный одноранговый узел DHT, он может перемещаться по DHT, чтобы находить все больше и больше близких узлов DHT. Он будет запоминать эти одноранговые узлы, называемые узлами на языке DHT, между перезапусками программного обеспечения и постоянно поддерживать / обновлять список во время его работы. В худшем случае, когда клиент не знает хороших одноранговых узлов с поддержкой DHT, вам потребуется загрузить торрент на основе трекера, чтобы он мог, надеюсь, связаться с несколькими хорошими партнерами с поддержкой DHT, о которых он узнает через трекер.
Обновление: для исходного списка узлов DHT, как указывает @Seppo, торрент-клиент может использовать одно или несколько жестко заданных DNS-имен для поиска адресов хорошо известных одноранговых узлов, а также может включите жестко запрограммированный список одноранговых узлов в качестве последнего запасного варианта. Одно ограничение DNS, однако, это отсутствие информации о порте, поэтому обычно предполагается порт по умолчанию 6881, тогда как другие средства поддерживают одноранговые узлы, работающие на разных портах.