<?xml version="1.0" encoding="utf-8"?>
<!-- 
     draft-rfcxml-general-template-annotated-00
  
     This template includes examples of most of the features of RFCXML with comments explaining 
     how to customise them, and examples of how to achieve specific formatting.
     
     Documentation is at https://authors.ietf.org/en/templates-and-schemas
-->
<?xml-model href="rfc7991bis.rnc"?>  <!-- Required for schema validation and schema-aware editing -->
<!-- <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> -->
<!-- This third-party XSLT can be enabled for direct transformations in XML processors, including
most browsers -->
<!DOCTYPE rfc [
  <!ENTITY nbsp "&#160;">
  <!ENTITY zwsp "&#8203;">
  <!ENTITY nbhy "&#8209;">
  <!ENTITY wj "&#8288;">
]>
<!-- If further character entities are required then they should be added to the DOCTYPE above.
     Use of an external entity file is not recommended. -->

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="info"
  docName="draft-cavallini-dtn-iac-00"
  ipr="trust200902"
  obsoletes=""
  updates=""
  submissionType="IETF"
  xml:lang="en"
  version="3">
  <!-- 
    * docName should be the name of your draft
    * category should be one of std, bcp, info, exp, historic
    * ipr should be one of trust200902, noModificationTrust200902, 
    noDerivativesTrust200902, pre5378Trust200902
    * updates can be an RFC number as NNNN
    * obsoletes can be an RFC number as NNNN 
