Page 1 of 1

Идея: Совместный поиск.

PostPosted: 17 May 2010 13:58
by ivan386
Публикация в сети DHT большого количества файлов это достаточно длительная процедура поэтому я предлагаю другой подход.

Запуская поиск по хешу клиент публикует свой адрес в сети DHT и получает адреса других клиентов которые также ищут этот файл. На этом работа DHT окончена.

Далее клиент соединяется с остальными и обменивается результатами поиска (альтернативные источники).
Также он может сообщать адреса хабов которые он уже опросил чтобы остальные могли проверить другие.

Re: Идея: Совместный поиск.

PostPosted: 05 Jun 2010 22:10
by raspopov
Из сети DHT нельзя получить адреса тех кто искал.

Re: Идея: Совместный поиск.

PostPosted: 06 Jun 2010 07:53
by ivan386
Естественно они будут отправлять announce_peer.

Re: Идея: Совместный поиск.

PostPosted: 06 Jun 2010 08:04
by raspopov
Ты не понял почему нельзя получить из DHT эти данные - просто по тому, что никто из членов DHT их не сохраняет.

Re: Идея: Совместный поиск.

PostPosted: 06 Jun 2010 11:37
by ivan386
Сохранять будет тот же кто и ищет. На данный момент клиенты Shareaza. Я уже сделал это возможным в Lua DHT.

Но пока это не удобно поскольку надо делать специальные ссылки для файлов и добавлять их как источник. Если сделать эмулятор хаба это конечно будет удобней (Но это в разработке).

BitTorrent DHT хранит на ноде данные hash,ip,port и что за ними скрывается ноде абсолютно пополам.

sha1 хеш для поиска и публикации получается из bencode словаря содержашего urn файла и протокола связи.
sha1(d15:urn:tree:tiger:24:[хеш в RAW виде|hash in RAW]8:protocol7:uri-rese)

синтаксис словаря жестко определён и каждый клиент генерирует идентичные bencode словари для идентичных пар хеш-протокол. Соответственно и хеш его будет одинаковый.
sha1({[имя урн]=[хеш в RAW виде], protocol=[название протокола]})

protocol:
ed2k
uri-res (G2)
Gnutella
BitTorrent (default)

urn names | имена urn

urn:tree:tiger: (preferred | предпочитаемый)
urn:sha1:
urn:ed2k:
urn:md5:

Поскольку стандартные клиенты не берут хешей из DHT, они не будут пытаться ломиться с этими хешами по опубликованным адресам.

Ещё вопросы?