Chapter 5. Peer-to-Peer Networks
A peer-to-peer (P2P) computer network refers to an architecture whose nodes frequently serve as both a server and as a client. The primary objective of P2P systems is to eliminate the need for separate servers to manage the system. The configuration of the P2P network will change dynamically with nodes joining and leaving the network in an unpredictable manner. The nodes may differ in terms of factors, such as processing speed, bandwidth support, and storage capabilities. The term peer implies a level of equality between the nodes.
There are various definitions and interpretations of a P2P network. They can be characterized as a decentralized, constantly changing, and self-regulated architecture. Servers tend to provide services, while clients request them. A P2P node usually does both. A pure P2P network will not have nodes designated as a client or server. In reality, these networks are rare. Most P2P networks rely on a central facility, such...