The QUIC protocol combines features that were initially found inside the TCP, TLS and HTTP/2 protocols. The IETF is actively working on a complete specification of this protocol. More than a dozen of independent implementations have been developed in parallel with these standardisation activities.
In this paper we propose and implement QUIC-Tracker, a QUIC test suite that interacts with public QUIC servers to verify their conformance with key features of the IETF specification. We detail its architecture and the supported test scenarios. Our measurements, gathered over a semester, provide a unique viewpoint on the evolution of the QUIC protocol and of its implementations. They highlight the introduction of new features and some regressions among the different implementations. They also show the diversity of the outcomes generated by the available implementations.
We present two case studies focused on two test scenarios. Each case study presents the test in more details and highlights the bugs it reported as well as the use of our work that was made by the implementers. We actively maintain the test suite to track the evolution of the IETF drafts. It runs on a daily basis and its results are publicly available. The source code is also publicly available under an open-source licence.
This paper will be presented at CoNEXT 2018, Workshop on the Evolution, Performance, and Interoperability of QUIC (EPIQ’18) on December 4-7, 2018 - Heraklion/Crete, Greece
About the authors :
Maxime Piraux obtained a MSc in Computer Science in 2018 from the UCLouvain in Belgium. He is now a researcher within the IP Networking Lab at UCLouvain. The work presented in this article was partially supported by funding from the Walloon Government (DGO6) within the MQUIC project.
Quentin de Coninck FNRS Research Fellow & PhD Student at UCLouvain, Department of Computing Science and Engineering. He is also a member of the IP Networking Lab. He previously proposed a multipath extension for the gQUIC and IETF QUIC protocols.
Olivier Bonaventure, Professor of Computer Science, UCLouvain, Department of Computing Science and Engineering of the Institute