<?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.25 (Ruby 3.1.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dtn-ipn-update-01" category="std" consensus="true" submissionType="IETF" updates="[9171, 7176]" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title abbrev="ipn-update">Update to the ipn URI scheme</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dtn-ipn-update-01"/>
    <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="March" day="13"/>
    <area>Transport</area>
    <workgroup>Delay/Disruption Tolerant Networking</workgroup>
    <keyword>DTN</keyword>
    <keyword>ipn</keyword>
    <keyword>BPv7</keyword>
    <keyword>CBHE</keyword>
    <keyword>Bundle Protocol</keyword>
    <abstract>
      <t>This document updates both the specification of the ipn URI scheme previously defined in <xref target="RFC7116"/> and the rules for encoding of these URIs when used as an Endpoint Identifier (EID) in Bundle Protocol Version 7 (BPv7) as defined in <xref target="RFC9171"/>. These updates update and clarify the structure and behavior of the ipn URI scheme, define encodings of ipn scheme URIs, and establish the registries necessary to manage this scheme.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ricktaylor.github.io/ipn2/draft-taylor-dtn-ipn-update.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-dtn-ipn-update/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Delay/Disruption Tolerant Networking Working Group mailing list (<eref target="mailto:dtn@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dtn/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dtn/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ricktaylor/ipn2"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The ipn URI scheme was originally defined in <xref target="RFC7116"/> as a way to identify network nodes and node services using concisely-encoded integers that can be processed faster and with fewer resources than other verbose identifier schemes. The scheme was designed for use with the experimental Bundle Protocol version 6 (BPv6, <xref target="RFC5050"/>) and IPN was defined as an acronym for the term "InterPlanetary Network" in reference to its intended use for deep-space networking. Since then, the efficiency benefit of integer identifiers makes ipn scheme URIs useful for any networks operating with limited power, bandwidth, and/or compute budget. Therefore the term IPN is now used as a non-acronymous name.</t>
      <t>Similar to the experimental BPv6, the standardized Bundle Protocol version 7 (BPv7, <xref target="RFC9171"/>) codifies support for the use of the ipn URI scheme for the specification of bundle Endpoint Identifiers (EIDs). The publication of BPv7 has resulted in operational deployments of BPv7 nodes for both terrestrial and non-terrestrial use cases. This includes BPv7 networks operating over the terrestrial Internet and BPv7 networks operating in self-contained environments behind a shared administrative domain. The growth in the number and scale of deployments of BPv7 DTNs has been accompanied by a growth in the usage of the ipn URI scheme which has highlighted areas to improve the structure, moderation, and management of this scheme.</t>
      <t>This document updates the specification of the ipn URI scheme, in a backwards-compatible way, to provide needed improvements both in the scheme itself and its usage to specify EIDs with BPv7. Specifically, this document introduces a hierarchical structure for the assignment of ipn scheme URIs, clarifies the behavior and interpretation of ipn scheme URIs, defines efficient encodings of ipn scheme URIs, and updates/defines the registries associated for this scheme.</t>
    </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>
    </section>
    <section anchor="the-ipn-uri-scheme">
      <name>The ipn URI scheme</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 '.' character.  It is formally defined in <xref target="text-syntax">Appendix A</xref>, and can be informally considered as:</t>
      <artwork><![CDATA[
ipn:authority-number.node-number.service-number
]]></artwork>
      <t>Working from left-to-right, each component has the following definition:</t>
      <ul spacing="normal">
        <li>
          <tt>authority-number</tt>:
The "Authority Number" of the authority that allocated the subsequent Node Number. See <xref target="numbering-authorities">Numbering Authorities</xref>.</li>
        <li>
          <tt>node-number</tt>:
The "Node Number" assigned to all ipn scheme URIs for resources co-located on a single node. See <xref target="node-numbers">Node Numbers</xref>.</li>
        <li>
          <tt>service-number</tt>:
The "Service Number" of a particular type of service for a resource. See <xref target="service-numbers">Service Numbers</xref>.</li>
      </ul>
      <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>
      <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 anchor="numbering-authorities">
        <name>Numbering Authorities</name>
        <t>A "Numbering Authority" (NA) is any organization (e.g., vendor, manufacturer, or other entity) that wishes to assign Node Numbers for use with the ipn URI scheme. The authorization to assign these numbers is provided through the inclusion of the NA in a controlled registry of <xref target="iana-nas">ipn URI scheme NAs</xref>.</t>
        <t>The use of NAs with the ipn URI scheme reduces the administrative burden of ensuring the uniqueness of Node Numbers. Each NA is responsible for ensuring that any Node Numbers it allocates are unique. However, Node Numbers assigned by other NAs do not otherwise need to be coordinated or synchronized.</t>
        <section anchor="the-default-numbering-authority">
          <name>The Default Numbering Authority</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 through the IANA "CBHE Node Numbers" registry. This means that all ipn URIs created prior to the addition of Numbering Authorities 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 updated ipn URI scheme by designating IANA as the "Default Numbering Authority".  In any case where an ipn URI does not explicitly identify a Numbering Authority, an implementation <bcp14>MUST</bcp14> assume that the Node Number has been allocated by the Default Numbering Authority.</t>
          <t>To formalize IANA as the Default NA, a new IANA "'ipn' Scheme URI Default Authority Node Numbers" registry is defined to control the allocation of Node Numbers values by the Default NA.  This new registry inherits behaviours and existing assignments from the IANA "CBHE Node Numbers" registry, reserves the value zero (0), and assigns values in the range [1 .. 2^14-1] as "Private Use", as defined in <xref target="RFC8126"/>.</t>
        </section>
        <section anchor="numbering-authority-identification">
          <name>Numbering Authority Identification</name>
          <t>Regardless of other attributes of a NA, such as a name, point of contact, or other identifying information, NAs are identified by Authority Numbers.  An Authority Number is a unique, unsigned integer with a minimum value of zero (0).</t>
          <t>The use of this identifier allows a Numbering Authority to allocate Node Numbers according to it's 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.  The Authority Number <bcp14>MUST</bcp14> be the sole mechanism used to differentiate between NAs.</t>
          <t>A single NA may have multiple Authority Numbers assigned to it, but a given Authority Number <bcp14>MUST</bcp14> only be associated with a single NA.</t>
          <t>A new IANA "'ipn' Scheme URI Authority Numbers" registry is defined for the registration of NAs, see <xref target="iana">IANA Considerations</xref>.  Although the uniqueness of Authority Numbers is required to enforce uniqueness of ipn URIs, identifier ranges are explicitly reserved for experimentation.  Authority numbers greater than 2^32-1 are Reserved and <bcp14>MUST NOT</bcp14> be used.</t>
        </section>
        <section anchor="authority-number-ranges">
          <name>Authority Number 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 allocating unique Authority Numbers to each sub-organization on a first-come first-served basis, there are operational benefits in allocating Authority Numbers to a single organization in a structured way so that an external observer can detect that a series of Authority Numbers are organizationally associated.</t>
          <t>An Authority Number Range (ANR) is a set of consecutive Authority Numbers that are all associated with the same NA. Each individual Authority Number in a given range <bcp14>SHOULD</bcp14> be allocated to a distinct sub-organization of the NA. Allocating numbers in this way allows external observers to both associate individual Authority Numbers 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 ANR is identified by the first Authority Number in the range and the number of consecutive numbers in the range. Every number in an ANR <bcp14>MUST</bcp14> be a valid Authority Number, meaning that the number must be no larger than a 32-bit unsigned integer.</t>
          <t>ANRs differ from CIDR addresses in several important ways.</t>
          <ol spacing="normal" type="1"><li>Authority Numbers are used to identify organizations and are not, themselves, addresses.</li>
            <li>Authority Numbers may be less than 32 bits in length.</li>
          </ol>
          <t>An example of the use of ANRs would be three organizations: A, B, and C.</t>
          <table align="left" anchor="tab-anr_example">
            <name>ANR Example Allocation</name>
            <thead>
              <tr>
                <th align="center">Organization</th>
                <th align="left">Range Length (Bits)</th>
                <th align="left">Range (dec)</th>
                <th align="left">Range (hex)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="center">Org A</td>
                <td align="left">7 bits</td>
                <td align="left">36864-36991</td>
                <td align="left">0x9000-0x907F</td>
              </tr>
              <tr>
                <td align="center">Org B</td>
                <td align="left">4 bits</td>
                <td align="left">36992-37007</td>
                <td align="left">0x9080-0x908F</td>
              </tr>
              <tr>
                <td align="center">Org C</td>
                <td align="left">1 bits</td>
                <td align="left">37008-37010</td>
                <td align="left">0x9090-0x9092</td>
              </tr>
            </tbody>
          </table>
          <t>With these allocations, any Authority Number whose most-significant 25 bits match 0x9000 belong to organization A. Similarly, any Authority Number whose most-significant 28 bits match 0x9080 belong to organization B and any Authority Number whose most-significant 31 bits are 0x9090 belong to organization C.</t>
        </section>
      </section>
      <section anchor="node-numbers">
        <name>Node Numbers</name>
        <t>A "Node Number" identifies a resource in the context of a Numbering Authority. A Node Number is an unsigned integer with a minimum value of zero (0) and a maximum value of 2^32-1.</t>
        <t>A Node Number is associated with a Numbering Authority when both the Authority Number and Node Number appear together in an ipn URI. If an Authority Number is omitted from an ipn URI then it <bcp14>MUST</bcp14> be assumed that the Node Number has been allocated by the Default Numbering Authority.</t>
        <t>A single Node Number allocated by a single Numbering Authority <bcp14>MUST</bcp14> refer to a single network node.</t>
      </section>
      <section anchor="service-numbers">
        <name>Service Numbers</name>
        <t>A "Service Number" identifies a network service operating on a network node. The purpose of the Service Number is to provide unique, numeric identifiers for types of service in a network. A Service Number is an unsigned integer with a minimum value of zero (0) and a maximum value of 2^64-1.</t>
        <t>A new IANA "'ipn' Scheme URI Service Numbers" registry is defined for the registration of Service Numbers, see <xref target="iana">IANA Considerations</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="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 combination of the Authority Number and Node Number.</t>
        <t>A single bundle processing node <bcp14>MAY</bcp14> have multiple ipn EIDs associated with it. However, every ipn EID that shares the combination of Authority Number and Node Number <bcp14>MUST</bcp14> refer to the same bundle processing node.</t>
        <t>For example, "ipn:1.100.1", "ipn:1.100.2", and "ipn:1.100.3" <bcp14>MUST</bcp14> all be registered on the bundle processing node identified by "1.100". None of these EIDs could be registered on any other bundle processing node.</t>
      </section>
      <section anchor="the-node-id">
        <name>The Node ID</name>
        <t><xref section="4.2.5.3" sectionFormat="of" target="RFC9171"/> introduces the concept of a "Node ID" that uniquely identifies a bundle processing node. Any EID that can be used to unambiguously identify a bundle processing node can be used as a "Node ID".</t>
        <t>As all ipn EIDs must be singleton endpoints, any ipn EID <bcp14>MAY</bcp14> serve as a "Node ID".</t>
      </section>
      <section anchor="special-node-numbers">
        <name>Special Node Numbers</name>
        <t>Some special-case Node Numbers and EIDs are required for the correct behaviour of BPv7, and these numbers are taken from the ANR of the Default Numbering Authority, as defined in the <xref target="iana-node-numbers">'ipn' Scheme URI Default Authority Node Numbers registry</xref>.</t>
        <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 defined by the Default Numbering Authority and has the value zero (0) for the 'node-number' component and the value zero (0) for the 'service-number' component. The textual expression of this EID is "ipn:0.0".</t>
          <t>The Default Numbering Authority reserves the use of Node Number zero (0) solely for identifying the 'null' EID. This means that any other ipn EID which uses the Default Numbering Authority, and has the value zero (0) for the <tt>node-number</tt> component but a non-zero <tt>service-number</tt> component <bcp14>MUST</bcp14> be considered malformed and <bcp14>MUST NOT</bcp14> be used to represent any BPv7 EID.</t>
        </section>
        <section anchor="localnode-endpoints">
          <name>Localnode Endpoints</name>
          <t>The Default Numbering Authority reserves Node Number one (1) to specify endpoints on the local node, rather than on any specific individual node. This means that any ipn EID of the form "ipn:1.X" refers to service X on the local bundle node. EIDs of this form are termed "localnode EIDs".</t>
          <t>Because a localnode 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 EID as a bundle source or bundle destination <bcp14>MUST NOT</bcp14> be allowed to leave the local node. Similarly, localnode 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 EID <bcp14>SHOULD NOT</bcp14> be used as a Bundle Protocol Security <xref target="RFC9172"/> security source EID for a bundle transmitted off of 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>The Default Numbering Authority provides a range of Node Numbers that are reserved for "Private Use".</t>
          <t>Any ipn EID whose Node Number is one reserved for "Private Use" is not guaranteed to be unique. Bundles destined for such EIDs must be considered 'non-routeable' to the extent that they <bcp14>MUST NOT</bcp14> be permitted to exit a single administrative domain.  They can be considered to be equivalent to "Private Address Space" IPv4 addresses, as defined in <xref target="RFC1918"/>.  An administrative domain, as used here, is defined as the set of nodes that share a unique allocation of Node Numbers from the "Private Use" range.</t>
        </section>
      </section>
      <section anchor="service-number-constraints">
        <name>Service Number Constraints</name>
        <t>The following constraints are placed on the Service Numbers used with ipn EIDs. These constraints are imposed independent of the Numbering Authority or Node Number of an ipn EID.</t>
        <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>
    <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 B</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 should maintain 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 '.' 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="examples">Appendix C</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 a numeric representation of the concatenation of the Authority Number and the Node Number of the ipn EID and the second element of the array is the ipn EID Service Number.</t>
          <t>The first array element for this encoding <bcp14>MUST</bcp14> be a 64 bit unsigned integer constructed in the following way:
1. The least significant 32 bits <bcp14>MUST</bcp14> represent the Node Number associated with the ipn EID.
1. The most significant 32 bits <bcp14>MUST</bcp14> represent the Authority Number associated with the ipn EID.</t>
          <t>For example the ipn EID of "ipn:1.100.1" would compute the first array element value as <tt>0x0100000064</tt>.  The resulting two-element array <tt>[0x0100000064, 0x01]</tt> would be encoded in CBOR as the 11 octet value <tt>0x821B000000010000006401</tt>.</t>
          <t>The two-element scheme-specific encoding provides for backwards compatibility with the encoding provided in <xref section="4.2.5.1.2" sectionFormat="of" target="RFC9171"/>. When used in this way, the numeric representation of the concatenation of the Authority Number and the Node Number defined in this document replaces the use of the "Node Number" that was specified in RFC9171. When the Node Number is allocated by the Default Numbering Authority, then the numeric representation and the use of the "Node Number" in RFC9171 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 Authority Number, 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 "ipn:1.100.1" would result in the three-element array of <tt>[1,100,1]</tt> which would be encoded in CBOR as the 5 octet value <tt>0x8301186401</tt>.</t>
          <t>The three-element scheme-specific encoding allows for a more efficient representation of ipn EIDs using smaller Authority Numbers. In the examples in <xref target="examples">Appendix C</xref>, the two-element encoding of "ipn:1.100.1" was more then double the size of the three-element encoding.</t>
          <t>When encoding an ipn EID using the Default Numbering Authority 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 "enc_eid" refers to the CBOR encoded ipn EID, and the term "ipn_eid" refers to the decoded ipn EID.</t>
        <artwork align="left" type="pseudocode"><![CDATA[
if enc_eid.len() == 3
{
  ipn_eid.authority-number := enc_eid[0];
  ipn_eid.node-number := enc_eid[1];
  ipn_eid.service-number := enc_eid[2];
}
else if enc_eid.len() == 2
{
  N = enc_eid[0];
  ipn_eid.service-number := enc_eid[1];

  if N >= 2^32
  {
    ipn_eid.authority-number := N >> 32;
    ipn_eid.node-number := N & (2^32-1);
  }
  else
  {
    ipn_eid.authority-number := 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 "ipn:1.100.1" can be represented as either the two-element encoding of <tt>0x821B000000010000006401</tt> or the three-element encoding of <tt>0x8301186401</tt>. While message integrity and other syntax-based checks may treat these values differently, any EID-based comparisons <bcp14>MUST</bcp14> treat these values the same - as representing the ipn EID "ipn:1.100.1".</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 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 compliant with this specification.</t>
        <t>The introduction of optional non-default numbering authorities 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 numbering authorities 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 numbering authorities 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 Numbering Authority always allocated Node Numbers as link-layer addresses and to then use the <tt>node-number</tt> component of an ipn URI directly as a link-layer address. No matter the mechanism a Numbering Authority uses for the allocation of Node Numbers, they remain just numbers, without additional meaning.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This update to the IPN URI scheme does not change the security considerations for this scheme presented in <xref target="RFC9171"/>. This section repeats the security considerations from <xref section="4.2.5.1.2" sectionFormat="of" target="RFC9171"/> here for completeness.</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 Node Numbers and the malicious selection of Service Numbers. That is, a maliciously constructed ipn URI 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 identities of Bundle Protocol endpoints, the risk of disclosure of sensitive information due to interception of these URIs is minimal. Examination of ipn URIs 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-nas">
        <name>'ipn' Scheme URI Numbering Authority Identifiers registry</name>
        <t>IANA is requested to create a new registry entitled "'ipn' Scheme URI Numbering Authority Identifiers"</t>
        <t>The registration policy for this registry is:</t>
        <table align="left" anchor="tab-ipn-authority-numbers-reg">
          <name>'ipn' Scheme URI Numbering Authority 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 .. 4095</td>
              <td align="left">Expert Review</td>
            </tr>
            <tr>
              <td align="center">4096 .. 2^16-1</td>
              <td align="left">First-come first-served for allocations of length &lt; 256, otherwise Expert Review</td>
            </tr>
            <tr>
              <td align="center">2^16 .. 2^32-1</td>
              <td align="left">First-come first-served for allocations of length &lt; 65536, otherwise Expert Review</td>
            </tr>
            <tr>
              <td align="center">&gt;= 2^32</td>
              <td align="left">Reserved</td>
            </tr>
          </tbody>
        </table>
        <t>Values may be allocated in blocks. Any values allocated in blocks <bcp14>MUST</bcp14> have the first number of the block be a power of 2 and the number of allocations in the block <bcp14>MUST</bcp14> also be a power of 2.</t>
        <t>The initial values for the registry are:</t>
        <table align="left" anchor="tab-ipn-authority-numbers-vals">
          <name>'ipn' Scheme URI Authority Numbers 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">Default Numbering Authority</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="center">1</td>
              <td align="left">Allocated to <xref target="CCSDS"/></td>
              <td align="left">To be defined - pre-allocated as a courtesy, as they have a long-standing existing allocation in <xref section="3.2.1" sectionFormat="of" target="RFC7116"/></td>
            </tr>
          </tbody>
        </table>
        <section anchor="guidance-for-designated-experts">
          <name>Guidance for Designated Experts</name>
          <t>New assignments within this registry require review by a Designated Expert (DE). This section provides guidance to the DE when performing their reviews. Specifically, a DE is expected to perform the following activities.</t>
          <ol spacing="normal" type="1"><li>Determine that the requesting Numbering Authority will reasonably provide operational Node Numbers for itself or others beyond that which is already provided by the Default Numbering Authority.</li>
            <li>Ensure that the requesting Numbering Authority represents an organization and not an individual.</li>
            <li>Ensure that the requesting Numbering Authority does not already provide the same Node Numbers under the auspices of some other registered Numbering Authority (except in the cases of allocating a block of identifiers).</li>
            <li>Ensure that any block of contiguous identifiers allocated to a single Numbering Authority has its first identifier given as a power of 2 and that the length of the identifiers allocated is also a power of 2. This allows the block allocation to be bit-masked.</li>
          </ol>
        </section>
      </section>
      <section anchor="iana-node-numbers">
        <name>'ipn' Scheme URI Default Numbering Authority Node Numbers registry</name>
        <t>IANA is request to rename the "CBHE Node Numbers" registry defined in <xref section="3.2.1" sectionFormat="of" target="RFC7116"/> to the "'ipn' Scheme URI Default Numbering Authority 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 Authority 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 Null Endpoint</td>
            </tr>
            <tr>
              <td align="center">1</td>
              <td align="left">Reserved for Localnode</td>
            </tr>
            <tr>
              <td align="center">2 .. 2^14-1</td>
              <td align="left">Private Use</td>
            </tr>
            <tr>
              <td align="center">2^14 .. 2^32-1</td>
              <td align="left">Expert Review</td>
            </tr>
            <tr>
              <td align="center">&gt;= 2^32</td>
              <td align="left">Reserved</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 Authority Node Numbers initial values</name>
          <thead>
            <tr>
              <th align="center">Value</th>
              <th align="center">Hex</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">16384-2097151</td>
              <td align="center">0x4000-0x1FFFFF</td>
              <td align="left">Allocated to the Space Assigned Numbers Authority (SANA) for use by Consultative Committee for Space Data Systems (CCSDS) missions.</td>
              <td align="left">Inherited from <xref target="RFC7116"/></td>
            </tr>
            <tr>
              <td align="center">268435456-268451839</td>
              <td align="center">0x10000000-0x10003FFF</td>
              <td align="left">Allocated to Spacely Packets, LLC to provide IPN/IP Gateway services to private sector stakeholders.</td>
              <td align="left">Scott Johnson - see existing allocation in CBHE Node Numbers registry.</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 - see existing allocation in CBHE Node Numbers registry.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="ipn-scheme-uri-service-numbers-registry">
        <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 .. 4095</td>
              <td align="left">Specification Required</td>
            </tr>
            <tr>
              <td align="center">4096 .. 2^64-1</td>
              <td align="left">Private Use</td>
            </tr>
            <tr>
              <td align="center">&gt;= 2^64</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">
                <eref target="http://www.ccsds.org/">CCSDS 727.0-B-4</eref></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="CCSDS" target="http://www.ccsds.org">
          <front>
            <title>The Consultative Committee for Space Data Systems</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </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="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="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="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="RFC6260">
          <front>
            <title>Compressed Bundle Header Encoding (CBHE)</title>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh">
              <organization/>
            </author>
            <date month="May" year="2011"/>
            <abstract>
              <t>This document describes a convention by which Delay-Tolerant Networking (DTN) Bundle Protocol (BP) "convergence-layer" adapters may represent endpoint identifiers in a compressed form within the primary blocks of bundles, provided those endpoint identifiers conform to the structure prescribed by this convention.</t>
              <t>Compressed Bundle Header Encoding (CBHE) compression is a convergence-layer adaptation.  It is opaque to bundle processing. Therefore, it has no impact on the interoperability of different Bundle Protocol implementations, but instead affects only the interoperability of different convergence-layer adaptation implementations.</t>
              <t>This document is a product of the Delay-Tolerant Networking Research Group and has been reviewed by that group.  No objections to its publication as an RFC were raised.  This document defines an Experimental  Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6260"/>
          <seriesInfo name="DOI" value="10.17487/RFC6260"/>
        </reference>
      </references>
    </references>
    <section anchor="text-syntax">
      <name>ipn URI Scheme Text Syntax</name>
      <t>The text syntax of an ipn URI <bcp14>MUST</bcp14> comply with the following ABNF <xref target="RFC5234"/> syntax, including the core ABNF syntax rule for DIGIT defined by that specification:</t>
      <artwork type="abnf" align="left"><![CDATA[
ipn-uri = "ipn:" ipn-hier-part

ipn-hier-part = auth-part? node-number "." service-number

auth-part = authority-number "."

authority-number = non-zero-number

node-number = number

service-number = number

number = "0" \ non-zero-number

non-zero-number = (%x31-39 *DIGIT)
]]></artwork>
      <t>The ABNF above explicitly states:</t>
      <ul spacing="normal">
        <li>The <tt>authority-number</tt> component <bcp14>MUST NOT</bcp14> be zero ('0').</li>
        <li>Additional leading zeros ('0') <bcp14>MUST NOT</bcp14> appear as part of any component.</li>
      </ul>
    </section>
    <section anchor="cbor-encoding">
      <name>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: [
    ? authority-number: uint,
    node-numeral: uint,
    service-number: uint
  ]
]
]]></artwork>
      <t>Note: The <tt>node-numeral</tt> component will be the numeric representation of the concatenation of the Authority Number and Node Number when the 2-element encoding scheme has been used.</t>
    </section>
    <section anchor="examples">
      <name>Encoding Examples</name>
      <t>This section provides some example encodings of ipn EIDs.</t>
      <section anchor="using-the-default-numbering-authority">
        <name>Using the Default Numbering Authority</name>
        <t>Consider the ipn EID "ipn:1.1".  This textual representation of an ipn EID identifies Service Number 1 on Node Number 1 allocated by the Default Numbering Authority.</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 Numbering Authority
      01 # Node Number
      01 # Service Number
]]></artwork>
      </section>
      <section anchor="using-a-non-default-numbering-authority">
        <name>Using a non-default Numbering Authority</name>
        <t>Consider the ipn EID "ipn:100.1.1".  This textual representation of an ipn EID identifies Service Number 1 on Node Number 1 allocated by Numbering Authority 100.</t>
        <t>The complete thirteen octet encoding of this EID using the two-element scheme-specific encoding would be as follows.</t>
        <artwork><![CDATA[
82                        # 2-Element Endpoint Encoding
   02                     # uri-code: 2 (IPN URI scheme)
   82                     # 2 Element ipn EID scheme-specific encoding
      1B 0000006400000001 # Authority Number/Node Number numeral
      01                  # Service Number
]]></artwork>
        <t>The complete seven octet encoding of this EID using the three-element scheme-specific encoding would be as follows.</t>
        <artwork><![CDATA[
82          # 2-Element Endpoint Encoding
   02       # uri-code: 2 (IPN URI scheme)
   83       # 3 Element ipn EID scheme-specific encoding
      18 64 # Numbering Authority
      01    # Node Number
      01    # Service Number
]]></artwork>
      </section>
      <section anchor="the-null-endpoint-1">
        <name>The 'null' Endpoint</name>
        <t>The 'null' EID of "ipn:0.0" 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 Numbering Authority
      00 # Node Number
      00 # Service Number
]]></artwork>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Add here!!</t>
      <t>Keith Scott
Scott Burleigh</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
myj6n1jByL7wiD3ih3WR6uT6Jvo/twdAa0iRAAA=

-->

</rfc>
