Использование chord для реализации торрент-сети

Насколько я понимаю, для реализации торрент-сети вам необходимо поддерживать карту от хеш-значения файла до списка пиров, доступных в сети.

Тем не менее, я думаю, что есть несколько проблем с этим.

  1. список будет постоянно меняться, так как он будет обновляться, когда узел присоединяется или уходит.
  2. список может стать очень длинным? но в сети dht может быть только одна версия списка (потому что это хеш-таблица)

person Gabriel    schedule 19.07.2019    source источник
comment
У Bittorrent уже есть официальная распределенная хеш-таблица для обнаружения пиров на основе kademlia. Он поддерживается большинством клиентов BitTorrent. bittorrent.org/beps/bep_0005.html   -  person the8472    schedule 24.07.2019


Ответы (1)


Вы должны поддерживать карту от хеш-значения файла до списка пиров, доступных в сети.

Это правильно, и это цель DHT. DHT будет хранить информацию о том, кто находится в сети и у кого есть определенная информация.

Список будет постоянно меняться, так как он будет обновляться, когда узел присоединяется или уходит.

Это также правильно, но DHT для битовых торрентов создаются с учетом этого, с протоколами для присоединения и удаления офлайн-пиров.

список может стать очень длинным? но в сети dht может быть только одна версия списка (потому что это хеш-таблица)

В том-то и дело, что DHT распределен, поэтому вам не нужно хранить весь DHT в одном месте. Вам нужно только найти информацию, которую вы ищете в сети.

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

Каждый DHT имеет свои собственные алгоритмы, вы можете найти некоторые подробности для Chord DHT здесь.

person luxcem    schedule 04.09.2019