ATTENTION/WARNING - NE PAS DÉPOSER ICI/DO NOT SUBMIT HERE

Ceci est la version de TEST de DIAL.mem. Veuillez ne pas soumettre votre mémoire sur ce site mais bien à l'URL suivante: 'https://thesis.dial.uclouvain.be'.
This is the TEST version of DIAL.mem. Please use the following URL to submit your master thesis: 'https://thesis.dial.uclouvain.be'.
 

Leveraging eBPF to improve the flexibility of Routing Protocols : the case for Border Gateway Protocol (BGP)

(2019)

Files

Wirtgen_13311400_2019.pdf
  • Open access
  • Adobe PDF
  • 1.74 MB

Details

Supervisors
Faculty
Degree label
Abstract
Today's Routing Protocols are the core features of the Internet. As protocols' requirements evolve with the time, network operators are faced with some challenges that can't be solved unless directly change the protocol behavior. However, convincing router vendors to extend the proficiency of the protocol is actually difficult. More, if the extension requires to redesign the protocol, the IETF has to take into consideration whether or not to adapt its standardization. It often takes many years to first obtain a standard for a new proposal, and then finally see it implemented into the vendor routers. To face with this lack of responses, some operators in data-centers adopt Software Defined Networking to obtain flexibility for routing protocols. This master's thesis proposes an innovating approach to provide flexibility in standardized routing protocols. We leverage a virtual machine based on eBPF that is able to execute bytecode. We propose to include the virtual machine inside the implementation of the Border Gateway Protocol (BGP). This integration allows the protocol implementation to run eBPF bytecodes provided by a network operator. These codes can manipulate the protocol in order make extensions or replace completely the behavior of routing algorithms through an API that makes the link between bytecodes and the BGP protocol. We suggest to use an existing implementation of an eBPF virtual machine, uBPF, on which we build a higher API that fits with the requirements of a real protocol such as BGP. This master's thesis describes the modifications done in order to improve its efficiency to both securely inject bytecodes on a running protocol and extend the capabilities of the existing uBPF machine. After discussing its easy integration into the BGP FRRouting implementation, we have proven the usefulness of the modified uBPF machine, by demonstrating its benefits and extending BGP throughout several use cases. Finally, an overview of the performances of BGP with the virtual machine is given. It shows the current advantages and limitations of the proposed approach.