Где магнит / торрент-клиент ищет хэш / торрент / файл?

Короче:

В Википедии упоминается обязательный "поиск доступности" для поиска пиров (и фактического файла):

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

Куда смотрит клиент? Требуется ли для магнитной ссылки URI трекера или это для клиентской сети?

Больше информации:

Некий магнит URI/URN из tpb выглядит так:

magnet:?xt=urn:btih:e9b785fc2d70811a72df5a76bb34bd2eaf9df956&dn=Dances+with+Wolves+1990+20th+Anniversary+Extended+Cut+720p+BRRip&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80

Содержит 4 tr параметры запроса с (я полагаю) местоположениями трекера, которые содержат какой-то хэш-индекс. Тем не менее, Википедия не упоминает tr param, поэтому я предполагаю, что это не обязательно.

С чего клиент начинает поиск файла, если не включены URI трекера? А если есть? Я могу представить себе торрент-клиент (например, uTorrent), имеющий огромный индекс хэшей файлов.

2 ответа

Клиент будет использовать DHT и Peer Exchange для поиска клиентов, если трекеры не предоставлены.

Если трекеры перечислены, клиент сначала запросит их. Если ни одного из них нет в списке, DHT используется для запроса других клиентов на наличие копий файла, а затем PEX начинает поиск дополнительных копий после того, как найдена первая. Даже если трекеры найдены, клиент может использовать DHT для поиска дополнительных пиров.

Подход без трекера аналогичен сети Gnutella(2), если вы были знакомы с ее работой.

Другие вопросы по тегам