What are the most recent bittorrent DHT implementation recommendations? -


i'm working on implementing yet bittorrent client , @ time struggling dht. implemented accordingly specification http://www.bittorrent.org/beps/bep_0005.html starting debugging noticed other nodes' responses on network vary.

for example, find_node supposed return either target node info or 8 closest nodes. of nodes reply 34 closest nodes , 1 - 3 nodes 34 reply consequent ping request.

is there document better implementation recommendation? may proved using 15 minutes interval change nodes state questionable not efficient , have use 10 or other number? can find best date suggestions?

there strange thing. bootstrap nodes router.bittorrent.com reply more closest nodes , "nodes" bdictionary property buffer length not divisible 6 (compact node info: 4 ip , 2 port). now, cut off buffer @ closest divisible 6 length strange. know why might happen?

the spec says (emphasis mine):

when node receives find_node query, should respond key "nodes" , value of string containing the compact node info [...]

further down:

contact information nodes encoded 26-byte string. known "compact node info" 20-byte node id in network byte order has compact ip-address/port info concatenated end.


additionally should read original kademlia paper since bittorrent bep builds on concepts described therein , omits deeper explanations of concepts.

you might want read few few extensions more or less de-facto standard implementations http://libtorrent.org/dht_extensions.html

and read other dht-related beps, adopted , modify/clarify bep-5-specified behavior, in backward-compatible way.


for example, find_node supposed return either target node info or 8 closest nodes

nodes return variable amount of entries. more 8. or fewer.


Comments

Popular posts from this blog

python - No exponential form of the z-axis in matplotlib-3D-plots -

php - Best Light server (Linux + Web server + Database) for Raspberry Pi -

c# - "Newtonsoft.Json.JsonSerializationException unable to find constructor to use for types" error when deserializing class -