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.
- 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
Recommendations
A QUIC Implementation for ns-3
WNS3 '19: Proceedings of the 2019 Workshop on ns-3Quick UDP Internet Connections (QUIC) is a recently proposed transport protocol, currently being standardized by the Internet Engineering Task Force (IETF). It aims at overcoming some of the shortcomings of TCP, while maintaining the logic related to ...
Interoperability-Guided Testing of QUIC Implementations using Symbolic Execution
EPIQ'18: Proceedings of the Workshop on the Evolution, Performance, and Interoperability of QUICThe main reason for the standardization of network protocols, like QUIC, is to ensure interoperability between implementations, which poses a challenging task. Manual tests are currently used to test the different existing implementations for ...
ECN with QUIC: Challenges in the Wild
IMC '23: Proceedings of the 2023 ACM on Internet Measurement ConferenceTCP and QUIC can both leverage ECN to avoid congestion loss and its retransmission overhead. However, both protocols require support of their remote endpoints and it took two decades since the initial standardization of ECN for TCP to reach 80% ECN ...
Comments