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 proof 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 the previous approaches, especially with respect to latency.