<?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.17 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-taylor-dtn-ipn-update-00" category="std" consensus="true" submissionType="IETF" updates="[9171, 7176]" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.14.2 -->
  <front>
    <title abbrev="ipn-update">Update to the DTN ipn Endpoint Identifier scheme</title>
    <seriesInfo name="Internet-Draft" value="draft-taylor-dtn-ipn-update-00"/>
    <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="2022" month="September" day="15"/>
    <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>The Delay Tolerant Networking 'ipn' Endpoint Identifier scheme was first defined as Compressed Bundle Header Encoding (CBHE) <xref target="RFC6260"/> for use with the Bundle Protocol version 6 (BPv6) <xref target="RFC5050"/>. <xref target="RFC7116"/> updated <xref target="RFC6260"/> and requested IANA registries associated with the ipn scheme when used with BPv6. The Bundle Protocol version 7 (BPv7) specification <xref target="RFC9171"/> also defines an ipn scheme (for use with BPv7) by reusing the format from <xref target="RFC6260"/>. The evolution and specification of the ipn scheme has led to confusion over its use and format between BPv6 and BPv7.</t>
      <t>This document defines the ipn scheme as it is to be used with BPv7 and also updates <xref target="RFC7116"/> to make it clear that IANA CBHE registries are only to be used for BPv6.  This document also updates the format of the BPv7 ipn scheme to include Numbering Authorities and requests the formation of BPv7 ipn scheme IANA registries.</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-taylor-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>From the earliest days of experimentation with "store and forward" data transfer with the Bundle Protocol, the desire has existed for a simple way to enumerate the nodes and services in a Delay Tolerant Network (DTN).  With the IRTF standardisation of the experimental Bundle Protocol version 6 (BPv6) <xref target="RFC5050"/>, an associated specification for numeric node identifiers and numeric service identifiers was described in <xref section="2.1" sectionFormat="of" target="RFC6260"/>. Further, <xref target="RFC6260"/> also defined the 'ipn' Endpoint Identifier (EID) naming scheme which identifies a DTN endpoint using node and service identifiers. The acronym IPN was originally an expansion of the term "InterPlanetary Network" as the original aim of this scheme was to provide a compact namespace for an interoperable space-based DTN architecture.</t>
      <t>Beyond space-based applications, terrestrial nodes might also operate with limited power, bandwidth, and/or compute budget. The adoption of DTN in the IETF, resulting in the publication of the Bundle Protocol version 7 (BPv7) <xref target="RFC9171"/>, will result 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.</t>
      <t>In all cases, concisely encoded numeric identifiers for both nodes and services provides processing advantages over more verbose naming schemes. Therefore additional focus has been placed on the capabilities of the 'ipn' scheme for use beyond its historical purpose for space-based DTN architectures. This expanded use of the 'ipn' scheme for BPv7 networks requires both some updates to the 'ipn' scheme itself and a clearer distinction between the uses of 'ipn' schemes in BPv6 and BPv7 networks.</t>
      <t>This document updates the definition of the 'ipn' scheme (in ways that are backwards compatible for existing 'ipn' uses) to include adding an optional naming authority to distinguish node namespaces. This document also defines new IANA registries associated with both the updated IPN scheme and the use of node and service identifiers for use specifically with BPv7.</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-legacy-ipn-scheme-in-rfc9171">
      <name>The Legacy 'ipn' Scheme in RFC9171</name>
      <t>This section describes the specification of the 'ipn' EID scheme as defined in <xref target="RFC9171"/> and is included as convenient reference for the rest of this document.</t>
      <section anchor="encoding">
        <name>Encoding</name>
        <t><xref section="4.2.5.1.2" sectionFormat="of" target="RFC9171"/> specifies the 'ipn' EID scheme for BPv7, with an identical format to the specification of the 'ipn' EID scheme for BPv6 in <xref section="2.1" sectionFormat="of" target="RFC6260"/>, namely as a sequence of two unsigned integers.  The first number representing the identifier of the node (node-nbr), and the second being the identifier of a particular service expected at that node (service-nbr).</t>
        <section anchor="legacy-text-encoding">
          <name>Text Encoding</name>
          <t>As specified in <xref target="RFC9171"/>, the textual encoding of an 'ipn' scheme EID must 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 = node-nbr nbr-delim service-nbr

