Rekindling Network Protocol Innovation with User-Level Stacks

Michio Honda, Felipe Huici, Costin Raiciu, Joao Araujo, Luigi Rizzo

Research output: Contribution to journalArticlepeer-review


Recent studies show that more than 86% of Internet paths allow well-designed TCP extensions, meaning that it is still possible to deploy transp ort layer improvements despite the existence of middleboxes in the network. Hence, the blame for the slow evolution of protocols (with extensions taking many years to become widely used) should be placed on end systems.

In this paper, we revisit the case for moving protocols stacks up into user space in order to ease the deployment of new protocols, extensions, or performance optimizations. We present MultiStack, operating system support for user-level protocol stacks. MultiStack runs within commodity operating systems, can concurrently host a large number of isolated stacks, has a fall-back path to the legacy host stack, and is able to process packets at rates of 10Gb/s.

We validate our design by showing that our mux/demux layer can validate and switch packets at line rate (up to 14.88 Mpps) on a 10 Gbit port using 1-2 cores, and that a proof-of-concept HTTP server running over a basic userspace TCP outperforms by 18–90% both the same server and nginx running over the kernel’s stack.
Original languageEnglish
Pages (from-to)52–58
Number of pages7
JournalComputer Communication Review
Issue number2
Publication statusPublished - 8 Apr 2014


  • transport protocols
  • operating systems
  • deployability


Dive into the research topics of 'Rekindling Network Protocol Innovation with User-Level Stacks'. Together they form a unique fingerprint.

Cite this