KickAss: Deployable Router Assisted Congestion Control

Kick-Ass is a methodology for enabling explicit-rate congestion control mechanisms in the Internet. Kick-Ass does so through the use of IP packet fragmentation to enable communication between routers and endpoints.

Our measurements show that Kick-Ass improves performance up to an order of magnitude over TCP and effectively avoids many of its pitfalls. Additionally, Kick-Ass does not require a full deployment to be effective: our study shows endpoints communicating across a single Kick-Ass router at the edge see an improvement of 1.2 to 4 times.



Graduate Students:
  • Marcel Flores
Undergraduate Students:
  • Alexander Wenzel

Kick-Ass: Enabling Router-Assisted Congestion Control on the Internet (To Appear at IEEE ICNP 2016)


Kick-Ass (and RCP) have been implemented in NS-3. The patch (for NS-3.18.1), as well as instructions can be found here [readme].


Kick-Ass has been implemented in Linux (Kernel 3.12.3). The various components can be found below:

  • The Router - Implemented as a Linux queuing discipline, available as a loadable module. The source, as well as scripts to perform the basic setup can be found here [readme].
  • The Endpoint - Implemented as a patch for the kernel. The patch must be applied and a custom kernel built and loaded. Source and instructions are available here [readme].


Special thanks to

  • Andrew Kahn
  • Yifei Yang
  • Jordan Geltner
  • Rachel Stonehirsch
  • Dane Stier
  • Kyle Hale
for their help in writing and improving the Linux implementation.

Logo by erica dreisbach.


For comments or questions, please contact

[deface this page]