﻿<?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.43 (Ruby 4.0.7) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-flentge-dtn-compressed-status-reporting-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Compressed Bundle Status Reporting">Compressed Bundle Status Reporting for Bundle Protocol Version 7</title>
    <seriesInfo name="Internet-Draft" value="draft-flentge-dtn-compressed-status-reporting-00"/>
    <author initials="F." surname="Flentge" fullname="Felix Flentge">
      <organization>European Space Agency</organization>
      <address>
        <email>felix.flentge@esa.int</email>
      </address>
    </author>
    <date year="2026" month="October" day="26"/>
    <area>Internet</area>
    <workgroup>Delay/Disruption Tolerant Networking</workgroup>
    <keyword>DTN</keyword>
    <keyword>Bundle Protocol</keyword>
    <keyword>BPv7</keyword>
    <abstract>
      
<t>This document defines compact, aggregated status reporting for Bundle
Protocol Version 7. A Compressed Reporting Extension Block assigns
sequence information and optionally requests reports, while a Compressed
Reporting Signal reports events for multiple bundles.</t>
    </abstract>
  </front>
  <middle>
    
<section anchor="intro">
      <name>Introduction</name>
      <t>Standard BPv7 status reporting, as defined in <xref target="RFC9171"/>, generates one
report bundle for each reportable event such as reception, forwarding,
delivery or deletion of a bundle. As this can create excessive network
traffic, bundle status reports must be disabled by default. Building on
the corresponding CCSDS experimental specification <xref target="CCSDS-734.6-O-1"/>,
this document defines compact reporting in which a Compressed Reporting
Extension Block (CREB) supplies sequence information and optionally
requests reports, and a Compressed Reporting Signal (CRS) aggregates
events for multiple bundles.</t>
      <t>This document depends on the sequence-identification framework in
<xref target="I-D.flentge-dtn-bundle-sequence-identification"/>.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions and Terminology</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 BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
      </t>
      <t>Block Source Administrative Endpoint ID (AEID): An endpoint ID of the
administrative element of the BP agent that assigns a Bundle Sequence
Number and inserts the corresponding Compressed Reporting Extension
Block.</t>
      <t>Compressed Reporting Signal (CRS): An administrative record sent to a
report-to endpoint to provide bundle status information on a set of
bundles.</t>
      <t>Compressed Reporting Extension Block (CREB): A BPv7 extension block which
requests compressed reporting of bundle status.</t>
    </section>
    <section anchor="applicability">
      <name>Applicability</name>
      <t>The mechanism is intended for DTNs where aggregating reports materially
reduces signaling overhead. CREBs can be forwarded by nodes that do not
implement this specification, but reports are generated only by
supporting nodes. Deployment policy must account for incomplete support
and possible loss or delay of reporting signals.</t>
    </section>
    <section anchor="creb">
      <name>Compressed Reporting Extension Block</name>
      <t>Compressed Reporting is requested by adding a Compressed Reporting
Extension Block (CREB). The CREB MUST use the BPv7 canonical block
format according to <xref target="RFC9171"/>. Block Type 14 as assigned by IANA for
CREB MUST be used. A bundle MAY contain multiple CREBs inserted by the
same or different nodes.</t>
      <t>Using CBOR as defined by <xref target="RFC8949"/>, the block-type-specific data MUST
be a definite-length CBOR byte string containing a definite-length array
of one to five elements as defined below.</t>
      <section anchor="sequence-only">
        <name>1-Element Form: Sequence Number Only</name>
        <t>For an array-length of 1, the array SHALL contain:</t>
        <ul spacing="normal">
          <li>
            <t>Item 1 SHALL be a Bundle Sequence Number (BSN), a CBOR unsigned
integer, as specified in
<xref target="I-D.flentge-dtn-bundle-sequence-identification"/>.</t>
          </li>
        </ul>
        <t>The block source AEID SHALL be implicitly given by the source node EID
in the primary block of the bundle. Only the source node MAY use the
1-Element Form. This form does not request creation of aggregate reports
but can, for example, be used by a receiving node to detect gaps in
bundle sequences or restore the order of bundles.</t>
      </section>
      <section anchor="sequence-identification">
        <name>2-Element Form: Sequence Number and Identification</name>
        <t>For an array-length of 2, the array SHALL contain:</t>
        <ul spacing="normal">
          <li>
            <t>Item 1 SHALL be as defined in <xref target="sequence-only"/></t>
          </li>
          <li>
            <t>Item 2 SHALL be a Bundle Sequence ID (BSID), a CBOR unsigned integer,
