peer to peer
Peer-to-peer (usually referred to as P2P for short , from English peer “equal”) and computer-computer connection are synonymous terms for communication between equals, here based on a computer network . In some contexts one also speaks of cross communication .
In a pure peer-to-peer network , all computers have equal rights and can both make use of services and make them available. In modern P2P networks, however, the network participants are often divided into different groups depending on their qualifications, which take on specific tasks. The core component of all modern peer-to-peer architectures , which are usually already implemented as an overlay network on the Internet, is therefore a second internal overlay network, which normally consists of the best computers in the network and the organization of the other computers and the Provision of the search function takes over.
With the search function (“lookup”), peers in the network can identify those peers that are responsible for a certain object identifier (object ID). In this case, responsibility for each individual object is firmly assigned to at least one peer, which is why one speaks of structured overlays . Using the search operation, the peers can search for objects in the network that meet certain criteria (e.g. file or buddy name match). In this case, there is no assignment structure for the objects in the P2P system, so one speaks of unstructured overlays .
As soon as the peers holding the searched objects have been identified in the P2P system, the file (in file sharing networks) is directly, i.e. H. from peer to peer. There are different distribution strategies as to which parts of the file should be downloaded from which peer, e.g. B. Bit torrent .
The opposite of the peer-to-peer model is the client-server model . In this case, a server offers a service and a client uses this service. In peer-to-peer networks, this distribution of roles is canceled. Every participant is a peer because he can use a service and offer it himself.
Characterization of peer-to-peer systems
Typical, but not necessary, characteristics of peer-to-peer systems are:
- Peers show a high degree of heterogeneity in terms of bandwidth, computing power, online time, ...
- The availability and connection quality of the peers cannot be assumed (“churn”).
- Peers offer services and resources and use the services of other peers (client-server functionality).
- Services and resources can be exchanged between all participating peers.
- Peers form an overlay network and thus provide additional search functions.
- Peers have significant autonomy (over resource provision).
- The P2P system is self-organizing .
- All other systems remain intact and not scaled.
(based on: Steinmetz , Wehrle 2006)
Types of Peer-to-Peer Systems
P2P systems can be divided into unstructured and structured P2P systems.
Unstructured P2P systems are further subdivided according to the type of their structure. One differentiates:
- Centralized P2P systems (example: Napster ), which require a central server for administration in order to function
- Pure P2P systems without a central instance (examples: RetroShare , Gnutella 0.4, Freenet ) A special type of pure, decentralized network is the friend-to-friend or web-of-trust network, in which there are no connections to unknown IP networks. Addresses are maintained, but only connections to friends (trusted friends) are established.
- Hybrid or hierarchical P2P systems , which dynamically determine several central servers ("super nodes") for administration (examples: Gnutella 0.6, Gnutella2 (G2), JXTA )
Centralized and pure P2P systems are called first generation systems, while decentralized systems are called second generation systems. Systems that pass files over non-direct connections are third generation systems. See also the term file sharing in detail .
Structured P2P systems often use a distributed hash table (DHT). In structured systems, searches can therefore be answered from a distributed index.
Standardization and the future
The future of peer-to-peer technology will primarily depend on whether it is possible to define a standard - a type of platform technology that enables further applications to be set up.
JXTA is one such standard that has been heavily supported by Sun Microsystems and is open source . Sun produced the largest and most stable reference implementation currently available.
Gnutella is another open standard that has been extensively tested, but has so far been used almost exclusively for file distribution and decentralized searching of files.
In addition, it is conceivable that the network transmission capacity will increase similarly to the computing capacity of the PCs, so that there is the possibility that a peer can still know the “next but one” peer and that the visibility of a peer via databases and other peers can continue to grow.
See also
literature
- Ralf Steinmetz, Klaus Wehrle: Peer-to-Peer Networking & Computing . Current catchphrase. In: Computer Science Spectrum. Springer, Heidelberg 27.2004, 1, 51-54. ISSN 0170-6012
- Kalman Graffi, Aleksandra Kovacevic, Patrick Mukherjee, Michael Benz, Christof Leng, Dirk Bradler, Julian Schröder-Bernhardi and Nicolas Liebau: Peer-to-Peer Research - Overview and Challenges . it - Information Technology, Oldenbourg Verlag , Vol. 49 (2007) No. 5, pp. 272-279.
- Cai Ziegler: Smart swarms. The technology behind modern peer-to-peer networks . In: c't . Heise-Verlag, Hannover 16.2005,21, pp. 160-164. ISSN 0724-8679
- Ralf Steinmetz, Klaus Wehrle (Eds.): Peer-to-Peer Systems and Applications ( Memento from December 18, 2014 in the Internet Archive ). Lecture Notes in Computer Science, Volume 3485, Springer, Berlin 2005 (Sept.), ISBN 3-540-29192-X
- Detlef Schoder, Kai Fischbach, Rene Teichmann: Peer-to-Peer . Springer, Berlin 2002, ISBN 3-540-43708-8
- Schahram Dustdar, Harald Gall, Manfred Hauswirth: Software Architectures for Distributed Systems . Springer, Berlin 2003, ISBN 3-540-43088-1
- Robert L. Newsome: Peer-to-Peer Distributed Computing over the Internet. Part 2. Computer Science Tripos . Corpus Christi College, Cambridge 2001.
- Ralf Steinmetz, Nicolas Liebau, Klaus Wehrle (Eds.) Et al .: Peer-to-Peer Systems . Focus issue of the magazine it - Information Technology , Oldenbourg Verlag, Munich ( page no longer available , search in web archives: online )
Web links
- Lecture notes on algorithms for peer-to-peer networks. (No longer available online.) Formerly in the original ; Retrieved February 12, 2013 . ( Page no longer available , search in web archives )
- Connection P2P & NAT ( Memento from October 22, 2006 in the Internet Archive ) (Spanish, PDF, 1.9 MiB)
- eMule - P2P file sharing between legal and illegal use
- Peer-to-Peer Communication Across Network Address Translators
- Shark: an open source P2P programming framework