Official eMule-Board: Kad Should Be Able To Detect It's First Node/kad Clients By Himsel - Official eMule-Board

Jump to content


Page 1 of 1

Kad Should Be Able To Detect It's First Node/kad Clients By Himsel An easier way to see the first Kad clients appear at first install Rate Topic: -----

#1 User is offline   LeGrandSchtroumpf 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 14
  • Joined: 26-July 08

Posted 26 July 2008 - 02:47 AM

Hello everybody,

My wish related to the new features would be that Kad would be able, after a fresh install, to find by himself its first clients.

Why can't he "simply" send requests around him to detect them because for the newbies the current way it works is very discouraging : indeed you think it will work by itself so you wait, you wait, and nothing happens... so you have to search on the Internet to find out that you need to download a nodes.dat somewhere.

If we want Kad to be popular, it needs to be easier to use for newbies... or else they will be quickly discouraged and will try something else.
0

#2 User is offline   Andu 

  • Morph Team
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 13,009
  • Joined: 04-December 02

Posted 26 July 2008 - 06:16 PM

Brilliant idea. I'll sit right down and write a function called crystalBall() that will find a valid Kad client.

On a serious note though. How is this supposed to work? You need to know the IP and port of another active Kad client to bootstrap. Finding that is virtually impossible. Unless you want to start sniff people's traffic around you. Such a behaviour could get you into some serious trouble though so not viable. Also this will only help if the client is transferring unobfuscated because otherwise the traffic is encrypted.

Let's be frank. The only way to do this is to create some kind of server that handles the bootstrapping or put some base Kad nodes with the clients that are 100% certain to be online or use some kind of webcache like G2. All of which will seem infeasible.

This post has been edited by Andu: 26 July 2008 - 06:17 PM

Three Rings for the Elven-kings under the sky,
Seven for the Dwarf-lords in their halls of stone,
Nine for Mortal Men doomed to die,
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them
In the Land of Mordor where the Shadows lie.


Dark Lord of the Forum


Morph your Mule

Need a little help with your MorphXT? Click here

0

#3 User is offline   Some Support 

  • Last eMule
  • PipPipPipPipPipPipPip
  • Group: Yes
  • Posts: 3,534
  • Joined: 27-June 03

Posted 26 July 2008 - 06:26 PM

We will probably try an easier approach and introduce a modified version of the nodes.dat in the install package. The difference will be that those contacts aren't added to the routing table, but one after another (randomly) be tried to bootstrap from with a bootsrap request. If there are 500-600 contacts included, this should avoid that those contacts are overloaded by millions of eMules having them all in their routing table and due to the number it should be reasonable robust against offline nodes.
Will probably test this in a Beta2.

#4 User is offline   LeGrandSchtroumpf 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 14
  • Joined: 26-July 08

Posted 27 July 2008 - 05:58 AM

Thanks Andu for your reply.

I was not suggesting it would be easy or even possible, I was just saying that, for a newbie, to be able to setup Kad may be a bit difficult, so discouraging... so I guess most of them simply continue to use the servers instead of Kad, which doesn't help to increase the size of the Kad community in order to make it more effective and resistant to the increasing closure of servers.

Kad is a great product, but it just needs to be easier to setup for the average computer user if we want it to be as popular as possible.

The idea to include, in the Beta2, a nodes.dat file is certainly a significant improvment (for newbies). :thumbup:
If you're looking for pcs always available on Kad to include in your nodes.dat file, mine is connected to Kad 24/7 (and as been since I've got an DSL line) and I'd be glad to help (even if my bandwidth is not that great) cause I really think Kad rules.

Bye !
0

#5 User is offline   qm2003 

  • V.I.P. (Volatile Indifferent Puppet)
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 4,441
  • Joined: 06-November 03

Posted 27 July 2008 - 08:30 AM

Don't you think the IPs in a nodes.dat which is included in the install package will become invalid quickly within a few days, maybe weeks ?

There are already websites offering current 'nodes.dat' just like the downloadable server lists.

Why not take advantage of that and introduce a list of urls for downloading a current 'nodes.dat' (just like for servers), but only when it is really needed ?
How to setup Emule. A small checklist | Schmu's MuleDoc
P2P is not piracy, it's marketing.
In fact, if your music or movie is NOT being downloaded, you should be WORRIED !
If you can't even give it away for free, how do you expect to sell it, stupid ?


I'm a bloodsucking fiend. Look at my outfit !
0

#6 User is offline   Some Support 

  • Last eMule
  • PipPipPipPipPipPipPip
  • Group: Yes
  • Posts: 3,534
  • Joined: 27-June 03

Posted 27 July 2008 - 09:59 AM

