Should tor use multiple connections at once?
Right now, although tor maintains 2 or 3 open connections, only one is used for all new outgoing connections.
This means that one connection will be overloaded with lots of things. If one packet is dropped, everything backs up until that one is resent. This is the opposite of the whole IP design (with multiple channels / non blocking traffic).
It also means that when a dropped packet causes things to be delayed, everything closes and reopens at once, further adding to congestion and apparent slowdown.
Proposal: Have a configurable number of connections active at once, probably defaulting to 2-4. Incoming requests go in round robin (unless TrackExitHosts is set), so that traffic is spread over several TCP tunnels.
Benefits:
- Each channel has less traffic, so less congestion.
- If a channel drops a packet, less of the traffic has to be restarted. And, when it does, it will be spread round-robin again, reducing the congestion level even more.
- Potentialy, tor can track how heavy a circuit can be loaded before it is "full", and automatically open new circuits.
Potential disadvantages:
- Does it make it easier for an attacker to see some of your traffic? Before, an attacker either saw none, or (rarely) all; now an attacker see none, or (more commonly than before) some.
[Automatically added by flyspray2trac: Operating System: All]
Trac:
Username: keybounce