[Ndn-interest] Simulation vs Emulation of NDN applications

Steve DiBenedetto dibenede at cs.colostate.edu
Thu Sep 25 09:01:10 PDT 2014


On Sep 25, 2014, at 5:20 PM, Haroon Rashid <haroonr at iiitd.ac.in> wrote:

> 
> Hello All,
> 
> I need your guidance in implementing  NDN applications. Please correct me in the following points: 
> 
> 1. I want to develop some applications and do measurements in NDN architecture. Since, I am new to this field, I think it will be easy to start with ndnSIM rather than going for NDNX/CCNX emulators directly. Once I get a good grip on this architecture, then I can start working with emulators. Am I going in the right direction or should I change my approach ?

Can you tell us a bit more about what you want to do? ndnSIM is good for performing experiments. Especially so if you're interested in large topologies.

If you're more interested in writing real NDN applications, some kinds of measurement (e.g. performance on live networks), or seeing how some concept translates into NDN, then NFD and your preferred programming language NDN library would be the better choice.

> 
> 2. If I work on ndnSIM, do I need to understand the NS-3 architecture first or should I start working with ndnSIM directly.
>  In both of the cases how much time it will take to have a good grip on ndnSIM if I devote 3 hours daily. Regarding my background: I know c++  but I have never used NS-3.

In general, it's a good idea to have a basic understanding of NS-3's object & factory system, callbacks, tracing, and maybe some other concepts because they're ubiquitous. However, I think you can avoid a lot of the other details if you're only interested in the application domain.

> 
> 3. Is there anything else which you would suggest to me for better understanding of NDN apart from reading the papers. This is because I have already read many papers and most of the concepts are clear now.

I would encourage you to start writing applications to figure out what gaps remain. If you're interested in writing C++, the ndn-cxx library has some simple producer/consumer examples to help you get started: http://named-data.net/doc/ndn-cxx/current/examples.html

If you prefer to code in something like Python, I will shamelessly plug the code walkthrough I put together for ICN:

	https://github.com/dibenede/NFD-ICN2014/blob/ICN2014/README-ICN2014.md
	https://github.com/dibenede/NFD-ICN2014/tree/ICN2014/ICN2014-apps

(However, you should install NFD according to the official instructions here http://named-data.net/doc/NFD/current/INSTALL.html rather than using the one provided by the above github links.)


-Steve

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-interest/attachments/20140925/3931db53/attachment.html>


More information about the Ndn-interest mailing list