blob: 84e204e992e995d3217b02135f0eb911b0b3ab02 [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
dmcoomes7adc7f72017-10-06 12:01:28 -050062To run NLSR with hyperbolic routing enabled, use the `--routing` parameter:
Vince Lehmand367dbb2015-07-14 15:59:29 -050063
dmcoomes7adc7f72017-10-06 12:01:28 -050064 sudo minindn --routing hr
Vince Lehmand367dbb2015-07-14 15:59:29 -050065
dmcoomes7adc7f72017-10-06 12:01:28 -050066Topology files given under ndn_utils/topologies/minindn* have hyperbolic coordinates configured
67and can be used with this option.
68
69To run NLSR in dry-run mode, use the `--routing` parameter:
70
71 sudo minindn --routing dry
Ashlesh Gawandee626b632016-08-12 16:50:14 -050072
73To configure the max number of faces added by NLSR to reach each name prefix, use the `--faces`
Vince Lehmand367dbb2015-07-14 15:59:29 -050074parameter:
75
Ashlesh Gawandee626b632016-08-12 16:50:14 -050076 sudo minindn --faces 3
Vince Lehmand367dbb2015-07-14 15:59:29 -050077
Ashlesh Gawandee626b632016-08-12 16:50:14 -050078`--faces` can be an integer from 0 to 60; 0 indicates NLSR can add all available faces.
Vince Lehmand367dbb2015-07-14 15:59:29 -050079
Ashlesh Gawandee626b632016-08-12 16:50:14 -050080To run Mini-NDN with NLSR security configured
Vince Lehmand367dbb2015-07-14 15:59:29 -050081
Ashlesh Gawandee626b632016-08-12 16:50:14 -050082 sudo minindn --nlsr-security
83
84## Working Directory Structure
85
86Currently Mini-NDN uses /tmp as the working directory if not specified otherwise by using the option --work-dir.
87
88Each node is given a HOME directory under /tmp/node-name
89where node-name is the name of the node specified in the [nodes] section of the conf file.
90
91### NFD
92NFD conf file is stored at `/tmp/node-name/node-name.conf`
93
94NFD log file is stored at `/tmp/node-name/node-name.log`
95
96`.ndn` folder is stored at `/tmp/node-name/.ndn`
97
98### NLSR
99NLSR conf file is stored at `/tmp/node-name/nlsr.conf`
100
101NLSR log file is stored at `/tmp/node-name/log/nlsr.log`
102
103When security is enabled, NLSR security certificates are stored in: `/tmp/node-name/security`
104Note that no NLSR publishes the root certificate, Mini-NDN installs root.cert in security folder for each NLSR.