DHT
DHT (Distributed hash table распределенная хэш-таблица)— это протокол, позволяющий битторрент-клиентам находить друг друга без использования трекера.
Клиенты с поддержкой DHT образуют общую DHT-сеть и помогают друг другу найти участников одних и тех же раздач.
Поддержка DHT есть в клиентах Mainline, µTorrent, KTorrent, Deluge, BitSpirit, Transmission и BitComet. В Azureus
есть собственная реализация DHT, то есть клиенты Azureus образуют свою
собственную отдельную DHT-сеть, а с помощью плагина mainlineDHT
присоединяются к стандартной сети DHT, участвуя одновременно в обеих
сетях.
PEX
PEX (Peer exchange) — это расширение протокола для обмена списками участников.
PEX реализуется как дополнительные сообщения между клиентами, уже
соединёнными между собой для обмена сегментами файла по обычному
протоколу BitTorrent.
В отличие от трекера и DHT, PEX может быть только вспомогательным
средством получения пиров, так как он не может помочь новым пирам
подключиться к раздаче .
PEX есть в клиентах Transmission, Azureus, BitComet, KTorrent, µTorrent и BitTornado,
причем в каждом клиенте он реализован по-своему, поэтому PEX между
собой могут пользоваться только одинаковые клиенты. Начиная с 3 версии
Azureus (Vuze) может обмениваться PEX с uTorrent и BitTorrent.
Функции
И DHT и PEX фактически выполняют основную функцию трекера — помогают участникам файлообмена узнать друг о друге. Они могут:
- Помочь участникам быстрее друг друга найти
Например, на раздаче есть пир X с недоступным портом. К раздаче
подключается пир Z, который сам начать соединение с X не может, и
вынужден ждать, пока Х о нём узнает сам. Х только что обращался к
трекеру, и в следующий раз собирается это сделать через час. Но вот пир Y
в очередной раз обращается к трекеру и узнаёт про нового пира Z. При
этом Y сам давно уже соединен и занимается файлообменом с X, поэтому он
через PEX сообщает X адрес этого нового пира. Теперь X может начать
соединение к Z. - Снизить нагрузку на трекер
Некоторые клиенты, например Azureus, получая адреса пиров через DHT или PEX, реже обращаются за списком пиров на трекер.
- Поддержать участников вместе в периоды недоступности трекера
Известно, что если трекер является единственным источником информации о
пирах, то при его неработоспособности раздача постепенно
останавливается. Клиенты помнят уже известные списки адресов других
пиров, но постепенно эти списки устаревают — некоторые пользователи
отключаются от раздачи, у некоторых меняется IP адрес, а новые
пользователи не могут подключиться к раздаче вообще.
PEX позволяет несколько замедлить процесс распадения роя участников, а
DHT позволяет полностью заменить трекер, то есть даже подключаться к
раздаче новым участникам. - DHT позволяет раздавать вообще без трекера
Такая раздача называется trackerless. Торрент для неё создается
без адреса трекера, и клиенты друг друга находят через DHT сеть. При
участии в trackerless раздачах БТ клиенты приобретают определённое
сходствой с eMule, использующим сеть KAD.