Information-Centric Networking: Terminology
draft-wissingh-icnrg-terminology-00
Information Centric Networking (ICN) is a new paradigm where network communications are accomplished by requesting named content, instead of sending packets to destination addresses. This document provides an overview of the terminology and definitions that have been used in describing this new paradigm. This document is a product of the IRTF Information-Centric Networking Research Group (ICNRG).
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 9, 2017.
Copyright (c) 2016 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 (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
Information-centric networking (ICN) is an approach to evolve the Internet infrastructure from the existing host-centric design to a data-centric architecture where named data becomes the essential network primitive. The ICN design directly names and secures data objects, making them independent of their location or means of transportation, and enabling native multicast delivery and ubiquitous in-network caching and replication of data objects.
As the work on this topic continues to evolve, many new terms are born over time. The goal of this document is to provide a complete collection of these terms with a corresponding definition. To help provide the context of the individual terms to be defined, in this draft we first sketch the bigger picture of an ICN network, introducing the basic concepts and identifying the major components in the architecture in section 2 after which in section 3 ICN related terms are listed by different categories.
In an ICN network data is fetched by names. This is accomplished by defining two types of network packet formats: interest packets that request a piece of named content and data packets that carry the requested content. Every data packet must be cryptographically signed which binds its name and content together. A basic set of ICN concepts is listed below:
Data Naming:
Within ICN, the granularity of names is on a per packet basis. This implies that if the size of a piece of content from an application exceeds the network packet size limit, the content is segmented into multiple data packets. Each of these individual data packets is then uniquely named with the content name concatenated with the segment number.
Each ICN data packet is also immutable. This is accomplished by assigning a version number to each piece of application content. When the content changes, the version number in its name changes as well.
Data-Centric Security:
Security within ICN concerns data authentication, confidentiality, and user privacy. Each ICN data packet carries a signature that binds the name and content of the data packet together, allowing a named packet to be fetched from anywhere while the application is still able to verify the validity of the data packet.
ICN node:
A node within an ICN network can fulfill the role of a data producer, a data consumer, and/or a forwarder for interest and data packets. When a forwarder has connectivity to neighbor nodes, it performs interest and data packet forwarding in real time. It can also behave like a packet mule, that is it may carry an interest or data packet over some distance before forwarding it to next node. An ICN node may also run routing protocols to assist its interest forwarding decisions.
Stateful forwarding plane:
Generally speaking, an ICN forwarder keeps three data structures: a Forwarding Interest Table (FIB), a Pending Interest Table (PIT), and a Content Store (CS). It also utilizes interest forwarding strategies which takes input from both FIB and measurements to make interest forwarding decisions. When a node receives an ICN interest packet, it checks its CS and PIT to find a matching name; if no match is found, the node records the interest in its PIT and forwards the interest to the next hop(s) towards the requested content based on the information in its FIB.
3.1. Generic terms
- Information-Centric Networking (ICN): a networking architecture that retrieves data packets as response to interest packets.
- Data packet (same as data, data object, content object packet, data message, named data object, named data): a network-level packet that carries payload, uniquely identified by a name, and is directly secured.
- Interest packet (same as interest, information request): a network-level packet that expresses the request for a data packet using either an exact name or a name prefix. An interest packet may optionally carry a set of additional restrictions (e.g. interest selectors). An interest may be associated with additional information to facilitate forwarding and can include interest lifetime, hop limit, forwarding hints, labels, etc. In different ICN designs, the set of additional associated information may vary.
- Data packet immutability: after a data packet is created, it cannot change. When content carried in the data packet is mutable, versioning should be used, so each version is uniquely identified. This allows disambiguation of coordination in distributed ICN networks that may not be always connected.
- Name (aka data name, interest name, content name): a unique identifier of the data packet. ICN name is expressive, flexible, and can be application-specific (akin HTTP URL), a name may encode information about application context, semantics, locations (topological, geographical, hyperbolic, etc.), service name, etc.
- Self-certifying name: a special type of data name that uses a packet ID as data name or uses a packet ID as part of the name
- Packet ID: a unique cryptographic identifier for a data packet. Typically, this is the cryptographic hash digest of a data packet, including its name, payload, meta information, and signature.
- Naming scheme (ICN naming scheme): a convention/agreement/specification for the data packet naming.
- Hierarchically structured naming (same as hierarchical naming, structured naming): the naming scheme that assigns and interprets name as a sequence of labels (name components) with hierarchical structure. A structure provides useful context information for the name.
- Flat naming: the naming scheme that assigns and interprets name as a single label (name component) without any internal structure. This can be considered a special (or degenerated) case of structured names.
- Name component (same as name segment): a sequence of octets and optionally a numeric type representing a single label in the hierarchical structured name.
- Name prefix: a sequence of name components from the beginning of a hierarchically structured name.
- Segmentation (same as chunking): a process of splitting large application content into a set of uniquely named data packets. When using hierarchically structured name, each created data packet has a common prefix and additional component representing the segment (chunk) number.
- Versioning: a process of assigning a unique name to the revision of the content carried in the data packet. When using a hierarchically structured name, the version of the data packet can be carried in a dedicated name component (e.g., prefix identifies data, unique version component identifies the revision of the data).
- Fragmentation: a process of splitting large data packets into smaller pieces so that they can be transmitted over the link with a smaller MTU size.
- Directly secured data packet: a data packet with inherent security properties (authenticity and optionally confidentiality), i.e., the security properties stay with the data packet regardless where it is stored and how it is retrieved.
- Data authenticator (content authenticator): a set of parameters carried in the data packet that is used to verify integrity and authenticity of the data packet. The Data authenticator can include a cryptographic signature (RSA, ECDSA, HMAC, etc.), meta information about the signature (e.g., validity period), and additional information to facilitate signature verification (e.g., key locator, key ID, HMAC tag identifier, etc.)
- Data confidentiality credentials: a set of parameters carried in the data packet that is used to identify how the confidential data can be decrypted by authorized consumers.
- ICN (public) key (same as ICN certificate): a data packet that carries public key or public key certificate as payload and may have additional meta information regarding the public key (e.g., validity period, signature time, etc.). The key belongs to the ICN key owner and can be associated with it implicitly through the name or explicitly through meta information.
- ICN key owner (same as Identity): an entity (user, device, program, program instance, module in the program instance, etc.) that owns the private key that corresponds to the ICN key.
- Key locator (same as ?): Parameter(s) that identify the ICN key, which can be the ICN key name, ICN key prefix, ICN key ID, etc.
- ICN key ID: Packet ID of the ICN (public) key.
- Trust model: a model or framework that defines trust relationships, i.e., which entity (represented by an ICN key) is authorized to sign which data packets.
- ICN key chain (certificate chain): a chain of ICN keys (certificates) wherein each key (certificate) is signed by its predecessor and the head of the chain is a trust anchor, i.e., its authenticity is assumed.
- Trust schema: a formal description of a trust model, e.g., in the form of a set of name-based relationships between data and key names and a set of the trust anchors.
- Trust anchor: an ICN key that is assumed to be trusted within the context of a specific trust model.
- ICN Interface (same as face): a generalization of the network interface that can represent a physical network interface (ethernet, wifi, bluetooth adapter, etc.), an overlay inter-node channel (IP/UDP tunnel, etc.), or an intra-node IPC channel to an application (unix socket, shared memory, intents, etc.).
- ICN Consumer (same as consumer, information consumer, data consumer, consumer of the content): an ICN entity that requests data packets by generating and sending out interest packets towards local (using intra-node interfaces) or remote (using inter-node interfaces) ICN Forwarders.
- ICN Producer (same as producer, publisher, information publisher, data publisher, data producer): an ICN entity that creates data packets and makes them available for retrieval.
- ICN Forwarder (same as ICN router): an ICN entity that implements stateful forwarding.
- Data Mule: an ICN entity that carries an interest or data packet over some distance before forwarding it to next ICN entity.
- Stateful forwarding (same as ICN Data plane, ICN Forwarding): a forwarding process that records incoming interest packets in the PIT and uses the recorded information to forward the retrieved data packets back to the consumer(s). The recorded information can also be used to measure data plane performance, e.g., to adjust interest forwarding strategy decisions.
- Name-based routing: a process of forwarding interest packets using the names in interests to guide the forwarding process
- ICN Pending Interest Table (PIT): a database that records received and not yet satisfied interests with the interfaces from where they were received. The PIT can also store interfaces to where Interests were forwarded, and information to assess data plane performance. Interests for the same data are aggregated into a single PIT entry.
- ICN Routing plane: an ICN protocol or a set of ICN protocols to exchange information about data packet availability.
- Satisfying an Interest: a process of forwarding the incoming data packet to the incoming interface(s) recorded in the corresponding PIT entry (entries) and removing the PIT entry (entries).
- Interest forwarding strategy (same as forwarding strategy): a module of the ICN stateful forwarding (ICN data) plane that implements a decision on where/how to forward the incoming interest packet. The forwarding strategy can take input from ICN Forwarding Information Base (FIB), measured data plane performance parameters, and/or use other mechanisms to make the decision.
- Interest match in FIB (longest prefix match): a process of finding a FIB entry with the longest name (in terms of name components) that is a prefix of the specified name.
- Interest match in PIT (exact match): a process of finding a PIT entry that stores the same as specified interest (including interest restrictions, if any).
- Data match in PIT (all match): a process of finding (a set of) PIT entries that can be satisfied with the specified data packet.
- Interest match in CS (any match): a process of finding an entry in router’s content store that can satisfy the specified interest.
- Interest aggregation (same as interest suppression, interest collapsing): a process of combining multiple interest packets for the same data into a single PIT entry.
- ICN Forwarding Information Base (FIB): a database that, for a set of prefixes, records a list of interfaces that can be used to retrieve data packets with names under the corresponding prefixes. The list of interfaces for each prefix can be ranked, and prefix/interfaces mapping , and interfaces can be associated with the additional information to facilitate forwarding strategy decisions.
- ICN Routing Information Base (RIB): a database that records a set of prefix-interface mappings that represent a candidate interface through which a data packet with the specified prefix can be retrieved. RIB can be used to populate FIB.
- Interest Nack (same as network NACK, interest return): a packet that contains the interest packet and optional annotation, which is sent by the router to the interface(s) the Interest was received from. Interest Nack is used to inform downstream ICN nodes about inability to forward the included interest packet. The annotation can describe the reason.
- Upstream forwarding: forwarding packets in the direction of interests (i.e., interests are forwarded upstream): consumer, router, router, …, producer.
- Downstream forwarding: forwarding packets in the direction opposite of interest forwarding (i.e., data and interest nacks are forwarded downstream): producer, router, …, consumer(s).
- In-network storage: a process of storing a data packet within the network (in routers opportunistic on-path caches, in dedicated on/off path caches, and managed in-network storage systems), so it can satisfy an incoming interest for this data packet. The in-network storages can optionally advertise the stored data packets in the routing plane.
- Opportunistic caching (or on-path in-network caching or just caching): a process of temporarily storing a forwarded data packet in the router’s memory (RAM or disk), so it can be used to satisfy future interests for the same data, if any.
- Managed caching (or off-path in-network storage): a process of temporarily, permanently, or scheduled storing of a selected (set of) data packet(s).
- Content Store (CS): a database on an ICN router to implement the opportunistic caching.
- Managed in-network storage (repository, repo): an entity acting as an ICN producer that implements managed caching.
- Route-By-Name Routing (RBNR)
- Lookup-By-Name Routing (LBNR)
- Bread-crumbs routing
- Replication-by-name
- Routing Locator Signing
- Chunks (same as segments)
- Content based
- ICN API
- Information Centric Delay Tolerant Network
- Located-Named-Data
- NDN
- Sessionless
4. Informational References
[I-D.irtf-icnrg-ccnxmessages]
|
marc.mosko@parc.com, m., Solis, I. and c. cwood@parc.com, "CCNx Messages in TLV Format", Internet-Draft draft-irtf-icnrg-ccnxmessages-03, June 2016. |
[I-D.irtf-icnrg-ccnxsemantics]
|
marc.mosko@parc.com, m., Solis, I. and c. cwood@parc.com, "CCNx Semantics", Internet-Draft draft-irtf-icnrg-ccnxsemantics-03, June 2016. |
[I-D.irtf-icnrg-challenges]
|
Kutscher, D., Eum, S., Pentikousis, K., Psaras, I., Corujo, D., Saucez, D., Schmidt, T. and M. Waehlisch, "ICN Research Challenges", Internet-Draft draft-irtf-icnrg-challenges-06, March 2016. |
[I-D.irtf-icnrg-disaster]
|
Seedorf, J., Arumaithurai, M., Tagami, A., Ramakrishnan, K. and N. Blefari-Melazzi, "Using ICN in disaster scenarios", Internet-Draft draft-irtf-icnrg-disaster-00, February 2016. |
[I-D.irtf-icnrg-evaluation-methodology]
|
Pentikousis, K., Ohlman, B., Davies, E., Spirou, S. and G. Boggia, "Information-centric Networking: Evaluation and Security Considerations", Internet-Draft draft-irtf-icnrg-evaluation-methodology-05, April 2016. |
[I-D.irtf-icnrg-videostreaming]
|
cedric.westphal@huawei.com, c., Lederer, S., Mueller, C., Detti, A., Corujo, D., Wang, J., Montpetit, M., Murray, N., Timmerer, C., Posch, D., aytav.azgin, a. and S. (Will), "Adaptive Video Streaming over ICN", Internet-Draft draft-irtf-icnrg-videostreaming-08, April 2016. |
[RFC7476]
|
Pentikousis, K., Ohlman, B., Corujo, D., Boggia, G., Tyson, G., Davies, E., Molinaro, A. and S. Eum, "Information-Centric Networking: Baseline Scenarios", RFC 7476, DOI 10.17487/RFC7476, March 2015. |
The authors would like to thank Christian Tschudin for providing suggestions on the structure of the document and some of the ICN related terms.