< draft-irtf-icnrg-nrs-requirements-01.txt   draft-irtf-icnrg-nrs-requirements-02.txt >
ICN Research Group J. Hong ICN Research Group J. Hong
Internet-Draft T. You Internet-Draft T. You
Intended status: Informational Y-G. Hong Intended status: Informational Y-G. Hong
Expires: September 12, 2019 ETRI Expires: January 9, 2020 ETRI
L. Dong L. Dong
C. Westphal C. Westphal
Huawei Huawei
V. Kafle
NICT
B. Ohlman B. Ohlman
Ericsson Ericsson
March 11, 2019 July 08, 2019
Requirements for Name Resolution Service in ICN Design Guidelines for Name Resolution Service in ICN
draft-irtf-icnrg-nrs-requirements-01 draft-irtf-icnrg-nrs-requirements-02
Abstract Abstract
This document discusses the motivation and requirements for Name This document discusses the motivation and design guidelines for Name
Resolution Service (NRS) in ICN. The NRS in ICN is to translate an Resolution Service (NRS) in ICN. The NRS in ICN is to translate an
object name into some other information such as a locator and another object name into some other information such as a locator and another
name which is used for forwarding the object request towards the name which is used for forwarding the object request.
object location.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 12, 2019. This Internet-Draft will expire on January 9, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions and Terminology . . . . . . . . . . . . . . . . . 4 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 3
3. Name Resolution Service in ICN . . . . . . . . . . . . . . . 4 3. Name Resolution Service in ICN . . . . . . . . . . . . . . . 4
4. Objectives of NRS in ICN . . . . . . . . . . . . . . . . . . 5 3.1. Explicit name resolution approach . . . . . . . . . . . . 4
4.1. To support heterogeneous types of names . . . . . . . . . 5 3.2. Name-based routing approach . . . . . . . . . . . . . . . 4
4.2. To support dynamic features . . . . . . . . . . . . . . . 5 3.3. Hybrid approach . . . . . . . . . . . . . . . . . . . . . 4
4.3. To support efficient routing . . . . . . . . . . . . . . 6 3.4. Comparisons of name resolution approaches . . . . . . . . 5
4.4. Use cases of NRS . . . . . . . . . . . . . . . . . . . . 6 4. Functionalities of NRS in ICN . . . . . . . . . . . . . . . . 6
4.4.1. To support flat name based routing . . . . . . . . . 6 4.1. Support heterogeneous name types . . . . . . . . . . . . 6
4.4.2. To support producer mobility . . . . . . . . . . . . 7 4.2. Support producer mobility . . . . . . . . . . . . . . . . 7
4.4.3. To support scalable routing system . . . . . . . . . 7 4.3. Support scalable routing system . . . . . . . . . . . . . 9
4.4.4. To support off-path caching . . . . . . . . . . . . . 8 4.4. Support off-path caching . . . . . . . . . . . . . . . . 9
4.4.5. To support nameless object . . . . . . . . . . . . . 8 4.5. Support nameless object . . . . . . . . . . . . . . . . . 10
4.4.6. To support manifest . . . . . . . . . . . . . . . . . 9 4.6. Support manifest . . . . . . . . . . . . . . . . . . . . 10
5. Requirements for NRS in ICN . . . . . . . . . . . . . . . . . 9 4.7. Support metadata . . . . . . . . . . . . . . . . . . . . 10
5.1. Requirements as a service . . . . . . . . . . . . . . . . 9 5. Design guidelines for NRS in ICN . . . . . . . . . . . . . . 11
5.1.1. Resolution response time . . . . . . . . . . . . . . 9 5.1. Resolution response time . . . . . . . . . . . . . . . . 11
5.1.2. Response accuracy . . . . . . . . . . . . . . . . . . 10 5.2. Response accuracy . . . . . . . . . . . . . . . . . . . . 11
5.1.3. Resolution guarantee . . . . . . . . . . . . . . . . 10 5.3. Resolution guarantee . . . . . . . . . . . . . . . . . . 12
5.1.4. Resolution fairness . . . . . . . . . . . . . . . . . 10 5.4. Resolution fairness . . . . . . . . . . . . . . . . . . . 12
5.2. Requirements as a system . . . . . . . . . . . . . . . . 10 5.5. Scalability . . . . . . . . . . . . . . . . . . . . . . . 12
5.2.1. Scalability . . . . . . . . . . . . . . . . . . . . . 11 5.6. Manageability . . . . . . . . . . . . . . . . . . . . . . 12
5.2.2. Manageability . . . . . . . . . . . . . . . . . . . . 11 5.7. Deployed system . . . . . . . . . . . . . . . . . . . . . 13
5.2.3. Deployed system . . . . . . . . . . . . . . . . . . . 11 5.8. Fault tolerance . . . . . . . . . . . . . . . . . . . . . 13
5.2.4. Fault tolerance . . . . . . . . . . . . . . . . . . . 12
5.3. Requirements on Security aspect . . . . . . . . . . . . . 12
5.3.1. Accessibility . . . . . . . . . . . . . . . . . . . . 12
5.3.2. Authentication . . . . . . . . . . . . . . . . . . . 12
5.3.3. Data confidentiality . . . . . . . . . . . . . . . . 13
5.3.4. Privacy protection . . . . . . . . . . . . . . . . . 13
5.3.5. Robustness/resiliency . . . . . . . . . . . . . . . . 13
5.3.6. Network privacy . . . . . . . . . . . . . . . . . . . 13
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
7. Security Considerations . . . . . . . . . . . . . . . . . . . 13 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 7.1. Accessibility . . . . . . . . . . . . . . . . . . . . . . 13
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 7.2. Authentication . . . . . . . . . . . . . . . . . . . . . 14
9.1. Normative References . . . . . . . . . . . . . . . . . . 14 7.3. Data confidentiality . . . . . . . . . . . . . . . . . . 14
9.2. Informative References . . . . . . . . . . . . . . . . . 14 7.4. Privacy protection . . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 7.5. Robustness/resiliency . . . . . . . . . . . . . . . . . . 14
7.6. Network privacy . . . . . . . . . . . . . . . . . . . . . 14
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 15
9.1. Normative References . . . . . . . . . . . . . . . . . . 15
9.2. Informative References . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction 1. Introduction
The current Internet is a host-centric networking, where hosts are The current Internet is a host-centric networking, where hosts are
uniquely identified with IP addresses and communication is possible uniquely identified with IP addresses and communication is possible
between any pair of hosts. Thus, information in the current Internet between any pair of hosts. Thus, information in the current Internet
is identified by the name of host where the information is stored. is identified by the name of host where the information is stored.
In contrast to the host-centric networking, the primary communication In contrast to the host-centric networking, the primary communication
objects in Information-centric networking (ICN) are the named data objects in Information-centric networking (ICN) are the named data
objects (NDOs) and they are uniquely identified by the location- objects (NDOs) and they are uniquely identified by the location-
skipping to change at page 3, line 44 skipping to change at page 3, line 41
o Content discovery : routes the content request towards the o Content discovery : routes the content request towards the
content's location either based on its name or locator. content's location either based on its name or locator.
o Content delivery : transfers the content to the requester. o Content delivery : transfers the content to the requester.
Among these three steps of ICN routing, this document focuses only on Among these three steps of ICN routing, this document focuses only on
the name resolution step which translates a content name to the the name resolution step which translates a content name to the
content locators. In addition, this document covers various possible content locators. In addition, this document covers various possible
types of name resolution in ICN such as one name to another name, types of name resolution in ICN such as one name to another name,
name to manifest, and name to locator. name to manifest, name to locator, name to metadata, etc.
This document first presents the components of the Name Resolution Thus, this document presents the overview of the Name Resolution
Service (NRS) in ICN and then discusses the objectives of NRS and the Service (NRS) approaches in ICN and discusses the functionalities and
requirements in designing the NRS for ICN. the guidelines in designing the NRS for ICN.
2. Conventions and Terminology 2. Conventions and Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
3. Name Resolution Service in ICN 3. Name Resolution Service in ICN
The Name Resolution Service (NRS) in ICN is defined as the service The Name Resolution Service (NRS) in ICN is defined as the service
that provides the name resolution function for translating an object that provides the name resolution function for translating an object
name into some other information such as a locator and another name name into some other information such as a locator, another name,
that is used for forwarding the object request. In other words, the metadataetc. that is used for forwarding the object request. In
NRS is the service that shall be provided by ICN infrastructure to other words, the NRS is the service that shall be provided by ICN
help a consumer to reach a specific piece of content, service, or infrastructure to help a consumer to reach a specific piece of
host using a persistent name when the name resolution is needed. content, service, or host. The consumer provides the NRS with a
persistent name and the NRS returns a name or locator that represents
a current instance of the requested object.
There are two main NRS components: The name resolution is a necessary process in ICN routing although
the name resolution either can be separated from the content
discovery as an explicit process or can be integrated with the
content discovery as an implicit process. The former is referred as
explicit name resolution approach, the latter is referred as name-
based routing approach in this document.
o NRS server: The NRS is a service maintained by a distributed 3.1. Explicit name resolution approach
mapping database system. The NRS consists of the distributed NRS
servers storing the mapping records in database. NRS servers
store and maintain the mapping records that keep the bindings of
name to other information that is used for forwarding content
request.
o NRS resolver: The client side of the NRS is called an NRS The NRS could take the explicit name resolution approach to return
resolver. The resolver is responsible for initiating and the client with the locators of the content, which will be used by
sequencing the name resolution request queries that ultimately the underlying network as the identifier to route the client's
lead to a name resolution of the data objects. NRS resolvers can request to one of the producers. There are several ICN projects that
be located in the consumer (or client) nodes and ICN routers. NRS use the explicit name resolution approach such as DONA[Koponen],
resolver can also store the mapping records obtained through the PURSUIT [PURSUIT], NetInf [SAIL], MobilityFirst [MF], IDNet [Jung],
name for later usage. etc.
There are two main NRS processes: 3.2. Name-based routing approach
o Name registration: In order to create the NRS, the content names The NRS could take the name-based routing approach, which integrates
and their mapping records must be registered in NRS system by a the name resolution with the content request message routing as in
publisher who has at least one authoritative NRS server or by a NDN [NDN]/CCN [CCN].
producer who generates named data objects. The mapping
information is the binding of a name to some information such as
another names and locators, which are used for forwarding the
content request. Thus, a publisher or producer creates an NRS
registration request and send to an NRS server. On registration,
the NRS server stores the mapping record in the database and sends
back an ACK as a response back to the producer or publisher.
o Name resolution: Name resolution is the main process of the NRS. In the case that the content request also specifies the reverse path,
It is performed by an NRS resolver which can be deployed on a as in NDN/CCN, the name resolution mechanism also determines the
consumer node or an ICN router. When the required name mapping routing path for the data. This adds a requirement on the name
record has not been stored in the cache of a NRS resolver, it resolution service to propagate request in a way that is consistent
sends a name resolution request toward the NRS server. The NRS with the subsequent data forwarding. Namely, the request must select
server searches the content name in its mapping record database, a path for the data based upon the finding the copy of the content,
retrieves and sends the mapping record in the name resolution but also properly delivering the data.
response message to the NRS resolver.
4. Objectives of NRS in ICN 3.3. Hybrid approach
This section presents the objectives and use cases of NRS in ICN. The NRS could also take hybrid approach which can perform the name-
based routing approach from the beginning. When it fails at certain
router, the router can go back to the explicit name resolution
approach. The alternative hybrid NRS approach also works, which can
perform explicit name resolution approach from the beginning to find
locators of routers. And then it can carry out the name-based
routing approach of the client's request.
4.1. To support heterogeneous types of names A hybrid approach would combine name resolution as a subset of
routers on the path with some tunneling in between (say, across an
administrative domain) so that only a few of the nodes in the
architecture perform name resolution in the name-based routing
approach.
3.4. Comparisons of name resolution approaches
The following compares the explicit name resolution and the name-
based routing approaches from different aspects:
o Update message overhead : The update message overhead is due to
the change of content reachability, which may include content
caching or expiration, content producer mobility etc. The name-
based routing approach may require flooding parts of the network
for update propagation. In the worst case, the name-based routing
approach may flood the whole network (but mitigating techniques
may be used to scope the flooding). However, the explicit name
resolution approach only requires updating propagation in part of
the name resolution overlay.
o Resolution capability : The explicit name resolution approach can
guarantee the resolution of any content name in the network if it
is registered to the name resolution overlay. In the name-based
routing approach, content resolution depends on the flooding scope
of the content names (i.e. content publishing message and the
resulting name based routing tables). For example, when a content
is cached, the router may only notify this information to its
direct neighbors. Thus only those neighboring routers can build a
named based entry for this cached content. But if the neighboring
routers continue to propagate this information, the other nodes
are able to direct to this cached copy as well.
o Node failure impact : Nodes involved in the explicit name
resolution approach are the name resolution overlay servers (e.g.
Resolution Handlers in DONA), while the nodes involved in the
name-based routing approach are routers which route messages based
on locally maintained name-based routing tables (e.g. NDN
routers). Node failures in the explicit name resolution approach
may cause some content discovery to fail even though the content
is available. This problem does not exist in the name-based
routing approach because other alternative paths can be discovered
to bypass the failed ICN routers, given the assumption that the
network is still connected.
o Maintained databases : The storage usage for the explicit name
resolution approach is different from that of the name-based
routing approach. The explicit name resolution approach typically
needs to maintain two databases: name to locator mapping in the
name resolution overlay and routing tables in the routers on the
data forwarding plane. The name-based routing approach needs to
maintain different databases: name routing table and optionally
breadcrumbs for reverse routing of content back to the requester.
Additionally, some other intermediary step may be included in the
name resolution, namely the mapping of one name to other names, in
order to facilitate the retrieval of named content, by way of a
manifest [Westphal] [Mosko]. The manifest is resolved using one of
the two above approaches, and it may include further mapping of names
to content and location. The steps for name resolution then become:
first translate the manifest name into a location of a copy of the
manifest; the manifest includes further names of the content
components, and potentially locations for the content. The content
is then retrieved by using these names and/or location, potentially
resulting in additional name resolutions.
Thus, no matter which approach is taken by the NRS in ICN, the name
resolution is the essential function that shall be provided by the
ICN infrastructure.
4. Functionalities of NRS in ICN
This section presents the functionalities of NRS in ICN.
4.1. Support heterogeneous name types
In ICN, a name is used to identify data object and is bound to it In ICN, a name is used to identify data object and is bound to it
[RFC7927]. ICN requires uniqueness and persistency of the name of [RFC7927]. ICN requires uniqueness and persistency of the name of
data object to ensure the reachability of the object within a certain data object to ensure the reachability of the object within a certain
scope and with proper authentication and trust management. There are scope and with proper authentication and trust management. There are
heterogeneous approaches to designing ICN naming schemes [Bari]. heterogeneous approaches to designing ICN naming schemes [Bari].
Ideally, a name can include any form of identifier, which can be Ideally, a name can include any form of identifier, which can be
flat, hierarchical, and human readable or non-readable. flat, hierarchical, and human readable or non-readable.
Although there are diverse types of naming schemes proposed in Although there are diverse types of naming schemes proposed in
literature, they all need to provide basic functions for identifying literature, they all need to provide basic functions for identifying
data object, supporting trust provenance, named data lookup and data object, supporting trust provenance, named data lookup and
routing. The NRS may combine the good aspects of different schemes. routing. The NRS may combine the good aspects of different schemes.
Basically, the NRS should be able to support a generic naming schema Basically, the NRS should be able to support a generic naming schema
so that it can resolve any type of content name, irrespective of so that it can resolve any type of content name, irrespective of
whether it is flat or hierarchical. whether it is flat or hierarchical.
4.2. To support dynamic features In PURSUIT [PURSUIT], names are flat and the rendezvous functions are
defined for NRS, which is implemented by a set of Rendezvous Nodes
(RNs), the Rendezvous Network (RENE). Thus a name consisted of a
sequence of scope IDs and a single rendezvous ID is routed by RNs in
RENE. Thus, PURSUIT decouples name resolution and data routing,
where NRS is performed by the RENE.
In MobilityFirst [MF], a name called a global unique Identifier
(GUID) derived from a human-readable name via a global naming service
is flat typed 160-bits strings with self-certifying function. Thus,
MobilityFirst defines a global name resolution service (GNRS) which
resolves GUIDs to network addresses and decouples name resolution and
data routing as similar to PURSUIT.
In NetInf [Dannewitz], information objects are named using ni-naming
[RFC6920], which consist of an authority part and digest part
(content hash). The ni names can be flat as the authority part is
optional. Thus, the NetInf architecture also includes a Name
Resolution System (NRS) which can be used to resolve ni-names to
addresses in an underlying routable network layer.
In NDN [NDN] and CCN [CCN], names are hierarchical and may be similar
to URLs. Each name component can be anything, including a dotted
human-readable string or a hash value. NDN/CCN adopts the name based
routing approach. The NDN router forwards the request by doing the
longest-match lookup in the Forwarding Information Base (FIB) based
on the content name and the request is stored in the Pending Interest
Table (PIT).
4.2. Support producer mobility
ICN natively supports mobility management. Especially, consumer or ICN natively supports mobility management. Especially, consumer or
client mobility is handled by requesting the content again in case client mobility is handled by requesting the content again in case
the mobility or handover occurred before receiving the corresponding the mobility or handover occurred before receiving the corresponding
content from the network. Since ICN can ensure that content content from the network. Since ICN can ensure that content
reception continues without any disruption in ICN application, reception continues without any disruption in ICN application,
seamless mobility in consumer point of view can be easily supported. seamless mobility in consumer point of view can be easily supported.
However, producer or publisher mobility in ICN is complicated to However, producer or publisher mobility in ICN is complicated to
support. If a producer moves into a different authority domain or support. If a producer moves into a different authority domain or
network location, it would be difficult for the mobility management network location, it would be difficult for the mobility management
update RIB and FIB entries in ICN routers with the new forwarding update RIB and FIB entries in ICN routers with the new forwarding
path in a very short time. Therefore, various ICN architectures in path in a very short time. Therefore, various ICN architectures in
literatures have proposed to adopt NRS to achieve the producer or literatures have proposed to adopt NRS to achieve the producer or
publisher mobility, where NRS can be implemented in different ways publisher mobility, where NRS can be implemented in different ways
such as at rendezvous points and overlay mapping systems. such as at rendezvous points and overlay mapping systems.
Besides the consumer and producer mobility, ICN also has to face
challenges to support the other dynamic features such as multi-
homing, migration, and replication of named resources such as
content, devices, and services. Therefore, NRS can help to support
these dynamic features.
4.3. To support efficient routing
In ICN, name of data objects is used for routing by either name
resolution step or routing table lookup. Thus, routing information
for each data object should be maintained in routing base, such as
Routing Information Base (RIB) and Forwarding Information Base (FIB).
Since the number of data objects would be very large, the size of
information bases would be significantly large as well [RFC7927].
The hierarchical namespace used in CCN [CCN] and NDN [NDN]
architectures reduces the size of these tables through name
aggregation and improves scalability of routing system. In a flat
naming scheme, on the other hand, it would aggravate the scalability
problem in routing system. The non-aggregated name prefixes injected
to the Default Route Free Zone (DFZ) of ICN would create more serious
scalability problem similar to the scalability issue of IP routing
system. Thus, NRS may play an important role in the reduction of the
routing scalability problem regardless of the types of namespaces.
4.4. Use cases of NRS
This subsection describes more specific use cases of NRS reported in
ICN literature.
4.4.1. To support flat name based routing
In PURSUIT [PURSUIT], names are flat and the rendezvous functions are
defined for NRS, which is implemented by a set of Rendezvous Nodes
(RNs), the Rendezvous Network (RENE). Thus a name consisted of a
sequence of scope IDs and a single rendezvous ID is routed by RNs in
RENE. Thus, PURSUIT decouples name resolution and data routing,
where NRS is performed by the RENE.
In MobilityFirst [MF], a name called a global unique Identifier
(GUID) derived from a human-readable name via a global naming service
is flat typed 160-bits strings with self-certifying function. Thus,
MobilityFirst defines a global name resolution service (GNRS) which
resolves GUIDs to network addresses and decouples name resolution and
data routing as similar to PURSUIT.
In NetInf [Dannewitz], named information (ni) naming consist of an
authority part and digest part (content hash). The ni names can be
flat as the authority part is optional. Thus, the architecture also
includes a Name Resolution System (NRS) which can be used to resolve
ni names to addresses in an underlying routable network layer.
4.4.2. To support producer mobility
In NDN [Zhang2], for producer mobility support, rendezvous mechanisms In NDN [Zhang2], for producer mobility support, rendezvous mechanisms
have been proposed to build interests rendezvous (RV) with data have been proposed to build interests rendezvous (RV) with data
generated by a mobile producer (MP). There can be classified two generated by a mobile producer (MP). There can be classified two
approaches such as chase mobile producer and rendezvous data. approaches such as chase mobile producer and rendezvous data.
Regarding MP chasing, rendezvous acts as a mapping service that Regarding MP chasing, rendezvous acts as a mapping service that
provides the mapping from the name of the data produced by the MP to provides the mapping from the name of the data produced by the MP to
the MP's current point of attachment (PoA) name. Alternatively, the the MP's current point of attachment (PoA) name. Alternatively, the
RV serves as a home agent like as IP mobility support, so the RV RV serves as a home agent like as IP mobility support, so the RV
enables consumer's interest message to tunnel towards the MP at the enables consumer's interest message to tunnel towards the MP at the
PoA. Regarding rendezvous data, moving the data produced by the MP PoA. Regarding rendezvous data, moving the data produced by the MP
skipping to change at page 7, line 43 skipping to change at page 8, line 40
messages through mapping service between IDs and LIDs. Therefore, messages through mapping service between IDs and LIDs. Therefore,
the mapping service in control plane infrastructure can be considered the mapping service in control plane infrastructure can be considered
as NRS in this draft. as NRS in this draft.
In MobilityFirst [MF], both consumer and publisher mobility can be In MobilityFirst [MF], both consumer and publisher mobility can be
primarily handled by the global name resolution service (GNRS) which primarily handled by the global name resolution service (GNRS) which
resolves GUIDs to network addresses. Thus, the GNRS must be updated resolves GUIDs to network addresses. Thus, the GNRS must be updated
for mobility support when a network attached object changes its point for mobility support when a network attached object changes its point
of attachment, which differs from NDN/CCN. of attachment, which differs from NDN/CCN.
4.4.3. To support scalable routing system In NetInf [Dannewitz], mobility is handled by the NRS in a very
similar way as done in MobilityFirst.
Besides the consumer and producer mobility, ICN also has to face
challenges to support the other dynamic features such as multi-
homing, migration, and replication of named resources such as
content, devices, and services. Therefore, NRS can help to support
these dynamic features.
4.3. Support scalable routing system
In ICN, name of data objects is used for routing by either name
resolution step or routing table lookup. Thus, routing information
for each data object should be maintained in routing base, such as
Routing Information Base (RIB) and Forwarding Information Base (FIB).
Since the number of data objects would be very large, the size of
information bases would be significantly large as well [RFC7927].
The hierarchical namespace used in CCN [CCN] and NDN [NDN]
architectures reduces the size of these tables through name
aggregation and improves scalability of routing system. In a flat
naming scheme, on the other hand, it would aggravate the scalability
problem in routing system. The non-aggregated name prefixes injected
to the Default Route Free Zone (DFZ) of ICN would create more serious
scalability problem similar to the scalability issue of IP routing
system. Thus, NRS may play an important role in the reduction of the
routing scalability problem regardless of the types of namespaces.
In [Afanasyev], in order to address the routing scalability problem In [Afanasyev], in order to address the routing scalability problem
in NDN's DFZ, a well-known concept of Map-and-Encap is applied to in NDN's DFZ, a well-known concept of Map-and-Encap is applied to
provide a simple and secure namespace mapping solution. In the provide a simple and secure namespace mapping solution. In the
proposed map-and-encap design, data whose name prefixes do not exist proposed map-and-encap design, data whose name prefixes do not exist
in the DFZ forwarding table can be retrieved by a distributed mapping in the DFZ forwarding table can be retrieved by a distributed mapping
system called NDNS, which maintains and lookups the mapping system called NDNS, which maintains and lookups the mapping
information from a name to its globally routed prefixes, where NDNS information from a name to its globally routed prefixes, where NDNS
is a kind of NRS. is a kind of NRS.
4.4.4. To support off-path caching 4.4. Support off-path caching
Caching in-network is considered to be a basic architectural Caching in-network is considered to be a basic architectural
component of an ICN architecture. It may be used to provide a component of an ICN architecture. It may be used to provide a
Quality-of-Service (QoS) experience to users, reduce the overall Quality-of-Service (QoS) experience to users, reduce the overall
network traffic, prevent network congestion and Denial-of-Service network traffic, prevent network congestion and Denial-of-Service
(DoS) attacks and increase availability. Caching approaches can be (DoS) attacks and increase availability. Caching approaches can be
categorized into off-path caching and on-path caching based on the categorized into off-path caching and on-path caching based on the
location of caches in relation to the forwarding path from a original location of caches in relation to the forwarding path from a original
server to a consumer. Off-path caching, also referred as content server to a consumer. Off-path caching, also referred as content
replication or content storing, aims to replicate content within a replication or content storing, aims to replicate content within a
network in order to increase availability, regardless of the network in order to increase availability, regardless of the
relationship of the location to the forwarding path. Thus, finding relationship of the location to the forwarding path. Thus, finding
off-path cached objects is not trivial in name based routing of ICN. off-path cached objects is not trivial in name based routing of ICN.
In order to support off-path caches, replicas are usually advertised In order to support off-path caches, replicas are usually advertised
into a name- based routing system or into NRS. into a name-based routing system or into NRS.
In [Bayhan], a NRS used to find off-path copies in the network, which In [Bayhan], a NRS used to find off-path copies in the network, which
may not be accessible via content discovery mechanisms. Such may not be accessible via content discovery mechanisms. Such
capability is essential for an Autonomous System (AS) to avoid the capability is essential for an Autonomous System (AS) to avoid the
costly inter-AS traffic for external content, to yield higher costly inter-AS traffic for external content, to yield higher
bandwidth efficiency for intra-AS traffic, and to decrease the data bandwidth efficiency for intra-AS traffic, and to decrease the data
access latency for a pleasant user experience. access latency for a pleasant user experience.
4.4.5. To support nameless object 4.5. Support nameless object
In CCNx 1.0 [Mosko2], the concept of "Nameless Objects" that are a In CCNx 1.0 [Mosko2], the concept of "Nameless Objects" that are a
Content Object without a Name is introduced to provide a means to Content Object without a Name is introduced to provide a means to
move Content between storage replicas without having to rename or re- move Content between storage replicas without having to rename or re-
sign the content objects for the new name. Nameless Objects can be sign the content objects for the new name. Nameless Objects can be
addressed by the ContentObjectHash that is to restrict Content Object addressed by the ContentObjectHash that is to restrict Content Object
matching by using SHA-256 hash. matching by using SHA-256 hash.
An Interest message would still carry a Name and a ContentObjectHash, An Interest message would still carry a Name and a ContentObjectHash,
where a Name is used for routing, while a ContentObjectHash is used where a Name is used for routing, while a ContentObjectHash is used
for matching. However, on the reverse path, if the Content Object's for matching. However, on the reverse path, if the Content Object's
name is missing, it is a "Nameless Object" and only matches against name is missing, it is a "Nameless Object" and only matches against
the ContentObjectHash. Therefore, a consumer needs to resolve proper the ContentObjectHash. Therefore, a consumer needs to resolve proper
name and hashes through an outside system, which can be considered as name and hashes through an outside system, which can be considered as
NRS. NRS.
4.4.6. To support manifest 4.6. Support manifest
In collection of data objects which were organized as large and file In collection of data objects which were organized as large and file
like contents [FLIC], the manifests are used as data structures to like contents [FLIC], the manifests are used as data structures to
transport this information. Thus, the manifests may contain hash transport this information. Thus, the manifests may contain hash
digests of signed content objects or other manifests, so that large digests of signed content objects or other manifests, so that large
content objects which represent large piece of application data can content objects which represent large piece of application data can
be collected by using the manifest. be collected by using the manifest.
In order to request content objects, a consumer needs to know a In order to request content objects, a consumer needs to know a
manifest root name to acquire the manifest. In case of FLIC, a manifest root name to acquire the manifest. In case of FLIC, a
manifest name can be represented by a nameless root manifest, so that manifest name can be represented by a nameless root manifest, so that
outside system may be involved to give this information to the outside system may be involved to give this information to the
consumer. Therefore, NRS can be considered as a kind of mapping consumer. Therefore, NRS can be considered as a kind of mapping
database system. database system.
5. Requirements for NRS in ICN 4.7. Support metadata
This section presents the requirements for designing NRS in ICN in When resolving the name of a content object the NRS in addition to
terms of service, system and security aspects. returning a locator could return a rich set of metadata. The
metadata could include alternative object locations, supported object
transfer protocol(s), caching policy, security parameters, data
format, hash of object data, etc. The consumer could use this
metadata for selection of object transfer protocol, security
mechanism, egress interface, etc. An example of how metadata can be
used in this way is provided by the NEO ICN architecture [NEO].
5.1. Requirements as a service 5. Design guidelines for NRS in ICN
Resolution response time, resolution accuracy, resolution guarantee, This section presents the guidelines for designing NRS in ICN.
and resolution fairness are the requirements for NRS as a service,
which are described below.
5.1.1. Resolution response time 5.1. Resolution response time
The name resolution process should provide a response within a The name resolution process should provide a response within a
reasonable amount of time. The response should be either a proper reasonable amount of time. The response should be either a proper
mapping of the name to a copy of the content, or an error message mapping of the name to a copy of the content, or an error message
stating that no such file exists. If the name resolution does not stating that no such file exists. If the name resolution does not
map to a location, the system may not issue any response, and the map to a location, the system may not issue any response, and the
client should set a timer when sending a request, so as to consider client should set a timer when sending a request, so as to consider
the resolution incomplete when the timer expires. the resolution incomplete when the timer expires.
The acceptable response delay should be of the order of a round trip The acceptable response delay should be of the order of a round trip
skipping to change at page 10, line 9 skipping to change at page 11, line 33
be used. be used.
The response time should be within the same order of magnitude for The response time should be within the same order of magnitude for
most pairs of a client issuing a request, and the NRS server most pairs of a client issuing a request, and the NRS server
responding to this request. responding to this request.
The response time should include all the steps of the resolution, The response time should include all the steps of the resolution,
including potentially a hop-by-hop resolution or a hierarchical including potentially a hop-by-hop resolution or a hierarchical
forwarding of the resolution request. forwarding of the resolution request.
5.1.2. Response accuracy 5.2. Response accuracy
The NRS must provide an accurate response, namely a proper binding of The NRS must provide an accurate response, namely a proper binding of
the requested name (or prefix) with a location. The response can be the requested name (or prefix) with a location. The response can be
either a (prefix, location) pair, or the actual forwarding of a either a (prefix, location) pair, or the actual forwarding of a
request to a node holding the content, which is then transmitted in request to a node holding the content, which is then transmitted in
return. return.
The NRS must provide an up-to-date response, namely the NRS should be The NRS must provide an up-to-date response, namely the NRS should be
updated within a reasonable time when new copies of the content are updated within a reasonable time when new copies of the content are
being stored in the network. While every transient cache addition/ being stored in the network. While every transient cache addition/
skipping to change at page 10, line 32 skipping to change at page 12, line 8
The NRS must provide mechanisms to update the mapping of the content The NRS must provide mechanisms to update the mapping of the content
with its location. Namely, the NRS must provide a mechanism for a with its location. Namely, the NRS must provide a mechanism for a
content owner to add new content, revoke old/dated/obsolete content, content owner to add new content, revoke old/dated/obsolete content,
and modify existing content. Any content update should then be and modify existing content. Any content update should then be
propagated through the NRS system within reasonable delay. propagated through the NRS system within reasonable delay.
Content that is highly mobile may require to specify some type of Content that is highly mobile may require to specify some type of
anchor that is kept at the NRS, instead of the content location. anchor that is kept at the NRS, instead of the content location.
5.1.3. Resolution guarantee 5.3. Resolution guarantee
The NRS must ensure that the name resolution would be successful if The NRS must ensure that the name resolution would be successful if
the name matching content exists in the network, regardless of its the name matching content exists in the network, regardless of its
popularity and number of cached copies existing in the network. popularity and number of cached copies existing in the network.
5.1.4. Resolution fairness 5.4. Resolution fairness
The NRS should provide this service for all content in a fair manner, The NRS should provide this service for all content in a fair manner,
independently of the specific content properties (content producer, independently of the specific content properties (content producer,
content popularity, availability of copies, content format, etc.) content popularity, availability of copies, content format, etc.)
5.2. Requirements as a system 5.5. Scalability
Scalability, manageability, deployability, and fault tolerant are the
requirements for NRS as a system, which are described below.
5.2.1. Scalability
The NRS system must scale up to support a very large user population The NRS system must scale up to support a very large user population
(including human users as well as machine-to-machine communications). (including human users as well as machine-to-machine communications).
The system must be able to respond to a very large number of requests The system must be able to respond to a very large number of requests
per unit of time. Message forwarding and processing, routing table per unit of time. Message forwarding and processing, routing table
building-up and name records propagation must be efficient and building-up and name records propagation must be efficient and
scalable. scalable.
The NRS system must scale up with the number of pieces of content The NRS system must scale up with the number of pieces of content
(content names) and should be able to support a content catalog that (content names) and should be able to support a content catalog that
skipping to change at page 11, line 33 skipping to change at page 12, line 48
The NRS system should support access from a heterogeneity of The NRS system should support access from a heterogeneity of
connection methods and devices. In particular, the NRS system should connection methods and devices. In particular, the NRS system should
support access from constrained devices and interactions with the NRS support access from constrained devices and interactions with the NRS
system should not be too costly. An IoT node for instance should be system should not be too costly. An IoT node for instance should be
able to access the NRS system as well as a more powerful node. able to access the NRS system as well as a more powerful node.
The NRS system should scale up in its responsiveness to the increased The NRS system should scale up in its responsiveness to the increased
request rate that is expected from applications such as IoT or M2M, request rate that is expected from applications such as IoT or M2M,
where data is being frequently generated and/or frequently requested. where data is being frequently generated and/or frequently requested.
5.2.2. Manageability 5.6. Manageability
The NRS system must be manageable since some parts of the system may The NRS system must be manageable since some parts of the system may
grow or shrink dynamically and an NRS system node may be added or grow or shrink dynamically and an NRS system node may be added or
deleted frequently. deleted frequently.
The NRS may support an NRS management layer that allows for adding or The NRS may support an NRS management layer that allows for adding or
subtracting NRS nodes. The management layer should be able to infer subtracting NRS nodes. The management layer should be able to infer
if the use of the NRS in some parts of the network is growing (or if the use of the NRS in some parts of the network is growing (or
shrinking). shrinking).
5.2.3. Deployed system 5.7. Deployed system
The NRS system must be deployable since deployability is important The NRS system must be deployable since deployability is important
for a real world system. The NRS system must be deployable in for a real world system. The NRS system must be deployable in
network edges and cores so that the consumers as well as ICN routers network edges and cores so that the consumers as well as ICN routers
can perform name resolution in a very low latency. can perform name resolution in a very low latency.
5.2.4. Fault tolerance 5.8. Fault tolerance
The NRS system must ensure resiliency in the event of NRS server The NRS system must ensure resiliency in the event of NRS server
failures. The failure of a small subset of nodes should not impact failures. The failure of a small subset of nodes should not impact
the NRS performance significantly. the NRS performance significantly.
After a NRS server fails, the NRS system must be able to recover and/ After a NRS server fails, the NRS system must be able to recover and/
or restore the name records stored in the NRS server. or restore the name records stored in the NRS server.
5.3. Requirements on Security aspect 6. IANA Considerations
There are no IANA considerations related to this document.
7. Security Considerations
Accessibility, authentication, confidentiality and privacy protection Accessibility, authentication, confidentiality and privacy protection
are the requirements on security aspect of both the NRS server nodes are the concerns on security aspect of both the NRS server nodes and
and mapping records stored in the NRS system. These requirements are mapping records stored in the NRS system.
described below.
5.3.1. Accessibility 7.1. Accessibility
The name records must have assigned with proper access rights such The name records must have assigned with proper access rights such
that the information contained in the name mapping record would not that the information contained in the name mapping record would not
be revealed to unauthorized users. In other words, the NRS system be revealed to unauthorized users. In other words, the NRS system
must be prevented from malicious users attempting to hijack or must be prevented from malicious users attempting to hijack or
corrupt the name mapping records. corrupt the name mapping records.
The NRS may support access control for certain name records, so that The NRS may support access control for certain name records, so that
only users with the proper credential can access these record, and only users with the proper credential can access these record, and
these records would not be shared to unauthorized users. these records would not be shared to unauthorized users.
The NRS may support authentication of the content producers to The NRS may support authentication of the content producers to
determine that any location update/addition/removal that a content determine that any location update/addition/removal that a content
producer is requesting is indeed valid and that the content producer producer is requesting is indeed valid and that the content producer
is authorized to modify this record. is authorized to modify this record.
The NRS should verify new mapping location that are being registered The NRS should verify new mapping location that are being registered
so that it cannot be polluted with falsified information or invalid so that it cannot be polluted with falsified information or invalid
records. records.
5.3.2. Authentication 7.2. Authentication
The NRS must require authentication of new NRS nodes that register The NRS must require authentication of new NRS nodes that register
themselves in the NRS system to ensure they are who they claim to be. themselves in the NRS system to ensure they are who they claim to be.
For example, it should detect an attacker attempting to act as a fake For example, it should detect an attacker attempting to act as a fake
NRS server to disrupt the NRS service, or to intercept some users' NRS server to disrupt the NRS service, or to intercept some users'
data. data.
5.3.3. Data confidentiality 7.3. Data confidentiality
NRS must keep the data confidentiality to prevent a lot of sensitive NRS must keep the data confidentiality to prevent a lot of sensitive
data from reaching unauthorized data requestor such as in IoT data from reaching unauthorized data requestor such as in IoT
environment. environment.
NRS must keep meta-data confidential as well as usage to protect the NRS must keep meta-data confidential as well as usage to protect the
privacy of the users. For instance, a specific user's NRS requests privacy of the users. For instance, a specific user's NRS requests
should not be shared outside the NRS system (with the exception of should not be shared outside the NRS system (with the exception of
legal intercept). legal intercept).
5.3.4. Privacy protection 7.4. Privacy protection
When a private name mapping record is registered in the system, the When a private name mapping record is registered in the system, the
NRS system must support the privacy to avoid the information leaking. NRS system must support the privacy to avoid the information leaking.
Otherwise, unauthorized entity may disclose the privacy. Otherwise, unauthorized entity may disclose the privacy.
5.3.5. Robustness/resiliency 7.5. Robustness/resiliency
The NRS system should be resilient to denial of service attacks and/ The NRS system should be resilient to denial of service attacks and/
or other common attacks on the integrity of its system. The NRS or other common attacks on the integrity of its system. The NRS
system should be resilient if a few attacked nodes are unable to system should be resilient if a few attacked nodes are unable to
participate in the system. participate in the system.
5.3.6. Network privacy 7.6. Network privacy
The NRS node in a given subdomain should not leak information about The NRS node in a given subdomain should not leak information about
this domain (say, topology, number of nodes, number of clients, this domain (say, topology, number of nodes, number of clients,
number of requests) to nodes outside of this domain, except for number of requests) to nodes outside of this domain, except for
sharing the content that it is allowed to advertise, or for the sharing the content that it is allowed to advertise, or for the
management protocols that it is supporting. management protocols that it is supporting.
6. IANA Considerations
There are no IANA considerations related to this document.
7. Security Considerations
[TBD]
8. Acknowledgements 8. Acknowledgements
[TBD] The authors would like to thank Ved Kafle for his valuable comments
and suggestions on this document.
9. References 9. References
9.1. Normative References 9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
skipping to change at page 17, line 19 skipping to change at page 18, line 27
[RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The
Locator/ID Separation Protocol (LISP)", RFC 6830, Locator/ID Separation Protocol (LISP)", RFC 6830,
DOI 10.17487/RFC6830, January 2013, DOI 10.17487/RFC6830, January 2013,
<https://www.rfc-editor.org/info/rfc6830>. <https://www.rfc-editor.org/info/rfc6830>.
[RFC6833] Fuller, V. and D. Farinacci, "Locator/ID Separation [RFC6833] Fuller, V. and D. Farinacci, "Locator/ID Separation
Protocol (LISP) Map-Server Interface", RFC 6833, Protocol (LISP) Map-Server Interface", RFC 6833,
DOI 10.17487/RFC6833, January 2013, DOI 10.17487/RFC6833, January 2013,
<https://www.rfc-editor.org/info/rfc6833>. <https://www.rfc-editor.org/info/rfc6833>.
[RFC6920] Farrell , S., Kutscher, D., Dannewitz, C., Ohlman, B.,
Keranen, A., and P. Hallam-Baker, "Naming Things with
Hashes", RFC6920, DOI 10.17487/RFC6920,
https://rfc-editor.org/rfc/rfc6920.txt , Apr. 2013.
[Zhang] Zhang, L. et al., "Named data networking", ACM SIGCOMM [Zhang] Zhang, L. et al., "Named data networking", ACM SIGCOMM
Computer Communication Review vol. 44, no. 3, July 2014. Computer Communication Review vol. 44, no. 3, July 2014.
[Zhang2] Zhang, Y., "A Survey of Mobility Support in Named Data [Zhang2] Zhang, Y., "A Survey of Mobility Support in Named Data
Networking", NAMED-ORIENTED MOBILITY: ARCHITECTURES, Networking", NAMED-ORIENTED MOBILITY: ARCHITECTURES,
ALGORITHMS, AND APPLICATIONS(NOM) , 2016. ALGORITHMS, AND APPLICATIONS(NOM) , 2016.
[Dannewitz] [Dannewitz]
Dannewitz, C. et al., "Network of Information (NetInf)-An Dannewitz, C. et al., "Network of Information (NetInf)-An
information centric networking architecture", Computer information centric networking architecture", Computer
skipping to change at page 18, line 24 skipping to change at page 19, line 33
[Mosko2] Mosko, M., "Nameless Objects", , July 2015. [Mosko2] Mosko, M., "Nameless Objects", , July 2015.
[Bayhan] Bayhan, S. et al., "On Content Indexing for Off-Path [Bayhan] Bayhan, S. et al., "On Content Indexing for Off-Path
Caching in Information-Centric Networks", ACM ICN , Caching in Information-Centric Networks", ACM ICN ,
September 2016. September 2016.
[FLIC] Tschudin, C. and C. Wood, "File-Like ICN Collection [FLIC] Tschudin, C. and C. Wood, "File-Like ICN Collection
(FLIC)", draft-irtf-icnrg-flic-01, , June 2018. (FLIC)", draft-irtf-icnrg-flic-01, , June 2018.
[NEO] Eriksson, A. and A. M. Malik, "A DNS-based information-
centric network architecture open to multiple protocols
for transfer of data objects", 21st Conference on
Innovation in Clouds, Internet and Networks and Workshops
(ICIN), pp. 1-8, 2018.
Authors' Addresses Authors' Addresses
Jungha Hong Jungha Hong
ETRI ETRI
218 Gajeong-ro, Yuseung-Gu 218 Gajeong-ro, Yuseung-Gu
Daejeon 34129 Daejeon 34129
Korea Korea
Email: jhong@etri.re.kr Email: jhong@etri.re.kr
Tae-Wan You Tae-Wan You
ETRI ETRI
218 Gajeong-ro, Yuseung-Gu 218 Gajeong-ro, Yuseung-Gu
Daejeon 34129 Daejeon 34129
Korea Korea
Email: twyou@etri.re.kr Email: twyou@etri.re.kr
Yong-Geun Hong Yong-Geun Hong
ETRI ETRI
skipping to change at page 19, line 20 skipping to change at page 20, line 36
Email: lijun.dong@huawei.com Email: lijun.dong@huawei.com
Cedric Westphal Cedric Westphal
Huawei Huawei
2330 Central Expressway 2330 Central Expressway
Santa Clara, CA 95050 Santa Clara, CA 95050
USA USA
Email: cedric.westphal@huawei.com Email: cedric.westphal@huawei.com
Ved Kafle
NICT
4-2-1 Nukui-Kitamachi
Koganei, Tokyo 184-8795
Japan
Email: kafle@nict.go.jp
Borje Ohlman Borje Ohlman
Ericsson Research Ericsson Research
S-16480 Stockholm S-16480 Stockholm
Sweden Sweden
Email: Borje.Ohlman@ericsson.com Email: Borje.Ohlman@ericsson.com
 End of changes. 55 change blocks. 
198 lines changed or deleted 265 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/