Enhancing Tor performance for bandwidth-intensive applications
MetadataShow full item record
Citation (published version)Sweha, Raymond; Bestavros, Azer; Matta, Ibrahim. "Enhancing Tor Performance For Bandwidth-Intensive Applications", Technical Report BUCS-TR-2012-013, Computer Science Department, Boston University, July 30, 2012. [Available from: http://hdl.handle.net/2144/11401]
When it was first introduced a decade ago, Tor, the anonymous onion routing protocol, aimed at providing anonymity for latency-sensitive applications, such as web-browsing, as opposed to bandwidth-intensive applications, such as on-demand or live video streaming. This emphasis on latency-sensitive applications is evident from proposed Tor circuit-scheduling techniques ,  that throttle bandwidth-intensive applications in favor of bursty, latency-sensitive applications. In this paper, we deviate from this traditional view by identifying key attributes and design decisions that negatively impact Tor’s performance in general and its ability to cater to bandwidth-intensive applications in particular, and by proposing new capabilities that aim to enhance Tor’s performance as it relates to anonymizing bandwidth-intensive traffic. We present results from in-vivo measurement studies that shed light on Tor’s approach to manage load across relays, which manifests itself in the way source-based routing at the end-systems (clients) is handled. We present an analytical model that captures the key attributes of the feedback control inherent in Tor’s approach to load management – namely, probing and circuit selection. We show that changing some of these key attributes yields measurable improvement in terms of overall network utilization as well as better load balancing of relays, resulting in better predictability of individual circuit performance. To boost the performance of bandwidth-intensive circuits, we propose the use of on-demand relays (angels) to not only increase the capacity in the Tor network, but also to implement special bandwidth-boosting functionality using multi-path routing. Our conclusions are backed up with results from simulation experiments.