Getting Started

Running Mini-NDN

To run Mini-NDN with the default topology, ndn_utils/topologies/default-topology.conf, type:

sudo minindn

A full list of options can be printed by using:

sudo minindn --help

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

sudo minindn my-topology.conf

During set up, the list of nodes in the network will be listed as they are initialized:

*** Adding hosts:
a b c d

After set up, the command-line interface (CLI) will display a prompt.

mini-ndn>

To interact with a node, first type the node’s name and then the command to be executed:

mini-ndn> a echo "Hello, world!"
Hello, world!

To see the status of the forwarder on the node:

mini-ndn> a nfdc status report

To see the status of routing on the node:

mini-ndn> a nlsrc status

To exit Mini-NDN, type quit in the CLI:

mini-ndn> quit

Another option to quit Mini-NDN is sending a SIGQUIT (ctrl+). SIGINT (ctrl+c) is reserved for the purpose of stopping applications initiated on the minindn command line.

For a more in depth explanation of the CLI, please see the Mininet Walkthrough.

Command-line options

To run Mini-NDN with a replica of the NDN testbed, use the --testbed parameter:

sudo minindn --testbed

To change the working directory from default /tmp/minindn following option can be used:

sudo minindn --work-dir /home/mydir/test

Autocomplete of command-line options is available for users of Bash and Zsh.

Routing options

To run minindn without NLSR, use the --no-nlsr parameter:

sudo minindn --no-nlsr

To run NLSR with hyperbolic routing enabled, use the --routing parameter:

sudo minindn --routing hr

Topology files given under ndn_utils/topologies/minindn* have hyperbolic coordinates configured and can be used with this option.

To run NLSR in dry-run mode, use the --routing parameter:

sudo minindn --routing dry

To configure the max number of faces added by NLSR to reach each name prefix, use the --faces parameter:

sudo minindn --faces 3

--faces can be an integer from 0 to 60; 0 indicates NLSR can add all available faces.

To run Mini-NDN with NLSR security configured

sudo minindn --nlsr-security

Working Directory Structure

Currently Mini-NDN uses /tmp/minindn as the working directory if not specified otherwise by using the option –work-dir.

Each node is given a HOME directory under /tmp/minindn/node-name where node-name is the name of the node specified in the [nodes] section of the conf file.

NFD conf file is stored at /tmp/minindn/node-name/node-name.conf

NFD log file is stored at /tmp/minindn/node-name/node-name.log

.ndn folder is stored at /tmp/minindn/node-name/.ndn

NLSR conf file is stored at /tmp/minindn/node-name/nlsr.conf

NLSR log file is stored at /tmp/minindn/node-name/log/nlsr.log

When security is enabled, NLSR security certificates are stored in: /tmp/minindn/node-name/security Note that no NLSR publishes the root certificate, Mini-NDN installs root.cert in security folder for each NLSR.