[ndnSIM] some questions about limit

Alex Afanasyev alexander.afanasyev at ucla.edu
Fri Nov 14 10:39:19 PST 2014

> On Nov 13, 2014, at 6:54 PM, Chengcheng Li <lengcangche at bupt.edu.cn> wrote:
> Thank you very much, Alex!
> An extra question, if I want to set the rate of sending Interest from a specific face, which data member in class Limits::Window should I set or which member function should I call?
> For example, if I want to send Interest packets from face 0 below the rate 100 pps(packet per second), what should I do?

What you want has nothing to do with Limits class.  Limits just enforces the limit and the question is where this limit is applied.

In the current implementation, limits are enforced by strategy, and in particular PerOutFaceLimits strategy.  It assumes that Limits object is “aggregated” on a corresponding face (see per-out-face-limits.h line 80, 141, 160).

To update limits on specific face, you need to get hold of the face somehow, then

face->GetObject<Limits>()->(any method in limits class)


> Yours,
> Chengcheng
> ----- 回复邮件 -----
> 发信人:Alex Afanasyev <alexander.afanasyev at ucla.edu>
> 收信人:Chengcheng Li <lengcangche at bupt.edu.cn>
> 抄  送:ndnsim <ndnsim at lists.cs.ucla.edu>
> 时  间:2014年11月14日 09时42分40秒
> 主  题:Re: [ndnSIM] some questions about limit
> Hi Chengcheng,
>> On Nov 3, 2014, at 5:41 PM, Chengcheng Li <lengcangche at bupt.edu.cn <mailto:lengcangche at bupt.edu.cn>> wrote:
>> Hi, everyone
>> ​I'm so confused about the concept 'limit' in the ndnsim code.
>> 1. On this page 'http://ndnsim.net/fw.html' <http://ndnsim.net/fw.html'>,  a equation is presented according to which limit is set. What are the meanings of Delay and Bandwidth? Is it about a single link or all the links?
> This is something similar to TCP’s delay-bandwidth product (http://en.wikipedia.org/wiki/Bandwidth-delay_product <http://en.wikipedia.org/wiki/Bandwidth-delay_product>).  To “fill the pipe” with Interest-Data, you need to allow a certain number of outstanding Interests and this certain number would depend on path’s delay.
>> 2. And I notice that the dimension(量纲) of limit in this equation is number of interest, not number per second. I think this doesn't comply with ns3::ndn::Limits::Rate <http://ndnsim.net/doxygen/classns3_1_1ndn_1_1_limits_1_1_rate.html> situation.
> It still applies, but just in a different way. Limits::Rate implements a token bucket shaping algorithm (http://en.wikipedia.org/wiki/Token_bucket <http://en.wikipedia.org/wiki/Token_bucket>) and `limit` defines the size of the bucket = number of allowed burst (bucket is “refilled” with a certain rate).  Limits::Window implements a simple windowing mechanism, where `limit` is just a number of outstanding interests.
>> 3. Following that, a code is presented: 'ndnHelper.EnableLimits (true, Seconds (0.2), 40, 1100);', does this mean that all the links' delay in topology are 0.2?
> It doesn’t mean, but implies that in your simulation scenario paths over which Interest/Data are exchanges will be ~200ms.  This method makes a big assumption that this will be constant, which may not be applicable for some scenarios.
>> Alex

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20141114/e12091b9/attachment.html>

More information about the ndnSIM mailing list