Researchers of UCLouvain’s IP Networking Lab regularly contribute to different Internet protocols. During the last four years, Thomas Wirtgen has acquired a strong expertise in routing protocols. These protocols play a important role in the Internet since they control the paths that packet follows. There are two main classes on unicast routing protocols: (i) the intradomain routing protocols such as IS-IS and OSPF that are used inside enterprise and ISP networks and (ii) the Border Gateway Protocol (BGP) that is used to exchange routes between networks belonging to different companies. BGP is the glue that makes the Internet work.

Thomas Wirtgen has developed several new techniques to make the routing protocols easier to extend. He first demonstrated in The Case for Pluginized Routing Protocols that it is possible to modify the implementation of routing protocols in a way to make them more extensible. For this, he leveraged the eBPF virtual machine and modified FRRouting such that key parts of this implementation could be extended by using small software modules called plugins that are written in C and compiled into eBPF before being executed inside FRRouting to extend.

This work showed that it is possible to extend one particular implementation with plugins, but it could only be used with FRRouting while most ISPs networks use routers from multiple vendors. Thomas Wirtgen took a step back and analyzed what were the common factors among different implementations of BGP. They all need to implement the IETF standards and thus process the BGP messages according to the workflow specified in the standards. This was the starting point for his efforts on xBGP, a framework to enable different BGP implementations to be extensible. The initial idea was presented at HotNets’20 in the xBGP: When You Can’t Wait for the IETF and Vendors paper. The figure below illustrates the xBGP workflow and how it can be extended by plugins to support a protocol extension that allows to encode the geographical coordinates of the router where a given route was learned. A key contribution of this paper was that two different implementations, FRRouting and BIRD can run exactly the same plugins written using eBPF.

xbgp

However, this was not the end of the efforts on realizing xBGP. To convince researchers and network operators of the feasibility of this approach, Thomas Wirtgen had to develop more use cases and prove that the plugins that were added to a BGP implementation could be executed safely. This was done notably in cooperation with Tom Rousseaux and Axel Legay who helped to prove this safety by relying on formal methods and tools. This effort was summarized in the paper xBGP: Faster Innovation in Routing Protocols that Thomas Wirtgen presented at Usenix NSDI’23.

PhD photo

These results are part of the Ph.D. thesis that Thomas Wirtgen successfully defended on October 4th, 2023.