<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-irtf-icnrg-nrs-requirements-06" number="9138" ipr="trust200902" obsoletes="" updates="" submissionType="IRTF" category="info" consensus="true" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3">

  <!-- xml2rfc v2v3 conversion 3.9.1 -->
  <front>
    <title abbrev="Design Considerations for NRS">Design Considerations for Name Resolution Service in Information-Centric Networking (ICN)</title>
    <seriesInfo name="RFC" value="9138"/>
    <author fullname="Jungha Hong" initials="J." surname="Hong">
      <organization>ETRI</organization>
      <address>
        <postal>
	  <extaddr>Yuseung-Gu</extaddr>
          <street>218 Gajeong-ro</street>
          <city>Daejeon</city>
          <code>34129</code>
          <country>Republic of Korea</country>
        </postal>
        <email>jhong@etri.re.kr</email>
        </address>
    </author>
    <author fullname="Tae-Wan You" initials="T." surname="You">
      <organization>ETRI</organization>
      <address>
        <postal>
	  <extaddr>Yuseung-Gu</extaddr>
          <street>218 Gajeong-ro</street>
          <city>Daejeon</city>
          <code>34129</code>
          <country>Republic of Korea</country>
        </postal>
        <email>twyou@etri.re.kr</email>
        </address>
    </author>
    <author fullname="Lijun Dong" initials="L." surname="Dong">
      <organization>Futurewei Technologies Inc.</organization>
      <address>
        <postal>
          <street>10180 Telesis Court</street>
          <city>San Diego</city>
          <region>CA</region>
          <code>92121</code>
          <country>United States of America</country>
        </postal>
        <email>lijun.dong@futurewei.com</email>
        </address>
    </author>
    <author fullname="Cedric Westphal" initials="C." surname="Westphal">
      <organization>Futurewei Technologies Inc.</organization>
      <address>
        <postal>
          <street>2330 Central Expressway</street>
          <city>Santa Clara</city>
          <region>CA</region>
          <code>95050</code>
          <country>United States of America</country>
        </postal>
        <email>cedric.westphal@futurewei.com</email>
        </address>
    </author>
    <author fullname="Börje Ohlman" initials="B." surname="Ohlman">
      <organization abbrev="Ericsson">Ericsson Research</organization>
      <address>
        <postal>
          <city>Stockholm</city>
          <code>16480</code>
          <country>Sweden</country>
        </postal>
        <email>Borje.Ohlman@ericsson.com</email>
        </address>
    </author>
    <date month="November" year="2021"/>

    <area>ICNRG</area>
    <workgroup>Information-Centric Networking</workgroup>
    <abstract>
      <t>
        This document provides the functionalities and design considerations
        for a Name Resolution Service (NRS) in Information-Centric Networking (ICN).  

