<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-birrane-dtn-rel-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="DTNREL">Reliability Considerations for Delay-Tolerant Networks</title>
    <seriesInfo name="Internet-Draft" value="draft-birrane-dtn-rel-00"/>
    <author fullname="Edward J. Birrane, III">
      <organization>JHU/APL</organization>
      <address>
        <email>Edward.Birrane@jhuapl.edu</email>
      </address>
    </author>
    <author fullname="Sabrina Pellegrini">
      <organization>JHU/APL</organization>
      <address>
        <email>Sabrina.Pellegrini@jhuapl.edu</email>
      </address>
    </author>
    <author fullname="Alex White">
      <organization>JHU/APL</organization>
      <address>
        <email>Alex.White@jhuapl.edu</email>
      </address>
    </author>
    <date year="2025" month="October" day="20"/>
    <area>INT</area>
    <workgroup>dtn</workgroup>
    <keyword>Bundle Protocol</keyword>
    <keyword>Delay-Tolerant Networking</keyword>
    <keyword>Reliability</keyword>
    <abstract>
      <?line 59?>

<t>This document provides definitions and concepts related to network reliability as adapted to the Delay-Tolerant Networking (DTN) architecture where there is no presumption of simultaneous end-to-end paths between message sources and destinations.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-birrane-dtn-rel/"/>.
      </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>
    </note>
  </front>
  <middle>
    <?line 63?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Delay-Tolerant Networking (DTN) <xref target="RFC4838"/> defines a networking architecture suitable for operating in environments where network communications are challenged by long signal propagation delays, frequent link disruptions, or both. A defining characteristic of this architecture is the inclusion of a bundling layer implemented by the Bundle Protocol (<xref target="RFC9171"/>), whose protocol data units are termed "bundles".</t>
      <t>The bundle layer has been designed as an overlay that can be span multiple discontinuous underlay networks and provide additional reliability in the form of provided bundle services. This overlay layer can provide end-to-end reliability services, particularly in cases where challenged networking environments make existing underlay networks unreliable.</t>
      <t>While there exist analyses and concepts related to DTN reliability, there is no unifying definition of DTN reliability or how such reliability is or is not enabled through combinations of bundle services (such as store-and-forward operations) and the DTN architecture (such as using reliable underlay networks).</t>
      <t>This document defines reliability terms and concepts associated with bundle services and the DTN architecture.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This section defines terminology that either is unique to DTN reliability or is necessary for understanding the concepts defined in this document.</t>
      <t>Delay-Tolerant Networking (DTN) :: (1) A networking architecture for tolerating expected and unexpected end-to-end delays and disruptions through the use of a networking layer and associated services built for that purpose. (2) Any network instantiation that conforms to the architecture, protocols, and mechanisms of the Delay-Tolerant Networking Architecture. In particular, any network implementing a bundle layer providing BP data units and BP-related services.</t>
      <t>DTN Availability :: The ability to access an ingress into a DTN. The time-varying nature of DTN topology does not require any end-to-end communications for the network to be available to a given user. Any time a user can pass data to the first hop of the DTN, the DTN is considered available for that user.</t>
      <t>DTN Data Durability :: The ability to prevent the loss or corruption of data in the network. This includes the preservation of data when otherwise impacted by failures (node loss, misconfiguration, and other impairments).</t>
      <t>DTN Reliability :: The ability of the DTN to provide consistent, predictable performance. Performance for a DTN is a function of achieving data deadlines (delivering data within the data lifetime) and applying data policies instead of maintaining data throughput rates.</t>
      <t>DTN Resiliency :: The ability of the DTN to recover from interruptions to its main functionality. Since a DTN is, by its nature, delayed and disrupted, resiliency is discussed in terms of DTN availability, durability, and reliability.</t>
    </section>
    <section anchor="motivation-for-dtn-reliability">
      <name>Motivation for DTN Reliability</name>
      <section anchor="an-example-mission-network">
        <name>An Example Mission Network</name>
        <t>Resiliency in the DTN architecture can be reasoned about in the context of a sample network. A useful exemplar network is simple and focused without being so trivial as to avoid capturing network challenges. One such simple, non-trivial network is provided in <xref target="sys-dtn-network"/>.</t>
        <t>The example network consists of three Bundle Nodes (A, B, and C) with Bundle Node A representing a bundle source for some sending application (Sender), through an intermediate Bundle Node B, to the bundle destination at Bundle Node C which delivers the bundle to some receiving application (Receiver).</t>
        <t>Bundle Nodes are connected by two different underlay networks, with Networks 1 and 2 connecting nodes A and B and Networks 3 and 4 connecting nodes B and C. Networks 1 and 3 are considered reliable (meaning that they never lose their data) whereas networks 2 and 4 are considered unreliable.</t>
        <t>Altogether this network is suitable for discussing the end-to-end reliability as a function of characteristics and events present at bundle sources, bundle intermediate nodes, and bundle destinations across both reliable and unreliable networks.</t>
        <figure anchor="sys-dtn-network">
          <name>Exemplar DTN</name>
          <artwork type="ascii-art" align="center"><![CDATA[
 Sender                                          Receiver
---^---                                          ---^---
   |                                                |
+--|-------------+  +-------------------------+  +--|-------------+
|  |  Node A     |  |         Node B          |  |  |  Node C     |
|  |             |  |                         |  |  |             |
|+-v--+   +-----+|  | +----+   +-----+        |  |+-v--+   +-----+|
|| AA |<->| BPA ||  | | AA |<->| BPA |        |  || AA |<->| BPA ||
|+----+   +-----+|  | +----+   +-----+        |  |+----+   +-----+|
|           ^    |  |             ^           |  |           ^    |
|           |    |  |             |           |  |           |    |
|    +------+    |  |   +-----+---+--+-----+  |  |    +------+    |
|    |      |    |  |   |     |     |     |   |  |    |      |    |
|  +-v-+  +-v-+  |  | +-v-+ +-v-+  +-v-+ +-v-+|  |  +-v-+  +-v-+  |
|  |CL1|  |CL2|  |  | |CL2| |CL1|  |CL3| |CL4||  |  |CL4|  |CL3|  |
+--+-^-+--+-^-+--+  +-+-^-+-+-^-+--+-^-+-+-^-++  +--+-^-+--+-^-+--+
     |      |           |     |      |     |          |      |
     |    +-v-----------v-+   |      |   +-v----------v-+    |
     |    |   Network 2   |   |      |   |  Network 4   |    |
     |    |  (Unreliable) |   |      |   | (Unreliable) |    |
     |    +---------------+   |      |   +--------------+    |
     |                        |      |                       |
   +-v------------------------v-+  +-v-----------------------v-+
   |         Network 1          |  |         Network 3         |
   |         (Reliable)         |  |         (Reliable)        |
   +----------------------------+  +---------------------------+

]]></artwork>
        </figure>
        <t>The flow of information provided in <xref target="sys-dtn-network"/> between the network Sender and Receiver can be evaluated to identify various places where faults can occur. Each of the processing boxes in this illustration, from the AA associated with the sender to the AA associated with the Receiver can inject faults or errors in the system.  This includes boxes associated with the "networks".</t>
      </section>
      <section anchor="user-desired-behaviors">
        <name>User-Desired Behaviors</name>
        <t>The primary desire of any network user is the end-to-end exchange of user information across that network in ways compatible with user-expected policies and deadlines. Unchallenged networks that can provide timely end-to-end data exchange imply no other user-desired behaviors than sending and receiving data. In these unchallenged scenarios, user data exists in the network for such a relatively short period of time it precludes user reactions associated with the in-network processing of that data.</t>
        <t>However, within the DTN architecture, user data may exist in the network for extended periods of time - and long enough that senders and received may need to take actions prior to end-to-end data delivery (or prior to receiving the acknowledgement of end-to-end data delivery).</t>
        <t>This section describes four desirable behaviors, as listed below. Achieving these behaviors requires that users make a presumption about the reliability of the network that must be acted upon before confirming that reliability with acknowledged data delivery. To the extent that these behaviors capture user benefits, meeting them should be seen as the goals of any DTN reliability definition.</t>
        <ol spacing="normal" type="1"><li>
            <t>Keep Storage Available</t>
          </li>
          <li>
            <t>Delegate Network Monitoring</t>
          </li>
          <li>
            <t>Extend Platform Life</t>
          </li>
          <li>
            <t>Preserve Data Policies</t>
          </li>
        </ol>
        <section anchor="keep-storage-available">
          <name>Keep Storage Available</name>
          <t>Storage is a limited resource for many devices operating in challenged environments. This may be due to the infrequency of network access, the difficulty of deploying devices in locations without access to regular power, and the cost of developing devices to function in extreme environments, among many other reasons.</t>
          <t>A reliable DTN is one that allows users to manage their limited storage resources as a function of introducing data into the network, rather than confirming the receipt of data across the network. If a user application were able to rely on the fact that a network accepted data in accordance with some guaranteed reliability service, then the application might be comfortable removing that data from its own storage, even before the data cross the network.</t>
          <t>In this way, the delays and disruptions incumbent in operating in challenged environments might not have the same negative impact on user storage as would be the case without reliable delivery.</t>
        </section>
        <section anchor="delegate-network-monitoring">
          <name>Delegate Network Monitoring</name>
          <t>Challenged networks may experience significant topological evolution over time.  This evolution might be based on predicted impairments, such as signal propagation delays, occultation, and power duty cycling. However, this evolution might also be based on unplanned occurrences such as device failures, emergency operating conditions, and unexpected changes to the operating environment.</t>
          <t>Users of these networks expect that any partitioning or other disconnectivity of the network remain hidden from their primary network interfaces and that data policies remain enforced while data is in either active transit or at rest. Unlike timely networks where node loss can be accounted for through over-provisioning resources and path diversity, a challenged environment might need to buffer data when message endpoints exist is separate network partitions.</t>
          <t>The ability for the network to wait on appropriate connectivity without requiring any action from the user is, itself a user-desired behavior. Otherwise, in timely networks, network partitioning is otherwise handled as a network error requiring users to attempt network communications again at a later time.</t>
        </section>
        <section anchor="extend-platform-life">
          <name>Extend Platform Life</name>
          <t>User platforms, especially those harvesting operating energy from their environment, can extend the operational life of their platform and otherwise increase the duty cycles of their platforms, by making more efficient use of their on-board resources. One of the more power-intensive applications on most sensing platforms is a telecommunications system. Keeping telecommunications systems powered and operating to account for delivery acknowledgements, handle retransmissions, and generally to support bi-directional, "chatty" communications protocols can be a significant energy drain on a user platform. For example, the telecommunications system on a deep-space spacecraft can be the single largest energy consumer on that spacecraft.</t>
          <t>A reliable DTN can minimize data retransmissions by removing from the user platform the need to remain the retransmission source for any data generated by that node. Similarly, a DTN can increase the overall goodput of a network by reducing the number of individual messages that would need to be communicated based on the ability of DTNs to carry multiple types of secured information in a single network PDU.</t>
          <t>By allowing more efficient use of telecommunications systems (and the processing, memory, and storage associated with those systems) a reliable DTN can help platforms make more efficient use of resources, extend overall platform life, and minimize the impact of duty cycles for the platform itself (or any components).</t>
        </section>
        <section anchor="preserve-data-policies">
          <name>Preserve Data Policies</name>
          <t>Policy-based traffic engineering allows users to express complex behaviors associated with their data flows, to include which parts of the network may carry data and what network services are to be applied to that data while in transit. This policy enforcement is usually applied at the interface between a user device and some device representing the "edge" of the network.  In cases where data might live within the network long enough for the network to undergo significant topological change, policy expression might need to be examined and applied by more than the network's edge node.</t>
          <t>A reliable DTN is one that not only preserved data transmission during periods of delay and disruption; it will also ensure that data policies remain enforced even when the path through the network changes. This includes determining when user data is no longer considered valid in the network and expiring that data when it is considered stale.</t>
        </section>
      </section>
    </section>
    <section anchor="dtn-architectural-view">
      <name>DTN Architectural View</name>
      <t>The bundle layer is not the only layer presupposed by the DTN architecture and, therefore, not the only layer that has the opportunity to contribute to the overall reliability of the network.  This section provides a brief definition of the layering responsibilities of the DTN architecture, with a focus on the services provided by these layers and the types of faults that can occur at these layers.</t>
      <section anchor="architectural-layers">
        <name>Architectural Layers</name>
        <t>Because the DTN architecture requires a bundling layer, the minimal set of other layers in the architecture comprise it and any additional layers required to support that bundle layer. Generally, this leads to an architectural decomposition of at least four layers, as follows.</t>
        <ol spacing="normal" type="1"><li>
            <t>Application Layer: An application layer that uses bundle layer services for the exchange of application (user) data.</t>
          </li>
          <li>
            <t>Bundling Layer: The bundling layer, implemented by BPAs, providing bundle services.</t>
          </li>
          <li>
            <t>Adaptation Layer: An adaptation layer, implemented by Convergence Layer Adapters (CLAs).</t>
          </li>
          <li>
            <t>Underlay Layer: An underlay network layer providing transmission of bundles between and amongst BPAs.</t>
          </li>
        </ol>
        <t>A simplified layer view, and its mapping to the logical Bundle Node described in <xref section="3.1" sectionFormat="parens" target="RFC9171"/>, is illustrated in <xref target="sys-bundle-node"/>.</t>
        <figure anchor="sys-bundle-node">
          <name>Simplified Bundle Node</name>
          <artwork type="ascii-art" align="center"><![CDATA[
                _
               /     +----------------------+
              /      |     Applications     |
             /       +----------^-----------+
Application /                   |                _
Layer       \    +--------------|---------------+ \
             \   | +------------v-------------+ |  \
              \  | |    Application Agent     | |   \
               \_| +--------------------------+ |   |
               __|              ^               |   |
              /  |              | ADUs          |   |
             /   |              |               |    \
Bundle      /    | +------------v-------------+ |     \  Bundle
Layer       \    | |   Bundle Protocol Agent  | |     /   Node
             \   | +--------------------------+ |    /
              \__|     ^         ^         ^    |   |
              ___|     | BP      | BP      | BP |   |
             /   |     |         |         |    |   |
Adaptation  /    | +---v--+  +---v--+  +---v--+ |   /
Layer       \    | |CLA 1 |  |CLA 2 |  |CLA n | |  /
             \___+-+------+--+------+--+------+-+_/
              ___     ^          ^          ^
             /        |CL1       |CL2       |CLn
Underlay    /         |PDUs      |PDUs      |PDUs
Layer       \     +---v---+  +---v---+  +---v---+
             \___ Network 1  Network 2  Network n

]]></artwork>
        </figure>
        <t>The remainder of this section provides an overview of each of these layers, to include</t>
        <ol spacing="normal" type="1"><li>
            <t>A brief description of layer responsibilities</t>
          </li>
          <li>
            <t>Services expected to be available</t>
          </li>
          <li>
            <t>Faults that may be encountered</t>
          </li>
        </ol>
        <aside>
          <t>TODO: Consider whether metrics by layer is a useful concept to explore here.</t>
        </aside>
      </section>
      <section anchor="application-layer">
        <name>Application Layer</name>
        <t>The application layer consists of the set of entities service as messaging sources and destinations for traffic in the bundle layer. This can include user applications that directly produce and consume bundles as well as bundle proxy applications that aggregate non-bundle user traffic for the purpose of communicating those data as bundles across the bundling layer.</t>
        <t>The design and purpose of applications in this layer are not relevant to the discussion of DTN reliability other than to note that applications must account for longer delays, out of order ADU delivery, and losing expired data. While the DTN architecture mitigates the risks of operating in a challenged networking environment, it does not (and cannot) ensure that (even temporally discontinuous) paths ever exist between a source and destination within some data lifetime.</t>
        <section anchor="relevant-application-services">
          <name>Relevant Application Services</name>
          <t>The only relevant service of the application layer, with respect to DTN reliability, is the exchange Application Data Units (ADUs) with the bundling layer.</t>
          <section anchor="adu-transmission">
            <name>ADU Transmission</name>
            <t>Every application in this layer, either directly or through a proxy, must create an ADU that can be communicated to the bundling layer for the purpose of having that ADU placed into one or more bundles and transmitted across the DTN. In doing so, the application provides information necessary for the creation of the bundle, to include information which either directly identifies or indirectly supports the BPA derivation of, the following information.</t>
            <ol spacing="normal" type="1"><li>
                <t>The destination of the ADU and the application expected to receive it.</t>
              </li>
              <li>
                <t>Any special policy designations that must be honored in the creation or processing of bundles carrying all or part of the ADU.</t>
              </li>
              <li>
                <t>The useful lifetime of the data in the network, after which the data can be deleted.</t>
              </li>
              <li>
                <t>Any security information necessary to validate the identify of the application to the BPA.</t>
              </li>
              <li>
                <t>Any acknowledgements needed to confirm to the BPA that ADUs were successfully received.</t>
              </li>
            </ol>
          </section>
          <section anchor="adu-receipt">
            <name>ADU Receipt</name>
            <t>Every application in this layer, either directly or through a proxy, must also be able to receive ADUs as assembled and communicated from an underlying BPA. In doing so, the application provides information necessary to help a BPA determine how and when ADUs may be delivered, to include information which either directly identifies or indirectly supports the BPA derivation of, the following information.</t>
            <ol spacing="normal" type="1"><li>
                <t>The identification of the application as a destination for ADUs.</t>
              </li>
              <li>
                <t>Any security information necessary to validate the identify of the application to the BPA.</t>
              </li>
              <li>
                <t>Any acknowledgements needed to confirm to the BPA that ADUs were successfully received.</t>
              </li>
            </ol>
          </section>
        </section>
        <section anchor="application-faults">
          <name>Application Faults</name>
          <t>The logical entity within a bundle node that interacts directly with a BPA is known as the Application Agent (AA). The AA acts as intermediary through which Sender and Receiver applications communication with the BPA. Faults related to this mechanism include errors with the exchange of Application Data Units (ADUs) and associated status reporting.</t>
          <t>Beside the clear faults of loss of connection with either the user application or the BPA, the following types of faults can also be encountered:</t>
          <ol spacing="normal" type="1"><li>
              <t>Untrusted Application. Application connections are rejected due to authentication or configuration issues.</t>
            </li>
            <li>
              <t>Malformed Request. The BPA rejects an ADU as a function of policy, implementation limitations, or misconfiguration of metadata associated with the ADU.</t>
            </li>
            <li>
              <t>Offline Application. The AA is unable to deliver an ADU received from a BPA to an application because the application is not online.</t>
            </li>
          </ol>
        </section>
      </section>
      <section anchor="the-bundling-layer">
        <name>The Bundling Layer</name>
        <t>The bundle layer is a unique and defining element of the DTN architecture.  This section describes those bundle services that might increase the overall reliability of the networks where they are implemented.</t>
        <section anchor="relevant-bundling-services">
          <name>Relevant Bundling Services</name>
          <t>The set of services expected to exist in the bundling layer are provided in detail in <xref target="RFC9171"/>. However, certain capabilities of the BPv7 bundle (as a PDU) and the behaviors of a BPA in processing that PDU, enable reliability mechanisms. These services are store-and-forward behaviors, time-variant routing, and PDU extensibility and augmentation.</t>
          <section anchor="in-network-store-and-forward">
            <name>In-Network Store-and-Forward</name>
            <t>The store-and-forward behavior implemented in the bundle layer allows for the option to hold bundles at Bundle Processing Agents (BPAs) in the network. This behavior allows bundles to be communicated across various underlay networks between BPAs and stored at BPAs pending forwarding opportunities or transmission acknowledgements.</t>
            <t>Storage, in this scenario, includes the ability to hold bundles through a reboot or other fault management that might occur at the BPA or any device hosting a BPA. The amount of storage provided by any given BPA is expected to vary as is the access to storage for any given bundle. Generally, how bundles are stored by a BPA is expected to be governed by network management.</t>
            <t>Store-and-forward behaviors increase the reliability of a network in cases where data would otherwise be dropped. The most likely causes of dropped data are instances where a BPA uses an underlay network to carry a bundle to its next BPA and the underlay network drops the data.  It is expected that underlay networks will drop data if the underlay network is either disconnected or unreliable. In these cases, were the BPA to store the bundle, the bundle could later be retransmitted over the same underlay or over a different underlay. In extremely challenged networks that never have simultaneous, end-to-end paths the only option for data delivery is store-and-forward.</t>
          </section>
          <section anchor="time-variant-routing">
            <name>Time-Variant Routing</name>
            <t>There are multiple reasons why a preferred path for a bundle might change over time, including preserving platform resources, increasing operating efficiency, and reacting to dynamic reachability <xref target="RFC9675"/>. In cases where these changes are unplanned, route computation at the bundle layer would neither have knowledge of the instantaneous topology of the network nor understand how the topology might change over time. To the extent that BPAs detect and react to changes in topology over time, the bundle layer will need to reason about (and recalculate) routes over the lifetime of the bundle.</t>
            <t>Time-variant routing behaviors increase the reliability of a network in cases where different paths exhibit different reliability. For example, a time-variant route might be calculated that avoids the use of a currently-available-but-unreliable underlay network connection to wait for a later-available-and-reliable underlay network connection. Alternatively, routes could be selected that mitigate forecasted congestion at BPAs or otherwise select routes that preserve some policy-mandated behavior (such as BPA storage availability).</t>
          </section>
          <section anchor="pdu-extensibility-and-augmentation">
            <name>PDU Extensibility and Augmentation</name>
            <t>BPv7 bundles carry varied information in various bundle block types. Networks may define private-use blocks for annotating bundles resident in their administrative domain and, generally, new standardized block types may be defined through normative standards body actions. In addition to defining new block types, BPAs may add, remove, or update certain extension blocks in a bundle while the bundle is being processed by the BPA. This block processing may happen at BPAs acting as the bundle source, the bundle destination, or any bundle waypoint in the network.</t>
            <t>Extending the information in a bundle through the definition of extension blocks increases the reliability of the bundle in the network because it allows for ways to signal (in-band) reliability information for both the bundle itself and the overall bundle layer. Augmenting existing bundles in the network allows BPAs to react to changes in bundle handling in ways that increase the likelihood for eventual bundle delivery - such as changes to policy, network status, or other processing information that might not have been known at the time of bundle creation.</t>
            <t>The ability of the bundle layer to secure individual blocks individually, as outlined in <xref target="RFC9172"/>, also provides additional reliability in the sense that malicious or misconfigured data could be detected and removed from the bundle layer to avoid congestion or other resource contention for properly credentialed network traffic.</t>
          </section>
        </section>
        <section anchor="bundle-layer-faults">
          <name>Bundle Layer Faults</name>
          <t>The BPA is responsible for creating bundles from a given ADU, delivering ADUs from a received bundle, and otherwise processing bundles that are transiting through the BPA itself. The BPA is the source of any bundle processing related faults as this is the sole logical entity tasked with bundle processing.</t>
          <t>Faults in this area can be organized into creation, processing, and delivery faults.</t>
          <section anchor="bundle-creation">
            <name>Bundle Creation</name>
            <t>Faults related to bundle creation impact the AA requesting bundle creation. This includes both application-based senders as well as the creation of administrative bundles from the administrative element with the AA. BPA faults preventing the creation of a bundle include the following:</t>
            <ol spacing="normal" type="1"><li>
                <t>Malformed bundle. Bundle would violate some configured limits or policies and cannot be created.</t>
              </li>
              <li>
                <t>Incomplete Information. The AA provided insufficient information to create the bundle, such as malformed destinations.</t>
              </li>
              <li>
                <t>Untrusted AA. The AA is not validated as able to request bundle creation.</t>
              </li>
              <li>
                <t>Unsupported Services. The BPA is unable to provide the services necessary for processing the bundle.</t>
              </li>
            </ol>
          </section>
          <section anchor="bundle-processing">
            <name>Bundle Processing</name>
            <t>Processing, in this context, refers to all actions taken by a BPA at a source BPA, some intermediate BPA, or destination BPA.</t>
            <t>This processing happens after creation of the bundle at a source, after reception of a bundle from the adaptation layer, before sending the bundle to a next hop using the adaptation layer, and before delivering the ADU of a bundle to the AA at the destination node.</t>
            <t>Categories of faults related to bundle processing include the following.</t>
            <ol spacing="normal" type="1"><li>
                <t>Resource Exhaustion.  Bundles might be kept at a node longer than expected due to lack of available, appropriate next hops.</t>
              </li>
              <li>
                <t>Bundle Mangling. Due to policy or other mis-configuration, bundles may have extension blocks or other modifications that make them difficult or impossible to process downstream. This includes errors related to incorrect fragmentation or application of security.</t>
              </li>
              <li>
                <t>Platform Error Loss. Bundles might be removed from the node unexpectedly due to implementation error or technical fault on the BPA itself - to include the loss of the BPA or the loss of the processing node.</t>
              </li>
              <li>
                <t>Bundle Duplication. Implementation errors in a BPA might result in the creation of bundles that violate rules for uniqueness in the primary block. This can happen, for example, on systems where clocks are being manipulated or where sequence counters/nonces are reset.</t>
              </li>
              <li>
                <t>Wrong CLA. A BPA might transmit/forward a bundle using an inappropriate CLA, as a function of mis-configuration or other error on the BPA.</t>
              </li>
              <li>
                <t>Unsupported Service Loss. A special case of bundle loss where elements of a bundle cannot be processed by a BPA and the BPA drops the bundle due to bundle processing flags.</t>
              </li>
              <li>
                <t>Extension Processing Loss. The bundle contains extension blocks that are in violation of BPA policy, or otherwise cause extension blocks or the bundle itself to be removed from the network.</t>
              </li>
            </ol>
          </section>
          <section anchor="bundle-delivery">
            <name>Bundle Delivery</name>
            <t>Delivery, in this context, applies to any bundle processing that occurs at the destination BPA of a bundle. Destination processing represents a slightly different circumstance than other bundle processing because it involves resources and status exchange local to the node that is also running the AA.</t>
            <t>In addition to the regular faults that can occur as part of bundle processing, the following types of faults are unique to the delivery process.</t>
            <ol spacing="normal" type="1"><li>
                <t>Reassembly Failure. A deliverable ADU cannot be extracted from a series of bundles each holding ADU fragments. This is separatye from issues reassembling a bundle up to the bundling layer from the adaptation layer.</t>
              </li>
              <li>
                <t>ADU Handoff Loss. The BPA is unable to send an ADU to an AA. This can happen if the AA cannot resolve the service/application that is the recipient of the ADU, or if the AA generally rejects the ADU as a matter of policy or configuration.</t>
              </li>
            </ol>
          </section>
        </section>
      </section>
      <section anchor="the-adaptation-layer">
        <name>The Adaptation Layer</name>
        <t>The BPv7 specification describes "Services Required of the Convergence Layer" <xref section="7" sectionFormat="parens" target="RFC9171"/> in which the "Convergence Layer" is defined only as "underlying protocols" accessed via a "Convergence Layer Adapter" (CLA).  This definition can blur understanding between a convergence adapter, a convergence layer stack, and the protocols implemented within some supporting underlay network.</t>
        <t>To clarify the differences in responsibilities between the bundling layer and an underlay networking layer, we propose the adaptation layer as a layer devoted to the implementation of convergence layer adapters, protocol stacks, and associated services. A simplified view of these elements is illustrated in <xref target="sys-adapter-ex"/> and discussed further below.</t>
        <figure anchor="sys-adapter-ex">
          <name>Adapters and Protocol Stacks</name>
          <artwork type="ascii-art" align="center"><![CDATA[
 +---------------------------+
 |   Bundle Protocol Agent   |
 +---------------------------+
     ^          ^         ^
     |          |         |
     v          v         v
 +-------+  +-------+  +-------+  Convergence
 | CLA 1 |  | CLA 2 |  | CLA 3 |  Layer Adapter(s)
 +-------+  +-------+  +-------+
     |          |          |
 +-------+  +-------+  +-------+  Convergence
 | CLP 1 |  | CLP 2 |  | CLP 3 |  Layer
 +-------+  +-------+  +-------+  Protocol
 | CLP 2 |      ^      | CLP 1 |  Stacks
 +-------+      |      +-------+
     ^          |          |
     |          |          |
     v          v          v
 +-------------------------------+
 |   Underlay Network Protocol   |
 +-------------------------------+

]]></artwork>
        </figure>
        <t>A Convergence Layer Protocol (CLP) is one that exists between a BPA and an underlay network and has the responsibility of communicating between the two. Importantly, a CLP is not considered part of the underlay networking stack in the same way that a CLP is not considered part of the bundle protocol or the bundling layer.</t>
        <t>CLPs (and the adaptation layer) exist to provide services for the bundling layer in cases where a particular underlay network stack might not provide those services. To that end, it might be the case that multiple CLPs are used together to form a Convergence Layer Protocol Stack (CLPS) and that distinct CLPS's might exist depending on which underlay network is being used and which types of data handling services are request by the bundling layer.</t>
        <t>A Convergence Layer Adapter (CLA) is an application that prepares bundles received from a BPA for transmission over some CLPS. The BPA only ever reasons about its interface to its CLA and the properties of the CLPS behind that CLA. Therefore, from the perspective of the BPA, the depth of the CLPS is less relevant then the overall capabilities and characteristics of the CLPS. For example, a BPA may select a CLPS based on whether the protocols in those stacks implement their own reliability, in-order delivery, and what metrics and management information might be available related to the performance of the protocols in that stack. Based on the "top" protocol in the CLPS, an appropriate CLA can be selected to then communicate bundles to and from that CLPS.</t>
        <section anchor="relevant-adaptation-services">
          <name>Relevant Adaptation Services</name>
          <t>There are three convergence layer services outlined by the BPv7 specification <xref section="7.2" sectionFormat="parens" target="RFC9171"/>:
