[ndnSIM] Relationship between ndnSIM (2.0) and NFD.

Anil Jangam anilj.mailing at gmail.com
Tue May 12 11:54:26 PDT 2015


Hello Spyros,

Thanks for the detailed elaboration! I have ported the NLSR to ndnSIM
already, and doing some basic tests right now. For this porting, I have
taken ndnSIM code into my own git repo (its an independent one, and not a
branch) . So for now, focus is on porting, and getting it up.

So far, I was not clear and assuming that NFD needed to be running from
outside. Now, I will stop my NFD instance before I launch ndnSIM. AFA ndn::Face
in ndnSIM is concerned, what workaround would you suggest? I read the redmine
2370, and it does not appear to be a quick change. Also I am not sure of
its timelines. Alex perhaps can comment on this.

/anil.




On Tue, May 12, 2015 at 8:18 AM, Spyridon (Spyros) Mastorakis <
spiros.mastorakis at gmail.com> wrote:

> Hi Anil,
>
> currently the code of NFD version 0.2.0 (or at least a big part of it
> including all the forwarding pipelines, CS, FIB, PIT etc) is a part of the
> ndnSIM 2.0 codebase. The near future plan is to decouple NFD from ndnSIM,
> so that we can port new versions of NFD in an easy way (actually this has
> already been done, since I have a workable version of ndnSIM 2.0 using NFD
> 0.3.1 as a submodule. I am not sure, though, when these changes would be
> merged). In the current ndnSIM codebase, you can see how we ported NFD to
> ndnSIM by looking for 4 or 5 commits, the title of which starts with
> “NFD:”. For example:
>
>
> https://github.com/NDN-Routing/ndnSIM/commit/542a62381aa36bdf6d936893270f2cb60f9f6ea9
>
> Currently, the NFD ported in ndnSIM is being started by ndnSIM itself:
>
>
> https://github.com/NDN-Routing/ndnSIM/blob/master/helper/ndn-stack-helper.cpp#L156
>
> You cannot start a NFD instance externally to the simulator, since NFD is
> currently a part of the simulator and is controlled by the simulator. You
> cannot set up any IP addresses or UDP/TCP transport, since this NFD works
> “locally” on each simulated node.
>
> Did you try to port NLSR directly to the simulator? Or you are working on
> a custom NLSR version? From the logs, I guess that the first one is the
> case. I can see that you are trying to use ndn::Face, however, this is not
> currently supported by ndnSIM. The plan is to be supported in the near
> future. Here is the redmine issue for that:
>
> http://redmine.named-data.net/issues/2370
>
> When this task is done, you will be able to port directly real-world
> applications to ndnSIM.
>
> Please let me know if you need anything else.
>
> --
> Spyridon (Spyros) Mastorakis
> Personal Website: http://cs.ucla.edu/~mastorakis/
> Internet Research Laboratory
> PhD Computer Science
> UCLA
>
>
>
>
> > On May 12, 2015, at 1:07 AM, Anil Jangam <anilj.mailing at gmail.com>
> wrote:
> >
> > Hi,
> >
> > In ndnSIM 2.0, is it required to run the NFD in the background for the
> simulator to run? I want to understand the relationship of NFD wrt ndnSIM.
> >
> > The release notes of ndnSIM 2.0 says that NDN forwarding and management
> is implemented using NFD source. What does this really mean? For example,
> when we configure the face-uri of the link between the nodes in the
> scenario, do we have to provide a real IP address and port or just any
> arbitrary name (e.g. udp://cs.com) would work?
> >
> > The initial 3 node scenario that I am currently testing, I am getting
> the following exception.
> >
> > Installing NDN stack on nodes
> > Installing global routing interface on nodes
> > terminate called after throwing an instance of 'ndn::Transport::Error'
> >   what():  error while connecting to the forwarder
> >
> > Thread [1] 4723 [core: 2] (Suspended : Signal : SIGABRT:Aborted)
> > __GI_raise() at raise.c:56 0x7fffe90a1cc9
> > __GI_abort() at abort.c:89 0x7fffe90a50d8
> > __gnu_cxx::__verbose_terminate_handler() at 0x7fffe99ac6b5
> > 0x7fffe99aa836
> >
> > std::terminate() at 0x7fffe99aa863
> > __cxa_rethrow() at 0x7fffe99aaaf6
> > ndn::Face::processEvents() at face.cpp:445 0x7ffff5ac9572
> > ns3::ndn::NlsrApp::startEventLoop() at ndn-nlsr-app.cpp:288
> 0x7ffff58b47da
> > ns3::ndn::NlsrApp::StartApplication() at ndn-nlsr-app.cpp:346
> 0x7ffff58b4e6c
> > ns3::EventMemberImpl0::Notify() at make-event.h:94 0x7fffef3643b6
> >
> > <...more frames...>
> >
> > I looked for references the error, and it says (according to this note),
> that NFD is not running.
> >
> > I have configured the node as follows.
> >
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Router Name: /cs/memphis/rtr0
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Site Name: /edu/memphis
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Network: /ndn
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Router Prefix:
> /ndn/edu/memphis/cs/memphis/rtr0
> > 0s 0 ConfParameter:writeLog(): [DEBUG] ChronoSync sync Prefix:
> /ndn/NLSR/sync
> > 0s 0 ConfParameter:writeLog(): [DEBUG] ChronoSync LSA prefix:
> /ndn/NLSR/LSA
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Hello Interest retry number: 10
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Hello Interest resend second: 1
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Info Interest interval: 60
> > 0s 0 ConfParameter:writeLog(): [DEBUG] LSA refresh time: 1800
> > 0s 0 ConfParameter:writeLog(): [DEBUG] LSA Interest lifetime: 4 seconds
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Router dead interval: 3600
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Max Faces Per Prefix: 3
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Hyperbolic Routing: 0
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Hyp R: 123.45
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Hyp theta: 1.45
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Log Directory:
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Seq Directory:
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Adjacency LSA build interval: 5
> > 0s 0 ConfParameter:writeLog(): [DEBUG] First Hello Interest interval: 10
> > 0s 0 ConfParameter:writeLog(): [DEBUG] Routing calculation interval: 15
> > 0s 0 AdjacencyList:writeLog(): [DEBUG] -------Adjacency List--------
> > 0s 0 AdjacencyList:writeLog(): [DEBUG] Number of neighbors: 1
> > 0s 0 Adjacent:writeLog(): [DEBUG] Adjacent : /toNode
> > 0s 0 Adjacent:writeLog(): [DEBUG] Connecting FaceUri: udp://cs.com
> > 0s 0 Adjacent:writeLog(): [DEBUG] Link Cost: 20
> > 0s 0 Adjacent:writeLog(): [DEBUG] Status: 0
> > 0s 0 Adjacent:writeLog(): [DEBUG] Interest Timed out: 0
> > 0s 0 NlsrApp:initialize(): [DEBUG] Default NLSR identity: /
> > 0s 0 NlsrApp:setInfoInterestFilter(): [DEBUG] Setting interest filter
> for name: /ndn/edu/memphis/cs/memphis/rtr0
> > 0s 0 NlsrApp:setLsaInterestFilter(): [DEBUG] Setting interest filter for
> name: /ndn/NLSR/LSA/
> >
> > Can you please elaborate.
> >
> > /anil.
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20150512/a94cde7a/attachment.html>


More information about the ndnSIM mailing list