Kad Explained In Detail
How does it work?

Does Kademlia need also Portfowarding or other adjustings on the (WLAN)router?
Does Kademlia at a public HotSpot (no Portforwarding) function?
It would be beautifully if p2p at everyone router would function without Portforwarding.
At public HotSpots nothing can be adjusted.

Theoretically I can use a AOL HotSpot (and all the others) from home for 5 euro per month (real Flatrate).

Does Kademlia need also Portfowarding or other adjustings on the (WLAN)router?
Does Kademlia at a public HotSpot (no Portforwarding) function?

It works due to Kademlia Buddies, but only suboptimally. Firewalled peers may not join the Kademlia network, but can still pass queries through their Buddy to the network via the UDP callback mechanism. It is still preferable to have open access to Kademlia's port in order to avoid this unfortunate bottleneck. HTH.

I found my user hash in kad is "00000000000000000000000000000000",
I deleted the file "preferencesKad.dat ",then it generated a new and seems correctly user hash in kad,i don't know the influence of user hash in kad.

Is the file "preferencesKad.dat " as important as "preferences.dat" ?Did it influence my credit value in kad network?

Hi, does anybody know how to interpret the Kad visualization? (I'm talking about the graphic on the "Kad" tab in eMule, with bars from 0 to 15 contacts, a lot of smaller red bars and one big grey bar usually).
Thanks

torpon, on Jan 30 2008, 06:46 PM, said:

It is a graphic representation of number of contacts and distance to your node.
For a normal user like me is absolutely useless. Cheers

thanks. I know this in principle. I would be interested in more precise indications as to how the graphic can be interpreted (like: what are the gray and red colour used for, why are the bars right to the gray one always bigger than on the left, what measures are used for the x axis, etc.)

Hi, does anybody know how to interpret the Kad visualization? (I'm talking about the graphic on the "Kad" tab in eMule, with bars from 0 to 15 contacts, a lot of smaller red bars and one big grey bar usually).
Thanks

torpon, on Jan 30 2008, 06:46 PM, said:

It is a graphic representation of number of contacts and distance to your node.
For a normal user like me is absolutely useless. Cheers

thanks. I know this in principle. I would be interested in more precise indications as to how the graphic can be interpreted (like: what are the gray and red colour used for, why are the bars right to the gray one always bigger than on the left, what measures are used for the x axis, etc.)

The Kad histogram is a graphical representation for the distribution of (your Kad-client's) contacts over the KadID space. KadID is a 128-bit number which also can be read as a 32-digit hexadecimal number from 0000..00 to FFFF..FF (= KadID space).
The KadID space is divided into a number of intervalls, which depends on the width of the histogram. So the x-axis represent intervalls (approx 200 in my case) and for each intervall from 0000..00 to FFFF..FF the number of contacts known to your Kad-client are counted and represented in the graph. Red colour = 1 to 14 contacts in the intervall, grey colour >= 15 contacts, no colour = 0 contacts.
There's a relation between the peak in the graph and your own KadID (Kad-hash), because of the simple fact thath you have more contacts which is closer to your ID, which is the hole idea of it.

Kad is technically a DHT (distributed hash table). A google search for this will probably turn up a better explanation than I can.

Everything in the Kad network is represented by a number from 0 to 2^128, which is the "whole" hash table.

When you join the network you become responsible for a small portion of this hash table, specifically the space right around your clientID.

You announce your presence to other people on the network by sending messages out to them. In turn people who want to publish files can find you.

You also maintain a contact list of other people in the network. There is some math behind this list that I won't go into detail about. Because of the way the math works, Kad can guarantee you will be able to "find" anyone in the network (as long as you maintain your list and follow the math correctly).

When I publish files to the network I calculate the files ID, then search the network for everyone who has a clientID that is close to that. Then I send these people publish
requests. I also publish "pointers" to this file by calculating the ID of keywords associated with that file.

Now anyone who searches for my file specifically (via ed2k link) or searches for a keyword will be able to find it.

Note that they just find me, not the file. They still have to talk to me to download the file.

So I can't use a buddy to connect to another firewalled Kad user? (I have currently a lowid myself, which I can't change)

And there was dead silence...As always (?) when one of the regular members is asking a question...

@ xnorf: I don't think so... I have had the impression it's the same regardless if you get lowID from server or a firewalled status in Kad. I have no personal experience though.

Perhaps someone else know more about this ?

A buddy from the perspective of a firewalled Kad user is his "public" node ID and server to Kadspace. From the perspective of other Kad users in Kadspace, the buddy is simply another user but with a double-sized datastore of published files (his own and his "private" client's). Thus, in Kad, you are guaranteed to find a specific file no matter in whose client it resides (firewalled or not). This is contrasted with ed2k, in which you must diligently connect to the very same server as the lowID client in order to be able to find him as a source and hence request from him the specified file of interest.

Happiness is a virtuous life in a free society. Yeah, yeah, but what are virtues? Virtues are the excellences of being a person. Duh, then, what is a person? A person is a living being endowed with a mind that includes the intellect whose powers include free will. And you're going to tell me what an intellect is, aren't you? An intellect is that part of the mind that distinguishes mankind from animalkind. So, the excellences of being a person have something to do with the intellect and its will? Yes. I don't suppose a life of sex, pizzas, sex, beer, sex, drugs, sex, rock'n'roll, sex, etc. counts as distinguishable from a life of animalkind? No. Grr!