[Mini-NDN] Mini-NDN and NDN-Traffic-Generator

Saurab Dulal (sdulal) sdulal at memphis.edu
Tue Aug 18 14:43:51 PDT 2020



________________________________
From: JIACHENG HOU <houdemi at outlook.com>
Sent: Sunday, August 16, 2020 9:50 PM
To: Saurab Dulal (sdulal) <sdulal at memphis.edu>
Subject: Re: Mini-NDN and NDN-Traffic-Generator


Hi Sdulal,



Thank you very much for your reply! It helps me a lot.



May I ask another question about NFD?



I find that each node in Mini-NDN manipulates a specific NFD configuration file. I believe the reason is that every node has its own forwarder.



- Yes, each node runs its own forwarder, has all the essential configuration required to run NFD, NLSR, and so on. MiniNDN is an emulator, it is much close and similar to running ndn in a real environment. You can pretty much do most of the things that are possible in real environment.


Currently, I am trying to create a network topology with 1000 nodes in Mininet. I plan to implement it with NDN network architecture. I installed NFD successfully and I was able to run it with the “nfd-start” command. However, after I run some NDN traffic, I find the FIB of all nodes is the same, which means every node in Mininet connects to the same forwarder. I believe I am in the wrong way, could you please give me some suggestions about it?



- Honestly, I don't understand what are you doing here. If you are using MiniNDN than you dont have to run nfd-start command to start NFD because minindn already does that for you. For example, if you run sudo python examples/mnndn.py on the default topology, it will start a 4 node minindn environment. And similarly, you can do it for larger topologies. Please refer to the examples.

- Now, running 1000 nodes topologies definitely incur huge overheads, especially if you use NLSR. So, to tackle this problem and to scale minindn to larger topologies, we are developing ndn_routing_helper modules. It computes routes from a give topology file and installs them in the FIB and so eliminates the use of NLSR.
For more details, https://github.com/named-data/mini-ndn/blob/master/minindn/helpers/ndn_routing_helper.py


Besides, Mini-NDN is awesome! However, I believe I am unable to do the 1000 nodes experimentation with Mini-NDN due to its scalability.

Anyway, you guys did an amazing job!



Again, thank you very much for your help.



Best wishes,

Jiacheng







From: "Saurab Dulal (sdulal)" <sdulal at memphis.edu>
Date: Thursday, August 13, 2020 at 4:15 PM
To: JIACHENG HOU <houdemi at outlook.com>, Carles Sastre Pérez via Mini-NDN <mini-ndn at lists.cs.ucla.edu>
Cc: "Lan Wang (lanwang)" <lanwang at memphis.edu>
Subject: Re: Mini-NDN and NDN-Traffic-Generator



Hi Jiacheng,



"Connected" in ndn is a bit different than how it is perceived in IP.  It really doesn't make a strong sense, at least to me, to say nodes a and c are connected, what doesn't it mean?



In ndn, routes are crated for name-prefix, not for any particular host. So, when you register a new prefix at any node, other nodes in the network need to create a route towards that prefix in order to do interest-data exchange.

Now, if you are running nlsr, and if you use nlsrc to advertise a prefix, in that case, the routes towards that advertise prefix are propagated throughout the network and no other route creation towards that prefix is needed.



ndn-traffic-generator doesn't use nlsr to advertise prefixes (e.g. /example/*) so there is no way for other nodes to reach those prefixes registered by the server, hence, you need to create a route from other nodes.



You can simply do that by running the following command in mini-ndn.



"c nfdc route add /example udp://10.0.0.1"

you can also use appropriate face-id instead of "udp://10.0.0.1" to create route.



Once you create the route, you should be able to get the data back in your test.



Let me know if you have more questions.



Regards,

Saurab Dulal



________________________________

From: Mini-NDN <mini-ndn-bounces at lists.cs.ucla.edu> on behalf of Lan Wang (lanwang) <lanwang at memphis.edu>
Sent: Thursday, August 13, 2020 5:50 PM
To: Carles Sastre Pérez via Mini-NDN <mini-ndn at lists.cs.ucla.edu>
Subject: [Mini-NDN] Mini-NDN and NDN-Traffic-Generator







Begin forwarded message:





The attached message has been automatically discarded.

From: JIACHENG HOU <houdemi at outlook.com<mailto:houdemi at outlook.com>>

