[Icnrg-harmonization] NDN use of nameless Data

<Marc.Mosko@parc.com> Thu, 01 September 2016 15:23 UTC

Return-Path: <Marc.Mosko@parc.com>
X-Original-To: icnrg-harmonization@ietfa.amsl.com
Delivered-To: icnrg-harmonization@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 8342B12DA22 for <icnrg-harmonization@ietfa.amsl.com>; Thu, 1 Sep 2016 08:23:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id 9aZcaRmNtUUJ for <icnrg-harmonization@ietfa.amsl.com>; Thu, 1 Sep 2016 08:23:37 -0700 (PDT)
Received: from omega.xerox.com (omega.xerox.com []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 943DA12DA3E for <icnrg-harmonization@irtf.org>; Thu, 1 Sep 2016 08:23:36 -0700 (PDT)
Received: from localhost (localhost []) by omega.xerox.com (Postfix) with ESMTP id 86F115201A6 for <icnrg-harmonization@irtf.org>; Thu, 1 Sep 2016 08:23:36 -0700 (PDT)
X-Virus-Scanned: Debian amavisd-new at parc.com
Received: from omega.xerox.com ([]) by localhost (smtp.parc.xerox.com []) (amavisd-new, port 10024) with ESMTP id 03NlD4oOD4Jx for <icnrg-harmonization@irtf.org>; Thu, 1 Sep 2016 08:23:36 -0700 (PDT)
Received: from exchangehub.parc.xerox.com (e2010hub1.parc.xerox.com []) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by omega.xerox.com (Postfix) with ESMTPS id 5FB98520198 for <icnrg-harmonization@irtf.org>; Thu, 1 Sep 2016 08:23:36 -0700 (PDT)
Received: from E2010DAG5.corp.ad.parc.com ([fe80::3d0b:7158:aec4:e05e]) by e2010hub1.corp.ad.parc.com ([fe80::8945:a39d:8c92:373f%11]) with mapi id 14.03.0301.000; Thu, 1 Sep 2016 08:23:46 -0700
From: <Marc.Mosko@parc.com>
To: <icnrg-harmonization@irtf.org>
Thread-Topic: NDN use of nameless Data
Thread-Index: AQHSBGTUckNfPjJQ5026HaHPYKaung==
Date: Thu, 1 Sep 2016 15:23:45 +0000
Message-ID: <92ABC834-3C47-4B3C-9D85-83493B8B9414@parc.com>
Accept-Language: en-US
Content-Language: en-US
user-agent: Microsoft-MacOutlook/f.18.0.160709
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_92ABC8343C474B3C9D8583493B8B9414parccom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/icnrg-harmonization/eM-zKF7eE5akbEozHMldn7-6tn8>
Subject: [Icnrg-harmonization] NDN use of nameless Data
X-BeenThere: icnrg-harmonization@irtf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: ICN Harmonization Discussion <icnrg-harmonization.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/icnrg-harmonization>, <mailto:icnrg-harmonization-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/icnrg-harmonization/>
List-Post: <mailto:icnrg-harmonization@irtf.org>
List-Help: <mailto:icnrg-harmonization-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/icnrg-harmonization>, <mailto:icnrg-harmonization-request@irtf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Sep 2016 15:23:42 -0000

There has been a bit of talk about CCNx making explicit the use of nameless objects, but Iā€™d like to point out that one can do essentially the same thing in NDN using the Interest Link.  If CCNx were to adopt the Link approach to routing indirection, it could be done this way too (though using the ContentObjectHashRestriction field, not the implicit digest).

This is based on the 0.2-alpha-3 NDN packet format specification and the SNAMP-NDN-Scalability.pdf paper.  If I have misread something, please let me know.

The NDN spec says a Name is zero or more NameComponent.  Therefore, I can create a Data object with an empty name.  In an Interest, I can put one NameComponent of type ImplicitSha256DigestComponent and set Min/Max SuffixComponents to 0 and then include one or more Link objects in the Interest for routing.

My understanding of NDN is that because the ImplicitSha256DigestComponent is not in the FIB, a forwarder will forward via the Link.  The nameless Data Object ā€“ having 0 name components ā€“ will have a FullName of only its ImplicitSha256DigestComponent and that will match the name in the Interest.

I believe this use of NDN also maintains the property we were going after in CCNx nameless objects in that one cannot poison the cache by feting a Data object by hash that could then later be confused with a Data object being fetched by prefix or name (unless one put a 0 component name in the Interest with MaxSuffixComponents of at least 1 and used Link routing).