The purpose of an NRS in ICN is to translate
        an object name into some other information such as a locator, another
        name, etc. in order to forward the object request. This document is a product
        of the Information-Centric Networking Research Group (ICNRG).
      </t>
    </abstract>

  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>
          The current Internet is based upon a host-centric networking paradigm, where hosts are
          identified with IP addresses and communication is possible
          between any pair of hosts. Thus, information in the current Internet
          is identified by the name of the host (or server) where the information is stored.
          In contrast to host-centric networking, the primary communication
          objects in Information-Centric Networking (ICN) are the named data
          objects (NDOs), and they are uniquely identified by location-independent
          names. Thus, ICN aims for the efficient dissemination and retrieval of
          NDOs at a global scale and has been identified and acknowledged as a
          promising technology for a future Internet architecture to overcome
          the limitations of the current Internet, such as scalability and
          mobility <xref target="Ahlgren" format="default"/> <xref target="Xylomenos" format="default"/>.
          ICN also has emerged as a candidate architecture in the Internet of Things (IoT) environment
          since IoT focuses on data and information
          <xref target="Baccelli" format="default"/> <xref target="Amadeo" format="default"/> <xref target="Quevedo" format="default"/>
        <xref target="Amadeo2" format="default"/> <xref target="I-D.irtf-icnrg-icniot" format="default"/>.
      </t>
      <t>Since naming data independently from its current location (where it is
          stored) is a primary concept of ICN, how to find any NDO using a
          location-independent name is one of the most important design challenges
          in ICN. Such ICN routing may comprise three steps <xref target="RFC7927" format="default"/>:
      </t>

      <ol type="(%d)" spacing="normal">
        <li>Name resolution: matches/translates a content name to the locator
                  of the content producer or source that can provide the content. </li>
        <li>Content request routing: routes the content request towards
                  the content's location based either on its name or locator. </li>
        <li>Content delivery: transfers the content to the requester. </li>
      </ol>
      <t>
          Among the three steps of ICN routing, this document investigates only
          the name resolution step, which translates a content name to the content locator.
          In addition, this document covers various possible types of name
          resolution in ICN such as one name to another name, name to locator,
          name to manifest, name to metadata, etc.
      </t>
      <t>
          The focus of this document is a Name Resolution Service (NRS) itself
          as a service or a system in ICN, and it provides the functionalities and
          the design considerations for an NRS in ICN as well as the overview of
          the NRS approaches in ICN. On the other hand, its companion document
          <xref target="I-D.irtf-icnrg-nrsarch-considerations" format="default"/> describes considerations from the perspective
          of the ICN architecture and routing system when using an NRS in ICN.
      </t>
      <t>
          This document represents the consensus of the Information-Centric
          Networking Research Group (ICNRG). It has been reviewed extensively
          by the Research Group (RG) members who are actively involved in the
          research and development of the technology covered by this document.
          It is not an IETF product and is not a standard.
      </t>
    </section>
    <section numbered="true" toc="default">
      <name>Name Resolution Service in ICN</name>
      <t>
          A Name Resolution Service (NRS) in ICN is defined as the service that
          provides the name resolution function for translating an object name
          into some other information such as a locator, another name, metadata,
          next-hop info, etc. that is used for forwarding the object request.
          In other words, an NRS is a service that can be provided by the ICN
          infrastructure to help a consumer reach a specific piece of information
          (or named data object). The consumer provides an NRS with a persistent
          name, and the NRS returns a name or locator (or potentially multiple
          names and locators) that can reach a current instance of the
          requested object.
      </t>
      <t>
         The name resolution is a necessary process in ICN routing, although the
         name resolution either can be separated from the content request routing
         as an explicit process or can be integrated with the content request
         routing as an implicit process.  The former is referred to as an "explicit name
         resolution approach", and the latter is referred to as a "name-based routing approach"
         in this document.
      </t>
      <section numbered="true" toc="default">
        <name>Explicit Name Resolution Approach</name>
        <t>
          An NRS could take the explicit name resolution approach to return the
          locators of the content to the client, which will be used by the underlying
          network as the identifier to route the client's request to one of the
          producers or to a copy of the content. There are several ICN projects
          that use the explicit name resolution approach, such as  Data-Oriented Network Architecture (DONA) <xref target="Koponen" format="default"/>, PURSUIT <xref target="PURSUIT" format="default"/>,
          Network of Information (NetInf) <xref target="SAIL" format="default"/>, MobilityFirst <xref target="MF" format="default"/>,
          IDNet <xref target="Jung" format="default"/>, etc. In addition, the explicit name
          resolution approach has been allowed for 5G control planes <xref target="SA2-5GLAN" format="default"/>.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Name-Based Routing Approach</name>
        <t>An NRS could take the name-based routing approach, which integrates
            name resolution with content request message routing as in
            Named Data Networking / Content-Centric Networking (NDN/CCNx) <xref target="NDN" format="default"/> <xref target="CCNx" format="default"/>.
        </t>
        <t>
            In cases where the content request also specifies the reverse path,
            as in NDN/CCNx, the name resolution mechanism also derives the routing
            path for the data. This adds a requirement to the name resolution
            service to propagate the request in a way that is consistent with the
            subsequent data forwarding. Namely, the request must select a path
            for the data based upon finding a copy of the content but also
            properly delivering the data.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Hybrid Approach</name>
        <t>
            An NRS could also take hybrid approach. For instance, it can attempt
            the name-based routing approach first. If this fails at a certain
            router, the router can go back to the explicit name resolution approach.
            The hybrid NRS approach also works the other way around: first by performing
            explicit name resolution to find the locators of routers, then by routing the client's request using the name-based routing approach.
        </t>
        <t>
            A hybrid approach would combine name resolution over 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 ICN
            network perform name resolution in the name-based routing approach.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Comparisons of Name Resolution Approaches</name>
        <t>
           The following compares the explicit name resolution and the name-based
           routing approaches in several aspects:
        </t>
        <ul spacing="normal">
          <li>Overhead due to the maintenance of the content location:
                  The content reachability is dynamic and includes new
                  content being cached or content being expired from a cache,
                  content producer mobility, etc. Maintaining a consistent
                  view of the content location across the network requires
                  some overhead that differs for the name resolution approaches.
                  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 system
                  (which could be an overlay with a limited number of nodes). </li>
          <li>Resolution capability: The explicit name resolution approach, if designed and deployed with sufficient robustness, can offer at least weak guarantees that resolution will succeed for 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 content is cached, the router may only notify its direct neighbors of this information. Thus, only those neighboring
 routers can build a name-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. </li>

          <li>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 that route messages based on the name-based routing tables (e.g.,  NDN routers).
                  Node failures in the explicit name resolution approach may cause some content request routing 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.</li>
          <li>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 only the name-based routing tables.</li>
        </ul>
        <t>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 <xref target="Westphal" format="default"/> <xref target="RFC8569" format="default"/>.
        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 the following: first, translate the manifest name into a location of a copy of the manifest, which includes further names of the content components and potentially locations for the content, then retrieve the content by using these names and/or location, potentially resulting in additional name resolutions. </t>
        <t>Thus, no matter which approach is taken by an NRS in ICN, the name resolution is the essential function that shall be provided by the ICN infrastructure. </t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Functionalities of NRS in ICN</name>
      <t>This section presents the functionalities of an NRS in ICN. </t>
      <section numbered="true" toc="default">
        <name>Support Heterogeneous Name Types</name>
        <t>
          In ICN, a name is used to identify the data object and is bound to it <xref target="RFC7927" format="default"/>.
          ICN requires uniqueness and persistency of the name of the data object to ensure the
          reachability of the object within a certain scope.  There are
          heterogeneous approaches to designing ICN naming schemes <xref target="Bari" format="default"/>.
          Ideally, a name can include any form of identifier, which can be
          flat or hierarchical, human readable or non-readable.
        </t>
        <t>
          Although there are diverse types of naming schemes proposed in the literature,
          they all need to provide basic functions for identifying a data object,
          supporting named data lookup, and routing. An NRS may combine the better
          aspects of different schemes. Basically, an NRS should be able to support
          a generic naming schema so that it can resolve any type of content name,
          irrespective of whether it is flat, hierarchical, attribute based, or
          anything else.
        </t>
        <t>
          In PURSUIT <xref target="PURSUIT" format="default"/>, names are flat, and the rendezvous
          functions are defined for an NRS, which is implemented by a set of rendezvous
          nodes (RNs), known as the rendezvous network (RENE). Thus, a name consists of a
          sequence of scope IDs, and a single rendezvous ID is routed by the RNs in RENE.
          Thus, PURSUIT decouples name resolution and data routing, where the NRS
          is performed by the RENE.
        </t>
        <t>
          In MobilityFirst <xref target="MF" format="default"/>, a name known as a "Global
          Unique Identifier (GUID)", derived from a human-readable name via a global
          naming service, is a flat typed 160-bit string with self-certifying
          properties. Thus, MobilityFirst defines a Global Name Resolution Service
          (GNRS), which resolves GUIDs to network addresses and decouples name
          resolution and data routing similarly to PURSUIT.
        </t>
        <t>
          In NetInf <xref target="Dannewitz" format="default"/>, information objects are named using Named Information (NI) names <xref target="RFC6920" format="default"/>, 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.
        </t>
        <t>
          In NDN <xref target="NDN" format="default"/> and CCNx <xref target="CCNx" format="default"/>,
          names are hierarchical and may be similar to URLs. Each name component
          can be anything, including a human-readable string or a hash value.
          NDN/CCNx 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).
        </t>
	     </section>
      <section numbered="true" toc="default">
        <name>Support Producer Mobility</name>
        <t>
           ICN inherently supports mobility by consumers. Namely, consumer or client
           mobility is handled by re-requesting the content in case the mobility
           event (say, handover) occurred before receiving the corresponding
           content from the network. Since ICN can ensure that content reception
           continues without any disruption in ICN applications, seamless mobility
           from the consumer's point of view can be easily supported.
        </t>
        <t>
           However, producer mobility does not emerge naturally from the ICN
           forwarding model as does consumer mobility. If a producer moves into
           a different network location or a different name domain, which is
           assigned by another authoritative publisher, it would be difficult for
           the mobility management to update Routing Information Base (RIB) and FIB entries in ICN routers
           with the new forwarding path in a very short time. Therefore, various
           ICN architectures in the literature have proposed adopting an NRS to
           achieve the producer or publisher mobility, where the NRS can be
           implemented in different ways such as rendezvous points and/or overlay mapping systems.
        </t>
        <t>
           In NDN <xref target="Zhang2" format="default"/>, for producer mobility support, rendezvous mechanisms have been proposed to build interest rendezvous
           (RV) with data generated by a mobile producer (MP). This can be
           classified into two approaches: chase mobile producer and rendezvous data.
           Regarding MP chasing, rendezvous acts as a mapping service that provides
           the mapping from the name of the data produced by the MP to the name
           of the MP's current point of attachment (PoA). 


