Research and Development 1/^Archief/2007-2008/projecten/Botnet/4. Onderzoek Protocollen/Overnet
Inhoud
Overnet
Historie
Overnet was a decentralized peer-to-peer computer network, usually used for sharing large files (e.g., movies and CD images).
Overnet werd gebruikt in onder andere de eDonkey2000 client.
Overnet implements the Kademlia algorithm. In late 2006, Overnet and all Overnet-owned resources were taken down as a result of legal actions from the RIAA and others.
Werking
Kademlia algoritme
Kademlia is a distributed hash table for decentralized peer to peer computer networks designed by Petar Maymounkov and David Mazières [1]. It specifies the structure of the network and the exchange of information through node lookups. Kademlia nodes communicate among themselves using UDP. A virtual or overlay network is formed by the participant nodes. Each node is identified by a number or node ID. The node ID serves not only as identification, but the Kademlia algorithm uses the node ID to locate values (usually file hashes or keywords). In fact, the node ID provides a direct map to file hashes and that node stores information on where to obtain the file or resource.
When searching for some value, the algorithm needs to know the associated key and explores the network in several steps. Each step will find nodes that are closer to the key until the contacted node returns the value or no more closer nodes are found. This is very efficient: Like many other DHTs, Kademlia contacts only O(log(n)) (see Big O notation) nodes during the search out of a total of n nodes in the system.
Further advantages are found particularly in the decentralized structure, which clearly increases the resistance against a denial of service attack. Even if a whole set of nodes is flooded, this will have limited effect on network availability, which will recover itself by knitting the network around these "holes".</div>
Publicatie & Localisatie
Overnet uses a dedicated thread to publish a user's shared files index across the network. The published files are then propagated to the rest of the clients (similiar to other P2P systems).
Voor het localiseren van bestanden op de gedeelde bestanden op computers binnen het netwerk te spotten worden er UDP berichten gebruikt.In Overnet, the description and localisation of files are stored on peers such that the peer hash is as close as possible to the file hash.
When a peer wants a file, it tries to ask the peers which have the closest hashs to the file it wants. These peers reply by sending the closest peers they know to the requested hash.
The distance between two hashs is computed using what Kademlia calls a Xor metric: a xor is computed between the two hashs, and the result hash represents the distance. Two distances are then compared by using a lexicographical order on their bytes (ie first bytes are compared, and if equal, the second bytes, and so on...)
For this to work, the client needs to maintain a small list of peers it
knows, which are as spreaded as possible in the space of possible hashs.
Bestanden overdracht
The download protocol is mainly the same as in edonkey, except that the Connect/ConnectReply messages miss the server:port fields (ie they are 6 bytes shorter).
Literatuur
Zeer interresant artikel Getuigenschrift President Metamachines Inc.