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

<t>This document updates both the specification of the ipn URI scheme previously defined in RFC 7116 and the rules for encoding of these URIs when used as an Endpoint Identifier (EID) in Bundle Protocol Version 7 (BPv7) as defined in RFC 9171. 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 49?>

<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>Every ipn URI, 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>
          <t>The Allocator Identifier</t>
        </li>
        <li>
          <t>The Node Number</t>
        </li>
        <li>
          <t>The Service Number</t>
        </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 is an identifier to distinguish between resources on a given node. 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>
      <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 any such resource 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 both to 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>
              <t>Allocator Identifiers are used to identify organizations and are not, themselves, addresses.</t>
            </li>
            <li>
              <t>Allocator Identifiers may be less than 32 bits in length.</t>
            </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.  These FQNNs can be considered to be functionally similar 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 is an unsigned integer that identifies a particular service operating on a node.  A service in this case is some logical function that requires its own resource identifier to distinguish it from other functions operating on the same node.</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>
          <t>All leading <tt>0</tt> characters <bcp14>MUST</bcp14> be omitted. A single '<tt>0</tt>' is valid.</t>
        </li>
        <li>
          <t>If the Allocator Identifier is zero (0), then the <tt>&lt;allocator-identifier&gt;</tt> and '<tt>.</tt>' <bcp14>MUST</bcp14> be omitted.</t>
        </li>
        <li>
          <t>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">LocalNode ipn 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.</t>
        </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 forward 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 scheme URIs 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, all ipn EIDs that share any single 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>. That is, 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 a <xref target="fqnn">Fully-qualified Node Number</xref> that is within the "Private Use" range of the <xref target="default-allocator">Default Allocator</xref> <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="well-known-service-numbers">
        <name>Well-known Service Numbers</name>
        <t>It is convenient for BPv7 services that have a public specification and wide adoption to by identified by a pre-agreed default Service Number, so that unless extra configuration is applied, such services can be sensibly assumed to be operating on the well-known Service Number on a particular node.</t>
        <t>If a different service uses the number, or the service uses a different number, BPv7 will continue to operate, but some configuration may be required to make the individual service operational.</t>
        <t>A new IANA "'ipn' Scheme URI Well-known Service Numbers for BPv7" registry is defined for the registration of well-known BPv7 Service Numbers, see <xref target="iana-service-numbers">'ipn' Scheme URI Well-known Service Numbers for BPv7 registry</xref>.  This registry records the assignments of Service Numbers for well-known services, and also explicitly reserves ranges for both experimentation and private use.</t>
      </section>
      <section anchor="administrative-endpoints">
        <name>Administrative Endpoints</name>
        <t>The service 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>
              <t>The least significant 32 bits <bcp14>MUST</bcp14> represent the Node Number associated with the ipn EID.</t>
            </li>
            <li>
              <t>The most significant 32 bits <bcp14>MUST</bcp14> represent the Allocator Identifier associated with the ipn EID.</t>
            </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 <xref target="default-allocator">Default Allocator</xref>, 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 representation 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 the 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 <xref target="default-allocator">Default Allocator</xref> 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
{
  ipn_eid.allocator_identifier := enc_eid[0] >> 32;
  ipn_eid.node_number := enc_eid[0] & (2^32-1);
  ipn_eid.service_number := enc_eid[1];
}
]]></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"/> specification 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 for which support of this update is desired <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 two new registries, and the renaming of an existing registry.</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, using terms defined in <xref target="RFC8126"/>, 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">Experimental Use</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>Note that the “Single Allocator Identifiers only” language in Registration Policy for this registry indicates that, within the indicated range, the allocation of a sequence of consecutive Allocator identifiers to a single organization is prohibited.</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">Name</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">
                <xref target="default-allocator">Default Allocator</xref></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">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>Due to the nature of the CBOR encoding used for Allocator Identifiers with BPv7, Allocator Identifiers with a low value number are encoded more efficiently than larger numbers.  This makes low value Allocator Identifiers more desirable than larger Allocator Identifiers, and therefore care must be taken when assigning Allocator Identifier ranges to ensure that a single applicant is not granted a large swathe of highly desirable numbers at the expense of other applicants.  To this end, Designated Experts are strongly recommended to familiarize themselves with the CBOR encoding of unsigned integers in <xref target="RFC8949"/>.</t>
        </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, using terms defined in <xref target="RFC8126"/>, 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>As IANA is requested to only rename the registry, all existing registrations will remain.</t>
      </section>
      <section anchor="iana-service-numbers">
        <name>'ipn' Scheme URI Well-known Service Numbers for BPv7 registry</name>
        <t>IANA is requested to create a new registry entitled "'ipn' Scheme URI Well-known Service Numbers for BPv7" registry.  The registration policy for this registry, using terms defined in <xref target="RFC8126"/>, is:</t>
        <table align="left" anchor="tab-ipn-service-numbers-reg">
          <name>'ipn' Scheme URI Well-known Service Numbers for BPv7 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="administrative-endpoints">Administrative Endpoint</xref></td>
            </tr>
            <tr>
              <td align="center">1..127</td>
              <td align="left">Private Use</td>
            </tr>
            <tr>
              <td align="center">128..255</td>
              <td align="left">Standards Action</td>
            </tr>
            <tr>
              <td align="center">0x0100 .. 0x7FFF</td>
              <td align="left">Private Use</td>
            </tr>
            <tr>
              <td align="center">0x8000 .. 0xFFFF</td>
              <td align="left">Specification Required</td>
            </tr>
            <tr>
              <td align="center">2^16 .. 2^32-1</td>
              <td align="left">Private Use</td>
            </tr>
            <tr>
              <td align="center">&gt;= 2^32</td>
              <td align="left">Reserved for future expansion</td>
            </tr>
          </tbody>
        </table>
        <t>The initial values for the registry are:</t>
        <table align="left" anchor="tab-ipn-service-numbers-vals">
          <name>'ipn' Scheme URI Well-known Service Numbers for BPb7 initial values</name>
          <thead>
            <tr>
              <th align="center">Value</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0</td>
              <td align="left">The <xref target="administrative-endpoints">Administrative Endpoint</xref></td>
              <td align="left">
                <xref target="RFC9171"/>, This document</td>
            </tr>
            <tr>
              <td align="center">0xEEE0 .. 0xEEEF</td>
              <td align="left">Example Range</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
        <t>The "Example Range" is assigned for use in examples in documentation.</t>
        <section anchor="guidance-for-designated-experts-1">
          <name>Guidance for Designated Experts</name>
          <t>This registry is intended to record the default Service Numbers for well-known, interoperable services available and of use to the entire BPv7 community, hence all ranges not marked for Private Use <bcp14>MUST</bcp14> have a corresponding publicly available specification describing how one interfaces with the service.</t>
          <t>Services that are specific to a particular deployment or co-operation may require a registry to reduce administrative burden, but do not require an entry in this registry.</t>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9171">
          <front>
            <title>Bundle Protocol Version 7</title>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh"/>
            <author fullname="K. Fall" initials="K." surname="Fall"/>
            <author fullname="E. Birrane, III" initials="E." surname="Birrane, III"/>
            <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="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <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"/>
            <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"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <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"/>
            <author fullname="P. Overell" initials="P." surname="Overell"/>
            <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"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <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"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <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 anchor="sec-informative-references">
        <name>Informative 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"/>
            <author fullname="M. Blanchet" initials="M." surname="Blanchet"/>
            <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="RFC5050">
          <front>
            <title>Bundle Protocol Specification</title>
            <author fullname="K. Scott" initials="K." surname="Scott"/>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh"/>
            <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="RFC4632">
          <front>
            <title>Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan</title>
            <author fullname="V. Fuller" initials="V." surname="Fuller"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <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"/>
            <author fullname="B. Moskowitz" initials="B." surname="Moskowitz"/>
            <author fullname="D. Karrenberg" initials="D." surname="Karrenberg"/>
            <author fullname="G. J. de Groot" initials="G. J." surname="de Groot"/>
            <author fullname="E. Lear" initials="E." surname="Lear"/>
            <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"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <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, III" initials="E." surname="Birrane, III"/>
            <author fullname="K. McKeever" initials="K." surname="McKeever"/>
            <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"/>
            <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 468?>

