Provide static routing
Updated by Saurab Dulal over 1 year ago
With the current design of Mini-NDN, with NLSR enabled, it is very hard and becomes unstable to run bigger topology (say > 100). This is because of the overhead of NLSR and ChronoSync. The near exponential increase of hello message and the ChronoSync message exchange cause Mini-NDN to crash before starting NLSR on all the nodes.
One simple test case, I was not able to run more NLSR on more than 171 nodes in a computer with the following configuration. Model: Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz, 64bit Processor: 32 /ramdisk : ~32G
One possible solution to the above problem can be static routing i.e. do not start NLSR at all, but rather read the topology file, compute all the possible routes beforehand, create faces to establish routes, and install the routes in the FIB. Once the routes are installed in the FIB, we don't need NLSR anymore. Because mostly in the experiments, node failure doesn't occur. However, we still have to tackle a few additional problems such as a) how to provide node/link failure experiments b) adding and removing prefix advertisement. The possible solution can be following;
a) Node/Link failure
- provide an interface to remove a node. Upon execution of the command, remove all the links associated with the node (this can be done easily using mininet), re-compute routes, get the diff or routes between the one currently exist in FIB and the computed recently, remove the undesired ones, and install the desired ones. Similar process can be carried out to bring the node up.
b) Adding/Removing prefix advertisement
- Similar to the above can be followed for prefix advertisement as well.
- Should support both Hyperbolic and Link State routing
- Provide basic mini-ndn experiment to demonstrate the functionality
- Should support the addition and deletion of the nodes, and prefix advertisement.