Bit Torrent

I was reading that bit torrent may account for over 40% of all Internet traffic, so ...

>And you know nothing about it, right?
Right. So I decided to larn something ... so here goes:

If I have some (large) file that I'd like to share with the world (via the Internet), I could make it available on some computer A connected to the Internet.
If a jillion people try to download my file, computer A may be brought to a halt.

In 2001, Bram Cohen had a better idea. It goes something like this:

If Joe started to download a piece of the file, then Joe could share his pieces with others who wanted to download.
Mary and Sam then start downloading from Joe. Then they, too, can share (with others) the pieces they've downloaded.

The result? Instead of computer A being swamped with traffic, a jillion people could be involved ... sharing the pieces they've downloaded.
The original (complete) file is the seed and Joe, Mary and Sam are called peers.
Once Joe, Mary and Sam have downloaded the complete file they become additional seeds.
The collection of all seeds and peers is called a swarm.

Hopefully, peers will stay on the Internet (after completing their download) to allow others to download from them.
(If you've got the complete file, don't go offline ... but become a seed, not a leech.)
If lots of peers become seeds , that's a measure of the health of the file being shared.
Of course ...

>Doesn't all this require some kind of software ... to direct traffic?
Yes. All those involved need the software developed by Bram Cohen ... or software that incorporates a torrent-like protocol.
After all, a peer collects pieces from various sources and the torrent software must stick them together in the proper order.
Indeed, the torrent protocol collects pieces from various sources in (almost) random order.
It takes time for torrent to identify the various available peers.
Further, torrent files are broken into bite-size pieces so that ...

>Bite-size? Don't you mean byte-size?
No, I mean bite-size. Each piece may be 32 kilobytes or maybe 512 kilobytes or whatever.
Files that are shared via the torrent protocol have the suffix .torrent.

Further, directing traffic is accomplished by a particular computer (connected to the Internet).
Such a computer (server) is called (would-you-believe) a tracker.
When you request a particular file (say some movie, like Attack of the Killer Tomatoes), a tracker will search for .torrent files with that name and identify a list of peers from which you can download pieces of the file. Your torrent software then starts collecting pieces and (simultaneously) will make those pieces available to others.

>How does your software know who those others are?
Did I forget to mention the tracker? She directs traffic. In fact, she doesn't have any of the file.
She just lets your torrent software know where to find the pieces.

Note that, if there are no available seeds (with a complete copy of the file) and the collections of peers don't have a complete copy among them, then you won't be able to download all the pieces until another seed comes online.

>And that's "reseeding", eh?
You got it.

Notice that, unlike the situation where everybody downloads from a single source (computer A), the greater the number in the swarm, the greater the speed of downloading.

There are lots of trackers and many allow for the illegal sharing of movies ... so get into trouble.
Remember that trackers simply direct your torrent software.
They (often) don't check to see if the file being shared is copyrighted material.
Further, if you download such .torrent material and make it available to others (as a peer) then you may be doing something illegal!
Owning and using torrent software isn't illegal. Downloading (and uploading) copyrighted material is.
Your computer's address can be traced back to you ... so beware!

>So how would I make a torrent file available?
The torrent software knows how to do that.

>Is that it?
Uh ... that's all I've learned.

>And what have you downloaded?
Just one movie ... Attack of the Killer Tomatoes.