Skip to content

turanzv/mini-ndn

 
 

Repository files navigation

Mini-NDN

Mini-NDN is a lightweight networking emulation tool that enables testing, experimentation, and research on the NDN platform based on Mininet. Mini-NDN uses the NDN libraries, NFD, NLSR, and tools released by the NDN project to emulate an NDN network on a single system.

Mini-NDN works on Ubuntu 20.04 and 22.04. It will also run on Debian 11 and Fedora 33 without the WiFi scenario.

Installation

Mini-NDN can be installed from source using the following commands:

git clone https://github.com/named-data/mini-ndn.git
cd mini-ndn
./install.sh --source

./install.sh --source will install NDN packages from source.

./install.sh --ppa will install NDN packages from PPA repository.

./install.sh --[source or ppa] --no-wifi will install Mini-NDN without the wifi module.

Quickstart

To run Mini-NDN with the default toplology, run:

sudo python examples/mnndn.py

To run Mini-NDN with a topology file, provide a filname as the first argument:

sudo python examples/mnndn.py my-topology.conf

More information on how to make your own topologies and configuration file can be found here

A sample experiment can be found in /examples or in the documentaion here.

Documentation

Full documentation for Mini-NDN can be found at its ReadTheDocs.

Alternatively, the docs can be built from source by cloning this repo and running:

./docs/build.sh

The output can be found in docs/_build/html.

Additionally, the ICN 2022 presentation is a good starting point to get an overview.

Contributing

If you are new to the NDN community of software generally, read the Contributor's Guide.

Mini-NDN is open and free software licensed under the GPL 3.0 license. Mini-NDN is free to all users and developers. For more information about licensing details and limitations, please refer to COPYING.md.

The first release of Mini-NDN is developed by members of the NSF-sponsored NDN project team. Mini-NDN is open to contribution from the public. For more details, please refer to AUTHORS.rst. Bug reports and feedback are highly appreciated and can be made through our Redmine site and the mini-ndn mailing list.

Learn more about Mini-NDN's dependencies:

Releases

No releases published

Packages

No packages published

Languages

  • Python 77.4%
  • Shell 21.8%
  • Dockerfile 0.8%