Link: https://link.springer.com/chapter/10.1007/978-3-030-35944-7_4
Motivation¶
The authors aimed to create a cost-effective, reproducible, and highly scalable hybrid testing environment that runs real production software on generic low-cost hardware. By upgrading the Dockemu framework to support complex cell and mesh topologies, they tried to find a way to seamlessly stress-test application protocols under realistic conditions.
Methodology¶
- Individual constrained nodes run software clients or servers inside Linux Docker containers to use kernel namespace features to optimize RAM and scale up the number of simultaneous endpoints.
- Uses ns-3 with the realtime scheduler to match with system time.
- For each container, Dockemu creates a virtual peer interface connected to a Linux bridge and a Tap interface, which binds to an emulated node via the ns-3
Tap NetDevicemodule. - Network interfaces mapping into ns-3 act as "ghost nodes"; they do not generate traffic but instead use Inter-Process Communication (IPC) to pass packets from the Docker Containers into the ntework inside ns-3.
- LTE Networks: Dockemu bridges containers to cellular nodes using the ns-3
LENAmodule by passing traffic through a high bandwidth and "near-zero latency" CSMA link. - LR-WPAN Mesh: Low-rate mesh networks are emulated using the
lr-wpanand6lowpanmodules, routing traffic to a simulated6LoWPANadapter that handles standard 127-byte header compression and encapsulation. - All of this is executed with a completely rewritten framework that replaces all the Python and bash scripts into Ansible Playbooks for install, prepare, execute, and cleanup, using a single YAML file.
Drawbacks¶
- The topology configuration only allows for 2 distinct nodes that are defined,
clientandserver - There exists no cross-over configuration where multiple different network types are used to communicate.
- It still requires to modify and write C++ classes inside ns3 to adjust the simulation logic.
- The fake PAN association bypasses the initial handshake and configurations, so it doesn't mimic actual interactions.
- The containers are setup very simple, there are no fine grained controls should someone need.