ns3-lab

Date: 2026-06-04

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.