Peer to peer network, also known as P2P network, is a distributed architecture that subdivides the workloads among a vast pool of nodes. It can be seen as a network between two or more computers without any intermediate device like a hub or server. The computers in this setup can share resources among themselves, and they are called nodes or peers.
In the Client-server network, there is a central server and devices has to take permission from that server for data sharing but in peer to peer network, there is no need for that. All individual participants or nodes itself are a server and a client. Moreover, they are both consumer and supplier of resources like CPU, memory, network bandwidth, etc
The first application that used peer to peer network was Napster. It was a file sharing application, but since then many applications have been build on a peer to peer network, and the most popular one is utorrent.
Defining Peer to peer network in different ways
There are many definitions suggested for peer to peer networks, and each one of them is correct in its way. None of the descriptions defines peer to peer network accurately. These definitions are based on the functionality provided by the network. Some of the most common explanations are.
- A system to be P2P if the elements that form the system share their resources to provide the service the system has been designed to provide. The elements in the system both provide services to other elements and request services from other elements.
- The peer-to-peer network consists of distributed systems with interconnected nodes able to self-organize into network topologies for sharing resources such as content, storage, CPU cycles, and bandwidth.
They have the ability of fault tolerance and accommodating transient populations of nodes while maintaining acceptable connectivity and performance, without requiring the intermediation or support of a global centralized server or authority.
- The distributed network architecture may be called a Peer-to-Peer (P-to-P, P2P,) network if the participants share a part of their hardware resources like processing power, printers, storage capacity, network link capacity, etc.
These shared resources are necessary to provide the Services and content offered by the network (e.g., file sharing or shared workspaces for collaboration). These resources are accessible by other peers directly, without passing intermediary entities.
The participants of such a network are thus resource (Service and content) providers as well as resource (Service and content) requestors (Servant-concept).
Characteristics of Peer to peer network
Following are the characteristics of P2P network.
- Shared Resources-Peer to peer network is designed to share resources; a computer can exchange content directly with another computer on the network.
- Double Role– A node in the peer to peer network has to play a dual role; it has to act as a server sometimes and as a client sometimes.
- Stability– Peer to peer networks offer durability, they offer fault tolerance and scalability since there is no single source of failure and addition of more computers is easy.
- Autonomy– The nodes in a peer to peer network are entirely autonomous, they own their content and resources.
Advantages of Peer to peer network
The creation of peer to peer network has lead to the creation of applications in which no central authority is needed. It is just one benefit of using a peer to peer network, there are many more advantages of using Peer to Peer network, and some of them are.
- The first thing that comes to mind while setting up a network is its cost, and the price for setting a peer to peer network is lower as compared to the client-server network.
- The setup and maintenance of a peer to peer network is comparatively easy then a client-server model since there is no need for a dedicated server.
- The Peer to peer networks is robust than the client-server networks. The network does not stop working when a device goes down in a peer to peer network whereas in a client-server system if a server goes down, the whole network goes down.
Disadvantages of Peer to peer network
If there are advantages to certain things then there are disadvantages also, anything can’t be perfect same is the case with peer to peer networks. The problems with P2P network are.
- There is no possibility of backup in P2P networks since all the data gets distributed among the nodes of the network and if you want to back up the data, you have to create a backup for all the computers.
- Peer to peer networks is unsecured. There are many independent computers in the network and data on those computers can be modified with malicious code and spread across the network.
- It is straightforward to launch a denial of service attack since all the nodes are transmitting data over the network.
- The storage management is complicated in peer to peer network since it is spread across all the nodes whereas in client and server network the data is stored in a central server which makes the storage management more straightforward.
- Peer to peer network offers very less privacy protection, data that can be sensitive is also stored in the peers and can be used or openly accessed by anyone on the network.
Another disadvantage of peer to peer network is that copyrighted content gets spread across the network violating the copyright policy.
Peer to peer network has removed the need of central server which resulted in cost efficiency and autonomy, but autonomy has led to an unsafe environment. There is no central governing body so anybody can spread anything on the network including malicious files. There are ways suggested to improve the privacy, but still, the issue is not entirely resolved.