[ndnSIM] ndnSIM - Producer problem

Spyridon (Spyros) Mastorakis mastorakis at cs.ucla.edu
Fri Aug 18 09:39:28 PDT 2017

Hi Lixia,

the consumer application does have a simplified retransmission mechanism based on timeouts:


Unfortunately, it is not clear to me why Junxiao mentioned that "This point is not correctly implemented in the consumer”. If he has found a bug there, he is welcome to push a patch on gerrit for us to review.

In the other email threads created by Marzieh, I have already suggested all the approaches I believe could make her simulation scenario work. Therefore, I have started running out of more ideas. The hackathon project and all the changes we made and scenarios we created are similar to what she is trying to do, that is why taking a look at the hackathon project was one of my very first suggestions. I feel that if all the changes that we made to NFD and ndnSIM for the hackathon project are implemented (by taking a look at the GitHub commits of the project), chances are that this simulation scenario would work. The link for the hackathon project is the following:


If nothing related to ndnSIM itself is the issue here, then the issue might be related to NS-3 (propagation/loss model or/and net device model that is used or even the distance between the nodes). Therefore, taking a look at how these components of NS-3 work was another suggestion of mine.

Probably another good place to ask for further suggestions would be the NS-3 mailing list by explaining what exactly NS-3 components and net devices are used.

Hope that this helps,

Spyridon (Spyros) Mastorakis
Personal Website: http://cs.ucla.edu/~mastorakis/ <http://cs.ucla.edu/~mastorakis/>
Internet Research Laboratory
Computer Science Department

> On Aug 18, 2017, at 8:45 AM, Lixia Zhang <lixia at cs.ucla.edu> wrote:
>> On Aug 18, 2017, at 8:33 AM, Marzieh Babaeianjelodar <babaeim at clarkson.edu <mailto:babaeim at clarkson.edu>> wrote:
>> Hi Junxaio,
>> Thank you for your response, 
>> Is there anything I could do in this stage to make it work?
> As Junxiao mentioned, the consumer should retransmit a lost Interest.
> I dont know why that does not work (Junxiao mentioned that "This point is not correctly implemented in the consumer"??)
> I copied Spyros here to see if he has a comment/suggestion
>> or should I just wait for the next release?
>> And, may I ask when is the new release of ndnSIM going to be out?
>> Best Regards,
>> Marzieh
>>> On Aug 17, 2017, at 1:21 PM, Junxiao Shi <shijunxiao at email.arizona.edu <mailto:shijunxiao at email.arizona.edu>> wrote:
>>> Hi Marzieh
>>> I see no problem in NFD configuration or routing setup.
>>> There was a packet loss. When Data was returned from node 2 to node 1, it was not received by node 1.
>>> As recommended by the NDN protocol, the consumer should retransmit the Interest if it does not receive the Data but still wants the Data. Moreoever, this retransmission should occur before InterestLifetime expires. This point is not correctly implemented in the consumer.
>>> Also, NFD has a NDNLP reliability improvement option, which can perform hop-by-hop retransmission. It has been merged into NFD codebase and will apeear in next ndnSIM release. Per-hop reliability is more suitable than consumer retransmission, as I assume the packet loss was caused by interference or thermal noise in wireless channel. You may wait for the next release and retry this simulation with reliability enabled.
>>> Yours, Junxiao
>>> On Thu, Aug 17, 2017 at 09:25 Marzieh Babaeianjelodar <babaeim at clarkson.edu <mailto:babaeim at clarkson.edu>> wrote:
>>> Hi Junxiao,
>>> Thanks for your response and your time,
>>> I filtered out the logs to the forwarder, and this is what I get for one Interest (I used Consumber Batches to send 1 Interest packet at second 2):
>>> 2s 0 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=259 interest=/test/prefix/%FE%00
>>> 2s 0 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss interest=/test/prefix/%FE%00
>>> 2s 0 nfd.Forwarder:onOutgoingInterest(): [DEBUG] onOutgoingInterest face=257 interest=/test/prefix/%FE%00
>>> 2.00005s 1 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=257 interest=/test/prefix/%FE%00
>>> 2.00005s 1 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss interest=/test/prefix/%FE%00
>>> 2.00005s 1 nfd.Forwarder:onOutgoingInterest(): [DEBUG] onOutgoingInterest face=256 interest=/test/prefix/%FE%00
>>> 2.0001s 0 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=256 interest=/test/prefix/%FE%00
>>> 2.0001s 0 nfd.Forwarder:onInterestLoop(): [DEBUG] onInterestLoop face=256 interest=/test/prefix/%FE%00 send-Nack-duplicate
>>> 2.0001s 2 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=256 interest=/test/prefix/%FE%00
>>> 2.0001s 2 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss interest=/test/prefix/%FE%00
>>> 2.0001s 2 nfd.Forwarder:onOutgoingInterest(): [DEBUG] onOutgoingInterest face=259 interest=/test/prefix/%FE%00
>>> 2.0001s 2 nfd.Forwarder:onIncomingData(): [DEBUG] onIncomingData face=259 data=/test/prefix/%FE%00
>>> 2.0001s 2 nfd.Forwarder:onIncomingData(): [DEBUG] onIncomingData matching=/test/prefix/%FE%00
>>> 2.0001s 2 nfd.Forwarder:onOutgoingData(): [DEBUG] onOutgoingData face=256 data=/test/prefix/%FE%00
>>> 2.1001s 2 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize interest=/test/prefix/%FE%00 satisfied
>>> 4s 0 nfd.Forwarder:onInterestUnsatisfied(): [DEBUG] onInterestUnsatisfied interest=/test/prefix/%FE%00
>>> 4s 0 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize interest=/test/prefix/%FE%00 unsatisfied
>>> 4.00005s 1 nfd.Forwarder:onInterestUnsatisfied(): [DEBUG] onInterestUnsatisfied interest=/test/prefix/%FE%00
>>> 4.00005s 1 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize interest=/test/prefix/%FE%00 unsatisfied
>>> Best Regards,
>>> Marzieh

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20170818/cfb9f1e1/attachment.html>

More information about the ndnSIM mailing list