myownrhyme / nlsr0.0 Goto Github PK
View Code? Open in Web Editor NEWThis project forked from ndn-routing/nlsr0.0
Named Data Link State Routing
This project forked from ndn-routing/nlsr0.0
Named Data Link State Routing
Installation: 1: Getting NLSR: https://github.com/NDN-Routing/NLSR0.0 2: run make to compile. 3: Start ccnx daemon (ccnd) and Repo (ccnr). 4: Add '/ndn/keys' route to your neighboring testbed nodes. This can be done by adding routes in your ccnd.conf to all neigbors, e.g. add /ndn/keys udp 10.0.XX.XX add /ndn/keys udp 10.0.YY.YY ... add /ndn/keys udp 10.0.ZZ.ZZ 5: Create your keys and publish them through repo. Please have a look at https://github.com/named-data/ndn-testbed-key-suite for details. 6: create a nlsr configuration file, have a look at macbook.conf and 'Configuration Parameters' section for details 7: start nlsr Configuration Parameter: 1. router-name </name/prefix/of/the/router> It is a required configuration parameter that is used to set the router name. Name prefix of the router must start with `/ndn' and followed by a strict hierarchical order of name components up to the hostname of the router. For e.g. if router has a hostname host.dept.org.edu pollux.cs.memphis.edu then the router name can be `/ndn/org.edu/dept/host.. 2. ccnneighbor </name/prefix/of/neighbor> [neighbor_ip_addrr] This parameter is used to configure the neighboring router. Name prefix of a neighbor must start with `/ndn. and followed by a strict hierarchical order of name component as mentioned for router-name. If a router has a neighbor having hostname `neighbor.dept.org.edu' then configuration command would be `ccnneighbor /ndn/org.edu/dept/neighbor. The optional parameter, [neighbor_ip_addrr], can be provided for explicitly connecting to a given IP. This is useful if there is no entry of the hostname in the DNS. 3. ccnname </name/prefix/to/be/advertised> ccnname is used to advertise the name prefix of the services hosted by the router. Name prefix must follow the ccnx naming convention. 4. topo-prefix <name/prefix/of/repo/topo> It is used to configure the topological prefix of the `sync. slice created for nlsr in a repo. Prefix must follow the ccnx naming convention. Default value for topo prefix is `/ndn/routing/nlsr' 5. slice-prefix <name/prefix/of/repo/slice> This parameter is used to set the sync's slice prefix. All nlsr nodes `must' have the same slice prefix and must follow the ccnx naming convention. Default value for slice prefix is `/ndn/routing/nlsr/LSA' 6. lsa-refresh-time <sec> It is the time in seconds, after which router will refresh its LSAs. Default value = 1800 sec, Min = 240 sec 7. router-dead-interval <sec> It is the time after which router will consider its neighbor dead if it does not hear anything for that amount of time. If an LSA generated by neighbor has a lifetime greater than router-dead-interval then router will simply discard the LSA and update name prefix table, routing table and ccnd FIB accordingly. Default value = 3600 sec, Min = 360 sec. 8. interest-retry <number> interest-retry is maximum number of times a router will send same interest if the interest is timed out. Default = 3, Min =1 and Max = 10 9. interest-resend-time <sec> When an interest is timed out, NLSR waits for `interest-resend-time. before sending another interest. The interest is retransmitted up to the value of `interest-retry.. If the interest doesn.t get satisfied during this time the neighbor will be considered as dead. Default value = 15 sec, Min = 1 sec, Max = 60 sec 10. max-faces-per-prefix <number> By default NLSR calculates and add faces for all available faces to a prefix. Number of faces can be restricted with this parameter, if this is configured NLSR will add <number> or faces per prefixes in ccnd FIB. 11. debug <on/off> Enable nlsr debugging by printing out detail messages on the standard output. By default it is off. 12. logdir </directory/for/logging/> NLSR will start writing log in logdir folder. If logdir is not configured NLSR will create a log directory name nlsrLog in user home directory and write log into that folder. 13. tunnel-type <udp | tcp> This is used to specify the tunnel type that NLSR should create for building an overlay network. By default NLSR creates udp tunnels. **Following Commands are only required for hyperbolic routing** 14. hyperbolic-routing <on|dry_run> This option enables hyperbolic routing. With option on, link state routing doesn't work while with dry_run option route is calculated by Link State routing and hyperbolic routes are just recorded only in log file.Following field is required if hyperbolic routing is on. 15. hyperbolic-cordinate <radius> <theta> Polar coordinates of a node in a form of radius and theta. Currently, calculation of the polar coordinates is an offline process and done by the operator of a site. ** Hyperbolic Commands End here ** 16. keystore-path </path/to/keystore/file name(.ccnx_keystore)> Path to the keystore. The keystore folder is usually created by ccninitkeystore. Keys in this folder will be used by NLSR to sign the packets. 17. root-key-prefix </key/prefix> Name prefix of the root key; the site key should be signed by this key. e.g. root-key-prefix /ndn/keys 18. site-name </name/prefix/of/site> Name of the site of which this router is a part. 19. network </name/of/network> Name of the networks router belongs to
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.