<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE rfc SYSTEM"rfc2629.dtd" [ <!ENTITY RFC4838 SYSTEM "https://xml.resource.org/public/rfc/bibxml/reference.RFC.4838.xml"> <!ENTITY RFC4949 SYSTEM "https://xml.resource.org/public/rfc/bibxml/reference.RFC.4949.xml"> <!ENTITY RFC6234 SYSTEM "https://xml.resource.org/public/rfc/bibxml/reference.RFC.6234.xml"> <!ENTITY RFC7476 PUBLIC '' '../bib/reference.RFC.7476.xml'> <!ENTITY RFC7927 PUBLIC '' '../bib/reference.RFC.7927.xml'> <!ENTITY RFC7945 PUBLIC '' '../bib/reference.RFC.7945.xml'> <!ENTITY RFC7933 PUBLIC '' '../bib/reference.RFC.7933.xml'> <!ENTITY RFC8569 PUBLIC '' '../bib/reference.RFC.8569.xml'> <!ENTITY RFC8609 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8609.xml"> <!ENTITY I-D.irtf-icnrg-disaster PUBLIC '' '../bib/reference.I-D.irtf-icnrg-disaster.xml'> ]> <?rfc rfcedstyle="yes"?> <?rfc toc="yes"?> <?rfc tocindent="yes"?> <?rfc sortrefs="yes"?> <?rfc symrefs="yes"?> <?rfc strict="yes"?> <?rfc comments="yes"?> <?rfc inline="yes"?> <?rfc text-list-symbols="-o*+"?>"rfc2629-xhtml.ent"> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" category="info"docName="draft-irtf-icnrg-terminology-08">consensus="true" docName="draft-irtf-icnrg-terminology-08" number="8793" obsoletes="" updates="" submissionType="IRTF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3"> <front> <title abbrev="ICN Terminology">Information-Centric Networking (ICN):CCNxContent-Centric Networking (CCNx) andNDNNamed Data Networking (NDN) Terminology</title> <seriesInfo name="RFC" value="8793"/> <author fullname="Bastiaan Wissingh"initials="B.F."initials="B." surname="Wissingh"> <organization>TNO</organization> <address> <email>bastiaan.wissingh@tno.nl</email> </address> </author> <author fullname="Christopher A. Wood" initials="C." surname="Wood"> <organization>University of California Irvine</organization> <address><email>woodc1@uci.edu</email><email>caw@heapingbits.net</email> </address> </author> <author fullname="Alex Afanasyev" initials="A." surname="Afanasyev"> <organization>Florida International University</organization> <address> <email>aa@cs.fiu.edu</email> </address> </author> <author fullname="Lixia Zhang" initials="L." surname="Zhang"> <organization>UCLA</organization> <address> <email>lixia@cs.ucla.edu</email> </address> </author> <author fullname="David Oran" initials="D." surname="Oran"> <organization>Network Systems Research & Design</organization> <address> <email>daveoran@orandom.net</email> </address> </author> <author fullname="Christian Tschudin" initials="C." surname="Tschudin"> <organization>University of Basel</organization> <address> <email>christian.tschudin@unibas.ch</email> </address> </author> <datemonth="January"month="June" year="2020"/> <area>IRTF</area><workgroup>ICNRG</workgroup> <keyword>Internet-Draft</keyword><workgroup>Information-Centric Networking</workgroup> <keyword>content routing</keyword> <keyword>content caching</keyword> <keyword>content distribution networks</keyword> <keyword>data-centric security</keyword> <abstract><t>Information Centric<t>Information-Centric Networking (ICN) is a novel paradigm where network communications are accomplished by requesting namedcontent,content instead of sending packets to destination addresses. Named Data Networking (NDN) and Content-Centric Networking (CCNx) are two prominent ICN architectures. This document provides an overview of the terminology and definitions that have been used in describing concepts in these two implementations of ICN. While there are other ICN architectures, they are not part of the NDN and CCNx concepts and as such are out of scope for this document. This document is a product of the Information-Centric Networking Research Group (ICNRG). </t> </abstract> </front> <middle> <sectiontitle="Introduction" anchor="introduction">anchor="introduction" numbered="true" toc="default"> <name>Introduction</name> <t>Information-centric networking (ICN) is an architecture to evolve the Internet infrastructure from the existing host-centric design to a data-centric architecture, where accessing data by name becomes the essential network primitive. The goal is to let applications refer to data independently of their location or means of transportation, which enables native multicast delivery, ubiquitous in-networkcachingcaching, and replication of data objects. </t> <t>As the work on this topic continues to evolve, many new terms are emerging. The goal of this document is to collect the key terms with a corresponding definition as they are used in the CCNx and NDN projects. Among the important documents for these projects are <xref target="RFC8569"/>, <xref target="RFC8609"/>, and <xref target="NDNTLV"/>. Other ICN projects such as <xreftarget="Netinf"/>,target="NETINF" format="default"/>, <xreftarget="PSIRP"/>,target="PSIRP" format="default"/>, or <xreftarget="MobilityFirst"/>target="MOBILITY-FIRST" format="default"/> are not covered and may be the subject of other documents.</t><t>To<t>In this document, to help provide context for the individual defined terms,in this documentwe first sketch the bigger picture of an ICN network by introducing the basic concepts and identifying the major components of the architecture in <xreftarget="a-sketch-of-the-big-picture-of-icn"/>,target="a-sketch-of-the-big-picture-of-icn" format="default"/>; after which, in <xreftarget="terms-by-category"/>, ICN relatedtarget="terms-by-category" format="default"/>, ICN-related terms are listed by different categories. Readers should be aware that in thisorganizationorganization, some terms may be used in other definitions before they themselves are defined.</t> <t>While this terminology document describes both confidentiality and integrity-related terms, it should be noted that ICN architectures like NDN and CCNx generally do not provide data confidentiality, which is treated in these architectures as anapplication layerapplication-layer concern.</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 active in the specific areas of work covered by the document. It is not an IETF product and is not intended for standardization in the IETF.</t> </section> <sectiontitle="Aanchor="a-sketch-of-the-big-picture-of-icn" numbered="true" toc="default"> <name>A Sketch of the Big Picture ofICN" anchor="a-sketch-of-the-big-picture-of-icn">ICN</name> <t>In networking terms, an ICN is a delivery infrastructure for named data. For other complementingviewsviews, see <xreftarget="semantics-and-usage"/>.</t>target="semantics-and-usage" format="default"/>.</t> <figureanchor="fig:i-d-protocol" align="center" title="Request-Replyanchor="fig_i-d-protocol"> <name>Request-Reply Protocol of ICNnetworking. Legend: n=name, c=content, s=signature.">Networking.</name> <artworkalign="center">align="center" name="" type="" alt=""><![CDATA[ requestor zero or more data sources or (node) forwarding nodes replica nodes | | ... | |...| | Interest(n) | | Interest(n) | | |-------------->--------------> | |--------------->---------------> | | | | |------------------->-------------------> | | | | | | | | | Data([n],c,[s]) | | | | |<---------------<--------------- | | | | |<-------------------<------------------- | | Data([n],c,[s]) | | | | |<--------------<-------------- | | | |</artwork>Legend: n=name, c=content, s=signature]]></artwork> </figure> <t>The following list describes the basic ICN concepts needed to discuss the implementation of this service abstraction.</t><t><spanx style="strong">Request-Reply<t><strong>Request-Reply Protocol (Interest and DataPacket)</spanx>:</t> <t><list style="empty"> <t>An ICN’sPacket):</strong></t> <ul empty="true" spacing="normal"> <li>An ICN's lookup service is implemented by defining two types of network packet formats:Interest packets<xref target="interest_packet" format="none">Interest packets</xref> that request content byname,name andData packets<xref target="data_packet" format="none">Data packets</xref> that carry the requested content. The returned Data packet must match therequest’srequest's parameters (e.g., having a partially or fully matching name). If the request is ambiguous and several Data packets would satisfy the request, the ICN network returns only one matching Data packet (thus achieving flow balance between Interest and Data packets over individuallayerLayer 2interfaces).</t> </list></t> <t><spanx style="strong">Packetinterfaces).</li> </ul> <t><strong>Packet and ContentNames</spanx>:</t> <t><list style="empty"> <t>WithoutNames:</strong></t> <ul empty="true" spacing="normal"> <li>Without a strong cryptographic binding between the name of aData packet<xref target="data_packet" format="none">Data packet</xref> and its content, Data packet names would be useless for fetching specific content. In ICN, verification of a Datapacket’spacket's name-to-content binding is achieved through cryptographicmeans,means either by (1) a cryptographic signature that explicitly binds an application-chosen name to a Datapacket’s content,packet's content or by (2) relying on an implicit name (cryptographic hash of the Data packet with or without application-chosen name) that the data consumer obtained through othermeans.</t> </list></t> <t><spanx style="strong">Datameans.</li> </ul> <t><strong>Data Authenticity andEncryption</spanx>:</t> <t><list style="empty"> <t>AnyEncryption:</strong></t> <ul empty="true" spacing="normal"> <li>Any data consumer or network element can (in principle) validate the authenticity of aData packet<xref target="data_packet" format="none">Data packet</xref> by verifying its cryptographic name-to-content binding. Note that data authenticity is distinct from data trustworthiness, though the two concepts are related. A packet is authentic if it has a valid name-to-content binding, but it may still be unwise to "trust" the content for any particularpurpose.</t> </list></t> <t><spanx style="strong">Trust</spanx>:</t> <t><list style="empty"> <t>Datapurpose.</li> </ul> <t><strong>Trust:</strong></t> <ul empty="true" spacing="normal"> <li>Data authenticity is distinct from data trustworthiness, though the two concepts are related. A packet is authentic if it has a valid name-to-content binding. A packet is trustworthy, i.e., it comes from a reputable or trusted origin, if this binding is valid in the context of a trust model. The trust model provides assurance that the name used for a given piece of content is appropriate for the value of the content. <xreftarget="security-considerations"/>target="security-considerations" format="default"/> discusses thisfurther.</t> </list></t> <t><spanx style="strong">Segmenting and Versioning</spanx>:</t> <t><list style="empty"> <t>Anfurther.</li> </ul> <t><strong>Segmenting and Versioning:</strong></t> <ul empty="true" spacing="normal"> <li>An ICN network will be engineered for some packet size limit. As application-level data objects will often be considerably larger, objects must be segmented into multipleData packets.<xref target="data_packet" format="none">Data packets</xref>. The names for these Data packets can, for example, be constructed by choosing one application-level object name to which a different suffix is added for each segment. The same method can be used to handle different versions of an application-level object by including a version number in the name of the overallobject.</t> </list></t> <t><spanx style="strong">Packet and Frame</spanx>:</t> <t><list style="empty"> <t>NDNobject.</li> </ul> <t><strong>Packet and Frame:</strong></t> <ul empty="true" spacing="normal"> <li>NDN and CCNx introduce Protocol Data Units(PDUs)(PDUs), which typically are larger than the maximum transmission unit of the underlying networking technology. We refer to PDUs as packets and the (potentially fragmented) packet parts that traverse MTU-boundlayerLayer 2 interfaces as frames. HandlinglayerLayer 2 technologieswhichthat lead to fragmentation of ICN packets is done inside the ICN network and is not visible at the serviceinterface.</t> </list></t> <t><spanx style="strong">ICN Node</spanx>:</t> <t><list style="empty"> <t>Ainterface.</li> </ul> <t><strong>ICN Node:</strong></t> <ul empty="true" spacing="normal"> <li>A node within an ICN network can fulfill the role of a data producer, a data consumer, and/or a forwarder forInterest<xref target="interest_packet" format="none">Interest</xref> andData packets.<xref target="data_packet" format="none">Data packets</xref>. When a forwarder has connectivity to neighbor nodes, it performs Interest and Data packet forwarding in real time. It can also behave as a store and forwardnode,node carrying an Interest or Data packet for some time before forwarding it to the next node. An ICN node may also run routing protocols to assist its Interest forwardingdecisions.</t> </list></t> <t><spanx style="strong">Forwarding Plane</spanx>:</t> <t><list style="empty"> <t>Thedecisions.</li> </ul> <t><strong>Forwarding Plane:</strong></t> <ul empty="true" spacing="normal"> <li>The canonical way of implementing packet forwarding in an ICN network relies on three data structures that capture anode’snode's state: a Forwarding InterestTableBase (FIB), a Pending Interest Table (PIT), and aContent Store<xref target="content_store" format="none">Content Store</xref> (CS). It also utilizes Interest forwardingstrategiesstrategies, which take input from both FIB and measurements to make Interest forwarding decisions. When a node receives anInterest packet,<xref target="interest_packet" format="none">Interest packet</xref>, it checks its CS and PIT to find a matching entry; 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 itsFIB.</t> </list></t>FIB.</li> </ul> </section> <sectiontitle="Termsanchor="terms-by-category" numbered="true" toc="default"> <name>Terms bycategory" anchor="terms-by-category">Category</name> <sectiontitle="Generic terms" anchor="generic-terms"> <t><spanx style="strong">Information-Centricanchor="generic-terms" numbered="true" toc="default"> <name>Generic Terms</name> <t><strong>Information-Centric Networking(ICN)</spanx>:</t> <t><list style="empty"> <t>A(ICN):</strong></t> <ul empty="true" spacing="normal"> <li>A networking architecture that retrievesData packets as<xref target="data_packet" format="none">Data packets</xref> in response toInterest packets.<xref target="interest_packet" format="none">Interest packets</xref>. Content-Centric Networking (CCNx 1.x) and Named Data Networking (NDN) are two realizations (designs) of an ICNarchitecture.</t> </list></t> <t><spanx style="strong">Data packet Immutability</spanx>:</t> <t><list style="empty"> <t>Afterarchitecture.</li> </ul> <t><strong>Data Packet Immutability:</strong></t> <ul empty="true" spacing="normal"> <li>After adata packet<xref target="data_packet" format="none">Data packet</xref> is created, the cryptographic signature binding the name to the content ensures that if either the content or the name changes, that change will be detected and the packet discarded. If the content carried in adataData packet is intended to be mutable, versioning of the name should beused,used so that each version uniquely identifies an immutable instance of the content. This allows disambiguation of various versions of content such that coordination among the various instances in a distributed system can beachieved.</t> </list></t>achieved.</li> </ul> </section> <sectiontitle="Terms relatedanchor="terms-related-to-icn-nodes" numbered="true" toc="default"> <name>Terms Related to ICNNodes" anchor="terms-related-to-icn-nodes"> <t><spanx style="strong">ICN Interface</spanx>:</t> <t><list style="empty"> <t>ANodes</name> <t><strong>ICN Interface:</strong></t> <ul empty="true" spacing="normal"> <li>A generalization of the network interface that can represent a physical network interface (ethernet,wifi,Wi-Fi, bluetooth adapter, etc.), an overlay inter-node channel (IP/UDP tunnel, etc.), or an intra-node inter-process communication (IPC) channel to an application (unix socket, shared memory, intents,etc.).</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonetc.).</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include:face.</t> </list></t> </list></t> <t><spanx style="strong">ICN Consumer</spanx>:</t> <t><list style="empty"> <t>Anface.</li> </ul> </li> </ul> <t><strong>ICN Consumer:</strong></t> <ul empty="true" spacing="normal"> <li>An ICN entity that requestsData packets<xref target="data_packet" format="none">Data packets</xref> by generating and sending outInterest packets<xref target="interest_packet" format="none">Interest packets</xref> towards local (using intra-node interfaces) or remote (using inter-node interfaces) ICNForwarders.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>CommonForwarders.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: consumer, information consumer, data consumer, consumer of thecontent.</t> </list></t> </list></t> <t><spanx style="strong">ICN Producer</spanx>:</t> <t><list style="empty"> <t>Ancontent.</li> </ul> </li> </ul> <t><strong>ICN Producer:</strong></t> <ul empty="true" spacing="normal"> <li>An ICN entity that createsData packets<xref target="data_packet" format="none">Data packets</xref> and makes them available forretrieval.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonretrieval.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: producer, publisher, information publisher, data publisher, dataproducer.</t> </list></t> </list></t> <t><spanx style="strong">ICN Forwarder</spanx>:</t> <t><list style="empty"> <t>Anproducer.</li> </ul> </li> </ul> <t><strong>ICN Forwarder:</strong></t> <ul empty="true" spacing="normal"> <li>An ICN entity that implements statefulforwarding.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonforwarding.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: ICNrouter.</t> </list></t> </list></t> <t><spanx style="strong">ICN Data Mule</spanx>:</t> <t><list style="empty"> <t>Anrouter.</li> </ul> </li> </ul> <t><strong>ICN Data Node:</strong></t> <ul empty="true" spacing="normal"> <li>An ICN entity that temporarily stores and potentially carries an Interest orData packet<xref target="data_packet" format="none">Data packet</xref> before forwarding it to next ICN entity. Note that such ICN datamulesnodes do not have all the properties of datamulesnodes as employed in the Delay Tolerant Networking (DTN) <xreftarget="RFC4838">(DTN)</xref> specifications.</t> </list></t>target="RFC4838" format="default"></xref> specifications.</li> </ul> </section> <sectiontitle="Terms relatedanchor="terms-related-to-the-forwarding-plane" numbered="true" toc="default"> <name>Terms Related to the Forwardingplane" anchor="terms-related-to-the-forwarding-plane"> <t><spanx style="strong">Stateful forwarding</spanx>:</t> <t><list style="empty"> <t>APlane</name> <t><strong>Stateful Forwarding:</strong></t> <ul empty="true" spacing="normal"> <li>A forwarding process that records incomingInterest packets<xref target="interest_packet" format="none">Interest packets</xref> in the PIT and uses the recorded information to forward the retrievedData packets<xref target="data_packet" format="none">Data packets</xref> back to the consumer(s). The recorded information can also be used to measuredata planedata-plane performance, e.g., to adjust interestforwarding strategy decisions.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonforwarding-strategy decisions.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: ICN Data plane, ICNForwarding.</t> </list></t> </list></t> <t><spanx style="strong">Forwarding strategy</spanx>:</t> <t><list style="empty"> <t>AForwarding.</li> </ul> </li> </ul> <t anchor="forwarding_strategy"><strong>Forwarding Strategy:</strong></t> <ul empty="true" spacing="normal"> <li>A module of the ICN stateful forwarding (ICN data) plane that implements a decision on where/how to forward the incomingInterest packet.<xref target="interest_packet" format="none">Interest packet</xref>. The forwarding strategy can take input from the Forwarding Information Base (FIB), measureddata planedata-plane performance parameters, and/or use other mechanisms to make thedecision.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commondecision.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: Interest forwardingstrategy.</t> </list></t> </list></t> <t><spanx style="strong">Upstream (forwarding)</spanx>:</t> <t><list style="empty"> <t>Forwardingstrategy.</li> </ul> </li> </ul> <t><strong>Upstream (forwarding):</strong></t> <ul empty="true" spacing="normal"> <li>Forwarding packets in the direction of Interests (i.e., Interests are forwarded upstream): consumer, router, router,…, producer.</t> </list></t> <t><spanx style="strong">Downstream (forwarding)</spanx>:</t> <t><list style="empty"> <t>Forwarding..., producer.</li> </ul> <t><strong>Downstream (forwarding):</strong></t> <ul empty="true" spacing="normal"> <li>Forwarding packets in the opposite direction of Interest forwarding (i.e., Data andInterest Nacks<xref target="interest_nack" format="none">Interest Nacks</xref> are forwarded downstream): producer, router,…, consumer(s).</t> </list></t> <t><spanx style="strong">Interest forwarding</spanx>:</t> <t><list style="empty"> <t>A..., consumer(s).</li> </ul> <t><strong>Interest Forwarding:</strong></t> <ul empty="true" spacing="normal"> <li>A process of forwardingInterest packets<xref target="interest_packet" format="none">Interest packets</xref> using theNames<xref target="name" format="none">Names</xref> carried in the Interests. In case ofStatefulstateful forwarding, this also involves creating an entry in the PIT. The forwarding decision is made by theForwarding Strategy.</t> </list></t> <t><spanx style="strong">Interest aggregation</spanx>:</t> <t><list style="empty"> <t>A<xref target="forwarding_strategy" format="none">Forwarding Strategy</xref>.</li> </ul> <t><strong>Interest Aggregation:</strong></t> <ul empty="true" spacing="normal"> <li>A process of combining multipleInterest packets<xref target="interest_packet" format="none">Interest packets</xref> with the sameName<xref target="name" format="none">Name</xref> and additional restrictions for the same Data into a single PITentry.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonentry.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: Interestcollapsing.</t> </list></t> </list></t> <t><spanx style="strong">Data forwarding</spanx>:</t> <t><list style="empty"> <t>Acollapsing.</li> </ul> </li> </ul> <t><strong>Data Forwarding:</strong></t> <ul empty="true" spacing="normal"> <li>A process of forwarding the incomingData packet<xref target="data_packet" format="none">Data packet</xref> to the interface(s) recorded in the corresponding PIT entry (entries) and removing the corresponding PIT entry(entries).</t> </list></t> <t><spanx style="strong">Satisfying(entries).</li> </ul> <t><strong>Satisfying anInterest</spanx>:</t> <t><list style="empty"> <t>AnInterest:</strong></t> <ul empty="true" spacing="normal"> <li>An overall process of returning content that satisfies the constraints imposed by the Interest, most notably a match in the providedName.</t> </list></t> <t><spanx style="strong">Interest match<xref target="name" format="none">Name</xref>.</li> </ul> <t><strong>Interest Match in FIB (longest prefixmatch)</spanx>:</t> <t><list style="empty"> <t>Amatch):</strong></t> <ul empty="true" spacing="normal"> <li>A process of finding a FIB entry with the longestName<xref target="name" format="none">Name</xref> (in terms ofName components)<xref target="name_component" format="none">Name components</xref>) that is a prefix of the specified Name. See <xreftarget="terms-related-to-name-types"/>target="terms-related-to-name-types" format="default"/> for terms related to nameprefixes</t> </list></t> <t><spanx style="strong">Interest matchprefixes.</li> </ul> <t><strong>Interest Match in PIT (exactmatch)</spanx>:</t> <t><list style="empty"> <t>Amatch):</strong></t> <ul empty="true" spacing="normal"> <li>A process of finding a PIT entry that stores the sameName<xref target="name" format="none">Name</xref> as specified in the Interest (including Interest restrictions, ifany).</t> </list></t> <t><spanx style="strong">Data matchany).</li> </ul> <t><strong>Data Match in PIT (allmatch)</spanx>:</t> <t><list style="empty"> <t>Amatch):</strong></t> <ul empty="true" spacing="normal"> <li>A process of finding (a set of) PIT entries that can be satisfied with the specifiedData packet.</t> </list></t> <t><spanx style="strong">Interest match<xref target="data_packet" format="none">Data packet</xref>.</li> </ul> <t><strong>Interest Match in CS (anymatch)</spanx>:</t> <t><list style="empty"> <t>Amatch):</strong></t> <ul empty="true" spacing="normal"> <li>A process of finding an entry inrouter’s Content Storea router's <xref target="content_store" format="none">Content Store</xref> that can satisfy the specifiedInterest.</t> </list></t> <t><spanx style="strong">PendingInterest.</li> </ul> <t><strong>Pending Interest Table(PIT)</spanx>:</t> <t><list style="empty"> <t>A(PIT):</strong></t> <ul empty="true" spacing="normal"> <li>A database that records received andnot yet satisfiednot-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 assessdata planedata-plane performance. Interests for the same Data are aggregated into a single PITentry.</t> </list></t> <t><spanx style="strong">Forwardingentry.</li> </ul> <t><strong>Forwarding Information Base(FIB)</spanx>:</t> <t><list style="empty"> <t>A(FIB):</strong></t> <ul empty="true" spacing="normal"> <li>A database that contains a set of prefixes, each prefix associated with one or more faces that can be used to retrieveData packets<xref target="data_packet" format="none">Data packets</xref> withNames<xref target="name" format="none">Names</xref> under the corresponding prefix. The list of faces for each prefix can be ranked, and each face may be associated with additional information to facilitateforwarding strategy decisions.</t> </list></t> <t><spanx style="strong">Contentforwarding-strategy decisions.</li> </ul> <t anchor="content_store"><strong>Content Store(CS)</spanx>:</t> <t><list style="empty"> <t>A(CS):</strong></t> <ul empty="true" spacing="normal"> <li>A database in an ICN router that providescaching.</t> </list></t> <t><spanx style="strong">In-network storage</spanx>:</t> <t><list style="empty"> <t>Ancaching.</li> </ul> <t><strong>In-Network Storage:</strong></t> <ul empty="true" spacing="normal"> <li>An optional process of storing aData packet<xref target="data_packet" format="none">Data packet</xref> within the network (opportunistic caches, 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 routingplane.</t> </list></t> <t><spanx style="strong">Opportunistic caching</spanx>:</t> <t><list style="empty"> <t>Aplane.</li> </ul> <t><strong>Opportunistic Caching:</strong></t> <ul empty="true" spacing="normal"> <li>A process of temporarily storing a forwardedData packet<xref target="data_packet" format="none">Data packet</xref> in therouter’srouter's memory (RAM or disk), so it can be used to satisfy future Interests for the same Data, ifany.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonany.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: on-path in-networkcaching</t> </list></t> </list></t> <t><spanx style="strong">Managed caching</spanx>:</t> <t><list style="empty"> <t>Acaching.</li> </ul> </li> </ul> <t><strong>Managed Caching:</strong></t> <ul empty="true" spacing="normal"> <li>The process oftemporarily, permanently,achieving the temporary, permanent, or scheduledstoringstorage of a selected (set of)Data packet(s).</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Common<xref target="data_packet" format="none">Data packet(s)</xref>.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: off-path in-networkstorage</t> </list></t> </list></t> <t><spanx style="strong">Managed in-network storage</spanx>:</t> <t><list style="empty"> <t>Anstorage.</li> </ul> </li> </ul> <t><strong>Managed In-Network Storage:</strong></t> <ul empty="true" spacing="normal"> <li>An entity acting as an ICN publisher that implements managedcaching.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commoncaching.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: repository,repo</t> </list></t> </list></t> <t><spanx style="strong">ICNrepo.</li> </ul> </li> </ul> <t><strong>ICN Routingplane</spanx>:</t> <t><list style="empty"> <t>AnPlane:</strong></t> <ul empty="true" spacing="normal"> <li>An ICN protocol or a set of ICN protocols to exchange information aboutName<xref target="name" format="none">Name</xref> spacereachability.</t> </list></t> <t><spanx style="strong">ICNreachability.</li> </ul> <t><strong>ICN Routing Information Base(RIB)</spanx>:</t> <t><list style="empty"> <t>A(RIB):</strong></t> <ul empty="true" spacing="normal"> <li>A database that contains a set of prefix-face mappings that are produced by running one or multiple routing protocols. The RIB is used to populate theFIB.</t> </list></t>FIB.</li> </ul> </section> <sectiontitle="Terms relatedanchor="terms-related-to-packet-types" numbered="true" toc="default"> <name>Terms Related to PacketTypes" anchor="terms-related-to-packet-types"> <t><spanx style="strong">Interest packet</spanx>:</t> <t><list style="empty"> <t>ATypes</name> <t anchor="interest_packet"><strong>Interest Packet:</strong></t> <ul empty="true" spacing="normal"> <li>A network-level packet that expresses the request for adata packet<xref target="data_packet" format="none">Data packet</xref> 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 mayvary.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonvary.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: Interest, Interest message, informationrequest</t> </list></t> </list></t> <t><spanx style="strong">Interest Nack</spanx>:</t> <t><list style="empty"> <t>Arequest.</li> </ul> </li> </ul> <t anchor="interest_nack"><strong>Interest Nack:</strong></t> <ul empty="true" spacing="normal"> <li>A packet that contains theInterest packet<xref target="interest_packet" format="none">Interest packet</xref> and optional annotation, which is sent by the ICNRouterrouter to the interface(s) the Interest was received from. An Interest Nack is used to inform downstream ICN nodes about the inability to forward the included Interest packet. The annotation can describe thereason.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonreason.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: network NACK, Interestreturn.</t> </list></t> </list></t> <t><spanx style="strong">Data packet</spanx>:</t> <t><list style="empty"> <t>Areturn.</li> </ul> </li> </ul> <t anchor="data_packet"><strong>Data Packet:</strong></t> <ul empty="true" spacing="normal"> <li>A network-level packet that carries payload, uniquely identified by a name,andthat is directly secured through cryptographic signaturemechanisms.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonmechanisms.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: data, data object, content object, content object packet, data message, named data object, nameddata.</t> </list></t> </list></t> <t><spanx style="strong">Link</spanx>:</t> <t><list style="empty"> <t>Adata.</li> </ul> </li> </ul> <t anchor="link"><strong>Link:</strong></t> <ul empty="true" spacing="normal"> <li>A type ofData packet<xref target="data_packet" format="none">Data packet</xref> whose body contains theName<xref target="name" format="none">Name</xref> of another Data packet. This inner Name is often aFull Name,<xref target="full_name" format="none">Full Name</xref>, i.e., it specifies the Packet ID of the corresponding Data packet, but this is not arequirement.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonrequirement.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include:pointer.</t> </list></t> </list></t> <t><spanx style="strong">Manifest</spanx>:</t> <t><list style="empty"> <t>Apointer.</li> </ul> </li> </ul> <t><strong>Manifest:</strong></t> <ul empty="true" spacing="normal"> <li>A type ofData packet<xref target="data_packet" format="none">Data packet</xref> that containsFull Name Links<xref target="full_name" format="none">Full Name</xref> <xref target="link" format="none">Links</xref> to one or more Data Packets. Manifests group collections of related Data packets under a single Name. Manifests allow both large Data objects to be conveniently split into individual Content Objects under one name, and to represent sets of related Content Objects as a form of“directory”."directory". Manifests have the additional benefit of amortizing the signature verification cost for each Data packet referenced by the innerLinks.<xref target="link" format="none">Links</xref>. Manifests typically contain additional metadata, e.g., the size (in bytes) of each linked Data packet and the cryptographic hash digest of all Data contained in the linked Datapackets.</t> </list></t>packets.</li> </ul> </section> <sectiontitle="Terms relatedanchor="terms-related-to-name-types" numbered="true" toc="default"> <name>Terms Related to NameTypes" anchor="terms-related-to-name-types"> <t><spanx style="strong">Name</spanx>:</t> <t><list style="empty"> <t>A Data packetTypes</name> <t anchor="name"><strong>Name:</strong></t> <ul empty="true" spacing="normal"> <li>A <xref target="data_packet" format="none">Data packet</xref> identifier. An ICN name is hierarchical (a sequence of name components) and usually is semantically meaningful, making it expressive,flexibleflexible, and application-specific (akin toaan HTTP URL). A Name may encode information about application context, semantics, locations (topological, geographical, hyperbolic, etc.), a service name,etc.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonetc.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: data name, interest name, contentname.</t> </list></t> </list></t> <t><spanx style="strong">Name component</spanx>:</t> <t><list style="empty"> <t>Aname.</li> </ul> </li> </ul> <t anchor="name_component"><strong>Name component:</strong></t> <ul empty="true" spacing="normal"> <li>A sequence of bytes and optionally a numeric type representing a single label in the hierarchical structuredname.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonname.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: name segment (as inCCNx).</t> </list></t> </list></t> <t><spanx style="strong">Packet ID</spanx>:</t> <t><list style="empty"> <t>ACCNx).</li> </ul> </li> </ul> <t><strong>Packet ID:</strong></t> <ul empty="true" spacing="normal"> <li>A unique cryptographic identifier for aData packet.<xref target="data_packet" format="none">Data packet</xref>. Typically, this is a cryptographic hash digest of adataData packet (such as SHA256 <xreftarget="RFC6234">SHA256</xref>),target="RFC6234" format="default"></xref>), including its name, payload, meta information, andsignature.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonsignature. </li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: implicitdigest.</t> </list></t> </list></t> <t><spanx style="strong">Selector</spanx>:</t> <t><list style="empty"> <t>Adigest.</li> </ul> </li> </ul> <t><strong>Selector:</strong></t> <ul empty="true" spacing="normal"> <li>A mechanism (condition) to select an individualData packet<xref target="data_packet" format="none">Data packet</xref> from a collection of Data packets that match a given Interest that requests data using a prefix or exactName.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Common<xref target="name" format="none">Name.</xref></li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: interest selector, restrictor, interestrestrictor.</t> </list></t> </list></t> <t><spanx style="strong">Nonce</spanx>:</t> <t><list style="empty"> <t>Arestrictor.</li> </ul> </li> </ul> <t><strong>Nonce:</strong></t> <ul empty="true" spacing="normal"> <li>A field of anInterest packet<xref target="interest_packet" format="none">Interest packet</xref> that transiently names an Interest instance (instance of Interest for a given name). Note: the specifications defining nonces in NDN do not necessarily satisfy all the properties of nonces as discussed in <xreftarget="RFC4949"/>.</t> </list></t> <t><spanx style="strong">Exact Name</spanx>:</t> <t><list style="empty"> <t>A nametarget="RFC4949" format="default"/>.</li> </ul> <t><strong>Exact Name:</strong></t> <ul empty="true" spacing="normal"> <li>A <xref target="name" format="none">Name</xref> that is encoded inside aData packet<xref target="data_packet" format="none">Data packet</xref> andwhichthat typically uniquely identifies this Datapacket.</t> </list></t> <t><spanx style="strong">Full Name</spanx>:</t> <t><list style="empty"> <t>Anpacket.</li> </ul> <t anchor="full_name"><strong>Full Name:</strong></t> <ul empty="true" spacing="normal"> <li>An exactName<xref target="name" format="none">Name</xref> with the Packet ID of the correspondingData packet.</t> </list></t> <t><spanx style="strong">Prefix Name</spanx>:</t> <t><list style="empty"> <t>A Name<xref target="data_packet" format="none">Data packet</xref>.</li> </ul> <t><strong>Prefix Name:</strong></t> <ul empty="true" spacing="normal"> <li>A <xref target="name" format="none">Name</xref> that includes a partial sequence of Name components (starting from the first one) of a Name encoded inside aData packet.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Common<xref target="data_packet" format="none">Data packet</xref>.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include:prefix.</t> </list></t> </list></t>prefix.</li> </ul> </li> </ul> </section> <sectiontitle="Terms relatedanchor="terms-related-to-name-usage" numbered="true" toc="default"> <name>Terms Related to NameUsage" anchor="terms-related-to-name-usage"> <t><spanx style="strong">Naming conventions</spanx>:</t> <t><list style="empty"> <t>AUsage</name> <t><strong>Naming conventions:</strong></t> <ul empty="true" spacing="normal"> <li>A convention, agreement, or specification for theData packet<xref target="data_packet" format="none">Data packet</xref> naming. a Naming convention structures anamespace.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonnamespace.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: Naming scheme, ICN naming scheme, namespaceconvention.</t> </list></t> </list></t> <t><spanx style="strong">Hierarchicallyconvention.</li> </ul> </li> </ul> <t><strong>Hierarchically structurednaming</spanx>:</t> <t><list style="empty"> <t>Thenaming:</strong></t> <ul empty="true" spacing="normal"> <li>The naming scheme that assigns and interprets aName<xref target="name" format="none">Name</xref> as a sequence of labels (Name components) with hierarchical structure without an assumption of a single administrative root. A structure provides useful context information for theName.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>CommonName.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: hierarchical naming, structurednaming.</t> </list></t> </list></t> <t><spanx style="strong">Flat naming</spanx>:</t> <t><list style="empty"> <t>Thenaming.</li> </ul> </li> </ul> <t><strong>Flat naming:</strong></t> <ul empty="true" spacing="normal"> <li>The naming scheme that assigns and interprets aName<xref target="name" format="none">Name</xref> as a single label (Name component) without any internal structure. This can be considered a special (or degenerate) case of structurednames.</t> </list></t> <t><spanx style="strong">Segmentation</spanx>:</t> <t><list style="empty"> <t>Anames.</li> </ul> <t><strong>Segmentation:</strong></t> <ul empty="true" spacing="normal"> <li>A process of splitting large application content into a set of uniquely nameddata packets.<xref target="data_packet" format="none">Data packets</xref>. When using hierarchically structured names, each createddataData packet has a common prefix and an additional component representing the segment (chunk)number.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonnumber.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include:chunking.</t> </list></t> </list></t> <t><spanx style="strong">Versioning</spanx>:</t> <t><list style="empty"> <t>Achunking.</li> </ul> </li> </ul> <t><strong>Versioning:</strong></t> <ul empty="true" spacing="normal"> <li>A process of assigning a uniqueName<xref target="name" format="none">Name</xref> to the revision of the content carried in theData packet.<xref target="data_packet" format="none">Data packet</xref>. 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 thedata).</t> </list></t> <t><spanx style="strong">Fragmentation</spanx>:</t> <t><list style="empty"> <t>Adata).</li> </ul> <t><strong>Fragmentation:</strong></t> <ul empty="true" spacing="normal"> <li>A process of splitting PDUs into Frames so that they can be transmitted over alayerLayer 2 interface with a smaller MTUsize.</t> </list></t>size.</li> </ul> </section> <sectiontitle="Terms relatedanchor="terms-related-to-data-centric-security" numbered="true" toc="default"> <name>Terms Related to Data-CentricSecurity" anchor="terms-related-to-data-centric-security"> <t><spanx style="strong">Data-Centric Security</spanx>:</t> <t><list style="empty"> <t>ASecurity</name> <t><strong>Data-Centric Security:</strong></t> <ul empty="true" spacing="normal"> <li>A security property associated with theData packet,<xref target="data_packet" format="none">Data packet</xref>, including data (Data-Centric) integrity, authenticity, and optionally confidentiality. These security properties stay with thedataData packet regardless of where it is stored and how it isretrieved.</t> </list></t> <t><list style="empty"> <t><list style="empty"> <t>Commonretrieved.</li> </ul> <ul empty="true" spacing="normal"> <li> <ul empty="true" spacing="normal"> <li>Common aliases include: directly securingdata packet</t> </list></t> </list></t> <t><spanx style="strong">Data Integrity</spanx></t> <t><list style="empty"> <t>AData packet.</li> </ul> </li> </ul> <t><strong>Data Integrity</strong></t> <ul empty="true" spacing="normal"> <li>A cryptographic mechanism to ensure the consistency of theData packet<xref target="data_packet" format="none">Data packet</xref> bits. The Data integrity property validates that the Data packet content has not been corrupted during transmission, e.g., over lossy or otherwise unreliable paths, or been subject to deliberatemodification.</t> </list></t> <t><spanx style="strong">Data Authenticity</spanx></t> <t><list style="empty"> <t>Amodification.</li> </ul> <t><strong>Data Authenticity</strong></t> <ul empty="true" spacing="normal"> <li>A cryptographic mechanism to ensure trustworthiness of aData packet,<xref target="data_packet" format="none">Data packet</xref> based on a selected (e.g., by a consumer/producer) trust model. Typically, data authenticity is assured through the use of asymmetric cryptographic signatures (e.g., RSA,ECDSA),ECDSA) but can also be realized using symmetric signatures (e.g.,HMAC)Hashed Message Authentication Code (HMAC)) within trusteddomains.</t> </list></t> <t><spanx style="strong">Data Confidentiality</spanx></t> <t><list style="empty"> <t>Adomains.</li> </ul> <t><strong>Data Confidentiality</strong></t> <ul empty="true" spacing="normal"> <li>A cryptographic mechanism to ensure secrecy of aData packet.<xref target="data_packet" format="none" >Data packet</xref>. Data confidentiality includes separate mechanisms:content confidentiality<xref target="content_confidentiality" format="none">Content confidentiality</xref> andName confidentiality</t> </list></t> <t><spanx style="strong">Content Confidentiality</spanx></t> <t><list style="empty"> <t>A<xref target="name_confidentiality" format="none">Name confidentiality</xref>.</li> </ul> <t anchor="content_confidentiality"><strong>Content Confidentiality</strong></t> <ul empty="true" spacing="normal"> <li>A cryptographic mechanism to prevent an unauthorized party to get access to the plain-text payload of aData packet.<xref target="data_packet" format="none">Data packet</xref>. Can be realized through encryption (symmetric, asymmetric, hybrid) and proper distribution of the decryption keys to authorizedparties.</t> </list></t> <t><spanx style="strong">Name Confidentiality</spanx></t> <t><list style="empty"> <t>Aparties.</li> </ul> <t anchor="name_confidentiality"><strong>Name Confidentiality</strong></t> <ul empty="true" spacing="normal"> <li>A cryptographic mechanism to prevent an observer of Interest-Data exchanges (e.g., intermediate router) from gaining detailed meta information about theData packet.<xref target="data_packet" format="none">Data packet</xref>. This mechanism can be realized using encryption (same as content confidentiality) or obfuscationmechanisms.</t> </list></t>mechanisms.</li> </ul> </section> </section> <sectiontitle="Semanticsanchor="semantics-and-usage" numbered="true" toc="default"> <name>Semantics andUsage" anchor="semantics-and-usage">Usage</name> <t>The terminology described above is the manifestation of intended semantics of NDN and CCNx operations(what(What do we expect the network to do?). In thissectionsection, we summarize the most commonly proposed use cases and interpretations.</t> <sectiontitle="Data Transfer" anchor="data-transfer">anchor="data-transfer" numbered="true" toc="default"> <name>Data Transfer</name> <t>The networking view of NDN and CCNx is that the request/reply protocol implements a basic, unreliable data transfer service for single, named packets.</t> </section> <sectiontitle="Data Transport" anchor="data-transport">anchor="data-transport" numbered="true" toc="default"> <name>Data Transport</name> <t>Data transfer can be turned into a data transport service for application-level objects by additional logic. This transport logic must understand and construct the series of names needed to reassemble the segmented object. Various flavors of transport can be envisaged (reliable, streaming, mailbox,etc).</t>etc.).</t> </section> <sectiontitle="Lookup Service" anchor="lookup-service">anchor="lookup-service" numbered="true" toc="default"> <name>Lookup Service</name> <t>In a more distributed systems view of the basic request/reply protocol, NDN and CCNx provide a distributed lookup service: given a key value (=name), the service will return the corresponding value.</t> </section> <sectiontitle="Database Access" anchor="database-access">anchor="database-access" numbered="true" toc="default"> <name>Database Access</name> <t>A lookup service can be turned into a database access protocol by using the namespace structure to specify names as access keys into a database.ATherefore, a name prefixthereforestands for a collection or table of a database, while the rest of the name specifies the query expression to be executed.</t> </section> <sectiontitle="Remoteanchor="remote-procedure-call" numbered="true" toc="default"> <name>Remote ProcedureCall" anchor="remote-procedure-call">Call</name> <t>The names as defined in this document for Interests and Data can refer to Remote Procedure call functions, their input arguments, and their results. For a comprehensive view of how to construct RPC or other remote invocation systems, see theACMAssociation for Computing Machinery (ACM) ICN paper on <xreftarget="RICE"/>.target="RICE" format="default"/>. These capabilities can be further extended into a full distributed computinginfrastructure,infrastructure such as that proposed in the ACM ICN paper <xreftarget="CFN"/>.</t> <!--> <t><spanx style="strong">Interest match in FIB (longest prefix match)</spanx>:</t> <t><list style="empty"> <t>A process of finding a FIB entry with the longest Name (in terms of Name components) that is a prefix of the specified Name.</t> </list></t> <t><spanx style="strong">Interest match in PIT (exact match)</spanx>:</t> <t><list style="empty"> <t>A process of finding a PIT entry that stores the same Name as specified in the Interest (including Interest restrictions, if any).</t> </list></t> <t><spanx style="strong">Data match in PIT (all match)</spanx>:</t> <t><list style="empty"> <t>A process of finding (a set of) PIT entries that can be satisfied with the specified Data packet.</t> </list></t> <t><spanx style="strong">Interest match in CS (any match)</spanx>:</t> <t><list style="empty"> <t>A process of finding an entry in router’s Content Store that can satisfy the specified Interest.</t> </list></t> -->target="CFN" format="default"/>.</t> </section> <sectiontitle="Publish/Subscribe" anchor="publish-subscribe">anchor="publish-subscribe" numbered="true" toc="default"> <name>Publish/Subscribe</name> <t>The names as defined in this document for Interests and Data can refer to data collections to be subscribed and individual data objects to be published in a Publish-Subscribe application architecture. For afully-workedfully worked example of how to construct such an ICN-based system, see the ACM ICN paper <xreftarget="LessonsLearned"/>.</t>target="LESSONS-LEARNED" format="default"/>.</t> </section> </section> <sectiontitle="IANA Considerations" anchor="iana-considerations"> <t>There areanchor="iana-considerations" numbered="true" toc="default"> <name>IANA Considerations</name> <t>This document has no IANAconsiderations related to this document.</t>actions.</t> </section> <sectiontitle="Security Considerations" anchor="security-considerations">anchor="security-considerations" numbered="true" toc="default"> <name>Security Considerations</name> <t>While the terms defined in this specification do not in and of themselves present new security considerations, the architectureswhichthat utilize the terms most certainly do. Readers should look at those specifications(e.g.(e.g., <xreftarget="RFC8569"/>,target="RFC8569" format="default"/> and <xreftarget="NDN"/>)target="NDN" format="default"/>) where various security considerations are addressed in detail.</t> <t>Some of the terms in this document use the words "trust", "trustworthy", or "trust model". We intend that these have their colloquialmeanings, howevermeanings; however, much work on trust, and specifically on trust schemas for ICNarchitecturesarchitectures, has been published in the last few years. For example, it is useful to look at <xreftarget="SchematizingTrust"/>target="SCHEMATIZING-TRUST" format="default"/> for more information on theapproachsapproaches taken to formalize notions of trust for current NDN and CCNx systems.</t> </section> </middle> <back><references title="Informational References"> &RFC4838; &RFC4949; &RFC6234; <!-- &RFC8569; &RFC8609; --><references> <name>References</name> <references> <name>Normative References</name> <referenceanchor="RFC8569" target="https://www.rfc-editor.org/info/rfc8569">anchor="NETINF" target="https://dl.acm.org/citation.cfm?id=2459643"> <front><title>Content-Centric Networking (CCNx) Semantics</title><title>Network of Information (NetInf) - An information-centric networking architecture</title> <seriesInfo name="DOI" value="10.1016/j.comcom.2013.01.009"/> <authorinitials="M." surname="Mosko" fullname="M. Mosko"> <organization/> </author>surname="Dannewitz" initials="C."/> <authorinitials="I." surname="Solis" fullname="I. Solis"> <organization/> </author>surname="Kutscher" initials="D."/> <authorinitials="C." surname="Wood" fullname="C. Wood"> <organization/> </author>surname="Ohlman" initials="B."/> <author surname="Farrell" initials="S."/> <author surname="Ahlgren" initials="B."/> <author surname="Holger" initials="K."/> <dateyear="2019" month="July"/> <abstract> <t> This document describes the core concepts of the Content-Centricyear="2013" month="April"/> </front> <refcontent>Computer Communications </refcontent> <refcontent>Volume 36, Issue 7 </refcontent> </reference> <reference anchor="NDNTLV" target="https://named-data.net/doc/ndn-tlv/"> <front> <title>NDN Packet Format Specification</title> <author> <organization>Named Data Networking(CCNx) architecture and presents a network protocol based on two messages: Interests and Content Objects. It specifies the set of mandatory and optional fields within those messages and describes their behavior and interpretation. This architecture and protocol specification is independent of a specific wire encoding. </t> <t> The protocol also uses a control message called an Interest Return, whereby one system can return an Interest message to the previous hop due to an error condition. This indicates to the previous hop that the current system will not respond to the Interest. </t> <t> This document is a product of the Information-Centric Networking Research Group (ICNRG). The document received wide review among ICNRG participants. Two full implementations are in active use and have informed the technical maturity of the protocol specification. </t> </abstract> </front> <seriesInfo name="RFC" value="8569"/> <seriesInfo name="DOI" value="10.17487/RFC8569"/> </reference> <reference anchor="RFC8609" target="https://www.rfc-editor.org/info/rfc8609"> <front> <title> Content-Centric Networking (CCNx) Messages in TLV Format </title> <author initials="M." surname="Mosko" fullname="M. Mosko"> <organization/></organization> </author><author initials="I." surname="Solis" fullname="I. Solis"> <organization/> </author> <author initials="C." surname="Wood" fullname="C. Wood"> <organization/> </author> <date year="2019" month="July"/> <abstract> <t> Content-Centric Networking (CCNx) is a network protocol that uses a hierarchical name to forward requests and to match responses to requests. This document specifies the encoding of CCNx messages in a TLV packet format, including the TLV types used by each message element and the encoding of each value. The semantics of CCNx messages follow the encoding-independent CCNx Semantics specification. </t> <t> This document is a product of the Information Centric Networking research group (ICNRG). The document received wide review among ICNRG participants and has two full implementations currently in active use, which have informed the technical maturity of the protocol specification. </t> </abstract> </front> <seriesInfo name="RFC" value="8609"/> <seriesInfo name="DOI" value="10.17487/RFC8609"/> </reference> <reference anchor="NDN" target="https://named-data.net/project/execsummary/"> <front> <title>Named Data Networking</title> <author surname="NDN team"/> <date year="various"/> </front> </reference> </references> <references title="Bibliography"> &RFC7476; &RFC7927; &RFC7945; &RFC7933; &I-D.irtf-icnrg-disaster; <reference anchor="NDNTLV" target="http://named-data.net/doc/ndn-tlv/"> <front> <title>NDN Packet Format Specification</title> <author surname="NDN Project Team"/> <date year="2016"/> </front> </reference> <reference anchor="Netinf" target="https://dl.acm.org/citation.cfm?id=2459643"> <front> <title>Network of Information (NetInf) - An information-centric networking architecture, in Computer Communications, Volume 36, Issue 7</title> <author surname="Dannewitz" initials="C."/> <author surname="Kutscher" initials="D."/> <author surname="Ohlman" initials="B."/> <author surname="Farrell" initials="S."/> <author surname="Ahlgren" initials="B."/> <author surname="Holger" initials="K."/> <date year="2013" month="April"/></front><seriesInfo name="DOI" value="10.1016/j.comcom.2013.01.009"/></reference> <reference anchor="PSIRP" target="http://www.psirp.org/files/Deliverables/PSIRP-TR08-0001_Vision.pdf"> <front> <title>From Design for Tussle to Tussle Networking: PSIRP Vision and Use Cases</title> <author surname="Trossen" initials="D."/> <author surname="Tuononen" initials="J"/> <author surname="Xylomenos" initials="G."/> <author surname="Sarela" initials="M."/> <author surname="Zahemszky" initials="A."/> <author surname="Nikander" initials="P."/> <author surname="Rinta-aho" initials="T."/> <date month="May" year="2008"/> </front> </reference> <referenceanchor="MobilityFirst"anchor="MOBILITY-FIRST" target="https://dl.acm.org/citation.cfm?id=2412098"> <front> <title>MobilityFirst: a robust and trustworthy mobility-centric architecture for the futureinternet, in ACM SIGMOBILE, Volume 16, Issue 3</title>internet</title> <seriesInfo name="DOI" value="10.1145/2412096.2412098"/> <author surname="Raychaudhuri" initials="D."/> <author surname="Nagaraja" initials="K."/> <author surname="Venkataramani"initials="V."/>initials="A."/> <date year="2012" month="July"/> </front><seriesInfo name="DOI" value="10.1145/2412096.2412098"/><refcontent>ACM SIGMOBILE </refcontent> <refcontent>Volume 16, Issue 3 </refcontent> </reference> <referenceanchor="SchematizingTrust" target="http://dx.doi.org/10.1145/2810156.2810170">anchor="SCHEMATIZING-TRUST" target="https://dx.doi.org/10.1145/2810156.2810170"> <front> <title>Schematizing Trust in Named DataNetworking, in ACM ICN'15</title>Networking</title> <seriesInfo name="DOI" value="0.1145/2810156.2810170"/> <author surname="Yu" initials="Y."/> <author surname="Afanasyev" initials="A."/> <author surname="Clark" initials="D."/> <author surname="Claffy"initials="kc."/>initials="K. C."/> <author surname="Jacobson" initials="V."/> <author surname="Zhang" initials="L."/> <date month="September" year="2015"/> </front><seriesInfo name="DOI" value="0.1145/2810156.2810170"/><refcontent>ACM ICN </refcontent> </reference> <reference anchor="RICE"target="http://dx.doi.org/10.1145/3267955.3267956">target="https://dx.doi.org/10.1145/3267955.3267956"> <front> <title>RICE: remote method invocation inICN, in ACM ICN'18</title>ICN</title> <seriesInfo name="DOI" value="10.1145/3267955.3267956"/> <author surname="Krol"initials="m."/>initials="M."/> <author surname="Habak" initials="K."/> <author surname="Kutscher" initials="D."/> <author surname="Oran" initials="D."/> <author surname="Psaras" initials="I."/> <date month="September" year="2018"/> </front><seriesInfo name="DOI" value="10.1145/3267955.3267956"/><refcontent>ACM ICN </refcontent> </reference> <reference anchor="CFN" target="https://dl.acm.org/citation.cfm?id=3357395"> <front> <title>Compute First Networking: Distributed Computing meetsICN, in ACM ICN'19</title>ICN</title> <seriesInfo name="DOI" value="10.1145/3357150.3357395"/> <author surname="Krol"initials="m."/>initials="M."/> <author surname="Mastorakis" initials="S."/> <author surname="Kutscher" initials="D."/> <author surname="Oran" initials="D."/> <date month="September" year="2019"/> </front><seriesInfo name="DOI" value="10.1145/3357150.3357395"/><refcontent>ACM ICN </refcontent> </reference> <referenceanchor="LessonsLearned"anchor="LESSONS-LEARNED" target="https://dl.acm.org/citation.cfm?id=3357397"> <front> <title>Lessons Learned Building a Secure Network Measurement Framework using BasicNDN, in ACM ICN'19</title>NDN</title> <seriesInfo name="DOI" value="10.1145/3357150.3357397"/> <author surname="Nichols" initials="K"/> <date month="September" year="2019"/> </front><seriesInfo name="DOI" value="10.1145/3357150.3357397"/><refcontent>ACM ICN </refcontent> </reference> </references> <references> <name>Informative References</name> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4838.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4949.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6234.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8569.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8609.xml"/> <reference anchor="NDN" target="https://named-data.net/project/execsummary/"> <front> <title>Named Data Networking: Executive Summary</title> <author> <organization>Named Data Networking </organization> </author> <date month="September" year="2010"/> </front> </reference> </references> </references> <section anchor="acknowledgements"title="Acknowledgments"> <t>Marc Moskonumbered="false" toc="default"> <name>Acknowledgments</name> <t><contact fullname="Marc Mosko"/> provided much guidance and helpful precision in getting these terms carefully formed and the definitions precise.Marie-José Montpetit<contact fullname="Marie-Jose Montpetit"/> did a thorough IRSG review, which helped a lot to improve the text. Further comments during the IRSG Poll fromStephen Farrell, Ari Keränen, Spencer Dawkins, Carsten Bormann, and Brian Trammell<contact fullname="Stephen Farrell"/>, <contact fullname="Ari Keraenen"/>, <contact fullname="Spencer Dawkins"/>, <contact fullname="Carsten Bormann"/>, and <contact fullname="Brian Trammell"/> further improved the document. Additional helpful comments were received as part of the IESG conflict review fromMirja Kuehlewind and Benjamin Kaduk.</t><contact fullname="Mirja Kuehlewind"/> and <contact fullname="Benjamin Kaduk"/>.</t> </section> <!-- [rfced] FYI: The following references are not used and have been removed from this document. Please let us know if these should be included throughout the document. [ICNRG-DISASTER] [NDNTLV] [RFC7476] [RFC7927] [RFC7933] [RFC7945] [RFC8609] How about in Intro: The goal of this document is to collect the key terms with a corresponding definition as they are used in the CCNx [8609] and NDN [NDNTLV] projects. --> </back> </rfc>