Feature #3948

Multiple network support

Added by Ashlesh Gawande about 4 years ago. Updated 2 months ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
(Total: 0.00 h)


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. /ndn/ and /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.


Bug #4101: Use network name in sync prefixClosedAshlesh Gawande05/30/2017


Related issues

Related to NLSR - Feature #3277: NLSR messages should include process IDNew10/20/2015


Updated by Nicholas Gordon almost 4 years ago

  • Priority changed from Normal to Low

Updated by Nicholas Gordon almost 4 years ago

  • Priority changed from Low to Normal

Updated by Nicholas Gordon almost 4 years ago

  • Related to Feature #3277: NLSR messages should include process ID added

Updated by Nicholas Gordon almost 4 years ago

  • Tracker changed from Task to Feature
  • Subject changed from Support multiple NLSR domains in a large network and multiple NLSR processes on a border router to Multiple network support
  • Description updated (diff)
  • Target version set to v0.5.0

Updated by Nicholas Gordon almost 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:// (in the first nlsr.conf)
  • udp4:// (in the second)
  • udp4:// (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.


Updated by Nicholas Gordon over 3 years ago

  • Description updated (diff)

Updated by Nicholas Gordon about 3 years ago

  • Assignee set to Laqin Fan

Updated by Ashlesh Gawande about 2 years ago

  • Target version changed from v0.5.0 to v0.6.0

Updated by Saurab Dulal 2 months ago

  • Target version changed from v0.6.0 to Minor Release v0.6.1

Also available in: Atom PDF