KIST and Tell: Tor’s New Traffic Scheduling Feature
The latest Tor alpha release includes a new feature to address traffic congestion in the Tor network. The new algorithm —Kernel Informed Socket Transport (KIST)— prevents connections between Tor relays from becoming overwhelmed by changing how traffic is distributed throughout the Tor network.
Our Relays Got KIST
The previous design often meant too much data was being written to each Tor relay connection, which would overwhelm relays and lead to traffic delays. KIST, on the other hand, intelligently considers how to write data across all connections to other relays in a way that allows traffic to pass through the network more quickly. Clients can run KIST, but the benefits accrue when it’s widely used by relays. Currently, KIST is only available on Linux-like systems because of how they handle TCP information, but a variant, KISTlite, runs on all systems.
In a study which measured the amount of congestion in Tor (both at individual relays and along the entire circuit path), researchers led by Dr. Rob Jansen found that, on average, KIST “reduces circuit congestion by over 30 percent, reduces network latency by 18 percent, and increases network throughput by nearly 10 percent.” You can read more about the technical details in the two technical papers.
Latency matters for a bunch of reasons. We’re often asked why Tor Browser is slower than other browsers, and congestion is a big culprit. The improvements from implementing KIST will benefit those who use Tor for regular web browsing -- websites will load faster, and the Tor network will be able to scale more easily. Diversity in the types of people using Tor makes it harder to do traffic analysis, and so these improvements strengthen Tor as privacy-enhancing software and make users safer.
The KIST algorithm also enables Tor to better prioritize low-volume traffic over high-volume traffic, effectively giving precedence to Tor web and chat traffic over people who use Tor for massive downloads. (We discourage this use of Tor: running BitTorrent or similar applications over Tor strains the network for those who rely on it, and doesn’t give the anonymity people expect of it.)
We Could Use Your Help
Tor is configured to use KIST as the default connection scheduler when available, but it’s still in early stages, so we could use your help. We’re interested in seeing how KIST runs in the wild, so if you’re technically savvy and run a relay, you can help out by running the latest alpha version of Tor and filing a bug report (or hopping on IRC) if you notice any unusual behavior. As ever, Tor relies on dedicated volunteers, so if you want to protect internet freedom, please consider running a relay or making a tax-deductible donation to Tor.