Alternatively, the RV
           serves as a home agent as in IP mobility support, so the RV enables
           the consumer's Interest message to tunnel towards the MP at the PoA.
           Regarding rendezvous data, the solution involves moving the data produced
           by the MP to a data depot instead of forwarding Interest messages. 

Thus,
           a consumer's Interest message can be forwarded to stationary place called a "data rendezvous", so it would either return the data or fetch it
           using another mapping solution. Therefore, RV or other mapping functions
           are in the role of an NRS in NDN.
        </t>
        <t>
          In <xref target="I-D.ravi-icnrg-ccn-forwarding-label" format="default"/>, the forwarding label (FL) object is
          used to enable identifier (ID) and locator (LID) namespaces to be
          split in ICN. Generally, IDs are managed by applications, while locators
          are managed by a network administrator so that IDs are mapped to
          heterogeneous name schemes and LIDs are mapped to the network domains or
          to specific network elements. Thus, the proposed FL object acts as a locator
          (LID) and provides the flexibility to forward Interest messages through
          a mapping service between IDs and LIDs. Therefore, the mapping service in
          control plane infrastructure can be considered as an NRS in this draft.
        </t>
        <t>
          In MobilityFirst <xref target="MF" format="default"/>, both consumer and publisher
          mobility can be primarily handled by the global name resolution service
          (GNRS), which resolves GUIDs to network addresses. Thus, the GNRS  must
          be updated for mobility support when a network-attached object changes
          its point of attachment, which differs from NDN/CCNx.
        </t>
        <t>
          In NetInf <xref target="Dannewitz" format="default"/>, mobility is handled by
          an NRS in a very similar way to MobilityFirst.
        </t>
        <t>
           Besides the consumer and producer mobility, ICN also faces
           challenges to support the other dynamic features such as multi-homing,
           migration, and replication of named resources such as content, devices,
           and services. Therefore, an NRS can help to support these dynamic features.
        </t>
       </section>
      <section numbered="true" toc="default">
        <name>Support Scalable Routing System</name>
        <t>
           In ICN, the name of data objects is used for routing by either a name
           resolution step or a routing table lookup. Thus, routing information
           for each data object should be maintained in the routing base, such
           as RIB and FIB.
           Since the number of data objects would be very large, the size of
           information bases would be significantly larger as well <xref target="RFC7927" format="default"/>.
        </t>
        <t>
           The hierarchical namespace used in CCNx <xref target="CCNx" format="default"/>
           and NDN <xref target="NDN" format="default"/> architectures reduces the size of
           these tables through name aggregation and improves the scalability of
           the routing system. A flat naming scheme, on the other hand, would
           aggravate the scalability problem of the routing system.
           The non-aggregated name prefixes injected into the Default Route Free
           Zone (DFZ) of ICN would create a more serious scalability problem when
           compared to the scalability issues of the IP routing system.
           Thus, an NRS may play an important role in the reduction of the routing
           scalability problem regardless of the types of namespaces.
        </t>
        <t>
           In <xref target="Afanasyev" format="default"/>, in order to address the routing
           scalability problem in NDN's DFZ, a well-known concept called "map-and-encap" is applied to provide a simple and secure namespace mapping solution.
           In the proposed map-and-encap design, data whose name prefixes do not
           exist in the DFZ forwarding table can be retrieved by a distributed
           mapping system called NDNS, which maintains and looks up the mapping
           information from a name to its globally routed prefixes, where NDNS is
           a kind of an NRS.
        </t>
	     </section>
      <section numbered="true" toc="default">
        <name>Support Off-Path Caching</name>
        <t>
          Caching in-network is considered to be a basic architectural component
          of an ICN architecture. It may be used to provide a level of quality-of-service (QoS)
          experience to users to reduce the overall network traffic, to prevent network
          congestion and denial-of-service (DoS) attacks, and to increase availability.
          Caching approaches can be categorized into off-path caching and on-path
          caching based on the location of caches in relation to the forwarding
          path from the original server to the consumer. Off-path caching, also
          referred to as "content replication" or "content storing", aims to replicate
          content within a network in order to increase availability, regardless of
          the relationship of the location to the forwarding path. Thus, finding
          off-path cached objects is not trivial in name-based routing of ICN.
          In order to support off-path caches, replicas are usually advertised
          into a name-based routing system or into an NRS.
        </t>
        <t>
          In <xref target="Bayhan" format="default"/>, an NRS is used to find off-path copies
          in the network, which may not be accessible via name-based routing mechanisms.
          Such a capability can be helpful for an Autonomous System (AS) to avoid
          the costly inter-AS traffic for external content more, to yield higher
          bandwidth efficiency for intra-AS traffic, and to decrease the data
          access latency for a pleasant user experience.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Support Nameless Object</name>
        <t>
          In CCNx 1.0 <xref target="Mosko2" format="default"/>, the concept of a "Nameless
          Object", which is a Content Object without a name, is introduced to
          provide a means to move content between storage replicas without having
          to rename or re-sign the Content Objects for the new name. Nameless
          Objects can be addressed by the ContentObjectHash, which is to restrict
          Content Object matching by using a SHA-256 hash.
        </t>
        <t>
          An Interest message would still carry a name and a ContentObjectHash,
          where a name is used for routing, while a ContentObjectHash is used
          for matching. However, on the reverse path, if the Content Object's
          name is missing, it is a "Nameless Object" and only matches against the
          ContentObjectHash. Therefore, a consumer needs to resolve the proper name
          and hashes through an outside system, which can be considered as an NRS.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Support Manifest</name>
        <t>
					For collections of data objects that are organized as large and file-like contents <xref target="I-D.irtf-icnrg-flic" format="default"/>, manifests are used as data
          structures to transport this information. Thus, manifests may contain
          hash digests of signed Content Objects or other manifests so that large
          Content Objects that represent a large piece of application data can be
          collected by using such a manifest.
        </t>
        <t>
					In order to request Content Objects, a consumer needs to know a manifest
          root name to acquire the manifest. In the case of File-Like ICN Collections (FLIC), a manifest name
          can be represented by a nameless root manifest so that an outside system
          such as an NRS may be involved to give this information to the consumer.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Support Metadata</name>
        <t>
            When resolving the name of a Content Object, NRS could return a rich
            set of metadata in addition to returning a locator. 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 the 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
            Networked Object (NEO) ICN architecture <xref target="NEO" format="default"/>.
        </t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Design Considerations for NRS in ICN</name>
      <t>
        This section presents the design considerations for NRS in ICN.
      </t>
      <section numbered="true" toc="default" anchor="res-response">
        <name>Resolution Response Time</name>
        <t>
            The name resolution process should provide a response within a 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 stating that no such object exists. If the name resolution does not 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 the resolution incomplete when the timer expires.
        </t>
        <t>
            The acceptable response delay could be of the order of a round-trip
            time between the client issuing the request and the NRS servers that provide the response. While this RTT may vary greatly depending on the proximity between the two end points, some upper bound needs to be used.
            Especially in some delay-sensitive scenarios such as industrial Internet and telemedicine, the upper bound of the response delay must be guaranteed.
        </t>
          <t>
            The response time includes all the steps of the resolution, including potentially a hop-by-hop resolution or a hierarchical forwarding of the resolution request.
        </t>
         </section>
         <section numbered="true" toc="default">
        <name>Response Accuracy</name>
        <t>
             An NRS must provide an accurate response -- namely, a proper binding of the requested name (or prefix) with a location. The response can be either a (prefix, location) pair or the actual forwarding of a request to a node holding the content, which is then transmitted in return.
        </t>
        <t>
             An NRS must provide an up-to-date response -- namely, an NRS should be updated within a reasonable time when new copies of the content are being stored in the network. While every transient cache addition/eviction should not trigger an NRS update, some origin servers may move and require the NRS to be updated.
        </t>
        <t>
             An NRS must provide mechanisms to update the mapping of the content with its location. Namely, an NRS must provide a mechanism for a content provider to add new content, revoke old/dated/obsolete content, and modify existing content. Any content update should then be propagated through
 the NRS system within reasonable delay.
        </t>
        <t>
             Content that is highly mobile may require specifying some type of anchor that is kept at the NRS instead of the content location.
        </t>
         </section>
      <section numbered="true" toc="default">
        <name>Resolution Guarantee</name>
        <t>
             An NRS must ensure that the name resolution is successful
             with high probability if the name-matching content exists in the network,
             regardless of its popularity and the number of cached copies existing in the network.
             Per <xref target="res-response"/>, some resolutions may not occur in a timely manner.
             However, the probability of such an event should be minimized.
             The NRS system may provide a probability (five 9s or
             five sigmas, for instance) that a resolution will be satisfied.
        </t>
         </section>
      <section numbered="true" toc="default">
        <name>Resolution Fairness</name>
        <t>
             An NRS could provide this service for all content in a fair manner, independently of the specific content properties
             (content producer, content popularity, availability of copies, content format, etc.).
             Fairness may be defined as a per-request delay to complete the NRS steps that is agnostic to the properties of the content itself.
             Fairness may be defined as well as the number of requests answered per unit of time.
        </t>
        <t>
             However, it is notable that content (or their associated producer) may request a different level of QoS from the network (see <xref target="RFC9064" format="default"/>, for instance),
             and this may include the NRS as well, in which case considerations of fairness may be restricted to content within the same class of service.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Scalability</name>
        <t>
             The NRS system must scale up to support a very large user population (including human users as well as machine-to-machine communications).
             As an idea of the scale, it is expected that 50 billion devices will be connected in 2025 (per ITU projections).
             The system must be able to respond to a very large number of requests per unit of time.
             Message forwarding and processing, routing table buildup, and name record propagation must be efficient and scalable.
        </t>
        <t>
             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 is extremely large.
             Internet traffic is of the order of zettabytes per year (10<sup>21</sup> bytes). Since NRS is associated with actual traffic,
             the number of pieces of content should scale with the amount of traffic. Content size may vary from a few bytes to several GB,
             so the NRS should be expected scale up to a catalog of the size of 10<sup>21</sup> in the near future, and larger beyond.
        </t>
        <t>
             The NRS system must be able to scale up -- namely, to add NRS servers to the NRS system in a way that is transparent to the users.
             The addition of a new server should have a limited negative impact on the other NRS servers
             (or should have a negative impact on only a small subset of the NRS servers).
             The impact of adding new servers may induce some overhead at the other servers to rebuild a hierarchy or to exchange messages to include the new server within the service.
             Further, data may be shared among the new servers for load balancing or tolerance to failure.
             These steps should not disrupt the service provided by the NRS and should improve the quality of the service in the long run.
        </t>
        <t>
             The NRS system may support access from a heterogeneity of connection methods and devices.
             In particular, the NRS system may support access from constrained devices, and interactions with the NRS system would not be too costly.
             An IoT node, for instance, should be able to access the NRS system as well as a more powerful node.
        </t>
        <t>
             The NRS system should scale up in its responsiveness to the increased request rate that is expected from applications such as IoT or machine-to-machine (M2M),
             where data is being frequently generated and/or requested.
        </t>
      </section>
      <section numbered="true" toc="default">
        <name>Manageability</name>
        <t>
             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 deleted frequently.
        </t>
        <t>
             The NRS system may support an NRS management layer that allows for adding or subtracting NRS nodes.  In order to infer the circumstance, the management layer can measure the network status.
        </t>
         </section>
      <section numbered="true" toc="default">
        <name>Deployed System</name>
        <t>
             The NRS system must be deployable since deployability is important 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 can perform name resolution in a very low latency.
        </t>
         </section>
      <section numbered="true" toc="default">
        <name>Fault Tolerance</name>
        <t>
             The NRS system must ensure resiliency in the event of NRS server failures.
             The failure of a small subset of nodes should not impact the NRS performance significantly.
        </t>
        <t>
             After an NRS server fails, the NRS system must be able to recover and/or restore the name records stored in the NRS server.
        </t>
         </section>
      <section numbered="true" toc="default" anchor="sec-priv">
        <name>Security and Privacy</name>
        <t>
               On utilizing an NRS in ICN, there are some security considerations for the
               NRS servers/nodes and name mapping records stored in the NRS system.
               This subsection describes them.
        </t>
        <section numbered="true" toc="default">
          <name>Confidentiality</name>
          <t>
                     The name mapping records in the NRS system must be assigned with
                     proper access rights such that the information contained in the name
                     mapping records would not be revealed to unauthorized users.
          </t>
          <t>
                     The NRS system may support access control for certain name mapping
                     records. Access control can be implemented with a reference monitor
                     that uses client authentication, so only users with appropriate
                     credentials can access these records, and they are not shared with
                     unauthorized users. Access control can also be implemented by
                     encryption-based techniques using control of keys to control the
                     propagations of the mappings.
          </t>
          <t>
                     The NRS system may support obfuscation and/or encryption
                     mechanisms so that the content of a resolution request
                     may not be accessible by third parties outside of the NRS system.
          </t>
          <t>
                     The NRS system must keep confidentiality to prevent
                     sensitive name mapping records from being reached by
                     unauthorized data requesters. This is more required
                     in IoT environments where a lot of sensitive data is produced.
          </t>
          <t>
                     The NRS system must also keep confidentiality of metadata
                     as well as NRS usage to protect the privacy of the users.
                     For instance, a specific user's NRS requests should
                     not be shared outside the NRS system (with the exception
                     of legal intercept).
          </t>
        </section>
        <section numbered="true" toc="default">
          <name>Authentication</name>
          <ul spacing="normal">
            <li>
                             NRS server authentication: Authentication of the new NRS
                             servers/nodes that want to be registered with the NRS system
                             must be required so that only authenticated entities can
                             store and update name mapping records. The NRS system should
                             detect an attacker attempting to act as a fake NRS server
                             to cause service disruption or manipulate name mapping records.
                           </li>
            <li>
                             Producer authentication: The NRS system must support
                             authentication of the content producers to ensure that
                             update/addition/removal of name mapping records requested
                             by content producers are actually valid and that content
                             producers are authorized to modify (or revoke) these records
                             or add new records.
                           </li>
            <li>
                             Mapping record authentication: The NRS should verify new
                             mapping records that are being registered so that it cannot
                             be polluted with falsified information or invalid records.
                           </li>
          </ul>
        </section>
        <section numbered="true" toc="default">
          <name>Integrity</name>
          <t>
                     The NRS system must be protected from malicious users
                     attempting to hijack or corrupt the name mapping records.
          </t>
        </section>
        <section numbered="true" toc="default">
          <name>Resiliency and Availability</name>
          <t>
                     The NRS system should be resilient against denial-of-service attacks
                     and other common attacks to isolate the impact of the attacks and
                     prevent collateral damage to the entire system. Therefore, if a
                     part of the NRS system fails, the failure should only affect a local
                     domain. And fast recovery mechanisms need to be in place to bring
                     the service back to normal.
          </t>
        </section>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Conclusion</name>
      <t>
    ICN routing may comprise three steps: name resolution, content request routing,
    and content delivery. This document investigates the name resolution step,
    which is the first and most important to be achieved for ICN routing to be
    successful. A Name Resolution Service (NRS) in ICN is defined as the service
    that provides such a function of name resolution for translating an object
    name into some other information such as a locator, another name, metadata,
    next-hop info, etc. that is used for forwarding the object request.
      </t>
      <t>
    This document classifies and analyzes the NRS approaches according to whether
    the name resolution step is separated from the content request routing as an
    explicit process or not. This document also explains the NRS functions used
    to support heterogeneous name types, producer mobility, scalable routing system,
    off-path caching, nameless object, manifest, and metadata. Finally, this document
    presents design considerations for NRS in ICN, which include resolution response
    time and accuracy, resolution guarantee, resolution fairness, scalability,
    manageability, deployed system, and fault tolerance.
      </t>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
        A discussion of security guidelines is provided in <xref target="sec-priv"/>.
      </t>
    </section>
  </middle>
