A hash table stores key-value pairs and enables a fast lookup for every value (piece of information), given its key. DHTs are application level networks, functioning as hash tables which span across many computers. A hash function is used to map each key-value pair to a specific computer in the network so that other participants will know from where to retrieve it.
Published in Chapter:
On the Stability of Peer-to-Peer Networks in Real-World Environments
Zoltán Czirkos (Budapest University of Technology and Economics, Hungary) and Gábor Hosszú (Budapest University of Technology and Economics, Hungary)
Copyright: © 2009
|Pages: 9
DOI: 10.4018/978-1-59904-845-1.ch082
Abstract
Communication in computer networks can be organized in two different ways, according to the client/ server model and the peer-to-peer model (Spinellis & Androutsellis-Theotokis, 2004). In the client/server model, the network is centralized. There is one host on the network, the server, which provides services to its clients. Its network address is usually well-known. On the other hand, in the peer-to-peer model, there is no central point in the network. Hosts participating are sometimes called “servents” (Gnutella, 2006), as they act both as servers and as clients at the same time: they provide services to other servents, while they also use the services of others. Nodes in unstructured peer-to-peer networks usually communicate via message flooding. For example, a search request for a given file in the Gnutella network is sent to all neighboring servents. However, this solution is not scalable, and it generates a lot of unnecessary network traffic.