Re: [icnrg] CCNx drafts

Ravi Ravindran <ravi.ravindran@huawei.com> Thu, 07 April 2016 01:32 UTC

Return-Path: <ravi.ravindran@huawei.com>
X-Original-To: icnrg@ietfa.amsl.com
Delivered-To: icnrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1838512D13F for <icnrg@ietfa.amsl.com>; Wed, 6 Apr 2016 18:32:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.23
X-Spam-Level:
X-Spam-Status: No, score=-4.23 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eUo9Ei4N5Quy for <icnrg@ietfa.amsl.com>; Wed, 6 Apr 2016 18:32:47 -0700 (PDT)
Received: from dfwrgout.huawei.com (dfwrgout.huawei.com [206.16.17.72]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D196512D14E for <icnrg@irtf.org>; Wed, 6 Apr 2016 18:32:46 -0700 (PDT)
Received: from 172.18.9.243 (EHLO dfweml701-chm.china.huawei.com) ([172.18.9.243]) by dfwrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id CXW44141; Wed, 06 Apr 2016 20:32:45 -0500 (CDT)
Received: from SJCEML702-CHM.china.huawei.com (10.218.25.35) by dfweml701-chm.china.huawei.com (10.193.5.50) with Microsoft SMTP Server (TLS) id 14.3.235.1; Wed, 6 Apr 2016 18:32:44 -0700
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.126]) by SJCEML702-CHM.china.huawei.com ([169.254.4.137]) with mapi id 14.03.0235.001; Wed, 6 Apr 2016 18:32:40 -0700
From: Ravi Ravindran <ravi.ravindran@huawei.com>
To: "Ignacio.Solis@parc.com" <Ignacio.Solis@parc.com>, "icnrg@irtf.org" <icnrg@irtf.org>
Thread-Topic: [icnrg] CCNx drafts
Thread-Index: AQHRkEgbVYU4InXekkyoB5pEuUmVU599dxcggAAPhYCAAC1OsA==
Date: Thu, 07 Apr 2016 01:32:39 +0000
Message-ID: <D96E28F4A22C864DBC6C871B5B1C4CC320BEAD73@SJCEML701-CHM.china.huawei.com>
References: <36AB412C-7AB9-40DE-807F-0FC75BD2CA86@parc.com> <D96E28F4A22C864DBC6C871B5B1C4CC320BEA688@SJCEML701-CHM.china.huawei.com> <A07317E0-1975-4929-8545-F37226039142@parc.com>
In-Reply-To: <A07317E0-1975-4929-8545-F37226039142@parc.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.212.246.90]
Content-Type: multipart/alternative; boundary="_000_D96E28F4A22C864DBC6C871B5B1C4CC320BEAD73SJCEML701CHMchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A0B0202.5705B8BE.002D, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=169.254.3.126, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 33cf441e16f3091d0c71b38930d8e0fb
Archived-At: <http://mailarchive.ietf.org/arch/msg/icnrg/zwcmkSfkQQRamnRZntyzfn1CPb8>
Subject: Re: [icnrg] CCNx drafts
X-BeenThere: icnrg@irtf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Information-Centric Networking research group discussion list <icnrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/icnrg>, <mailto:icnrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/icnrg/>
List-Post: <mailto:icnrg@irtf.org>
List-Help: <mailto:icnrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/icnrg>, <mailto:icnrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Thu, 07 Apr 2016 01:32:52 -0000

Please see inline for  my comments…

From: Ignacio.Solis@parc.com [mailto:Ignacio.Solis@parc.com]
Sent: Wednesday, April 06, 2016 3:28 PM
To: Ravi Ravindran; icnrg@irtf.org
Subject: Re: [icnrg] CCNx drafts

On 4/6/16, 3:07 PM, "icnrg on behalf of Ravi Ravindran" <icnrg-bounces@irtf.org<mailto:icnrg-bounces@irtf.org> on behalf of ravi.ravindran@huawei.com<mailto:ravi.ravindran@huawei.com>> wrote:

I think that’s where I differ that we don’t simply define “Names as simply Network names”. In ICN, any base protocol definition has to define the source of the name, its features (being topological or not,  flat-names (self-certified), URI etc), particularly now when we are differentiating the producer of the content objects from the distributors.

I’m fine if you (or somebody else) wants to define a larger architecture scope document.  The documents we’ve been working on at ICNRG are a specific protocol definition.
They define:
- a data packet that has a “name” (optional), signature (optional) and an implicit hash.
- a request packet that has a “name” (required for forwarding), a keyId restriction (optional) and a hash restriction (optional).
- a request/response protocol based on these attributes.

Ravi> My issue is with the definition of a name in the Interest, which can be a locator and a application identifier as well; a forwarder  should distinguish these two cases.

I would’ve no problem, if the base protocol scope was only limited to named content objects, and explicitly state that  only those names are be used in the Interest as well. In this case we are only talking about names coming from application space. However, this discussion will eventually surface, when Manifests are formalized in which we callout for ID and locators and how they will be used in the base protocol.

Note that the hash in the documents does not depend on there being a name.  Any message has a hash that can be calculated. For manifests, the hash (that you call ID) and the name (that you call locator) work in the exact same way as the protocol describes now.

Ravi > I don’t think so,  a CCNx forwarder will have to process Interests differently now that the names are not only application IDs but multiplexed with locator names too. So one has to always first look if there is a ContentHashId first, if not use the name in the Interest to index into the PIT. Instead using name always for application ID (ContentHashId is a implicit object ID by defintition, so why use it as a hash restriction ?) and introducing a locator for locator names can avoid this confusion.

