[ndnSIM] Obtaining the number of Interest packets

Zakaria SABIR zakaria.sabir at uit.ac.ma
Sat Oct 9 04:02:26 PDT 2021


I tried to limit the number of contents to 100 (50 for Interest1 and 50 for
Interest2) like this:

  ndn::AppHelper consumerHelper("ns3::ndn::ConsumerZipfMandelbrot");
  consumerHelper.SetAttribute("Frequency", DoubleValue(10.0));
  consumerHelper.SetAttribute("NumberOfContents", StringValue("50"));
  consumerHelper.SetPrefix("/Interest1");
  consumerHelper.Install(nodes.Get(0));
  consumerHelper.Install(nodes.Get(3));
  consumerHelper.Install(nodes.Get(4));

  ndn::AppHelper consumerHelper2("ns3::ndn::ConsumerZipfMandelbrot");
  consumerHelper2.SetAttribute("Frequency", DoubleValue(10.0));
  consumerHelper2.SetAttribute("NumberOfContents", StringValue("50"));
  consumerHelper2.SetPrefix("/Interest2");
  consumerHelper2.Install(nodes.Get(6));
  consumerHelper2.Install(nodes.Get(8));
  consumerHelper2.Install(nodes.Get(5));

I expected to find exactly 100 content in the log file, but I found 88 for
Interest1 and 48 for Interest2.
I wonder what the reason for this is??

My best regards,
Zakaria
ᐧ

On Sat, Oct 9, 2021 at 9:20 AM Zakaria SABIR <zakaria.sabir at uit.ac.ma>
wrote:

