Internet DRAFT - draft-hong-icnrg-ccnx-nrs
draft-hong-icnrg-ccnx-nrs
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]