ABSTRACT
We present QuicInteropRunner (QIR) [1, 2], a test framework for automated and on-demand interoperability testing between implementations of the QUIC protocol [3]. QIR is a framework in which QUIC clients and servers interact with each other over a network that simulates various network conditions using ns-3 [4]. QIR automates QUIC interoperability testing by running a suite of test cases between containerized QUIC implementations. We describe the key constraints and insights that defined our work, recent innovations that made the framework possible, a high-level overview of our design, and a few exemplary tests. QIR is now supported and used by ten QUIC implementations as part of their development process, confirming our thesis that there is a need for automating interoperability testing and making it available on demand.
References
- QUIC Interop Runner. https://github.com/marten-seemann/quic-interop-runner.Google Scholar
- QUIC Interop Runner Web Interface. https://interop.seemann.io.Google Scholar
- J. Iyengar and M. Thompson. QUIC: A UDP-Based Multiplexed and Secure Transport. February 2020. https://tools.ietf.org/html/draft-ietf-quic-transport-27.Google Scholar
- The ns-3 Network Simulator. https://www.nsnam.org/.Google Scholar
- S. Bradner. RFC 2026: The Internet Standards Process - Revision 3. October 1996.Google Scholar
- R. Stewart. RFC 4960: Stream Control Transmission Protocol. September 2007.Google Scholar
- QUIC Interop Wiki. https://github.com/quicwg/base-drafts/wiki/17th- Implementation- Draft.Google Scholar
- QUIC Working Group. https://quicwg.org.Google Scholar
- QUIC Interop Runner Documentation. https://github.com/marten-seemann/quic-interop-runner/.Google Scholar
- Docker. https://docker.com.Google Scholar
- Docker Compose. https://docs.docker.com/compose/.Google Scholar
- Docker Hub. https://hub.docker.com.Google Scholar
- E. Rescorla. RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3. August 2018.Google Scholar
- NSS Key Log Format. https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format.Google Scholar
- pyshark: Python wrapper for tshark. https://kiminewt.github.io/pyshark/.Google Scholar
- Wireshark protocol analyzer. https://www.wireshark.org/.Google Scholar
- iPerf- The ultimate speed test tool for TCP, UDP and SCTP. https://iperf.fr/.Google Scholar
- M. Piraux, Q. De Coninck, and O. Bonaventure. Observing the Evolution of QUIC Implementations. August 2018.Google Scholar
- Boring SSL test runner. https://boringssl.googlesource.com/boringssl/+/refs/heads/master/ssl/test/runner/.Google Scholar
Index Terms
Automating QUIC Interoperability Testing
Comments