In a peer-to-peer (P2P) network, two or more systems are connected together, and they share resources without the need for a central server. The connection between these systems can be physical or via the internet. Each system is a server as well as a client, and can request or share resources whenever needed.
In order to be a part of a P2P network, P2P software is required, which allows users to share files with all other users who are a part of the network. Some P2P software examples are:
Once they’re a part of the network, a user can access the files of other users, and other users can access their files as well. The folder containing the resources to be shared is designated by the user.
BitTorrent is a very famous P2P protocol that allows users to share data in a distributed manner. It’s mostly used for the transfer of video and audio files, such as movies and songs. To use it, users have to download a BitTorrent client such as μTorrent on their system.
BitTorrent tracker is a server that helps peers communicate effectively and efficiently. It keeps a list of the peers and which files they have. When a client makes a request for a file, the tracker knows which peers are available and coordinates the transmission from server peer to client peer, as well as the reassembly of the requested file. Reassembly is required because pieces of the file may be downloaded from different peers.
Seeders: These are peers that act as servers. They have the complete file downloaded and are sharing it with other users.
Leechers: These are the peers that act as clients. They’ve requested a file and are actively downloading it.
The download speed is directly proportional to the number of seeders of any file. If multiple peers have access to the complete file, each can share a piece of the file. Users can download these separate pieces simultaneously because the download speed is always greater than the upload speed.
However, if there are no seeders and only leechers, there won’t be anything to download because no peer will be sharing the file.