as specified in <xref target="I-D.flentge-dtn-bundle-sequence-identification"/>.</t>
          </li>
        </ul>
        <t>The block source AEID SHALL be implicitly given by the source node EID
in the primary block of the bundle. Only the source node MAY use the
2-Element Form. This form does not request creation of aggregate reports
but can, for example, be used by a receiving node to detect gaps in
bundle sequences or restore the order of bundles.</t>
      </section>
      <section anchor="reporting-request">
        <name>3-Element Form: Reporting-Request with implicit source</name>
        <t>For an array-length of 3, the array SHALL contain:</t>
        <ul spacing="normal">
          <li>
            <t>Item 1 and Item 2 SHALL be as defined in <xref target="sequence-identification"/></t>
          </li>
          <li>
            <t>Item 3 SHALL contain the Status Report Request flags which SHALL be
processed as a bit field indicating the flag values for the following
reporting requests:  </t>
            <ul spacing="normal">
              <li>
                <t>Bit 0 - reception;</t>
              </li>
              <li>
                <t>Bit 1 - forwarding;</t>
              </li>
              <li>
                <t>Bit 2 - delivery;</t>
              </li>
              <li>
                <t>Bit 3 - deletion;</t>
              </li>
              <li>
                <t>Bit 4 - custody acceptance;</t>
              </li>
              <li>
                <t>Bit 5 - custody rejection;</t>
              </li>
              <li>
                <t>Bit 6 and higher - reserved for future use.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>Custody-related reporting is for informational purposes only and should
not be confused with custody signals that trigger the behavior defined
in Custody Procedures <xref target="I-D.flentge-dtn-bpv7-custody-transfer"/>.
The intention is to enable the reporting of custody-related behavior to
a report-to node that is different from the current custodian, which is
the receiver of all custody signals.</t>
        <t>Only the bundle source MAY use the 3-Element Form. The block source AEID
and report destination SHALL be implicitly given by the source node EID
in the primary block of the bundle and MUST identify an administrative
endpoint capable of receiving the CRS.</t>
      </section>
      <section anchor="reporting-request-source">
        <name>4-Element Form: Reporting-Request with explicit block source</name>
        <t>For an array-length of 4, the array SHALL contain:</t>
        <ul spacing="normal">
          <li>
            <t>Item 1 to Item 3 SHALL be as defined in <xref target="reporting-request"/></t>
          </li>
          <li>
            <t>Item 4 SHALL be the block source AEID of the node which inserted the
CREB, a CBOR encoded endpoint ID as specified in
<xref target="I-D.flentge-dtn-bundle-sequence-identification"/>. CRSs are sent to
this AEID (see <xref target="processing"/>).</t>
          </li>
        </ul>
      </section>
      <section anchor="reporting-request-report-to">
        <name>5-Element Form: Reporting-Request with explicit report-to EID</name>
        <t>For an array-length of 5, the array SHALL contain:</t>
        <ul spacing="normal">
          <li>
            <t>Item 1 to Item 4 SHALL be as defined in <xref target="reporting-request-source"/></t>
          </li>
          <li>
            <t>Item 5 SHALL be a report-to EID, a CBOR encoded endpoint ID as
specified in <xref target="I-D.flentge-dtn-bundle-sequence-identification"/>. CRSs
are sent to this report-to EID (see <xref target="processing"/>).</t>
          </li>
        </ul>
      </section>
      <section anchor="malformed-creb">
        <name>Malformed CREBs</name>
        <t>A node MUST treat a CREB as malformed if its array length is outside one
through five, field types are invalid, reserved flag bits are set
contrary to this specification, or the array form violates the source or
EID constraints. It MUST apply the block processing control flags
according to BPv7 and MUST NOT generate reports from malformed request
data.</t>
      </section>
    </section>
    <section anchor="crs">
      <name>Compressed Reporting Signal</name>
      <t>The Compressed Reporting Signal (CRS) is used to transmit aggregated
status reports. A CRS MUST be a BPv7 administrative record.
Administrative Record Type 14 as assigned by IANA for the CRS MUST be
used.</t>
      <t>The content of the CRS administrative record MUST be a CBOR map with the