My comment on having a new type for nameless content object was if, producer inadvertently produce a named content object without a name, and publish it, this is a error scenario which the forwarder can reject immediately. The main point here was that in the future there may  be more considerations towards a nameless objects (considering for example, computation efficiency  or other security concerns) where this clear distinction will help.

How/why would a producer _inadvertently_ produce a named content object without a name?  In the future there may also be considerations on name length or number of segments, and we may want to limit the name (architecturally) . When that day comes, we can consider those issues.

Right now, I don’t see a competing case for this.  It’s pretty easy to determine if the message has a name or not.

Do note that you will _still_ have to calculate hashes (if that’s what you’re doing) whether there is a name or not. There can always be a hash restriction on the interest independently of whether the content object has a name or no name.


Ravi > The case is a corner case, just as discussions have pointed out that same names can be reused making contentobjects muteable. Architecturally IMO, the distribution of nameless content objects have implications on the control and the forwarding plane. For e.g. named objects can be distributed over a routing plane, but a  nameless objects have to use something like a manifest, which has bearing on how a producer or the distributing mechanism has to handle these two kinds of content objects.

Nacho





From: Ignacio.Solis@parc.com<mailto:Ignacio.Solis@parc.com> [mailto:Ignacio.Solis@parc.com]
Sent: Wednesday, April 06, 2016 2:06 PM
To: Ravi Ravindran; icnrg@irtf.org<mailto:icnrg@irtf.org>
Subject: Re: [icnrg] CCNx drafts

On 4/6/16, 1:04 PM, "icnrg on behalf of Ravi Ravindran" <icnrg-bounces@irtf.org<mailto:icnrg-bounces@irtf.org> on behalf of ravi.ravindran@huawei.com<mailto:ravi.ravindran@huawei.com>> wrote:

Hi Nacho,

Can you clarify if Nameless Objects are within the scope of these draft ?. I tried looking for its reference and couldn’t find it in the drafts. These are some of my concerns if nameless objects are in scope:

Yes, Nameless Objects are within the scope of the drafts.



1.      With Nameless Objects the Interest names are locators and Contentobject hash digest which serve as an identifier is part of the hash restriction. Though at this point the protocol doesn’t  separate the ID/locator name space explicitly in the protocol, it will be good to clarify that names can also be locators when nameless objects are requested. Towards this, I would suggest to define locator names as another namespace  in the semantics document and differentiate it from the names assigned by applications i.e. the producers. This would also be in line with the Manifest proposal which distinguishes Hash IDs and Locators in its definition. This ID/Locator name space separation is what we have been arguing for through the forwarding-label draft.  To complement the nameless object proposal, we also updated the draft with the use case of using Content HashIDs with forwarding-labels in Section 9.2 of the draft https://tools.ietf.org/html/draft-ravi-ccn-forwarding-label-02

Names are network names.  Their use is for forwarding.  The documents should not describe where these names come from, just like they don’t describe how you fill in your FIBs.

In the semantics document the only place the mentions applications is in the application name components. These are reserved name segment types that the applications can use.  In the messages document applications are mentioned in how they have space reserved in a few of the fields.

The current spec does not prevent the use that you describe in your draft.  As a matter of fact, it enables it.


2.      Also I would suggest to introduce nameless objects as a new type of content object itself, instead of it being defined as a regular content object which doesn’t have a name TLV for two reasons: Firstly, producers may choose to publish named and nameless version at the same time, explicitly distinguishing them would help forwarders to apply appropriate processing; Second, this differentiates from the case of a malformed named object for which the router may end up computing its hash unnecessarily.

This is an interesting consideration, but it doesn’t work very well for us, it adds complexity.  Right now, as things are defined, the hash is computed over the message. This allows us to have a way to calculated the message hash independently of the message.  We can calculate the hash of nameless objects as well as regular objects.  This means we can do manifests and nameless objects, as well as secure retrieval of named objects (like the manifests themselves).

For the first case, named and nameless versions of the same object are allowed. The spec does not prohibit that. We don’t need 2 different content types for this.  The same processing would apply to both.

For the second case, I don’t understand what you mean. How are you improving the way that we detect that something is malformed by having a second content type?

Nacho





From: icnrg [mailto:icnrg-bounces@irtf.org] On Behalf Of Ignacio.Solis@parc.com<mailto:Ignacio.Solis@parc.com>
Sent: Wednesday, April 06, 2016 2:00 PM
To: icnrg@irtf.org<mailto:icnrg@irtf.org>
Subject: [icnrg] CCNx drafts

Hi folks.

We are interested in moving the CCNx documents forward. The base docs, moving them towards publication. The ccnx:// one adopting it and moving it towards publication.

https://tools.ietf.org/html/draft-irtf-icnrg-ccnxmessages-02
https://tools.ietf.org/html/draft-irtf-icnrg-ccnxsemantics-02
https://tools.ietf.org/html/draft-mosko-icnrg-ccnxurischeme-00

The drafts have been pretty stable for a while. We made some minor updates to the documents with the Paris feedback and we will be discussing these tomorrow. We know this can be a lengthy process and we wanted to start the discussion on the list.

Please start voicing feedback and concerns.  The base documents are group documents and we would like the group to be ok with what they say.

Cheers,

Nacho

--
Nacho (Ignacio) Solis
Protocol Architect
Principal Scientist
Palo Alto Research Center (PARC)
+1(650)812-4458
Ignacio.Solis@parc.com<mailto:Ignacio.Solis@parc.com>