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

Spyridon (Spyros) Mastorakis mastorakis at cs.ucla.edu
Tue Aug 8 18:37:34 PDT 2017


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> 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/20170808/0ed7a12b/attachment-0001.html>


More information about the ndnSIM mailing list