<back>
 
<displayreference target="I-D.irtf-icnrg-icniot" to="ID.Zhang2"/>
<displayreference target="I-D.ravi-icnrg-ccn-forwarding-label" to="Ravindran"/>
<displayreference target="I-D.irtf-icnrg-flic" to="FLIC"/>
<displayreference target="I-D.irtf-icnrg-nrsarch-considerations" to="NRSarch"/>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7927.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8569.xml"/>

        <reference anchor="Ahlgren">
          <front>
            <title>A Survey of Information-Centric Networking</title>
            <author initials="B." surname="Ahlgren" fullname="B. Ahlgren"/>
            <author initials="C." surname="Dannewitz" fullname="C. Dannewitz"/>
            <author initials="C." surname="Imbrenda" fullname="C. Imbrenda"/>
            <author initials="D." surname="Kutscher" fullname="D. Kutscher"/>
            <author initials="B." surname="Ohlman" fullname="B. Ohlman"/>
            <date month="July" year="2012"/>
          </front>
          <seriesInfo name="DOI" value="10.1109/MCOM.2012.6231276"/>
          <refcontent>IEEE Communications Magazine, Vol. 50, Issue 7</refcontent>
        </reference>

        <reference anchor="Xylomenos">
          <front>
            <title>A Survey of Information-Centric Networking Research</title>
            <author initials="G." surname="Xylomenos" fullname="G. Xylomenos"/>
            <author initials="C." surname="Ververidis" fullname="C. Ververidis"/>
            <author initials="V." surname="Siris" fullname="V. Siris"/>
            <author initials="N." surname="Fotiou" fullname="N. Fotiou"/>
            <author initials="C." surname="Tsilopoulos" fullname="C.Tsilopoulos"/>
            <author initials="X." surname="Vasilakos" fullname="X. Vasilakos"/>
            <author initials="K." surname="Katsaros" fullname="K. Katsaros"/>
            <author initials="G." surname="Polyzos" fullname="G. Polyzos"/>
            <date year="2014"/>
          </front>
          <seriesInfo name="DOI" value="10.1109/SURV.2013.070813.00063"/>
          <refcontent>IEEE Communications Surveys and Tutorials, Vol. 16, Issue 2</refcontent>
	</reference>

        <reference anchor="Baccelli">
          <front>
            <title>Information Centric Networking in the IoT: Experiments with NDN in the Wild</title>
            <author initials="E." surname="Baccelli" fullname="E. Baccelli"/>
            <author initials="C." surname="Mehlis" fullname="C. Mehlis"/>
            <author initials="O." surname="Hahm" fullname="O. Hahm"/>
            <author initials="T." surname="Schmidt" fullname="T. Schmidt"/>
            <author initials="M." surname="Wählisch" fullname="M. Wählisch"/>
            <date month="" year="2014"/>
          </front>
          <seriesInfo name="DOI" value="10.1145/2660129.2660144"/>
          <refcontent>ACM-ICN 2014</refcontent>
        </reference>

        <reference anchor="Amadeo">
          <front>
            <title>Named data networking for IoT: An architectural perspective</title>
            <author initials="M." surname="Amadeo" fullname="M. Amadeo"/>
            <author initials="C." surname="Campolo" fullname="C. Campolo"/>
            <author initials="A." surname="Iera" fullname="A. Iera"/>
            <author initials="A." surname="Molinaro" fullname="A. Molinaro"/>
            <date month="June" year="2014"/>
          </front>
          <seriesInfo name="DOI" value="10.1109/EuCNC.2014.6882665"/>
          <refcontent>European Conference on Networks and Communications (EuCNC)</refcontent>
        </reference>

        <reference anchor="Quevedo">
          <front>
            <title>A case for ICN usage in IoT environments</title>
            <author initials="J." surname="Quevedo" fullname="J. Quevedo"/>
            <author initials="D." surname="Corujo" fullname="D. Corujo"/>
            <author initials="R." surname="Aguiar" fullname="R. Aguiar"/>
            <date month="December" year="2014"/>
          </front>
          <seriesInfo name="DOI" value="GLOCOM.2014.7037227"/>
          <refcontent>IEEE GLOBECOM</refcontent>
        </reference>

        <reference anchor="Amadeo2">
          <front>
            <title>Information-centric networking for the internet of things: challenges and opportunities</title>
            <author initials="" surname="Amadeo, M. et al." fullname="Amadeo, M. et al."/>
            <date month="March" year="2016"/>
          </front>
          <seriesInfo name="DOI" value="10.1109/MNET.2016.7437030"/>
          <refcontent>IEEE Network, Vol. 30, No. 2</refcontent>
        </reference>

