Expanded DHT history analysis, and ran some more tests on DHT behaviour.

- Tweaked query parameters (quicker discard, longer requery period).

The analysis suggests that in general the DHT is running okay with some minor issues.
 - BitDHT peers respond to ~50% of FIND_NODE queries. This means we drop them, 
   and so  some ONLINE friends, become UNREACHABLE friends.

This appears to be caused by too many FIND_NODE queries reaching BitDHT, and the 
peer starts dropping them. This appears to come from specific peers, which 
are not RS nodes. Proposed solution is to Track and Filter Over-Querying Peers.
(Only one query per peer every 30 seconds).

 - Should be more lenient on the exact query matches.
Allow some dropped messages.

 - Queries appear to run longer than necessary.
A better query completion criteria needs to be established.

 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6614 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
drbob 2013-08-26 04:29:27 +00:00
parent 1554e17f48
commit 0608f67d71
6 changed files with 488 additions and 98 deletions

View file

@ -80,7 +80,7 @@ int bdStore::reloadFromStore()
{
addr.sin_port = htons(port);
bdPeer peer;
//bdZeroNodeId(&(peer.mPeerId.id));
bdZeroNodeId(&(peer.mPeerId.id));
peer.mPeerId.addr = addr;
peer.mLastSendTime = 0;
peer.mLastRecvTime = 0;