категории | RSS

Битторрент
DHT

DHT в БитТорренте используется для нахождения новых участников файлообмена.
При подключении к DHT сети БТ клиент устанавливает соединения с несколькими другими клиентами (узлами сети) и сам становится очередным узлом этой сети.
Для поиска пиров клиент посылает своим соседям по сети infohash нужного ему торрент файла. Они спрашивают у своих соседей, а те у своих, и таким образом через некоторое время по возможности находят ему других участников раздачи этого торрента.
DHT есть в клиентах BitTorrent (официальный), µTorrent, BitSpirit, BitComet, а также (несовместимо со всеми остальными) в Azureus.
В более общем смысле DHT означает децентрализованную распределенную систему для объединения большого количества постоянно исчезающих и появляющихся узлов и эффективной передачи сообщений между ними. На основе DHT структур можно строить более сложные системы, такие как P2P файлообмен, кооперативное веб кеширование, DNS сервисы и т.п.
Реализация DHT в БТ основана на варианте DHT, называемом Kademlia, и использует UDP протокол.
PEX

PEX (Peer exchange) - это обмен списками пиров между участниками одной и той же БТ раздачи.
В то время как DHT фактически образует независимую от БТ протокола сеть, PEX гораздо проще - это дополнительные сообщения между уже соединенными по БТ протоколу клиентами.
PEX может быть только вспомогательным средством получения пиров, хотя бы потому, что не может помочь подключиться к раздаче новым участникам.
PEX есть в клиентах Azureus, BitComet, µTorrent и BitTornado, причем в каждом клиенте по-своему, поэтому PEX между собой пользуются только одинаковые клиенты.
Функции

И DHT и PEX фактически выполняют основную функцию трекера - помогают участникам файлообмена узнать друг о друге. Они:

1. Cнижают нагрузку на трекер: некоторые клиенты, получая пиров через DHT или PEX, реже обращаются за списком пиров на трекер
2. Поддерживают участников вместе в периоды, когда трекер временно недоступен

Кроме того, DHT может использоваться и как единственный источник информации о других участниках - если торрент файл сразу создавался без трекера (trackerless)

DHT/PEX и закрытые трекеры

На открытых трекерах, где каждый может скачать торрент и участвовать в раздаче, функции DHT и PEX служат на благо всего участников.
Закрытым трекерам в первую очередь важно, чтобы в раздачах могли участвовать только зарегистрированные пользователи, и чтобы они соблюдали определенные правила.
При первом обращении клиента закрытый трекер имеет возможность не допустить его к раздаче, просто не сообщая ему адреса других клиентов-участников. Поэтому для закрытого трекера важно, чтобы клиенты не получали эти адреса через DHT/PEX.
Private key

DHT и PEX появились в клиентах Azureus и BitComet примерно летом 2005 года. Администраторы многие закрытых трекеров были недовольны такой новой функциональностью, и поэтому стали запрещать на трекере эти новые версии клиентов.
Тогда разработчики клиентов предложили новый ключ внутри торрент файла: private. Если он равен 1, то клиент обязан для этого торрента автоматически отключать DHT/PEX независимо от желания пользователя.
Правильно настроенные закрытые трекеры сами принудительно вставляют private:1 во все торренты, выкладываемые на трекере, а также запрещают несколько устаревших версий клиентов (имеющих DHT или PEX, но еще не знающих про private key).
Пользователи трекера просто не могут на раздачах использовать DHT/PEX, и проблемы нет.
Заблуждение про статистику

Иногда встречается мнение, что включенный в клиенте DHT как-то влияет на учет статистики клиента, например "раздавал через DHT, значит статистика шла мимо трекера". Это неверно:

1. Клиент рапортует статистику только на трекер, через DHT/PEX вообще никакого подсчета статистики не ведется;
2. Клиент рапортует трекеру суммарные данные об объемах им скачанного и отданного всем пирам, с которыми общался, независимо от того, узнал клиент об отдельных пирах через трекер, DHT или PEX, или тот пир вообще начал соединение сам. То есть даже если из-за DHT/PEX на раздаче появятся левые пользователи, клиент все равно сообщит на трекер все, что у них скачал и отдал.

Правильный учет статистики зависит только от состояния трекера: работает трекер - статистика учитывается, не работает - не учитывается. Только в случае длительно неработающего трекера DHT/PEX может играть косвенную роль, не давая постепенно затухнуть файлообмену на такой "раздаче без учета статистики".

3. Кроме того, часто пользователи просто забывают, что на их закрытом трекере все торренты private, и следовательно DHT/PEX в раздачах в принципе не используется.

Отключать ли DHT?

Безусловно отключать DHT стоит в следующих двух случаях:

1. Вы качаете с закрытого трекера с системой passkey, на котором администраторы не хотят или не умеют делать все торренты private. Дело в том, что через DHT пользователи могут узнать passkey других пользователей, и нечестные пользователи могут использовать чужие passkey для скачивания под чужой учетной записью.
2. Вы качаете только с правильных закрытых трекеров. Если при этом в клиенте разрешить DHT, то получится, что клиент подключается к DHT сети, тратит на это трафик, но ни на одной раздаче DHT не использует.



Источник новости: help.net

DimonVideo
2010-02-27T20:56:58Z

Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 3

#3   getella    

просто и внятно, еще бы про магнеты так народу рассказать, скоро понадобятся имхо ессесна =}}


0 ответить

Яндекс.Метрика