https://ieeexplore.ieee.org/document/9678717
Motivation¶
Learning complex computer network architectures and protocols usually requires hands-on laboratory practice. However, software like ns-3 often have a steep learning curve. The initial phase is riddled with complex environment configurations, simulator installations, and OS maintenance. Thus the authors built ns3-lab, an online, zero-configuration network simulation platform on the Vue Framework.
Methodology¶
The frontend uses Vue2 and Element-UI, along with ace.js for code editing space and xterm.js to for a terminal window.
The backend is a Tornado web based framework (Python). It uses Docker's Python API to spin up containers for each person.
Access to templates for each dockerfile are restricted using RBAC.
For every student, a separate docker container is created, and the relevant image for the lab is pulled, and ns3 is built inside the container.
Drawbacks¶
- OOM issues on large requests
- Repeated builds result in CPU usage saturation
- wrt our project, this is only self-contained, so there is not much use at all.