[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: Load Balancing

On 9/21/07, Alexander W. Janssen <alexander.janssen@xxxxxxxxx> wrote:
> On 9/21/07, Nick Mathewson <nickm@xxxxxxxxxxxxx> wrote:
> > Short answer: Tor tries to group many streams on a single circuit.  If
> > we didn't, that would be way too much PK.
> Means, if the browser opens up 6 instances to grab stuff from a site,
> Tor consolidates all requests into a single circuit?
> Makes sense from a performance point of view.
> > yrs,
> > Nick Mathewson
> Alex.

If you have a web page with 30 sub-fetches (images, style sheets,
script files, etc), then they will all fetch over a single circuit.

It does NOT make sense from a performance point of view. Since
everything will be encrypted, regardless of which circuit it takes,
there is no performance impact.

The question of network efficiency is an interesting one. A single
circuit will be slower than many circuits. However, each new circuit
will start off slower (TCP takes time to get up to speed). Many
established circuits will be faster than one established circuit. [1]

The question of anonymity is more interesting. When I asked on the
development list, I was told that using a single circuit rather than
many circuits helped users to remain anonymous. I didn't understand
the explanation, so I can't repeat it; I trust that the people who
have studied that more than I have know what they are talking about.

[1] This is more true statistically than absolutely. If you have many
circuits, some will be fast, and some slow. Rotating your usage,
concentrating on those circuits with the smallest queue, will send
more TCP channels over faster Tor circuits. However, with many
circuits, you pretty much guarantee that one will be slow. With a
single circuit, you have the "all eggs in one basket" case, and you
may have a very slow connection.