ICN Research Group                                               J. Hong
Internet-Draft                                                    T. You
Intended status: Informational                                 Y-G. Hong
Expires: January 3, 2019                                            ETRI
                                                            July 2, 2018


               CCNx Extension for Name Resolution Service
                      draft-hong-icnrg-ccnx-nrs-02

Abstract

   This document presents the CCNx extension for Name Resolution Service
   (NRS).  It describes TLV-based CCNx messages for NRS and modification
   of CCNx forwarder where the messages for NRS are working.

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 https://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 January 3, 2019.

Copyright Notice

   Copyright (c) 2018 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
   (https://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
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.




Hong, et al.             Expires January 3, 2019                [Page 1]


Internet-Draft           CCNx extension for NRS                July 2018


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions and Terminology . . . . . . . . . . . . . . . . .   3
   3.  Mappig System for Name Resolution Service in CCN  . . . . . .   3
   4.  CCNx Extension for Name Resolution  . . . . . . . . . . . . .   4
     4.1.  Interest  . . . . . . . . . . . . . . . . . . . . . . . .   4
     4.2.  Content Object  . . . . . . . . . . . . . . . . . . . . .   5
     4.3.  Forwarder . . . . . . . . . . . . . . . . . . . . . . . .   6
   5.  CCNx Extension for Name Management  . . . . . . . . . . . . .   6
     5.1.  Interest  . . . . . . . . . . . . . . . . . . . . . . . .   6
     5.2.  Content Object  . . . . . . . . . . . . . . . . . . . . .   7
     5.3.  Forwarder . . . . . . . . . . . . . . . . . . . . . . . .   8
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   8
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .   8
     9.2.  Informative References  . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   In Information Centric Networking (ICN)[RFC7927], the name resolution
   is defined as the first step of ICN routing along with content
   discovery and delivery, which translates a content name to locator(s)
   of providers/sources that can provide the content.  However, the name
   resolution step can be omitted in the hierarchical name based
   routing.

   NDN [NDN] and CCN [CCN] are representative projects of ICN which use
   the hierarchical name based routing.  Nevertheless, in [Afanasyev],
   in order to address the routing scalability problem in NDN's DFZ, a
   distributed mapping system called NDNS was designed, which maintains
   and lookups the mapping information from a name to its globally
   routed prefixes.  Here, NDNS is a kind of Name Resolution Service
   (NRS) in NDN.

   Similarly, CCN also has a challlenge to address the routing
   scalability problem in CCN's DFZ even though CCN uses the
   hierarchical name based routing.  Thus, NRS can be utilized in CCN
   for the scalable name based routing as well as the efficient mobility
   support.

   This document presents the design of NRS-Mapping System (NRS-MS)
   which is a system that provides the name resolution service in CCN
   and its implementation by extending CCNx.  It also describes TLV-




Hong, et al.             Expires January 3, 2019                [Page 2]


Internet-Draft           CCNx extension for NRS                July 2018


   based CCNx messages for NRS and modification of CCNx forwarder where
   the messages for NRS are working.

2.  Conventions and Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

   This document uses the terminology of [CCNxSemantics] and
   [CCNxMessages] for CCNx entities.

   The following terms are used in this document and defined as follows:

   o  Mapping Server (MS) : stores and maintains the actual mapping
      table which keeps the bindings of name to some information that is
      used for forwarding Interest.  MS is a role of NRS resolver and
      all NRS messages are processed though the MS.  In other words, CCN
      nodes such as consumer, provider communicate with only MS to get
      the name resolution service.  Thus we design the MS using C CN
      protocol assuming that the NRS is served at the content router
      (CR) and each CR knows its default MS.

   o  Name List Server (NLS) : is constructed by the DNS-like tree
      according to the name hierarchy.  NLS is only used to find the
      corresponding MS which stores the binding information of the
      requested name since CR sends the NRS lookup request to its
      default MS whether it has the binding information of the requested
      name or not.  MS is located at the second level NLS and we have
      utilized the IP for the communications between MSs and NLSs.

3.  Mappig System for Name Resolution Service in CCN

   This document presents the new implementation of NRS-MS functions
   based on extension of CCNx to show usefulness of NRS in CCN.  We
   design a simple scenario to maximize NRS usefulness and to understand
   NRS functionalities easily.

   o  Scenario : Similar with CDN approach, multiple media servers
      containing popular contents can be deployed in different areas,
      but all of media data in replica servers (RSs) must have
      equivalent name to keep data integrity as a single publisher's
      authority.  In order to take an advantage from the replica
      servers, NRS can be utilized to lookup the physical locations of
      the rplica servers.  The nearest replica server can be chosen from
      the information resolved by NRS.





Hong, et al.             Expires January 3, 2019                [Page 3]


Internet-Draft           CCNx extension for NRS                July 2018


   o  Design choices : We design and implement a new entity named a
      Mapping Server (MS) by extension of content router (CR).  The MS
      can be deployed by a single network provider.  Moreover, we assume
      that an ICN edge domain is required to have at least one MS.  MS
      maintains mapping information between name and another name and
      processes a lookup request and its response.  Consumer is not
      changed.  The first hop content router (CR1) like a first hop
      router should have a communication channel toward a mapping
      server.  We design new messages to implement NRS functionalities
      just by following the CCNx messages in TLV format [CCNxMessages]
      by extension of optional fields.


                                 +-----+
                                 | MS  |
                                 +-----+
                                    |
                                    |
                  +----------+   +-----+   +-----+   +-----+
                  | Consumer |---| CR1 |---| CR2 |---| RS1 |
                  +----------+   +-----+   +-----+   +-----+
                                       \
                                        \
                                       +-----+   +-----+
                                       | CR3 |---| RS2 |
                                       +-----+   +-----+


                     Figure 1: Replica server scenario

4.  CCNx Extension for Name Resolution

   We have implemented the NRS for CCN based on CCNx.  This means that
   the name is resolved by Interest and Content Object packets defined
   in CCNx.  We define two types of Interest packets for NRS: Interest
   for registration (I-reg) and Interest for lookup (I-get) which are
   sent from a proper CR to its default MS for name registration and
   lookup, respectively.  We also define two types of Content Object
   (CO) packets: CO-reg and CO-get which are corresponding to the I-reg
   and I-get, respectively.  We have utilized the nested header format
   used in CCNx [CCNxMessages] to enable the newly defined packets.

4.1.  Interest

   I-get is an Interest packet requesting the name resolution.  It
   includes two names, MS name and a requested name as shown in
   Figure 2.  MS name is used for forwarding I-get to the correspoding
   MS.  On the other hands, the requested name is used for updating PIT.



Hong, et al.             Expires January 3, 2019                [Page 4]


Internet-Draft           CCNx extension for NRS                July 2018


   At each CR, I-get is sent to its defalut MS when FIB does not have
   information for the requested name, where each CR is aware of its
   default MS's name so it knows where to send I-get.


                           1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +---------------+---------------+---------------+---------------+
      |    Version    |  PT_INTEREST  |         PacketLength          |
      +---------------+---------------+---------------+---------------+
      |   HopLimit    |   Reserved    |     Flags     | HeaderLength  |
      +---------------+---------------+---------------+---------------+
      |    MessageType, T_NAME        |         MessageLength         |
      +---------------+---------------+---------------+---------------+
      |                       Name TLV (MS Name)                      |
      +---------------+---------------+---------------+---------------+
      |    MessageType, T_GET         |         MessageLength         |
      +---------------+---------------+---------------+---------------+
      |                     Name TLV (requested Name)                 |
      +---------------+---------------+---------------+---------------+


       Figure 2: Interest packet format for name resolution request

4.2.  Content Object


                           1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +---------------+---------------+---------------+---------------+
      |    Version    |  PT_CONTENT   |         PacketLength          |
      +---------------+---------------+---------------+---------------+
      |            Reserved           |     Flags     | HeaderLength  |
      +---------------+---------------+---------------+---------------+
      |    MessageType, T_NAME        |         MessageLength         |
      +---------------+---------------+---------------+---------------+
      |                       Name TLV (requested Name)               |
      +---------------+---------------+---------------+---------------+
      | MessageType, T_PAYLDTYPE_GET  |         MessageLength         |
      +---------------+---------------+---------------+---------------+
      |                       Name TLV (acquired Name)                |
      +---------------+---------------+---------------+---------------+


    Figure 3: Content Object packet format for name resolution request

   CO-get is a Content Object which is a respoding packet to I-get.  So,
   it is used to forward the resolved name.  As Figure 3 shows, CO-get



Hong, et al.             Expires January 3, 2019                [Page 5]


Internet-Draft           CCNx extension for NRS                July 2018


   includes two names, requested name and acquired name.  CO-get is
   forwarded by the requested name according to its PIT record toward CR
   which initiated the corresponding I-get.  replying to the name
   resolution request, I-get.

4.3.  Forwarder

   Forwarder has been modified to make the I-get and CO-get working
   properly.  Forwarder initicates I-get when there is no information
   for the requested name in FIB.  In general, Forwarder drops Interest
   when no information in FIB.  However, we made a chance to lookup for
   another name instead of dropping it right away.

   It is assuemd that each forwarder knows the name of its defalut MS.
   So, forwarder can use the MS name when it initiates I-get.  MS name
   is only used for forwading toward MS but PIT is updated by the
   requested name which is the second name included in I-get.
   Therefore, forwarder uses only the requested name in CO-get to
   forward back to where I-get is initiated.

5.  CCNx Extension for Name Management

   In order to serve the NRS lookup, the name of data object has to be
   registered in a mapping server (MS)and its binding information also
   has to be stored in a MS.  Thus, we define 4 different types of the
   registering name: reg, add, del, and dereg.

   o  I-reg/CO-reg : registration of new name

   o  I-add/CO-add : addition of the binding name (A registered name can
      have more than one binding name.)

   o  I-del/CO-del : deletion of the binding name

   o  I-dereg/CO-dereg : deregisteration of name

5.1.  Interest

   I-reg is an Interest packet to register a name and store the binding
   information in a corresponding MS.  As figure 4 shows, I-reg includes
   three names: MS name, registering name and binding name.  MS name is
   used for forwarding I-reg toward MS and registering name is used for
   updating PIT.  Similarly to I-get, I-reg is sent to its defalut MS.








Hong, et al.             Expires January 3, 2019                [Page 6]


Internet-Draft           CCNx extension for NRS                July 2018


                           1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +---------------+---------------+---------------+---------------+
      |    Version    |  PT_INTEREST  |         PacketLength          |
      +---------------+---------------+---------------+---------------+
      |   HopLimit    |   Reserved    |     Flags     | HeaderLength  |
      +---------------+---------------+---------------+---------------+
      |    MessageType, T_NAME        |         MessageLength         |
      +---------------+---------------+---------------+---------------+
      |                       Name TLV (MS Name)                      |
      +---------------+---------------+---------------+---------------+
      |    MessageType, T_REG         |         MessageLength         |
      +---------------+---------------+---------------+---------------+
      |                     Name TLV (registering Name)               |
      +---------------+---------------+---------------+---------------+
      |    MessageType, T_VALUE       |         MessageLength         |
      +---------------+---------------+---------------+---------------+
      |                     Name TLV (binging Name)                   |
      +---------------+---------------+---------------+---------------+


          Figure 4: Interest packet format for name registration

5.2.  Content Object


                           1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +---------------+---------------+---------------+---------------+
      |    Version    |  PT_CONTENT   |         PacketLength          |
      +---------------+---------------+---------------+---------------+
      |            Reserved           |     Flags     | HeaderLength  |
      +---------------+---------------+---------------+---------------+
      |    MessageType, T_NAME        |         MessageLength         |
      +---------------+---------------+---------------+---------------+
      |                     Name TLV (registering Name)               |
      +---------------+---------------+---------------+---------------+
      | MessageType, T_PAYLDTYPE_REG  |         MessageLength         |
      +---------------+---------------+---------------+---------------+
      |                        Name TLV (binding Name)                |
      +---------------+---------------+---------------+---------------+


       Figure 5: Content Object packet format for name registration

   CO-reg is a Content Object which is a respoding packet to I-reg.  As
   Figure 5 shows, CO-reg includes two names, registering name and




Hong, et al.             Expires January 3, 2019                [Page 7]


Internet-Draft           CCNx extension for NRS                July 2018


   binding name.  CO-reg is forwarded by the registering name according
   to its PIT record toward CR which initiated the corresponding I-reg.

5.3.  Forwarder

   Forwarder has been modified to make the I-reg and CO-reg working
   properly.  When new name is registered to MS, forwarder initiates and
   sends I-reg toward its default MS.  MS name is only used for
   forwading I-reg but PIT is updated by the registering name which is
   the second name included in I-reg.  Therefore, forwarder uses only
   the registering name in CO-reg to forward back to where I-reg is
   initiated.

6.  IANA Considerations

   There are no IANA considerations related to this document.

7.  Security Considerations

   [TBD]

8.  Acknowledgements

   [TBD]

9.  References

9.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC7927]  Kutscher, D., Ed., Eum, S., Pentikousis, K., Psaras, I.,
              Corujo, D., Saucez, D., Schmidt, T., and M. Waehlisch,
              "Information-Centric Networking (ICN) Research
              Challenges", RFC 7927, DOI 10.17487/RFC7927, July 2016,
              <https://www.rfc-editor.org/info/rfc7927>.

