[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
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