Subject: Re: [icnrg] ICNRG progress

From: Ken Calvert <[email-masked]>
Date: Mon, 9 Mar 2020 21:41:45 -0400

Dear ICNRG -

I recently read the CCNx semantics RFC.  I was a bit surprised to find nothing in it about "referential transparency" - the idea that interests for the same name should always return the same (content) bits.  That (no stated position) is understandable for ICN as a whole, but I expected that specific protocols would have some kind of statement about it (I think NDN requires it, but I'm not up on the latest NDN specs or code).

So, a question:  Is referential transparency a property of CCNx, or is it explicitly left up to the publisher, or what?  Or put another way, what, if anything, is a requestor entitled to assume about the result of different interests for the same name?

Thanks for any help.  And apologies if this is a dumb or non-useful question.

Ken

---

From: "Mosko, Marc <[email-masked]>" <[email-masked]>
Date: Tue, 10 Mar 2020 01:55:48 +0000

Ken,

In ccnx or ndn, the only way to guarantee this property is to include a hash constraint (ndn name segment or ccnx field).  That ensures you get the same response (if any) for the same query over time, modulo some tiny tiny number of hash collisions.  Really, it does not guarantee that, but if the routers all behave correctly they should ensure that you get the same data or no data.  A misbehaving router could feed you incorrect content, so the consumer must always do their own check.

In CCNx, we expect that even within a given publisher, the content object that matches a name may change over time, as guided by the expiry time and recommended cache time.  In NDN, if you are using discovery, you expect that different data objects will match the query of a name prefix.  NDN expects that within a given publisher, the full name (name up to but excluding hash component) should be unique.  But that is a convention of the publisher, and is not guaranteed in any way.

Third parties could always try to publish their own objects under any name.  Without including publisher key restrictions in an interest or using namespace keys to limit publication to authorized parties, there could very well be any number of different objects with the same name and only routing would cause one over another to be fetched.

Marc

On 3/9/20, 6:42 PM, "icnrg on behalf of Ken Calvert" <[email-masked] on behalf of [email-masked]> wrote:

    Dear ICNRG -

    
    
    Ken
    _______________________________________________
    icnrg mailing list
    [email-masked]
    https://www.irtf.org/mailman/listinfo/icnrg