node-nbr = 1*DIGIT

nbr-delim = "."

service-nbr = 1*DIGIT
]]></artwork>
        </section>
        <section anchor="legacy-cbor-encoding">
          <name>CBOR Encoding</name>
          <t>As specified in <xref target="RFC9171"/>, when encoded in Concise Binary Object Representation (CBOR) <xref target="RFC8949"/>, an 'ipn' scheme EID must 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 uri-code 1 (dtn scheme) omitted ...

$eid /= [
  uri-code: 2,
  SSP: [
    nodenum: uint,
    servicenum: uint
  ]
]
]]></artwork>
          <t>Because the encoding of node-nbr and service-nbr (specified in the CDDL as nodenum and servicenum) are defined as CBOR uint types, both values are restricted by this encoding to a range of [0 .. 2^64-1].</t>
        </section>
      </section>
      <section anchor="uniqueness-constraints">
        <name>Uniqueness Constraints</name>
        <t>As described in <xref section="4.2.5.2" sectionFormat="of" target="RFC9171"/>, the identifier of a node (Node ID) must be a singleton endpoint, see <xref section="3.1" sectionFormat="of" target="RFC9171"/>.  <xref section="3.2.2" sectionFormat="of" target="RFC7116"/> allocates the service-nbr 0 to the 'Bundle Protocol Administrative Record' for the 'ipn' EID scheme for BPv6, and <xref section="4.2.5.1.2" sectionFormat="of" target="RFC9171"/> derives from this earlier specification, and more loosely states that the service-nbr zero (0) <bcp14>MAY</bcp14> identify the 'administrative endpoint' of a node, and in combination with a valid node-nbr, it can be used as a BPv7 Node ID.</t>
        <t>From this we can deduce the following rules:</t>
        <ol spacing="normal" type="1"><li>An 'ipn' scheme EID, perhaps with service-nbr 0, <bcp14>MAY</bcp14> be a valid unique Node ID when used with BPv7.</li>
          <li>Because the node-nbr component of 'ipn' scheme EIDs of all services on a node must be identical, when used with BPv7, the node-nbr component <bcp14>MUST</bcp14> be unique to each node within a given network.</li>
        </ol>
        <t>Because the ipn scheme encodes the Node Id, every 'ipn' scheme EID is a singleton EID. This means the following:
