A peer-to-peer network, or P2P for short, doesn’t have the typical client-server structure. Instead, all data is dis­trib­uted in a de­cen­tral­ized manner as all the computers in the network equally act as a server and client.

What is peer-to-peer?

The meaning of P2P is a network of computers that have equal priv­i­leges and the same functions. In a classic client-server model, the clients make requests that are then answered by the server. In a peer-to-peer network, all parties can act as both a server and a client. The entire network is organized in a de­cen­tral­ized manner and a parent-level server is not needed. In a simple P2P network, all computers are connected to each other, whereas in more complex peer-peer struc­tures the par­tic­i­pants are divided into groups.

How does P2P work?

To un­der­stand how peer-to-peer works, let’s first take a deeper look at the classic client-server structure: When you download a file, you open your browser, visit the cor­re­spond­ing website and make a request to the server. The server provides the file you are looking for and transfers it to your computer. The transfer runs ex­clu­sive­ly in one direction and the roles of client and server are clearly defined.

However, if you make a similar request in a P2P network, you are not sending the request to a central server but to multiple computers at once. All the computers or peers who have this data will provide it to you. You are actually down­load­ing separate sections from multiple sources. At the same time, all the sections you received will be available for other users to download from your computer. The transfer runs in many different di­rec­tions si­mul­ta­ne­ous­ly, as all connected computers in a P2P network can act as a source and a des­ti­na­tion.

What types of peer-to-peer ar­chi­tec­tures are there?

There are multiple different types of P2P ar­chi­tec­tures and struc­tures. P2P networks can be roughly divided in to struc­tured and un­struc­tured systems. The degree of cen­tral­iza­tion or de­cen­tral­iza­tion also plays a major role in dis­tin­guish­ing between different peer-to-peer systems.

Struc­tured and un­struc­tured peer-to-peer systems

Un­struc­tured P2P systems don’t contain any in­for­ma­tion about the links between the in­di­vid­ual sources and the des­ti­na­tion. Data or fragments can only be found in that specific system. These peer-to-peer networks mostly work via search requests. When a file is needed, the recipient sends a request to all computers in the P2P network. This procedure is known as flooding.

When more systems are in­te­grat­ed in a network, the re­quire­ments for the entire P2P system increase as well. In struc­tured peer-to-peer systems the in­for­ma­tion about links is often stored in a dis­trib­uted hash table (DHT). Search queries can be more targeted and answered from a dis­trib­uted index. Flooding is not required with this method.

Cen­tral­ized and de­cen­tral­ized P2P networks

Peer-to-peer systems are further divided into cen­tral­ized and de­cen­tral­ized networks. Cen­tral­ized P2P networks use a central server that is re­spon­si­ble for the man­age­ment of the whole system. This is com­pa­ra­ble to the servers of other network types. In a cen­tral­ized network, certain tasks or rights can also be dis­trib­uted between multiple computers that’ll manage data streams or address lists, for example. If new users want to join such a peer-to-peer network, they need to put personal data on this central server. The actual data exchange continues to take place between in­di­vid­ual computers and is only con­trolled by the central server.

De­cen­tral­ized peer-to-peer systems com­plete­ly renounce all control mech­a­nisms. Instead, all in­for­ma­tion is stored on all computers. However, this approach has its risks, so a few special solutions have been es­tab­lished. In friend-to-friend or Web of Trust networks, the workload is likewise dis­trib­uted equally across all par­tic­i­pants, but only users who know each other are permitted to enter the P2P network. This “trusted friends” principle creates a basis of trust and prevents misuse of the de­cen­tral­ized peer-to-peer system.

Hybrid peer-to-peer networks

Hi­er­ar­chi­cal or hybrid P2P networks are a special case. Es­sen­tial­ly, they are de­cen­tral­ized as well, but rely on par­tic­u­lar­ly powerful computers within the community. These computers make an important part of the in­fra­struc­ture through their large bandwidth and high computing power. Ad­min­is­tra­tive tasks in par­tic­u­lar are performed via these super nodes. The rest of the data transfer still takes place between the in­di­vid­ual computers.

