PredicTor: Predictive Congestion Control for the Tor Network

In the Tor network, anonymity is achieved through a multi-layered architecture, which comes at the cost of a complex network. Scheduling data in this network is a challenging task and the current approach shows to be incapable of avoiding network congestion and allocating fair data rates. We propose PredicTor, a distributed model predictive control approach, to tackle these challenges. PredicTor is designed to schedule incoming and outgoing data rates on individual nodes of the Tor architecture, leading to a scalable approach. We successfully avoid congestion through exchanging information of predicted behavior with adjacent nodes. Furthermore, we formulate PredicTor with a focus on fair allocation of resources, for which we present and prove a novel optimization-based fairness approach. Our proposed controller is evaluated with the popular network simulator ns-3, where we compare it with the current Tor scheduler as well as with another recently proposed enhancement. PredicTor shows significant improvements over previous approaches, especially with respect to latency.

[1]  R Patel Nishith,et al.  Distributed economic model predictive control for large-scale building temperature regulation , 2016 .

[2]  Ian Goldberg,et al.  Improving Tor using a TCP-over-DTLS Tunnel , 2009, USENIX Security Symposium.

[3]  Keith W. Ross,et al.  Waiting for Anonymity: Understanding Delays in the Tor Overlay , 2010, 2010 IEEE Tenth International Conference on Peer-to-Peer Computing (P2P).

[4]  Masayuki Fujita,et al.  Congestion control for TCP/AQM networks using state predictive control , 2006 .

[5]  William B. Dunbar,et al.  Distributed Receding Horizon Control of Vehicle Platoons: Stability and String Stability , 2012, IEEE Transactions on Automatic Control.

[6]  Ian Goldberg,et al.  DefenestraTor: Throwing Out Windows in Tor , 2011, PETS.

[7]  Mung Chiang,et al.  Towards Robust Multi-Layer Traffic Engineering: Optimization of Congestion Control and Routing , 2007, IEEE Journal on Selected Areas in Communications.

[8]  Chuang Lin,et al.  Design a PID Controller for Active Queue Management , 2003, ISCC.

[9]  Saverio Mascolo Classical control theory for congestion avoidance in high-speed Internet , 1999, Proceedings of the 38th IEEE Conference on Decision and Control (Cat. No.99CH36304).

[10]  Björn Scheuermann,et al.  Tor is unfair — And what to do about it , 2011, 2011 IEEE 36th Conference on Local Computer Networks.

[11]  Ian Goldberg,et al.  PCTCP: per-circuit TCP-over-IPsec transport for anonymous communication overlay networks , 2013, CCS.

[12]  WächterAndreas,et al.  On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming , 2006 .

[13]  Panagiotis D. Christofides,et al.  Distributed model predictive control: A tutorial review and future research directions , 2013, Comput. Chem. Eng..

[14]  Moritz Diehl,et al.  CasADi: a software framework for nonlinear optimization and optimal control , 2018, Mathematical Programming Computation.

[15]  João M. F. Xavier,et al.  Distributed ADMM for model predictive control and congestion control , 2012, 2012 IEEE 51st IEEE Conference on Decision and Control (CDC).

[16]  Björn Scheuermann,et al.  Mind the Gap: Towards a Backpressure-Based Transport Protocol for the Tor Network , 2016, NSDI.

[17]  J. M. Maestre,et al.  Distributed Model Predictive Control: An Overview and Roadmap of Future Research Opportunities , 2014, IEEE Control Systems.

[18]  Lorenz T. Biegler,et al.  On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming , 2006, Math. Program..