<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.irtf-icnrg-icniot.xml"/>

        <reference anchor="Koponen">
          <front>
            <title>A Data-Oriented (and Beyond) Network Architecture</title>
            <author initials="T." surname="Koponen" fullname="T. Koponen"/>
            <author initials="M." surname="Chawla" fullname="M. Chawla"/>
            <author initials="B." surname="Chun" fullname="B. Chun"/>
            <author initials="A." surname="Ermolinskiy" fullname="A. Ermolinskiy"/>
            <author initials="K.H." surname="Kim" fullname="K.H. Kim"/>
            <author initials="S." surname="Shenker" fullname="S. Shenker"/>
            <author initials="I." surname="Stoica" fullname="I. Stoica"/>
            <date month="August" year="2007"/>
          </front>
          <seriesInfo name="DOI" value="10.1145/1282380.1282402"/>
          <refcontent>ACM SIGCOMM 2007, pp. 181-192 </refcontent>
        </reference>

        <reference anchor="PURSUIT" target="https://www.fp7-pursuit.eu/">
          <front>
            <title>FP7 PURSUIT</title>
            <author />
            <date/>
          </front>
        </reference>

        <reference anchor="SAIL" target="http://www.sail-project.eu/">
          <front>
            <title>Scalable and Adaptive Internet Solutions (SAIL)</title>
            <author/>
            <date/>
          </front>
        </reference>

        <reference anchor="NDN" target="http://www.named-data.net">
          <front>
            <title>Named Data Networking</title>
            <author/>
            <date/>
          </front>
        </reference>

        <reference anchor="CCNx" target="https://wiki.fd.io/view/Cicn">
          <front>
            <title>CICN</title>
            <author/>
            <date/>
          </front>
        </reference>

        <reference anchor="MF" target="http://mobilityfirst.winlab.rutgers.edu">
          <front>
            <title>MobilityFirst Future Internet Architecture Project Overview</title>
            <author/>
            <date/>
          </front>
        </reference>


        <reference anchor="Jung">
          <front>
            <title>IDNet: Beyond All-IP Network</title>
            <author initials="" surname="Jung, H. et al." fullname="H. Jung et al."/>
            <date month="October" year="2015"/>
          </front>
          <seriesInfo name="DOI" value="10.4218/etrij.15.2415.0045"/>
          <refcontent>ETRI Journal, Vol. 37, Issue 5</refcontent>
        </reference>

        <reference anchor="SA2-5GLAN" target="http://www.3gpp.org/ftp/tsg_sa/TSG_SA/TSGS_82/Docs/SP-181120.zip">
          <front>
            <title>New WID: 5GS Enhanced support of Vertical and LAN Services</title>
            <author><organization>3GPP</organization></author>
            <date month="December" year="2018"/>
          </front>
          <refcontent>TSG SA Meeting #SP-82</refcontent>
        </reference>

      <reference anchor="Bari">
          <front>
            <title>A Survey of Naming and Routing in Information-Centric Networks</title>
            <author initials="M.F." surname="Bari" fullname="M.F. Bari"/>
            <author initials="S.R." surname="Chowdhury" fullname="S.R. Chowdhury"/>
            <author initials="R." surname="Ahmed" fullname="R. Ahmed"/>
            <author initials="R." surname="Boutaba" fullname="R. Boutaba"/>
            <author initials="B." surname="Mathieu" fullname="B. Mathieu"/>
            <date month="December" year="2012"/>
          </front>
          <seriesInfo name="DOI" value="10.1109/MCOM.2012.6384450"/>
          <refcontent>IEEE Communications Magazine, Vol. 50, No. 12, pp. 44-53</refcontent>
        </reference>

      <reference anchor="Westphal">
          <front>
            <title>An IP-Based Manifest Architecture for ICN</title>
            <author initials="C." surname="Westphal" fullname="C. Westphal"/>
            <author initials="E." surname="Demirors" fullname="E. Demirors"/>
            <date month="September" year="2015"/>
          </front>
          <seriesInfo name="DOI" value="10.1145/2810156.2812614"/>
          <refcontent>ACM-ICN 2015</refcontent>
        </reference>