Subject: Mini-NDN and NDN-Traffic-Generator

Date: August 12, 2020 at 8:20:47 PM CDT

To: "mini-ndn at lists.cs.ucla.edu<mailto:mini-ndn at lists.cs.ucla.edu>" <mini-ndn at lists.cs.ucla.edu<mailto:mini-ndn at lists.cs.ucla.edu>>



Hi Mini-NDN teams,



May I ask a question about Mini-NDN and NDN-Traffic-Generator?



I tried a simple topology in Mini-NDN, the topology configuration file looks like this:



[nodes]

a: _ radius=0.5 angle=2.64159265359

b: _ radius=0.6 angle=3.64159265359

c: _ radius=1 angle=1.57079632679

d: _ radius=1 angle=4.71238898038

[links]

a:b delay=10ms

a:c delay=10ms

b:d delay=10ms



I tried to run the ndn-traffic-server on node a:

a ndn-traffic-server /home/demi/NDN-traffic-generator/ndn-traffic-server.conf





The result on node a is:



Environment variable NDN_TRAFFIC_LOGFOLDER not set.

Using default output for logging.

2020-Aug-12 21:05:05 - Reading traffic configuration file: /home/demi/ndn-traffic-generator/ndn-traffic-server.conf

2020-Aug-12 21:05:05 - Traffic configuration file processing completed.



Traffic Pattern Type #1

Name=/example/A, ContentType=1, ContentBytes=1000000<tel:1000000>, Content=AAAAAAAA, SigningInfo=



Traffic Pattern Type #2

Name=/example/B, ContentType=2, ContentBytes=1000000<tel:1000000>, Content=BBBBBBBB, SigningInfo=



Traffic Pattern Type #3

Name=/example/C, ContentType=3, ContentBytes=1000000<tel:1000000>, Content=CCCCCCCC, SigningInfo=



Traffic Pattern Type #4

Name=/example/D, ContentType=4, ContentBytes=1000000<tel:1000000>, Content=DDDDDDDD, SigningInfo=



Traffic Pattern Type #5

Name=/example/E, ContentType=5, ContentBytes=1000000<tel:1000000>, Content=EEEEEEEE, SigningInfo=





Then I run ndn-traffic-client on node c:

c ndn-traffic-client --count=10 /home/demi/ndn-traffic-generator/ndn-traffic-client.conf



However, the result on node c is:

2020-Aug-12 21:07:41 - Sending Interest   - PatternType=2, GlobalID=1, LocalID=1, Name=/example/B

2020-Aug-12 21:07:41 - Interest Nack'd    - PatternType=2, GlobalID=1, LocalID=1, Name=/example/B, NackReason=NoRoute

2020-Aug-12 21:07:42 - Sending Interest   - PatternType=3, GlobalID=2, LocalID=1, Name=/example/C

2020-Aug-12 21:07:42 - Interest Nack'd    - PatternType=3, GlobalID=2, LocalID=1, Name=/example/C, NackReason=NoRoute

2020-Aug-12 21:07:43 - Sending Interest   - PatternType=3, GlobalID=3, LocalID=2, Name=/example/C

2020-Aug-12 21:07:43 - Interest Nack'd    - PatternType=3, GlobalID=3, LocalID=2, Name=/example/C, NackReason=NoRoute

2020-Aug-12 21:07:44 - Sending Interest   - PatternType=1, GlobalID=4, LocalID=1, Name=/example/A

2020-Aug-12 21:07:44 - Interest Nack'd    - PatternType=1, GlobalID=4, LocalID=1, Name=/example/A, NackReason=NoRoute



I am confused that why it shows NoRoute even though node a and node c connect with each other.





Besides, I checked the FIB of node a and node c. For node a, it has:

/example/A nexthops={faceid=275 (cost=0)}

/example/B nexthops={faceid=275 (cost=0)}

/example/C nexthops={faceid=275 (cost=0)}

/example/D nexthops={faceid=275 (cost=0)}

/example/E nexthops={faceid=275 (cost=0)}



However, for node c, its FIB doesn’t include above prefixes.



Could you please help me to solve the problem? Any help will be appreciated.

Thank you very much for your time.



Best wishes,

Jiacheng


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/mini-ndn/attachments/20200818/ebba4865/attachment-0001.html>


More information about the Mini-NDN mailing list