Pushing Binary: The Benefits of BitTorrent
Typically, when you download a file from the internet, you're using a client/server approach. The client can be a browser, ftp program, newsreader, or any of the other familiar applications that have become enrooted in our cyber society. The client establishes a dialog with a server computer, a sort of digital conversation that's a means to an end; binary data gets shuttled from the server to the client, the client writing the data to disk or caching it for later use.
This procedure for retrieving and sending data across a network is commonplace, and it boggles the mind to contemplate the number of global transactions that use this protocol each day, traveling at light speeds. As widely used as this data transfer protocol is, it does have one obvious downside: the more clients that bombard a particular server with data requests, the more sluggish the server will become. Download and upload speeds will diminish and ultimately fail with timeouts should the server become too overwhelmed. One solution to this bottleneck is the use of a powerful p2p file distribution protocol created by Bram Cohen; it's called BitTorrent.
A Torrent of Bytes, Nibbles, and Bits
From its initial conception, BitTorrent was designed to distribute massive amounts of data across a network without the hindrance that comes with the older client/server mechanism. Instead of a single server doling out its resources to push or pull a large file to numerous clients, the file is instead transferred piece by piece amongst a multitude of BitTorrent clients, tit-for-tat style.
It starts out like this. Say you want to transfer a large 1 GB file to multiple people via the BitTorrent protocol. First, you would need to create a very small torrent file that contains various bits of information. You would then put this torrent file up on the web for other people to download. Being that you're the one that wants to distribute your content, you're the designated “seeder”, which means that you “seed” your large file for other BitTorrent clients to download. When an interested party finds your torrent, they'll connect their BitTorrent client to what is called the “tracker”.
The tracker is a simple server that does nothing but provide a list of other connected BitTorrent clients that are currently downloading; this minor activity rarely puts much strain on the tracker server. The tracker directs the downloader's BitTorrent client to your “seed”, at which the first bits in a long series of bits get transferred. As more and more clients download your torrent file and enter in the swarm, more pieces of your file get distributed, which takes some of the download pressure off of you, the seeder. The more the merrier; the more clients that join in the bit trading frenzy, the faster the file in question will get transferred in its entirety. Everybody wins.
BitTorrent is spreading like wild fire. Many Linux groups provide their distributions—which can weigh in from 700 megabytes to several gigabytes—as torrent downloads. Game companies are pushing their content in torrent form. As content and software increases in complexity, its size increases as well. BitTorrent is a viable, efficient alternative to the traditional client/server concept.
Back to Homepage
How To Build A PC | Different Types of Keyboards | Help with Hard Drive Installation | Computer Networking Basics | Introduction of Motherboard Functions | Computer CPU Processor Speed | Upgrade from Windows 95 to Windows 98 | Computer Monitor Troubleshoot | Partition Hard Drive | Installing New CPU Processor | Types of Network Cables