1. Sending a bundle
1. Notifying the BPA upon the disposition of data-sending procedures
1. Delivering a bundle</t>
        </section>
        <section anchor="adaptation-faults">
          <name>Adaptation Faults</name>
          <t>Faults that can occur in this layer include the following:</t>
          <ol spacing="normal" type="1"><li>
              <t>Malformed Bundle CLA Rejection. The CLA might refuse to accept a bundle that is malformed.</t>
            </li>
            <li>
              <t>Policy-Induced CLA Rejection. A CLA might refuse to accept a bundle as a function of its own policy, such as if the bundle exceeds maximum sizes, uses EID schemes unknown to the CLA, or includes sources or destinations unknown or unsupported by the CLA. This might also include cases where the BPA and CLA are unable to establish trust/authentication mechanisms between them.</t>
            </li>
            <li>
              <t>CL Processing Loss. The CL stack might fail to encapsulate a bundle as it processes through a CL stack. This may be due to mis-configurations or policy violations of the individual CLPs in the CL stack, malformations due to implementation errors in any implementation of the CLAs in that stack, or general errors or loss of the platform(s) implementing these CLAs and CLPs. This loss may happen both when sending or receiving bundles through the CL.</t>
            </li>
            <li>
              <t>Network Rejection. The CL may fail to transmit the adapted bundle if the underlying network rejects the adapted bundle for any reason.</t>
            </li>
          </ol>
        </section>
      </section>
      <section anchor="the-underlay-layer">
        <name>The Underlay Layer</name>
        <t>Any network capable of transmitting BPv7 PDUs (or portions of BPv7 PDUs carried in CLP PDUs) can act as an underlay network for the purpose of communicating bundles between two or more BPAs. There are no restrictions on the types of underlay networks that can be used, and there is no restriction that such underlay networks only implement specific features or functions.  Part of the power of DTN as an overlay across heterogeneous networks lies in its ability to work across vastly dissimilar underlay networks.</t>
        <t>For example, all of the following may be considered underlay networks within the DTN architecture.</t>
        <ol spacing="normal" type="1"><li>
            <t>The terrestrial Internet.</t>
          </li>
          <li>
            <t>A single hop between a transmitter and a receiver (such as between a spacecraft and a ground station).</t>
          </li>
          <li>
            <t>A CCSDS constellation network using only framing protocols.</t>
          </li>
        </ol>
        <section anchor="relevant-underlay-services">
          <name>Relevant Underlay Services</name>
          <t>Individual underlay networks may support a large number of network services and associated service level agreements. From the perspective of DTN reliability, certain characteristics of the underlay network are more important when selecting which underlay network should be used for transmission and which services from the bundling and adaptation layers may need to be relied upon to cover gaps in underlay network services.</t>
          <ol spacing="normal" type="1"><li>
              <t>The overall security of the underlay.</t>
            </li>
            <li>
              <t>The reliability (to include resiliency and availability) of the network</t>
            </li>
            <li>
              <t>Features such as delivery acknowledgements and in-order delivery</t>
            </li>
          </ol>
        </section>
        <section anchor="underlay-faults">
          <name>Underlay Faults</name>
          <t>Several faults can occur at this layer while trying to communicated between two BPAs. From the point of view of the network, CLPs containing portions of a bundle are simply network traffic. Therefore, the faults associated with the underlay network are faults associated with any of its network traffic and not specific to the fact that the traffic includes bundle information. These faults include the following.</t>
          <ol spacing="normal" type="1"><li>
              <t>Lost traffic. The network loses traffic for a variety of reasons, to include use of non-reliable architectures, links, or protocols otherwise hidden from the BP layer. This can also include loss of network components necessary for network data exchange.</t>
            </li>
            <li>
              <t>Unexpected traffic delay. Network traffic is delivered, but over a longer time period due to delays caused by retransmissions, security or other round-trip exchanges, or as a function of priority/service priority for the network.</t>
            </li>
            <li>
              <t>Traffic Corruption. Traffic is received but corrupted due to processing while in the network. This includes both intentional and unintentional sourced of data corruption. Corrupted traffic might lead to traffic loss when the corruption is detectable and unrecoverable.</t>
            </li>
            <li>
              <t>Improper delivery. At a receiving network node, traffic might be incorrectly delivered to the CL responsible for extracting a bundle which would cause the bundle to never be sent to a BPA.</t>
            </li>
          </ol>
        </section>
      </section>
    </section>
    <section anchor="dtn-reliability">
      <name>DTN Reliability</name>
      <t>The most important characteristic of a network is that it can be relied upon to communicate user data within performance, security, timelines, and other user requirements. The overarching networking characteristic capturing this behavior is the reliability of the network. Any operational network needs to be reliable with respect to network-specific and user-specific requirements.</t>
      <aside>
        <t>NOTE: Even best-effort networks can be seen as reliable with respect to user requirements for data delivery. For example, reliability can be asserted by specific data handling at a source node, using physical layers that reduce per-hop data loss, sending duplicates of user data, and other strategies.</t>
      </aside>
      <t>Reliability is not an absolute characteristic of a network for two reasons. First, it is defined and applied in the context of network users and their associated data requirements. Therefore, no one set of network behaviors might be "reliable" for all users. Second, as a practical matter, pathological topologies, error conditions, or other issues can be encountered that impede networked data exchange. Therefore, reliability is often considered in the context of some set of supported operating conditions.</t>
      <t>One way to describe this nuanced view of reliability is to consider other network characteristics that contribute to the overall ability to exchange user data. These other characteristics include network resiliency, availability, and durability.</t>
      <t>The concept of reliability in a DTN needs to be defined in a way that is independent of end-to-end latency.</t>
      <section anchor="reliability-definitions">
        <name>Reliability Definitions</name>
        <section anchor="resiliency">
          <name>Resiliency</name>
          <t>Network resiliency is the extent to which a network continues to function in a variety of operating conditions. Networks with little resiliency may operate effectively well within nominal operating conditions, but rapidly fail as the environment changes, such as due to component failures, attacks, user congestion, and other impairments.</t>
          <t>Inherent in any networking design is an analysis of the potential operating conditions through which a network is expected to function. Not every network is expected to operate in every operating condition, simply as a matter of practicality. Mechanisms for achieving resiliency are numerous, and include designing redundancy and diversity into the networking architecture, increasing the number and performance of networking devices, and deploying various data, management, and control protocols and associated algorithms.</t>
          <t>Defining resiliency as tolerance for operating conditions provides a useful way to assess proposed resiliency mechanisms.</t>
        </section>
        <section anchor="availability">
          <name>Availability</name>
          <t>Network availability is the extent to which the network is able to accept user traffic. Networks with little uptime may only be able to accept user traffic at specific times or under specific conditions. Networks with little availability may be both resilient and reliable during those periods of availability.</t>
          <t>Availability can be defined both as an absolute measure or relative to known usage patterns. Absolute availability (often measured through network uptime) is used when user traffic is omnipresent or otherwise when user traffic patterns are unknown but possible at any time. Relative availability is used when it is understood that user traffic will not exist at certain periods, or when the network itself undergoes planned downtime.</t>
          <aside>
            <t>NOTE: This definition of availability intentionally omits the transmission or exchange of user traffic. From a user perspective, the network is available when it accepts user traffic, even if the network itself does not transmit that traffic.</t>
          </aside>
        </section>
        <section anchor="data-durability">
          <name>Data Durability</name>
          <t>Network data durability is the extent to which information in the network is protected from recoverable errors, such as data corruption. Networks will little data durability may be resilient and available, but if data is corruptible either during transmission or when being processed in the network, it will not be durable.</t>
          <aside>
            <t>NOTE: Data durability includes decisions such as whether to delete in-network user traffic such as occurs during times of congestion, link loss, and other similar events. If user data is deleted in the network as a result of transient network conditions then the data does not have durability.</t>
          </aside>
          <t>Durability, as defined here, encompasses concepts of data integrity which may or may not be tied to data security. Where data integrity involves the ability to detect and possibly preserve data from corruption in the network and data security including mechanisms for implementing integrity using cryptographic means.</t>
        </section>
      </section>
      <section anchor="reliability-signaling">
        <name>Reliability Signaling</name>
        <t>Network reliability (and associated characteristics) are always considered in the context of network user outcomes. For networks purpose-built for a particular user community there is a direct correlation between network characteristics and user needs. For networks with diverse users, network characteristics are associated with user traffic through network configurations and policies. Therefore, discussions about what mechanisms are needed to implement what levels of reliability (and thus resiliency, availability, and durability) need to occur in the context of what user outcomes need to be preserved.</t>
        <t>A common approach to providing these indicators is to build networks whose end-to-end latency are smaller than the timing requirements for providing indicators back to the user. In such cases, the success (or failure) of a given data exchange can be reported with certainty as it has already happened.</t>
        <t>This approach cannot be used in networks conforming to the DTN architecture because the expected operating conditions of the network cannot guarantee end-to-end latency smaller than user timing requirements. Instead, DTNs might need to provide user indicators based on processing at the source node itself, and without an understanding of end-to-end performance across the DTN.</t>
        <t>This section defines user expectations of indicators and subsequent sections describe how these indicators may be different in the context of DTN deployments.</t>
        <t>Expected user outcomes take the form of indicators provided by the user to the network (and confirmed by the network to the user). Some indicators that impact decisions relating to network reliability include the following.</t>
        <ol spacing="normal" type="1"><li>
            <t>Expected services and user mapping</t>
          </li>
          <li>
            <t>Traffic acceptance and rejection</t>
          </li>
          <li>
            <t>Delivery acknowledgements</t>
          </li>
        </ol>
        <section anchor="expected-services-and-user-mapping">
          <name>Expected Services and user mapping</name>
          <t>User expectations for services are often captured in various agreements between user communities and network operators. These often take the form of Service Level Agreements (SLAs) where services are pre-negotiated as part of supporting user traffic in a network. In situations where a network is custom-built for a user community, these services may simply be as designed into the network architecture. In situations where networks service multiple users, this may be negotiated dynamically.</t>
          <t>Networks need to provide a way to map users to their expected service agreements, and may need to indicate to users that their traffic has been accepted at the expected service level.</t>
        </section>
        <section anchor="traffic-acceptance-and-rejection">
          <name>Traffic acceptance and rejection</name>
          <t>User traffic, when provided to the network, needs to be either accepted or rejected, and users may expect to be informed of both.</t>
          <t>User data is usually accepted by the network if it can be associated with a known user, if the network is known to be in an operational state, and if there exists knowledge that the user data can be communicated over the network within various user requirements. Signaling acceptance is often an implementation matter (e.g. through the programming interfaces by which user traffic is presented to the network).</t>
          <t>User data is rejected by the network whenever it cannot be accepted. These often occurs for reasons such as failing to authenticate the user traffic or match it to known user service requirements, situations where the network is not operating, or otherwise when there is no known path to the user traffic destination. Similar to acceptance, how rejection is communicated to the user is an implementation matter, but often includes some reason for the rejection.</t>
          <t>These indicators are important, as rejection of user traffic from a reliable network requires some action by the user. Therefore, signaling acceptance and rejection in a timely manner is important for many application operational concepts.</t>
        </section>
        <section anchor="delivery-acknowledgements">
          <name>Delivery acknowledgements</name>
          <t>In certain cases positive acknowledgements (ACKs) or negative acknowledgements (NACKs) are expected by users from the network for certain types of traffic. This is separate from application space protocols that exchange request-response messages above the scope of the networking layer.</t>
          <t>These acknowledgements are usually reserved for critical information flows.</t>
        </section>
      </section>
      <section anchor="reliability-and-layering">
        <name>Reliability and Layering</name>
        <t>The reliability of the DTN architecture does not come from a single layer and, therefore, it <bcp14>SHOULD NOT</bcp14> be the case that a single layer account for every possible reliability consideration. The total set of services available across the application, bundling, adaptation, and underlay network layers form a vast set of capabilities from which network engineers, architecture, and operators can select to build networks appropriate for their deployment environments.</t>
        <t>This section summarizes how each of these types of reliability mechanism can increase the reliability of the DTN architecture when viewed from the perspective of a given layer.</t>
        <section anchor="in-band-exchanges">
          <name>In-Band Exchanges</name>
          <t>In-band reliability information consists of diagnostic information exchanges with other peers at a particular layer in a network. In this viewpoint, in-band refers to the fact that diagnostic information is exchanged within the particular network layer, not that it must all be exchanged by a single protocol operating at that layer.</t>
          <t>The content of diagnostic information varies as a function of mechanism, but common types of such information include the following.</t>
          <ol spacing="normal" type="1"><li>
              <t>Acknowledgements (ACKs) indicating delivery of one or more messages.</t>
            </li>
            <li>
              <t>Negative acknowledgements (NAKs) indicating missing messages.</t>
            </li>
            <li>
              <t>Statistics relating to number of bytes of messages delivered.</t>
            </li>
            <li>
              <t>General health of sessions exchanging messages that are encrypted or otherwise opaque.</t>
            </li>
          </ol>
        </section>
        <section anchor="out-of-band-exchanges">
          <name>Out-Of-Band Exchanges</name>
          <t>Separate from reliability information that comes from other peers within a given layer, information can be communicated across layer "boundaries" in the form of out-of-band information. The types of out-of-band information that can inform reliability mechanisms include the following.</t>
          <ol spacing="normal" type="1"><li>
              <t>Configuration and policy updates from operations and orchestration entities that consider cross-layer and other inputs.</t>
            </li>
            <li>
              <t>Information provided from the management and control planes of protocols operating at other layers. This includes metrics, acknowledgements, and other signaling from different layers in the architecture.</t>
            </li>
            <li>
              <t>Backpressure and other data plane information from other layers as a function of cross-layer data exchange</t>
            </li>
          </ol>
        </section>
        <section anchor="delegation">
          <name>Delegation</name>
          <t>In cases where there is implicit trust associated with a given integrated platform, it is possible that no positive reliability signaling is needed beyond (optional) indications that data was received by another layer in the network architecture. For example, it may be the case that if data is accepted by a lower layer (without rejection or negative acknowledgement) that the data is presumed to be handled in accordance with the capabilities of the accepting layer, without additional in-band or out-of-band signaling.</t>
        </section>
      </section>
    </section>
    <section anchor="custodial-behaviors">
      <name>Custodial Behaviors</name>
      <t>Custodial behaviors are the set of actions which permit the transfer of responsibility for retransmitting a message at intermediate nodes or “custodians” in a network. A custodian is the node or hop that acquires the responsibility to ensure data delivery. Simply put, a node source transmits data to a next hop that accepts custody of the data, thereby becoming the new custodian for that data. This means that the original data source may go offline, and data will be retransmitted from the new custodian. By allowing for these behaviors, the reliability of data exchange across a network increases.</t>
      <t>There are two primary enabling custodial behaviors:
