Peer-to-peer
A peer-to-peer (or P2P) computer network uses diverse connectivity between partakers in a network and the accretive bandwidth of network partakers. P2P networks are typically used for connecting nodes via largely ad hoc connections. These networks are very useful for many purposes like sharing content files containing audio, video, data or anything in digital format is very common, and real time data.
A pure P2P network does not have the notion of clients or servers but only equal peer nodes that simultaneously function as both "clients" and "servers" to the other nodes on the network.
The concept of P2P is increasingly evolving to an expanded usage as the relational dynamic active in distributed networks.
Types of P2P networks
P2P networks can be classified by usage:
- file sharing,
- telephony,
- media streaming (audio, video),
- discussion forums.
There also exist hybrid P2P systems:
- Has a central server that keeps information on peers and responds to requests for that information.
- Peers are responsible for hosting available resources (as the central server does not have them), for letting the central server know what resources they want to share, and for making its shareable resources available to peers that request it.
- Route terminals are used as addresses, which are referenced by a set of indices to obtain an absolute address.
Advantages of P2P networks
An important idea in P2P networks is that all clients provide resources, including bandwidth, storage space, and computing power. Thus, as nodes arrive and demand on the system increases, the total capacity of the system also increases.
The distributed nature of P2P networks also increases robustness in case of failures by replicating data over multiple peers, and by enabling peers to find the data without relying on a centralized index server. In the latter case, there is no single point of failure in the system.
Types of peer-to-peer applications
- File sharing (using application layer protocols such as BitTorrent).
- VoIP (using application layer protocols such as SIP).
- Streaming media.
- Instant messaging and online chat.
- Software publication and distribution.
- Media publication and distribution (radio, video).
The Chord protocol
The Chord protocol is one solution for connecting the peers of a P2P network together. Chord consistently maps a key onto a node. Both keys and nodes are assigned an m-bit identifier. This identifier is a hash of the node's IP address. A key's identifier is a hash of the key. There are many other algorithms in use by P2P, but this is a simple and common approach.