1. Only a single node can ever be registered in a given 'ipn' scheme EID at a given time.
1. Every 'ipn' scheme EID to which a node is registered must share the same node-nbr.</t>
      </section>
      <section anchor="global-namespace">
        <name>Global Flat Namespace</name>
        <t>Since the legacy ipn scheme encodes the Node ID as the node number, and the Node ID must be a globally unique identifier, this means that the legacy ipn scheme node-nbrs must, themselves, be globally unique. The legacy ipn scheme node-nbr exists in a single, global, flat namespace.</t>
        <t>The reliance on such a namespace is not problematic when deploying a private, self-contained network: If there are few nodes that can ever intercommunicate, then those nodes can have node-nbrs allocated by the administrator of that network and there will be no problem with uniqueness coming from a serialized, central authority. However, as the number of nodes and number of administrative authorities in a network scale, the administrative burden of assigning node-nbrs increases.</t>
        <section anchor="allocation-ranges">
          <name>Allocation Ranges</name>
          <t>A potential solution to this, as described in <xref section="3.2.1" sectionFormat="of" target="RFC7116"/>, is to assign ranges of node-nbrs to different authorities, from which they can independently allocate node-nbrs.</t>
          <t>The use of a global, flat namespace (in general) and the use of predefined allocations (in particular) present two practical problems relating to encoding efficiency and namespace exhaustion.</t>
          <t>This division of the number space is an adequate solution for the uniqueness problem, but it introduces a new issue: The encoding-length of each node-nbr is no longer minimal, as the offset to the start of the range assigned to the allocating authority is included in the node-nbr.  For example: <xref section="3.2.1" sectionFormat="of" target="RFC7116"/> allocates <xref target="CCSDS"/> the range [2^14 .. 2^21-1] for node-nbrs for use with BPv6, and if CCSDS choses to continue to use this number range for BPv7, the CBOR encoding of every Node ID will be at least 7 octets (including 2 octets for the outer array with uri-code), even when interoperability is not required:</t>
          <artwork><![CDATA[
82            # array(2)
   02         # uri-code: 2
   82         # array(2)
      19 4000 # node-nbr: 16384
      00      # service-nbr: 0
]]></artwork>
          <t>Another side-effect of assigning ranges of the number space to different sub-allocating authorities is to reduce the total availability of node-nbrs.  Although the current allocation strategy defined in <xref target="RFC7116"/> leaves approximately 2^42 numbers unallocated, the recommendation to IANA is that these numbers should be allocated in blocks of 2^14.  The history of IPv4 address allocation, see <xref section="2.1" sectionFormat="of" target="RFC1287"/>, demonstrates that exhaustion of a 2^32 bit number space happens surprisingly quickly.</t>
        </section>
      </section>
    </section>
    <section anchor="updates">
      <name>Updates to RFC7116 and RFC9171</name>
      <t>This section updates the use of 'ipn' scheme EIDs when used with BPv7 as specified in <xref target="RFC9171"/> to address some of the limitations described above, and renames two of the registries defined in <xref target="RFC7116"/> to clarify their usage with BPv6 only.</t>
      <section anchor="bpv7-ipn-scheme-node-numbers">
        <name>BPv7 'ipn' Scheme Node Numbers</name>
        <t>The following rules update or clarify the specification of node-nbr in <xref section="4.2.5.1.2" sectionFormat="of" target="RFC9171"/>:</t>
        <ol spacing="normal" type="1"><li>The node-nbr component of an 'ipn' scheme EID <bcp14>MUST</bcp14> be an unsigned integer &gt;= 0.</li>
          <li>The 'ipn' scheme EID "ipn:0.0" is assigned to the 'null' endpoint, see <xref section="3.2" sectionFormat="of" target="RFC9171"/>.</li>
          <li>If the node-nbr component of an 'ipn' scheme EID is zero (0), then the service-nbr component <bcp14>MUST</bcp14> be zero (0).</li>
          <li>Non-zero 'ipn' EID scheme node-nbrs are explicitly 'Private Use', see <xref section="4.1" sectionFormat="of" target="RFC8126"/>.  Therefore they <bcp14>MUST NOT</bcp14> be regarded as unique beyond the administrative domain defined by the allocating authority, and interoperability with other administrative domains <bcp14>MUST NOT</bcp14> be assumed.</li>
          <li>Values &gt;= 2^64 for the node-nbr component of an 'ipn' scheme EID are 'Reserved', see <xref section="6" sectionFormat="of" target="RFC8126"/>, to allow concise unsigned integer (type 0) CBOR encoding.</li>
        </ol>
        <t>To support this update, a new IANA "Bundle Protocol Version 7 'ipn' Scheme Node Numbers" registry is defined for the node-nbr component of an 'ipn' scheme EID when used with BPv7.</t>
      </section>
      <section anchor="bpv6-ipn-scheme-node-numbers">
        <name>BPv6 'ipn' Scheme Node Numbers</name>
        <t>The "CBHE Node Numbers" registry specified in <xref section="3.2.1" sectionFormat="of" target="RFC7116"/> is renamed without change to the "Bundle Protocol Version 6 'ipn' Scheme Node Numbers" registry, to clarify that it is for use solely with BPv6, see <xref target="iana">IANA Considerations</xref>.</t>
      </section>
      <section anchor="bpv7-ipn-scheme-service-numbers">
        <name>BPv7 'ipn' Scheme Service Numbers</name>
        <t>The following rules update or clarify the specification of service-nbr in <xref section="4.2.5.1.2" sectionFormat="of" target="RFC9171"/>, deriving from the definitions in <xref section="3.2.2" sectionFormat="of" target="RFC7116"/>:</t>
        <ol spacing="normal" type="1"><li>The service-nbr component of an 'ipn' scheme EID <bcp14>MUST</bcp14> be an unsigned integer &gt;= 0.</li>
          <li>The administrative endpoint as defined in <xref section="3.2" sectionFormat="of" target="RFC9171"/> of an 'ipn' scheme EID <bcp14>MUST</bcp14> be service-nbr zero (0).</li>
          <li>Values &gt;= 2^64 for the service-nbr component of an 'ipn' scheme EID are 'Reserved', see <xref section="6" sectionFormat="of" target="RFC8126"/>, to allow concise unsigned integer (type 0) CBOR encoding.</li>
        </ol>
        <t>To support this update, a new IANA "Bundle Protocol Version 7 'ipn' Scheme Service Numbers" registry is defined for the service-nbr component of an 'ipn' scheme EID when used with BPv7.</t>
      </section>
      <section anchor="bpv6-ipn-scheme-service-numbers">
        <name>BPv6 'ipn' Scheme Service Numbers</name>
        <t>The "CBHE Service Numbers" registry specified in <xref section="3.2.2" sectionFormat="of" target="RFC7116"/> is renamed without change to the "Bundle Protocol Version 6 'ipn' Scheme Service Numbers" registry, to clarify that it is for use solely with BPv6, see <xref target="iana">IANA Considerations</xref>.</t>
      </section>
    </section>
    <section anchor="the-interoperable-bpv7-ipn-scheme">
      <name>The Interoperable BPv7 'ipn' Scheme</name>
      <t>The consequence of the updates to the 'ipn' EID scheme described <xref target="updates">above</xref> is to remove any capability to send bundles between nodes with 'ipn' scheme EIDs enumerated by two different allocating authorities, as there is no explicit indication of which authority allocated which corresponding node-nbr, resulting in a violation of the uniqueness constraints.  This situation is obviously untenable when building DTNs beyond a fairly small scale.</t>
      <section anchor="numbering-authorities">
        <name>Numbering Authorities</name>
        <t>Underlying the BPv6 'ipn' scheme node-nbr range assignment if <xref target="RFC7116"/> is the desire to reduce the administrative burden on a single allocation authority for all node-nbrs by delegating the authority to assign numbers to a pre-agreed set of numbering authorities.  Although the range-based mechanism of delegating this authority has been criticised <xref target="allocation-ranges">above</xref>, the desire for delegation of numbering to a group of independent authorities in an interoperable way is still valid.</t>
        <t>To address this, this document introduces the concept of Numbering Authorities.  A Numbering Authority has a unique numeric identifier, but has the authority to allocate any node-nbr in the full 2^64 unsigned integer range according to its own rules.  In order to ensure interoperability between Numbering Authorities, a new IANA "Bundle Protocol Version 7 'ipn' Scheme Authority Numbers" registry is defined for the registration of Authority Numbers, see <xref target="iana">IANA Considerations</xref>.  Although the uniqueness of Numbering Authority identifiers is required for interoperable DTN operations, identifier ranges are explicitly reserved for experimentation and private use for when interoperability is not required.</t>
        <t>The only number allocation constraint placed upon a Numbering Authority is that the node-nbr zero (0) <bcp14>MUST</bcp14> not be allocated.</t>
        <section anchor="numbering-sub-authorities">
          <name>Numbering Sub-authorities</name>
          <t>Some organisations that register as Numbering Authorities may be sufficiently large that acting as a single allocating authority for their desired number range becomes administratively untenable, for example government agencies.  In this case, the ability to delegate number allocation to sub-authorities is desired.  To address this, this specification permits the addition of a Numbering Sub-authority numeric identifier, when required, from a registry controlled by the Numbering Authority to the Interoperable BPv7 'ipn' scheme EID.</t>
          <t>In order to avoid unbounded sequences of sub-sub-authorities, making processing in constrained devices overly onerous, only a single Numbering Sub-authority is permitted in an Interoperable BPv7 'ipn' scheme EID.</t>
        </section>
        <section anchor="local-numbering-authority">
          <name>The Local Numbering Authority</name>
          <t>The numeric identifier zero (0) is allocated in the "Bundle Protocol Version 7 'ipn' Scheme Authority Numbers" registry for the Local Numbering Authority.  When a bundle processing agent processes a bundle containing EIDs using the Interoperable BPv7 'ipn' scheme, with a Numbering Authority identifier of zero (0), the Numbering Authority identifier of such EIDs <bcp14>MUST</bcp14> considered to be the same as the Numbering Authority of the 'ipn' scheme NodeId of the bundle processing agent.</t>
          <t>The Local Numbering Authority does not support Numbering Sub-authorities, and therefore any Numbering Sub-authority identifier <bcp14>MUST NOT</bcp14> be included when composing Interoperable BPv7 'ipn' scheme EIDs.  When a bundle processing agent encounters an Interoperable BPv7 'ipn' scheme EID with Number Authority identifier zero (0) and a Numbering Sub-authority identifier, then the Numbering Sub-authority identifier <bcp14>MUST</bcp14> be ignored.</t>
        </section>
        <section anchor="backwards-compatibility">
          <name>Backwards Compatibility</name>
          <t>Although the Interoperable BPv7 'ipn' EID scheme introduces the ability to include Numbering Authority identifiers, it does not preclude the use of BPv7 'ipn' scheme EIDs without such an identifier.  To allow for backwards compatibility, when a bundle processing agent processes a BPv7 bundle containing 'ipn' scheme EIDs without a Numbering Authority identifier, unless the EID is the 'null' endpoint (ipn:0.0), the Numbering Authority identifier <bcp14>MUST</bcp14> considered to be zero (0), and therefore treated in the the same manner as the <xref target="local-numbering-authority">Local Numbering Authority</xref>.</t>
        </section>
      </section>
      <section anchor="prefix-encoding">
        <name>Prefix Encoding</name>
        <t>Fundamentally, <xref target="RFC9171"/> 'ipn' scheme EIDs are represented as a sequence of unsigned integers: In the text encoding, the numbers are separated with the '.' delimiter; in CBOR, encoded as an array of unsigned integers.  Adding the numeric identifier of the numbering authority, possibly with sub-authorities, that allocated the subsequent node-nbr as a prefix to EIDs allows for a concise encoding of a suitable discriminator, without reducing the total availability of node-nbrs.</t>
        <t>In the text encoding, this is as simple as pre-pending numeric identifiers for the numbering authorities, separated with the '.' delimiter, to the text.  For the CBOR encoding, this is achieved by increasing the dimension of the array of unsigned integers to include the relevant numbering authority identifiers.</t>
        <t>For example, the EID "ipn:2.1.0" uniquely identifies the administrative endpoint of the node allocated the node-nbr 1 by the numbering authority with identifier 2.  This EID can be concisely encoded in CBOR as 6 octets, including 2 octets for the outer array with uri-code:</t>
        <artwork><![CDATA[
82       # array(2)
   02    # uri-code: 2
   83    # array(3)
      02 # auth-nbr: 2
      01 # node-nbr: 1
      00 # service-nbr: 0
]]></artwork>
        <t>This prefixing method is be extended to allow numbering authorities to delegate allocation of numbers to sub-authorities as they see fit, by appending further sub-authority identifiers to the prefix.</t>
        <section anchor="new-text-encoding">
          <name>Text Encoding</name>
          <t>The textual encoding of an 'ipn' scheme EID <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-nbr nbr-delim service-nbr

