[Nfd-dev] Interest lifetime limit

Alex Afanasyev alexander.afanasyev at ucla.edu
Sat Mar 22 18:33:28 PDT 2014


I agree, but want to bring out the problem of soft state again.  Why would routers want to keep PIT state for a prolonged period of time if it has no idea if the downstream still has interest in the data.

As for (1).  Data type used for lifetime allows expressing time durations from 1 milliseconds to billion years and more (it is 2^64 milliseconds), so it is really not a "practical" bound.

---
Alex

On Mar 22, 2014, at 6:25 PM, Giovanni Pau <gpau at cs.ucla.edu> wrote:

> Hi All,
> 
> I agree in full with Jeff arguments below that actually summarize my points even better than what i did myself. At this moment we know to little and bounding ourselves is not a good idea. Also in some environment may be smart to have relatively long time interest and have a smart  Pit cleanup strategy.
> 
> thanks
> Giovanni. 
> 
> 
> 
> On Mar 22, 2014, at 10:47 AM, Burke, Jeff <jburke at remap.ucla.edu> wrote:
> 
>> 
>> Hi,
>> 
>> I agree with Alex - I am not suggesting either infinite lifetimes or hard state.    
>> 
>> What I am suggesting is:
>> 
>> 1) We don't know enough to set a practical bound on interest lifetime, so let's leave the bound set to  limit of the data type used for storing it (or one less than that), until we have some operational experience with what a reasonable value would be.     If it is to be operator-configurable anyway, this could be set in a configuration file that is easy to modify in future distributions or for particular installations. 
>> 
>> 2) Reserve the maximum int/long value to correspond to "as long as the forwarder is willing to hang on to the interest" - this is not infinite lifetime but does leave the possibility for long-lived interest support in certain deployments, or with deployment-specific PIT cleanup strategies. 
>> 
>> I realize there is a practical concern but this seems related to the current state of the implementation - If the worry with these is related to not yet having a PIT cleanup mechanism, I would suggest that this is a basic feature that should be incorporated into the initial NFD release.  (Same with content store and FIB limits / cleanup.)   Even at this stage, busted or intentionally aggressive apps should not be able to crash the forwarder by filling these tables - this could happen even with relatively low maximum lifetimes.  Cleanup info also needs to be logged and someday available through the instrumentation mechanisms;  this has already come up in Peter's debugging of ccnx–caused delays in ndnrtc packet flows. 
>> 
>> Thanks,
>> Jeff
>> 
>> 
>> From: Alex Afanasyev <alexander.afanasyev at ucla.edu>
>> Date: Fri, 21 Mar 2014 09:57:56 -0700
>> To: Jeff Burke <jburke at remap.ucla.edu>
>> Cc: Junxiao Shi <shijunxiao at email.arizona.edu>, Giovanni Pau <gpau at cs.ucla.edu>, "nfd-dev at lists.cs.ucla.edu" <nfd-dev at lists.cs.ucla.edu>
>> Subject: Re: [Nfd-dev] Interest lifetime limit
>> 
>> Hi all,
>> 
>> In my opinion, not having the limit and considering that one can set infinite interest lifetime is not entirely correct.  Isn't the whole point of the Interest/Data exchange is to provide flow balance? And when you separate Interest from Data by a significant portion of time, I don't see how it works out to the flow balance.
>> 
>> Interests are generally soft state.  The client issues Interest and expects data.  Within reasonable time interval, routers expect that the client is still down there and the network topology didn't change, so the response would reach.  When we are getting to "unlimited" lifetimes, we are going towards "hard" state on routers, without any guarantee that the client is still alive or that the network hasn't changed.
>> 
>> As I remember, Van was always saying that Interest should be a bilateral agreement between two neighbors.  If downstream is still interested, it should re-express its interests.  This by definition assumes finite lifetimes (either global maximum or neighbors explicitly communicate their maximum).
>> 
>> In any case. The main reason I asked this question is that I have a desire to provide a basic protection against abuse of the NDN routers, at least in the testbed environment.  If we don't do it in a reasonable way, anybody can send a bunch of interests with huge lifetimes and then just go home, while network will suffer until it is rebooted (or we have a reasonable mechanism PIT cleanup implemented).
>> 
>> ---
>> Alex
>> 
>> 
>> On Mar 21, 2014, at 7:29 AM, Burke, Jeff <jburke at remap.ucla.edu> wrote:
>> 
>>> 
>>> If it is going to be operator configurable, perhaps we can leave the practical limit set to the theoretical limit for research versions of NFD?  I don't think we have enough experience with the tradeoffs you describe to pick an upper bound at this time.  
>>> 
>>> In my understanding, there is no real cost to the forwarder for long-lifetime interests, because it will need a mechanism to drop old pending interests when the PIT is full anyway.   Unless forwarder PIT behavior is controlled in some special way by specific operators on behalf of local applications (as it might be in Giovanni's vehicular apps),  the burden is always on the application to refresh the interest with an update period that is no longer than the maximum tolerable delay for a response to the Interest, because there are no guarantees on what stays in the PIT.
>>> 
>>> Further, are we sure that long-lived interests might not be common in some applications?   For example, if an application checks for automatic 'software updates' by issuing an interest every hour, what does that application have to lose by setting the Interest lifetime to one hour, even if it is not guaranteed to persist? 
>>> 
>>> Jeff
>>> 
>>> From: Junxiao Shi <shijunxiao at email.arizona.edu>
>>> Date: Thu, 20 Mar 2014 22:17:37 -0700
>>> To: Giovanni Pau <gpau at cs.ucla.edu>
>>> Cc: Jeff Burke <jburke at remap.ucla.edu>, <nfd-dev at lists.cs.ucla.edu>, Lixia Zhang <lixia at cs.ucla.edu>
>>> Subject: Re: [Nfd-dev] Interest lifetime limit
>>> 
>>> 20140114 meeting discussed InterestLifetime upper bound. Van's idea is:
>>> * Protocol should not set an upper bound on InterestLifetime.
>>> * Setting a *practical* upper bound is a policy issue, configurable by operator.
>>> My proposal of using 32768ms as the default upper bound is completely unrelated to "2 octets". Its reason is:
>>> * Most applications don't need any special lifetime.
>>> * NFD Notification mechanism is more efficient if longer lifetime can be used. Push applications also desire a long lifetime.
>>> * Forwarder cannot afford long lifetime because PIT entries consume memory.
>>> * Trade-off between the need of push application and the forwarder state cost leads to 32768ms default upper bound.
>>> Yours, Junxiao
>>> On Mar 20, 2014 9:52 PM, "Giovanni Pau" <gpau at cs.ucla.edu> wrote:
>>>> 
>>>> Junxiao,
>>>> 
>>>> sorry i can’t get it, if we have 64bits, then why we need to bound it to a 16bit value? I agree is better to measure in ms rather than sec, but yet i do not understand the need to bound. I agree with jeff on the long timed interests, in our case such as an interest for a road-hazard in the direction of traveling.
>>>> 
>>>> Thanks
>>>> g.
>>> _______________________________________________
>>> Nfd-dev mailing list
>>> Nfd-dev at lists.cs.ucla.edu
>>> http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev
>> 
> 





More information about the Nfd-dev mailing list