ydl30.torrent available
Morgan Doocy
yellowdog-general@lists.terrasoftsolutions.com
Fri May 2 16:26:01 2003
> Can you elaborate as to why you need to do this?
You can read more about how BitTorrent works at its website:
http://bitconjurer.org/BitTorrent/index.html
If you want the real nitty-gritty stuff, you can read the actual
protocol specification:
http://bitconjurer.org/BitTorrent/protocol.html
But if you just want a summary, here's how it works. BitTorrent:
- Preallocates enough space for the entire file on disk
- Receives small bits of the file from other peers
- Writes the bits to disk
- Immediately passes the same bits on to other peers
It only downloads the bits you don't already have, and the bits don't
have to be sequential: BitTorrent will receive random parts of the file
(whichever bits the people you are connected to happen to be uploading
at the time), and write them to the correct locations in the
preallocated space, thus correctly reassembling the entire file in
random order. It also uses cryptographic hashing of each piece of data,
and verifies the integrity of each piece as it's received; therefore
once the download has been completed successfully, you know you've got
an exact copy.
You can think of it as a constant stream in from random sources, and
out to (different) random destinations. A web of interconnected
machines constantly distributing the data to each other. As long as
you're connected, you remain a part of that interconnected web, and
thus assure its continued existence. Once you disconnect, the web loses
a node for transferring the data, and loses a portion of its bandwidth
capacity. There is also a built-in anti-leeching algorithm which will
penalize you for not uploading, because that's how the entire thing
works: as soon as you receive a bit of information from someone else,
you pass it on to someone who doesn't have it yet.
I guess you could think of it just like any other peer-to-peer file
sharing, except that rather than transferring an entire contiguous file
over a single connection between two people, you're just sharing little
random bits with many different people which the program gradually
reassembles to make up the original contiguous file. The more people
sharing the file, the faster an individual node can receive it.
Distributed Peer-to-Peer.
To give you an example of the difference in download speeds, I'm maxing
out my Cable connection at about 175K/s. Compare that with maybe
25K/sec x 3 files if I were downloading from a swamped mirror, reducing
download time by over half (57%).
Pretty nifty huh! :-)
Cheers,
Morgan