[bittorrent] New P2P protocols

Justin Cormack justin at street-vision.com
Sun Mar 27 05:41:09 EST 2005


On Sun, 2005-03-27 at 13:54 +1200, Nick Johnson wrote:
> Any of these components (save perhaps homomorphic hashing) can be 
> implemented as an extension to BT in the form of a new protocol. 
> Multicast is an extension to unicast transmission to provide better 
> efficiency on small networks. Locality based tracking likewise. Merkle 
> trees are established as an extension, and DHT based tracking can serve 
> as a simple replacement, as you suggest.
> The real issue is to decide what to start with!

Some of them have prerequirements. As multicast is UDP based, that
requires changing BT to use UDP first. This in itself requires either
doing the whole erasure code stuff first (which is a really big change)
or doing Merkle trees first so you can verify individual UDP packets but
keep the protocol basically unchanged (thats quite a large amount of
work, but would give BT the ability to work on TCP and UDP potentially
interchangeably, which some people would clearly like).

On the tracking side the changes are much more independent, which is why
I was thinking they might be good to start with.

Just thinking about multicast, if you implement UDP support, then so
long as your tracker is within the multicast routeable area you dont
need much infrastructure, just connect to the tracker and give your IP
as a multicast address. You probably need only minor changes in the
sockets, and probably no changes in the protocol layer.

I hadnt really thought about the fact that with 1k verification units on
Merkle trees you could just support both UDP and TCP with no protocol
changes at all. That should keep everyone happy, and I suggest we agree
on that block size of Merkle right now...

Justin





More information about the BitTorrent mailing list