[ndnSIM] Problem with receiving data in my 3 noded scenario

Marzieh Babaeianjelodar babaeim at clarkson.edu
Mon Aug 14 12:35:24 PDT 2017


Hi Spyridon,

I tried more examples of the ndn ad-hoc examples but I still have the same issue.

I tried different types of propagation models.

I still am facing the same issues, which means node in the middle is not getting back the data from the producer.

I would be grateful if you could elaborate more of your suggestions about what I can do to overcome this problem.

Best Regards,
Marzieh

> On Aug 9, 2017, at 1:49 PM, Marzieh Babaeianjelodar <babaeim at clarkson.edu> wrote:
> 
> Thank you for your response,
> 
> Okay, I will explore on it more and try the other examples.
> 
> Best Regards,
> Marzieh
> 
>> On Aug 8, 2017, at 9:37 PM, Spyridon (Spyros) Mastorakis <mastorakis at CS.UCLA.EDU <mailto:mastorakis at CS.UCLA.EDU>> wrote:
>> 
>> Hi, 
>> 
>> as you can see from the logs, the producer sends back a Data packet. I am not sure why this data packet is not received by the node in the middle.
>> 
>> Probably you would like to take a look at the rest of the commits for the hackathon project and experiment with NS3’s L2 device and propagation models.
>> 
>> Thanks,
>> 
>> Spyridon (Spyros) Mastorakis
>> Personal Website: http://cs.ucla.edu/~mastorakis/ <http://cs.ucla.edu/~mastorakis/>
>> Internet Research Laboratory
>> Computer Science Department
>> UCLA
>> 
>>> On Aug 8, 2017, at 9:36 AM, Marzieh Babaeianjelodar <babaeim at clarkson.edu <mailto:babaeim at clarkson.edu>> wrote:
>>> 
>>> Dear Spyridon,
>>> 
>>> Thank you for your response, I changed that part of the code (commented out the if statement in the incomingData function in the forwarder.cpp file) and I still have the same log output which says node 0 and node 1 are unsatisfied.
>>> 
>>> By the way when I downloaded the Hackathon package I copied just the file ndn-v2v-simple in my example folder and the broadcast strategy file in my fw folder. I also changed the consumer to consumer batches to send one interest.   
>>> 
>>> 2s 0 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=258 interest=/v2v/test/%FE%00
>>> 2s 0 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss interest=/v2v/test/%FE%00
>>> 2s 0 nfd.Forwarder:onOutgoingInterest(): [DEBUG] onOutgoingInterest face=256 interest=/v2v/test/%FE%00
>>> 2.00005s 1 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=256 interest=/v2v/test/%FE%00
>>> 2.00005s 1 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss interest=/v2v/test/%FE%00
>>> 2.00005s 1 nfd.Forwarder:onOutgoingInterest(): [DEBUG] onOutgoingInterest face=256 interest=/v2v/test/%FE%00
>>> 2.00014s 0 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=256 interest=/v2v/test/%FE%00
>>> 2.00014s 0 nfd.Forwarder:onInterestLoop(): [DEBUG] onInterestLoop face=256 interest=/v2v/test/%FE%00 send-Nack-duplicate
>>> 2.00014s 2 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=256 interest=/v2v/test/%FE%00
>>> 2.00014s 2 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss interest=/v2v/test/%FE%00
>>> 2.00014s 2 nfd.Forwarder:onOutgoingInterest(): [DEBUG] onOutgoingInterest face=258 interest=/v2v/test/%FE%00
>>> 2.00014s 2 ndn.Producer:OnInterest(0x96266c0, 0xaac1a88c)
>>> 2.00014s 2 ndn.Producer:OnInterest(): [INFO ] node(2) responding with Data: /v2v/test/%FE%00
>>> start process data, marzieh
>>> 2.00014s 2 nfd.Forwarder:onIncomingData(): [DEBUG] onIncomingData face=258 data=/v2v/test/%FE%00
>>> 2.00014s 2 nfd.Forwarder:onIncomingData(): [DEBUG] onIncomingData matching=/v2v/test/%FE%00
>>> 2.00014s 2 nfd.Forwarder:onOutgoingData(): [DEBUG] onOutgoingData face=256 data=/v2v/test/%FE%00
>>> 2.10014s 2 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize interest=/v2v/test/%FE%00 satisfied
>>> 4s 0 nfd.Forwarder:onInterestUnsatisfied(): [DEBUG] onInterestUnsatisfied interest=/v2v/test/%FE%00
>>> 4s 0 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize interest=/v2v/test/%FE%00 unsatisfied
>>> 4.00005s 1 nfd.Forwarder:onInterestUnsatisfied(): [DEBUG] onInterestUnsatisfied interest=/v2v/test/%FE%00
>>> 4.00005s 1 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize interest=/v2v/test/%FE%00 unsatisfied
>>> 
>>> Best Regards,
>>> Marzieh
>>> 
>>>> On Aug 7, 2017, at 7:49 PM, Spyridon (Spyros) Mastorakis <mastorakis at CS.UCLA.EDU <mailto:mastorakis at CS.UCLA.EDU>> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> can you make this change in the forwarder.cpp file of NFD?
>>>> 
>>>> https://github.com/4th-ndn-hackathon/ndnSIM-Mobile-Simulation-Package/commit/cadcfc41ff1b6bed617f700f822507c4dcd0f63c <https://github.com/4th-ndn-hackathon/ndnSIM-Mobile-Simulation-Package/commit/cadcfc41ff1b6bed617f700f822507c4dcd0f63c>
>>>> 
>>>> Thanks,
>>>> 
>>>> Spyridon (Spyros) Mastorakis
>>>> Personal Website: http://cs.ucla.edu/~mastorakis/ <http://cs.ucla.edu/~mastorakis/>
>>>> Internet Research Laboratory
>>>> Computer Science Department
>>>> UCLA
>>>> 
>>>>> On Aug 7, 2017, at 4:39 PM, Marzieh Babaeianjelodar <babaeim at clarkson.edu <mailto:babaeim at clarkson.edu>> wrote:
>>>>> 
>>>>> Hi, I wanted to add that,
>>>>> 
>>>>> I also tried the code in this V2V scenario, but I get the same results that I mentioned in the previous email. After it reaches to the producer, the previous node does not get the data back.
>>>>> 
>>>>> https://github.com/4th-ndn-hackathon/ndnSIM-Mobile-Simulation-Package/blob/master/examples/ndn-v2v-simple.cpp <https://github.com/4th-ndn-hackathon/ndnSIM-Mobile-Simulation-Package/blob/master/examples/ndn-v2v-simple.cpp>
>>>>> 
>>>>> Best Regards,
>>>>> Marzieh 
>>>>> 
>>>>>> On Aug 7, 2017, at 2:58 PM, Marzieh Babaeianjelodar <babaeim at clarkson.edu <mailto:babaeim at clarkson.edu>> wrote:
>>>>>> 
>>>>>> Dear ndnSIM friends,
>>>>>> 
>>>>>> I made my own Wifi (adhoc) scenario. I have three nodes in my scenario, Consumer on node No. 0, producer on node No. 2 and node 1 is a relay node. My nodes are far from each other with the same distance from each other. The nodes are just one hop reachable, so for sending interest from node 0 to node 2, node 1 has to be used in the middle. 
>>>>>> 
>>>>>> I installed wifi on all of the nodes. I added another wifi card to the channel. I used Constant Speed Propagation Delay Model and used “Three Log Distance Propagation Delay Model” and “Nakagami Propagation Loss Model”. I used “Yans Wifi Phy Helper” for creating the wifi channel. I used “Nqos Wifi Mac helper” for configuring the Mac model. 
>>>>>> 
>>>>>> I have disabled the set default routes and created my own routes, and used “best-route 2” for the strategy for all of the three nodes. The following are my routes: 
>>>>>> ns3::ndn::FibHelper::AddRoute(waypointnode.Get(0), "/test/prefix", 257, 1);
>>>>>> ns3::ndn::FibHelper::AddRoute(waypointnode.Get(1), "/test/prefix", 256, 1);
>>>>>> ns3::ndn::FibHelper::AddRoute(waypointnode.Get(1), "/test/prefix", 257, 1);
>>>>>> 
>>>>>> My strategy is as follows:
>>>>>> ndn::StrategyChoiceHelper::Install(waypointnode.Get(0), "/test/prefix", "/localhost/nfd/strategy/best-route2");
>>>>>> ndn::StrategyChoiceHelper::Install(waypointnode.Get(1), "/test/prefix", "/localhost/nfd/strategy/best-route2");
>>>>>> ndn::StrategyChoiceHelper::Install(waypointnode.Get(2), "/test/prefix", "/localhost/nfd/strategy/best-route2");
>>>>>> 
>>>>>> For the consumer I have Consumer Batches which sends an interest on seconds, 2s - 4s - 6s - 8s with the name test/prefix.
>>>>>> 
>>>>>> I printed out some checking statements inside the functions (such as LinkService and Start Process Data) for receiving data to see the interactions. When I enable the log I can see that my interest goes through from node 0 to node 1, and from node 1 to node 2, and node 2 gets satisfied, and node 2 sends the data back to node 1, but node 1 never receives the data. Node 1 and 0 are unsatisfied. I was wondering why node 1 is not getting the data back?
>>>>>> 
>>>>>> This is the log for one interest (Interest 0) going from node 0 to node 2 and the data process:
>>>>>> 2s 0 ndn.MarziehConsumer:SendPacket()
>>>>>> 2s 0 ndn.MarziehConsumer:SendPacket(): [INFO ] > Interest for 0
>>>>>> 2s 0 nfd.LinkService:receiveInterest(): [LOGIC] [id=259,local=appFace://,remote=appFace:// <appface://,remote=appFace//>] receiveInterest
>>>>>> 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
>>>>>> 2s 0 nfd.LinkService:sendInterest(): [LOGIC] [id=257,local=netdev://[00:00:00:00:00:04],remote=netdev://[ff:ff:ff:ff:ff:ff <netdev://[00:00:00:00:00:04],remote=netdev://[ff:ff:ff:ff:ff:ff>]] sendInterest
>>>>>> 2s 0 ndn.MarziehConsumer:SendPacket()
>>>>>> 2.00005s 1 nfd.LinkService:receiveInterest(): [LOGIC] [id=257,local=netdev://[00:00:00:00:00:05],remote=netdev://[ff:ff:ff:ff:ff:ff <netdev://[00:00:00:00:00:05],remote=netdev://[ff:ff:ff:ff:ff:ff>]] receiveInterest
>>>>>> 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.00005s 1 nfd.LinkService:sendInterest(): [LOGIC] [id=256,local=netdev://[00:00:00:00:00:02],remote=netdev://[ff:ff:ff:ff:ff:ff <netdev://[00:00:00:00:00:02],remote=netdev://[ff:ff:ff:ff:ff:ff>]] sendInterest
>>>>>> 2.0001s 0 nfd.LinkService:receiveInterest(): [LOGIC] [id=256,local=netdev://[00:00:00:00:00:01],remote=netdev://[ff:ff:ff:ff:ff:ff <netdev://[00:00:00:00:00:01],remote=netdev://[ff:ff:ff:ff:ff:ff>]] receiveInterest
>>>>>> 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 0 nfd.LinkService:sendNack(): [LOGIC] [id=256,local=netdev://[00:00:00:00:00:01],remote=netdev://[ff:ff:ff:ff:ff:ff <netdev://[00:00:00:00:00:01],remote=netdev://[ff:ff:ff:ff:ff:ff>]] sendNack
>>>>>> 2.0001s 2 nfd.LinkService:receiveInterest(): [LOGIC] [id=256,local=netdev://[00:00:00:00:00:03],remote=netdev://[ff:ff:ff:ff:ff:ff <netdev://[00:00:00:00:00:03],remote=netdev://[ff:ff:ff:ff:ff:ff>]] receiveInterest
>>>>>> 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.LinkService:sendInterest(): [LOGIC] [id=259,local=appFace://,remote=appFace:// <appface://,remote=appFace//>] sendInterest
>>>>>> 2.0001s 2 ndn.Producer:OnInterest(0x81a44e8, 0xaad1b8fc)
>>>>>> 2.0001s 2 ndn.Producer:OnInterest(): [INFO ] node(2) responding with Data: /test/prefix/%FE%00
>>>>>> 2.0001s 2 nfd.LinkService:receiveData(): [LOGIC] [id=259,local=appFace://,remote=appFace:// <appface://,remote=appFace//>] receiveData
>>>>>> start process data, marzieh
>>>>>> 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.0001s 2 nfd.LinkService:sendData(): [LOGIC] [id=256,local=netdev://[00:00:00:00:00:03],remote=netdev://[ff:ff:ff:ff:ff:ff <netdev://[00:00:00:00:00:03],remote=netdev://[ff:ff:ff:ff:ff:ff>]] sendData
>>>>>> 2.1001s 2 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize interest=/test/prefix/%FE%00 satisfied
>>>>>> 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/20170814/3eaef715/attachment-0001.html>


More information about the ndnSIM mailing list