-
Core QUIC: Enabling Dynamic, Implementation-Agnostic Protocol Extensions
Authors:
Quentin De Coninck
Abstract:
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…
▽ More
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.
△ Less
Submitted 2 May, 2024;
originally announced May 2024.
-
FlEC: Enhancing QUIC with application-tailored reliability mechanisms
Authors:
François Michel,
Alejandro Cohen,
Derya Malak,
Quentin De Coninck,
Muriel Médard,
Olivier Bonaventure
Abstract:
Packet losses are common events in today's networks. They usually result in longer delivery times for application data since retransmissions are the de facto technique to recover from such losses. Retransmissions is a good strategy for many applications but it may lead to poor performance with latency-sensitive applications compared to network coding. Although different types of network coding tec…
▽ More
Packet losses are common events in today's networks. They usually result in longer delivery times for application data since retransmissions are the de facto technique to recover from such losses. Retransmissions is a good strategy for many applications but it may lead to poor performance with latency-sensitive applications compared to network coding. Although different types of network coding techniques have been proposed to reduce the impact of losses by transmitting redundant information, they are not widely used. Some niche applications include their own variant of Forward Erasure Correction (FEC) techniques, but there is no generic protocol that enables many applications to easily use them. We close this gap by designing, implementing and evaluating a new Flexible Erasure Correction (FlEC) framework inside the newly standardized QUIC protocol. With FlEC, an application can easily select the reliability mechanism that meets its requirements, from pure retransmissions to various forms of FEC. We consider three different use cases: $(i)$ bulk data transfer, $(ii)$ file transfers with restricted buffers and $(iii)$ delay-constrained messages. We demonstrate that modern transport protocols such as QUIC may benefit from application knowledge by leveraging this knowledge in FlEC to provide better loss recovery and stream scheduling. Our evaluation over a wide range of scenarios shows that the FlEC framework outperforms the standard QUIC reliability mechanisms from a latency viewpoint.
△ Less
Submitted 16 August, 2022;
originally announced August 2022.
-
The Packet Number Space Debate in Multipath QUIC
Authors:
Quentin De Coninck
Abstract:
With a standardization process that attracted many interest, QUIC can been seen as the next general-purpose transport protocol. Still, it does not provide true multipath support yet, missing some use cases that MPTCP can address. To fill that gap, the IETF recently adopted a multipath proposal merging all the proposed designs. While it focuses on its core components, there still remains one major…
▽ More
With a standardization process that attracted many interest, QUIC can been seen as the next general-purpose transport protocol. Still, it does not provide true multipath support yet, missing some use cases that MPTCP can address. To fill that gap, the IETF recently adopted a multipath proposal merging all the proposed designs. While it focuses on its core components, there still remains one major design issue in the proposal: the number of packet number spaces that should be used. This paper provides experimental results with two different Multipath QUIC implementations based on NS3 simulations to understand the impact of using one packet number space per path or a single packet number space for the whole connection. Our results suggest that using one packet number space per path makes the Multipath QUIC connection more resilient to the receiver's acknowledgment strategy.
△ Less
Submitted 2 December, 2021;
originally announced December 2021.
-
Multi-Connectivity in Mobile Networks: Challenges and Benefits
Authors:
Carlos Pupiales,
Daniela Laselva,
Quentin De Coninck,
Akshay Jain,
Ilker Demirkol
Abstract:
Satisfying the stringent 5G Quality of Service (QoS) requirements necessitates efficient resource utilization by the mobile networks. Consequently, we argue that Multi-Connectivity (MC) is an effective solution to leverage the limited radio resources from multiple base stations (BSs) in order to enhance the user throughput, provide seamless connectivity, or increase the data reliability. For this,…
▽ More
Satisfying the stringent 5G Quality of Service (QoS) requirements necessitates efficient resource utilization by the mobile networks. Consequently, we argue that Multi-Connectivity (MC) is an effective solution to leverage the limited radio resources from multiple base stations (BSs) in order to enhance the user throughput, provide seamless connectivity, or increase the data reliability. For this, we study different MC architectures, where distinct network entities and protocol layers are used to split or aggregate the user traffic. The benefits and challenges of MC are analyzed as well as the open issues that network/device vendors and mobile network operators (MNOs) have to address for its use. Finally, through experimental evaluations, we illustrate the importance of MC design decisions for the overall network performance.
△ Less
Submitted 4 November, 2021;
originally announced November 2021.
-
QUIC-FEC: Bringing the benefits of Forward Erasure Correction to QUIC
Authors:
François Michel,
Quentin De Coninck,
Olivier Bonaventure
Abstract:
Originally implemented by Google, QUIC gathers a growing interest by providing, on top of UDP, the same service as the classical TCP/TLS/HTTP/2 stack. The IETF will finalise the QUIC specification in 2019.
A key feature of QUIC is that almost all its packets, including most of its headers, are fully encrypted. This prevents eavesdrop** and interferences caused by middleboxes. Thanks to this fe…
▽ More
Originally implemented by Google, QUIC gathers a growing interest by providing, on top of UDP, the same service as the classical TCP/TLS/HTTP/2 stack. The IETF will finalise the QUIC specification in 2019.
A key feature of QUIC is that almost all its packets, including most of its headers, are fully encrypted. This prevents eavesdrop** and interferences caused by middleboxes. Thanks to this feature and its clean design, QUIC is easier to extend than TCP. In this paper, we revisit the reliable transmission mechanisms that are included in QUIC. More specifically, we design, implement and evaluate Forward Erasure Correction (FEC) extensions to QUIC. These extensions are mainly intended for high-delays and lossy communications such as In-Flight Communications. Our design includes a generic FEC frame and our implementation supports the XOR, Reed-Solomon and Convolutional RLC error-correcting codes. We also conservatively avoid hindering the loss-based congestion signal by distinguishing the packets that have been received from the packets that have been recovered by the FEC. We evaluate its performance by applying an experimental design covering a wide range of delay and packet loss conditions with reproducible experiments. These confirm that our modular design allows the protocol to adapt to the network conditions. For long data transfers or when the loss rate and delay are small, the FEC overhead negatively impacts the download completion time. However, with high packet loss rates and long delays or smaller files, FEC allows drastically reducing the download completion time by avoiding costly retransmission timeouts. These results show that there is a need to use FEC adaptively to the network conditions.
△ Less
Submitted 25 April, 2019;
originally announced April 2019.
-
Scaling Networking Education with Open Educational Resources
Authors:
Olivier Bonaventure,
Quentin De Coninck,
Fabien Duchene,
Mathieu Jadin,
Francois Michel,
Maxime Piraux,
Chantal Poncin,
Olivier Tilmans
Abstract:
To reflect the key role played in our society by the network technologies, the networking courses have moved to Bachelor degrees where they are taught to large classes. We report our experience in develo** an open-source ebook that targets those introductory networking courses and a series of open educational resources that complement the ebook.
To reflect the key role played in our society by the network technologies, the networking courses have moved to Bachelor degrees where they are taught to large classes. We report our experience in develo** an open-source ebook that targets those introductory networking courses and a series of open educational resources that complement the ebook.
△ Less
Submitted 15 April, 2019;
originally announced April 2019.
-
Observing the Evolution of QUIC Implementations
Authors:
Maxime Piraux,
Quentin De Coninck,
Olivier Bonaventure
Abstract:
The QUIC protocol combines features that were initially found inside the TCP, TLS and HTTP/2 protocols. The IETF is currently finalising a complete specification of this protocol. More than a dozen of independent implementations have been developed in parallel with these standardisation activities.
We propose and implement a QUIC test suite that interacts with public QUIC servers to verify their…
▽ More
The QUIC protocol combines features that were initially found inside the TCP, TLS and HTTP/2 protocols. The IETF is currently finalising a complete specification of this protocol. More than a dozen of independent implementations have been developed in parallel with these standardisation activities.
We propose and implement a QUIC test suite that interacts with public QUIC servers to verify their conformance with key features of the IETF specification. Our measurements, gathered over a semester, provide a unique viewpoint on the evolution of a protocol and of its implementations. They highlight the arrival of new features and some regressions among the different implementations.
△ Less
Submitted 22 October, 2018;
originally announced October 2018.
-
Adding Forward Erasure Correction to QUIC
Authors:
François Michel,
Quentin De Coninck,
Olivier Bonaventure
Abstract:
Initially implemented by Google in the Chrome browser, QUIC gathers a growing interest. The first stable specification for QUIC v1 is expected by the end of 2018. It will deliver the same features as TCP+TLS+HTTP/2.
The flexible design adopted by the IETF for QUIC enables this new protocol to support a variety of different use cases. In this paper, we revisit the reliable transmission mechanisms…
▽ More
Initially implemented by Google in the Chrome browser, QUIC gathers a growing interest. The first stable specification for QUIC v1 is expected by the end of 2018. It will deliver the same features as TCP+TLS+HTTP/2.
The flexible design adopted by the IETF for QUIC enables this new protocol to support a variety of different use cases. In this paper, we revisit the reliable transmission mechanisms that are included in QUIC. More specifically, we design, implement and evaluate Forward Erasure Correction extensions to QUIC. Our design supports a generic FEC frame and our implementation includes the XOR, Reed-Solomon and Convolutional RLC schemes. We evaluate its performance by applying an experimental design with a wide range of packet loss conditions. In single-path scenarios, RLC delivers more data than the two other schemes with short loss bursts. Reed-Solomon outperforms RLC when the bursts are longer. We also apply FEC to Multipath QUIC with a new packet scheduler that helps to recover more lost packets.
△ Less
Submitted 13 September, 2018;
originally announced September 2018.
-
TCPSnitch: Dissecting the Usage of the Socket API
Authors:
Gregory Vander Schueren,
Quentin De Coninck,
Olivier Bonaventure
Abstract:
Networked applications interact with the TCP/IP stack through the socket API. Over the years, various extensions have been added to this popular API. In this paper, we propose and implement the TCPSnitch software that tracks the interactions between Linux and Android applications and the TCP/IP stack. We collect a dataset containing the interactions produced by more than 120 different applications…
▽ More
Networked applications interact with the TCP/IP stack through the socket API. Over the years, various extensions have been added to this popular API. In this paper, we propose and implement the TCPSnitch software that tracks the interactions between Linux and Android applications and the TCP/IP stack. We collect a dataset containing the interactions produced by more than 120 different applications. Our analysis reveals that applications use a variety of API calls. On Android, many applications use various socket options even if the Java API does not expose them directly. TCPSnitch and the associated dataset are publicly available.
△ Less
Submitted 2 November, 2017;
originally announced November 2017.