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
Post a Comment