1.      Storing a bundle.
2.      Releasing a bundle when release conditions are met.</t>
      <t>A custodian must be capable of storing a bundle until the data is expired, the data is delivered, or the custodian is relieved of its custodial duties. A custodian must then also recognize the conditions to be relieved and release or delete the bundle accordingly. For this release to happen, the current custodian must receive a signal of acknowledgement from the new custodian. Depending on the network, the number of signals required for release may vary. For example, if a network is set up to provide multiple, parallel custodians at one time, a custodian may not release bundles from storage until a certain number of new custodians have acknowledged responsibility. This minimum required number of acknowledged custodians is abbreviated as “MAD” below.</t>
      <t>Due to the variable levels of reliability that may exist across a given network, networks can be categorized by the different reliability classes defined in the next section.</t>
    </section>
    <section anchor="reliability-classes">
      <name>Reliability Classes</name>
      <t>Because DTNs will vary in their individual complexity and requirements, not all DTNs need the same levels of reliability, and consequently, custodial behaviors. Some data service needs will require end-to-end reliability, more complexity, more resource utilization, or more mission support than others. Missions will need to determine which mission-impacting behaviors need to be realized for which data flows in a mission and decide which custodial services best suit their networks. Allocating these options into different "reliability classes" provides a natural way to express these needs within the service agreement construct already used in terrestrial networks to map user expectations to network mechanisms. These classes are defined below based on three characteristics which stem from the inherent reliability mechanisms in DTN-based protocols (specifically BPv7) and the custodial behaviors listed above.</t>
      <t>The following characteristics are used to summarize a reliability class:
