[ndnSIM] Packet drops

Alex Afanasyev alexander.afanasyev at ucla.edu
Fri Mar 8 11:50:20 PST 2013


Hi Mohammad,

Let me know after you tested if the code works as it should, so I can safely merge it to the master branch.

Also, if you will be able to make a simple usage example, I can also put it on ndnsim.net website.

Thanks!

---
Alex


On Mar 8, 2013, at 1:02 AM, Hovaidi Ardestani Mohammad <mohammad.hovaidi.ardestani at aalto.fi> wrote:

> Oh, sorry for misunderstanding!
> Great help.
> Thank you so much!
> -Mohammad
> 
> -----Original Message-----
> From: Alexander Afanasyev [mailto:cawka1 at gmail.com] On Behalf Of Alex Afanasyev
> Sent: Friday, March 8, 2013 12:18 AM
> To: Hovaidi Ardestani Mohammad
> Subject: Re: [ndnSIM] Packet drops
> 
> L2RateTracer is not a member of ns3::ndn, as it is pretty general thing and I would strongly recommend to not put it in ndn namespace.  You could have solved the usage problem by removing ndn:: prefix before L2RateTracer.
> 
> Can you retry?
> 
> Thanks,
> Alex
> 
> On Mar 7, 2013, at 7:38 AM, Hovaidi Ardestani Mohammad <mohammad.hovaidi.ardestani at aalto.fi> wrote:
> 
>> Dear Alex
>> I am trying to compile the l2-rate-tracer as you recommended,but there are some errors.
>> When I want to run your code,I  encounter with error of " 'L2RateTracer' is not a member of 'ns3::ndn' ".
>> I changed the code with namespace of ndn, and there were lots of other errors.Do you have any idea how I can modify the code to have the number of dropped packets.
>> I really appreciate your help.
>> ________________________________________
>> From: Alexander Afanasyev [cawka1 at gmail.com] on behalf of Alex Afanasyev [alexander.afanasyev at ucla.edu]
>> Sent: Thursday, February 28, 2013 9:08 PM
>> To: Hovaidi Ardestani Mohammad
>> Cc: ndnsim at lists.cs.ucla.edu
>> Subject: Re: [ndnSIM] Packet drops
>> 
>> Hi Mohammad,
>> 
>> Sorry for the confusion.  What I meant is that NS-3 provides you callback mechanism inside a transmission queue, to which you can "connect" and get data.  ndn-l3-rate-tracer is really a helper class that is pretty useful, but it is just a helper.
>> 
>> I have sketch out a draft implementation of another helper, l2-rate-tracer (you can check the code from feature-l2-tracer branch, or get this commit https://github.com/NDN-Routing/ndnSIM/commit/c759762fb12bfb5219715c5699ca8370d8ee6402).  This is basically one of zillion ways to "connect" to /NodeList/*/DeviceList/*/TxQueue/Drop trace (see https://github.com/NDN-Routing/ndnSIM/commit/c759762fb12bfb5219715c5699ca8370d8ee6402#L2R50) and do some basic preprocessing.
>> 
>> I have not fully tested the code, but it compiles on my machine.
>> 
>> As for other types of drops that I mentioned (by ndnSIM itself), which are "exposed" through DropData/DropInterest NS-3 trace sources.  This info is already aggregated by ndn-l3-rate-tracer, but I just commented out lines to print them (https://github.com/NDN-Routing/ndnSIM/blob/master/utils/tracers/ndn-l3-rate-tracer.cc#L173).  You can uncomment and see if anything useful is there.  But again, these "NDN" drops are specific to the forwarding strategy used, and you may be seeing zeroes here.
>> 
>> Hope I clarified confusion. Let me know if I should explain more.
>> 
>> ---
>> Alex
>> 
>> On Feb 28, 2013, at 12:44 AM, Hovaidi Ardestani Mohammad <mohammad.hovaidi.ardestani at aalto.fi> wrote:
>> 
>>> Hi Alex
>>> To tell the truth I didn't get your point. Let me explain what I am going to do. Actually, I need to have one tracer like "ndn-l3-rate-tracer.h" in which I can see the exact number of dropped packets due to buffer overflow or other possible reasons in each router. Could you please guide me more elaborately?
>>> Thank you in advance!
>>> -Mohammad
>>> -----Original Message-----
>>> From: Alexander Afanasyev [mailto:cawka1 at gmail.com] On Behalf Of Alex Afanasyev
>>> Sent: Wednesday, February 27, 2013 10:27 PM
>>> To: Hovaidi Ardestani Mohammad
>>> Cc: ndnsim at lists.cs.ucla.edu
>>> Subject: Re: [ndnSIM] Packet drops
>>> 
>>> Hi Mohammad,
>>> 
>>> If you're talking about normal drops due to queue overflows, then you can use packet drop traces from NetDevice queue (you can check examples in src/visualizer/model/pyviz.cc):
>>> 
>>> - /NodeList/*/DeviceList/*/TxQueue/Drop
>>> 
>>> If you want to factor in cases when ndnSIM stops forwarding packet (which is not exactly a drop), then you may want to also use
>>> 
>>> - /NodeList/*/$ns3::ndn::ForwardingStrategy/DropInterests
>>> - /NodeList/*/$ns3::ndn::ForwardingStrategy/DropData
>>> 
>>> However, I'm not confident 100% that right now ndnSIM tracks all the cases of stopped forwarding of Interst/Data.
>>> 
>>> ---
>>> Alex
>>> 
>>> On Feb 27, 2013, at 5:51 AM, Hovaidi Ardestani Mohammad <mohammad.hovaidi.ardestani at aalto.fi> wrote:
>>> 
>>>> Hello everybody!
>>>> I have several scenarios in which congestion happens. I am wondering how I can trace dropped packets or know when packet dropping has been started?
>>>> Any help is appreciated in advance
>>>> BR
>>>> -Mohammad
>> 
> 





More information about the ndnSIM mailing list