following key/value pairs:</t>
      <ul spacing="normal">
        <li>
          <t>CRS Event Codes as keys; an unsigned CBOR integer  </t>
          <ul spacing="normal">
            <li>
              <t>0 - reception;</t>
            </li>
            <li>
              <t>1 - forwarding;</t>
            </li>
            <li>
              <t>2 - delivery;</t>
            </li>
            <li>
              <t>3 - deletion;</t>
            </li>
            <li>
              <t>4 - custody acceptance;</t>
            </li>
            <li>
              <t>5 - custody rejection;</t>
            </li>
            <li>
              <t>Values above 5 - reserved for future use;</t>
            </li>
          </ul>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>A receiver MUST ignore an unrecognized event code while processing
recognized entries in the same map. CRS event codes are specific to
this specification and are distinct from the Bundle Status Report
Reason Codes registered for BPv7 status reports.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>Bundle Sequence Collections as specified in
<xref target="I-D.flentge-dtn-bundle-sequence-identification"/> as values.</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>A sequence in a CRS MUST include its block source AEID only when the
report-to EID differs from the administrative endpoint of the node
that inserted the CREB, namely the 5-Element Form. For the 3- and
4-Element Forms, the CRS receiver is the block source and that AEID is
implicit.</t>
        </li>
      </ul>
    </section>
    <section anchor="processing">
      <name>Reporting Procedures</name>
      <t>Reception of a valid 3-, 4-, or 5-Element CREB MUST cause a supporting
node to retain the information needed to report each requested event
that occurs. The retained information includes CRS event code, BSN,
BSID, source Node ID, destination EID, Block Source EID and report-to
EID as available and required.</t>
      <t>The CRS destination MUST be the bundle's source node ID for a 3-Element
CREB, the block source AEID for a 4-Element CREB, and the report-to EID
for a 5-Element CREB. A node SHALL generate and transmit CRSs from
stored disposition information to the CRS destination according to
configuration or external events. CRS generation and transmission MAY be
based on:</t>
      <ul spacing="normal">
        <li>
          <t>periodic timers,</t>
        </li>
        <li>
          <t>size constraints for the CRS (bundle size or number of reported
bundles), supplemented by a timer to prevent indefinite delays when
the size limit is not reached but there are no additional bundles to
report,</t>
        </li>
        <li>
          <t>external events such as link establishment or explicit commands to
send CRS.</t>
        </li>
      </ul>
      <t>Once a CRS for a specific bundle has been transmitted, no other
reporting signal for this bundle SHOULD be generated with the same
event code.</t>
    </section>
    <section anchor="end-to-end-use">
      <name>End-to-End Use</name>
      <t>Compressed Reporting can be used to realize various End-to-End Services.
Sequence-only CREBs (1- and 2-Element Form) can support in-sequence
delivery, duplicate suppression, and gap detection without CRS
generation. Delivery and deletion CRSs can provide end-to-end accounting
and can be used to trigger retransmission of bundles from the source to
enable reliable bundle delivery. The services described in the following
sections are not mutually exclusive, so they can be combined without the
need for additional extension blocks.</t>
      <section anchor="in-sequence-delivery">
        <name>In-Sequence Delivery</name>
        <t>CREB sequence numbers based on separate counters per destination EID
(BSID '0') enable bundle re-ordering at destination. Lost or delayed
bundles can be handled using timeouts.</t>
      </section>
      <section anchor="duplicate-suppression">
        <name>Duplicate Suppression</name>
        <t>Duplicate suppression works similarly to the in-sequence delivery. When
CREB sequence numbers use separate counters per destination EID (BSID
'0'), duplicated bundles can be detected by the same sequence number and
suppressed. This is more efficient than using time stamps as it allows
more compact storage of information about received bundles.</t>
      </section>
      <section anchor="gap-detection">
        <name>Gap Detection</name>
        <t>End-to-end gap detection can also be based on BSNs using separate
counters per destination EID (BSID '0'). Out-of-order bundle arrivals
can be addressed by implementing a time window before reporting a gap,
to wait for late arrivals with lower sequence numbers than the current
maximum.</t>
      </section>
      <section anchor="bundle-accounting">
        <name>Bundle Accounting</name>
        <t>The use of CRSs for delivery or deletion of bundles allows for
end-to-end accounting of bundles towards the bundle source node (using
<xref target="reporting-request"/>), the block source AEID (using
<xref target="reporting-request-source"/>), or a different report-to EID (using
<xref target="reporting-request-report-to"/>). For delivery reporting, only the
destination node must support CRS. For deletion accounting, both the
destination and deleting nodes must support CRS. If the deleting node
does not support CRS, failed delivery can still be inferred from a
missing delivery report. However, cases where the reporting signal is
lost may result in wrongly assumed delivery failure.</t>
      </section>
      <section anchor="reliability">
        <name>Reliability</name>
        <t>Using the end-to-end accounting mechanism described above, end-to-end
