We consider proposals to improve the performance of the Tor overlay network by increasing the number of connections between re- lays, such as Torchestra and PCTCP. We introduce a new class of attacks that can apply to these designs,  socket exhaustion , and show that these attacks are effective against PCTCP. We also describe IMUX, a design that generalizes the principles behind these designs while still mitigating against socket exhaustion attacks. We demonstrate empirically that IMUX resists socket exhaustion while finding that web clients can realize up to 25% increase in performance compared to Torchestra. Finally, we empirically evaluate the interaction between these designs and the recently proposed KIST design, which aims to improve performance by intelligently scheduling kernel socket writes.
['John Geddes', 'Rob Jansen', 'Nicholas Hopper']
IMUX: Managing Tor Connections from Two to Infinity, and Beyond