1206 views • BitTorrent Internals
The BitTorrent Architecture BitTorrent architecture consists of the following entities
Each torrent is independent and it holds information about one or many files that need to be distributed. To download a specific file, we need to hunt its torrent file from any torrent search engine.
The original file is split into equal size pieces and the SHA-1 of each piece is put into the
.torrent file. The hash is then used by the peers to download the corresponding piece and once all the pieces are downloaded, they are merged to re-generate the file.
Tracker is the only central entity and it holds the information about all the peers participating in the torrent network. It is a simple HTTP server that responds to the queries of the peers and stores status information coming in from the peers.
Each torrent file holds a Tracker URL that helps the peers locate and talk to the tracker to participate in the torrent. The tracker keeps track of
Although the tracker keeps track of a lot of information, it does not download or participate in the download of the actual content of the file; it simply holds the meta information.
Leecher is any peer in the network that is downloading the pieces and is awaiting the completion of the file. Leecher talks to the tracker to get the list of 50 peers and then talks to them to get the desired pieces.
The leechers also help other leechers by sharing the pieces they have, thus quickly distributing the file across the network.
Seeder is a peer in the network that has all the pieces of the file and does not need to download anything. So, if any leecher needs any piece that is not available with any other leecher, it can obtain from the seeder.
A leecher, after completing the download of the entire file, becomes the seeder and continues to participate in the network.
If you like what you read subscribe you can always subscribe to my newsletter and get the post delivered straight to your inbox. I write essays on various engineering topics and share it through my weekly newsletter.
476 views • 20 likes • 2022-08-19
Stealing is bad, but in a P2P network, it is a cakewalk. In this 7th video of the BitTorrent Internals series, we take ...
983 views • 51 likes • 2022-08-17
Kademlia is a Distributed Hash Table implementation and it is used as an overlay network for BitTorrent. Instead of talk...
575 views • 28 likes • 2022-08-15
Performance of the BitTorrent network relies heavily on the order in which the pieces are requested by the peers. In th...
A set of courses designed to make you a better engineer and excel at your career; no-fluff, pure engineering.
Being a passionate engineer, I love to talk about a wide range of topics, but these are my personal favourites.
Arpit's Newsletter read by 21000+ engineers
Weekly essays on real-world system design, distributed systems, or a deep dive into some super-clever algorithm.
Powered by this tech stack.