1. Minimum required number of acknolwedged custodians necessary for data release (MAD).
2. Ability to store a bundle until there is an egress link (SAB). This value is TRUE or FALSE.
3. Ability for the destination node to hold data until the ADU is delivered (HAD). This value is TRUE or FALSE.</t>
      <t>The following section defines four classes of reliability services selectable by missions in the context of a mission-data-specific service agreement. These classes are enumerated (0-3).
## Definitions</t>
      <section anchor="class-0-no-bp-reliability">
        <name>Class 0 No BP reliability</name>
        <t>The class 0 custodial service expressly prohibits the use of store-and-forward or associated custodial behaviors for any traffic associated with this service. Defining a service class for the sole purpose of prohibiting reliability is useful because it allows network nodes to short-circuit a variety of evaluations associated with data storage, buffer management, security processing, time-variant route computations, and other policy-based considerations.</t>
        <t>IPN nodes may treat this type of data in the same way as terrestrial routers treat data: data in this class can be delivered, forwarded, or dropped.  Even when using BPv7 bundles.</t>
        <t>Missions benefit from this class of service in a variety of ways, such as:</t>
        <ol spacing="normal" type="1"><li>
            <t>Data associated with this class of service may be provided at a lower cost to missions.</t>
          </li>
          <li>
            <t>Overall mission throughput may be faster through a network because the network applies less inspection on the data, with less need to process storage.</t>
          </li>
          <li>
            <t>Mission assets will not need to wait for the network to acknowledge that data have been accepted.</t>
          </li>
        </ol>
        <t>Key summary of Class 0:</t>
        <ul spacing="normal">
          <li>
            <t>MAD = 0 (no custodial behaviors)</t>
          </li>
          <li>
            <t>SAB = FALSE</t>
          </li>
          <li>
            <t>HAD = FALSE</t>
          </li>
        </ul>
        <section anchor="class-1-best-effort-retention">
          <name>Class 1 Best Effort Retention</name>
          <t>The class 1 reliability service provides a best-effort, store-and-forward delivery of data similar to that described in BPv7. In this class of service, IPN nodes will accept data and buffer them within some constraints as a function of in-band and out-of-band policy waiting for an appropriate next transmission of the data.</t>
          <t>Within this class of services, the MAD variable is 0. In other words, there is no acknowledgement required by a node for the release of a bundle from its storage because there are no custodians. Instead, the term retention in this reliability class implies the persistence of user data at a node if necessary for the transmission of data to its next hop. This means the SAB (storing a bundle) parameter is set to TRUE.</t>
          <t>For example, when data is received by a node, a determination is made as to whether the data can be immediately transmitted or not. If data can be immediately transmitted, then there is no need to store it, and it can be sent directly to a transmitter.  Alternatively, if it can't be immediately transmitted, the node will need to determine if there is storage available.  If so, it can be stored pending a future transmission opportunity.  If there is no storage, or if a bundle expires or is otherwise expunged from storage, then the bundle will be lost.</t>
          <t>Key Summary of Class 1:</t>
          <ul spacing="normal">
            <li>
              <t>MAD = 0 (no custodial behaviors)</t>
            </li>
            <li>
              <t>SAB = TRUE</t>
            </li>
            <li>
              <t>HAD = TRUE or FALSE pending customer requirements</t>
            </li>
          </ul>
        </section>
        <section anchor="class-2-guaranteed-custodian">
          <name>Class 2 Guaranteed Custodian</name>
          <t>The class 2 reliability service provides the guarantee that there exists, within the network itself, at least one node configured to serve as a custodian of data.  The implication for this class of service is that, unlike the best-effort retention of a Class 1 service, the network will provide storage. The amount and nature of storage provided by the network is expected to be customized to individual mission data flows.</t>
          <t>The way in which a network provides this guarantee is expected to be opaque to the network user, but generally there is some serialized order in which one or more nodes will accept custody of data as it works its way through the network. This might mean that there exists only one node in the network that is configured to serve as a custodian, or it might mean that networks may implement progressively updating custodians along a user data path, where each hop in the network is configured to serve as a custodian. Alternatively, it is possible that network service orchestration tools choose common custodians as a function of shared destinations, where the network defines certain nodes as custodians as a function of topological significance, available storage, or other policy inputs. This implies the data paths can go through any part of the network between custodians as necessary. In all of these cases, class 2 describes a scenario where a custodian must only receive one acknowledgement from a new cusotidian to release stored data and be relieved of its custodial duties (MAD = 1). It does not assume there are parallel paths and parallel custodians for increased reliability.</t>
          <t>Additionally, in each of these example cases, the user source and destination nodes do not require knowledge of how or where custodians are placed on a network.</t>
          <t>Key Summary of Class 2:</t>
          <ul spacing="normal">
            <li>
              <t>MAD = 1</t>
            </li>
            <li>
              <t>SAB = TRUE</t>
            </li>
            <li>
              <t>HAD = TRUE or FALSE pending customer requirements</t>
            </li>
          </ul>
        </section>
        <section anchor="class-3-redundant-network-custody">
          <name>Class 3 Redundant Network Custody</name>
          <t>The class 3 reliability service provides a guarantee that the network will assign multiple, parallel custodians within the network so that if there is an issue with a single custodian, data may still be able to be delivered within its lifetime and other policy constraints.</t>
          <t>There are a variety of reasons why a particular path or single custodian might not deliver data for a particular mission, including the following.</t>
          <t><strong>1. Custodian Loss:</strong> Space remains a harsh environment, and space-based custodians may be located in spacecraft or other assets that experience catastrophic failure. If a single custodian in the network fails, then all untransmitted data on that custodian is lost.</t>
          <t><strong>2. Network Partition:</strong> The time-variant nature of interplanetary topologies can be unpredictable, especially when nodes in the network experience recoverable errors or other unplanned outages. When this occurs, a custodian may be isolated or disconnected from the rest of the network for a long enough period that the stored data expires and is removed from the node.</t>
          <t><strong>3. Configuration Changes:</strong> Changes to configurations at a custodian (to include misconfigurations) can introduce processing errors, especially as they relate to the security processing of the data. Additionally, policy changes may impose policy-based routing and retention decisions on a node that can result in loss of retained data.</t>
          <t>In these cases (and many others), very critical data can be lost if there is only a single custodian for data at a time. To increase the likelihood of successful data transfer, parallel custodians can be required such that a user source node would need to receive confirmation that two or more custodians have actively accepted user data prior to removing those data from the user source (MAD = 2+).</t>
          <t>Key Summary of Class 3:</t>
          <ul spacing="normal">
            <li>
              <t>MAD = 2+</t>
            </li>
            <li>
              <t>SAB = TRUE</t>
            </li>
            <li>
              <t>HAD = TRUE or FALSE pending customer requirements</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="tracing-of-classes-to-faults">
        <name>Tracing of Classes to Faults</name>
        <t>Understanding both the potential network faults and reliability classes allows users to also understand which types of faults may be avoidable or mitigated through particular reliability mechanisms within each class. This is shown in <xref target="faults-to-classes"/> below, which traces the aforementioned network faults with the reliability class(es) with the potential to mitigate those faults.</t>
        <figure anchor="faults-to-classes">
          <name>Layer Faults to Reliability Classes</name>
          <artwork type="ascii-art" align="center"><![CDATA[
+----------------------------------+-----------------------------------+
|       Type of Fault              |  Reliability  | Additional        |
|                                  |   Class       | Comments          |
+----------------------------------+-----------------------------------+
| AA Faults:                       | No Class      |                   |
| Untrusted Application            |               |                   |
+----------------------------------+-----------------------------------+
| AA Faults:                       | No Class      |                   |
| Malformed Request                |               |                   |
+----------------------------------+-----------------------------------+
| AA Faults:                       | Class 2-3     |                   |
| Offline Application              |               |                   |
+----------------------------------+-----------------------------------+
| BPA Faults:                      | No Class      |                   |
| Malformed Bundle                 |               |                   |
+----------------------------------+-----------------------------------+
| BPA Faults:                      | No Class      |                   |
| Incomplete Information           |               |                   |
+----------------------------------+-----------------------------------+
| BPA Faults:                      | No Class      |                   |
| Untrusted AA                     |               |                   |
+----------------------------------+-----------------------------------+
| BPA Faults:                      | No Class      |                   |
| Unsupported Services             |               |                   |
+----------------------------------+-----------------------------------+
| BPA Faults:                      | Maybe Class 1 | Class 1 if node is|
| Resource Exhaustion              | Class 2-3     | not full          |
+----------------------------------+-----------------------------------+
| BPA Faults:                      | Class 2-3     | If error not at   |
| Bundle Mangling                  |               | custodian         |
+----------------------------------+-----------------------------------+
| BPA Faults:                      | Class   2-3   | If error not at   |
| Platform Error Loss              |               | custodian         |
+----------------------------------+-----------------------------------+
| BPA Faults:                      |  No Class     |                   |
| Bundle Duplication               |               |                   |
+----------------------------------+-----------------------------------+
| BPA Faults:                      | Class 2-3     |                   |
| Wrong CLA                        |               |                   |
+----------------------------------+-----------------------------------+
| BPA Faults:                      | Class   2-3   | Only if retransmi-|
| Unsupported Service Loss         |               | ssion takes diff- |
|                                  |               | erent path        |
+----------------------------------+-----------------------------------+
| BPA Faults:                      | Class   2-3   | Only if retransmi-|
| Extension Processing Loss        |               | ssion takes diff- |
|                                  |               | erent path        |
+----------------------------------+-----------------------------------+
| BPA Faults:                      | No Class      |                   |
| Reassembly Failure               |               |                   |
+----------------------------------+-----------------------------------+
| BPA Faults:                      | Class 2-3     | Only if error or  |
| ADU Handoff Loss                 |               | handoff is time   |
|                                  |               | dependent.        |
+----------------------------------+-----------------------------------+
| CLA Faults:                      | No Class      |                   |
| Malformed Bundle, CLA Rejection  |               |                   |
+----------------------------------+-----------------------------------+
| CLA Faults:                      | Class 2-3     | If retransmission |
| Policy-Induced CLA Rejection     |               | takes different   |
|                                  |               | path              |
+----------------------------------+-----------------------------------+
| CLA Faults:                      | Class 2-3     | Only for certain  |
| CL Processing Loss               |               | errors like loss  |
|                                  |               | of platform       |
+----------------------------------+-----------------------------------+
| CLA Faults:                      | Class 2-3     | If retransmission |
| Network Rejection                |               | or parallel path  |
|                                  |               | avoid rejection   |
+----------------------------------+-----------------------------------+
| Underlay Faults:                 | Class 2-3     |                   |
| Lost Traffic                     |               |                   |
|                                  |               |                   |
+----------------------------------+-----------------------------------+
| Underlay Faults:                 | Class 3       | Parallel paths    |
| Unexpected Traffic Delay         |               | may result in     |
|                                  |               | faster delivery.  |
+----------------------------------+-----------------------------------+
| Underlay Faults:                 | Class 2-3     | Retransmission or |
| Traffic Corruption               |               | parallel paths may|
|                                  |               | avoid corruption  |
+----------------------------------+-----------------------------------+
| Underlay Faults:                 | Class 2-3     |                   |
| Improper Delivery                |               |                   |
|                                  |               |                   |
+----------------------------------+-----------------------------------+

]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9171">
          <front>
            <title>Bundle Protocol Version 7</title>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh"/>
            <author fullname="K. Fall" initials="K." surname="Fall"/>
            <author fullname="E. Birrane, III" initials="E." surname="Birrane, III"/>
            <date month="January" year="2022"/>
            <abstract>
              <t>This document presents a specification for the Bundle Protocol, adapted from the experimental Bundle Protocol specification developed by the Delay-Tolerant Networking Research Group of the Internet Research Task Force and documented in RFC 5050.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9171"/>
          <seriesInfo name="DOI" value="10.17487/RFC9171"/>
        </reference>
        <reference anchor="RFC9675">
          <front>
            <title>Delay-Tolerant Networking Management Architecture (DTNMA)</title>
            <author fullname="E. Birrane, III" initials="E." surname="Birrane, III"/>
            <author fullname="S. Heiner" initials="S." surname="Heiner"/>
            <author fullname="E. Annis" initials="E." surname="Annis"/>
            <date month="November" year="2024"/>
            <abstract>
              <t>The Delay-Tolerant Networking (DTN) architecture describes a type of challenged network in which communications may be significantly affected by long signal propagation delays, frequent link disruptions, or both. The unique characteristics of this environment require a unique approach to network management that supports asynchronous transport, autonomous local control, and a small footprint (in both resources and dependencies) so as to deploy on constrained devices.</t>
              <t>This document describes a DTN Management Architecture (DTNMA) suitable for managing devices in any challenged environment but, in particular, those communicating using the DTN Bundle Protocol (BP). Operating over BP requires an architecture that neither presumes synchronized transport behavior nor relies on query-response mechanisms. Implementations compliant with this DTNMA should expect to successfully operate in extremely challenging conditions, such as over unidirectional links and other places where BP is the preferred transport.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9675"/>
          <seriesInfo name="DOI" value="10.17487/RFC9675"/>
        </reference>
        <reference anchor="RFC4838">
          <front>
            <title>Delay-Tolerant Networking Architecture</title>
            <author fullname="V. Cerf" initials="V." surname="Cerf"/>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh"/>
            <author fullname="A. Hooke" initials="A." surname="Hooke"/>
            <author fullname="L. Torgerson" initials="L." surname="Torgerson"/>
            <author fullname="R. Durst" initials="R." surname="Durst"/>
            <author fullname="K. Scott" initials="K." surname="Scott"/>
            <author fullname="K. Fall" initials="K." surname="Fall"/>
            <author fullname="H. Weiss" initials="H." surname="Weiss"/>
            <date month="April" year="2007"/>
            <abstract>
              <t>This document describes an architecture for delay-tolerant and disruption-tolerant networks, and is an evolution of the architecture originally designed for the Interplanetary Internet, a communication system envisioned to provide Internet-like services across interplanetary distances in support of deep space exploration. This document describes an architecture that addresses a variety of problems with internetworks having operational and performance characteristics that make conventional (Internet-like) networking approaches either unworkable or impractical. We define a message- oriented overlay that exists above the transport (or other) layers of the networks it interconnects. The document presents a motivation for the architecture, an architectural overview, review of state management required for its operation, and a discussion of application design issues. This document represents the consensus of the IRTF DTN research group and has been widely reviewed by that group. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4838"/>
          <seriesInfo name="DOI" value="10.17487/RFC4838"/>
        </reference>
        <reference anchor="IPN_CT">
          <front>
            <title>Designing Custody Transfer for Interplanetary Networks</title>
            <author initials="E." surname="Birrane" fullname="Edward Birrane">
              <organization/>
            </author>
            <author initials="S." surname="Pellegrini" fullname="Sabrina Pellegrini">
              <organization/>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="76th International Astronautical Congress" value=""/>
        </reference>
        <reference anchor="RFC9172">
          <front>
            <title>Bundle Protocol Security (BPSec)</title>
            <author fullname="E. Birrane, III" initials="E." surname="Birrane, III"/>
            <author fullname="K. McKeever" initials="K." surname="McKeever"/>
            <date month="January" year="2022"/>
            <abstract>
              <t>This document defines a security protocol providing data integrity and confidentiality services for the Bundle Protocol (BP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9172"/>
          <seriesInfo name="DOI" value="10.17487/RFC9172"/>
        </reference>
      </references>
    </references>
    <?line 787?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
