buzz66boy / ns3-lxc

Integration and automation of NS-3 network simulator and Linux Containers
MIT License
10 stars 6 forks source link
linux-containers lxc ns-3 topology-files

The ns3-lxc Project

ns-3 automation with Linux Container integration. Check out the github wiki for latest news: https://github.com/buzz66boy/ns3-lxc/wiki

Download the latest version of ns3-lxc

Version 0.1 (details)

Overview

The aim of the ns3-lxc project is to create a program that automates and integrates the usage of Linux Containers (LXCs) with the real-time simulation capabilities of ns-3; abstracting away the need for users to write their own ns-3 script, instantiate their own containers, and ease the process of running applications on those containers. Primary use-cases for ns3-lxc include: testing of network routing protocols, simulation of large-scale, rapidly changing topologies, testing of new ns-3 modules, and website development and testing.

A more in-depth overview may be found in the 'docs/report.odt' document.

In essence, the project uses YAML-based topology files to automate creation of linux containers and interface them with ns-3 to simulate a network. Settings may be set in the settings.conf file.

Resources, including example topology files and a readme on how to write topology files can be found in the resources folder.

Links

Setup

Dependencies

YAML

NS-3

LXC

Running the program for the first time

Program Options (help text)

usage: 'sudo bin/ns3lxc pathToTopology [-n] [-c] [-s] [-g] [-h]'