bLEO: An eBPF-based emulator for large-scale LEO satellite networks
Authors/Creators
- 1. Universidad Politécnica de Cartagena
Description
bLEO is a Linux-based tool designed to emulate large-scale LEO (Low Earth Orbit) satellite networks. It is implemented using shell scripting (bleo.sh) and makes use of the following general-purpose Linux tools:
- Docker containers
- eBPF modules
- Linux bridging
- Network namespaces
- Python (for event generation)
- gcc and clang (LLVM) compilers
The core idea is to run one container per network element (satellites, ground stations, and terminals) and connect them through virtual Ethernet interfaces (veth) and network namespaces. bLEO models time-varying connectivity between satellites and ground stations, driven by satellite movement and Earth rotation. Instead of using tc-netem, link delay is controlled via an eBPF module, enabling near-instantaneous updates directly in the kernel datapath. In LEO constellations, link characteristics such as delay and connectivity change frequently, requiring efficient mechanisms to update network conditions at high rates.
A typical execution workflow is:
1. Configure the scenario in bleo.conf2. Generate dynamic events using eventGenerator.py3. Deploy the network using bleo.sh4. Run the dynamic event script (events_dynamic.sh generated by eventGenerator.py) to simulate satellite movement
Acknowledgements
This work is part of the project PID2023-148214OB-C21, funded by MICIU/AEI/10.13039/501100011033 and by ERDF/EU.
Files
leonetlab-upct/bleo-v2.1.0.zip
Files
(84.0 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:e1fb7dd5babd8da8d60b244db4645404
|
84.0 kB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/leonetlab-upct/bleo/tree/v2.1.0 (URL)
Funding
- Agencia Estatal de Investigación
- Proyecto de I+D de generación de conocimiento PID2023-148214OB-C21
Software
- Repository URL
- https://github.com/leonetlab-upct/bleo
- Programming language
- Shell , C , Python
- Development Status
- Active