<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6920.xml"/>

      <reference anchor="Zhang2">
          <front>
            <title>A Survey of Mobility Support in Named Data Networking</title>
            <author initials="" surname="Zhang, Y. et al." fullname="Y. Zhang et al."/>
            <date month="April" year="2016"/>
          </front>
          <seriesInfo name="DOI" value="10.1109/INFCOMW.2016.7562050"/>
          <refcontent>IEEE Conference on Computer Communications Workshops</refcontent>
        </reference>

        <reference anchor="Dannewitz">
          <front>
            <title> Network of Information (NetInf) - An information-centric networking architecture </title>
            <author initials="" surname="Dannewitz, C. et al." fullname="C. Dannewitz et al."/>
            <date month="April" year="2013"/>
          </front>
          <seriesInfo name="DOI" value="10.1016/j.comcom.2013.01.009"/>
          <refcontent>Computer Communications, Vol. 36, Issue 7</refcontent>
        </reference>

<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ravi-icnrg-ccn-forwarding-label.xml"/>

        <reference anchor="Afanasyev">
          <front>
            <title>SNAMP: Secure Namespace Mapping to Scale NDN Forwarding </title>
            <author initials="" surname="Afanasyev, A. et al." fullname="A. Afanasyev et al."/>
            <date month="April" year="2015"/>
          </front>
          <seriesInfo name="DOI" value="10.1109/INFCOMW.2015.7179398"/>
          <refcontent>2015 IEEE Conference on Computer Communications Workshops </refcontent>
        </reference>

        <reference anchor="Mosko2" target="https://datatracker.ietf.org/meeting/interim-2016-icnrg-01/materials/slides-interim-2016-icnrg-1-7.pdf">
          <front>
            <title>Nameless Objects </title>
            <author initials="M." surname="Mosko" fullname="M. Mosko"/>
            <date month="January" year="2016"/>
          </front>
          <refcontent>IRTF ICNRG</refcontent>
        </reference>

        <reference anchor="Bayhan">
          <front>
            <title>On Content Indexing for Off-Path Caching in Information-Centric Networks </title>
            <author initials="" surname="Bayhan, S. et al." fullname="S. Bayhan et al."/>
            <date month="September" year="2016"/>
          </front>
          <seriesInfo name="DOI" value="10.1145/2984356.2984372"/>
          <refcontent>ACM-ICN 2016</refcontent>
        </reference>