auth-part = auth-nbr nbr-delim sub-auth-part?

sub-auth-part = sub-auth-nbr nbr-delim

auth-nbr = 1*DIGIT

sub-auth-nbr = 1*DIGIT

node-nbr = 1*DIGIT

service-nbr = 1*DIGIT

nbr-delim = "."
]]></artwork>
        </section>
        <section anchor="new-cbor-encoding">
          <name>CBOR Encoding</name>
          <t>When encoded in Concise Binary Object Representation (CBOR) <xref target="RFC8949"/>, an 'ipn' scheme EID <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,
    node-nbr: uint,
    service-nbr: uint
  ]
  authority = (
    auth-nbr: uint,
    ? sub-auth-nbr: uint
  )
]
]]></artwork>
          <t>Because the encoding of auth-nbr, sub-auth-nbr, node-nbr, and service-nbr are defined as CBOR uint types, all values are restricted by this encoding to a range of [0 .. 2^64-1].</t>
        </section>
      </section>
      <section anchor="recommendations">
        <name>Recommendations</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 may 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>Because of this late binding concept, the authority components of an interoperable 'ipn' scheme EID <bcp14>SHOULD NOT</bcp14> be regarded as some kind of "type field", and used to derive additional information from the other components of the EID.  An example of incorrect behaviour would be: "I know authority X allocates node-nbrs derived from the MAC address of some link-layer device on each node, and so I can just send packets directly to that MAC address". No matter the authority that controls the allocation of node-nbrs, they remain just numbers, without additional meaning.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t><strong>TODO</strong></t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>The following sections detail requests to IANA for new registries, and the renaming of existing registries.</t>
      <section anchor="bundle-protocol-version-7-ipn-scheme-local-node-numbers-registry">
        <name>Bundle Protocol Version 7 'ipn' Scheme Local Node Numbers registry</name>
        <t>IANA is requested to create a new registry entitled "Bundle Protocol Version 7 'ipn' Scheme Local Node Numbers" with the following assignments:</t>
        <table align="left" anchor="tab-ipn-node-nbrs">
          <name>Bundle Protocol Version 7 'ipn' Scheme Local Node Numbers</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 null endpoint</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="center">1 .. 2^64-1</td>
              <td align="left">Private Use</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="center">&gt;= 2^64</td>
              <td align="left">Reserved</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
        <t>All possible values are assigned.</t>
      </section>
      <section anchor="bundle-protocol-version-7-ipn-scheme-service-numbers-registry">
        <name>Bundle Protocol Version 7 'ipn' Scheme Service Numbers registry</name>
        <t>IANA is requested to create a new registry entitled "Bundle Protocol Version 7 'ipn' Scheme Service Numbers"</t>
        <t>The registration policy for this registry is:</t>
        <table align="left" anchor="tab-ipn-service-nbrs-reg">
          <name>Bundle Protocol Version 7 'ipn' Scheme 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^32-1</td>
              <td align="left">Private Use</td>
            </tr>
            <tr>
              <td align="center">2^32 .. 2^64-1</td>
              <td align="left">Experimental Use</td>
            </tr>
            <tr>
              <td align="center">&gt;= 2^64</td>
              <td align="left">Reserved</td>
            </tr>
          </tbody>
        </table>
        <t>The initial values for the registry are:</t>
        <table align="left" anchor="tab-ipn-service-nbrs-vals">
          <name>Bundle Protocol Version 7 'ipn' Scheme Service 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">The administrative endpoint</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="bundle-protocol-version-7-ipn-scheme-authority-numbers-registry">
        <name>Bundle Protocol Version 7 'ipn' Scheme Authority Numbers registry</name>
        <t>IANA is requested to create a new registry entitled "Bundle Protocol Version 7 'ipn' Scheme Authority Numbers"</t>
        <t>The registration policy for this registry is:</t>
        <table align="left" anchor="tab-ipn-auth-nbrs-reg">
          <name>Bundle Protocol Version 7 'ipn' Scheme Authority 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 .. 2^16-1</td>
              <td align="left">First Come First Served</td>
            </tr>
            <tr>
              <td align="center">2^16 .. 2^32-1</td>
              <td align="left">Private Use</td>
            </tr>
            <tr>
              <td align="center">2^32 .. 2^64-1</td>
              <td align="left">Experimental Use</td>
            </tr>
            <tr>
              <td align="center">&gt;= 2^64</td>
              <td align="left">Reserved</td>
            </tr>
          </tbody>
        </table>
        <t>The initial values for the registry are:</t>
        <table align="left" anchor="tab-ipn-auth-nbrs-vals">
          <name>Bundle Protocol Version 7 'ipn' Scheme 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">The Local Numbering Authority</td>
              <td align="left">
                <xref target="local-numbering-authority">This document</xref></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="cbhe-node-numbers-registry">
        <name>CBHE 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 "Bundle Protocol Version 6 'ipn' Scheme Node Numbers", with no change to its allocation rules or current allocations.</t>
      </section>
      <section anchor="cbhe-service-numbers-registry">
        <name>CBHE 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 "Bundle Protocol Version 6 'ipn' Scheme Service Numbers", with no change to its allocation rules or current allocations.</t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <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="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="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="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="RFC1287">
          <front>
            <title>Towards the Future Internet Architecture</title>
            <author fullname="D. Clark" initials="D." surname="Clark">
              <organization/>
            </author>
            <author fullname="L. Chapin" initials="L." surname="Chapin">
              <organization/>
            </author>
            <author fullname="V. Cerf" initials="V." surname="Cerf">
              <organization/>
            </author>
            <author fullname="R. Braden" initials="R." surname="Braden">
              <organization/>
            </author>
            <author fullname="R. Hobby" initials="R." surname="Hobby">
              <organization/>
            </author>
            <date month="December" year="1991"/>
            <abstract>
              <t>This informational RFC discusses important directions for possible future evolution of the Internet architecture, and suggests steps towards the desired goals. This memo provides information for the Internet community.  It does not specify an Internet standard.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1287"/>
          <seriesInfo name="DOI" value="10.17487/RFC1287"/>
        </reference>
        <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="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>
        <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>
      </references>
    </references>
    <section anchor="discussion-points">
      <name>Discussion Points</name>
      <t><em>(This whole section is to be removed prior to publication)</em></t>
      <section anchor="why-define-all-of-the-rfc9171-ipn-scheme-node-nbrs-as-private-use">
        <name>Why define all of the RFC9171 'ipn' scheme node-nbrs as 'Private Use'?</name>
        <t>Because there is currently no BPv7 standard specifying that they are not, and current implementations already assume that they can just use node-nbrs as they like.</t>
        <t>The de-facto standard, at of time of writing, is that DTNs using the 'ipn' EID scheme are not interoperable, or have pre-agreed an allocation scheme between communities participating in a joint DTN.  This pre-agreement is just a shared administrative domain, probably with range-based sub-allocation scheme which results in inefficient encoding, and is still not universally interoperable, but this update does not break those implementations.</t>
        <t>Even with this update, when ipn EIDs are used without an auth-nbr, there is no guarantee of interoperability, and they are therefore "Private Use".</t>
      </section>
      <section anchor="why-not-just-sub-divide-the-bpv7-ipn-node-nbr-space-like-bpv6">
        <name>Why not just sub-divide the BPv7 'ipn' node-nbr space like BPv6?</name>
        <t>See <xref target="allocation-ranges">Allocation Ranges</xref>.</t>
      </section>
      <section anchor="why-not-a-new-ipn3-eid-scheme">
        <name>Why not a new 'ipn3' EID scheme?</name>
        <t>Is there really any difference in outcome between the following cases?:</t>
        <ol spacing="normal" type="1"><li>An existing parser receives a bundle with an EID with a 3-ary ipn EID</li>
          <li>An existing parser receives a bundle with an EID with an unrecognised scheme identifier</li>
        </ol>
        <t>In the former case, the parser will recognised the scheme as 'ipn' but then fail as the dimension of the subsequent array is not 2. In the latter case the parser will fail one octet earlier when the scheme is not recognised.  In both cases, the EID will not be recognised as valid, forwarding will be "contraindicated", and the process described in Step 2 of <xref section="5.4" sectionFormat="of" target="RFC9171"/> should be followed.</t>
        <t>It is believed that introducing a new EID scheme will just result in fragmentation of support.  'ipn' is popular because it is simple; let's not introduce another 'simple' EID scheme to compete with it, but rather add just enough support for universal interoperability.  'ipn' as defined in RFC9171 needs clarification, so why not just add the tweaks necessary as long as we don't break back-compatibility?</t>
      </section>
      <section anchor="why-not-use-just-the-dtn-scheme-for-interoperability">
        <name>Why not use just the 'dtn' scheme for interoperability?</name>
        <t>Because the 'dtn' scheme definition in RFC9171 is intentionally left wide open for further work. That work has yet to happen and is a considered a much more complex task than a simple update to the 'ipn' scheme.</t>
      </section>
      <section anchor="wont-these-changes-break-bpv6-compatibility">
        <name>Won't these changes break BPv6 compatibility?</name>
        <t>Because of the difference in encoding between BPv6 and BPv7, there is no on-the-wire compatibility between the versions.  Any 'dual-stack' gateway BPA is going to have to encapsulate BPv6 in BPv7 (or vice-versa), so the EID of the decapsulating endpoint will have to be used in the 'envelope' bundle.  There is no way a BPv7 node can send a bundle to a BPv6 node directly using BPv7, so backwards compatibility of EIDs between protocol versions is not needed.</t>
      </section>
      <section anchor="why-not-have-an-unbounded-number-of-sub-authorities">
        <name>Why not have an unbounded number of sub-authorities?</name>
        <t>It's possible to encode, and has been considered by the authors, but the conclusion was:</t>
        <t><tt>ipn:it.is.really.not.a.great.idea.to.have.unbounded.sequences.of.identifiers.when.it.comes.to.processing.EIDs.in.constrained.environments.0</tt></t>
        <t>An optional, single sub-authority seemed like a sensible idea, but feel free to argue on the list for more.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