What are the benefits of P2P?

Peer-to-peer systems offer many benefits. It’s thus no wonder that companies and com­mu­ni­ties invest a lot of time and resources into de­vel­op­ing and upgrading these networks. Below are just a few of the most important benefits of P2P:

Scal­a­bil­i­ty

The­o­ret­i­cal­ly the capacity of a peer-to-peer network is limitless. The more computers belong to the network, the higher its per­for­mance can be. Every new member gives out their capacity, memory storage and bandwidth to be used by the whole community. So, the whole workload is shared by multiple members.

Safety

This also strength­ens the whole security ar­chi­tec­ture of a P2P network. As there is no central server, at least in the de­cen­tral­ized system, it also can’t be attacked. Even if one network computer fails, it has only a minimal impact on whole system. The same also applies in an event of a malware attack, which can affect a single computer, but is usually blocked by the whole system. Only dis­tur­bances in the super node will be noticed on a larger scale.

Flex­i­bil­i­ty

All tasks can be flexibly divided in a P2P network. This is es­pe­cial­ly ben­e­fi­cial in the case of a failure, as its impact can be softened. Flex­i­bil­i­ty is however also ad­van­ta­geous a in normal operation mode. The tasks can be divided so that each member con­tributes to the group while providing com­pa­ra­ble or even larger resources to all. The client-server model in com­par­i­son requires par­tic­u­lar­ly so­phis­ti­cat­ed hardware to perform specific tasks.

What are the dis­ad­van­tages of P2P?

The benefits of a peer-to-peer system seem con­vinc­ing at first. However, it has some dis­ad­van­tages that should be con­sid­ered in advance. Es­pe­cial­ly the following aspects are worth men­tion­ing:

Effort

Managing and or­ga­niz­ing a P2P network is rel­a­tive­ly time-consuming. Because a central control authority usually doesn’t exist, changes and problems must be clarified among all par­tic­i­pants.

De­pen­den­cies

P2P systems function more in­de­pen­dent­ly than client-server solutions, but it can also have an opposite effect. Changes to one computer within the network may have an impact on all other systems since they are all in­ter­con­nect­ed. Data avail­abil­i­ty can also be re­strict­ed if data is deleted on one computer, and it’s also not offered by any other network member. Flooding also places a burden on all connected systems and may lead to high number of requests on in­di­vid­ual computers.

Freedom is one of the biggest benefits of the whole peer-to-peer concept. It can however be misused due to the lack of a control mechanism. For example, it’s hard to prevent users from uploading copy­right­ed content. Pros­e­cu­tion is also much more com­pli­cat­ed in a P2P network.

What is P2P used for?

To be a part of a peer-to-peer network, you need to install a special P2P software on your computer. This will enable you to use various ap­pli­ca­tions and services that work according to the peer-to-peer principle. These include:

File­shar­ing

For a long time, the most popular but also the most con­tro­ver­sial form of peer-to-peer networks on the internet were different file­shar­ing services. The problem was of course frequent cases of copyright in­fringe­ment. However, file­shar­ing is prin­ci­pal­ly legal and very practical. A P2P network is just one of several possible methods for file­shar­ing.

Messenger and VoIP

Messaging and VoIP (video over IP) services also often use the P2P concept by relying on different hubs instead of a one central server.

Dis­trib­uted computing

In research, peer-to-peer is used in the form of dis­trib­uted computing. It’s a process of carrying out multiple sub-processes on different computers that then in the end are combined to produce an overall result.

Blockchains

P2P plays a crucial part in the world of crypto cur­ren­cies and blockchains. It enables the trans­ac­tions to be carried out without a central server or a middleman.

Internal networks

A peer-to-peer network can also make sense in an office setting. Data from all computers is always available to all au­tho­rized persons. In addition, scanners, printers and other work materials can be con­trolled from the network.

Go to Main Menu