CCNx Selector Based Discovery
draft-mosko-icnrg-selectors-01

Document Type Active Internet-Draft (individual)
Last updated 2019-05-08
Stream (None)
Intended RFC status (None)
Formats plain text xml pdf htmlized bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
ICNRG                                                           M. Mosko
Internet-Draft                                                PARC, Inc.
Intended status: Experimental                                May 8, 2019
Expires: November 9, 2019

                     CCNx Selector Based Discovery
                   draft-mosko-icnrg-selectors-01

Abstract

   CCNx selector based discovery uses exclusions and interest name
   suffix matching to discover content in the network.  Participating
   nodes may respond with matching Content Objects from cache using an
   encapsulation protocol.  This document specifies the available
   selectors, their encoding in a name segment, and the encapsulation
   protocol.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on November 9, 2019.

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of

Mosko                   Expires November 9, 2019                [Page 1]
Internet-Draft               CCNx Selectors                     May 2019

   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   2.  Protocol Description  . . . . . . . . . . . . . . . . . . . .   3
   3.  Name Labels and TLV types . . . . . . . . . . . . . . . . . .   5
     3.1.  Child Selector  . . . . . . . . . . . . . . . . . . . . .   7
     3.2.  Interest Min(Max)SuffixComponents . . . . . . . . . . . .   7
     3.3.  Name Excludes . . . . . . . . . . . . . . . . . . . . . .   7
       3.3.1.  Exclude Singleton . . . . . . . . . . . . . . . . . .   9
       3.3.2.  Exclude Range . . . . . . . . . . . . . . . . . . . .   9
       3.3.3.  Examples  . . . . . . . . . . . . . . . . . . . . . .   9
   4.  Content Store and Caching . . . . . . . . . . . . . . . . . .  10
   5.  Annex A: Examples . . . . . . . . . . . . . . . . . . . . . .  11
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  12
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  12
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  13
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .  13
     8.2.  Informative References  . . . . . . . . . . . . . . . . .  13
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  14

1.  Introduction

   Content Discovery is an important feature of CCNx [CCNxSemantics].
   This document specifies a discovery mechanism that uses a name
   segment to encode a discovery query in an Interest.  Nodes that
   participate in discovery may reply with a Content Object if it
   matches the encoded query.  The query uses exclusions to work around
   incorrect responses.

   This document updates CCNx Messages [CCNxMessages] with a new name
   TLV type, T_SELECTOR, for selector query.  It also specifies a new
   Content Object PayloadType that encapsulates another Content Object.
   The inner Content Object is used to return a Content Object with a
   longer name than in an interest.  The inner object's signature should
   verify as normal.

   Not all nodes along the Interest path need to participate in the
   discovery process.  A non-participating node should forward the
   Interest and encapsulating Content Object as normal.  A participating
   node should verify that the inner Content Object matches the selector
   query in the PIT entry befor returning it and erasing the PIT entry.

Mosko                   Expires November 9, 2019                [Page 2]
Internet-Draft               CCNx Selectors                     May 2019

   Note that Selector discovery is not needed when asking for a Content
   Object by its Content-Object Hash, as there should only ever be one
Show full document text