reliability can be provided by re-forwarding a bundle when an expected
delivery report has not been received or the bundle has been reported as
deleted. Re-forwarding a bundle again over the full end-to-end path is
usually inefficient, so this mechanism may be combined with Custody
Transfer as specified in
<xref target="I-D.flentge-dtn-bpv7-custody-transfer"/>. In this way,
re-forwarding will typically happen between custodians with
re-forwarding from the source required only if Custody Transfer fails.</t>
      </section>
    </section>
    <section anchor="fragmentation">
      <name>Fragmentation</name>
      <t>A bundle containing a CREB MUST NOT be fragmented. A CREB MUST NOT be
added to or processed in a fragment. Sources SHOULD set the Bundle Must
Not be Fragmented flag.</t>
    </section>
    <section anchor="cddl">
      <name>CDDL</name>
      <t>The following CDDL uses the CDDL notation of <xref target="RFC8610"/> and the rules
defined by <xref target="RFC9171"/>.</t>
      <sourcecode type="cddl"><![CDATA[
;CREB
$extension-block /= extension-block-use<14, embedded-cbor<creb-data>>

creb-data = [
  seq-num: uint,
  ? seq-id: uint,
  ? status-request-flags: uint,
  ? blk-source: eid,
  ? report-to-eid: eid
]

;CRS
$admin-record /= [14, reporting-signal-content]

reporting-signal-content = {
  0 => seq-collection, 1 => seq-collection,
  2 => seq-collection, 3 => seq-collection,
  4 => seq-collection, 5 => seq-collection,
  * uint => seq-collection
}
]]></sourcecode>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>IANA has assigned Bundle Block Type 14 to the Compressed Status
Reporting Extension Block and Bundle Administrative Record Type 14 to
the Compressed Reporting Signal, with CCSDS 734.6-O-1 as the current
reference. IANA is requested to add this document as a reference for
both registrations upon publication as an RFC.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>Reports can reveal traffic patterns and delivery state. Forged requests
can amplify traffic toward a victim report-to EID, while forged signals
can corrupt accounting or trigger unnecessary retransmission. Nodes MUST
authorize report requests and destinations and MUST bound stored report
state and transmission rate.</t>
      <t>Deployments SHOULD use BPSec <xref target="RFC9172"/> integrity protection for CREBs
and CRS administrative records where authentication and integrity are
required, and confidentiality protection where reporting data is
sensitive.</t>
    </section>
    <section anchor="manage">
      <name>Operational and Manageability Considerations</name>
      <t>Implementations should expose report aggregation timers and thresholds,
pending report state by destination and event, generated and received
CRS counts, duplicate reports, malformed CREBs and CRSs, authorization
failures, discarded requests, and resource-limit events.</t>
    </section>
    <section anchor="impl">
      <name>Implementation Status</name>
      <t>This section records implementation experience in accordance with
<xref target="RFC7942"/> and is intended to be removed before publication as an RFC.</t>
      <t>The European Space Agency Bundle Protocol implementation supports CREB