-->

  <front>
    <title abbrev="iac">DTN Interplanetary Anycast Scheme</title> <!--
    https://authors.ietf.org/en/rfcxml-vocabulary#title-4 -->
    <!--  The abbreviated title is required if the full title is longer than 39 characters -->

    <seriesInfo name="rfc" value="draft-cavallini-dtn-iac-00" /> <!--
    https://authors.ietf.org/en/rfcxml-vocabulary#seriesinfo -->
    <!-- Set value to the name of the draft  -->

    <author fullname="Danilo Cavallini" initials="D." surname="Cavallini">
      <!--
      https://authors.ietf.org/en/rfcxml-vocabulary#author -->
      <organization>European Space Operations Centre (ESOC)</organization> <!--
      https://authors.ietf.org/en/rfcxml-vocabulary#organization -->
      <address> <!-- https://authors.ietf.org/en/rfcxml-vocabulary#address -->
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>Via Tranquillo Cremona 6</street>
          <city>Bologna</city>
          <region>Emilia-Romagna</region>
          <code>40137</code>
          <country>Italy</country>
        </postal>
        <phone>+393428851345</phone>
        <email>danilo.cavallini.01@gmail.com</email>
      </address>
    </author>

    <author fullname="Felix Flentge" initials="F." surname="Flentge">
      <!--
      https://authors.ietf.org/en/rfcxml-vocabulary#author -->
      <organization>European Space Operations Centre (ESOC)</organization> <!--
      https://authors.ietf.org/en/rfcxml-vocabulary#organization -->
      <address> <!-- https://authors.ietf.org/en/rfcxml-vocabulary#address -->
        <postal>
          <!-- Can use two letter country code -->
          <country>Germany</country>
        </postal>
        <phone>+496151904075</phone>
        <email>Felix.Flentge@esa.int</email>
        <!-- Can have more than one <email> element -->
      </address>
    </author>


    <date year="2025" month="9" day="15" /> <!-- https://authors.ietf.org/en/rfcxml-vocabulary#date -->
    <!-- On draft subbmission:
         * If only the current year is specified, the current day and month will be used.
         * If the month and year are both specified and are the current ones, the current day will
           be used
         * If the year is not the current one, it is necessary to specify at least a month and day="1" will
    be used.
    -->

    <area>General</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <!-- "Internet Engineering Task Force" is fine for individual submissions.  If this element is 
          not present, the default is "Network Working Group", which is used by the RFC Editor as 
          a nod to the history of the RFC Series. -->

    <keyword>Anycast</keyword>
    <keyword>DTN</keyword>
    <keyword>iac</keyword>
    <keyword>RFC</keyword>
    <keyword>BP</keyword>
    <keyword>Bundle Protocol</keyword>
    <!-- Multiple keywords are allowed.  Keywords are incorporated into HTML output files for 
         use by search engines. -->

    <abstract>
      <t>
        This document describe a new anycast addressing scheme for Delay-Tolerant Networking
        (DTN), named Interplanetary Anycast Communication (iac). Designed for use within the DTN
        Bundle Protocol Version 7 (BPv7), iac enables IP Anycast-like funcionality in the Context of
        Delayed
        Tolerant Network,
        so this mechanism enables the routing and delivery of bundles to a single member of a
        specified iac anycast
        group based on a structured Endpoint Identifier (EID) URI scheme.
      </t>
      <t>
        The document formally defines the "iac" URI scheme, made of three main components, an
        Allocator
        Identifier, a Group Number,
        and a Service Number, details registration requirements with
        IANA addressing formats, and service numbering conventions while maintaining
        compatibility with existing IPN/IMC-based identifiers.
      </t>
    </abstract>

    <note>
      <name>Requirements Language</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT",
        "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
        interpreted as described in <xref target="RFC2119" />
      </t>
    </note>
  </front>
  <middle>
    <section>
      <name>Introduction</name>
      <t> This document describes a new scheme for Delay-Tolerant Networking (DTN) anycast; the
        scheme, named "Interplanetary Anycast" (iac), is designed to be a simple, efficient anycast
        naming capability operating in the context of the Delay-Tolerant Networking (DTN) Bundle
        Protocol Version 7 (BPv7) <xref target="RFC9171" />, this document is intended to specify
        the iac anycast scheme only for the Bundle Protocol Version 7 and not the previous versions. </t>
      <t>
        The iac anycast scheme is intended to offer the following features:
      </t>
      <ul>
        <li>Describe a anycast mechanism for Delayed Tolerant Networks</li>

        <li>Give the capability to the Bundle Protocol to address a single service
          on a BP Node that is a member of a specific iac anycast group specified in the Bundle EID.</li>

        <li>As with its IP-based counterpart, the Interplanetary Anycast Communication (iac)
          mechanism provides the capability to address a single resource via its Endpoint Identifier
          (EID) that could be either a member of a designated iac anycast group or any immediate
          neighbor
          Bundle Protocol (BP) Node ( immediate neighbor: meaning one that is a next bundle hop of
          the source BP Node ).</li>

        <li>Data intended for an iac (Interplanetary Anycast Communication) anycast group
          can be transmitted using Delay/Disruption-Tolerant Networking (DTN) protocols that can
          ensure
          successful data delivery, even in environments where end-to-end connectivity is
          intermittent or unavailable for extended periods of time. </li>

        <li>Give the possibility to BP Nodes to register to a specific iac group, becoming then an
          eligible destination for a bundle with the specified iac group EID .
        </li>
      </ul>
      <!-- The 'Requirements Language' section is optional -->
    </section>

    <section>
      <name>iac Design Element</name>
      <section>
        <name>Core Concept</name>
        <t>Every iac URI, no matter whether it is expressed with a textual
          representation or a binary encoding, MUST be considered as a tuple of
          the following three components: </t>
        <ul>
          <li>The Allocator Identifier</li>
          <li>The Group Number</li>
          <li>The Service Number</li>
        </ul>
        <t>The Allocator Identifier will permit to different organizations to create their own iac
          anycast address hierarchies; it is the same as the one specified in <xref target="RFC9758"
            section="3.2" />, in this document explained in (<xref
            target="allocator" />) </t>

        <t>The Group Number is a shared identifier that identifies an iac anycast group, in this
          document explained in (<xref target="group" />)</t>

        <t>The Service Number is an identifier to distinguish between resources on a given node; it
          is the same as the one is <xref target="RFC9758"
            section="3.5" />, in this document explained in (<xref target="service" />)</t>
      </section>
      <section anchor="eid">
        <name>The "iac" Endpoint ID Scheme</name>
        <t>A BP endpoint identifier (EID) is a Uniform Record Identifier (URI) as defined by <xref
            target="RFC3986" />. More specifically, each BP EID is a URI consisting of a "scheme
          name" followed by ":", followed by a sequence of characters termed the "scheme-specific
          part" (SSP) in DTN specifications, conforming to the URI syntax as defined by <xref
            target="RFC3986" /></t>

        <t>All EIDs identifying iac endpoints MUST conform to the "iac" URI scheme described below.
          As noted below in (<xref target="iana" />), IANA registration is requested for this new
          URI scheme.</t>

        <t>The scheme identifier is "iac", and the scheme-specific parts are
          represented as a sequence of numeric components separated with the
          '.' character. A formal definition is provided below and can be
          informally considered as:</t>

        <t>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iac:&lt;allocator-identifier&gt;.&lt;group-number&gt;.&lt;service-number&gt;</t>

        <t>The SSP of every URI formed within the "iac" scheme MUST comprise:</t>
        <ol>
          <li>A sequence of ASCII numeric digits representing a unique unsigned integer
            in the range 0 to 2^(32-1), termed the "allocator-identifier" of the URI.</li>

          <li>An ASCII period ('.') character.</li>

          <li>A sequence of ASCII numeric digits representing an unsigned integer in the
            range 0 to 2^(32-1), termed the "group-number" of the URI.
          </li>

          <li>An ASCII period ('.') character.</li>

          <li>A sequence of ASCII numeric digits representing an unsigned integer,
            termed the "service number" of the URI.</li>
        </ol>

        <t>To keep the text representation concise, the following rules apply:</t>
        <ol>
          <li>All leading '0' characters MUST be omitted. A single '0' is valid.</li>
        </ol>

        <t>The Allocator Identifier has the same structure, purpose and meaning as the one in IPN
          scheme <xref section="3.2" target="RFC9758" /></t>

        <t>The Group Number in the iac scheme is intended to carry the same semantic meaning as in
          other naming scheme addressing group of nodes, such as multi-destination naming
          schemes like IMC (interplanetary multicast), are expected to define groups in the same way
          to allow aligning the definition of groups of nodes across multiple naming schemes..</t>

        <t>The Service Number has the same, structure, purpose and meaning as the one in IPN scheme <xref
            target="RFC9758" /></t>
      </section>
      <section anchor="allocator">
        <name>Allocator Identifier</name>
        <t>The Allocator Identifier defined in this Document MUST be the exact same one as the one
          defined in the ipn scheme <xref section="3.2"
            target="RFC9758" /></t>
        <t>In the <xref target="RFC9758" /> an Allocator is an entity authorized to assign Node
          Numbers for use with the 'ipn' URI scheme. This authorization is granted through the
          assignment of a unique Allocator Identifier (an unsigned integer within the 32-bit range)
          by the Internet Assigned Numbers Authority (IANA) to the registry called 'ipn' Scheme URI
          Allocator Identifiers. This authorization SHALL be extended to include authorization to
          the assignment of group numbers. It is requested to rename the IANA registry to 'ipn &amp;
          iac' Scheme URI Allocator Identifiers</t>

        <t>Each Allocator is permitted to assign Node
          Numbers by its own internal
          policies without requiring coordination with other Allocators, provided the assigned
          numbers are unique within its scope.
          For non-interoperable deployments, a predefined private-use range is available via the
          Default Allocator.</t>

        <t>The usage in the iac scheme is the equivalent to ipn, so every
          Allocator can decide to
          assign iac scheme hierarchies (without violating the scheme rules in this Document), also
          a DefaultAllocator is defined which is the Allocator Number zero (0), this Allocator is
          privately defined but can be used by anyone</t>

        <t>In iac scheme the Allocator Identifier 0 MUST be declared, unlike the ipn scheme <xref
            target="RFC9758" />, in ipn it is recommended to omit the allocator from the URI if it
          is 0, leading to 2-3 parts URI, the iac URI is always 3 elements</t>

      </section>
      <section anchor="group">
        <name>Group Number</name>
        <t>An iac anycast group is a non-singleton BP endpoint that is identified by a URI that
          conforms to the "iac" scheme.
          A BP node joins an iac anycast group by registering with the corresponding endpoint, and
          it leaves the group by unregistering from that endpoint.</t>

        <t>A BP node that is registered in an iac anycast group MUST deliver bundles only to
          endpoints which are members of the anycast group specified as destination eid in the
          bundle's primary header;
          After delivery to the service application identified by the service number, the bundle
          MUST NOT be forwarded to any other BP Node</t>

        <t>
          If the bundle anycast group destination differs, then the bundle MUST NOT be accepted; the
          bundle SHOULD be routed and forwarded to another iac-capable BP node or, if the node is
          not iac compliant, it MAY be discarded.</t>

        <t>The Group Number with the number zero (0) is reserved and each node supporting the iac
          naming scheme SHALL be implicitly registered in all EID with the group number `0`.This
          will result that any bundle with an iac destination endpoint id having group
          number `0` will be delivered at the next iac-compliant hop. In particular, any bundle with
          a destination eid with group and service number `0` will be delivered to the
          administrative element of the next hop supporting the iac naming scheme.</t>

        <t>An iac bundle with the destination eid 0 should be routed to the nearest BP node that
          MUST differ from the the local one. This rule is valid only for the iac group 0, if a
          bundle has any other iac group number as endpoint eid than it can also be routed to the
          local BP node if it matches the local registered group numbers.</t>

        <t>An iac anycast group may at any time have zero, one, or many members, the members of the
          group</t>

        <t> A new IANA registry is requested for "Bundle Protocol Well-Known Group Number", to
          define the registration of Group Numbers in the Bundle Protocol, see <xref
            target="groupNumberRegistry" />, the Well-Known Group Numbers set in this registry MUST
          be valid for every Allocator, not only the Default one. </t>
      </section>
      <section anchor="service">
        <name>Service Number</name>
        <t>The iac scheme Service Number MUST be the same as the one specified in <xref
            target="RFC9758" section="3.2" /></t>

        <t>
          The service number is an unsigned integer that identifies a particular resource on a node.
          It serves a role analogous to a port number in traditional IP networking.
          It allows multiple services or applications to coexist on the same BP node and ensures
          that a received bundle is delivered to the correct service endpoint.
        </t>

        <t>
          In the iac context, when a bundle is received, if the BP Node has joined the correct iac
          anycast group, then the bundle MUST be retained by the BP Node and SHALL then be
          delivered to the service registered under the Service Number specified in the EID.
        </t>

        <t>
          Another interesting usage of the Service Number in the iac context is the service number
          zero (0) (example: iac:0.0), a bundle with this EID is trying to deliver a bundle to the
          administrative element of a BP Node; the mechanism could allow interesting use
          for reporting and custody matters in the BP context.
        </t>
        <section>
          <name>Well-Known Service Numbers</name>
          <t>
            For Bundle Protocol Version 7 (BPv7) services that are publicly specified and widely
            adopted, it is advantageous to assign a predefined default Service Number. That allows
            such services to be assumed already operative by default on a BP Node in the absence of
            explicit configuration.
          </t>

          <t> The iac scheme SHALL share the same well-known service numbers as those in IANA
            registry, "'ipn' Scheme URI Well-Known Service Numbers for <xref
              section="5.6" target="RFC8126" />. This registry formalizes the assignment of Service
            Numbers to well-known BPv7 services and includes reserved ranges for both experimental
            purposes and private use. It is requested to rename this registry to "'ipn and iac'
            Scheme URI Well-Known Service Numbers for BPv7" </t>

          <t>To support this mechanism, a new IANA registry entitled "'ipn' Scheme URI Well-Known
            Service Numbers for BPv7" specified in <xref section="9.3" target="RFC9758" />.</t>
        </section>
      </section>
    </section>

    <section anchor="iana">
      <name>IANA Consideration</name>
      <section>
        <name>iac URI Scheme</name>
        <t>Provisional registration (per <xref target="RFC4395" />) for a URI scheme is requested,
          with the string "iac" as the suggested scheme name, as follows.</t>

        <t>URI scheme name: "iac".</t>

        <t>Status: permanent.</t>

        <t>URI scheme syntax:</t>

        <t>This specification uses the Augmented Backus-Naur Form (ABNF) notation of <xref
            target="RFC5234" />, including the core ABNF syntax rule for DIGIT defined by that
          specification.</t>

        <t>iac-uri = "iac:" iac-hier-part<br /> iac-hier-part = allocator-identifier "."
          group-number "." service-number<br /> allocator-identifier = number<br /> group-number =
          number<br /> service-number = number<br /> number = "0" / non-zero-number<br />non-zero-number
          = (%x31-39 *DIGIT) DIGIT = %x30-39 </t>

        <t>
          None of the reserved characters defined in the generic URI syntax are
          used as delimiters within URIs of the iac scheme.
        </t>

        <t>Encoding considerations: URIs of the IMC scheme are encoded
          exclusively in US-ASCII characters.</t>

        <t>Applications and/or protocols that use this URI scheme name: the Delay-Tolerant
          Networking (DTN) Bundle Protocol Version 7 (BP) <xref target="RFC9171" />.</t>

        <t>Interoperability considerations: as noted above, URIs of the iac
          scheme are encoded exclusively in US-ASCII characters.</t>
      </section>
      <section>
        <name>Bundle Protocol URI Scheme Types</name>
        <t>A new URI scheme code (proposal for value 3) in the "Bundle Protocol URI Scheme Types"
          IANA registry for the iac scheme is hereby requested to enable the definition of
          an efficient encoding and decoding mechanism for the iac scheme in CBOR.</t>

        <t>
          This specification re-uses the "Bundle Protocol URI Scheme Types"
          registry within the "Bundle Protocol" registry group [IANA-BP] for
          the CBOR encoding of EID Patterns and adds an informative column "EID
          Pattern Reference" as in the following table for iac scheme URI code.</t>

        <t> Specifications of new EID Pattern schemes SHALL define all of the required items from <xref
            target="eid" /> to ensure that pattern behavior is consistent across different schemes.</t>

        <table>
          <name>CBOR Tag Values for EID Schemes</name>
          <thead>
            <tr>
              <th>Value</th>
              <th>Description</th>
              <th>...</th>
              <th>EID Pattern Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>TBD1</td>
              <td>iac</td>
              <td></td>
              <td>
                <xref target="eid"></xref> of this Document </td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="groupNumberRegistry">
        <name>Bundle Protocol Well-Known Group Number</name>
        <t> IANA is requested to create a new registry entitled "Bundle Protocol Well-Known Group
          Numbers" under the namespace "Uniform Resource Identifier (URI) Schemes". The registration
          policy for this registry, using terms defined in <xref target="RFC8126" />, is: </t>
        <table>
          <name>Bundle Protocol Well-Known Group Number registration policies</name>
          <thead>
            <tr>
              <th>Range</th>
              <th>Registration Policy</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0</td>
              <td>Reserved for the "Any Group"</td>
            </tr>
            <tr>
              <td align="center">1-127</td>
              <td>Private Use</td>
            </tr>
            <tr>
              <td align="center">128-255</td>
              <td>Standards Action</td>
            </tr>
            <tr>
              <td align="center">0x0100-0x7FFF</td>
              <td>Private Use</td>
            </tr>
            <tr>
              <td align="center">0x8000-0xFFFF</td>
              <td>Specification Required</td>
            </tr>
            <tr>
              <td align="center">
                0x10000-0xFFFFFFFF
              </td>
              <td>Private Use</td>
            </tr>
            <tr>
              <td align="center">
                >=0x100000000
              </td>
              <td>Reserved for future expansion</td>
            </tr>
          </tbody>
        </table>

        <t>Each entry in this registry represents a group number. This group number MUST
          still hold value across all different Allocator, not only on the Default Allocator.</t>

        <t>It is expected that each identified organization publishes some listing of allocated
          group numbers - the pointer to which is
          listed in the "Reference" field of the registry.</t>

        <t>The initial values for the registry are:</t>

        <table>
          <name>Bundle Protocol Well-Known Group Number initial values</name>
          <thead>
            <tr>
              <th>Name</th>
              <th>Description</th>
              <th>Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">0</td>
              <td align="center">The "Any" Group</td>
              <td align="center">[[this RFC]](<xref target="group"></xref>)</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>

    <section anchor="cbor">
      <name> CBOR Representation of iac URIs with BPv7</name>
      <t>
        <xref section="4.2.5.1"
          target="RFC9171"></xref> requires that any URI scheme used to represent BPv7 EIDs MUST
        define how the scheme-specific part of the URI scheme is encoded with Concise Binary Object
        Representation (CBOR)<xref target="RFC8949" />.</t>

      <t>To meet this requirement, this section
        describes the CBOR encoding and decoding approach for iac EIDs.</t>

      <t>
        Even if the uri-code of iac scheme is TBD1 (to be defined), for just example purposes, the
        document will use the unsigned int value (3) as the uri-code for the iac scheme, any other
        value that will be allocated by IANA will still output the same CBOR structures
      </t>

      <section>
        <name>iac EID CBOR encoding</name>
        <t>This scheme was specifically designed to enable compact representation and
          efficient processing, and its encoding methods preserve these goals. </t>

        <t>As defined in [RFC9171], iac EIDs consist of a sequence of numeric identifiers. In
          textual form, these identifiers are separated by periods (.). In CBOR, this sequence can
          be naturally represented as an array. Therefore, when encoding iac EIDs for Bundle
          Protocol Version 7 (BPv7), the scheme-specific part of the URI MUST be a CBOR array
          containing three elements. Each element MUST be a CBOR unsigned integer. </t>

        <t>The details of the encoding are described below.</t>

        <section>
          <name>iac scheme-specific Encoding</name>
          <t> In the three-element scheme-specific encoding of an ipn EID, the first element of the
            array is the Allocator identifer (<xref target="allocator" />), the second is the iac
            Group Number (<xref
              target="group" />), and the third element of the array is the iac (same as ipn scheme)
            Service Number (<xref target="service" />).</t>

          <t>For example, the iac EID of iac:2.14.1 would be encoded
            in CBOR as the following 6-octet sequence:</t>

          <sourcecode type="cbor" markers="false">
            82&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 2-Element Endpoint Encoding
            &nbsp;&nbsp;&nbsp;03&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# uri-code: 3 ('iac' URI scheme)
            &nbsp;&nbsp;&nbsp;83&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 3-Element iac EID encoding
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;02&nbsp;&nbsp;# allocator-identifier
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0E&nbsp;&nbsp;# group-number
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;01&nbsp;&nbsp;# service-number
          </sourcecode>
        </section>

        <section>
          <name>'iac' URI Scheme CBOR Syntax</name>
          <t> When encoded in CBOR <xref target="RFC8949" />, a BPv7 endpoint identified by an iac
            URI MUST comply with the following Concise Data Definition Language (CDDL) <xref
              target="RFC8610" /> specification:</t>

          <sourcecode>
            eid-structure = [
            uri-code: uint,
            SSP: any
            ]
          </sourcecode>
          <t>; ... Syntax for other uri-code values defined in RFC 9171 ...</t>
          <sourcecode>
            $eid /= [
            uri-code: 3,
            SSP: iac-ssp3
            ]
          </sourcecode>
          <sourcecode>
            iac-ssp3 = [
            allocator-identifier: uint .lt 4294967296,
            group-number: uint .lt 4294967296,
            service-number: uint
            ]
          </sourcecode>
        </section>
      </section>
    </section>

    <section>
      <name>List Examples</name>

      <section>
        <name>iac EID examples</name>
        <t>iac Complete EID</t>
        <ol type="(%c)">
          <li>iac:2.4.22</li>
        </ol>
        <t>iac EID with the "Any Group", with this syntax any "next iac hop" can be specified</t>
        <ol type="(%c)">
          <li>iac:0.0.3</li>
        </ol>
        <t>iac any administrative endpoint special case</t>
        <ol type="(%c)">
          <li>iac:0.0.0</li>
          <li>iac:0.4.0</li>
        </ol>
      </section>
    </section>

    <section anchor="Security">
      <!-- All drafts are required to have a security considerations section. See RFC 3552 for a
      guide. -->
      <name>Security Considerations</name>
      <t>This document should not affect the security of the Internet.</t>
      <t>
        Route Manipulation: In a DTN anycast environment, BP nodes may opportunistically advertise
        their availability to receive bundles addressed to a shared anycast identifier. This dynamic
        and decentralized
        behavior introduces the risk of route manipulation, wherein a malicious or compromised node
        could falsely present itself as the optimal or nearest anycast recipient. Such unauthorized
        advertisements could lead to traffic interception, blackholing, or intentional delay of
        bundle delivery, thereby undermining the reliability and integrity of the communication
        system. To mitigate these risks, it is essential to employ robust cryptographic mechanisms
        that authenticate node identities and verify routing advertisements, such as the Bundle
        Protocol Security.
      </t>

      <t>
        Impersonation: In a DTN anycast environment, where multiple nodes share a common service
        identifier, the
        lack of strong endpoint authentication creates a significant risk of impersonation and
        spoofing. A malicious actor could masquerade as a legitimate anycast group member and accept
        bundles intended for trusted nodes, potentially leading to unauthorized data access,
        manipulation, or service disruption. This threat is amplified in intermittently connected or
        low-trust environments—such as military or remote sensing networks—where verifying node
        authenticity in real time may be infeasible. To counter this, it is critical to implement
        robust authentication mechanisms for both endpoints and transmitted bundles, leveraging
        cryptographic signatures and identity verification protocols provided by DTN security
        extensions like BPSec.
      </t>

      <t>
        Traffic Stealing: Unlike multicast (but like unicast), anycast allows traffic stealing.
        With multicast, joining a multicast group doesn't prevent
        anyone else who was receiving the traffic from continuing to receive
        the traffic. With anycast, adding an anycasted node to the routing
        system can prevent a previous recipient from continuing to receive
        traffic because it may now be delivered to the new node instead. As
        such, if an unauthorized anycast node can inject a route into the
        network traffic can be diverted thereby triggering DoS or other attacks.
      </t>
    </section>
  </middle>

  <back>
    <references>
      <name>References</name>

      <references>
        <name>Nominative References</name>
        <reference anchor="RFC3986" target="https://www.rfc-editor.org/info/rfc3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee" />
            <author fullname="R. Fielding" initials="R." surname="Fielding" />
            <author fullname="L. Masinter" initials="L." surname="Masinter" />
            <date month="January" year="2005" />
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that
                identifies an abstract or physical resource. This specification defines the generic
                URI syntax and a process for resolving URI references that might be in relative
                form, along with guidelines and security considerations for the use of URIs on the
                Internet. The URI syntax defines a grammar that is a superset of all valid URIs,
                allowing an implementation to parse the common components of a URI reference without
                knowing the scheme-specific requirements of every possible identifier. This
                specification does not define a generative grammar for URIs; that task is performed
                by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66" />
          <seriesInfo name="RFC" value="3986" />
          <seriesInfo name="DOI" value="10.17487/RFC3986" />
        </reference>

        <reference anchor="RFC5234" target="https://www.rfc-editor.org/info/rfc5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker" />
            <author fullname="P. Overell" initials="P." surname="Overell" />
            <date month="January" year="2008" />
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax. Over the
                years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF),
                has been popular among many Internet specifications. The current specification
                documents ABNF. It balances compactness and simplicity with reasonable
                representational power. The differences between standard BNF and ABNF involve naming
                rules, repetition, alternatives, order-independence, and value ranges. This
                specification also supplies additional rule definitions and encoding for a core
                lexical analyzer of the type common to several Internet specifications.
                [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68" />
          <seriesInfo name="RFC" value="5234" />
          <seriesInfo name="DOI" value="10.17487/RFC5234" />
        </reference>

        <reference anchor="RFC8949" target="https://www.rfc-editor.org/info/rfc8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann" />
            <author fullname="P. Hoffman" initials="P." surname="Hoffman" />
            <date month="December" year="2020" />
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals
                include the possibility of extremely small code size, fairly small message size, and
                extensibility without the need for version negotiation. These design goals make it
                different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details,
                and errata fixes while keeping full compatibility with the interchange format of RFC
                7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94" />
          <seriesInfo name="RFC" value="8949" />
          <seriesInfo name="DOI" value="10.17487/RFC8949" />
        </reference>

        <reference anchor="RFC8610" target="https://www.rfc-editor.org/info/rfc8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express
              Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz" />
            <author fullname="C. Vigano" initials="C." surname="Vigano" />
            <author fullname="C. Bormann" initials="C." surname="Bormann" />
            <date month="June" year="2019" />
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object
                Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an
                easy and unambiguous way to express structures for protocol messages and data
                formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610" />
          <seriesInfo name="DOI" value="10.17487/RFC8610" />
        </reference>

        <reference anchor="RFC9171" target="https://www.rfc-editor.org/info/rfc9171">
          <front>
            <title>Bundle Protocol Version 7</title>
            <author fullname="Scott Burleigh" role="editor" />
            <author fullname="Kevin Fall" />
            <author fullname="Edward J. Birrane" />
            <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="RFC9758" target="https://www.rfc-editor.org/info/rfc9758">
          <front>
            <title>Updates to the 'ipn' URI Scheme</title>
            <author fullname="R. Taylor" initials="R." surname="Taylor" />
            <author fullname="E. Birrane III" initials="E." surname="Birrane III" />
            <date month="May" year="2025" />
            <abstract>
              <t>This document updates the specification of the 'ipn' URI scheme previously defined
                in RFC 6260 and the IANA registries established in RFC 7116. It also updates the
                rules for the encoding and decoding of these URIs when used as an Endpoint
                Identifier (EID) in the Bundle Protocol Version 7 (BPv7) as defined in RFC 9171.
                These updates clarify the structure and behavior of the 'ipn' URI scheme, define new
                encodings of 'ipn' scheme URIs, and establish the registries necessary to manage
                this scheme.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9758" />
          <seriesInfo name="DOI" value="10.17487/RFC9758" />
        </reference>

        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton" />
            <author fullname="B. Leiba" initials="B." surname="Leiba" />
            <author fullname="T. Narten" initials="T." surname="Narten" />
            <date month="June" year="2017" />
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify
                various protocol parameters. To ensure that the values in these fields do not have
                conflicting uses and to promote interoperability, their allocations are often
                coordinated by a central record keeper. For IETF protocols, that role is filled by
                the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the
                conditions under which new values should be assigned, as well as when and how
                modifications to existing values can be made, is needed. This document defines a
                framework for the documentation of these guidelines by specification authors, in
                order to assure that the provided guidance for the IANA Considerations is clear and
                addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26" />
          <seriesInfo name="RFC" value="8126" />
          <seriesInfo name="DOI" value="10.17487/RFC8126" />
        </reference>

        <reference anchor="RFC4395" target="https://www.rfc-editor.org/info/rfc4395">
          <front>
            <title>Guidelines and Registration Procedures for New URI Schemes</title>
            <author fullname="T. Hansen" initials="T." surname="Hansen" />
            <author fullname="T. Hardie" initials="T." surname="Hardie" />
            <author fullname="L. Masinter" initials="L." surname="Masinter" />
            <date month="February" year="2006" />
            <abstract>
              <t>This document provides guidelines and recommendations for the definition of Uniform
                Resource Identifier (URI) schemes. It also updates the process and IANA registry for
                URI schemes. It obsoletes both RFC 2717 and RFC 2718. This document specifies an
                Internet Best Current Practices for the Internet Community, and requests discussion
                and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4395" />
          <seriesInfo name="DOI" value="10.17487/RFC4395" />
        </reference>

        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner" />
            <date month="March" year="1997" />
            <abstract>
              <t>In many standards track documents several words are used to signify the
                requirements in the specification. These words are often capitalized. This document
                defines these words as they should be interpreted in IETF documents. This document
                specifies an Internet Best Current Practices for the Internet Community, and
                requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14" />
          <seriesInfo name="RFC" value="2119" />
          <seriesInfo name="DOI" value="10.17487/RFC2119" />
        </reference>
      </references>

      <references>
        <name>Informative References</name>

        <!--<reference
        anchor="draft-burleigh-dtnrg-imc-00"
          target="https://datatracker.ietf.org/doc/html/draft-burleigh-dtnrg-imc-00">
          <front>
            <title>CBHE-Compatible Bundle Multicast draft-burleigh-dtnrg-imc-00</title>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh" />
            <date year="2012" />
          </front>
        </reference>-->
      </references>
    </references>

    <section>
      <name>iac EID CBOR decoding</name>
      <t>
        An iac EID CBOR decoder can reconstruct an ipn EID using the
        following logic. In this description, the term enc_eid refers to the
        CBOR-encoded iac EID, and the term iac_eid refers to the decoded ipn
        EID.
      </t>

      <sourcecode type="cbor" markers="false">
        iac_eid.allocator_identifier := enc_eid[0];
        iac_eid.node_number := enc_eid[1];
        iac_eid.service_number := enc_eid[2];
      </sourcecode>
    </section>

    <section anchor="Acknowledgements" numbered="false">
      <!-- an Acknowledgements section is optional -->
      <name>Acknowledgements</name>
      <t>Special thanks to Scott, Rick et al. The design and specifications of the anycast naming
        scheme were notably influenced and
        inspired by the foundational work on the imc naming scheme created by Scott et al. and the
        ipn scheme and
        subsequent updates by Rick et al.
      </t>
    </section>

    <section anchor="Contributors" numbered="false">
      <!-- a Contributors section is optional -->
      <name>Contributors</name>
      <t>Thanks to all of the contributors.</t>
      <!--<contact
      fullname="Jane Doe" initials="J" surname="Doe">
        https://authors.ietf.org/en/rfcxml-vocabulary#contact-->
      <!-- including contact information for contributors is optional 
          <organization>Acme</organization>
        <address>
          <email>jdoe@example.com</email>
        </address>
      </contact>-->
    </section>

  </back>
</rfc>