Pluginizing QUIC∗ Quentin De Coninck, François Michel, Maxime Piraux, Florentin Rochet, Thomas Given-Wilson, Axel Legay, Olivier Pereira, Olivier Bonaventure UCLouvain, Belgium
[email protected] https://pquic.org ABSTRACT 1 INTRODUCTION Application requirements evolve over time and the underlying Transport protocols including TCP [79], RTP [34], SCTP [91] or protocols need to adapt. Most transport protocols evolve by negoti- QUIC [51, 58] play a key role in today’s Internet. They extend ating protocol extensions during the handshake. Experience with the packet forwarding service provided by the network layer and TCP shows that this leads to delays of several years or more to include a variety of end-to-end services. A transport protocol is usu- widely deploy standardized extensions. In this paper, we revisit the ally designed to support a set of requirements. Protocol designers extensibility paradigm of transport protocols. know that these requirements evolve over time and all these proto- We base our work on QUIC, a new transport protocol that en- cols allow clients to propose the utilization of extensions during crypts most of the header and all the payload of packets, which the handshake. makes it almost immune to middlebox interference. We propose These negotiation schemes have enabled TCP and other trans- Pluginized QUIC (PQUIC), a framework that enables QUIC clients port protocols to evolve over recent decades [24]. A modern TCP and servers to dynamically exchange protocol plugins that extend stack supports a long list of TCP extensions (Windows scale [52], the protocol on a per-connection basis. These plugins can be trans- timestamps [52], selective acknowledgments [65], Explicit Con- parently reviewed by external verifiers and hosts can refuse non- gestion Notification [81] or multipath extensions [32]).