Peer-to-peer computing techniques have promised for years to radically change the future of networking. If you’re involved with computer networks from time to time, you’ve probably come across the term peer-to-peer. But what exactly is it? Here’s everything you need to know about it.
What is Peer-to-Peer?
Peer-to-peer (P2P) is decentralized communication where each party has the same capabilities and can start a communication session. Unlike the client-server model, where the client makes a service request and the server responds to the request, in the P2P network model, each node can function simultaneously as both a client and a server.
P2P systems can be used to provide anonymized routing of network traffic, massive parallel computing environments, distributed storage, and other functions. Most P2P programs focus on media distribution. These include video and music files, for example. Therefore, peer-to-peer is often associated with software piracy and copyright infringement.
How peer-to-peer networks work
When a user downloads a file, he usually opens a web browser, visits the corresponding website and downloads the file. In this case, the website acts as a server and the user’s computer acts as a client that receives the data. The whole thing can be compared to a one-way street, where the downloaded data is transferred from point A – the website – to point B – the user’s computer.
However, when the user downloads the same file over a peer-to-peer network, the download is handled differently. In this case, the user has to install peer-to-peer software on his computer, which makes his computer part of the virtual peer-to-peer network. Now, when the user downloads a file, he receives different fragments of the file from different computers in the peer-2-peer network where this file already exists.
At the same time, he sends fragments available to him to other participants in the peer-2-peer network who ask for them. This situation can be compared to a two-lane road: The file resembles numerous small pieces of data that enter the user’s computer, but also leave it on request. Thus, the data transfer load is distributed among all peers that contain the requested file.
Client-server in large and small networks
Client-server networks in companies often include numerous clients that connect to at least one central server that holds data. Clients then access these resources held on the server side. Client-server networks in companies are often linked via fast networks, since, for example, the user interface is also delivered from the server to clients. Such networks are often particularly secure because company-specific data is processed.
In home networks, each computer can provide individual resources to other computers in the home network, including printers and hard disks. The providing computer is the server, the one accessing it is the client. For example, depending on the needs of the users, all computers can share hard disk content such as photos and video clips to all others.
Advantages of a peer-to-peer network
On the Internet, peer-to-peer networks handle a high volume of file-sharing traffic by spreading the load across many computers. Because P2P networks do not rely on centralized servers, they scale better and are more resilient to outages or traffic bottlenecks than client-server networks.
In addition, P2P networks are easy to expand. As the number of peers on the Internet increases, so does the performance of the P2P network, when each additional computer has its own connection to the Internet.
P2P and client-server operation can be used simultaneously on the same computer. This allows computers to make the files they receive via P2P available to all other computers on the home network via hard disk shares. Conversely, home network clients can upload files to the share where the P2P software finds them and then makes them available to other P2P participants on the Internet. This enables data sharing in both directions.