<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.irtf-icnrg-flic.xml"/>

        <reference anchor="NEO">
          <front>
            <title>A DNS-based information-centric network architecture open to multiple protocols for transfer of data objects </title>
            <author initials="A." surname="Eriksson" fullname="A. Eriksson"/>
            <author initials="A.M." surname="Malik" fullname="A.M. Malik"/>
            <date month="February" year="2018"/>
          </front>
          <seriesInfo name="DOI" value="10.1109/ICIN.2018.8401595"/>
          <refcontent>21st Conference on Innovation in Clouds, Internet and Networks and Workshops (ICIN), pp. 1-8</refcontent>
        </reference>

<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.irtf-icnrg-nrsarch-considerations.xml"/>

<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9064.xml"/>

      </references>
    </references>
    <section anchor="Acknowledgments" numbered="false" toc="include">
      <name>Acknowledgements</name>
      <t>
          The authors would like to thank <contact fullname="Dave Oran"/>, <contact fullname="Dirk Kutscher"/>, <contact fullname="Ved Kafle"/>, <contact fullname="Vincent Roca"/>, <contact fullname="Marie-Jose Montpetit"/>, <contact fullname="Stephen Farrell"/>, <contact fullname="Mirja Kühlewind"/>,
          and <contact fullname="Colin Perkins"/> for very useful reviews, comments, and improvements
          to the document.
      </t>
    </section>
  </back>
</rfc>
