blob: 8368f13697c45e27f7ce03f1cc8f891038a7b521 [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
dmcoomesecf9c5a2017-10-11 10:17:46 -050062To run minindn without NLSR, use the `--no-nlsr` parameter:
63
64 sudo minindn --no-nlsr
65
dmcoomes7adc7f72017-10-06 12:01:28 -050066To run NLSR with hyperbolic routing enabled, use the `--routing` parameter:
Vince Lehmand367dbb2015-07-14 15:59:29 -050067
dmcoomes7adc7f72017-10-06 12:01:28 -050068 sudo minindn --routing hr
Vince Lehmand367dbb2015-07-14 15:59:29 -050069
dmcoomes7adc7f72017-10-06 12:01:28 -050070Topology files given under ndn_utils/topologies/minindn* have hyperbolic coordinates configured
71and can be used with this option.
72
73To run NLSR in dry-run mode, use the `--routing` parameter:
74
75 sudo minindn --routing dry
Ashlesh Gawandee626b632016-08-12 16:50:14 -050076
77To configure the max number of faces added by NLSR to reach each name prefix, use the `--faces`
Vince Lehmand367dbb2015-07-14 15:59:29 -050078parameter:
79
Ashlesh Gawandee626b632016-08-12 16:50:14 -050080 sudo minindn --faces 3
Vince Lehmand367dbb2015-07-14 15:59:29 -050081
Ashlesh Gawandee626b632016-08-12 16:50:14 -050082`--faces` can be an integer from 0 to 60; 0 indicates NLSR can add all available faces.
Vince Lehmand367dbb2015-07-14 15:59:29 -050083
Ashlesh Gawandee626b632016-08-12 16:50:14 -050084To run Mini-NDN with NLSR security configured
Vince Lehmand367dbb2015-07-14 15:59:29 -050085
Ashlesh Gawandee626b632016-08-12 16:50:14 -050086 sudo minindn --nlsr-security
87
88## Working Directory Structure
89
90Currently Mini-NDN uses /tmp as the working directory if not specified otherwise by using the option --work-dir.
91
92Each node is given a HOME directory under /tmp/node-name
93where node-name is the name of the node specified in the [nodes] section of the conf file.
94
95### NFD
96NFD conf file is stored at `/tmp/node-name/node-name.conf`
97
98NFD log file is stored at `/tmp/node-name/node-name.log`
99
100`.ndn` folder is stored at `/tmp/node-name/.ndn`
101
102### NLSR
103NLSR conf file is stored at `/tmp/node-name/nlsr.conf`
104
105NLSR log file is stored at `/tmp/node-name/log/nlsr.log`
106
107When security is enabled, NLSR security certificates are stored in: `/tmp/node-name/security`
108Note that no NLSR publishes the root certificate, Mini-NDN installs root.cert in security folder for each NLSR.