[Ndn-interest] Loop Detection Issue

marxer at claudio.li marxer at claudio.li
Thu Aug 4 07:55:21 PDT 2016


On 08/04/16 16:25, Lan Wang (lanwang) wrote:
> Marc,
> 
>> On Aug 3, 2016, at 10:16 AM, Marc.Mosko at parc.com wrote:
>> 
>> My understanding is that X should send a “duplicate NACK” to Z.  As 
>> long as the NACK is not lost, C2 will get the NACK and re-try its 
>> Interest with a difference nonce (if using BestRoute v2 strategy).  If 
>> the NACK is lost, then you still have the described problematic 
>> behavior.  Note that the BestRoute v2 strategy will not re-transmit 
>> the C2 Interest at Z with a different nonce, it will propagate the 
>> NACK to C2.
> 
> The NACK will not be propagated from Z to C2 because the NACKed nonce 
> is difference from the nonce in C2’s interest.

Since the interests from C1 and C2 are aggregated by Z, both clients are 
affected. Wouldn't it make sense that Z separates the NACK and also 
informs C2? For example by exchanging the nonce in the NACK or with 
something like a "dangling-entry-NACK" generated by Z. At the point C2 
receives such a "dangling-entry-NACK", the PIT entries of the looping 
interest are removed because of the "duplicate NACK". Thus C2 could 
succesfully re-try.

>> 
>> I also think that the duplicate NACK would be propagated along the 
>> whole reverse route to Y and then back to X, if using BestRoute v2.
> 
> This is correct.
>> 
>> Another thing to consider is that NFD uses an aggregation hold-down 
>> timer.  The Interest from C2 would only be aggregated at Z if it 
>> arrived within 250 msec of the Interest from Y.  If it arrived after 
>> that, it would not be aggregated. This is strategy dependent.  I think 
>> there’s also current work on using an exponential back off rather than 
>> a fixed 250 sec.
> 
> Yes.
>> 
>> Yet another another thing to consider is that there are two ways X can 
>> detect a duplicate nonce.  First is what we’ve talked about, it has a 
>> pending PIT entry.  The second case is if the duplicate Interest from 
>> Z arrives after the content from S has cleared the PIT entry at X, but 
>> there is still a “dead nonce list” entry at X.  If you read section 
>> 4.2.1 (Incoming Interest Pipeline) of version 6 (I believe current) 
>> NFD guide, step 2 is to check the Dead Nonce List.
> 
> Yes.
> 
>>  In this case, even though X may have a content store entry, the 
>> Interest from Z is given to the “Interest loop pipeline”.  It 
>> explicitly does not create an in-record for the Interest from Z.  
>> Section 4.2.2 (Interest loop pipeline) will generate a NACK and drop 
>> the Interest.  At this point Z would forward the NACK to C2 (via 
>> BestRoute) and C2 would re-try.
>> 
> I don’t think the NACK will be forwarded to C2.
> 
>> Finally, one should also note that a duplicate NACK is only generated 
>> on a point-to-point face.  If the incoming face is multiple access, no 
>> NACK is generated.  C2 would need to timeout in that case.
> 
> Right now NACK is only generated on a point-to-point face in NFD, 
> because we don’t have a final NACK design for multi-access links yet.  
> But NACK is still applicable to multi-access links in general.
> 
> Lan
>> 
>> Marc
>> 
>> 
>>> On Aug 3, 2016, at 6:43 AM, marxer at claudio.li wrote:
>>> 
>>> 
>>> On 08/03/16 14:28, Lan Wang (lanwang) wrote:
>>>> They have different nonces but if the PIT entry created by C1 has 
>>>> not been removed, then C2 may be suppressed.   This is the dangling 
>>>> PIT entries problem.The solutions (already implemented in NFD) are 
>>>> the following:
>>> 
>>> Yes, this is what we meant in the example.
>>> 
>>>> 1. some strategies, e.g., recent versions of BestRoute) allow 
>>>> interest retransmission: when an interest is forwarded, a 
>>>> suppression timer is set on the PIT.  When the timer expires, it  
>>>> may forward any new Interest matching the PIT (and then set the 
>>>> suppression timer again).
>>>> 2. when X detects an Interest with a duplicate nonce, it sends a 
>>>> duplicate NACK  which may be further forwarded to clear the dangling 
>>>> PIT entries at the nodes that sent the interest.  When the PIT entry 
>>>> is cleared, new interest with the same name can be forwarded.  Right 
>>>> now some strategies (not all) in NFD handle the NACKs correctly.
>>> 
>>> Yes, this works. A question regarding the implementation: According 
>>> to the NFD developer guide, the PIT does not hold nonce values. Thus 
>>> Z can not fully reconstruct the interest from C2. Does Z generate a 
>>> new nonce? If yes: Not sure but intuitively I think that loop 
>>> partially detection might be broken if the green interest was also 
>>> part of a loop (because Z changes its nonce).
>>> 
>>>> Lan
>>> 
>>> Thanks to all of you for the explanations,
>>> Claudio
>>> 
>>>>> On Aug 3, 2016, at 4:54 AM, Lixia Zhang <lixia at cs.ucla.edu> wrote:
>>>>> I have a few other questions to the specifics of the scenario.
>>>>> for a short answer quick: interests form C1 and C2 carry different 
>>>>> nonces, so your concern on the last slide should not happen as I 
>>>>> see.
>>>>>> On Aug 3, 2016, at 1:15 AM, marxer at claudio.li wrote:
>>>>>> Hi all,
>>>>>> Urs and I constructed a situation in which we think the network 
>>>>>> does not behave as expected (attached PDF). Can this happen in the 
>>>>>> wild or did we oversee something?
>>>>>> Thanks,
>>>>>> Urs and Claudio
>>>>>> <interest-looping.pdf>_______________________________________________
>>>>>> Ndn-interest mailing list
>>>>>> Ndn-interest at lists.cs.ucla.edu
>>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest
>>>>> _______________________________________________
>>>>> Ndn-interest mailing list
>>>>> Ndn-interest at lists.cs.ucla.edu
>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest
>>> _______________________________________________
>>> Ndn-interest mailing list
>>> Ndn-interest at lists.cs.ucla.edu
>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest
>> 
> 



More information about the Ndn-interest mailing list