Как загружается DHT в Bittorent-клиенте?

Если у меня есть торрент без каких-либо трекеров, и я только что запустил битторент-клиент, поэтому у меня еще нет пиров ... как мне узнать, с кем сначала подключиться в DHT? Похоже, мне нужно знать хотя бы ОДИН узел в DHT, чтобы начать ...


person puffpio    schedule 25.07.2009    source источник


Ответы (7)


Когда клиент BitTorrent подключается к DHT, существует начальное место, куда он направляется для поиска пиров. В оригинальном BitTorrent-клиенте был URL-адрес bitorrent.com, который помог бы начать работу. Я попытался найти ссылку, но не смог ее найти. После того, как вы установили соединения с другими клиентами, вы можете сделать announce в сети DHT, чтобы найти пиров для торрента, который вы ищете.

Вот ссылка на спецификации BitTorrent, в которых обсуждается DHT.

Торрент-словарь без трекера не имеет кнопки «анонс». Вместо этого торрент без трекера имеет ключ «узлов». Этот ключ должен быть установлен на K ближайших узлов в таблице маршрутизации клиента, генерирующего торрент. В качестве альтернативы ключ может быть установлен на заведомо исправный узел, например, управляемый человеком, генерирующим торрент. Пожалуйста, не добавляйте автоматически router.bittorrent.com в торрент-файлы или автоматически добавляйте этот узел в таблицы маршрутизации клиентов.

person Chris Thompson    schedule 25.07.2009
comment
Вы announce в сети DHT? Я думал, вы сделали get_peers() или даже реферат get(), чтобы найти пэров? - person gsk; 03.08.2012

Основные узлы начальной загрузки DHT - это router.utorrent.com и CNAME для него, router.bittorrent.com. Порт 6881.

person Martin v. Löwis    schedule 25.07.2009
comment
Спасибо! Это может быть единственное место в сети, где полные адреса даны в виде обычного текста. - person Matt Joiner; 09.03.2012
comment
Если вы посмотрите на DNS, они разрешаются в одно и то же место, где router.bittorent.com является CNAME для router.utorrent.com. Это один и тот же узел. - person anthonyryan1; 02.10.2013

график внизу этого сайта проекта мониторинга DHT показывает

  • dht.transmissionbt.com
  • router.utorrent.com
  • router.bittorrent.com

как бутстрэппинг-пэры

person stk    schedule 16.04.2012
comment
BitTorrent опубликовал исходный код, поэтому теперь вы можете запустить свою собственную машину начальной загрузки DHT: github.com/bittorrent/bootstrap -dht - person Encombe; 08.11.2014
comment
@stk эта ссылка не работает (сначала неверно настроенный ssl, затем страница отсутствует). - person ctrl-alt-delor; 24.08.2019
comment
@ ctrl-alt-delor ну, этому ответу более 7 лет, такое случается ... в любом случае, в подобных случаях попробуйте откопать его на Wayback Machine: https://web.archive.org/web/20120508202413/https://dsn.tm.uni-karlsruhe.de/english/2936.php - person stk; 26.08.2019
comment
Вот почему ссылки плохие. (ссылки тоже хороши, но в этом случае они могут быть плохими), может быть хорошо добавить изображение или цитату, а также ссылку. - person ctrl-alt-delor; 26.08.2019
comment
Гм, нет. Ссылки сами по себе плохие. Вы должны указать соответствующую информацию в самом ответе, что я, очевидно, и сделал. Эти маркеры - цитата. Ссылка - это всего лишь ссылка на первоисточник. - person stk; 27.08.2019

В BiTTorrent у вас есть три основных варианта:

  • Торрент-файл: некоторые торрент-файлы могут встраиваться nodes, с помощью которых вы можете ссылаться на DHT (на самом деле, это рекомендуется при создании торрент-файла)
  • Жесткое кодирование: некоторые торрент-клиенты жестко кодируют несколько узлов начальной загрузки (например, упомянутые stk). Обычно они выполняются компаниями и организациями с давно работающими серверами.
  • PEX / Peer Conversations: обычно вы можете запросить DHT-узлы у людей, у которых вы загружаете другие торренты (если ваши клиенты понимают друг друга, т. е. некоторые версии несовместимы).
person gsk    schedule 03.08.2012

Transmission использует жестко запрограммированный узел начальной загрузки для dht, если нет другого способа получить сверстники:

bootstrap_from_name( "dht.transmissionbt.com", 6881, bootstrap_af(session) );

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

person Seppo Erviälä    schedule 25.09.2012

Для записи, 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',
    ]
)
person MestreLion    schedule 11.12.2015

Клиент может узнать о других партнерах, поддерживающих DHT, через взаимодействие с ними. Поддержка DHT со стороны партнера объявляется в его рукопожатии. Как только клиент обнаруживает хотя бы один хороший, хорошо подключенный одноранговый узел DHT, он может перемещаться по DHT, чтобы находить все больше и больше близких узлов DHT. Он будет запоминать эти одноранговые узлы, называемые узлами на языке DHT, между перезапусками программного обеспечения и постоянно поддерживать / обновлять список во время его работы. В худшем случае, когда клиент не знает хороших одноранговых узлов с поддержкой DHT, вам потребуется загрузить торрент на основе трекера, чтобы он мог, надеюсь, связаться с несколькими хорошими партнерами с поддержкой DHT, о которых он узнает через трекер.

Обновление: для исходного списка узлов DHT, как указывает @Seppo, торрент-клиент может использовать одно или несколько жестко заданных DNS-имен для поиска адресов хорошо известных одноранговых узлов, а также может включите жестко запрограммированный список одноранговых узлов в качестве последнего запасного варианта. Одно ограничение DNS, однако, это отсутствие информации о порте, поэтому обычно предполагается порт по умолчанию 6881, тогда как другие средства поддерживают одноранговые узлы, работающие на разных портах.

person penguin359    schedule 30.03.2011