Transport protocols such as TCP cope with packet losses by using acknowledgments and retransmissions. This technique is also used by recent protocols such as QUIC. Using retransmissions is the best approach to cope with packet losses from a bandwidth viewpoint, but they cause increases in delays and can affect latency sensitive applications.

Retransmissions are not the only technique to cope with packet losses. Forward Erasure Correction techniques encode the data sent by the source such that the receiver can extract missing packets from the information received. A very simple technique is to use XOR to encode the packets sent by the source. Such a XOR-based technique was added in an early prototype of QUIC, but it achieved limited performance, mainly because this simple technique could not cope with burst losses that are frequent.

This motivated François Michel to explore in details how Forwared Erasure Correction could be efficiently added to a modern transport protocol like QUIC. He started with a first prototype supporting XOR, Reed-Solomon and Convolutional RLC. His results, published in QUIC-FEC: Bringing the benefits of Forward Erasure Correction to QUIC confirmed that FEC can provide benefits compared to retransmissions.

One concern with FEC is that there are many techniques which can be used to encode the data and the best technique may depend on the type of application and the capabilities of the clients and the server. It could be difficult for all server and clients to support all possible FEC techniques. In Pluginizing QUIC, François Michel demonstrated that it is possible to dynamically extend a QUIC implementation using plugins. The picoquic implementation was enhanced with an eBPF and several modules that enable it to be dynamically extended with eBPF code exchanged over the QUIC connection as illustrated in the figure below.

PQUIC exhanges plugins

Once the eBPF bytecode has been exchanged, the remote host can use FEC on this particular connection. The article showed that by protecting only the last packets of short file transfers it was possible to reduce the download completion time without causing an important overhead.

PQUIC last packets

In parallel with extending QUIC, François Michel studied the performance of the Starlink network and showed in A First Look at Starlink Performance that packet losses occur in this recent access technology.

packet losses in Starlink

Starlink and the future satellite constellations is an important motivation for realizing FEC in QUIC to support latency sensitive applications. In FlEC: Enhancing QUIC with application-tailored reliability mechanisms, François Michel showed that it is possible to adjust the transmission rate of the FEC, and thus the overhead, to the application needs and evaluates the performance of the proposed scheme with measurements in emulated networks and using Starlink.

François Michel has summarized all the lessons in learned while designing and improving Forward Erasure Correction during the last five years in the Ph.D. thesis Flexible QUIC loss recovery mechanisms for latency-sensitive applications that he successfully presented on October 12th, 2023.

Photo