Skip to main content
  • The new GREEN working group gets ready for an energy efficient Internet

    The Getting Ready for Energy-Efficient Networking (GREEN) working group will explore use cases, derive requirements, and provide solutions to optimize energy efficiency across the Internet.

    29 Oct 2024
  • IETF Annual Report 2023

    The IETF Annual Report 2023 provides a summary of Internet Engineering Task Force (IETF), Internet Architecture Board (IAB), Internet Research Task Force (IRTF), and RFC Editor community activities from last year.

    25 Oct 2024
  • IETF 122 Bangkok registration open

    Registration is now available for the IETF 122 Bangkok meeting scheduled for 15-21 March 2025, which is the first time registration for an IETF meeting has been open before the preceding meeting registration has closed.

    25 Oct 2024
  • First Impressions from the IAB AI-CONTROL workshop

    The Internet Architecture Board (IAB) organized a workshop on 19-20 September 2024 to discuss issues around and possibilities for practical mechanisms that publishers of data on the Internet could employ to opt out of use by the Large Language Models and other machine learning techniques used for Artificial Intelligence (AI).

    24 Oct 2024
  • New Participant activities at the IETF: Major expansion coming for IETF 122!

    The IETF New Participants program has a long history of helping people just starting out in the IETF be more effective. Based on feedback from program participants over the past two years, and in consultation with the Internet Engineering Steering Group (IESG), the program will be significantly enhanced starting with IETF 122 Bangkok.

    22 Oct 2024

Filter by topic and date

Filter by topic and date

Automating interoperability testing to improve open standards for the Internet

8 Sep 2020

While interoperability testing has been one of the hallmarks of open standards and Internet protocol development for more than three decades, the process itself has been limited by manual and inconsistent testing.

Automated QUIC Interoperability testing

To address these shortcomings, we created QuicInteropRunner (QIR), a framework that enables implementers to maintain and update their own endpoints, making it easier for them to set up and run interoperability tests using carefully constructed and repeatable network scenarios. We have also set up continuous testing with QIR and a page where the results are available.

As implementations of the emerging QUIC protocol being developed in the Internet Engineering Task Force (IETF) began to mature, interoperability testing became increasingly important to ensure that independently-developed implementations worked as expected. However, the existing approach to testing was limited in a number of ways, including:

  • the number of implementations that could be tested, since there are a quadratic number of combinations to test;
  • the number of features that could be tested—a problem exacerbated by the complexity of protocols built for the modern Internet; and 
  • the range of network conditions under which the protocol could be repeatedly tested (which meant that the wide variety of network conditions under which the protocol would be expected to perform well on the global Internet could not be replicated). 
QUIC badge

As a result, identifying issues with the protocol and implementations took longer than it should have, and the existing tests could miss scenarios likely to be found once they were widely in use.

The QuicInteropRunner (QIR) is our attempt at overcoming these limitations. Using simple container orchestration and network simulation, QIR makes it possible to meet the constraints of implementers while automating this process for on-demand, continuous, and repeatable interoperability and performance testing. A more complete explanation how QIR uses Docker containers and the ns-3 network simulator is available in our paper, which was recently presented at the EPIQ ‘20 conference.

Currently, 13 QUIC implementations (two of which only implement a QUIC server and one which only implements a QUIC client) are included in QIR. Importantly, any implementer can include their implementation in QIR by building a compatible container image, making it publicly available, and adding it to the list of implementations.

To enable continuous interoperability testing, we have set up a QIR instance that continuously pulls the implementation images and runs all the tests in the framework. The results of this continuous testing are posted on this webpage.

As a network of networks, the global Internet we know today works because independently deployed and managed components work well together through open protocols. Internet interoperability testing traces its history back to at least 1986 and remains a key part of new protocol development and deployment. While QIR was developed for testing QUIC implementations, we believe the central ideas, components, and even code can be repurposed for testing other protocols that will help the Internet evolve and work better.


Share this page