> Hi Sangita,
>
> Yes, it makes sense. Thank you for the explanation. I will try it out.
>
> My best regards,
> Zakaria
>>
> On Fri, Oct 8, 2021 at 12:01 PM sangita...... <sangita.engg at gmail.com>
> wrote:
>
>> Hi zakira,
>>
>> As per the ndn architecture whenever your interest arrive to a producer ,
>> it generate a data packet with the same name of interest .  So when you
>> mention NumberOfContents as 100 it means there are 100 content for which
>> interest packets will be generated following the distribution.
>> Let's say it will generate the interests like /interest1 / 1 , then
>> interest1 / 5 , then interest1 / 16 and so on. And this interest/x  : x
>> will vary between 1 - 100 when you mention the number of content 100.
>> Again , if you generate another app for interest2 , then it will
>> generate another set of 100 content with the prefix interest2.
>>
>> If you mention the NumberOfContents as 1000 , then it will vary till
>> 1000.
>>
>> Does that make sense?
>>
>> Sangita
>>
>> On Fri, Oct 8, 2021, 11:50 Zakaria SABIR <zakaria.sabir at uit.ac.ma> wrote:
>>
>>> Hi Sangita,
>>>
>>> I see that there is another way to create different Interests. But I
>>> didn't quite understand about the number of contents. In my case, I want to
>>> define the maximum number of generated Interest packets in one step, and I
>>> want to define the maximum number of generated Data packets in another
>>> step. Does the line:
>>> consumerHelper2.SetAttribute("NumberOfContents", StringValue("100"));
>>> specifies the maximum number of Interest or Data packets?
>>>
>>> My best regards,
>>> Zakaria
>>>>>>
>>> On Fri, Oct 8, 2021 at 11:17 AM sangita...... <sangita.engg at gmail.com>
>>> wrote:
>>>
>>>> Hi Zakaria,
>>>>
>>>> Yes no of content means  total no of content that follows zipf
>>>> distribution. The frequency of generating content 1 is double than content
>>>> 2 and so on.
>>>>
>>>> Another thing is you can generate different interests without making
>>>> multiple app.
>>>>
>>>> Like:
>>>> In your ConsumerZipfMandelbrot header file you can mention
>>>> Static const Name prefix = Name ( "/service");
>>>>
>>>> Then in ConsumerZipfMandelbrot .cc file you can set like this.
>>>>
>>>> Name name = Name (prefix)
>>>> If ( some condition)
>>>> name.append ("interest 1")
>>>> Else
>>>> Name.append ("interest 2")
>>>>
>>>> Interest.setName (name)
>>>>
>>>> Anyway, both thing works. It depends how you want your implementation.
>>>>
>>>> Thanks and Regards,
>>>> Sangita
>>>>
>>>>
>>>> On Fri, Oct 8, 2021, 10:45 Zakaria SABIR <zakaria.sabir at uit.ac.ma>
>>>> wrote:
>>>>
>>>>> Hi Sonia,
>>>>>
>>>>> Yesterday, I found the error. To use two different Interests, I had to
>>>>> create another app like this:
>>>>>
>>>>>   ndn::AppHelper *consumerHelper*("ns3::ndn::ConsumerCbr");
>>>>>   consumerHelper.SetAttribute("Frequency", DoubleValue(10.0));
>>>>>   consumerHelper.SetPrefix("*/Interest1*");
>>>>>   consumerHelper.Install(nodes.Get(0));
>>>>>   consumerHelper.Install(nodes.Get(3));
>>>>>   consumerHelper.Install(nodes.Get(4));
>>>>>   consumerHelper.Install(nodes.Get(5));
>>>>>
>>>>>   ndn::AppHelper *consumerHelper2*("ns3::ndn::ConsumerCbr");
>>>>>   consumerHelper2.SetAttribute("Frequency", DoubleValue(10.0));
>>>>>   consumerHelper2.SetPrefix("*/Interest2*");
>>>>>   consumerHelper2.Install(nodes.Get(6));
>>>>>   consumerHelper2.Install(nodes.Get(8));
>>>>>   consumerHelper2.Install(nodes.Get(5));
>>>>>
>>>>> I did it that way and I used the command that you indicated before
>>>>> (NS_LOG=ndn.Producer:ndn.Consumer ./waf --run="scenario"). The "Interest2"
>>>>> appeared in the consumer log file as well. :)
>>>>>
>>>>> Now I have another question: In the "ConsumerZipfMandelbrot"
>>>>> application, what is the difference between these two attributes:
>>>>> "NumberOfContents" and "Frequency"? I know that the frequency is the number
>>>>> of Interests per second, but what about the number of contents? Is it the
>>>>> maximum number of contents that producers can generate? or the maximum
>>>>> number of Interests that consumers can generate?
>>>>>
>>>>> My best regards,
>>>>> Zakaria
>>>>>>>>>>
>>>>> On Fri, Oct 8, 2021 at 3:39 AM sonia sabir <zohanoor67 at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Zakaria,[image: image.gif]
>>>>>> It seems like Interest for /Interest2 has not been sent. Try this
>>>>>>
>>>>>> consumerHelper.SetPrefix("/interest1");
>>>>>> ApplicationContainer App1 = consumerHelper.Install(nodes.Get(6));
>>>>>> App1.Start (Seconds (10.0));
>>>>>> App1.Stop (Seconds (100.0));
>>>>>> Do the same for "/Interest1".
>>>>>>
>>>>>> Hope it works for you.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Oct 6, 2021 at 11:52 PM Zakaria SABIR <
>>>>>> zakaria.sabir at uit.ac.ma> wrote:
>>>>>>
>>>>>>> Thank you Sangita and Sonia,
>>>>>>>
>>>>>>> I'm using "ConsumerCbr", son do I have to change in the file
>>>>>>> "ndn-consumer-cbr.cpp"?
>>>>>>>
>>>>>>> For the commander: NS_LOG=ndn.Producer:ndn.Consumer ./waf
>>>>>>> --run="scenario", it gives me just one type of Interest packet like this:
>>>>>>>
>>>>>>> 0s 5 ndn.Consumer:SendPacket(): [INFO ] > Interest for 0
>>>>>>> 0s 5 ndn.Consumer:WillSendOutInterest(): [DEBUG] Trying to add 0
>>>>>>> with +0.0ns. already 0 items
>>>>>>> 0s 6 ndn.Consumer:SendPacket()
>>>>>>> 0s 6 ndn.Consumer:SendPacket(): [INFO ] > Interest for 0
>>>>>>> 0s 6 ndn.Consumer:WillSendOutInterest(): [DEBUG] Trying to add 0
>>>>>>> with +0.0ns. already 0 items
>>>>>>> 0s 8 ndn.Consumer:SendPacket()
>>>>>>> 0s 8 ndn.Consumer:SendPacket(): [INFO ] > Interest for 0
>>>>>>> 0s 8 ndn.Consumer:WillSendOutInterest(): [DEBUG] Trying to add 0
>>>>>>> with +0.0ns. already 0 items
>>>>>>> 0.000127315s 9 ndn.Producer:OnInterest(0x19f49d0, 0x1a64910)
>>>>>>> 0.000127315s 9 ndn.Producer:OnInterest(): [INFO ] node(9) responding
>>>>>>> with Data: /*Interest1*/%FE%00
>>>>>>> 0.000324162s 1 ndn.Producer:OnInterest(0x19f3f10, 0x1a587b0)
>>>>>>> 0.000324162s 1 ndn.Producer:OnInterest(): [INFO ] node(1) responding
>>>>>>> with Data: /*Interest1*/%FE%00
>>>>>>> 0.000810172s 4 ndn.Consumer:OnData(0x19f1060, 0x1a4d0b0)
>>>>>>> 0.000810172s 4 ndn.Consumer:OnData(): [INFO ] < DATA for 0
>>>>>>> 0.000810172s 4 ndn.Consumer:OnData(): [DEBUG] Hop count: 1
>>>>>>> 0.00102885s 2 ndn.Producer:OnInterest(0x19f4270, 0x1a40620)
>>>>>>> 0.00102885s 2 ndn.Producer:OnInterest(): [INFO ] node(2) responding
>>>>>>> with Data: /*Interest1*/%FE%00
>>>>>>> 0.1s 0 ndn.Consumer:SendPacket()
>>>>>>> 0.1s 0 ndn.Consumer:SendPacket(): [INFO ] > Interest for 1
>>>>>>> 0.1s 0 ndn.Consumer:WillSendOutInterest(): [DEBUG] Trying to add 1
>>>>>>> with +100000000.0ns. already 1 items
>>>>>>> 0.1s 3 ndn.Consumer:SendPacket()
>>>>>>>
>>>>>>> I don't know if I have an error in specifying two names of Interest
>>>>>>> packets. Here is a part of my code:
>>>>>>>
>>>>>>>   ndn::AppHelper consumerHelper("ns3::ndn::ConsumerCbr");
>>>>>>>
>>>>>>>   consumerHelper.SetPrefix("/Interest1");
>>>>>>>   consumerHelper.SetAttribute("Frequency", DoubleValue(10.0));
>>>>>>>   consumerHelper.Install(nodes.Get(0));
>>>>>>>   consumerHelper.Install(nodes.Get(3));
>>>>>>>   consumerHelper.Install(nodes.Get(4));
>>>>>>>   consumerHelper.Install(nodes.Get(5))
>>>>>>>
>>>>>>>   consumerHelper.SetPrefix("/Interest2");
>>>>>>>   consumerHelper.Install(nodes.Get(6));
>>>>>>>   consumerHelper.Install(nodes.Get(8));
>>>>>>>
>>>>>>>   ndn::AppHelper producerHelper("ns3::ndn::Producer");
>>>>>>>   producerHelper.SetPrefix("/");
>>>>>>>   producerHelper.SetAttribute("PayloadSize", StringValue("1200"));
>>>>>>>   producerHelper.Install(nodes.Get(1));
>>>>>>>   producerHelper.Install(nodes.Get(2));
>>>>>>>   producerHelper.Install(nodes.Get(7));
>>>>>>>   producerHelper.Install(nodes.Get(9));
>>>>>>>
>>>>>>> My best regards,
>>>>>>> Zakaria
>>>>>>>>>>>>>>
>>>>>>> On Wed, Oct 6, 2021 at 2:40 AM sonia sabir <zohanoor67 at gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> [image: image.gif]You can see it in the consumer log file.
>>>>>>>>
>>>>>>>> run your scenario with consumer and producer log enabled
>>>>>>>>
>>>>>>>> NS_LOG=ndn.Producer:ndn.Consumer ./waf --run="scenario"
>>>>>>>>
>>>>>>>> Regards
>>>>>>>>
>>>>>>>> Sonia
>>>>>>>>
>>>>>>>> On Tue, Oct 5, 2021 at 7:29 PM Zakaria SABIR <
>>>>>>>> zakaria.sabir at uit.ac.ma> wrote:
>>>>>>>>
>>>>>>>>> Hi everyone, I hope you are well.
>>>>>>>>>
>>>>>>>>> I have created two names of Interest packets in my scenario, and I
>>>>>>>>> want to know how many times each Interest packet has been forwarded. I
>>>>>>>>> tried to use the "L3RateTracer", but it just gives the number of all
>>>>>>>>> the Interest packets.
>>>>>>>>>
>>>>>>>>> Could you help me, please?
>>>>>>>>> My best regards.
>>>>>>>>>
>>>>>>>>> Zakaria
>>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>> ndnSIM mailing list
>>>>>>>>> ndnSIM at lists.cs.ucla.edu
>>>>>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>> ndnSIM mailing list
>>>>> ndnSIM at lists.cs.ucla.edu
>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>>>>>
>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20211009/fde7bf5e/attachment-0001.html>


More information about the ndnSIM mailing list