Towards a Scalable User-Space QUIC Network Stack
The introduction of kernel-bypass techniques that enable high-speed packet processing has fostered the development of scalable servers and middleboxes through the introduction of customized user-space network stacks. Despite their diffusion, such solutions are tailored to a single application or network protocol preventing their wide deployment. Motivated by the introduction of a modular TCP stack and high-speed packet processing in Click, we explore the case of a modular network stack in which multiple protocols and applications coexist. To this end, we present a modular design of the QUIC transport protocol, cQUIC, that can easily coexist with others thanks to Click flexibility. As a prototype, we develop a set of Click elements to provide server-side functionalities that are shown to be orders of magnitude more scalable than the QUIC server prototype provided by Google. However, our preliminary evaluation demonstrates that QUIC scalability is limited by the significant cost of cryptographic operations, and by analysing traffic traces collected in two different networks, we show this issue might have deep implications on the overall server engineering and costs.