and CRS encoding and processing, sequence-only and reporting-request
forms, event collection, timer- and size-triggered aggregation, and
compressed signal transmission. The mechanisms have been validated with
unit tests, simulations, and a simulated lunar communication scenario
involving a relay orbiter, rover, ground station, and control centers.
The implementation information reflects the status reported in June
2026.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8610" target="https://www.rfc-editor.org/info/rfc8610" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8610.xml">
          <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="RFC8949" target="https://www.rfc-editor.org/info/rfc8949" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8949.xml">
          <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="RFC9171" target="https://www.rfc-editor.org/info/rfc9171" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9171.xml">
          <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="RFC9172" target="https://www.rfc-editor.org/info/rfc9172" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9172.xml">
          <front>
            <title>Bundle Protocol Security (BPSec)</title>
            <author fullname="E. Birrane, III" initials="E." surname="Birrane, III"/>
            <author fullname="K. McKeever" initials="K." surname="McKeever"/>
            <date month="January" year="2022"/>
            <abstract>
              <t>This document defines a security protocol providing data integrity and confidentiality services for the Bundle Protocol (BP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9172"/>
          <seriesInfo name="DOI" value="10.17487/RFC9172"/>
        </reference>
        <reference anchor="I-D.flentge-dtn-bundle-sequence-identification">
          <front>
            <title>Bundle Sequence Identification for the Bundle Protocol Version 7</title>
            <author initials="F." surname="Flentge" fullname="Felix Flentge">
              <organization>European Space Agency</organization>
            </author>
            <date year="2026" month="October" day="06"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-flentge-dtn-bundle-sequence-identification-00"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7942" target="https://www.rfc-editor.org/info/rfc7942" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7942.xml">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="CCSDS-734.6-O-1" target="https://ccsds.org/publications/orangebooks/entry/4868/">
          <front>
            <title>Custody Transfer and Compressed Bundle Status Reporting, Experimental Specification</title>
            <author>
              <organization>Consultative Committee for Space Data Systems</organization>
            </author>
            <date year="2026" month="June"/>
          </front>
          <seriesInfo name="CCSDS" value="734.6-O-1"/>
        </reference>
        <reference anchor="I-D.flentge-dtn-bpv7-custody-transfer">
          <front>
            <title>Custody Transfer for Bundle Protocol Version 7</title>
            <author initials="F." surname="Flentge" fullname="Felix Flentge">
              <organization>European Space Agency</organization>
            </author>
            <date year="2026" month="October" day="06"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-flentge-dtn-bpv7-custody-transfer-00"/>
        </reference>
      </references>
    </references>
    
<section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The author would like to acknowledge the substantial technical
contributions of Aida Manole, Alice LeBihan, and Yanik Jeck to the
development, review, discussion, and refinement of the mechanisms
specified in this document. Their contributions to the corresponding
CCSDS work significantly influenced the design and maturation of this
specification.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9Vb23IbR5J9r6+opSbCogMNkRQl2bQtLylSa05IpJaQZ2Ni
Yh8K3QWgh41uuKubFIZBf8t+y37Znsys6htASprdffDEzAjsS12yTp48mVUd
RZGq0iqzR3rnTbFcldY5m+iTOk8yqyeVqWqnr+yqKKs0n+tZUYZ7H8qiKuIi
03+xpUuLXL/aUWY6Le3NFzW1o5Iizs0SHSelmVXRLLN5NbdRUuVR3LweOX4v
KsN70d6eik1l50W5PtKuSpSrp8vU0RCq9QrNnZ99fKviInc2d7U70lVZW5Wu
Sv7lqoO9ve/3DpQprcGzeWXL3Fbqtiiv52VRrzD4U5uZ9bPT1JX1qqKZfSwy
W5q80he2ogd5+OrarvFHcqS0jvTpxwv+d2Acufbh5pVSpq4WRclP439apznG
9nas38q8+ZrY463N0k+960U5N3n6D0OjOdJndVmsrMn1ZGViq4/nNo/X/Jxd
mjQ70jNqYOwN+q/WmXGaV/yAyotyiWZuLA3k6u2bg/397/3P7/ZfHYafL/f3
ws/vD8MD3++/2m9/HtDP8+h03F24KU8/cva3GoOyUZrgXjpLYxk6jyHALQDD
P6vPe88y1KqFfQxu1FprVvpP5P/dbt7HTOzN/Jh1E8DuSB/sHbyM9veivZd8
0dkytS7NZ0UYQ8BUdEq4xkQ38f24mQBxwIua7K/Vq+8P2ehv3kxOJ9Gr54fj
l9FltN+z6ms/iDdAepGs9Ufg1s1sqU2e6M975ci/fvZphXktMSqTwRA2bgb3
qNHZgHB+OF5W8dCpz2VaVdbygopNT01l9GTtKrt0O0PTertWppxbst6iqlbu
6NmzOHaJG6OHZ6t6mvnRuGcFJji306K4ds8w3HL97PC7l98923lgcdh2aLWx
3s42FK9uXkWxWDCqvAX74N2w72eY8Y8L1W22EIRGUaTN1OFiXCn1cZE6DU6v
CTU6sbM0t04Tk+P2SJv5vLRzDCvRQum63BJV1Kbtxvq4C9w2Fp19qsDw9MxJ
VsTX2iAGzHOnglfpxoPwCMG/YDY3WbZG33jGVWEQbqRvFymWznS6Um1XEzQM
R/APa3uDKToe9hJAT1d4U1zajcUsyzSh2agnZOKySOqYR3H3JKU/75WC4+WJ
KRMODhsWgbmcN2GCaei7O0+/9/cjjVVGNKpg3CK3St7x3fOQrIkXvikzxTUe
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

-->

</rfc>
