ABSTRACT
QUIC has been recently proposed as an alternative transport protocol for web services requiring both low latency and end-to-end encryption. In a different direction, recent kernel-bypass techniques enabling high-speed packet I/O have fostered the development of scalable middleboxes and servers with the introduction of user-space network stacks. Attempting to join the best of both solutions, we introduce in this paper a modular L2--L7 network stack in user space based on QUIC. Our modular and scalable QUIC transport protocol called cQUIC is implemented in Click and uses Intel® DPDK for high-speed packet I/O. We prototype cQUIC and show at least an order of magnitude improvement over the Google QUIC server. We also show that cQUIC scalability is CPU (and not I/O) bounded due to the high cost of cryptographic operations. From real-world traffic traces, we observe that up to 18% of QUIC connections are established using the expensive 2-RTT handshake, limiting scalability further.
- Browser Market Share. https://www.netmarketshare.com/browser-market-share.aspx?qprid=0&qpcustomd=1.Google Scholar
- Building Zero protocol for fast, secure mobile connections. https://code.facebook.com/posts/608854979307125/building-zero-protocol-for-fast-secure-mobile-connections/.Google Scholar
- Google Chromium Project - QUIC, a multiplexed stream transport over UDP. https://www.chromium.org/quic.Google Scholar
- High-Performance Packet Processing Solutions for Intel Architecture Platforms. http://www.lannerinc.com/downloads/campaigns/LIDS/05-LIDS-Presentation-Charlie-Ashton-6WIND.pdf.Google Scholar
- Intel DPDK framework. http://dpdk.org.Google Scholar
- Linux kernel profiling with perf. https://perf.wiki.kernel.org/index.php/Main_Page.Google Scholar
- QUIC Crypto. https://docs.google.com/document/d/1g5nIXAIkN_Y-7XJW5K45IblHd_L2f5LTaDUDwvZ5L6g/edit.Google Scholar
- QUIC Multiplexed Stream Transport over UDP. https://docs.google.com/document/d/1jdKEQMlM7ThDMDalFYFR_9-Yw91PhoBmkAPQcCicX3s/pub.Google Scholar
- The LIBpcap interface to various kernel packet capture mechanism. https://github.com/the-tcpdump-group/libpcap.Google Scholar
- G. Apostolopoulos, V. Peris, and D. Saha. Transport layer security: how much does it really cost? In Proc of IEEE INFOCOM, 1999.Google ScholarCross Ref
- T. Barbette, C. Soldani, and L. Mathy. Fast userspace packet processing. In Proc. of the ACM/IEEE ANCS, 2015. Google ScholarDigital Library
- A. Belay, G. Prekas, A. Klimovic, S. Grossman, C. Kozyrakis, and E. Bugnion. IX: A protected dataplane operating system for high throughput and low latency. In Proc of USENIX OSDI, 2014. Google ScholarDigital Library
- C. Castelluccia, E. Mykletun, and G. Tsudik. Improving secure server performance by re-balancing SSL/TLS handshakes. In Proc of ACM CCS, 2006. Google ScholarDigital Library
- C. Coarfa, P. Druschel, and D. S. Wallach. Performance analysis of TLS web servers. ACM Trans. Comput. Syst., 2006. Google ScholarDigital Library
- T. Dierks. The Transport Layer Security (TLS) Protocol Version 1.2. RFC 5246, Aug. 2008.Google Scholar
- A. Finamore, M. Mellia, M. Meo, M. M. Munafò, and D. Rossi. Experiences of Internet traffic monitoring with Tstat. IEEE Network, 2011.Google ScholarCross Ref
- F. Gratzer. QUIC-quick UDP internet connections. Future Internet and Innovative Internet Technologies and Mobile Communications, 2016.Google Scholar
- J. Iyengar, I. Swett, R. Hamilton, and A. Wilk. QUIC: A UDP-Based Secure and Reliable Transport for HTTP/2. Internet-Draft draft-tsvwg-quic-protocol-02, IETF, Jan. 2016.Google Scholar
- K. Jang, S. Han, S. Han, S. Moon, and K. Park. SSLShader: Cheap SSL Acceleration with Commodity Processors. In Proc of USENIX NSDI, 2011. Google ScholarDigital Library
- E. Jeong, S. Wood, M. Jamshed, H. Jeong, S. Ihm, D. Han, and K. Park. mTCP: a highly scalable user-level TCP stack for multicore systems. In Proc. of USENIX NSDI, 2014. Google ScholarDigital Library
- E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. F. Kaashoek. The Click Modular Router. ACM Trans. Comput. Syst., 2000. Google ScholarDigital Library
- R. Laufer, M. Gallo, D. Perino, and A. Nandugudi. CliMB: Enabling network function composition with Click middleboxes. In Proc of HotMiddlebox, 2016. Google ScholarCross Ref
- R. Lychev, S. Jero, A. Boldyreva, and C. Nita-Rotaru. How secure and quick is QUIC? provable security and performance analyses. In Proc of IEEE Security and Privacy, 2015. Google ScholarDigital Library
- I. Marinos, R. N. Watson, and M. Handley. Network stack specialization for performance. In Proc. of ACM SIGCOMM, 2014. Google ScholarDigital Library
- J. Martins, M. Ahmed, C. Raiciu, V. Olteanu, M. Honda, R. Bifulco, and F. Huici. ClickOS and the art of network function virtualization. In Proc. of USENIX NSDI, 2014. Google ScholarDigital Library
- L. Rizzo. netmap: A novel framework for fast packet I/O. In Proc. of USENIX Security, 2012.Google ScholarDigital Library
- I. Swett and J. Iyengar. QUIC Loss Recovery And Congestion Control. Internet-Draft draft-tsvwg-quic-loss-recovery-01, IETF, Dec. 2015.Google Scholar
- M. Varvello, R. Laufer, F. Zhang, and T. V. Lakshman. Multilayer packet classification with graphics processing units. IEEE/ACM Transactions on Networking, 24(5):2728--2741, October 2016. Google ScholarDigital Library
- G. Vasiliadis, E. Athanasopoulos, M. Polychronakis, and S. Ioannidis. PixelVault: Using GPUs for securing cryptographic operations. In Proc of ACM CCS, 2014. Google ScholarDigital Library
- S. Woo, E. Jeong, S. Park, J. Lee, S. Ihm, and K. Park. Comparison of caching strategies in modern cellular backhaul networks. In Proc of ACM MobySys, 2013. Google ScholarDigital Library
Index Terms
- Towards a Scalable Modular QUIC Server
Recommendations
Multipath QUIC: Design and Evaluation
CoNEXT '17: Proceedings of the 13th International Conference on emerging Networking EXperiments and TechnologiesQuick UDP Internet Connection (QUIC) is a recent protocol initiated by Google that combines the functions of HTTP/2, TLS, and TCP directly over UDP, with the goal to reduce the latency of client-server communication. It can replace the traditional HTTP/...
Interprocess Communication Dependency on Network Load
Results of an analysis of the communication performance as perceived by the application layer in the presence of background load are presented. The analysis was carried out on two distinct protocol suites, TCP/IP and XNS, on a single Ethernet LAN with ...
RoVegas: a router-based congestion avoidance mechanism for TCP Vegas
Transmission control protocol (TCP) Vegas detects network congestion in the early stage and successfully prevents periodic packet loss that usually occurs in TCP Reno. It has been demonstrated that TCP Vegas outperforms TCP Reno in many aspects. However,...
Comments