Bittorrent is peer to peer communication protocol used for sharing files across the internet
Generally ,When we access a webserver for some information .The request we send consumes very less bandwidth in the upstream,but the server dumps large amounts of data in the downstream.
In Client-Server Architecture:
GENERAL CLIENT-SERVER NETWORK
All the downloaders requesting information from a server ,access the server.Since, it is the only access point for downloading the particular information they require.Thus causing heavy load in the network as the data has to be unicasted to each client requesting the data from the server.
Using Bit-torrent protocol:
BITTORRENT PEER-PEER NETWORK
Let us understand how the bittorrent works,
- We have our friends smiley,hulk,brainy,foodie,happy and techie who want to download the same data.
- We have an uploader who is willing to share that information.
- The initial uploader contacts the TRACKER and requests to find seeds and leeches who are willing to download this file.
- So our friends smiley,brainy and happy request this information.
Information is not unicasted to each one of them instead the data to be sent is broken down into chunks of fixed sizes and separate chunks are shared by the initial uploader to smiley,brainy and happy .If smiley has a chunk that is not received yet by brainy and Smiley has received the entire data It coverts into a seed and brainy downloads from it or vice versa.So If our friends foodie,techy and hulk decide to upload they can receive their data from smiley brainy,happy or anyone else who has received the data concurrently enabling faster download speeds.
Thus each host in the network acts as a seed/leech and downloads the file.
Thus the Upstream load in the network is drastically reduced as it is shared my each of the clients participating in the Download.
- Large amounts of data can be transferred even in a network that has very low bandwidth capacity,as the load is shared.
- Thus large amount of hosts the larger is the likelihood you receive your data compared to that of the original client server architecture.
Why is it used for illegal file transfer?
- A tracker does nothing other than introducing the hosts to one another in the network.
- Thus the content provider does not know who initiated the transaction.Because the data is not present in any particular location in any particular server.But,It is present locally,in each of the Hosts memory.
- So the content providers cannot shutdown the seeds and the leaches.