[Ndn-interest] Loop Detection Issue

Urs Schnurrenberger urs.schnurrenberger at unibas.ch
Thu Aug 4 08:18:04 PDT 2016


Inline

> -----Ursprüngliche Nachricht-----
> Von: Ndn-interest [mailto:ndn-interest-bounces at lists.cs.ucla.edu] Im
> Auftrag von Marc.Mosko at parc.com
> Gesendet: Donnerstag, 4. August 2016 16:52
> An: lanwang at memphis.edu
> Cc: ndn-interest at lists.cs.ucla.edu
> Betreff: Re: [Ndn-interest] Loop Detection Issue
> 
> 
> > On Aug 4, 2016, at 7:25 AM, Lan Wang (lanwang)
> <lanwang at memphis.edu> 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.
> 
> I thought that with BestRoute v2 it will propagate errors.  Section 5.2.1
> (BestRoute v2, Nack Processing) it says “If all pending upstreams have
> Nacked, a Nack is sent to all downstreams.”  And based on the text in
> 4.4.2 (Outgoing Nack Pipeline), each of those NACKs would carry the
> nonce of the in-record, so C2 would get a NACk with its nonce and Y
> would get a NACK with its nonce (the original C1 nonce).
> 
> If they do not propagate, then you think in the case described in the slide
> deck that C2 has to time out?
> 

I think propagating some sort of NACK to C2 is better than accepting a timeout for C2,
but wouldn't it be anyway better that Z directly retransmits the Interest from C2 instead
of sending a NACK to C2 (and then most probably receiving another Interest from C2)?

Urs

> 
> >>
> >> 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.
> 
> Same argument as in the 1st response above.  I’m pretty sure it would, at
> least with BestRoute v2 as described in NFD guide.  If it does not, then
> you are back in the case where C2 has to time out.  And you could
> perpetually blackhole C2 given an adversarial timing of Interest
> retransmissions along the X->Y->Z->X path.
> 
> >
> >> 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.
> 
> Yes, I think in principle NACK should be usable on multi-access faces.  I
> was pointing out that the current design, as described, does not do NACK
> on multi-access faces.  BTW, its a multi-access face, which is different than
> a multi-access link, yes?  I can still have point-to-point faces over Ethernet,
> for example.
> 
> >
> > 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
> >>
> >
> 
> 
> _______________________________________________
> 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