bittorrent - searching a given target, how to widen the search? -


given target id x...19x, lets consider program runs recursive query, builds table, once no more nodes left interrogate, finds out situation closest resulting nodes less 8.

how widen search table returns @ least 8 nodes given id ?

can take target id (info hash) , search info_hash+1 / info_hash-1 ?

if so, in programming terms, how increase / decrease id given in form "afe0..." ?

if not, done reach number of redundant nodes ?

i think problem non-trivial due xor distance. want "ok, gave me 1..n-farthest nodes know about, tell me n+1..m". there is no dht query that.

and question not map single query ask single node out of result set.

i ran little simulation test "ask 8th-furthest node own node id" approach , here's result

t:1fbd4155 b667c234 90e0b021 ff837239 38ff5a2c c:1fb6ac2d ca183942 6be2b523 2bd998f7 0acb59b2 d:000bed78 7c7ffb76 fb020502 d45aeace 3234039e c:1fadc99b d3cac04b 9468220d d779f063 db605c52 d:001088ce 65ad027f 0488922c 28fa825a e39f067e c:1fafdd9a 74cb2535 5256cf21 a9b0ab3a 7d6752d3 d:00129ccf c2ace701 c2b67f00 5633d903 459808ff c:1fa9b8da 9940f605 272e0b72 8057b89b 259e9d6d d:0014f98f 2f273431 b7cebb53 7fd4caa2 1d61c741 c:1fa7b21d d2183104 3bc1cec5 968fb208 a3b64a34 d:001af348 647ff330 ab217ee4 690cc031 9b491018 c:1fa132b5 9f044131 a4c2fb18 11727030 d5912386 d:001c73e0 29638305 34224b39 eef10209 ed6e79aa c:1fa06a42 09653edb cb913184 6c1fb8dd 39cd3661 d:001d2b17 bf02fcef 5b7181a5 939ccae4 01326c4d c:1fa30c2f 7fa17089 ba5c85ca cde555a1 74f6ad19 d:001e4d7a c9c6b2bd 2abc35eb 32662798 4c09f735 expecting find next e:1f9dd0d4 b21795dc 82298e53 e594d647 0353f0c3 d:00209181 047057e8 12c93e72 1a17a47e 3bacaaef asking 1fa30c2f 7fa17089 ba5c85ca cde555a1 74f6ad19 own id returned n:1fa30c2f 7fa17089 ba5c85ca cde555a1 74f6ad19 d:001e4d7a c9c6b2bd 2abc35eb 32662798 4c09f735 n:1fa132b5 9f044131 a4c2fb18 11727030 d5912386 d:001c73e0 29638305 34224b39 eef10209 ed6e79aa n:1fa06a42 09653edb cb913184 6c1fb8dd 39cd3661 d:001d2b17 bf02fcef 5b7181a5 939ccae4 01326c4d n:1fa7b21d d2183104 3bc1cec5 968fb208 a3b64a34 d:001af348 647ff330 ab217ee4 690cc031 9b491018 n:1fa9b8da 9940f605 272e0b72 8057b89b 259e9d6d d:0014f98f 2f273431 b7cebb53 7fd4caa2 1d61c741 n:1fafdd9a 74cb2535 5256cf21 a9b0ab3a 7d6752d3 d:00129ccf c2ace701 c2b67f00 5633d903 459808ff n:1fadc99b d3cac04b 9468220d d779f063 db605c52 d:001088ce 65ad027f 0488922c 28fa825a e39f067e n:1fb6ac2d ca183942 6be2b523 2bd998f7 0acb59b2 d:000bed78 7c7ffb76 fb020502 d45aeace 3234039e n:1f8248f8 8cea3b04 5196ffee f9b4f6c1 3b3b2707 d:003f09ad 3a8df930 c1764fcf 063784f8 03c47d2b n:1f8f0556 d1b0bcbf 42d54567 825058d8 155ba5e4 d:00324403 67d77e8b d235f546 7dd32ae1 2da4ffc8 n:1f8d9186 86c1aefe a2c24c73 59f5a2f5 d4c2fa5e d:0030d0d3 30a66cca 3222fc52 a676d0cc ec3da072 n:1f8c71ef c8b0a12e 40b5233c 680d2373 a3d730a1 d:003130ba 7ed7631a d055931d 978e514a 9b286a8d n:1f93c42a ba85a26c 184185b1 a79a6e60 253dbc2d d:002e857f 0ce26058 88a13590 58191c59 1dc2e601 n:1f96b634 a043fc17 616a549f f521e9f9 4f5600fd d:002bf761 16243e23 f18ae4be 0aa29bc0 77a95ad1 n:1f953b74 8977dce8 8636338b a2ec4ed2 14a83e35 d:00287a21 3f101edc 16d683aa 5d6f3ceb 2c576419 n:1f9a39ef 59885496 ed794c02 49545d6c 92565959 d:002778ba efef96a2 7d99fc23 b6d72f55 aaa90375  65 failures in 1000 runs 

note when queried node returns 16 contacts. if returns 8 failure rate goes ~20%. , failure rate not uncorrelated event, it's collective behavior due way shared prefixes work, in other words querying other nodes of 8-closest set might not improve chances.

it obvious problem target's own id may positioned happens consider nodes visited closer own id next-closest don't know yet.

the correct solution build temporary routing table organized home bucket covers target key interested in , incrementally populating home bucket , neighbors (and splitting them if needed) until have have enough bep-44 compliant contacts.

this involved approach. backtracking , asking contacts have not asked yet target id should provide more 8 closest nodes because many implementations hand out more 8 contacts.


Comments

Popular posts from this blog

python - Selenium remoteWebDriver (& SauceLabs) Firefox moseMoveTo action exception -

html - How to custom Bootstrap grid height? -

transpose - Maple isnt executing function but prints function term -