<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.27 (Ruby 3.1.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dtn-ipn-update-02" category="std" consensus="true" submissionType="IETF" updates="[9171, 7176]" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.0 -->
  <front>
    <title abbrev="ipn-update">Update to the ipn URI scheme</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dtn-ipn-update-02"/>
    <author fullname="Rick Taylor">
      <organization>Ori Industries</organization>
      <address>
        <email>rick.taylor@ori.co</email>
      </address>
    </author>
    <author fullname="Ed Birrane">
      <organization>JHU/APL</organization>
      <address>
        <email>Edward.Birrane@jhuapl.edu</email>
      </address>
    </author>
    <date year="2023" month="April" day="14"/>
    <area>Transport</area>
    <workgroup>Delay/Disruption Tolerant Networking</workgroup>
    <keyword>DTN</keyword>
    <keyword>ipn</keyword>
    <keyword>BPv7</keyword>
    <keyword>CBHE</keyword>
    <keyword>Bundle Protocol</keyword>
    <abstract>
      <t>This document updates both the specification of the ipn URI scheme previously defined in <xref target="RFC7116"/> and the rules for encoding of these URIs when used as an Endpoint Identifier (EID) in Bundle Protocol Version 7 (BPv7) as defined in <xref target="RFC9171"/>. These updates update and clarify the structure and behavior of the ipn URI scheme, define encodings of ipn scheme URIs, and establish the registries necessary to manage this scheme.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ricktaylor.github.io/ipn2/draft-taylor-dtn-ipn-update.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-dtn-ipn-update/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Delay/Disruption Tolerant Networking Working Group mailing list (<eref target="mailto:dtn@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dtn/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dtn/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ricktaylor/ipn2"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The ipn URI scheme was originally defined in <xref target="RFC7116"/> as a way to identify network nodes and node services using concisely-encoded integers that can be processed faster and with fewer resources than other verbose identifier schemes. The scheme was designed for use with the experimental Bundle Protocol version 6 (BPv6, <xref target="RFC5050"/>) and IPN was defined as an acronym for the term "InterPlanetary Network" in reference to its intended use for deep-space networking. Since then, the efficiency benefit of integer identifiers makes ipn scheme URIs useful for any networks operating with limited power, bandwidth, and/or compute budget. Therefore the term IPN is now used as a non-acronymous name.</t>
      <t>Similar to the experimental BPv6, the standardized Bundle Protocol version 7 (BPv7, <xref target="RFC9171"/>) codifies support for the use of the ipn URI scheme for the specification of bundle Endpoint Identifiers (EIDs). The publication of BPv7 has resulted in operational deployments of BPv7 nodes for both terrestrial and non-terrestrial use cases. This includes BPv7 networks operating over the terrestrial Internet and BPv7 networks operating in self-contained environments behind a shared administrative domain. The growth in the number and scale of deployments of BPv7 DTNs has been accompanied by a growth in the usage of the ipn URI scheme which has highlighted areas to improve the structure, moderation, and management of this scheme.</t>
      <t>This document updates the specification of the ipn URI scheme, in a backwards-compatible way, to provide needed improvements both in the scheme itself and its usage to specify EIDs with BPv7. Specifically, this document introduces a hierarchical structure for the assignment of ipn scheme URIs, clarifies the behavior and interpretation of ipn scheme URIs, defines efficient encodings of ipn scheme URIs, and updates/defines the registries associated for this scheme.</t>
      <t>Although originally developed by the deep space community for use with Bundle Protocol, the ipn URI scheme is sufficiently generic to be used in other environments where a concise unique representation of a resource on a particular node is required.</t>
      <t>It is important to remember that like most other URI schemes, the ipn URI scheme defines a unique identifier of a resource, and does not include any topological information describing how to route messages to that resource.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <t>For the remainder of this document the term "ipn URI" is used to refer to a URI that uses the ipn scheme.</t>
    </section>
    <section anchor="core-concepts">
      <name>Core Concepts</name>
      <t>All ipn URIs, no matter the textual representation or binary encoding, <bcp14>MUST</bcp14> be considered as a tuple of the following three components:</t>
      <ul spacing="normal">
        <li>The Allocator Identifier</li>
        <li>The Node Number</li>
        <li>The Service Number</li>
      </ul>
      <t>The Allocator Identifier indicates the entity responsible for assigning Node Numbers to individual resource nodes, maintaining uniqueness whilst avoiding the need for a single registry for all assigned Node Numbers. See <xref target="allocator-identifiers">Allocator Identifiers</xref>.</t>
      <t>The Node Number is a shared identifier assigned to all ipn URIs for resources co-located on a single node. See <xref target="node-numbers">Node Numbers</xref>.</t>
      <t>The Service Number identifies the particular type of service of a resource. See <xref target="service-numbers">Service Numbers</xref>.</t>
      <t>The combination of these three components guarantees that every correctly constructed ipn URI uniquely identifies a single resource.  Additionally, the combination of the Allocator identifier and the Node Number provides a mechanism to uniquely identify the node on which a particular resource is expected to exist. See <xref target="fqnn">Fully-qualified Node Number</xref>.</t>
      <t>When considered from the perspective of BPv7, a Node Number is shared by all endpoints co-located on a single bundle processing node, and a Service Number identifies a certain type of bundle processing service.</t>
      <section anchor="null-uri">
        <name>The Null ipn URI</name>
        <t>It has been found that there is value in defining a unique 'null' ipn URI to indicate "nowhere".  This ipn URI is termed the "Null ipn URI", and has all three components: Allocator Identifier, Node Number, and Service Number, set to the value zero (0).  No resource identified by Null ipn URI exists, and is therefore by definition unreachable.</t>
      </section>
      <section anchor="allocator-identifiers">
        <name>Allocator Identifiers</name>
        <t>An Allocator is any organization (e.g., vendor, manufacturer, co-operative, or other entity) that wishes to assign Node Numbers for use with the ipn URI scheme. The authorization to assign these numbers is provided through the assignment of an Allocator Identifier by IANA.  Regardless of other attributes of an Allocator, such as a name, point of contact, or other identifying information, Allocators are identified by Allocator Identifiers: a unique, unsigned integer.</t>
        <t>The Allocator Identifier <bcp14>MUST</bcp14> be the sole mechanism used to identify the Allocator that has assigned the Node Number in an ipn URI. An Allocator may have multiple assigned Allocator Identifiers, but a given Allocator Identifier <bcp14>MUST</bcp14> only be associated with a single Allocator.</t>
        <t>A new IANA "'ipn' Scheme URI Allocator Identifiers" registry is defined for the registration of Allocator Identifiers, see <xref target="iana-allocator-identifiers">'ipn' Scheme URI Allocator Identifiers registry</xref>.  Although the uniqueness of Allocator identifiers is required to enforce uniqueness of ipn URIs, some identifiers are explicitly reserved for experimentation or future use.</t>
        <t>Each Allocator assigns Node Numbers according to its own policies, without risk of creating an identical ipn URI, as permitted by the rules in the <xref target="node-numbers">Node Numbers</xref> section of this document.  Other than ensuring that any Node Numbers it allocates are unique amongst all Node Numbers it assigns, an Allocator does not need to coordinate its allocations with other Allocators.</t>
        <section anchor="allocator-identifier-ranges">
          <name>Allocator Identifier Ranges</name>
          <t>Some organizations with internal hierarchies may wish to delegate the allocation of Node Numbers to one or more of their sub-organizations.  Rather than assigning unique Allocator Identifiers to each sub-organization on a first-come first-served basis, there are operational benefits in assigning Allocator Identifiers to such an organization in a structured way so that an external observer can detect that a group of Allocator Identifiers are organizationally associated.</t>
          <t>An Allocator Identifier range is a set of consecutive Allocator Identifiers associated with the same Allocator. Each individual Allocator Identifier in a given range <bcp14>SHOULD</bcp14> be assigned to a distinct sub-organization of the Allocator. Assigning identifiers in this way allows external observers to both associate individual Allocator Identifiers with a single organization and to usefully differentiate amongst sub-organizations.</t>
          <t>The practice of associating a consecutive range of numbers with a single organization is inspired by the Classless Inter-domain Routing assignment of Internet Addresses described in <xref target="RFC4632"/>. In that assignment scheme, an organization (such as an Internet Service Provider) is assigned a network prefix such that all addresses sharing that same prefix are considered to be associated with that organization.</t>
          <t>Each Allocator Identifier range is identified by the first Allocator Identifier in the range and the number of consecutive identifiers in the range. Every Allocator Identifier in the range <bcp14>MUST</bcp14> be valid.</t>
          <t>Allocator Identifier ranges differ from CIDR addresses in two important ways.</t>
          <ol spacing="normal" type="1"><li>Allocator Identifiers are used to identify organizations and are not, themselves, addresses.</li>
            <li>Allocator Identifiers may be less than 32 bits in length.</li>
          </ol>
          <t>An example of the use of Allocator Identifier ranges for three organizations (A, B, and C) is as follows:</t>
          <table align="left" anchor="tab-air-example">
            <name>Allocator Identifier Range Assignment Example</name>
            <thead>
              <tr>
                <th align="center">Organization</th>
                <th align="left">Range Length (Bits)</th>
                <th align="left">Range (dec)</th>
                <th align="left">Range (hex)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="center">Org A</td>
                <td align="left">7 bits</td>
                <td align="left">36864-36991</td>
                <td align="left">0x9000-0x907F</td>
              </tr>
              <tr>
                <td align="center">Org B</td>
                <td align="left">4 bits</td>
                <td align="left">36992-37007</td>
                <td align="left">0x9080-0x908F</td>
              </tr>
              <tr>
                <td align="center">Org C</td>
                <td align="left">1 bit</td>
                <td align="left">37008-37009</td>
                <td align="left">0x9090-0x9091</td>
              </tr>
            </tbody>
          </table>
          <t>With these assignments, any Allocator Identifier whose most-significant 25 bits match 0x9000 belong to organization A. Similarly, any Allocator Identifier whose most-significant 28 bits match 0x9080 belong to organization B and any Allocator Identifier whose most-significant 31 bits are 0x9090 belong to organization C.</t>
        </section>
        <section anchor="the-default-allocator">
          <name>The Default Allocator</name>
          <t>As of the publication of <xref target="RFC7116"/>, the only organization permitted to assign Node Numbers was the Internet Assigned Numbers Authority (IANA) which assigned Node Numbers via the IANA "CBHE Node Numbers" registry. This means that all ipn URIs created prior to the addition of Allocator Identifiers are assumed to have Node Number allocations that comply with the IANA "CBHE Node Numbers" registry.</t>
          <t>The presumption that, unless otherwise specified, Node Numbers are allocated by IANA from a specific registry is formalized in this update to the ipn URI scheme by designating IANA as the "Default Allocator", and assigned the Allocator identifier zero (0) in the <xref target="iana-allocator-identifiers">'ipn' Scheme URI Allocator Identifiers registry</xref>.  In any case where an encoded ipn URI does not explicitly include an Allocator Identifier, an implementation <bcp14>MUST</bcp14> assume that the Node Number has been allocated by the Default Allocator.</t>
          <t>A new IANA "'ipn' Scheme URI Default Allocator Node Numbers" registry is defined to control the allocation of Node Numbers values by the Default Allocator.  This new registry inherits behaviours and existing assignments from the IANA "CBHE Node Numbers" registry, and reserves some other values as defined in the <xref target="special-node-numbers">Special Node Numbers</xref> section below.</t>
        </section>
      </section>
      <section anchor="node-numbers">
        <name>Node Numbers</name>
        <t>A Node Number identifies a node that hosts a resource in the context of a Allocator. A Node Number is an unsigned integer. A single Node Number assigned by a single Allocator <bcp14>MUST</bcp14> refer to a single node.</t>
        <t>All Node Number assignments, by all Allocators, <bcp14>MUST</bcp14> be in the range 0 to 2^32-1.</t>
        <t>It is <bcp14>RECOMMENDED</bcp14> that Node Number zero (0) not be assigned by an Allocator to avoid confusion with the <xref target="null-uri">Null ipn URI</xref>.</t>
        <section anchor="fqnn">
          <name>Fully-qualified Node Numbers</name>
          <t>One of the advantages of ipn URis is the ability to easily split the identity of a particular service from the node upon which the service exists.  For example a message received from one particular ipn URI may require a response to be sent to a different service on the same node that that sent the original message.  Historically the identifier of the sending node has been colloquially referred to as the "node number" or "node identifier".</t>
          <t>To avoid future confusion, when referring to the identifier of a particular node the term "Fully-qualified Node Number" (FQNN) <bcp14>MUST</bcp14> be used to refer to the combination of the Node Number component and Allocator Identifier component of an ipn URI that uniquely identifies a particular node.  In other words, an FQNN is the unique identifier of a particular node that supports services identified by ipn URIs.</t>
          <t>In examples in this document, FQNNs are written as (Allocator Identifier, Node Number), e.g. <tt>(2,100)</tt> is the FQNN for a node assigned Node Number 100 by an Allocator with Allocator Identifier 2.</t>
        </section>
      </section>
      <section anchor="special-node-numbers">
        <name>Special Node Numbers</name>
        <t>Some special-case Node Numbers are defined by the Default Allocator, see <xref target="iana-node-numbers">'ipn' Scheme URI Default Allocator Node Numbers registry</xref>.</t>
        <section anchor="the-zero-node-number">
          <name>The Zero Node Number</name>
          <t>The Default Allocator assigns the use of Node Number zero (0) solely for identifying the <xref target="null-uri">Null ipn URI</xref>.</t>
          <t>This means that any ipn URI with a zero (0) Allocator Identifier and a zero (0) Node Number, but a non-zero Service Number component is invalid.  Such ipn URIs <bcp14>MUST NOT</bcp14> be composed, and processors of such ipn URIs <bcp14>MUST</bcp14> consider them as the Null ipn URI.</t>
        </section>
        <section anchor="localnode-uri">
          <name>LocalNode ipn URIs</name>
          <t>The Default Allocator reserves Node Number 2^32-1 (0xFFFFFFFFF) to specify resources on the local node, rather than on any specific individual node.</t>
          <t>This means that any ipn URI with a zero (0) Allocator Identifier and a Node Number of 2^32-1 refers to a service on the local bundle node. ipn URIs of this form are termed "LocalNode ipn URIs".</t>
        </section>
        <section anchor="private-use">
          <name>Private Use Node Numbers</name>
          <t>The Default Allocator provides a range of Node Numbers that are reserved for "Private Use", as defined in <xref target="RFC8126"/>.</t>
          <t>Any ipn URI with a zero (0) Allocator Identifier and a Node Number reserved for "Private Use" is not guaranteed to be unique beyond a single administrative domain.  An administrative domain, as used here, is defined as the set of nodes that share a unique allocation of FQNNs from the "Private Use" range.  They can be considered to be equivalent to "Private Address Space" IPv4 addresses, as defined in <xref target="RFC1918"/>.</t>
        </section>
      </section>
      <section anchor="service-numbers">
        <name>Service Numbers</name>
        <t>A Service Number identifies a particular service operating on a node. The purpose of the Service Number is to provide well-known numeric identifiers for types of service in a network. A Service Number is an unsigned integer.</t>
        <t>A new IANA "'ipn' Scheme URI Service Numbers" registry is defined for the registration of Service Numbers, see <xref target="iana-service-numbers">'ipn' Scheme URI Service Numbers registry</xref>. This registry defines standardized Service Numbers for services such as an administrative or well-known protocol service endpoints. This registry also defines ranges explicitly reserved for both experimentation and ad-hoc service identification.</t>
      </section>
    </section>
    <section anchor="textual-encoding-of-ipn-uris">
      <name>Textual Encoding of ipn URIs</name>
      <t>All ipn scheme URIs comply with <xref target="RFC3986"/>, and are therefore represented by scheme identifier, and a scheme-specific part.  The scheme identifier is: <tt>ipn</tt>, and the scheme-specific parts are represented as a sequence of numeric components separated with the <tt>.</tt> character.  It is formally defined in <xref target="text-syntax">Appendix A</xref>, and can be informally considered as:</t>
      <artwork><![CDATA[
ipn:[<allocator-identifier>.]<node-number>.<service-number>
]]></artwork>
      <t>To keep the text representation concise, the follow rules apply:</t>
      <ol spacing="normal" type="1"><li>If the Allocator Identifier is zero (0), then the <tt>&lt;allocator-identifier&gt;</tt> and <tt>.</tt> <bcp14>MUST</bcp14> be omitted.</li>
        <li>All leading <tt>0</tt> characters <bcp14>MUST</bcp14> be omitted.</li>
        <li>If the Node Number is 2^32-1, i.e. the URI is an <xref target="localnode-uri">ipn LocalNode URI</xref>, then the character <tt>!</tt> may be used instead of <tt>4294967295</tt>, although both forms are valid encodings.</li>
      </ol>
      <t>Examples of the textual representation of ipn URIs can be found in <xref target="text-examples">Appendix B</xref>.</t>
    </section>
    <section anchor="usage-of-ipn-uris-with-bpv7">
      <name>Usage of ipn URIs with BPv7</name>
      <t>From the earliest days of experimentation with the Bundle Protocol there has been a need to identify the source and destination of a bundle.  The IRTF standardisation of the experimental BPv6 termed the logical source or destination of a bundle as an "Endpoint" identified by an "Endpoint Identifier" (EID). BPv6 EIDs are formatted as URIs. This definition and representation of EIDs was carried from the IRTF BPv6 specification to the IETF BPv7 specification. BPv7 additionally defined an IANA registry called the "Bundle Protocol URI Scheme Types" registry which identifies those URI schemes than might be used to represent EIDs.  The ipn URI scheme is one such URI scheme.</t>
      <t>This section identifies the behavior and interpretation of ipn URI schemes that <bcp14>MUST</bcp14> be followed when using this URI scheme to represent EIDs in BPv7. An ipn URI used as a BPv7 or BPv6 EID is termed an "ipn EID".</t>
      <section anchor="uniqueness-constraints">
        <name>Uniqueness Constraints</name>
        <t>An ipn EID <bcp14>MUST</bcp14> identify a singleton endpoint. The bundle processing node that is the sole member of that endpoint <bcp14>MUST</bcp14> be the node identified by the <xref target="fqnn">Fully-qualified Node Number</xref> of the node.</t>
        <t>A single bundle processing node <bcp14>MAY</bcp14> have multiple ipn EIDs associated with it. However, every ipn EID that shares a FQNN <bcp14>MUST</bcp14> refer to the same bundle processing node.</t>
        <t>For example, <tt>ipn:1.100.1</tt>, <tt>ipn:1.100.2</tt>, and <tt>ipn:1.100.3</tt> <bcp14>MUST</bcp14> all refer to services registered on the bundle processing node identified with FQNN <tt>(1,100)</tt>. None of these EIDs could be registered on any other bundle processing node.</t>
      </section>
      <section anchor="the-null-endpoint">
        <name>The Null Endpoint</name>
        <t><xref section="3.2" sectionFormat="of" target="RFC9171"/> defines the concept of the 'null' endpoint, which is an endpoint that has no members and which is identified by a special 'null' EID.</t>
        <t>Within the ipn URI scheme, the 'null' EID is represented by the <xref target="null-uri">Null ipn URI</xref>.</t>
      </section>
      <section anchor="bpv7-node-id">
        <name>BPv7 Node ID</name>
        <t><xref section="4.2.5.2" sectionFormat="of" target="RFC9171"/> introduces the concept of a "Node ID" that has the same format as an EID and that uniquely identifies a bundle processing node.</t>
        <t>Any ipn EID can serve as a "Node ID" for the bundle processing node identified by its <xref target="fqnn">Fully-qualified Node Number</xref>. For example, any ipn EID of the form ipn:A.B.C may be used as the Source Node ID of any bundle created by the bundle processing node identified by the FQNN <tt>(A,B)</tt>.</t>
      </section>
      <section anchor="localnode-ipn-eids">
        <name>LocalNode ipn EIDs</name>
        <t>When a <xref target="localnode-uri">LocalNode ipn URI</xref> is used as a BPv7 or BPv6 EID it is termed a "LocalNode ipn EID".</t>
        <t>Because a LocalNode ipn EID only has meaning on the local bundle node, any such EID <bcp14>MUST</bcp14> be considered 'non-routeable'. This means that any bundle using a LocalNode ipn EID as a bundle source or bundle destination <bcp14>MUST NOT</bcp14> be allowed to leave the local node. Similarly, LocalNode ipn EIDs <bcp14>SHOULD NOT</bcp14> be present in any other part of a bundle that is transmitted off of the local node. For example, a LocalNode ipn EID <bcp14>SHOULD NOT</bcp14> be used as a Bundle Protocol Security <xref target="RFC9172"/> security source EID for a bundle transmitted from the local bundle node, because such a source EID would have no meaning at a downstream bundle node.</t>
      </section>
      <section anchor="private-use-endpoints">
        <name>Private Use Endpoints</name>
        <t>Bundles destined for EIDs that use an ipn URI with an <xref target="fqnn">Fully-qualified Node Number</xref> that is within the "Private Use" range of the Default Allocator <bcp14>MUST</bcp14> be considered 'non-routeable'.</t>
        <t>This means that they <bcp14>MUST NOT</bcp14> be permitted to exit a single administrative domain, see <xref target="private-use">Private Use</xref>.</t>
      </section>
      <section anchor="administrative-endpoints">
        <name>Administrative Endpoints</name>
        <t>The service type identified by a Service Number of zero (0) <bcp14>MUST</bcp14> be interpreted as the administrative endpoint of the node, as defined in <xref section="3.2" sectionFormat="of" target="RFC9171"/>.</t>
        <t>Non-zero Service Numbers <bcp14>MUST NOT</bcp14> be used to identify the administrative endpoint of a bundle node in an ipn EID.</t>
      </section>
    </section>
    <section anchor="encoding-ipn-uris-with-bpv7">
      <name>Encoding ipn URIs with BPv7</name>
      <t><xref section="4.2.5.1" sectionFormat="of" target="RFC9171"/> requires that any URI scheme used to represent BPv7 EIDs <bcp14>MUST</bcp14> define how the scheme-specific part of the URI scheme is CBOR encoded. To meet this requirement, this section describes the CBOR encoding and decoding approach for ipn EIDs. The formal definition of these encodings is presented in <xref target="cbor-encoding">Appendix C</xref>.</t>
      <t>While there is a single, canonical, textual representation of an ipn URI, there may exist multiple encodings for that URI. For example, <xref section="2.1" sectionFormat="of" target="RFC3986"/> defines a percent-encoding mechanism for a URI text string. Alternatively, <xref section="3.4.5.3" sectionFormat="of" target="RFC8949"/> allows for the encoding of URIs as CBOR text strings identified with a CBOR tag value of 32.</t>
      <section anchor="ipn-eid-cbor-encoding">
        <name>ipn EID CBOR Encoding</name>
        <t>Generic URI approaches to encoding ipn EIDs are unlikely to be efficient because they do not consider the underlying structure of the ipn URI scheme. Since the creation of the ipn URI scheme was motivated by the need for concise identification and rapid processing, the encoding of ipn EIDs maintains these properties.</t>
        <t>Fundamentally, <xref target="RFC9171"/> ipn EIDs are represented as a sequence of identifiers. In the text syntax, the numbers are separated with the <tt>.</tt> delimiter; in CBOR, this ordered series of numbers can be represented by an array. Therefore, when encoding ipn EIDs for use with BPv7, the scheme-specific part of an ipn URI <bcp14>MUST</bcp14> be represented as a CBOR array of either two (2) or three (3) elements. Each element of the array <bcp14>MUST</bcp14> be encoded as a single CBOR unsigned integer.</t>
        <t>The structure and mechanisms of the two-element and three-element encodings are described below, and examples of the different encodings are provided in <xref target="cbor-examples">Appendix D</xref>.</t>
        <section anchor="two-encode">
          <name>Two-Element Scheme-Specific Encoding</name>
          <t>In the two-element scheme-specific encoding of an ipn EID, the first element of the array is an encoding of the <xref target="fqnn">Fully-qualified Node Number</xref> and the second element of the array is the ipn EID Service Number.</t>
          <t>The FQNN encoding <bcp14>MUST</bcp14> be a 64 bit unsigned integer constructed in the following way:</t>
          <ol spacing="normal" type="1"><li>The least significant 32 bits <bcp14>MUST</bcp14> represent the Node Number associated with the ipn EID.</li>
            <li>The most significant 32 bits <bcp14>MUST</bcp14> represent the Allocator Identifier associated with the ipn EID.</li>
          </ol>
          <t>For example the ipn EID of <tt>ipn:1.100.1</tt> has an FQNN of <tt>(1.100)</tt> which would be encoded as <tt>0x0100000064</tt>.  The resulting two-element array <tt>[0x0100000064, 0x01]</tt> would be encoded in CBOR as the 11 octet value <tt>0x821B000000010000006401</tt>.</t>
          <t>The two-element scheme-specific encoding provides for backwards compatibility with the encoding provided in <xref section="4.2.5.1.2" sectionFormat="of" target="RFC9171"/>. When used in this way, the encoding of the FQNN replaces the use of the "Node Number" that was specified in RFC9171. When the Node Number is allocated by the Default Allocator, then the encoding of the FQNN and the RFC9171 encoding of the "Node Number" are identical.</t>
          <t>This encoding scheme <bcp14>MUST</bcp14> be implemented by any BPv7 bundle processing node that supports ipn URIs for the specification of BPv7 EIDs.</t>
        </section>
        <section anchor="three-encode">
          <name>Three-Element Scheme-Specific Encoding</name>
          <t>In the three-element scheme-specific encoding of an ipn EID, the first element of the array is the Allocator Identifier, the second element of the array is Node Number, and the third element of the array is the Service Number.</t>
          <t>For example, the ipn EID of <tt>ipn:1.100.1</tt> would result in the three-element array of <tt>[1,100,1]</tt> which would be encoded in CBOR as the 5 octet value <tt>0x8301186401</tt>.</t>
          <t>The three-element scheme-specific encoding allows for a more efficient representation of ipn EIDs using smaller Allocator Identifiers. In the examples in <xref target="cbor-examples">Appendix D</xref>, the two-element encoding of <tt>ipn:1.100.1</tt> was more then double the size of the three-element encoding.</t>
          <t>When encoding an ipn EID using the Default Allocator with this encoding scheme, the first element of the array <bcp14>MUST</bcp14> be the value zero (0). In this case using the two-element encoding will result in a more concise CBOR representation, and it is <bcp14>RECOMMENDED</bcp14> that implementations do so.</t>
        </section>
      </section>
      <section anchor="ipn-eid-cbor-decoding">
        <name>ipn EID CBOR Decoding</name>
        <t>The presence of different scheme-specific encodings does not introduce any decoding ambiguity.</t>
        <t>An ipn EID CBOR decoder can reconstruct an ipn EID using the following logic. In this description, the term <tt>enc_eid</tt> refers to the CBOR encoded ipn EID, and the term <tt>ipn_eid</tt> refers to the decoded ipn EID.</t>
        <artwork align="left" type="pseudocode"><![CDATA[
if enc_eid.len() == 3
{
  ipn_eid.allocator_identifier := enc_eid[0];
  ipn_eid.node_number := enc_eid[1];
  ipn_eid.service_number := enc_eid[2];
}
else if enc_eid.len() == 2
{
  let N := enc_eid[0];
  ipn_eid.service_number := enc_eid[1];

  if N >= 2^32
  {
    ipn_eid.allocator_identifier := N >> 32;
    ipn_eid.node_number := N & (2^32-1);
  }
  else
  {
    ipn_eid.allocator_identifier := 0;
    ipn_eid.node_number := N;
  }
}
]]></artwork>
      </section>
      <section anchor="ipn-eid-matching">
        <name>ipn EID Matching</name>
        <t>Regardless of whether the two-element or three-element scheme-specific encoding is used, ipn EID matching <bcp14>MUST</bcp14> be performed on the decoded EID information itself. Different encodings of the same ipn EID <bcp14>MUST</bcp14> be treated as equivalent when performing EID-specific functions.</t>
        <t>For example, the ipn EID of <tt>ipn:1.100.1</tt> can be represented as either the two-element encoding of <tt>0x821B000000010000006401</tt> or the three-element encoding of <tt>0x8301186401</tt>. While message integrity and other syntax-based checks may treat these values differently, any EID-based comparisons <bcp14>MUST</bcp14> treat these values the same - as representing the ipn EID <tt>ipn:1.100.1</tt>.</t>
      </section>
    </section>
    <section anchor="special-considerations">
      <name>Special Considerations</name>
      <t>The ipn URI scheme provides a compact and hierarchical mechanism for identifying services on network nodes. There is a significant amount of utility in the ipn URI scheme approach to identification. However, implementers should take into consideration the following observations on the use of the ipn URI scheme.</t>
      <section anchor="scheme-compatibility">
        <name>Scheme Compatibility</name>
        <t>The ipn scheme update that has been presented in this document preserves backwards compatibility with any ipn URI scheme going back to the provisional definition of the ipn scheme in the experimental Compressed Bundle Header Encoding <xref target="RFC6260"/> in 2011. This means that any ipn URI that was valid prior to the publication of this update remains a valid ipn URI.</t>
        <t>Similarly, the <xref target="two-encode">two-element scheme-specific encoding</xref> is also backwards compatible with the encoding of ipn URIs provided in <xref target="RFC9171"/>. Any existing BPv7-compliant implementation will produce an ipn URI encoding in compliance with this specification.</t>
        <t>The introduction of optional non-default Allocator Identifiers and a three-element scheme-specific encoding make this ipn URI scheme update not forwards compatible. Existing software <bcp14>MUST</bcp14> be updated to be able to process non-default Allocator Identifiers and three-element scheme-specific encodings. It is <bcp14>RECOMMENDED</bcp14> that BP implementations upgrade to process these new features to benefit from the scalability provided by Allocator Identifiers and the encoding efficiencies provided by the three-element encoding.</t>
      </section>
      <section anchor="late-binding">
        <name>Late Binding</name>
        <t><xref target="RFC9171"/> mandates the concept of "late binding" of an EID, where-by the address of the destination of a bundle is resolved from its identifier hop by hop as it transits a DTN.  This per-hop binding of identifiers to addresses underlines the fact that EIDs are purely names, and should not carry any implicit or explicit information concerning the current location or reachability of an identified node and service.  This removes the need to rename a node as its location changes.</t>
        <t>The concept of "late binding" is preserved in this ipn URI scheme. Elements of an ipn URI <bcp14>SHOULD NOT</bcp14> be regarded as carrying information relating to location, reachability, or other addressing/routing concern.</t>
        <t>An example of incorrect behaviour would be to assume that a given Allocator assigns Node Numbers derived from link-layer addresses and to interpret the Node Number component of an ipn URI directly as a link-layer address. No matter the mechanism an Allocator uses for the assignment of Node Numbers, they remain just numbers, without additional meaning.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section updates the security considerations from <xref section="4.2.5.1.2" sectionFormat="of" target="RFC9171"/> to account for the inclusion of Allocator Identifiers in the ipn URI scheme.</t>
      <section anchor="reliability-and-consistency">
        <name>Reliability and consistency</name>
        <t>None of the BP endpoints identified by ipn EIDs are guaranteed to be reachable at any time, and the identity of the processing entities operating on those endpoints is never guaranteed by the Bundle Protocol itself. Verification of the signature provided by the Block Integrity Block targeting the bundle's primary block, as defined by Bundle Protocol Security <xref target="RFC9172"/>, is required for this purpose.</t>
      </section>
      <section anchor="malicious-construction">
        <name>Malicious construction</name>
        <t>Malicious construction of a conformant ipn URI is limited to the malicious selection of Allocator Identifiers, Node Numbers, and Service Numbers. That is, a maliciously constructed ipn EID could be used to direct a bundle to an endpoint that might be damaged by the arrival of that bundle or, alternatively, to declare a false source for a bundle and thereby cause incorrect processing at a node that receives the bundle. In both cases (and indeed in all bundle processing), the node that receives a bundle should verify its authenticity and validity before operating on it in any way.</t>
      </section>
      <section anchor="back-end-transcoding">
        <name>Back-end transcoding</name>
        <t>The limited expressiveness of URIs of the ipn scheme effectively eliminates the possibility of threat due to errors in back-end transcoding.</t>
      </section>
      <section anchor="rare-ip-address-formats">
        <name>Rare IP address formats</name>
        <t>Not relevant, as IP addresses do not appear anywhere in conformant ipn URIs.</t>
      </section>
      <section anchor="sensitive-information">
        <name>Sensitive information</name>
        <t>Because ipn URIs are used only to represent the numeric identities of resources, the risk of disclosure of sensitive information due to interception of these URIs is minimal. Examination of ipn EIDs could be used to support traffic analysis; where traffic analysis is a plausible danger, bundles should be conveyed by secure convergence-layer protocols that do not expose endpoint IDs.</t>
      </section>
      <section anchor="semantic-attacks">
        <name>Semantic attacks</name>
        <t>The simplicity of ipn URI scheme syntax minimizes the possibility of misinterpretation of a URI by a human user.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>The following sections detail requests to IANA for the creation of a new registry, and the renaming of two existing registries.</t>
      <section anchor="iana-allocator-identifiers">
        <name>'ipn' Scheme URI Allocator Identifiers registry</name>
        <t>IANA is requested to create a new registry entitled "'ipn' Scheme URI Allocator Identifiers".  The registration policy for this registry is:</t>
        <table align="left" anchor="tab-ipn-allocator-identifiers-reg">
          <name>'ipn' Scheme URI Numbering Allocator Identifiers registration policies</name>
          <thead>
            <tr>
              <th align="center">Range</th>
              <th align="left">Registration Policy</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0 .. 2^16-1</td>
              <td align="left">Expert Review, Single Allocator Identifiers only</td>
            </tr>
            <tr>
              <td align="center">2^16 .. 2^30-1</td>
              <td align="left">Expert Review</td>
            </tr>
            <tr>
              <td align="center">2^30 .. 2^31-1</td>
              <td align="left">Experimentation</td>
            </tr>
            <tr>
              <td align="center">2^31 .. 2^32-1</td>
              <td align="left">Reserved, Future Expansion</td>
            </tr>
            <tr>
              <td align="center">&gt;= 2^32</td>
              <td align="left">Reserved</td>
            </tr>
          </tbody>
        </table>
        <t>Each entry in this registry associates one or more Allocator Identifiers with a single organization. Within the registry, the organization is identified using the "Name" and "Point of Contact" fields. It is expected that each identified organization publishes some listing of allocated node numbers - the pointer to which is listed in the "Reference" field of the registry.</t>
        <t>Allocator Identifiers are identified in the registry by the "Value" field, which is of the format XXXXXXXX/N. In this format, N represents the power of two representing the Allocator Identifier range length, with N=0 indicating a single Allocator Identifier (length of 2^0 = 1), with N=1 indicating a range of 2 Allocator Identifiers (length of 2^1 = 2), and so on. XXXXXXXX is the hexadecimal representation of the most-significant 32-N bits of the first Allocator Identifier, with leading 0s elided.  The least-significant N bits of the first Allocator Identifier <bcp14>MUST</bcp14> be assigned to all 0.</t>
        <t>The initial values for the registry are:</t>
        <table align="left" anchor="tab-ipn-allocator-identifiers-vals">
          <name>'ipn' Scheme URI Allocator Identifiers initial values</name>
          <thead>
            <tr>
              <th align="center">Value</th>
              <th align="left">Name</th>
              <th align="left">Reference</th>
              <th align="left">Point of Contact</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0/0</td>
              <td align="left">Default Allocator</td>
              <td align="left">This document</td>
              <td align="left">IANA</td>
            </tr>
            <tr>
              <td align="center">1/0</td>
              <td align="left">CCSDS</td>
              <td align="left">TBD</td>
              <td align="left">www.sana.org</td>
            </tr>
          </tbody>
        </table>
        <section anchor="guidance-for-designated-experts">
          <name>Guidance for Designated Experts</name>
          <t>New assignments within this registry require review by a Designated Expert (DE). This section provides guidance to the DE when performing their reviews. Specifically, a DE is expected to perform the following activities.</t>
          <ol spacing="normal" type="1"><li>Ensure that the requesting entity represents an organization and not an individual.</li>
            <li>Determine that the requesting organization will reasonably provide operational Node Numbers for itself or others beyond that which is already provided by the Default Allocator.</li>
            <li>Ensure that the requesting organization does not already provide the same Node Numbers under the auspices of some other registered Allocator (except in the cases of allocating a range of Allocator Identifiers).</li>
            <li>Ensure that every value in the range 0 - 2^16-1 is a single Allocator Identifier and not a range of Allocator Identifiers - meaning that the value of N in the representation XXXXXXXX/N is always 0.</li>
            <li>Ensure that Allocator Identifier value assignments reflect encoding needs. Experts should always prefer Allocator Identifier values greater than or equal to 2^16 for organizations, unless a compelling need statement is provided by the organization for a smaller encoding. Allocator Identifier values less than 25 should not be provided unless an organization has a requirement to produce very small encodings.</li>
            <li>Ensure that the name in the registry field appropriately identifies the requesting organization.</li>
            <li>Ensure that assigning any Allocator Identifier or Allocator Identifier range would not create overlaps.</li>
          </ol>
        </section>
      </section>
      <section anchor="iana-node-numbers">
        <name>'ipn' Scheme URI Default Allocator Node Numbers registry</name>
        <t>IANA is requested to rename the "CBHE Node Numbers" registry defined in <xref section="3.2.1" sectionFormat="of" target="RFC7116"/> to the "'ipn' Scheme URI Default Allocator Node Numbers" registry.</t>
        <t>The registration policy for this registry is updated to be:</t>
        <table align="left" anchor="tab-ipn-node-numbers-reg">
          <name>'ipn' Scheme URI Default Allocator Node Numbers registration policies</name>
          <thead>
            <tr>
              <th align="center">Range</th>
              <th align="left">Registration Policy</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0</td>
              <td align="left">Reserved for the <xref target="null-uri">Null ipn URI</xref></td>
            </tr>
            <tr>
              <td align="center">1 .. 2^14-1</td>
              <td align="left">Private Use</td>
            </tr>
            <tr>
              <td align="center">2^14 .. 2^32-2</td>
              <td align="left">Expert Review</td>
            </tr>
            <tr>
              <td align="center">2^32-1</td>
              <td align="left">Reserved for <xref target="localnode-uri">LocalNode ipn URIs</xref></td>
            </tr>
            <tr>
              <td align="center">&gt;= 2^32</td>
              <td align="left">Invalid</td>
            </tr>
          </tbody>
        </table>
        <t>The initial values for the registry remain as is, namely:</t>
        <table align="left" anchor="tab-ipn-node-numbers-vals">
          <name>'ipn' Scheme URI Default Allocator Node Numbers initial values</name>
          <thead>
            <tr>
              <th align="center">Value</th>
              <th align="center">Hex</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">16384-2097151</td>
              <td align="center">0x4000-0x1FFFFF</td>
              <td align="left">Allocated to the Space Assigned Numbers Authority (SANA) for use by Consultative Committee for Space Data Systems (CCSDS) missions.</td>
              <td align="left">Inherited from <xref target="RFC7116"/></td>
            </tr>
            <tr>
              <td align="center">268435456-268451839</td>
              <td align="center">0x10000000-0x10003FFF</td>
              <td align="left">Allocated to Spacely Packets, LLC to provide IPN/IP Gateway services to private sector stakeholders.</td>
              <td align="left">Scott Johnson</td>
            </tr>
            <tr>
              <td align="center">268451840-268468223</td>
              <td align="center">0x10004000-0x10007FFF</td>
              <td align="left">Allocated to SPATIAM CORPORATION to provide DTN services to organizations.</td>
              <td align="left">Alberto Montilla</td>
            </tr>
            <tr>
              <td align="center">268468224-268484607</td>
              <td align="center">0x10008000-0x1000BFFF</td>
              <td align="left">Allocated to Phoenix R&amp;D GMBH to provide DTN services for secure messaging.</td>
              <td align="left">Julia Longtin</td>
            </tr>
            <tr>
              <td align="center">268484608-268500991</td>
              <td align="center">0x1000C000-0x1000FFFF</td>
              <td align="left">Allocated to LateLab AB for various terrestrial DTN deployments and services.</td>
              <td align="left">Samo Grasic</td>
            </tr>
            <tr>
              <td align="center">268500992-268517375</td>
              <td align="center">0x10010000-0x10013FFF</td>
              <td align="left">Allocated to MEIS d.o.o. from Slovenia for various terrestrial DTN testbeds.</td>
              <td align="left">Bostjan Grasic</td>
            </tr>
            <tr>
              <td align="center">268517376-268533759</td>
              <td align="center">0x10014000-0x10017FFF</td>
              <td align="left">Allocated to Digital Health Information Network Inc. for Space applications in digital health and terrestrial DTN services.</td>
              <td align="left">Oscar Garcia</td>
            </tr>
            <tr>
              <td align="center">268533760-268550143</td>
              <td align="center">0x10018000-0x1001BFFF</td>
              <td align="left">Allocated to Shirokuma-AI for artificial intelligence-driven space applications and terrestrial DTN services in the fields of healthcare, robotics, wearables and edge devices, information processing and discovery.</td>
              <td align="left">Larissa Suzuki</td>
            </tr>
            <tr>
              <td align="center">268550144-268566527</td>
              <td align="center">0x1001C000-0x1001FFFF</td>
              <td align="left">Assigned to LJCV Electronics for Development of an Experimental R&amp;D DTN, STEM Education, space and terrestrial applications.</td>
              <td align="left">Jorge Amodio</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana-service-numbers">
        <name>'ipn' Scheme URI Service Numbers registry</name>
        <t>IANA is requested to rename the "CBHE Service Numbers" registry defined in <xref section="3.2.2" sectionFormat="of" target="RFC7116"/> to the "'ipn' Scheme URI Service Numbers" registry.</t>
        <t>The registration policy for this registry is updated to be:</t>
        <table align="left" anchor="tab-ipn-service-numbers-reg">
          <name>'ipn' Scheme URI Service Numbers registration policies</name>
          <thead>
            <tr>
              <th align="center">Range</th>
              <th align="left">Registration Policy</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0 .. 23</td>
              <td align="left">RFC Required</td>
            </tr>
            <tr>
              <td align="center">24 .. 2^15-1</td>
              <td align="left">Specification Required</td>
            </tr>
            <tr>
              <td align="center">2^15 .. 2^31-1</td>
              <td align="left">Private Use</td>
            </tr>
            <tr>
              <td align="center">&gt;= 2^31</td>
              <td align="left">Reserved</td>
            </tr>
          </tbody>
        </table>
        <t>The current values for the registry remain, and are rewritten as:</t>
        <table align="left" anchor="tab-ipn-service-numbers-vals">
          <name>'ipn' Scheme URI Service Numbers initial values</name>
          <thead>
            <tr>
              <th align="center">Value</th>
              <th align="center">Version</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0</td>
              <td align="center">BPv6, BPv7</td>
              <td align="left">The Administrative Endpoint</td>
              <td align="left">
                <xref target="RFC7116"/>, This document</td>
            </tr>
            <tr>
              <td align="center">1</td>
              <td align="center">BPv6</td>
              <td align="left">CCSDS File Delivery Service</td>
              <td align="left">
                <xref target="CFDP"/></td>
            </tr>
            <tr>
              <td align="center">2</td>
              <td align="center">BPv6</td>
              <td align="left">Reserved</td>
              <td align="left">
                <xref target="RFC7116"/></td>
            </tr>
            <tr>
              <td align="center">2</td>
              <td align="center">BPv7</td>
              <td align="left">Unassigned</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="center">3 .. 63</td>
              <td align="center">BPv6, BPv7</td>
              <td align="left">Unassigned</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="center">64 .. 1023</td>
              <td align="center">BPv6</td>
              <td align="left">Allocated to the Space Assigned Numbers Authority (SANA) for use by Consultative Committee for Space Data Systems (CCSDS) missions</td>
              <td align="left">
                <xref target="RFC7116"/></td>
            </tr>
            <tr>
              <td align="center">64 .. 1023</td>
              <td align="center">BPv7</td>
              <td align="left">Unassigned</td>
              <td align="left"> </td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC7116">
          <front>
            <title>Licklider Transmission Protocol (LTP), Compressed Bundle Header Encoding (CBHE), and Bundle Protocol IANA Registries</title>
            <author fullname="K. Scott" initials="K." surname="Scott">
              <organization/>
            </author>
            <author fullname="M. Blanchet" initials="M." surname="Blanchet">
              <organization/>
            </author>
            <date month="February" year="2014"/>
            <abstract>
              <t>The DTNRG Research Group has defined the experimental Licklider Transmission Protocol (LTP) and the Compressed Bundle Header Encoding (CBHE) mechanism for the InterPlanetary Network ('ipn' URI scheme). Moreover, RFC 5050 defines values for the Bundle Protocol administrative record type.  All of these fields are subject to a registry.  For the purpose of its research work, the group has created ad hoc registries.  As the specifications are stable and have multiple interoperable implementations, the group would like to hand off the registries to IANA for official management.  This document describes the necessary IANA actions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7116"/>
          <seriesInfo name="DOI" value="10.17487/RFC7116"/>
        </reference>
        <reference anchor="RFC9171">
          <front>
            <title>Bundle Protocol Version 7</title>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh">
              <organization/>
            </author>
            <author fullname="K. Fall" initials="K." surname="Fall">
              <organization/>
            </author>
            <author fullname="E. Birrane" initials="E." surname="Birrane">
              <organization/>
            </author>
            <author fullname="III" initials="III" surname="">
              <organization/>
            </author>
            <date month="January" year="2022"/>
            <abstract>
              <t>This document presents a specification for the Bundle Protocol, adapted from the experimental Bundle Protocol specification developed by the Delay-Tolerant Networking Research Group of the Internet Research Task Force and documented in RFC 5050.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9171"/>
          <seriesInfo name="DOI" value="10.17487/RFC9171"/>
        </reference>
        <reference anchor="RFC5050">
          <front>
            <title>Bundle Protocol Specification</title>
            <author fullname="K. Scott" initials="K." surname="Scott">
              <organization/>
            </author>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh">
              <organization/>
            </author>
            <date month="November" year="2007"/>
            <abstract>
              <t>This document describes the end-to-end protocol, block formats, and abstract service description for the exchange of messages (bundles) in Delay Tolerant Networking (DTN).</t>
              <t>This document was produced within the IRTF's Delay Tolerant Networking Research Group (DTNRG) and represents the consensus of all of the active contributors to this group.  See http://www.dtnrg.org for more information.  This memo defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5050"/>
          <seriesInfo name="DOI" value="10.17487/RFC5050"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton">
              <organization/>
            </author>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <author fullname="T. Narten" initials="T." surname="Narten">
              <organization/>
            </author>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker">
              <organization/>
            </author>
            <author fullname="P. Overell" initials="P." surname="Overell">
              <organization/>
            </author>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax.  Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications.  The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power.  The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges.  This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049.  It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz">
              <organization/>
            </author>
            <author fullname="C. Vigano" initials="C." surname="Vigano">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049).  Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="CFDP" target="https://public.ccsds.org/Pubs/727x0b4s.pdf">
          <front>
            <title>CCSDS FILE DELIVERY PROTOCOL (CFDP)</title>
            <author>
              <organization>The Consultative Committee for Space Data Systems</organization>
            </author>
            <date year="2007" month="January"/>
          </front>
        </reference>
        <reference anchor="RFC4632">
          <front>
            <title>Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan</title>
            <author fullname="V. Fuller" initials="V." surname="Fuller">
              <organization/>
            </author>
            <author fullname="T. Li" initials="T." surname="Li">
              <organization/>
            </author>
            <date month="August" year="2006"/>
            <abstract>
              <t>This memo discusses the strategy for address assignment of the existing 32-bit IPv4 address space with a view toward conserving the address space and limiting the growth rate of global routing state. This document obsoletes the original Classless Inter-domain Routing (CIDR) spec in RFC 1519, with changes made both to clarify the concepts it introduced and, after more than twelve years, to update the Internet community on the results of deploying the technology described.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="122"/>
          <seriesInfo name="RFC" value="4632"/>
          <seriesInfo name="DOI" value="10.17487/RFC4632"/>
        </reference>
        <reference anchor="RFC1918">
          <front>
            <title>Address Allocation for Private Internets</title>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter">
              <organization/>
            </author>
            <author fullname="B. Moskowitz" initials="B." surname="Moskowitz">
              <organization/>
            </author>
            <author fullname="D. Karrenberg" initials="D." surname="Karrenberg">
              <organization/>
            </author>
            <author fullname="G. J. de Groot" initials="G. J." surname="de Groot">
              <organization/>
            </author>
            <author fullname="E. Lear" initials="E." surname="Lear">
              <organization/>
            </author>
            <date month="February" year="1996"/>
            <abstract>
              <t>This document describes address allocation for private internets.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="5"/>
          <seriesInfo name="RFC" value="1918"/>
          <seriesInfo name="DOI" value="10.17487/RFC1918"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee">
              <organization/>
            </author>
            <author fullname="R. Fielding" initials="R." surname="Fielding">
              <organization/>
            </author>
            <author fullname="L. Masinter" initials="L." surname="Masinter">
              <organization/>
            </author>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource.  This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet.  The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier.  This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC9172">
          <front>
            <title>Bundle Protocol Security (BPSec)</title>
            <author fullname="E. Birrane" initials="E." surname="Birrane">
              <organization/>
            </author>
            <author fullname="III" initials="III" surname="">
              <organization/>
            </author>
            <author fullname="K. McKeever" initials="K." surname="McKeever">
              <organization/>
            </author>
            <date month="January" year="2022"/>
            <abstract>
              <t>This document defines a security protocol providing data integrity and confidentiality services for the Bundle Protocol (BP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9172"/>
          <seriesInfo name="DOI" value="10.17487/RFC9172"/>
        </reference>
        <reference anchor="RFC6260">
          <front>
            <title>Compressed Bundle Header Encoding (CBHE)</title>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh">
              <organization/>
            </author>
            <date month="May" year="2011"/>
            <abstract>
              <t>This document describes a convention by which Delay-Tolerant Networking (DTN) Bundle Protocol (BP) "convergence-layer" adapters may represent endpoint identifiers in a compressed form within the primary blocks of bundles, provided those endpoint identifiers conform to the structure prescribed by this convention.</t>
              <t>Compressed Bundle Header Encoding (CBHE) compression is a convergence-layer adaptation.  It is opaque to bundle processing. Therefore, it has no impact on the interoperability of different Bundle Protocol implementations, but instead affects only the interoperability of different convergence-layer adaptation implementations.</t>
              <t>This document is a product of the Delay-Tolerant Networking Research Group and has been reviewed by that group.  No objections to its publication as an RFC were raised.  This document defines an Experimental  Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6260"/>
          <seriesInfo name="DOI" value="10.17487/RFC6260"/>
        </reference>
      </references>
    </references>
    <section anchor="text-syntax">
      <name>ipn URI Scheme Text Syntax</name>
      <t>The text syntax of an ipn URI <bcp14>MUST</bcp14> comply with the following ABNF <xref target="RFC5234"/> syntax, including the core ABNF syntax rule for DIGIT defined by that specification:</t>
      <artwork type="abnf" align="left"><![CDATA[
ipn-uri = "ipn:" ipn-hier-part

ipn-hier-part = fqnn "." service-number

fqnn = "!" / allocator-part

allocator-part = (allocator-identifier ".")? node-number

allocator-identifier = non-zero-number

node-number = number

service-number = number

number = "0" \ non-zero-number

non-zero-number = (%x31-39 *DIGIT)
]]></artwork>
    </section>
    <section anchor="text-examples">
      <name>ipn URI Scheme Text Representation Examples</name>
      <t>This section provides some example ipn URIs in their textual representation.</t>
      <section anchor="using-the-default-allocator">
        <name>Using the Default Allocator</name>
        <t>Consider the ipn URI identifying Service Number 2 on Node Number 1 allocated by the Default Allocator (0).</t>
        <t>The complete seven character representation of this URI would be as follows:</t>
        <artwork><![CDATA[
ipn:1.2
]]></artwork>
      </section>
      <section anchor="using-a-non-default-allocator">
        <name>Using a non-default Allocator</name>
        <t>Consider the ipn URI identifying Service Number 1 on Node Number 1 allocated by Allocator 100.</t>
        <t>The complete 11 character representation of this URI would be as follows:</t>
        <artwork><![CDATA[
ipn:100.1.2
]]></artwork>
      </section>
      <section anchor="the-null-ipn-uri">
        <name>The Null ipn URI</name>
        <t>The <xref target="null-uri">Null ipn URI</xref> is represented as:</t>
        <artwork><![CDATA[
ipn:0.0
]]></artwork>
      </section>
      <section anchor="a-localnode-ipn-uri">
        <name>A LocalNode ipn URI</name>
        <t>Consider the ipn URI identifying Service Number 7 on the local node.</t>
        <t>The complete seven character representation of this URI would be as follows:</t>
        <artwork><![CDATA[
ipn:!.7
]]></artwork>
      </section>
    </section>
    <section anchor="cbor-encoding">
      <name>ipn URI Scheme CBOR Encoding</name>
      <t>A BPv7 endpoint identified by an ipn URI, when encoded in Concise Binary Object Representation (CBOR) <xref target="RFC8949"/>, <bcp14>MUST</bcp14> comply with the following Concise Data Definition Language (CDDL) <xref target="RFC8610"/> specification:</t>
      <artwork type="cddl" align="left"><![CDATA[
eid = $eid .within eid-structure

eid-structure = [
  uri-code: uint,
  SSP: any
]

; ... Syntax for other uri-code values defined in RFC9171 ...

$eid /= [
  uri-code: 2,
  SSP: ipn-ssp2 / ipn-ssp3
]
ipn-ssp2 = [
  fqnn: uint,  ; packed value
  service-number: uint
]
ipn-ssp3 = [
  authority-number: uint .lt 4294967296,
  node-number: uint .lt 4294967296,
  service-number: uint
]
]]></artwork>
      <t>Note: The <tt>node-number</tt> component will be the numeric representation of the concatenation of the Allocator Identifier and Node Number when the 2-element encoding scheme has been used.</t>
    </section>
    <section anchor="cbor-examples">
      <name>ipn URI Scheme CBOR Encoding Examples</name>
      <t>This section provides some example CBOR encodings of ipn EIDs.</t>
      <section anchor="using-the-default-allocator-1">
        <name>Using the Default Allocator</name>
        <t>Consider the ipn EID <tt>ipn:1.1</tt>. This textual representation of an ipn EID identifies Service Number 1 on Node Number 1 allocated by the Default Allocator (0).</t>
        <t>The complete five octet encoding of this EID using the two-element scheme-specific encoding would be as follows:</t>
        <artwork><![CDATA[
82       # 2-Element Endpoint Encoding
   02    # uri-code: 2 (IPN URI scheme)
   82    # 2 Element ipn EID scheme-specific encoding
      01 # Node Number
      01 # Service Number
]]></artwork>
        <t>The complete six octet encoding of this EID using the three-element scheme-specific encoding would be as follows:</t>
        <artwork><![CDATA[
82       # 2-Element Endpoint Encoding
   02    # uri-code: 2 (IPN URI scheme)
   83    # 3 Element ipn EID scheme-specific encoding
      00 # Default Allocator
      01 # Node Number
      01 # Service Number
]]></artwork>
      </section>
      <section anchor="using-a-non-default-allocator-1">
        <name>Using a non-default Allocator</name>
        <t>Consider the ipn EID <tt>ipn:100.1.1</tt>.  This textual representation of an ipn EID identifies Service Number 1 on Node Number 1 allocated by Allocator 100.</t>
        <t>The complete thirteen octet encoding of this EID using the two-element scheme-specific encoding would be as follows:</t>
        <artwork><![CDATA[
82                        # 2-Element Endpoint Encoding
   02                     # uri-code: 2 (IPN URI scheme)
   82                     # 2 Element ipn EID scheme-specific encoding
      1B 0000006400000001 # Fully-qualified Node Number
      01                  # Service Number
]]></artwork>
        <t>The complete seven octet encoding of this EID using the three-element scheme-specific encoding would be as follows:</t>
        <artwork><![CDATA[
82          # 2-Element Endpoint Encoding
   02       # uri-code: 2 (IPN URI scheme)
   83       # 3 Element ipn EID scheme-specific encoding
      18 64 # Allocator Identifier
      01    # Node Number
      01    # Service Number
]]></artwork>
      </section>
      <section anchor="the-null-endpoint-1">
        <name>The 'null' Endpoint</name>
        <t>The 'null' EID of <tt>ipn:0.0</tt> can be encoded in the following ways:</t>
        <t>The complete five octet encoding of the 'null' ipn EID using the two-element scheme-specific encoding would be as follows:</t>
        <artwork><![CDATA[
82       # 2-Element Endpoint Encoding
   02    # uri-code: 2 (IPN URI scheme)
   82    # 2 Element ipn EID scheme-specific encoding
      00 # Node Number
      00 # Service Number
]]></artwork>
        <t>The complete six octet encoding of the 'null'' ipn EID using the three-element scheme-specific encoding would be as follows:</t>
        <artwork><![CDATA[
82       # 2-Element Endpoint Encoding
   02    # uri-code: 2 (IPN URI scheme)
   83    # 3 Element ipn EID scheme-specific encoding
      00 # Default Allocator
      00 # Node Number
      00 # Service Number
]]></artwork>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The following DTNWG participants contributed technical material, use cases, and critical technical review for this URI scheme update: Scott Burleigh of the IPNGROUP, Keith Scott, Brian Sipos of the Johns Hopkins University Applied Physics Laboratory, and Jorge Amodio of LJCV Electronics.</t>
      <t>Additionally, the authors wish to thank members of the CCSDS SIS-DTN working group at large who provided useful review and commentary on this document and its implications for the future of networked space exploration.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
/wcziEgc4akAAA==

-->

</rfc>
