Please see INSTALL.md for instructions on installing Mini-NDN and its dependencies.
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.
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.
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
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.