9.2.  Informative References

   [NDN]      "NSF Named Data Networking project.",
              http://www.named-data.net .

   [CCN]      "Content Centric Networking project.",
              https://wiki.fd.io/view/Cicn .




Hong, et al.             Expires January 3, 2019                [Page 8]


Internet-Draft           CCNx extension for NRS                July 2018


   [Afanasyev]
              Afanasyev, A. et al., "SNAMP: Secure Namespace Mapping to
              Scale NDN Forwarding", IEEE Global Internet Symposium ,
              April 2015.

   [CCNxSemantics]
              Mosko, M., Solis, I., and C. Wood, "CCNx Semantics",
              draft-irtf-icnrg-ccnxsemantics-06 , October 2017.

   [CCNxMessages]
              Mosko, M., Solis, I., and C. Wood, "CCNx Messages in TLV
              Format", draft-irtf-icnrg-ccnxmessages-06 , October 2017.

Authors' Addresses

   Jungha Hong
   ETRI
   218 Gajeong-ro, Yuseung-Gu
   Daejeon  34129
   Korea

   Phone: +82 42 860 0926
   Email: jhong@etri.re.kr


   Tae-Wan You
   ETRI
   218 Gajeong-ro, Yuseung-Gu
   Daejeon  34129
   Korea

   Phone: +82 42 860 0642
   Email: twyou@etri.re.kr


   Yong-Geun Hong
   ETRI
   218 Gajeong-ro, Yuseung-Gu
   Daejeon  34129
   Korea

   Phone: +82 42 860 6557
   Email: yghong@etri.re.kr








Hong, et al.             Expires January 3, 2019                [Page 9]