Skip to content

project list

Giulia edited this page May 27, 2021 · 1 revision

project list for the edgeVU research group

Active projects

Student projects

netsim-bpf

network simulation is necessary to run many experiments. Varying bandwidth, latency, drop rate and jitter (for example) is useful to identify application behaviors and potential bottlenecks. A tool that is frequently used is tc. In Linux systems, tc can be used to simulate different networking coditions.

However, tc by and large designed to operate at the network interface granularity (e.g. eth0), affecting all incoming and outgoing traffic from a host. When running experiments however it can be necessary to simulate different networking conditions for different applications.

An avenue for achieving this could be using eBPF. eBPF allows to inject network programmability at both the NIC and socket level. The goal of this project is to explore to what extent eBPF can be used to implement an application-specific network simulator, and to evaluate the performance impact of this tool compared to tc.

these would be the desired functionalities (the order is a guesstimate of the difficulty of implementation)

  • drop rate: drop packets at the specified probability rate (uniform)
  • error injection
  • latency: inject the specified latency for the packet transmission
  • jitter
  • bandwidth: pace packet transmission according to bandwidth specifications (requires to maintain state between different bpf calls, I think)
  • implement different probability distributions for drop rate, latency and jitter
  • reproduce network traces