barcamilreal
Ученик
(170)
15 лет назад
DHT (Distributed hash table) — это протокол, позволяющий битторрент клиентам находить друг друга без использования трекера.
Клиенты с поддержкой DHT образуют общую DHT сеть, и помогают друг другу найти участников одних и тех же раздач.
Поддержка DHT есть в клиентах Mainline, µTorrent, KTorrent, BitSpirit и BitComet. В Azureus есть собственная реализация DHT, то есть Azureus клиенты образуют свою собственную отдельную DHT сеть.
Функции
И DHT и PEX фактически выполняют основную функцию трекера — помогают участникам файлообмена узнать друг о друге. Они могут:
1. Помочь участникам быстрее друг друга найти
Например, на раздаче есть пир X с недоступным портом. К раздаче подключается пир Z, который сам начать соединение к X не может, и вынужден ждать, пока Х о нём узнает сам. Х только что обращался к трекеру, и в следующий раз собирается это сделать через час.
Но вот пир Y в очередной раз обращается к трекеру и узнаёт про нового пира Z. При этом Y сам давно уже соединен и занимается файлообменом с X, поэтому он через PEX сообщает X адрес этого нового пира. Теперь X может начать соединение к Z.
2. Снизить нагрузку на трекер
Некоторые клиенты, например Azureus, получая адреса пиров через DHT или PEX, реже обращаются за списком пиров на трекер.
3. Поддержать участников вместе в периоды недоступности трекера
Известно, что если трекер является единственным источником информации о пирах, то при его неработоспособности раздача постепенно останавливается. Клиенты помнят уже известные списки адресов других пиров, но постепенно эти списки устаревают — некоторые пользователи отключаются от раздачи, у некоторых меняется IP адрес, а новые пользователи не могут подключиться к раздаче вообще.
PEX позволяет несколько замедлить процесс распадения роя участников, а DHT позволяет полностью заменить трекер, то есть даже подключаться к раздаче новым участникам.
4. DHT позволяет раздавать вообще без трекера
Такая раздача называется trackerless. Торрент для нее создается без адреса трекера, и клиенты друг друга находят через DHT сеть.
При участии в trackerless раздачах БТ клиенты приобретают определённое сходство с eMule, использующим сеть KAD.
Механизм работы DHT
Реализация распределеной сети в БТ клиентах основана на варианте DHT, называемом Kademlia. А вообще говоря, DHT (Distributed hash table) означает децентрализованную распределенную систему для объединения большого количества постоянно исчезающих и появляющихся узлов и эффективной передачи сообщений между ними. На основе DHT структур строят разные более сложные системы, такие как P2P файлообмен, кооперативное веб кеширование, DNS сервисы и т. п.
DHT использует UDP протокол. БТ клиенты слушают тот же UDP номер порта, который они используют для входящих TCP соединений. Если вы активно используете DHT, то открытие этого UDP порта для доступа снаружи желательнo, но не обязательно — DHT будет работать и так.
Shurovik
Искусственный Интеллект
(709609)
15 лет назад
Ну, насчет DHT (а не DNT, смотрите внимательнее! ) вам уже объяснили. А насчет того, включать или нет - подобная информация обычно для каждого трекера разная. Но учтите, что при включенном DHT информация в клиенте о переданном и принятом трафике будет не совпадать с информацией на трекере (в профиле) . Потому что в этом случае не трекер организовывает подключение.
Если же ваша версия работает стабильно, то не спешите обновлять. Хотя обновление, как правило, лишь улучшает программу (но бывают и исключения) . На трекерах тоже пишут, какие клиенты совместимы с трекером.
У меня торрент 1.6... Надо обновлять или необязательно?