Official eMule-Board: Unverified Contacts In Routing Table - Official eMule-Board

Jump to content


Page 1 of 1

Unverified Contacts In Routing Table

#1 User is offline   Tibs 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 3
  • Joined: 14-May 08

Posted 21 November 2008 - 10:37 AM

Hello all,

Looking at the code of the last KAD client implementation (emule 0.49b & aMule 2.2.2), I wonder why unverified contacts (which are probably spoofed IP address or dead contacts) are still added in the routing table??
The three-way handshake seems to work properly with any version of the clients, so why keeping theses useless contacts?

I see two reasons for removing them as soon as possible:
1) Unverified contacts are not mentioned when asking the routing table
2) Unverified contacts take the place of others in "potentially full" K-Buckets resulting in good ones not being integrated

I am very curious to know why unverified contacts can be used for?

If anyone has an idea, I would enjoy to read it!

Regards,
0

#2 User is offline   Some Support 

  • Last eMule
  • PipPipPipPipPipPipPip
  • Group: Yes
  • Posts: 3667
  • Joined: 27-June 03

Posted 21 November 2008 - 02:10 PM

The most likely reason a contact is unverified is that his are your line is overloaded so that the verifying UDP packet got dropped or that the remote client is a (bad) mod. I doubt that there are any spoofed contacts out there - esp. now that there isn't even a possible attack scenario (i don't think that there ever was a major ongoing attack with spoofed contacts neither, but of course the risk existed).
They aren't dropped to avoid drop-readd loops which cause traffic and for verbose reasons (so you can see how many contacts are actually unverified). The point that they may take away space is valid indeed and even through it shouldn't be a real problem (and also not really exploitable in a useful way) it might be worth some thoughts.

#3 User is offline   Tibs 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 3
  • Joined: 14-May 08

Posted 25 November 2008 - 09:49 AM

Thank you for your reply.

I would like to go a little further with this problem. I really don't think that my line is causing UDP packets drop because it isn't overloaded at all.

When measuring the number of verified / unverified contacts in my routing table, unverified contacts are between 200 and 300+ for the first 10 minutes of connection and then progressively dropping to a small number in the next five minutes (~15 unverified after a 15 minutes connection).

When considering that many connections to KAD are very short in time, this high ratio of unverified contacts may reduce the efficiency of the network for them.

Why are unverified contacts staying so long in the routing table while it should not take much of few seconds to do 3-way handshake regarding the transmitted messages?

I don't know what is the more likely answer:
- three way handshake is long to do / needs several attempts
- receiving many dead contacts when bootstrapping
- NAT problem
- line of KAD contacts overloaded
- spoofed IPs
- very bad mods

Can you please explain me the drop-read loops problem, I don't really see what it is about?

Thx in advance!
0

#4 User is offline   Some Support 

  • Last eMule
  • PipPipPipPipPipPipPip
  • Group: Yes
  • Posts: 3667
  • Joined: 27-June 03

Posted 25 November 2008 - 10:20 AM

Quote

I really don't think that my line is causing UDP packets drop because it isn't overloaded at all.

I didn't said it was your line (it might be however, depending on your router UDP packets might get dropped even if the capacity itself isn't overloaded). It could just as well be the remote clients line. However,

Quote

unverified contacts are between 200 and 300+ for the first 10 minutes of connection and then progressively dropping to a small number in the next five minutes (~15 unverified after a 15 minutes connection).

This isn't a normal behaviour. I assume you do use the offical eMule, then it seems that you either aren't loading the contacts from your own saved nodes.dat, because most contacts would be already verified from the last time when starting Kad, or/and that some of your Kad data files aren't stored properly which for example makes your own NodeID or Token/Key change and will lead to several problems when contacting known nodes which (fix themself with the time). Check your verbose log for hints.
If thats not the case than it would be most likely a problem with your line (but thats seems much less likely in this case).

Quote

may reduce the efficiency of the network for them

There network efficiency isn't reduced by the fact that they are marked as unverfied in your (or others) routing tables.

#5 User is offline   Tibs 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 3
  • Joined: 14-May 08

Posted 25 November 2008 - 01:17 PM

Quote

This isn't a normal behaviour. I assume you do use the offical eMule, then it seems that you either aren't loading the contacts from your own saved nodes.dat, because most contacts would be already verified from the last time when starting Kad, or/and that some of your Kad data files aren't stored properly which for example makes your own NodeID or Token/Key change and will lead to several problems when contacting known nodes which (fix themself with the time). Check your verbose log for hints.
If thats not the case than it would be most likely a problem with your line (but thats seems much less likely in this case).


Ok, I will check on another client / line to see if this problem is specific to my configuration (currently using amule 2.2.2, but KAD code looks the same)

Quote

There network efficiency isn't reduced by the fact that they are marked as unverfied in your (or others) routing tables.


I agree but I consider the other side. The network efficiency for me should be reduced as long as my routing table is quite massively filled with unverified contacts. I was just generalizing what I observe.

Regards,
0

  • Member Options

Page 1 of 1

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users