Welcome to my implementation of the Efficient Clustering Scheme for NS-3.
This is an ongoing project as part of the Gillis Lab to complete my MSc Thesis. The hope is to implement the Efficient Clustering Scheme in order to simulate Mobile Ad hoc Networks (MANETs) in order to better understand how density affects these networks.
The goal of this project was to attempt to recreate the Efficient Clustering Scheme of NS-3 based on the original paper:
Yu JY, Chong PHJ. An efficient clustering scheme for large and dense mobile ad hoc networks (MANETs). Computer Communications. 2006;30(1):5-16. doi:10.1016/j.comcom.2006.07.014.
$ docker build \
--build-arg VCS_REF=$(git rev-parse -q --verify HEAD) \
--build-arg BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
--build-arg BUILD_PROFILE=debug \
-t ecs-clustering:latest .The build variant can be configured using the BUILD_PROFILE build-arg, it can be set to either debug, release, or optimized.
It is set to debug by default.
For convenience this simulation experiment has also been packaged as a prebuilt docker image so that you do not need to install any of the dependencies or compile the simulator yourself.
There are two ways that the docker container can be used:
- to run ns-3 simulations directly
- to get a bash shell in a ns-3 installation
The interactive shell will put you in the ns-3 root directory. Depending on which docker image tag is used ns-3 can either be built in debug mode or optimized mode. Then the ./waf command can be run manually.
docker run --rm -it ecs-clustering:optimized bashIf anything other than bash is given as the command to the Docker container then the command will
be passed to ./waf --run "ecs-clustering-example <command>" to run a simulation using the flags.
docker run --rm ecs-clustering:optimized --printHelp