Kademlia is minutes for Peer ton Peer of nets. It specifies kind and structure of the net, reglementiert communication between the knots and the exchange of information.
Kademlia serves above all the purpose file sharing. Filesharing Tools differ primarily in the mechanism for finding the made available files to the Download.
Tools of the first generation, like Napster, possess a central server, which knows all files existing in the system and their owner. With inquiries the central server is contacted and downloaded then the appropriate file by one the owner registered there. This beginning possesses two disadvantages: On the one hand such systems are susceptible in relation to Denial OF service attacks against the central indexation server. On the other hand this beginning for legal reasons for file sharing is unsuitable: The operator of the indexation server it is to be examined not possibly all made available files on copyright infringements, it is however for contents made available illegaly by participants jointly responsible.
Tools of the second generation, like Gnutella, do without the central indexation server. Here inquiries are passed on to a part of the knots in the system. For these it is then examined whether the participant possesses a suitable file to the Download. The participant possesses a file this to the Anfrager is returned. With this beginning, since not all knots are queried, not all suitable files can be found.
Tools of the third generation, to which also Kademlia belongs, repair this problem: Over the existing LAN/WAN (e.g. Internet) is developed a second, virtual lattice structure (a so-called distributed Hashtabelle). This structure replaces the central indexation server of Tools of the first generation. So it is to be found possible all looked for files in the net, without needing a central indexation server.
Basis of Kademlia is the Internet Protocol and the connectingless UDP based on it.
Each knot is identified by a clear number ("Node ID "). This number serves not only for its identification, but by the Kademlia algorithm for further purposes is at the same time consulted.
A knot, which would like to join the net, must go through first one "Bootstrapping "process mentioned: In this phase the algorithm receives the IP address of a knot, which already admits in the Kademlia net is from the user (or from a stored list). If the knot was never before in the net, it computes a coincidental ID, which was not assigned yet. It uses these up to leaving the net.
Since there is no central instance, which can take over an indexing of the existing files, this task is equally divided on all Clients: A knot, which possesses information, calculated first a clear and always equal long bit sequence, which characterizes this information (Hash value). The length of the Hashes used in the net and the Node IDs must be equal long. It looks for now in the net the knots, whose ID (counted in bits) "to the Hash exhibit the smallest "distance, and conveys to them their contact contacts.
If a host looks for exactly this information, it carries out the same procedure and arrives thereby at the knots which stored, who possesses this information in the net. The search can be received now a direct connection to the source and receive the information. It is thus guaranteed that the search finds the contact contacts of the source exact in the place, where this left it. Since the net is understood usually in constant change, the contact contacts are distributed on several knots and updated every few hours by the source. (REFERENCE: With Filesharing Tools one is "information "as a rule a file.)
"The distance specified above "does not have to do anything with geographical conditions, but designates the distance within the ID range. Thus it can occur (and it becomes) that e.g. a knot from Germany and one are from Australia as it were "neighbours ". The distance between the knots in the Kademlia ID space is calculated by the mathematical XOR function and amounts to always log2 (ID1 XOR ID2).
By optimization the range needed for minutes can be lowered on relatively small values, the source exchange of eMule is here a good example.
Clients, which implement the Kademlia algorithm (nets are among themselves incompatible):
We found here 8 articles.
K» Kademlia» KaZaA » Kazaa Lite » Kazaa Lite K » Kazaa Lite Resurrection » Kazaa Lite Tools K » Kazaa Lite variants » KTorrent |
We found here 4 related websites.
Index | Privacy | Terms Of Use | Sitemap | Feedback