A peer-to-peer network is a network architecture for distributed applications that share tasks with multiple partners.
Peer-to-peer, or P2P in its abbreviated form, refers to computer networks that use a distributed architecture. This means that all computers or devices that are part of such a network share tasks. Devices that are part of a peer-to-peer network are called peers. There are no privileged “equals” and there is no administrative device in the center of the network.
In a way, peer-to-peer networks are the socialist networks in the computer world. Each peer is equal to the others and each peer has the same rights and responsibilities. “Equals” are both clients and servers at the same time.
Furthermore, each resource available on a peer-to-peer network is shared among participants, with no central server involved. Resources shared on a P2P network can be things like processors, disk storage, or network bandwidth.
The main purpose of peer-to-peer networks is to share resources and help computers and devices work collaboratively, to provide a specific service or to perform a specific task. As mentioned earlier, P2P is used to share all kinds of computing resources such as processing power, network bandwidth and disk storage. However, the most common purpose for using peer-to-peer networks is file sharing over the Internet. Peer-to-peer networks are ideal for file sharing because they allow computers connected to them to receive files and send them simultaneously.
Consider the following situation: open your web browser and visit a web site where you download a file. In this case, the web site behaves like a server, and your computer behaves like a client that receives the file. You can compare this scenario with a one-way street: the file you download is a machine that goes from point A (web site) to point B (your computer).
If you download the same file over a peer-to-peer network, using a BitTorrent site as a starting point, the download is done in a different way. The file is downloaded to your computer in small chunks that come simultaneously from many other computers on the P2P network that already has that file. At the same time, the file is also sent (uploaded) from your computer to others who request it. The situation is somewhat similar to a two-way road: the file is like a series of small and small machines that come to your computer but go to other destinations when requested.
P2P networks have several features that make them useful:
– Hard to disable. Even if you stop a peer, the others continue to work and communicate. You must stop all participants to disable the network.
– Peer-to-peer networks are highly scalable. Adding new participants is very easy because no configuration is required on any central server.
– From the point of view of file sharing, the larger a peer-to-peer network, the faster it is. Having the same file stored on multiple participants in a P2P network means that when someone needs to download it, the file is downloaded from multiple locations simultaneously.
Here are some things to consider before setting up a P2P network:
– Size: P2P networks are designed to connect a small number of computers. When 10-15 computers are reached in a single P2P network, problems will start to appear;
– Security: Security is not very good within a P2P network because there is no centralized place for all resources, which are scattered throughout the network;
– Training: The users are in charge of managing a P2P network. This means that all users must be taught how to share files, folders and printers. In a P2P network, shutting down a computer without first announcing it may result in another computer being unable to print.
– Hosting resources: Every computer that connects to another computer, consumes its resources and can cause performance problems.