What is P2P (Peer-to-Peer Process)?
A peer-to-peer network is a simple network of computers. It first came into existence in the late 1970s. Here each computer acts as a node for file sharing within the formed network. Here each node acts as a server and thus there is no central server in the network. This allows the sharing of a huge amount of data. The tasks are equally divided amongst the nodes. Each node connected in the network shares an equal workload. For the network to stop working, all the nodes need to individually stop working. This is because each node works independently.
History of P2P Networks
Before the development of P2P, USENET came into existence in 1979. The network enabled the users to read and post messages. Unlike the forums we use today, it did not have a central server. It is used to copy the new messages to all the servers of the node.
- In the 1980s the first use of P2P networks occurred after personal computers were introduced.
- In August 1988, the internet relay chat was the first P2P network built to share text and chat.
- In June 1999, Napster was developed which was a file-sharing P2P software. It could be used to share audio files as well. This software was shut down due to the illegal sharing of files. But the concept of network sharing i.e P2P became popular.
- In June 2000, Gnutella was the first decentralized P2P file sharing network. This allowed users to access files on other users’ computers via a designated folder.
Types of P2P networks
- Unstructured P2P networks: In this type of P2P network, each device is able to make an equal contribution. This network is easy to build as devices can be connected randomly in the network. But being unstructured, it becomes difficult to find content. For example, Napster, Gnutella, etc.
- Structured P2P networks: It is designed using software that creates a virtual layer in order to put the nodes in a specific structure. These are not easy to set up but can give easy access to users to the content. For example, P-Grid, Kademlia, etc.
- Hybrid P2P networks: It combines the features of both P2P networks and client-server architecture. An example of such a network is to find a node using the central server.
Features of P2P network
- These networks do not involve a large number of nodes, usually less than 12. All the computers in the network store their own data but this data is accessible by the group.
- Unlike client-server networks, P2P uses resources and also provides them. This results in additional resources if the number of nodes increases. It requires specialized software. It allows resource sharing among the network.
- Since the nodes act as clients and servers, there is a constant threat of attack.
- Almost all OS today support P2P networks.
P2P Network Architecture
In the P2P network architecture, the computers connect with each other in a workgroup to share files, and access to internet and printers.
- Each computer in the network has the same set of responsibilities and capabilities.
- Each device in the network serves as both a client and server.
- The architecture is useful in residential areas, small offices, or small companies where each computer act as an independent workstation and stores the data on its hard drive.
- Each computer in the network has the ability to share data with other computers in the network.
- The architecture is usually composed of workgroups of 12 or more computers.
How Does P2P Network Work?
Let’s understand the working of the Peer-to-Peer network through an example. Suppose, the user wants to download a file through the peer-to-peer network then the download will be handled in this way:
- If the peer-to-peer software is not already installed, then the user first has to install the peer-to-peer software on his computer.
- This creates a virtual network of peer-to-peer application users.
- The user then downloads the file, which is received in bits that come from multiple computers in the network that have already that file.
- The data is also sent from the user’s computer to other computers in the network that ask for the data that exist on the user’s computer.
Thus, it can be said that in the peer-to-peer network the file transfer load is distributed among the peer computers.
How to Use a P2P Network Efficiently?
Firstly secure your network via privacy solutions. Below are some of the measures to keep the P2P network secure:
- Share and download legal files: Double-check the files that are being downloaded before sharing them with other employees. It is very important to make sure that only legal files are downloaded.
- Design strategy for sharing: Design a strategy that suits the underlying architecture in order to manage applications and underlying data.
- Keep security practices up-to-date: Keep a check on the cyber security threats which might prevail in the network. Invest in good quality software that can sustain attacks and prevent the network from being exploited. Update your software regularly.
- Scan all downloads: This is used to constantly check and scan all the files for viruses before downloading them. This helps to ensure that safe files are being downloaded and in case, any file with potential threat is detected then report to the IT Staff.
- Proper shutdown of P2P networking after use: It is very important to correctly shut down the software to avoid unnecessary access to third persons to the files in the network. Even if the windows are closed after file sharing but the software is still active then the unauthorized user can still gain access to the network which can be a major security breach in the network.
Applications of P2P Network
Below are some of the common uses of P2P network:
- File sharing: P2P network is the most convenient, cost-efficient method for file sharing for businesses. Using this type of network there is no need for intermediate servers to transfer the file.
- Blockchain: The P2P architecture is based on the concept of decentralization. When a peer-to-peer network is enabled on the blockchain it helps in the maintenance of a complete replica of the records ensuring the accuracy of the data at the same time. At the same time, peer-to-peer networks ensure security also.
- Direct messaging: P2P network provides a secure, quick, and efficient way to communicate. This is possible due to the use of encryption at both the peers and access to easy messaging tools.
- Collaboration: The easy file sharing also helps to build collaboration among other peers in the network.
- File sharing networks: Many P2P file sharing networks like G2, and eDonkey have popularized peer-to-peer technologies.
- Content distribution: In a P2P network, unline the client-server system so the clients can both provide and use resources. Thus, the content serving capacity of the P2P networks can actually increase as more users begin to access the content.
- IP Telephony: Skype is one good example of a P2P application in VoIP.
Advantages of P2P Network
- Easy to maintain: The network is easy to maintain because each node is independent of the other.
- Less costly: Since each node acts as a server, therefore the cost of the central server is saved. Thus, there is no need to buy an expensive server.
- No network manager: In a P2P network since each node manages his or her own computer, thus there is no need for a network manager.
- Adding nodes is easy: Adding, deleting, and repairing nodes in this network is easy.
- Less network traffic: In a P2P network, there is less network traffic than in a client/ server network.
Disadvantages of P2P Network
- Data is vulnerable: Because of no central server, data is always vulnerable to getting lost because of no backup.
- Less secure: It becomes difficult to secure the complete network because each node is independent.
- Slow performance: In a P2P network, each computer is accessed by other computers in the network which slows down the performance of the user.
- Files hard to locate: In a P2P network, the files are not centrally stored, rather they are stored on individual computers which makes it difficult to locate the files.
Examples of P2P networks
P2P networks can be basically categorized into three levels.
- The first level is the basic level which uses a USB to create a P2P network between two systems.
- The second is the intermediate level which involves the usage of copper wires in order to connect more than two systems.
- The third is the advanced level which uses software to establish protocols in order to manage numerous devices across the internet.
Some of the popular P2P networks are Gnutella, BitTorrent, eDonkey, Kazaa, Napster, and Skype.