Re: Why competing Gnutella clients help LimeWire
"Bill Pringlemeir" <[email protected]>
| Newsgroups | gmane.network.gnutella.devel |
|---|---|
| Message-ID | <[email protected]> |
--- In [email protected], "rogerkapsi" <roger@...> wrote: > That's a quite big topic. Mojito is technically just the name of our Kademlia library. It's not as if we implemented a new algorithm. It's using the same algorithm and implements the same set of operations (PING, FIND_NODE, FIND_VALUE and STORE). > So what you need to do is to implement the Kademlia algorithm first and use the same message format for the operations later. The default message format happens to be Gnutella compatible (the first 23 byte) and is documented in our wiki. > The big challenge with Kademlia is however that there are a bazillion little details that nobody has thought about our written down. Working on these things is quite time consuming. I have updated "http://en.wikipedia.org/wiki/Kademlia"; please feel free to correct or expand things. The wiki entry gives a general overview of Kademlia. The paper "Improving Lookup Performance over a Widely-Deployed DHT" is helpful in understanding Kademlia. It also suggests many improvements. Unfortunately, it is unpublished, but some version are available. "http://www.google.ca/search?q=Improving+Lookup+Performance+over+a+Widely-Deployed+DHT" The main thing to note is how handle k-buckets doesn't matter to the over success of the protocol (just the efficiency), as long as any FIND* message returns nodes at least one bit closer to the query. fwiw, Bill Pringlemeir.