PEX и DHT

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 фактически выполняют основную функцию трекера — помогают участникам файлообмена узнать друг о друге. Они могут:

  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.
Comments