Weaving a Faster Tor: A Multi-Threaded Relay Architecture for Improved Throughput

Loading...
Thumbnail Image

Date

2020-08-10

Authors

Engler, Steven

Advisor

Goldberg, Ian

Journal Title

Journal ISSN

Volume Title

Publisher

University of Waterloo

Abstract

The Tor anonymity network has millions of daily users and thousands of volunteer-run relays, but growing it further has several research and deployment challenges. One such challenge is supporting the increase in bandwidth required by additional users joining the network. While simply adding more Tor relays to the network would increase the total available bandwidth, it requires that Tor's directory documents grow to accommodate these new relays, which in turn increases the burden on Tor clients who must download these large documents. These large directory documents are problematic for people using Tor on mobile devices or who have limited Internet access. Previous approaches to scale the Tor network require significant network-level architectural changes. In order to increase the total available network bandwidth without needing to grow Tor's directory documents or change the network architecture, this work replaces Tor's existing relay architecture with a new multi-threaded architecture. This new architecture is designed to improve the throughput of individual relays that have available network capacity and access to a multi-core processor, and parallelizes Tor's network routing and circuit handling to offload these computationally expensive operations on additional threads. As Tor's current relay architecture is unsuitable for this type of multi-threading, we examine the obstacles in adapting relays to our new multi-threaded architecture. We built an implementation of a subset of this new design on top of the standard Tor code base to demonstrate the potential throughput improvements of this architecture. Under experimental conditions, we show that the multi-threaded implementation quadruples the relay's throughput compared to the standard Tor relay implementation when using four cores of an Intel Xeon server, and triples the relay's throughput when using a $50 Raspberry Pi single-board computer.

Description

Keywords

Tor, performance, multi-threading, network scaling, throughput

LC Subject Headings

Citation