[ndnSIM] Obtaining the number of Interest packets

Zakaria SABIR zakaria.sabir at uit.ac.ma
Sun Oct 10 02:09:34 PDT 2021


Hi Sangita,

Thank you for the clarification, I understand now. But, is
this depending on the number of nodes and the number of consumer
applications? For example, in my case, I specified the number of contents
to 50. I have the frequency set to 10 Interests / s and the simulation is
running for 50 s. I have 2 consumer applications and 6 nodes. What is the
total number of Interests that will be generated in this case?

My best regards,
Zakaria
ᐧ

On Sat, Oct 9, 2021 at 8:33 PM sangita...... <sangita.engg at gmail.com> wrote:

> Hi Zakaria,
>
> No I think you are missing a point that numberofcontent signifies type of
> content. Now for example:  for type 1-content 10 interests can be
> generated,..for type 2-content 4 interests ..for type 3-content 7 interests
> ...likewise.
>
> Now the total no of interests that would generated depends on frequency.
>
> Now if frequency is high let's say 100 per sec and your simulation is
> running for 10 second then 1000 interests will  be generated.  But all
> these interests will only request for 100 contents. Now which content will
> be requested how many times depends on zipf distribution.
>
>
> On Sat, Oct 9, 2021, 14:54 Zakaria SABIR <zakaria.sabir at uit.ac.ma> wrote:
>
>> Yes, I found 88 Data responses for Interest1 and 48 Data responses for
>> Interest2.
>> I thought that regardless of the frequency rate, if the number of
>> generated Interests reached the specified number of contents, no more
>> Interests will be generated. It's not the case?
>>
>> My best regards,
>> Zakaria
>>>>
>> On Sat, Oct 9, 2021 at 1:09 PM sangita...... <sangita.engg at gmail.com>
>> wrote:
>>
>>> What do you mean by finding 88 content for interest1 and 48 for interest
>>> 2 ?
>>> 88 interest packets are generated with prefix intereste1 and 48 with
>>> prefix interest2 ?
>>>
>>> Why do you expect 100 content in log file ? How many interest would be
>>> generated it depends on frequency rate and interest for which content among
>>> 100 contents would be generated  that depends on  zipf distribution .
>>>
>>> With regards,
>>> Sangita
>>>
>>> On Sat, Oct 9, 2021, 12:03 Zakaria SABIR <zakaria.sabir at uit.ac.ma>
>>> wrote:
>>>
>>>> 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/20211010/8a6ec808/attachment-0001.html>


More information about the ndnSIM mailing list