ICN Research Group | J. Hong |
Internet-Draft | T. You |
Intended status: Informational | Y-G. Hong |
Expires: September 6, 2018 | ETRI |
March 5, 2018 |
CCNx Extension for Name Resolution Service
draft-hong-icnrg-ccnx-nrs-01
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.
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 September 6, 2018.
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.
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-based CCNx messages for NRS and modification of CCNx forwarder where the messages for NRS are working.
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:
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.
+-----+ | MS | +-----+ | | +----------+ +-----+ +-----+ +-----+ | Consumer |---| CR1 |---| CR2 |---| RS1 | +----------+ +-----+ +-----+ +-----+ \ \ +-----+ +-----+ | CR3 |---| RS2 | +-----+ +-----+
Figure 1: Replica server scenario
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.
I-get is an Interest packet requesting the name resolution. It has the name of MS first where it needs to be sent.
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
[TBD]
CO-get is a Content Object packet replying to the name resolution request, 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_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
[TBD]
Forwarder has been modified to make the I-get and CO-get working properly. PIT is updated by the resolution requesting name.
[TBD]
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.
[TBD]
I-reg is an Interest packet registering the name and storing the binding information in a corresponding MS.
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
[TBD]
CO-reg is a Content Object packet replying to the name registraion, I-reg.
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
[TBD]
[TBD]
There are no IANA considerations related to this document.
[TBD]
[TBD]
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC7927] | Kutscher, D., 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. |
[NDN] | , "NSF Named Data Networking project.", http://www.named-data.net |
[CCN] | , "Content Centric Networking project.", https://wiki.fd.io/view/Cicn |
[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. |