blob: 205d2ebccaccfb750af7582621eb71e682fb7f85 [file] [log] [blame] [view]
Vince Lehmand367dbb2015-07-14 15:59:29 -05001Getting Started
2===============
3
4## Installation
5Please see [INSTALL.md](../INSTALL.md) for instructions on installing Mini-NDN and its dependencies.
6
7## Running Mini-NDN
8
Ashlesh Gawandee626b632016-08-12 16:50:14 -05009To run Mini-NDN with the default topology, `ndn_utils/topologies/default-topology.conf`, type:
Vince Lehmand367dbb2015-07-14 15:59:29 -050010
11 sudo minindn
12
Ashlesh Gawandee626b632016-08-12 16:50:14 -050013A full list of options can be printed by using:
14
15 sudo minindn --help
16
Vince Lehmand367dbb2015-07-14 15:59:29 -050017To run Mini-NDN with a topology file, provide the filename as the first argument:
18
19 sudo minindn my-topology.conf
20
21During set up, the list of nodes in the network will be listed as they are initialized:
22
23 *** Adding hosts:
24 a b c d
25
26After set up, the command-line interface (CLI) will display a prompt.
27
Ashlesh Gawande95789cc2017-02-27 12:38:04 -060028 mini-ndn>
Vince Lehmand367dbb2015-07-14 15:59:29 -050029
30To interact with a node, first type the node's name and then the command to be executed:
31
Ashlesh Gawande95789cc2017-02-27 12:38:04 -060032 mini-ndn> a echo "Hello, world!"
Vince Lehmand367dbb2015-07-14 15:59:29 -050033 Hello, world!
34
35To see the status of the forwarder on the node:
36
Ashlesh Gawande95789cc2017-02-27 12:38:04 -060037 mini-ndn> a nfdc status report
Vince Lehmand367dbb2015-07-14 15:59:29 -050038
39To see the status of routing on the node:
40
Ashlesh Gawande95789cc2017-02-27 12:38:04 -060041 mini-ndn> a nlsrc status
Vince Lehmand367dbb2015-07-14 15:59:29 -050042
Ashlesh Gawandee626b632016-08-12 16:50:14 -050043To exit Mini-NDN, type `quit` in the CLI:
Vince Lehmand367dbb2015-07-14 15:59:29 -050044
Ashlesh Gawande95789cc2017-02-27 12:38:04 -060045 mini-ndn> quit
Vince Lehmand367dbb2015-07-14 15:59:29 -050046
47For a more in depth explanation of the CLI, please see the
48[Mininet Walkthrough](http://mininet.org/walkthrough/).
49
50## Command-line options
51
Ashlesh Gawandee626b632016-08-12 16:50:14 -050052To run Mini-NDN with a replica of the NDN testbed, use the `--testbed` parameter:
Vince Lehmand367dbb2015-07-14 15:59:29 -050053
Ashlesh Gawandee626b632016-08-12 16:50:14 -050054 sudo minindn --testbed
55
56To change the working directory from default `/tmp` following option can be used:
57
58 sudo minindn --work-dir /home/mydir/test
Vince Lehmand367dbb2015-07-14 15:59:29 -050059
60#### Routing options
61
Ashlesh Gawandee626b632016-08-12 16:50:14 -050062To run NLSR with hyperbolic routing enabled, use the `--hr` parameter:
Vince Lehmand367dbb2015-07-14 15:59:29 -050063
Ashlesh Gawandee626b632016-08-12 16:50:14 -050064 sudo minindn --hr
Vince Lehmand367dbb2015-07-14 15:59:29 -050065
Ashlesh Gawandee626b632016-08-12 16:50:14 -050066Topology files given under ndn_utils/topologies/minindn* have hyperbolic coordinates configured and can be used with this option.
67
68To configure the max number of faces added by NLSR to reach each name prefix, use the `--faces`
Vince Lehmand367dbb2015-07-14 15:59:29 -050069parameter:
70
Ashlesh Gawandee626b632016-08-12 16:50:14 -050071 sudo minindn --faces 3
Vince Lehmand367dbb2015-07-14 15:59:29 -050072
Ashlesh Gawandee626b632016-08-12 16:50:14 -050073`--faces` can be an integer from 0 to 60; 0 indicates NLSR can add all available faces.
Vince Lehmand367dbb2015-07-14 15:59:29 -050074
Ashlesh Gawandee626b632016-08-12 16:50:14 -050075To run Mini-NDN with NLSR security configured
Vince Lehmand367dbb2015-07-14 15:59:29 -050076
Ashlesh Gawandee626b632016-08-12 16:50:14 -050077 sudo minindn --nlsr-security
78
79## Working Directory Structure
80
81Currently Mini-NDN uses /tmp as the working directory if not specified otherwise by using the option --work-dir.
82
83Each node is given a HOME directory under /tmp/node-name
84where node-name is the name of the node specified in the [nodes] section of the conf file.
85
86### NFD
87NFD conf file is stored at `/tmp/node-name/node-name.conf`
88
89NFD log file is stored at `/tmp/node-name/node-name.log`
90
91`.ndn` folder is stored at `/tmp/node-name/.ndn`
92
93### NLSR
94NLSR conf file is stored at `/tmp/node-name/nlsr.conf`
95
96NLSR log file is stored at `/tmp/node-name/log/nlsr.log`
97
98When security is enabled, NLSR security certificates are stored in: `/tmp/node-name/security`
99Note that no NLSR publishes the root certificate, Mini-NDN installs root.cert in security folder for each NLSR.