A peer-to-peer network is one of the many different ways computers share and receive data. You probably own a mobile phone or a computer (or you would not be reading this). You’ve also very likely shared or received a file from someone.
Resource sharing in this way is one of the core reasons the world depends so much on information technology today. Now, let’s take a closer look at what a peer-to-peer network is and how it works.
What is a peer-to-peer network?
A peer-to-peer (or P2P) network connects two or more computers, allowing them to share resources (files, storage space, bandwidth, processing power) without needing a separate server software.
Think of it this way: A server is a tank of water. Two computers (A and B) are two smaller water storages with pipes that connect them (network).
If one computer A wants to send some water (files) to the second storage (computer B), it first needs to get it from the bigger water tank (the server).
In a P2P network, there is no need for a server. Computers A and B can save data/files by themselves and share them within their network.
Since both computers act as sender and receiver, their roles and importance are the same. They are equals (or peers), hence the name peer-to-peer network.
How does a peer-to-peer network work?
A P2P network can be as simple as a few computers connected via a USB (Universal Serial Bus). Many private users and smaller offices use this setup.
Or it might be a more expansive network where computer protocols create links between thousands of computers over the Internet.
In a P2P network, each computer must enable other computers to access its files by setting sharing permissions that allow this to happen.
For example, if computer A wants to connect to a printer computer B has connected to, computer B must allow computer A access to its system and the printer.
Also, if computer B wants to access a folder on computer A, computer A must enable file sharing. Both computers can control access by using passwords to encrypt their files.
Some characteristics of a P2P network are:
- It is easy to set up. Users do not need to have a lot of technical knowledge to create one.
- Each computer in the network shares and receives resources with others.
- Each computer can control who has access to its data and resources by setting sharing permissions or enabling passwords.
- Some P2P networks use a physical grid of cables and wires to transfer data and resources, while others are virtual.
Types of Peer-to-Peer Networks
P2P networks have three levels:
- The basic level uses a universal serial bus (USB) to connect two or more computers.
- The intermediate level uses wires and cables to link several computers within a physical setting.
- An advanced P2P network uses software protocols that oversee direct connections between many devices over the Internet.
Users can use these levels to create the following networks:
Unstructured peer-to-peer network
Computers in these networks do not follow a specific structure when connecting. They connect randomly, and each participant makes an equal contribution to the network.
They are easy to build and allow developers to improve specific sections on the network. Plus, they have lower churn rates (people joining and leaving the network regularly).
However, this lack of structure is also a disadvantage. Users would have to sort through many databases to find specific content in these types of P2P networks.
This is called query flooding. Flooding uses up more memory, leading to network congestions on the network. Sometimes, the search might not produce the needed data.
Structured peer-to-peer network
These networks have a specific structure where software organizes the virtual layer to allow each computer easily search any file or resource in the network.
The most common type of structured P2P network uses a distributed hash table (DHT) to assign ownership of files to each computer.
The DHT is like a directory that tells the computers (peers) where to find certain resources on the network. Any peer can retrieve the data and send it to another.
But, computers in a structured P2P network must keep lists of peers that meet specified criteria to route traffic properly.
As a result, structured P2P networks have a high churn rate where many computers join and leave the grid regularly.
Hybrid peer-to-peer network
Hybrid networks combine the characteristics of a P2P network and a client-server model. A popular hybrid model has a central server that helps peers in the P2P network to find each other.
Hybrid models balance the functions of a structured client-server network and the benefits of a peer-to-peer network. As a result, they perform better than both unstructured and structured networks.
Why People Use P2P Networks
A P2P network provides many benefits to users, such as:
- Easy and quick file sharing.
- Reduced setup costs since there is no need to pay for a server or hire a technician.
- More flexible use than server-client networks.
- Increased reliability. If one computer fails, it does not affect the others, and they carry on as usual.
- Better performance as more computers joins the network.
- Increased collaboration between computers to share different resources that benefit the entire network.
- Better control over which files or resources to share or keep private.
Although P2P networks are useful for resource sharing among computers, they are not immune to certain drawbacks.
Security is a big concern with using these networks because one computer can potentially infect the whole network with malware.
Also, resources in the network are not as secure as those stored in a centralised server. It means hackers can very easily steal confidential information for their ill gains.
To avoid these issues, users of P2P networks must take specific actions to prevent attacks. A good move would be to invest in advanced security systems to protect the network.