<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 <xref target="default-allocator">Default Allocator</xref> (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 <xref target="default-allocator">Default Allocator</xref> (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, Jorge Amodio of LJCV Electronics, and Ran Atkinson.</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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
gd2l0PDSqv/D+4t3/QH/q169pr/fnv3r+/O3Z6f498X3Ry9f2j96MuLi+9fv
X566v9yTJ69/+OHs1Sk/DN+q4Kte/4ejP/UZEf3Xb96dv3519LLPN9y/mFER
C4HYy0NCuCcIYaI5Pnnzv//X+LFIy8l4/AwUQv5wMH76GD6sSffA1fIMaG9t
VJFNL1qtYiAQZE9pCmJnlYC8xpsF5AqozhRSH2Dztx8QMz8dqm+ms9X48bfy
BW44+NLgLPiScNb8pvEwI7Hlq5ZlLDaD72uYDuE9+lPw2eDd+/Kb36Wo/w/H
B7/7ttfrvRCeV6CRBppeYcWCPSGnOcp16OO1outMN2oRk0YU0U0hEoXftL0/
lhMhtcJhA8nO4lUJ9HkGQn1j7tgAbgpIp7K0gv5TWcEdqTMB0DCAi8Fzhm0O
FJ3SFFlXpuFGFkaJK6tVaqXpIk/TfI3Xq7wuYuJzqzxD9gNm5m9JwB/BCBBx
sIRTleSnV8hdXpHIl28u2MIwX/a6JgC6m6PgFIzg18BbYUsrhBalIym5JHIQ
Om8lluvwOAhNRoXwPtK2BujHIJ0GH2OGBMwJuWmSAkuLbvJkzvtlicsLKTSI
Uis/mM3jxWAQYJgPAQhVwNWHto3pn3YeROb7oafS744YG948SDBWxfKYpl0T
6QdgEFpgTdJZW7N8SOvEc2b7sgVEgwDowwxw4S9D1tAsOOGBEUSZDwuAMAeM
wNQVGr1TUCVRY3NQ0NJXoBVm/srhtLi42J719YHgkHI9DUrHDVpUV1WEnqw4
Fss0pjsyy0HrnaFMRRonhQURKdKJzx5+tLvR/jmLuFDqaD5PWIdn/agNpnYa
Nm4R/0hFmcOllvEM7OFELxGJdWhYwyDxDKuwFhtIbkvWcCRoUtHeYKL4ExyH
YPlFBTAP/wq3AAEKaBQwvvhrliGaHzzgy1o5UlKfH2TwcVgVyRfSCKwqvsgr
2lVEHK6g5W+iFKV6xpIeL48V9Q9xmod2WrmZSJSqD7YjztAHHLM5I4PgT2Sc
MSOv78MlkhGhQcJv8KTWcxj4++YJQvIbgK1TGvOUN/O3uMjVzh7YevCwh2sz
KemAAcYI76J5osaiKzgx/5BKa0RPxVtDZAWYAmMEKAGYGh9GK9sAlTTzfqF7
uAm8h3woa7iFrPYwlwg5Y8ODUrdGDHaJ90ezJAUYxUN0hdZkFombQzxYkdjB
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
3Xr/r3M/sc0B5TNTuxy5rNzhCraMbk6nFCJsIG16W2tXwkovzGdXOm8xcU5j
Y+LgofL0rG17LrmOw9V+u1WJhhFTcabycppcVcD1R0G0nVamQdIaBN1Iokq0
H6NTKygPxWGW9cUV44MNgmKpLgHEP8fJ/NJL1w2teimmI45hbzA9Cl+3Pcrg
zj21gNLRFkqWGqVxtrOrnj9X+73PPaVkmpGlsT97eXqHz81jH/Z++tobjXz3
z9IpwRs0DgaJk6pl3ATGfenFKRpzLZBN7gmZ+vZbUKW2gA+G/gvYHJQitrsd
qGMCFXH4+VAiHojgYVD47X2PbxZ53l/puJrn+EVffQmo+QcsmCZCDhu3gTHG
VlHt3hnr6G4WJoHAgV1qKUvZqw92Lnp+XJ6BIRaKFHodh7m99kidthgwpgAJ
g8RBWgryFgmKAptG/xWwGXyW7ExZG8GBJxz4Ns31/nKmxdTFhZNWPPpiuFuL
NN77dtPPPNsibBS7v0xFGVkeFHOjtsMEEVv/w2mEOiEc4uwj99wgpIkzQkov
LU8zpfmIMnkQldQi0cgsCe0tj9vzGarIS28wTMpgtYlScqSaopwTcfdEXs/o
xitTbO4+wTVjwzlooh561vzyFhu6AYoLXtYhXgrjRnT2UrTMK5ZrVclaemuS
h3N9Ov+yTYuzWUNOyyyo3TOqHCXGUuDwcuvsMm0nfd7ObYtEYuWmP3+X+4tz
2RmwE9/EcCg1nmapEzfJGJRJGfhgw/bLKxt+uNWI8etKZKWrHPeBTxm5QUep
zWscan5hH0jBeJCEidsq+PUoEpL+Po5QaDrdmQLSTyZP9jAgHQQQYcLJ3njc
ng4QlOeh3cPps0GngVqnBb/knntXIxnxc654yAv4k/61jeGIqbXWycItWjAe
1ER+GreYj37ubWhKelYjZsvYwm60U+hlCWmC1F+riidFbGXVGdek1QqETJmH
Z7GnOYZ5okKF3pt4qI/oStqwYRx73ijaCdo4UP7/lkJKgpVeJ9yQ9lFJkwxY
H50jdWaQovNFuZaUWzEXzBtRaofPaheFSW1RKf1ie07hQfHLJ9Cg3HKv2+0U
Xb/tKu/xm4bWW62uimgewMIMHeO1C+DvVcFefPPGHJulgS8YMfXTlqi6mrBa
DdIeh30ZD3qR/ee7haAkLSGCj5OMdXLfT77EnO2ymW7WT6lLFD/SF2uY9Fpq
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
TNjwjCuGsQkavl6KKqnyQvxq/wfGQeg/RKUAAA==

-->

</rfc>
