Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Bt -- новый open-souce фреймворк для BitTorrent  [new]
Andrei T
Member

Откуда: Россия, Москва
Сообщений: 174
Все BitTorrent клиенты используют Mainline DHT, который описан в BEP-5. Это Kademlia с определенными значениями параметров, таких как допустимые значения ключей и нод (в BitTorrent - от 0 до 2**160 - 1.)
17 дек 18, 16:53    [21766172]     Ответить | Цитировать Сообщить модератору
 Re: Bt -- новый open-souce фреймворк для BitTorrent  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Ну я как-то себе распечатал документ под названием - Kademlia: A Peer-to-peer Information System Based on the XOR Metric.

Его можно легко нагуглить в pdf. В нем тоже есть описание 160-битный ключей.
Алгоритма движения по нодам в поиске искомой информации.

Насколько он актуален сейчас? Что из того что там написано относится к современному
Mainline DHT?
18 дек 18, 23:40    [21767804]     Ответить | Цитировать Сообщить модератору
 Re: Bt -- новый open-souce фреймворк для BitTorrent  [new]
Andrei T
Member

Откуда: Россия, Москва
Сообщений: 174
mayton
Ну я как-то себе распечатал документ под названием - Kademlia: A Peer-to-peer Information System Based on the XOR Metric.

Его можно легко нагуглить в pdf. В нем тоже есть описание 160-битный ключей.
Алгоритма движения по нодам в поиске искомой информации.

Насколько он актуален сейчас? Что из того что там написано относится к современному
Mainline DHT?

Вполне актуален, хотя к реализациям есть замечания. Размер ключа может быть любым, но поскольку DHT - это разновидность хеш-таблицы, то авторы решили для простоты и наглядности использовать SHA-1 и, соответственно, 160-битный ключ. Что касается BitTorrent, то есть две несовместимые между собой реализации DHT: Azureus (появилась первой, основана на Kademlia) и Mainline (появилась в uTorrent, основана на Kademlia, описана в BEP-5.) Несовместимые они по двум причинам: (1) используют разные параметры значений Kademlia (в т.ч. не фигурирующие в изначальной статье, например, интервал keep-alive нод и TTL хранящихся значений), (2) по-разному реализуют абстрактный протокол сообщений Kademlia (кстати, обрати внимание, что в Kademlia определены абстрактные STORE и GET, а в BitTorrent - конкретные STORE_PEER и GET_PEERS, т.е. BitTorrent DHT нельзя использовать в других целях.)
19 дек 18, 20:51    [21768887]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Bt -- новый open-souce фреймворк для BitTorrent  [new]
mayton
Member

Откуда: loopback
Сообщений: 46531
Andrei T, а почему BDecoder не всегда может распознать тип сообщения в пакете?
Оба пакета были адресованы к порту 51413 (у меня это Transmisison-client)

2020-04-21 18:54:14 [INFO ] 18  : mayton.network.dht.KadListener Transmisssion :: Received DHT UDP packet : from /5.145.161.26:[Unknown] (53598) with data:  
00000000 : 64 31 3A 61 64 32 3A 69 64 32 30 3A 5B 75 AF B9 69  : d1:ad2:id20:[u  i
00000010 : E9 4A 3D 4F 26 2F 09 55 93 A6 E2 87 EC 24 5B 39 3A  :  J=O&/ U     $[9:
00000020 : 69 6E 66 6F 5F 68 61 73 68 32 30 3A 5B 75 AE 56 9B  : info_hash20:[u V 
00000030 : 5F 83 92 19 64 A5 61 55 9C 2F BC 39 FB BE 7E 65 31  : _   d aU / 9  ~e1
00000040 : 3A 71 39 3A 67 65 74 5F 70 65 65 72 73 31 3A 74 32  : :q9:get_peers1:t2
00000050 : 3A 0E 2A 31 3A 76 34 3A 4C 54 01 25 31 3A 79 31 3A  : : *1:v4:LT %1:y1:
00000060 : 71                                                  : q


2020-04-21 18:54:14 [INFO ] 18  : mayton.network.dht.KadListener Decoded : {a={id=[91, 117, -81, -71, 105, -23, 74, 61, 79, 38, 47, 9, 85, -109, -90, -30, -121, -20, 36, 91], info_hash=[91, 117, -82, 86, -101, 95, -125, -110, 25, 100, -91, 97, 85, -100, 47, -68, 57, -5, -66, 126]}, q=[103, 101, 116, 95, 112, 101, 101, 114, 115], t=[14, 42], v=[76, 84, 1, 37], y=[113]}
2020-04-21 18:54:14 [INFO ] 18  : mayton.network.dht.KadListener Decoded with BDecoder:     id : 5B 75 2F 39 69 69 4A 3D 4F 26 2F 09 55 13 26 62 07 6C 24 5B     info_hash : 5B 75 2E 56 1B 5F 03 12 19 64 25 61 55 1C 2F 3C 39 7B 3E 7E 
q : 67 65 74 5F 70 65 65 72 73 t : 0E 2A v : 4C 54 01 25 y : 71 

2020-04-21 18:54:16 [INFO ] 18  : mayton.network.dht.KadListener Transmisssion :: Received unparsable UDP packet : from /91.229.101.2:[Unknown] (37637) with data:  
00000000 : 41 00 24 BD 74 15 D8 08 00 00 00 00 00 00 00 00 13  : A $ t            
00000010 : 83 00 00 4F 26 2F 09 55 93 A6 E2 87 EC 24 5B 39 3A  :    O&/ U     $[9:
00000020 : 69 6E 66 6F 5F 68 61 73 68 32 30 3A 5B 75 AE 56 9B  : info_hash20:[u V 
00000030 : 5F 83 92 19 64 A5 61 55 9C 2F BC 39 FB BE 7E 65 31  : _   d aU / 9  ~e1
00000040 : 3A 71 39 3A 67 65 74 5F 70 65 65 72 73 31 3A 74 32  : :q9:get_peers1:t2
00000050 : 3A 0E 2A 31 3A 76 34 3A 4C 54 01 25 31 3A 79 31 3A  : : *1:v4:LT %1:y1:
00000060 : 71                                                  : q
21 апр 20, 19:02    [22120154]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Java Ответить