<?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.33 (Ruby 3.1.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dtn-ipn-update-03" category="std" consensus="true" submissionType="IETF" updates="[9171, 7176]" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.1 -->
  <front>
    <title abbrev="ipn-update">Update to the ipn URI scheme</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dtn-ipn-update-03"/>
    <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="May" day="11"/>
    <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>
      <?line 52?>

<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>
    <?line 56?>

<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>
      <?line -18?>

<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 that wishes to assign Node Numbers for use with the ipn URI scheme, and has the facilities and governance to manage a public registry of assigned Node Numbers. 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>
        <t>If a system does not require interoperable deployment of ipn scheme URIs, then the Private Use Node Number range, reserved by the <xref target="default-allocator">Default Allocator</xref> for this purpose <bcp14>SHOULD</bcp14> be used.</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.</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>In order to differentiate between Allocator Identifier ranges using efficient bitwise operations, all ranges <bcp14>MUST</bcp14> be of a length that is a power of 2, and for given range of length N bits, the least-significant N bits of the first Allocator Identifier <bcp14>MUST</bcp14> be all 0.</t>
          <t>An example of the use of Allocator Identifier ranges for four organizations (A, B, C, and D) is as follows:</t>
          <table align="left" anchor="tab-air-example">
            <name>Allocator Identifier Range Assignment Example</name>
            <thead>
              <tr>
                <th align="left">Organization</th>
                <th align="center">Range (dec)</th>
                <th align="center">Range (hex)</th>
                <th align="center">Range Length (Bits)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Org A</td>
                <td align="center">974848 .. 974975</td>
                <td align="center">0xEE000 .. 0xEE07F</td>
                <td align="center">7 bits</td>
              </tr>
              <tr>
                <td align="left">Org B</td>
                <td align="center">974976 .. 974991</td>
                <td align="center">0xEE080 .. 0xEE08F</td>
                <td align="center">4 bits</td>
              </tr>
              <tr>
                <td align="left">Org C</td>
                <td align="center">974992 .. 974993</td>
                <td align="center">0xEE090 .. 0xEE091</td>
                <td align="center">1 bit</td>
              </tr>
              <tr>
                <td align="left">Org D</td>
                <td align="center">974994</td>
                <td align="center">0xEE092</td>
                <td align="center">0 bits</td>
              </tr>
            </tbody>
          </table>
          <t>With these assignments, any Allocator Identifier whose most-significant 25 bits match 0xEE000 belong to organization A. Similarly, any Allocator Identifier whose most-significant 28 bits match 0xEE080 belong to organization B and any Allocator Identifier whose most-significant 31 bits are 0xEE090 belong to organization C.  Organisation D has a single Allocator Identifier, and hence a range of bit-length 0.</t>
        </section>
        <section anchor="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 an 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 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>(977000,100)</tt> is the FQNN for a node assigned Node Number 100 by an Allocator with Allocator Identifier 977000.</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>All leading <tt>0</tt> characters <bcp14>MUST</bcp14> be omitted. A single <tt>0</tt> is valid.</li>
        <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>If the Allocator Identifier is zero (0), and 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> <bcp14>MAY</bcp14> be used instead of the digits <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:977000.100.1</tt>, <tt>ipn:977000.100.2</tt>, and <tt>ipn:977000.100.3</tt> <bcp14>MUST</bcp14> all refer to services registered on the bundle processing node identified with FQNN <tt>(977000,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>.  This means that the URIs <tt>dtn:none</tt> (<xref section="4.2.5.1.1" sectionFormat="of" target="RFC9171"/>) and <tt>ipn:0.0</tt> both refer to the BPv7 'null' endpoint.</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:977000.100.1</tt> has an FQNN of <tt>(977000,100)</tt> which would be encoded as <tt>0xEE86800000064</tt>.  The resulting two-element array <tt>[0xEE86800000064, 0x01]</tt> would be encoded in CBOR as the 11 octet value <tt>0x821B000EE8680000006401</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:977000.100.1</tt> would result in the three-element array of <tt>[977000,100,1]</tt> which would be encoded in CBOR as the 9 octet value <tt>0x831A000EE868186401</tt>.</t>
          <t>The three-element scheme-specific encoding allows for a more efficient representation of ipn EIDs using smaller Allocator Identifiers.</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:977000.100.1</tt> can be represented as either the two-element encoding of <tt>0x821B000EE8680000006401</tt> or the three-element encoding of <tt>0x831A000EE868186401</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:977000.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>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="left">Organization</th>
              <th align="center">Range (dec)</th>
              <th align="center">Range (hex)</th>
              <th align="center">Range Length (Bits)</th>
              <th align="center">Reference</th>
              <th align="center">Point of Contact</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Default Allocator</td>
              <td align="center">0</td>
              <td align="center">0x0</td>
              <td align="center">0</td>
              <td align="center">This document</td>
              <td align="center">IANA</td>
            </tr>
            <tr>
              <td align="left">CCSDS</td>
              <td align="center">1</td>
              <td align="center">0x1</td>
              <td align="center">0</td>
              <td align="center">TBD</td>
              <td align="center">www.sana.org</td>
            </tr>
            <tr>
              <td align="left">Example Range</td>
              <td align="center">974848 .. 978943</td>
              <td align="center">0xEE000 .. 0xEEFFF</td>
              <td align="center">12 bits</td>
              <td align="center">This document</td>
              <td align="center">IANA</td>
            </tr>
          </tbody>
        </table>
        <t>The "Example Range" is assigned for use in examples in documentation.</t>
        <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>Avoid overloading: 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>Avoid duplication: 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>
          </ol>
          <section anchor="note-to-be-removed-prior-to-publication">
            <name>Note to be removed prior to publication</name>
            <t>The working group is satisfied with the technical specification in this document, but there are reservations amongst the WG around the governance of the assignment of Allocator Identifiers, and is engaging with the IESG/IANA to ensure best practice is followed.  The intent is to use mechanism similar to those in place for IP addresses (RFC1881, RFC3513, RFC1466,…), AS numbers and domains (RFC1591).</t>
          </section>
        </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 (dec)</th>
              <th align="center">Value (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">1</td>
              <td align="center">BPv7</td>
              <td align="left">Unassigned</td>
              <td align="left"> </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>
    <?line 499?>

<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 977000.</t>
        <t>The complete 14 character representation of this URI would be as follows:</t>
        <artwork><![CDATA[
ipn:977000.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:977000.1.1</tt>.  This textual representation of an ipn EID identifies Service Number 1 on Node Number 1 allocated by Allocator 977000.</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 000EE86800000001 # Fully-qualified Node Number
      01                  # Service Number
]]></artwork>
        <t>The complete ten 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
      1A 000EE868 # 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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
bRHkZTytkCeT2I+Ra/29iuEkw9LPS7wAVAaMFI0egCMHOOnckthP4vcRnJCi
FKDsWorWBWr8BxpCR+Z70PG2hRlqS1mp2RuJsjJbZEl2S6RnNHhYDHC/aR5P
kGXdgShCWDOUXHPUtW6jgoUOAK3nGKBuBUr6PYIAujpNeYoQxvSdVS0wJxXa
k4Xqvnp7/abb47/q4jV9vjr7t7fnV2en+Pn6h6OXL82Hjtxx/cPrty9P7Sf7
5MnrV6/OLk75YbiqvEud7qujv3QZEd3Xl2/OX18cvezyCXcPZpBHQiDm8JAQ
7ghCmGiOTy7/538f7Yq0HI9Gz0Ah5C8Ho/1d+LIk3QNny1KgvaVWRVadYLGI
gECQPSUJiJ1FDPIaTxaQK6A6VUh9gM0/vkPM/HKovp1MF6Pd7+UCLti7qHHm
XSScNa80HmYktlxqmcZg07tew7QP79FfvO8a787Fb/+UoP7fHx386ftOp/Nc
eF6OtidoerkRC2aHrOYox6GLx4qOM52oWUQaUUAnhUgUfivM+TGcCKk1J7ty
Gi3KAllTok8YbEeKxkRZGjn/oazgiNR5ACgYwMRAbdVcs6dokybIudICDmSu
dbiyWiRGmM6yJMmWeLrKuzwiNrfIUuQ+YEn/keQ7gJOBhIMprKYkP10gc7kg
iS9XrtnA0Bc76wYAsgtRbgpC8DKwVljSAqFF4Ug6LkkchM6ZicU6PA4yk1Eh
rI+UrR56Z0ilwceYHwFvQmYaJ8DRgvssDnm9LHB5IoX2UGLEB3N5PBcMAtzm
QgAyFXD1rm1hxS9bXwX6et/R6LcHjA1nHKQXo2E5PNPMieTjEAMBZY2tadan
eaKQub4sAdEgALowA1z4S58VNAOOv2EWCt4XR5CgMwypRkxIn7HLfP5gOKXc
XZ8VyAzp1VGbiqhBgeq2CtArF0VijoJ4hp2ZZqDqTlGQImWTloLoE5HEOw4/
OitxdleDq47CMGbFnZWiNpgcynV3R/wh7kaKBodTzaMpGMFxMcfdq0PDagXJ
ZJiFVVdPXBtiBtJAO4rWBgNFH4AsBcvPK4C5/3egfQTIo0zA+OzvaYpo/hm9
Mc7Zn+XZnPcU9gEHRj1etHFg+nW6FKpEZRwoMBJjaS3RiVElngI8X7hIFjzB
A0QGyk2U42k19NUcSWgIWeVXzHYqeyjUx69S+Nqv8vgzqTbGpphlFe1UQKw6
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

-->

</rfc>