Quote

Don't you think the IPs in a nodes.dat which is included in the install package will become invalid quickly within a few days, maybe weeks ?

We will see but i doubt it, because in my expierence i can bootstrap from a normal nodes.dat even if it is several months old.

Quote

Why not take advantage of that and introduce a list of urls for downloading a current 'nodes.dat' (just like for servers), but only when it is really needed ?

Because the users would still have to fill up this list themself so it doesnt actually helps anyone. And other than serverlists, you do need a nodes.dat only once, so there is no point of having a lsit to redownload it.

#7 User is offline   Andu 

  • Morph Team
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 13,009
  • Joined: 04-December 02

Posted 27 July 2008 - 11:49 AM

Yea but it probably only works because some of the clients in the nodes.dat have a static IP. You could still be contacting a lot of nodes that are invalid before you find the ones that are static.
Three Rings for the Elven-kings under the sky,
Seven for the Dwarf-lords in their halls of stone,
Nine for Mortal Men doomed to die,
One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.
One Ring to rule them all, One Ring to find them,
One Ring to bring them all and in the darkness bind them
In the Land of Mordor where the Shadows lie.


Dark Lord of the Forum


Morph your Mule

Need a little help with your MorphXT? Click here

0

#8 User is offline   Some Support 

  • Last eMule
  • PipPipPipPipPipPipPip
  • Group: Yes
  • Posts: 3,534
  • Joined: 27-June 03

Posted 27 July 2008 - 01:07 PM

View PostAndu, on Jul 27 2008, 11:49 AM, said:

Yea but it probably only works because some of the clients in the nodes.dat have a static IP. You could still be contacting a lot of nodes that are invalid before you find the ones that are static.


Yes and this special format will allow to bootstrap faster if there are a lot dead nodes, because you don't put them in the routing table and try the usal lookups, but send a single bootstrap packet. Additionally those packets are send only one time from each bootstrapping client. For example if we assume that we deliver a nodes.dat which is supposed to be valid for 3 months with 75% of all nodes dead on average and 5 mio clients who use it, we get the following results:

Old method: All (~50 nodes) are contacted, alive nodes get 2-3 initial packets and then stay in the routing table at least untill eMule gets restartet. So we assume 8 hours, which makes at least 4 further hello packets with about 10 additional routing packets = 17 packets * 5 000 000 = 85 000 000 packets / 3 Months = 38 000 packets per hour for each of the nodes on the list = bad

New method: 2-3 out of 1000 nodes are contacted (becau on average only every 4th node is alive). 1 Packet is sent, they dont get added to the routing table. (5 000 000 / 1000) * 3 = 15 000 packets per node / 3 months = 7 packets per hour = good.

(of course those numbers may not be accurate, but you do see the difference)

BTW, forcing IPs to change every 24 hours is not that common even through you might get the impression in germany with the Telekom.

#9 User is offline   mkoorn 

  • Magnificent Member
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 336
  • Joined: 07-January 06

Posted 28 July 2008 - 09:40 AM

View PostSome Support, on Jul 27 2008, 11:59 AM, said:

We will see but i doubt it, because in my expierence i can bootstrap from a normal nodes.dat even if it is several months old.

just bootstrapped from an nodes back up dated 5 sept 2007.
mkoorn
0

#10 User is offline   WarriorWing 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 203
  • Joined: 06-September 05

Posted 29 July 2008 - 07:59 PM

View PostSome Support, on Jul 27 2008, 11:59 AM, said:

Quote

Don't you think the IPs in a nodes.dat which is included in the install package will become invalid quickly within a few days, maybe weeks ?

We will see but i doubt it, because in my expierence i can bootstrap from a normal nodes.dat even if it is several months old.


I can think about three ways to be sure you have a new nodes.dat in the case you can't connect because of all nodes are unreachable:
1- keeping a list of nodes.dat servers like emule does now with ed2k ones
2- let emule download the nodes.dat from the official website in a similar way it checks for uprades. This needs just a php script on the emule-project hosting server
3- keeping a list of nodes.dat servers, in which there's also the official website (see solution 2) used as fallback. This solution prevents too much traffic by the official website.

The bandwith used would be in every case very few, since:
-newbies already have a nodes.dat included in the install package, which only in RARE cases doesn't work
-frequent users upgrades their list while closing emule, so they don't need an update
-people who don't use emule from looong time maybe can choose to upgrade nodes.dat, but it would be better that they upgrade their emule version first (with a new and shiny nodes.dat inside it :D )

The advantage of these solutions is just one: user friendliness.
Noone will bother again about nodes.dat :thumbup:
0

  • Member Options

Page 1 of 1

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