Files
Navarre_12351600_2021.pdf
Open access - Adobe PDF
- 1.62 MB
Details
- Supervisors
- Faculty
- Degree label
- Abstract
- IPv6 Segment Routing (SRv6) is a recent implementation of the source routing paradigm in IPv6 network. It basically allows packets to be forwarded across specific paths possibly different from the shortest one but also permits to define network functions altering or analyzing the traffic. This thesis is based on the Linux kernel implementation of SRv6, and these functions are rigid since they are directly implemented in it. Hence, adding new behaviors means recompiling the kernel. A programmability framework has recently been added to SRv6 to enable sandbox programming directly in the kernel leveraging the eBPF support in Linux. We take advantage of this support to design, implement, and assess a Forward Erasure Correction (FEC) technique that transparently protects IPv6 packets. This extension is designed for Internet of Things (IoT) devices with resource constraints that cannot implement FEC directly and potentially rely on costly retransmission. We implement our solution as a two-parts plugin, an encoder and a decoder, using eBPF on the Linux kernel, and our design supports a generic FEC Framework with two FEC Schemes: RLC and XOR-based encoding. We evaluate the performance of our plugin with the experimental design approach in different scenarios, particularly over IoT protocols such as MQTT. Our results show that we can improve the network quality by recovering from packet losses transparently for the devices. We also design a controller that dynamically triggers the plugin when we detect losses based on the observed quality of the network, and show that we keep good recovering capabilities while decreasing the overhead induced by FEC.