[bittorrent] BT protocol Q
David P. Mott
dpmott at sep.com
Mon May 2 15:56:54 EDT 2005
On Mon, 2 May 2005, Elliott Mitchell wrote:
>> From: David P. Mott <dpmott at sep.com>
>> So, I don't see any reason (except for very large meta files) why you
>> couldn't make the piece length 2^17 or smaller, such that you could
>> request entire pieces at once.
> There are others, and in fact they may be much more important than the
> above, though they're not so immediately obvious. With smaller (and
> therefore more) pieces you end up flooding the swam with HAVE messages.
> Even with 256KB pieces the HAVE messages are 50% of the protocol
> overhead. Larger pieces also strongly encourage clients to grab nearby
> blocks, increasing locality of reference and therefore performance.
Ah, another good call. It's been awhile since I thought about HAVE
messages. You are of course correct. There was some discussion on the
old list about reworking HAVE messages as well.
>> The large size of the meta files, however, is the other nasty part of BT,
>> and has historically hindered scalability across large trackers because
>> of the bandwidth required to download them.
> That burden is not on the tracker. The metafile can be anywhere, though
> it may often be on the tracker.
You got me -- when I said 'tracker', I really meant "some machine that is
going to incur heavy bandwidth loads because people are downloading meta
files from it". BT isn't currently "very scalable" because anyone that
wants to host lots of torrents is going to pay through the nose to host
the metafiles, no matter what machine is hosting them. Good call.
Awhile ago (3/25/05), Bill Cox suggested that maybe we need a wiki to keep
track of some goals for a new protocol. Did anyone do anything like that?
I'd like to see a list compiled of things that are "wrong" or "suboptimal"
in BT, maybe as a springboard into a better way to do things.
The HAVE messages, size of the meta file, and perfomance on asymmetric
broadband connections all seem like good candidates for such a list.
If nobody's done this yet, does anyone have a suggestion about where to
start a new one? wiki.theory.org? Does anyone have a reason why there
shouldn't be such a compilation?
More information about the BitTorrent