Core QUIC: Enabling Dynamic, Implementation-Agnostic Protocol Extensions
<|reference_start|>Core QUIC: Enabling Dynamic, Implementation-Agnostic Protocol Extensions: While applications quickly evolve, Internet protocols do not follow the same pace. There are two root causes for this. First, extending protocol with cleartext control plane is usually hindered by various network devices such as middleboxes. Second, such extensions usually require support from all participating entities, but often these run different implementations, leading to the chicken-and-egg deployment issue. The recently standardized QUIC protocol paved the way for dealing with the first concern by embedding encryption by design. However, it attracted so much interest that there is now a large heterogeneity in QUIC implementations, hence amplifying the second problem.   To get rid of these deployment issues and to enable inter-operable, implementation-independent innovation at transport layer, we propose a paradigm shift called Core QUIC. While Core QUIC keeps compliant with the standardized QUIC protocol, it enforces implementation architecture such that any Core QUIC-supporting participant can be extended with the same, generic bytecode. To achieve this, Core QUIC defines a standardized representation format of common QUIC structures on which plugins running in a controlled environment can operate to extend the underlying host implementation. We demonstrate the feasibility of our approach by making two implementations Core QUIC-compliant. Then, we show that we can extend both with the same plugin code over several use cases.<|reference_end|>
@article{de coninck2024core,
    title={Core QUIC: Enabling Dynamic, Implementation-Agnostic Protocol Extensions},
    author={Quentin De Coninck},
    journal={arXiv preprint arXiv:2405.01279},
    year={2024},
    archivePrefix={arXiv},
    eprint={2405.01279},
    primaryClass={cs.NI}
}