[Nfd-dev] Please review the update of NDN-TLV spec, introducing implicit digest name component

Ignacio.Solis at parc.com Ignacio.Solis at parc.com
Fri Oct 10 12:48:49 PDT 2014


>>Yes, the parc's proposal introduces hash restriction (aka selector).  As
>>I understand correctly, this restriction is based on "content hash",
>>rather than "data packet hash".   This is very different thing from the
>>implicit hash and has very different use case:  content hash identifies
>>"content", while implicit digest identifies specific Data packet (which
>>is the atomic unit in NDN sense).  With just content hash it is
>>impossible to "exclude" wrong data, since it is not really known whether
>>the content is wrong or signature is wrong.  It also has implications
>>while requesting Data: what you would get back is "content", which can
>>have any name.  This may be acceptable in some cases, while not so in
>>others where name is used by the application (e.g., if app needs to know
>>which segment this returned piece of content belongs).

The ContentObjectHash restriction in CCN is over the Content Object (as
the name implies).  This includes the name and signature (if present).

It is the same as the implicit hash in the sense that the hash is implicit
in the content object.  This is calculated over the message. The static
headers and the optional headers are NOT part of the message.

We don¹t exclude data, so that is, effectively, impossible for CCN.
Having said that, if you followed the SelectorProtocol described in the
NDN-interest list this ContentObjectHash would be able to be used for
excludes just like the ones on NDN.  It servers the same purpose but it¹s
not part of a name.

It is NOT true that the content you get can have any name.  The content
has either a) the exact same name as the interest (after all, we do exact
matching), or b) no name at all.

Also, I don¹t understand why you say that the app needs to know what
segment you¹re getting.  Didn¹t you request the content with a name
anyway?  Use that name.  Also, if you have a ContentObjectHash, that means
somebody gave you that hash, did they not tell you what this hash was for?
  

Nacho





More information about the Nfd-dev mailing list