De Coninck, Quentin
[UCL]
Bonaventure, Olivier
[UCL]
Transport protocols such as TCP, SCTP or QUIC are supposedly extensible thanks to their flexible packet formats. However, implementations also need to be modified to support such extensions and changing those extensions remains difficult. Furthermore, it is difficult for an application to finely tune the underlying protocol to its needs. Our proposed protocol plugins address these two needs. A protocol plugin is a small executable code which can be dynamically plugged inside an implementation on a per-connection basis. We first propose a methodology to modify an existing implementation to support protocol plugins. We apply this methodology to two different QUIC implementations written in C and Go. We then demonstrate how servers can extend client stacks with protocol plugins that implement Tail Loss Probe, Explicit Congestion Notification, pacing rate and different acknowledgement strategies. We then discuss how protocols should leverage protocol plugins.


Bibliographic reference |
De Coninck, Quentin ; Bonaventure, Olivier. The Case for Protocol Plugins. (2019) 7 pages |
Permanent URL |
http://hdl.handle.net/2078.1/216493 |