RFC 9138
Design Considerations for Name Resolution Service in Information-Centric Networking (ICN)
RFC 9138: Design Considerations for Name Resolution Service in Information-Centric Networking (ICN) ๐
Okay bestie, let's set the scene ๐ This is RFC 9138, published in November 2021. It's Informational, which means it's for sharing knowledge and not a standard ๐ It comes from the IRTF (Internet Research Task Force), and the ISSN is 2070-1721. The authors are J. Hong and T. You (ETRI), L. Dong and C. Westphal (Futurewei Technologies Inc.), and B. Ohlman (Ericsson). The title block doesn't say it obsoletes or updates anything, so it's standing on its own ๐ฆ
Abstract โจ
This doc gives the functions and design considerations for a Name Resolution Service (NRS) in Information-Centric Networking (ICN) ๐ง The whole point of an NRS in ICN is to take an object name and translate it into some other information, like a locator or another name, so the object request can actually be forwarded ๐ This document is a product of the Information-Centric Networking Research Group (ICNRG).
Status of This Memo ๐
This document is not an Internet Standards Track specification. It's published for informational purposes ๐
This document is a product of the Internet Research Task Force (IRTF), which publishes the results of Internet-related research and development activities. Those results might not be suitable for deployment, so keep that in mind ๐ This RFC represents the consensus of the Information-Centric Networking Research Group of the IRTF. Documents approved for publication by the IRSG are not candidates for any level of Internet Standard. See Section 2 of RFC 7841 for the details ๐
Info about the current status of this document, any errata, and how to send feedback is at https://www.rfc-editor.org/info/rfc9138 ๐
Copyright Notice ๐ธ
Copyright (c) 2021 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as they're in effect on the date this document was published. Please read these carefully, because they spell out your rights and restrictions for this document ๐
Table of Contents ๐๏ธ
1. Introduction
2. Name Resolution Service in ICN
2.1. Explicit Name Resolution Approach
2.2. Name-Based Routing Approach
2.3. Hybrid Approach
2.4. Comparisons of Name Resolution Approaches
3. Functionalities of NRS in ICN
3.1. Support Heterogeneous Name Types
3.2. Support Producer Mobility
3.3. Support Scalable Routing System
3.4. Support Off-Path Caching
3.5. Support Nameless Object
3.6. Support Manifest
3.7. Support Metadata
4. Design Considerations for NRS in ICN
4.1. Resolution Response Time
4.2. Response Accuracy
4.3. Resolution Guarantee
4.4. Resolution Fairness
4.5. Scalability
4.6. Manageability
4.7. Deployed System
4.8. Fault Tolerance
4.9. Security and Privacy
4.9.1. Confidentiality
4.9.2. Authentication
4.9.3. Integrity
4.9.4. Resiliency and Availability
5. Conclusion
6. IANA Considerations
7. Security Considerations
8. References
8.1. Normative References
8.2. Informative References
Acknowledgements
Authors' Addresses
1. Introduction ๐ฆ
Today's Internet runs on a host-centric networking model. Hosts are identified by IP addresses, and any pair of hosts can talk to each other. So the information on today's Internet is identified by the name of the host (or server) where it's stored ๐ป Information-Centric Networking (ICN) flips that. Its main communication objects are the named data objects (NDOs), and each one is uniquely identified by a location-independent name โจ ICN is all about getting NDOs around efficiently and at global scale. It's been recognized as a promising candidate for a future Internet architecture that fixes limitations of today's Internet, like scalability and mobility [Ahlgren] [Xylomenos]. ICN is also showing up as a candidate in the Internet of Things (IoT) because IoT cares about data and information [Baccelli] [Amadeo] [Quevedo] [Amadeo2] [ID.Zhang2] ๐ท
Naming data separately from where it's stored is a core ICN idea, so the big challenge is how to find any NDO using a location-independent name ๐งฉ ICN routing may involve three steps [RFC7927]:
- Name resolution: matches or translates a content name to the locator of the content producer or source that can provide the content ๐
- Content request routing: routes the content request toward the content's location, based on either its name or its locator ๐ฃ๏ธ
- Content delivery: transfers the content to the requester ๐ฆ
This document only looks at the name resolution step, which translates a content name into a content locator ๐ It also covers the different kinds of name resolution in ICN, like name to name, name to locator, name to manifest, name to metadata, and so on ๐
The star of this doc is the Name Resolution Service (NRS) itself, as a service or system in ICN. It gives the functions and design considerations for an NRS in ICN, plus an overview of the NRS approaches in ICN โจ Its companion document, [NRSarch], looks at the ICN architecture and routing system from the angle of using an NRS in ICN ๐ง
This document represents the consensus of the Information-Centric Networking Research Group (ICNRG). It was reviewed extensively by the Research Group (RG) members who are actively working on the technology it covers ๐ซถ It is not an IETF product and it is not a standard.
2. Name Resolution Service in ICN ๐
An NRS in ICN is the service that handles name resolution, which translates an object name into some other information, like a locator, another name, metadata, or next-hop info, that's used to forward the object request ๐ In other words, an NRS is a service the ICN infrastructure can offer to help a consumer reach a specific piece of information (or named data object) ๐ The consumer gives the NRS a persistent name, and the NRS returns a name or locator (or potentially several names and locators) that can reach a current instance of the requested object ๐
Name resolution is a necessary part of ICN routing ๐ธ It can either be split off from content request routing as an explicit process, or it can be blended into content request routing as an implicit process. The first is called the "explicit name resolution approach" in this document, and the second is called the "name-based routing approach" ๐
2.1. Explicit Name Resolution Approach ๐ท
An NRS could take the explicit name resolution approach. It returns the content's locators to the client, and the underlying network then uses those locators as identifiers to route the client's request to one of the producers or to a copy of the content ๐ Several ICN projects use this approach, including Data-Oriented Network Architecture (DONA) [Koponen], PURSUIT [PURSUIT], Network of Information (NetInf) [SAIL], MobilityFirst [MF], IDNet [Jung], and more ๐ The explicit name resolution approach has also been allowed for 5G control planes [SA2-5GLAN] ๐ก
2.2. Name-Based Routing Approach ๐ฆ
An NRS could take the name-based routing approach, which folds name resolution into content request message routing. Named Data Networking / Content-Centric Networking (NDN/CCNx) does this [NDN] [CCNx] โจ
When the content request also specifies the reverse path, like in NDN/CCNx, the name resolution mechanism also works out the routing path for the data ๐ง That adds a requirement: the name resolution service has to propagate the request in a way that matches the later data forwarding. Basically, the request must select a path for the data based on finding a copy of the content, but it also has to make sure the data actually gets delivered ๐
2.3. Hybrid Approach ๐
An NRS could also take a hybrid approach. For example, it can try the name-based routing approach first. If that fails at a certain router, the router can fall back to the explicit name resolution approach ๐ The hybrid NRS approach also works the other way around: it first does explicit name resolution to find the locators of routers, then routes the client's request using the name-based routing approach ๐ง
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). That way, only a few of the nodes in the ICN network have to do name resolution in the name-based routing approach ๐ซง
2.4. Comparisons of Name Resolution Approaches
okay so let's compare the explicit name resolution and name-based routing approaches across a few aspects ๐ โจ
- Overhead due to the maintenance of the content location: content reachability is super dynamic ๐ new content gets cached, old content expires from a cache, producers can move around, and so on. Keeping everyone's view of where content lives consistent across the network costs some overhead, and that overhead is different for each approach. The name-based routing approach may need to flood parts of the network to propagate updates. In the worst case it may flood the whole network (but mitigating techniques can be used to scope the flooding ๐ซถ). The explicit name resolution approach only needs to propagate updates within part of the name resolution system, which could be an overlay with a limited number of nodes ๐ฆ
- Resolution capability: if the explicit name resolution approach is designed and deployed with sufficient robustness, it can offer at least weak guarantees that resolution will succeed for any content name in the network, as long as that name is registered to the name resolution overlay ๐. With name-based routing, resolution depends on the flooding scope of the content names (that is, the content publishing message and the resulting name-based routing tables) ๐ธ. For example, when content is cached, the router may only notify its direct neighbors about it. So only those neighboring routers can build a name-based entry for this cached content. But if those neighbors keep propagating the information, the other nodes can direct traffic to this cached copy too ๐ง
- Node failure impact: in the explicit name resolution approach, the nodes involved are the name resolution overlay servers (for example, resolution handlers in DONA) ๐ฅ๏ธ. In the name-based routing approach, the nodes involved are routers that forward messages based on name-based routing tables (for example, 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 ๐ฃ๏ธ
- Maintained databases: the storage usage differs between the two approaches ๐๏ธ. The explicit name resolution approach typically needs to maintain two databases: the name-to-locator mapping in the name resolution overlay, and the routing tables in the routers on the data forwarding plane. The name-based routing approach only needs to maintain the name-based routing tables ๐
Additionally, some other intermediary step may be included in name resolution, namely the mapping of one name to other names, in order to help retrieve named content by way of a manifest [Westphal] [RFC8569] ๐. The manifest is resolved using one of the two approaches above, and it may include further mapping of names to content and location. So the steps for name resolution 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 using these names and/or location, which can potentially result in additional name resolutions ๐
Thus, no matter which approach an NRS in ICN takes, name resolution is the essential function that shall be provided by the ICN infrastructure ๐
3. Functionalities of NRS in ICN โจ
okay, this section is where we get into what an NRS in ICN actually has to do ๐
3.1. Support Heterogeneous Name Types
in ICN, a name is used to identify the data object and is bound to it [RFC7927] ๐ท๏ธ. ICN needs uniqueness and persistency of the name of the data object so the object stays reachable within a certain scope. There are heterogeneous approaches to designing ICN naming schemes [Bari] ๐. Ideally, a name can include any form of identifier, whether it's flat or hierarchical, human readable or non-readable.
even though there are lots of naming schemes out there, they all need to provide the basic functions of identifying a data object, supporting named data lookup, and routing ๐งฉ. An NRS may combine the best bits of different schemes. Basically, an NRS should be able to support a generic naming schema, so it can resolve any type of content name, whether it's flat, hierarchical, attribute based, or anything else ๐
in PURSUIT [PURSUIT], names are flat, and the rendezvous functions are defined for an NRS. These are implemented by a set of rendezvous nodes (RNs), known as the rendezvous network (RENE) ๐. A name consists of a sequence of scope IDs, and a single rendezvous ID is routed by the RNs in RENE. So PURSUIT decouples name resolution and data routing, with the NRS performed by the RENE ๐ซง
in MobilityFirst [MF], a name known as a "Global Unique Identifier (GUID)" is derived from a human-readable name via a global naming service. It's a flat typed 160-bit string with self-certifying properties ๐. So MobilityFirst defines a Global Name Resolution Service (GNRS), which resolves GUIDs to network addresses and decouples name resolution and data routing in a similar way to PURSUIT ๐
in NetInf [Dannewitz], information objects are named using Named Information (NI) names [RFC6920]. These consist of an authority part and a digest part (a content hash) ๐. The NI names can be flat, since the authority part is optional. So 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 CCNx [CCNx], names are hierarchical and may look 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 a 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) ๐
3.2. Support Producer Mobility
ICN inherently supports mobility by consumers ๐โโ๏ธ. Namely, consumer or client mobility is handled by re-requesting the content in case a mobility event (say, a handover) happens before the corresponding content is received from the network. Since ICN can ensure that content reception continues without disruption in ICN applications, seamless mobility from the consumer's point of view can be easily supported ๐ฅฐ
however, producer mobility doesn't come out naturally from the ICN forwarding model the way consumer mobility does ๐. If a producer moves to a different network location or a different name domain (one assigned by another authoritative publisher), it would be difficult for mobility management to update the Routing Information Base (RIB) and FIB entries in ICN routers with the new forwarding path in a very short time. That's why various ICN architectures in the literature have proposed adopting an NRS to achieve producer or publisher mobility. The NRS can be implemented in different ways, such as rendezvous points and/or overlay mapping systems ๐ธ
in NDN [Zhang2], 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. For MP chasing, the 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 lets the consumer's Interest message tunnel towards the MP at the PoA ๐. For rendezvous data, the solution involves moving the data produced by the MP to a data depot instead of forwarding Interest messages. So a consumer's Interest message can be forwarded to a stationary place called a "data rendezvous," which would either return the data or fetch it using another mapping solution ๐ฆ. Therefore, RV or other mapping functions play the role of an NRS in NDN ๐
in [Ravindran], the forwarding label (FL) object is used to split the identifier (ID) and locator (LID) namespaces in ICN ๐งญ. Generally, IDs are managed by applications, while locators are managed by a network administrator. That way, IDs are mapped to heterogeneous name schemes, and LIDs are mapped to network domains or to specific network elements. So 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 the control plane infrastructure can be considered an NRS in this draft ๐
in MobilityFirst [MF], both consumer and publisher mobility can be mainly handled by the global name resolution service (GNRS), which resolves GUIDs to network addresses. So the GNRS must be updated for mobility support when a network-attached object changes its point of attachment. This differs from NDN/CCNx ๐ท
in NetInf [Dannewitz], mobility is handled by an NRS in a very similar way to MobilityFirst ๐ซถ
besides consumer and producer mobility, ICN also faces challenges supporting other dynamic features, such as multi-homing, migration, and replication of named resources like content, devices, and services ๐. So an NRS can help support these dynamic features too ๐ฆ
3.3. Support Scalable Routing System
in ICN, the name of a data object is used for routing, either through a name resolution step or a routing table lookup ๐บ๏ธ. So routing information for each data object should be maintained in the routing base, such as the RIB and FIB. Since the number of data objects would be very large, the size of these information bases would be significantly larger as well [RFC7927] ๐
the hierarchical namespace used in the CCNx [CCNx] and NDN [NDN] architectures reduces the size of these tables through name aggregation, which 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 than the scalability issues of the IP routing system. So an NRS may play an important role in reducing the routing scalability problem, regardless of the type of namespace ๐ซ
in [Afanasyev], 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 don't exist in the DFZ forwarding table can be retrieved by a distributed mapping system called NDNS. NDNS maintains and looks up the mapping information from a name to its globally routed prefixes, and NDNS is a kind of NRS ๐
3.4. Support Off-Path Caching ๐ธ
okay so in-network caching is basically a core building block of any ICN architecture, no cap ๐ง It can give users a better quality-of-service (QoS) experience, cut down overall network traffic, help stop network congestion and denial-of-service (DoS) attacks, and boost availability โจ Caches can be sorted into off-path and on-path caches depending on where they sit relative to the forwarding path between the original server and the consumer. Off-path caching, also called "content replication" or "content storing", is all about copying content around the network to make it more available, and it doesn't care whether the cache is on the forwarding path or not ๐ That's why finding off-path cached objects isn't trivial with name-based routing in ICN ๐ To support off-path caches, replicas are usually advertised into a name-based routing system or into an NRS.
In [Bayhan], an NRS is used to find off-path copies around the network, even ones that name-based routing mechanisms can't reach ๐ This is so helpful for an Autonomous System (AS): it can avoid costly inter-AS traffic for external content, get better bandwidth efficiency for intra-AS traffic, and cut the data access latency for a smoother user experience ๐ซถ
3.5. Support Nameless Object ๐ฆ
okay this one is so cool. In CCNx 1.0 [Mosko2], there's a concept called a "Nameless Object", which is a Content Object without a name ๐คฏ The whole point is to move content between storage replicas without having to rename or re-sign the Content Objects for a new name. Nameless Objects can be addressed by the ContentObjectHash, which is used to restrict Content Object matching with a SHA-256 hash ๐
So an Interest message still carries both a name and a ContentObjectHash. The name is used for routing, and the ContentObjectHash is used for matching โจ On the reverse path, if the Content Object's name is missing, then it's a "Nameless Object" and it only matches against the ContentObjectHash ๐ That means a consumer needs to resolve the proper name and hashes through an outside system, which can be considered an NRS. iykyk ๐ญ
3.6. Support Manifest ๐
for collections of data objects that are organized as large, file-like contents [FLIC], manifests are the data structures that carry this info around ๐ Manifests can contain hash digests of signed Content Objects or of other manifests, so that large Content Objects representing a big piece of application data can be collected using one manifest ๐
To request Content Objects, a consumer needs to know a manifest root name so it can acquire the manifest. In the case of File-Like ICN Collections (FLIC), a manifest name can be represented by a nameless root manifest, so an outside system such as an NRS may get involved to hand this info to the consumer ๐ง
3.7. Support Metadata ๐
when resolving the name of a Content Object, an NRS could return a rich set of metadata along with 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 to pick an object transfer protocol, a security mechanism, an egress interface, and so on ๐ An example of how metadata can be used like this is in the Networked Object (NEO) ICN architecture [NEO], which is giving main character energy โญ
4. Design Considerations for NRS in ICN โจ
this section is where we talk about the design considerations for NRS in ICN ๐ซถ
4.1. Resolution Response Time โฑ๏ธ
the name resolution process should give a response within a reasonable amount of time ๐ธ The response should either be a proper mapping of the name to a copy of the content, or an error message saying no such object exists. If name resolution doesn't map to a location, the system may not issue any response at all, so the client should set a timer when it sends a request and treat the resolution as incomplete once the timer expires โฐ
The acceptable response delay could be on the order of a round-trip time between the client sending the request and the NRS servers that answer it. This RTT can vary a lot depending on how close the two endpoints are, so some upper bound needs to be used ๐ฆ Especially in delay-sensitive scenarios like the industrial Internet and telemedicine, the upper bound of the response delay must be guaranteed ๐
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 ๐งฉ
4.2. Response Accuracy ๐ฏ
an NRS must provide an accurate response, meaning 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 then sends the content back ๐ฌ
an NRS must also provide an up-to-date response, meaning an NRS should be updated within a reasonable time when new copies of the content are stored in the network. Not every transient cache addition or eviction should trigger an NRS update, but some origin servers may move and need the NRS to be updated ๐
an NRS must provide mechanisms to update the mapping of content to its location. Specifically, an NRS must provide a way for a content provider to add new content, revoke old, dated, or obsolete content, and modify existing content. Any content update should then be propagated through the NRS system within a reasonable delay ๐
Content that is highly mobile may require specifying some type of anchor that is kept at the NRS instead of the content location ๐ช
4.3. Resolution Guarantee ๐
an NRS must ensure that name resolution succeeds with high probability if the name-matching content exists in the network, no matter how popular it is or how many cached copies exist ๐ฏ As we said in Section 4.1, some resolutions may not happen in a timely manner, but the probability of that should be minimized ๐ The NRS system may provide a probability (five 9s or five sigmas, for instance) that a resolution will be satisfied ๐งฎ
4.4. Resolution Fairness โ๏ธ
an NRS could provide this service for all content in a fair way, no matter 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 doesn't depend on the properties of the content itself. Fairness may also be defined as the number of requests answered per unit of time ๐
it's notable, though, that content (or its associated producer) may request a different level of QoS from the network (see [RFC9064], for instance), and that can include the NRS too ๐ In that case, fairness considerations may be limited to content within the same class of service ๐
4.5. Scalability ๐
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's 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 all be efficient and scalable ๐ช
the NRS system must scale up with the number of pieces of content (content names), and it should be able to support a content catalog that is extremely large ๐ Internet traffic is on the order of zettabytes per year (10^21 bytes). Since NRS is tied to actual traffic, the number of pieces of content should scale with the amount of traffic ๐ Content size may range from a few bytes to several GB, so the NRS should be expected to scale up to a catalog of the size of 10^21 in the near future, and larger beyond ๐
the NRS system must be able to scale up, meaning it must be possible to add NRS servers to the NRS system in a way that's transparent to users ๐ง Adding a new server should have a limited negative impact on the other NRS servers (or a negative impact on only a small subset of them). Adding new servers may cause some overhead at the other servers as they rebuild a hierarchy or exchange messages to include the new server in the service ๐ง Data may also be shared among the new servers for load balancing or fault tolerance. These steps should not disrupt the service the NRS provides, and they should improve quality of service in the long run ๐ท
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 interacting with the NRS system would not be too costly ๐ An IoT node, for instance, should be able to access the NRS system just as well as a more powerful node ๐ซถ
The NRS system should scale up in its responsiveness to the increased request rate expected from applications like IoT or machine-to-machine (M2M), where data is frequently generated and/or requested ๐ก
4.6. Manageability ๐ ๏ธ
the NRS system must be manageable, since parts of the system may grow or shrink dynamically and an NRS system node may be added or deleted frequently ๐ฑ
The NRS system may support an NRS management layer that allows NRS nodes to be added or subtracted. To work out the circumstances, the management layer can measure the network status ๐
4.7. Deployed System ๐
the NRS system must be deployable, since deployability matters a lot for a real-world system ๐ The NRS system must be deployable in network edges and cores so that consumers and ICN routers can both perform name resolution with very low latency โก
4.8. Fault Tolerance ๐ก๏ธ
the NRS system must ensure resiliency when NRS servers fail. The failure of a small subset of nodes should not significantly impact NRS performance ๐ช
After an NRS server fails, the NRS system must be able to recover and/or restore the name records stored in that server ๐พ
4.9. Security and Privacy ๐
okay, bestie, this part is serious ๐ There are real security considerations for the NRS servers/nodes and for the name mapping records stored in the NRS system, so pay close attention.
when using 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 ๐
4.9.1. Confidentiality โจ
okay bestie, confidentiality is the big one ๐๐ name mapping records in the NRS system must be given proper access rights, so the info inside them never gets revealed to unauthorized users. no peeking, periodt ๐
the NRS system may support access control for certain records ๐ one way is a reference monitor that uses client authentication, so only users with the right credentials can access those records, and they don't get shared with unauthorized users. another way is encryption-based techniques, where you control the keys to control how the mappings get propagated ๐๏ธโจ
the NRS system may also support obfuscation and/or encryption mechanisms so the content of a resolution request isn't accessible to third parties outside the NRS system ๐ฆ hiding the request from outsiders is giving main character energy
the NRS system must keep confidentiality to stop sensitive name mapping records from being reached by unauthorized data requesters ๐ this is even more required in IoT environments, where tons of sensitive data gets produced ๐ญ
the NRS system must also keep confidentiality of metadata and NRS usage to protect users' privacy ๐ซถ for example, one user's NRS requests should not be shared outside the NRS system, unless it's legal intercept ๐
4.9.2. Authentication ๐ง
NRS server authentication: new NRS servers and nodes that want to register with the NRS system must be required to authenticate, so only authenticated entities can store and update name mapping records ๐ the NRS system should also detect an attacker pretending to be a fake NRS server, whether they're trying to cause service disruption or manipulate name mapping records. not me spotting the fake ๐
Producer authentication: the NRS system must support authenticating content producers ๐ธ this makes sure the updates, additions, and removals of name mapping records that producers ask for are actually valid, and that producers are authorized to modify or revoke those records or add new ones ๐
Mapping record authentication: the NRS should verify new mapping records as they're being registered ๐ that way the system can't get polluted with falsified information or invalid records. ngl this is the bouncer at the door โจ
4.9.3. Integrity ๐
the NRS system must be protected from malicious users who try to hijack or corrupt the name mapping records. hands off, no cap ๐ซ๐
4.9.4. Resiliency and Availability โญ
the NRS system should be resilient against denial-of-service attacks and other common attacks ๐ก๏ธ the goal is to isolate the impact of an attack and prevent collateral damage to the entire system. so if part of the NRS system fails, that failure should only affect a local domain ๐งฑ and fast recovery mechanisms need to be in place to bring the service back to normal โก the comeback is everything
5. Conclusion ๐ธ
okay so ICN routing may be made up of three steps: name resolution, content request routing, and content delivery ๐ค๏ธ this document looks at name resolution, which is the first step and the most important one for ICN routing to actually work ๐
the Name Resolution Service (NRS) in ICN is defined as the service that does name resolution. it translates an object name into some other info, like a locator, another name, metadata, next-hop info, and so on, which is then used to forward the object request ๐ฆ
this document sorts the NRS approaches by whether the name resolution step is separated from content request routing as an explicit process or not ๐ it also explains the NRS functions that support heterogeneous name types, producer mobility, scalable routing systems, off-path caching, nameless objects, manifests, and metadata ๐ง finally, it presents design considerations for NRS in ICN: resolution response time and accuracy, resolution guarantee, resolution fairness, scalability, manageability, deployed system, and fault tolerance ๐ iconic lineup, honestly
6. IANA Considerations ๐ฆ
this document has no IANA actions โจ nothing to register here, bestie
7. Security Considerations ๐
for security guidelines, check out Section 4.9 ๐ it's where all the security drama lives ๐
8. References ๐
8.1. Normative References ๐
[RFC7927] Kutscher, D., Ed., Eum, S., Pentikousis, K., Psaras, I.,
Corujo, D., Saucez, D., Schmidt, T., and M. Waehlisch,
"Information-Centric Networking (ICN) Research
Challenges", RFC 7927, DOI 10.17487/RFC7927, July 2016,
<https://www.rfc-editor.org/info/rfc7927>.
8.2. Informative References ๐โจ
okay so these are the bibliography bits that help you dig deeper, bestie ๐ง they aren't required to implement anything, but they're giving great background reading ๐
- [Afanasyev] Afanasyev, A. et al., "SNAMP: Secure Namespace Mapping to Scale NDN Forwarding", 2015 IEEE Conference on Computer Communications Workshops, DOI 10.1109/INFCOMW.2015.7179398, April 2015,
<https://doi.org/10.1109/INFCOMW.2015.7179398>. - [Ahlgren] Ahlgren, B., Dannewitz, C., Imbrenda, C., Kutscher, D., and B. Ohlman, "A Survey of Information-Centric Networking", IEEE Communications Magazine, Vol. 50, Issue 7, DOI 10.1109/MCOM.2012.6231276, July 2012,
<https://doi.org/10.1109/MCOM.2012.6231276>. - [Amadeo] Amadeo, M., Campolo, C., Iera, A., and A. Molinaro, "Named data networking for IoT: An architectural perspective", European Conference on Networks and Communications (EuCNC), DOI 10.1109/EuCNC.2014.6882665, June 2014,
<https://doi.org/10.1109/EuCNC.2014.6882665>. - [Amadeo2] Amadeo, M. et al., "Information-centric networking for the internet of things: challenges and opportunities", IEEE Network, Vol. 30, No. 2, DOI 10.1109/MNET.2016.7437030, March 2016,
<https://doi.org/10.1109/MNET.2016.7437030>. - [Baccelli] Baccelli, E., Mehlis, C., Hahm, O., Schmidt, T., and M. Wรคhlisch, "Information Centric Networking in the IoT: Experiments with NDN in the Wild", ACM-ICN 2014, DOI 10.1145/2660129.2660144, 2014,
<https://doi.org/10.1145/2660129.2660144>. - [Bari] Bari, M.F., Chowdhury, S.R., Ahmed, R., Boutaba, R., and B. Mathieu, "A Survey of Naming and Routing in Information-Centric Networks", IEEE Communications Magazine, Vol. 50, No. 12, pp. 44-53, DOI 10.1109/MCOM.2012.6384450, December 2012,
<https://doi.org/10.1109/MCOM.2012.6384450>. - [Bayhan] Bayhan, S. et al., "On Content Indexing for Off-Path Caching in Information-Centric Networks", ACM-ICN 2016, DOI 10.1145/2984356.2984372, September 2016,
<https://doi.org/10.1145/2984356.2984372>. - [CCNx] "CICN",
<https://wiki.fd.io/view/Cicn>. - [Dannewitz] Dannewitz, C. et al., "Network of Information (NetInf) - An information-centric networking architecture", Computer Communications, Vol. 36, Issue 7, DOI 10.1016/j.comcom.2013.01.009, April 2013,
<https://doi.org/10.1016/j.comcom.2013.01.009>. - [FLIC] Tschudin, C., Wood, C. A., Mosko, M., and D. Oran, "File-Like ICN Collections (FLIC)", Work in Progress, Internet-Draft, draft-irtf-icnrg-flic-03, 7 November 2021,
<https://datatracker.ietf.org/doc/html/draft-irtf-icnrg-flic-03>. - [ID.Zhang2] Ravindran, R., Zhang, Y., Grieco, L. A., Lindgren, A., Burke, J., Ahlgren, B., and A. Azgin, "Design Considerations for Applying ICN to IoT", Work in Progress, Internet-Draft, draft-irtf-icnrg-icniot-03, 2 May 2019,
<https://datatracker.ietf.org/doc/html/draft-irtf-icnrg-icniot-03>. - [Jung] Jung, H. et al., "IDNet: Beyond All-IP Network", ETRI Journal, Vol. 37, Issue 5, DOI 10.4218/etrij.15.2415.0045, October 2015,
<https://doi.org/10.4218/etrij.15.2415.0045>. - [Koponen] Koponen, T., Chawla, M., Chun, B., Ermolinskiy, A., Kim, K.H., Shenker, S., and I. Stoica, "A Data-Oriented (and Beyond) Network Architecture", ACM SIGCOMM 2007, pp. 181-192, DOI 10.1145/1282380.1282402, August 2007,
<https://doi.org/10.1145/1282380.1282402>. - [MF] "MobilityFirst Future Internet Architecture Project Overview",
<http://mobilityfirst.winlab.rutgers.edu>. - [Mosko2] Mosko, M., "Nameless Objects", IRTF ICNRG, January 2016,
<https://datatracker.ietf.org/meeting/interim-2016-icnrg-01/materials/slides-interim-2016-icnrg-1-7.pdf>. - [NDN] "Named Data Networking",
<http://www.named-data.net>. - [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, DOI 10.1109/ICIN.2018.8401595, February 2018,
<https://doi.org/10.1109/ICIN.2018.8401595>. - [NRSarch] Hong, J., You, T., and V. Kafle, "Architectural Considerations of ICN using Name Resolution Service", Work in Progress, Internet-Draft, draft-irtf-icnrg-nrsarch-considerations-06, 12 February 2021,
<https://datatracker.ietf.org/doc/html/draft-irtf-icnrg-nrsarch-considerations-06>. - [PURSUIT] "FP7 PURSUIT",
<https://www.fp7-pursuit.eu/>. - [Quevedo] Quevedo, J., Corujo, D., and R. Aguiar, "A case for ICN usage in IoT environments", IEEE GLOBECOM, DOI GLOCOM.2014.7037227, December 2014,
<https://doi.org/GLOCOM.2014.7037227>. - [Ravindran] Ravindran, R., Chakraborti, A., and A. Azgin, "Forwarding Label support in CCN Protocol", Work in Progress, Internet-Draft, draft-ravi-icnrg-ccn-forwarding-label-02, 5 March 2018,
<https://datatracker.ietf.org/doc/html/draft-ravi-icnrg-ccn-forwarding-label-02>. - [RFC6920] Farrell, S., Kutscher, D., Dannewitz, C., Ohlman, B., Keranen, A., and P. Hallam-Baker, "Naming Things with Hashes", RFC 6920, DOI 10.17487/RFC6920, April 2013,
<https://www.rfc-editor.org/info/rfc6920>. - [RFC8569] Mosko, M., Solis, I., and C. Wood, "Content-Centric Networking (CCNx) Semantics", RFC 8569, DOI 10.17487/RFC8569, July 2019,
<https://www.rfc-editor.org/info/rfc8569>. - [RFC9064] Oran, D., "Considerations in the Development of a QoS Architecture for CCNx-Like Information-Centric Networking Protocols", RFC 9064, DOI 10.17487/RFC9064, June 2021,
<https://www.rfc-editor.org/info/rfc9064>. - [SA2-5GLAN] 3GPP, "New WID: 5GS Enhanced support of Vertical and LAN Services", TSG SA Meeting #SP-82, December 2018,
<http://www.3gpp.org/ftp/tsg_sa/TSG_SA/TSGS_82/Docs/SP-181120.zip>. - [SAIL] "Scalable and Adaptive Internet Solutions (SAIL)",
<http://www.sail-project.eu/>. - [Westphal] Westphal, C. and E. Demirors, "An IP-Based Manifest Architecture for ICN", ACM-ICN 2015, DOI 10.1145/2810156.2812614, September 2015,
<https://doi.org/10.1145/2810156.2812614>. - [Xylomenos] Xylomenos, G., Ververidis, C., Siris, V., Fotiou, N., Tsilopoulos, C., Vasilakos, X., Katsaros, K., and G. Polyzos, "A Survey of Information-Centric Networking Research", IEEE Communications Surveys and Tutorials, Vol. 16, Issue 2, DOI 10.1109/SURV.2013.070813.00063, 2014,
<https://doi.org/10.1109/SURV.2013.070813.00063>. - [Zhang2] Zhang, Y. et al., "A Survey of Mobility Support in Named Data Networking", IEEE Conference on Computer Communications Workshops, DOI 10.1109/INFCOMW.2016.7562050, April 2016,
<https://doi.org/10.1109/INFCOMW.2016.7562050>.
Acknowledgements ๐ซถ
The authors would like to thank Dave Oran, Dirk Kutscher, Ved Kafle, Vincent Roca, Marie-Jose Montpetit, Stephen Farrell, Mirja Kรผhlewind, and Colin Perkins for very useful reviews, comments, and improvements to the document. ๐ bestie, that's a whole squad of legends ๐
Authors' Addresses ๐
these are the wonderful humans who wrote this thing ๐ฆ
Jungha Hong
ETRI
Yuseung-Gu
218 Gajeong-ro
Daejeon
34129
Republic of Korea
Email: jhong@etri.re.kr
Tae-Wan You
ETRI
Yuseung-Gu
218 Gajeong-ro
Daejeon
34129
Republic of Korea
Email: twyou@etri.re.kr
Lijun Dong
Futurewei Technologies Inc.
10180 Telesis Court
San Diego, CA 92121
United States of America
Email: lijun.dong@futurewei.com
Cedric Westphal
Futurewei Technologies Inc.
2330 Central Expressway
Santa Clara, CA 95050
United States of America
Email: cedric.westphal@futurewei.com
Bรถrje Ohlman
Ericsson Research
SE-16480 Stockholm
Sweden
Email: Borje.Ohlman@ericsson.com
That's the whole RFC, bestie! ๐๐
๐ฆ where this page comes from
- ietf: rfc9138 2021-12
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms