[bittorrent] BT proxy

David P. Mott dpmott at sep.com
Tue Apr 12 11:57:58 EDT 2005

> From: Justin Cormack <justin at street-vision.com>
> Just to make it clear, it would be good to spell out exactly what your
> aims are with the proxy - the stuff below is implementation details.
> Some other ideas and ways of doing things may then come up.

Yes, of course you're right.  The original problem was that people (say, 
at a University) wanted to funnel only one copy of content through their 
firewall, and make it internally available for whomever wanted it.  This 
saves the University's external bandwidth, and serves internal people at a 
high(er) rate (since external bandwidth isn't used to download the same 
piece multiple times to the University).

> If you are running the proxy tracker, why not make it give out its own 
> address with probability 1 for all host requests, so that it stays 
> connected to all the local peers (no external client will ever connect 
> to the tracker anyway). You could also limit the number of external 
> client addresses it hands out. This might be sufficient.

I don't think that's the problem.  The problem is the "proxy peer" -- the 
BT peer that connects the internal swarm (behind the firewall) to the 
external swarm.  The tracker could hand out all peers, but that won't do 
any good if the one peer that has all of the data (the "proxy peer") won't 
talk to them -- maybe because he can upload faster to people outside of 
the firewall.

Also, the "proxy peer", while bridging the two swarms, will have peers 
from both swarms.  If he gets peers from the outside world first, and he 
then feels no motivation to ask for peers from the internal tracker (or 
worse, no motivation to process those peers), then the internal peers will 

I guess this would work itself out /eventually/, since there is 
opportunistic unchoking, and the "proxy peer" would eventually learn that 
internal clients can download much faster from it than external clients. 
However, the "proxy peer" won't favor internal clients until it becomes a 
seed, right?  Before then, it'll favor peers that can download quickly to 
/it/, which will be /none/ of the internal peers (since they would only 
have a subset of what the "proxy peer" has).

More information about the BitTorrent mailing list