Multiple network support
Do not forward LSA interests to routers not in the same network. Multiple networks should not interfere with each other.
Currently, if two routers are working on different network prefixes, e.g.
/ccn, LSAs distributed will leak into the other network, and cause interruptions.
- (1) On a single computer, multiple NLSR processes could run simultaneously without interfering with each other.
- (2) LSAs distributed for one network would not clutter other networks.
This is a CI-NEW grant (NDN-CRI) goal for year two.
Updated by Nicholas Gordon over 4 years ago
- Description updated (diff)
To further specify this issue, the goal is: given two NLSR processes on one computer, condition (1) means that the two processes will not forward anything to each other.
Some of the problems can be addressed by namespacing (e.g. sync and LSAs, which can be given with a multi-component prefix to avoid collisions, in theory).
Other problems are not clear. It seems that NLSR should already be able to support multiple processes per node, considering the case where neighbors are specified with full URIs, disambiguating two processes should be possible, say with a port number specification.
For example, consider the case where we are running three NLSR processes on each node. In a conventional UDP-tunneled overlay, we could specify the URIs like this:
- udp4://10.0.0.1:8000 (in the first nlsr.conf)
- udp4://10.0.0.1:8001 (in the second)
- udp4://10.0.0.1:8002 (in the third)
Then, this should be enough to differentiate the processes. If we then differentiate the broadcast-type connections (Hello procotol, LSA, and sync) by setting good network names, a cursory evaluation suggests that NLSR should already do this.
Unless someone else knows of a situation in which this fails, we may need to construct an experiment to determine whether this happens in practice.