<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-taylor-dtn-echo-service-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="BPEcho">BPv7 Echo Service</title>
    <seriesInfo name="Internet-Draft" value="draft-taylor-dtn-echo-service-01"/>
    <author fullname="Rick Taylor">
      <organization>Aalyria Technologies</organization>
      <address>
        <email>rtaylor@aalyria.com</email>
      </address>
    </author>
    <date year="2026" month="July" day="01"/>
    <area>Internet</area>
    <workgroup>Delay/Disruption Tolerant Networking</workgroup>
    <keyword>DTN</keyword>
    <keyword>BPv7</keyword>
    <keyword>Bundle Protocol</keyword>
    <keyword>Echo</keyword>
    <abstract>
      <?line 40?>

<t>This document specifies an echo service for Bundle Protocol Version 7 (BPv7) networks. An echo service receives bundles at a well-known endpoint and replies to each with a response bundle that returns the payload to the originator. This enables round-trip time measurement and end-to-end connectivity verification in Delay-Tolerant Networks. This document requests IANA allocation of a well-known IPN service number for the echo service.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ricktaylor.github.io/echo-service/draft-taylor-dtn-echo-service.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-taylor-dtn-echo-service/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Delay/Disruption Tolerant Networking Working Group mailing list (<eref target="mailto:dtn@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dtn/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dtn/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ricktaylor/echo-service"/>.</t>
    </note>
  </front>
  <middle>
    <?line 44?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Delay-Tolerant Networks (DTNs) present unique challenges for network diagnostics. Unlike traditional IP networks where ICMP Echo (ping) provides immediate feedback, DTN bundles might traverse store-and-forward paths with significant delays. Nevertheless, the ability to verify end-to-end connectivity and measure round-trip time remains essential for network operators.</t>
      <t>This document specifies an echo service for Bundle Protocol Version 7 <xref target="RFC9171"/>. An echo service receives bundles at a well-known endpoint and replies to each with a single response bundle that returns the payload to the originator.</t>
      <t>This document specifies the externally observable content of the response bundle as a set of conformance rules; it does not constrain how an implementation produces that bundle. An implementation may construct a new bundle, or may derive the response from the request internally, provided the response conforms to the rules in <xref target="response-bundle"/>. Because the response is an ordinary bundle, the node's Bundle Protocol Agent (BPA) handles its routing, extension-block processing, and forwarding as it would for any other bundle the node sources.</t>
      <t>The echo service is intentionally simple: it interprets no payload and performs no special processing beyond returning the payload to its originator. Defining the response as a wire contract rather than an internal mechanism lets independent implementations interoperate regardless of whether the echo service is built into the BPA or runs as an ordinary application. A standardized echo service enables diagnostic tools such as ping clients to operate across heterogeneous DTN deployments.</t>
    </section>
    <section anchor="conventions-and-terminology">
      <name>Conventions and 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 document uses terminology from the Bundle Protocol Version 7 specification <xref target="RFC9171"/>.</t>
      <dl>
        <dt>Echo Service:</dt>
        <dd>
          <t>A Bundle Protocol service that returns the payload of each received bundle to its originator in a response bundle.</t>
        </dd>
        <dt>Request Bundle:</dt>
        <dd>
          <t>A bundle received by an echo service at one of its echo service endpoints.</t>
        </dd>
        <dt>Response Bundle:</dt>
        <dd>
          <t>The bundle an echo service sends in reply to a request bundle; <xref target="response-bundle"/> defines its content.</t>
        </dd>
      </dl>
    </section>
    <section anchor="echo-service-specification">
      <name>Echo Service Specification</name>
      <section anchor="service-endpoint">
        <name>Service Endpoint</name>
        <t>An echo service registers to receive bundles at one or more endpoint identifiers. The well-known endpoint is IPN-scheme service number 128 on any node; for example, <tt>ipn:2.128</tt> represents the echo service on node number 2. Implementations <bcp14>MAY</bcp14> also support service number 7 for backwards compatibility with existing deployments; service number 7 is in the Private Use range per <xref target="RFC9758"/> and cannot be reserved.</t>
        <t>An echo service <bcp14>SHOULD</bcp14> support the well-known endpoint, so that clients can reach it without out-of-band configuration. It <bcp14>MAY</bcp14> also support private or alternative endpoints, which clients must learn of by other means.</t>
      </section>
      <section anchor="response-bundle">
        <name>The Response Bundle</name>
        <t>Upon receiving a bundle at one of its echo service endpoints (the "request bundle"), an echo service generates a response as specified in this section. When a response is sent (<xref target="when-a-response-is-sent"/>), the echo service <bcp14>MUST</bcp14> submit to its BPA, for transmission, exactly one bundle (the "response bundle") conforming to these rules, and <bcp14>MUST NOT</bcp14> emit more than one response bundle per request bundle.</t>
        <t>These rules constrain only the content of the response bundle, not the mechanism by which it is produced: an implementation <bcp14>MAY</bcp14> construct a new bundle or <bcp14>MAY</bcp14> derive the response from the request internally, provided the emitted response bundle conforms. Aside from the constraints in this section, the response bundle is an ordinary bundle, constructed and processed under <xref target="RFC9171"/> (and, where security is applied, <xref target="RFC9172"/>) like any other bundle the node sources; this document does not restate those rules.</t>
        <section anchor="when-a-response-is-sent">
          <name>When a Response Is Sent</name>
          <t>An echo service <bcp14>MUST NOT</bcp14> generate a response bundle when the source node ID of the request bundle is the null endpoint ID, as no return path exists (<xref section="4.2.3" sectionFormat="comma" target="RFC9171"/>).</t>
          <t>An echo service <bcp14>MUST NOT</bcp14> generate a response bundle when the request bundle's payload is an administrative record (the "ADU is an administrative record" flag is set), to avoid reflecting status reports and the bundle loops that could result.</t>
          <t>An echo service <bcp14>MUST NOT</bcp14> generate bundles other than response bundles. Other services at the node <bcp14>SHOULD NOT</bcp14> use an echo service endpoint as the source of bundles they originate.</t>
        </section>
        <section anchor="primary-block">
          <name>Primary Block</name>
          <t>The primary block of the response bundle <bcp14>MUST</bcp14> be set as follows.</t>
          <dl>
            <dt>Destination:</dt>
            <dd>
              <t><bcp14>MUST</bcp14> be set to the source node ID of the request bundle.</t>
            </dd>
            <dt>Source:</dt>
            <dd>
              <t><bcp14>MUST</bcp14> be set to the echo service endpoint ID at which the request bundle was received. Where a node exposes more than one such endpoint (for example, both an <tt>ipn</tt> and a <tt>dtn</tt> endpoint), the source <bcp14>MUST</bcp14> be the specific endpoint to which the request bundle was addressed.</t>
            </dd>
            <dt>Creation Timestamp:</dt>
            <dd>
              <t>An echo service <bcp14>MUST NOT</bcp14> reuse the request bundle's creation timestamp; the response bundle is assigned its own, as for any bundle the node sources.</t>
            </dd>
            <dt>Lifetime:</dt>
            <dd>
              <t>The response bundle <bcp14>SHOULD</bcp14> be assigned a lifetime that gives it a reasonable opportunity to reach the originator. Like any bundle the node sources, it is subject to the node's local lifetime policy, which bounds the retention cost of responses even when a request asserts a very long lifetime. Within that bound, an echo service <bcp14>MAY</bcp14> set the response lifetime by reusing the request bundle's lifetime value, or by deriving it from the request bundle's observed transit time (its age on reception). A lifetime derived from observed transit time limits retention, but can underestimate the requirement of a return path slower than the forward path, and so benefits from a generous margin.</t>
            </dd>
            <dt>Report-To:</dt>
            <dd>
              <t>If the request bundle requested status reports, an echo service <bcp14>SHOULD</bcp14> set the response bundle's report-to EID to that of the request bundle, so that status reports for both legs of the exchange reach the same observer. Because the request and response are distinct bundles, each report is then attributable to its leg by the source EID of its subject bundle. Otherwise, the report-to EID is set as for any bundle the node sources.</t>
            </dd>
          </dl>
        </section>
        <section anchor="flags">
          <name>Bundle Processing Control Flags</name>
          <t>An echo service does not copy the request bundle's control flags wholesale. The following per-flag requirements specify the response bundle's control flags; any flag not listed must not just be copied verbatim from the request bundle, but is set as for any bundle the node sources.</t>
          <dl>
            <dt>"ADU is an administrative record":</dt>
            <dd>
              <t><bcp14>MUST NOT</bcp14> be set. The response carries the reflected application payload, which is not an administrative record.</t>
            </dd>
            <dt>"Bundle must not be fragmented":</dt>
            <dd>
              <t><bcp14>MAY</bcp14> be copied from the request bundle.</t>
            </dd>
            <dt>"Acknowledgement by application is requested":</dt>
            <dd>
              <t><bcp14>MUST NOT</bcp14> be set. The response does not solicit an application acknowledgement.</t>
            </dd>
            <dt>Status-report-request flags ("Request reporting of bundle reception", "Request reporting of bundle forwarding", "Request reporting of bundle delivery", and "Request reporting of bundle deletion"):</dt>
            <dd>
              <t><bcp14>MAY</bcp14> be set, typically by mirroring the request bundle's flags, so that an observer can follow both legs of the exchange. These take effect together with the report-to EID (see the Report-To field above).</t>
            </dd>
            <dt>"Status time requested in reports":</dt>
            <dd>
              <t><bcp14>MAY</bcp14> be set, typically by mirroring the request bundle's value when the echo service mirrors the status-report-request flags, so that reports for the response carry the time of the reported event whenever the requester asked for that detail.</t>
            </dd>
          </dl>
        </section>
        <section anchor="payload-block">
          <name>Payload Block</name>
          <t>The response bundle <bcp14>MUST</bcp14> contain a payload block whose content is identical, byte for byte, to the payload block content of the request bundle. An echo service <bcp14>MUST NOT</bcp14> alter, truncate, reorder, or append to the payload. This reflected payload is the only content guaranteed to survive the round trip; it allows a client to verify round-trip integrity by comparing the returned payload with what it sent.</t>
        </section>
        <section anchor="extension-blocks">
          <name>Extension Blocks</name>
          <t>An echo service is not obliged to reproduce any extension block from the request bundle in the response bundle.</t>
          <t>An echo service <bcp14>MAY</bcp14> include extension blocks in the response bundle — for example a Bundle Age Block, Hop Count Block, Previous Node Block, or BPSec <xref target="RFC9172"/> block — as determined by the normal outbound bundle processing and local security policy of its node.</t>
          <t>An echo service that copies an extension block from the request bundle into the response remains bound by that block's own specification. In particular, it cannot assume the security role of a BPSec block's original security source, so copying BPSec blocks from the request is generally not meaningful.</t>
        </section>
      </section>
      <section anchor="client-considerations">
        <name>Client Considerations</name>
        <t>While this specification focuses primarily on the echo service, certain requirements apply to clients to ensure correct operation. This section defines those normative requirements.</t>
        <section anchor="session-disambiguation">
          <name>Session Disambiguation</name>
          <t>When multiple clients run concurrently on the same node, each session must be distinguishable so that responses are delivered to the correct client. Multiple concurrent clients on the same node <bcp14>MUST</bcp14> use distinct source endpoint identifiers. Per <xref target="RFC9171"/>, each application instance registers with a unique endpoint ID, and the combination of source and destination provides session disambiguation at the bundle layer without requiring any session identifier in the payload.</t>
        </section>
        <section anchor="response-authenticity">
          <name>Response Authenticity</name>
          <t>A response bundle is an independently sourced bundle: its primary block is that of the echo service, and it is not cryptographically bound to the request bundle. A client therefore cannot use a Bundle Integrity Block (BIB) it placed on the request to authenticate the response, because the request's BIB is not carried into the response (see <xref target="extension-blocks"/>). A client that requires assurance of a response's origin relies instead on the echo service node's own BPSec <xref target="RFC9172"/> policy applied to the response bundle, for example a BIB whose security source is the echo service node. Alternatively, because the echo service returns the payload unchanged, a client can detect modified or spoofed responses by validating the returned payload against state it retained locally when sending the request; see <xref target="payload-format"/>.</t>
        </section>
        <section anchor="fragmentation">
          <name>Fragmentation</name>
          <t>Diagnostic clients <bcp14>MAY</bcp14> set the "bundle must not be fragmented" flag in bundles sent to the echo service. Fragmentation complicates round-trip time measurement and payload verification: fragments might take different paths, arrive out of order, or be lost independently. Setting this flag ensures the bundle either traverses the network intact or is dropped, providing cleaner diagnostic results.</t>
          <t>If a client needs to test path MTU, it can send bundles of increasing size with fragmentation disabled and observe which sizes succeed. This approach directly reveals the path's maximum bundle size rather than relying on fragmentation behavior.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This section discusses security issues relevant to the echo service and potential mitigations.</t>
      <section anchor="reflection-and-amplification">
        <name>Reflection and Amplification</name>
        <t>Like any echo or reflection service, an echo service can be abused to direct traffic at a victim. Because the source of a bundle is not authenticated by default, an attacker can send request bundles whose source is set to a victim's endpoint, causing the echo service to send response bundles to that victim. The echo service thereby launders the attacker's traffic and conceals its origin.</t>
        <t>The volume amplification factor is close to one: an echo service returns the payload unchanged, and the requirement to emit at most one response bundle per request bundle (see <xref target="response-bundle"/>) prevents count amplification. The principal risk is therefore reflection toward, and concentration of traffic on, a chosen victim rather than bandwidth amplification. To mitigate this risk, implementations <bcp14>SHOULD</bcp14>:</t>
        <ul spacing="normal">
          <li>
            <t>Rate-limit response bundles, particularly to or from previously unseen endpoints</t>
          </li>
          <li>
            <t>Monitor for unusual traffic patterns that might indicate abuse</t>
          </li>
          <li>
            <t>Consider requiring authentication via Bundle Protocol Security <xref target="RFC9172"/> in sensitive deployments</t>
          </li>
        </ul>
        <t>An echo service that propagates the request bundle's report-to EID and status report requests onto the response (see <xref target="response-bundle"/>) extends this reflection surface to the status reports generated for the response; the same mitigations apply.</t>
      </section>
      <section anchor="information-disclosure">
        <name>Information Disclosure</name>
        <t>Echo responses inherently confirm the existence and reachability of the echo service endpoint. Additionally, round-trip time measurements might reveal information about network topology, path characteristics, and store-and-forward delays that could be useful to an adversary mapping a network.</t>
        <t>In sensitive environments where this information disclosure is a concern, operators <bcp14>MAY</bcp14>:</t>
        <ul spacing="normal">
          <li>
            <t>Restrict echo service access to authenticated endpoints using BPSec</t>
          </li>
          <li>
            <t>Disable the echo service entirely on nodes where diagnostics are not required</t>
          </li>
          <li>
            <t>Deploy the echo service only on designated diagnostic nodes rather than throughout the network</t>
          </li>
        </ul>
      </section>
      <section anchor="resource-exhaustion">
        <name>Resource Exhaustion</name>
        <t>An attacker could attempt to exhaust echo service resources by sending a large volume of bundles or bundles with very large payloads. Since the echo service must construct and transmit a response bundle for each request, this creates both memory and bandwidth pressure. Implementations <bcp14>SHOULD</bcp14>:</t>
        <ul spacing="normal">
          <li>
            <t>Limit the maximum payload size accepted for reflection</t>
          </li>
          <li>
            <t>Implement rate limiting on both connections and bundle processing</t>
          </li>
          <li>
            <t>Monitor resource usage and reject or delay bundle processing when under stress</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="well-known-service-registration">
        <name>Well-Known Service Registration</name>
        <t>This document requests IANA to register the following entry in the "'ipn' Scheme URI Well-Known Service Numbers for BPv7" registry established by <xref target="RFC9758"/>:</t>
        <table align="left" anchor="iana-echo-service">
          <name>Echo Service Registration</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">128</td>
              <td align="left">Echo Service</td>
              <td align="left">(this document)</td>
            </tr>
          </tbody>
        </table>
        <t>For the IPN scheme, the service number is appended to the node number; for example, <tt>ipn:2.128</tt> is the echo service on node number 2.</t>
        <t>Note: Existing implementations do not agree on a service number for echo. Several use 7 by convention, mirroring the well-known UDP port for the Echo Protocol <xref target="RFC862"/>, while others use different values (for example, 2047). All of these lie within ranges designated Private Use by <xref target="RFC9758"/> and so cannot be reserved. This document requests service number 128, the lowest value in the Standards Action range, to provide a single registered value. Implementations <bcp14>MAY</bcp14> continue to support service number 7, or other values, for backwards compatibility.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative 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="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>
        <reference anchor="RFC9758">
          <front>
            <title>Updates to the 'ipn' URI Scheme</title>
            <author fullname="R. Taylor" initials="R." surname="Taylor"/>
            <author fullname="E. Birrane III" initials="E." surname="Birrane III"/>
            <date month="May" year="2025"/>
            <abstract>
              <t>This document updates the specification of the 'ipn' URI scheme previously defined in RFC 6260 and the IANA registries established in RFC 7116. It also updates the rules for the encoding and decoding of these URIs when used as an Endpoint Identifier (EID) in the Bundle Protocol version 7 (BPv7) as defined in RFC 9171. These updates clarify the structure and behavior of the 'ipn' URI scheme, define new encodings of 'ipn' scheme URIs, and establish the registries necessary to manage this scheme.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9758"/>
          <seriesInfo name="DOI" value="10.17487/RFC9758"/>
        </reference>
        <reference anchor="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 anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC862">
          <front>
            <title>Echo Protocol</title>
            <author fullname="J. Postel" initials="J." surname="Postel"/>
            <date month="May" year="1983"/>
            <abstract>
              <t>This RFC specifies a standard for the ARPA Internet community. Hosts on the ARPA Internet that choose to implement a Echo Protocol are expected to adopt and implement this standard. The Echo service simply sends back to the originating source any data it receives.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="20"/>
          <seriesInfo name="RFC" value="862"/>
          <seriesInfo name="DOI" value="10.17487/RFC0862"/>
        </reference>
      </references>
    </references>
    <?line 228?>

<section anchor="ping-clients">
      <name>Ping Clients</name>
      <t>This appendix provides non-normative guidance for implementing ping clients that use the echo service. While the body of this document defines the echo service behaviour, effective ping clients require careful attention to timing, session management, and payload design.</t>
      <section anchor="rtt-calculation">
        <name>Round-Trip Time Calculation</name>
        <t>Accurate round-trip time (RTT) measurement is the primary purpose of most ping implementations. Ping clients should calculate RTT using locally stored timestamps rather than timestamps embedded in the payload:</t>
        <sourcecode type="pseudocode"><![CDATA[
RTT = response_receive_time - request_sent_times[sequence_number]
]]></sourcecode>
        <t>This approach offers several advantages:</t>
        <ul spacing="normal">
          <li>
            <t>Requires no clock synchronization between nodes</t>
          </li>
          <li>
            <t>Works correctly even if the payload is corrupted</t>
          </li>
          <li>
            <t>Avoids serialization overhead in the timing path</t>
          </li>
        </ul>
        <t>The client should maintain a map from sequence number to sent timestamp. It should populate the map when each request is transmitted and consult it when each response arrives. Entries should be removed after a configurable timeout to prevent unbounded memory growth.</t>
      </section>
      <section anchor="endpoint-selection">
        <name>Endpoint Selection</name>
        <t>As required by <xref target="session-disambiguation"/>, multiple concurrent clients on the same node use distinct source endpoint identifiers.</t>
        <t>For example, if two concurrent ping sessions on node <tt>ipn:1.0</tt> target <tt>ipn:2.128</tt>, they should use distinct source endpoints such as <tt>ipn:1.1001</tt> and <tt>ipn:1.1002</tt>. The bundle protocol agent will then route responses back to the correct session based on the destination of the response bundle.</t>
        <t>A ping client must not use a well-known echo service endpoint (for example, service number 128) as its own source endpoint. Per <xref target="when-a-response-is-sent"/>, services other than the echo service do not source bundles from an echo service endpoint; a request so sourced would direct the response to the local echo service rather than to the client.</t>
      </section>
      <section anchor="payload-format">
        <name>Payload Format</name>
        <t>The echo service returns the payload unchanged, so its format is entirely at the discretion of the ping client; the service neither parses nor interprets it. This document defines no payload format.</t>
        <t>A client need only place a sequence number in the payload, so that it can match each response to the request that produced it. Everything else a client needs is kept in local state, keyed by that sequence number:</t>
        <ul spacing="normal">
          <li>
            <t>the time the request was sent, used for the round-trip time calculation of <xref target="rtt-calculation"/> (timestamps need not be carried in the payload); and</t>
          </li>
          <li>
            <t>optionally, whatever lets the client confirm that a response is an unmodified echo of its own request — for example, by retaining the payload it sent and comparing it against the payload returned.</t>
          </li>
        </ul>
        <t>Because the whole payload returns unchanged, a client can match and validate responses with no agreed wire format and without relying on Bundle Protocol Security in the network. Authenticating the responder itself is a separate matter, addressed by the echo service node's own BPSec policy on the response.</t>
        <t>A client may also pad the payload with additional bytes to reach a chosen total bundle size. Because the echo service reflects the payload unchanged, padding the request is a simple and effective way to probe the largest bundle a path will carry; see <xref target="fragmentation"/>.</t>
      </section>
      <section anchor="status-reports">
        <name>Interpreting Status Reports</name>
        <t>A client may request status reports on its request bundles in the usual way, by setting the relevant bundle processing control flags and a report-to EID. Such reports concern the request bundle's own progress toward the echo service and carry the client's endpoint as the source EID of the subject bundle.</t>
        <t>By setting status-report-request flags and a report-to EID on its request, a ping client asks to observe the exchange end-to-end. An echo service can honour this by propagating those settings onto the response bundle (see <xref target="response-bundle"/>). Where it does, the designated observer receives status reports for both legs of the exchange and can attribute each report to its leg from the source EID of the report's subject bundle: the client's endpoint for the request, and the echo service endpoint for the response. Because not every echo service does so, and status reporting is optional in any case, a client should not rely on receiving reports for the return leg. Note also that a client can tie a request-leg report to a specific request, because it knows that bundle's identifier, but cannot in general tie a response-leg report to a specific request: the response's creation timestamp is assigned by the echo service and is not predictable by the client. Round-trip completion for a given request is instead confirmed by the reflected payload, which carries the sequence number (see <xref target="rtt-calculation"/>).</t>
        <t>Status reports on the request bundle can still aid diagnosis. For example, a "Forwarded" report with no echo response suggests the request was lost between an intermediate node and the echo service. Note that status reporting is optional per <xref target="RFC9171"/> and many BPA implementations disable it by default; clients should not rely on receiving status reports for correct operation.</t>
      </section>
      <section anchor="statistics">
        <name>Statistics</name>
        <t>Ping clients should track and report standard statistics consistent with traditional IP ping:</t>
        <ul spacing="normal">
          <li>
            <t>Bundles transmitted</t>
          </li>
          <li>
            <t>Responses received</t>
          </li>
          <li>
            <t>Packet loss percentage</t>
          </li>
          <li>
            <t>RTT minimum, average, maximum, and standard deviation</t>
          </li>
        </ul>
        <t>These statistics provide a quick assessment of network health and help identify routing problems, congestion, or intermittent connectivity.</t>
        <t>Example output format following ICMP ping conventions:</t>
        <sourcecode type="text"><![CDATA[
--- ipn:2.128 ping statistics ---
5 bundles transmitted, 4 received, 20% loss
rtt min/avg/max/stddev = 1.234/2.567/4.891/1.203 s
]]></sourcecode>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7Vc/ZLcuHH/f54CWVVK2tTMrFYnW3crn+2VVsptRdIp0spX
LpfrDjPEzMDikDRB7mq8J1ceIg+QZ8mj5EnSv24ABDkcSVdOrsrWDj+ARqM/
fv0BzmazyaSxTW7O1JPX14/Us+WmVG9NfW2XZqIXi9pc4w4uT5a6Meuy3p0p
12QTW9Vnqqlb1zy4f/+b+w8mk6xcFnpLI2W1XjWzRu/ysp5lTTEz9PrMyaiz
+6cT1y621jlbFs2uohcun109V+qO0rkrz9SRLTJTGfq/ojmaqiOT2aasrc7x
4/L8Cf1T1vTXm6vnR5Oi3S5MfTbJiLizybIsnClc65g0MyHiv5ro2miao2hM
XZhmclPW79d12VZn6sLkendyYV3dVg1Ro67K3NS6aNQr0+A5W6wn782O/szO
JpOZurh6Rf8PTuGftshyo17XZVMuy5yuMJuuTdESKUr9kkmUEk78IL/Vv+Jd
urrVNieGNsXvrWlW87LGo7pebs7Upmkqd3ZygkdwxV6beXjoBBdOFnV548wJ
vX0CcmyzaRdnqrbL97I3J+m+0BM58dA13cjdk3N5eW7L3jsnn9zp+abZ5pOJ
bptNWTP7Vm2ei4i8oaHVFb9HExPFurB/02DPmTrX+Y62W13RYEWZl2trHD1k
hBe1zPZ7LU/Nl+V2MinKektvXxPfJ7ZYJb9ms5nSC9fUetlMJlcb6xTJabsl
2VKuMku7otGVLhQoV55yRSMMt1f9wdSQWPVI3YMAHKtCts/N1fng9dosDU3v
1ILHoPEbpdWNyfPZ+6K8oaeLrCotkaCLjJ6uchDRlMro5UbdEK/p8dq4CuLs
B1HNhkapTdPWBT27MaoCI3SG9/CTVGRtC02qMle8TlPoBSYnUSqyWVPbSjV2
a9TWaNfWhlmA+Q3uljP6R5H+FGZJrLPNTl2bmriz5F1RthBBng2l1/nZIldr
89eWxMipy/NX56TSeemHKFd9Jly+fhU5JmrMfMdaUm7OZRO3NiMuTCZ3oMl1
mbVLDDqZHKBK3SNddceqIjaCqrawRJZaboggU6yJLZjLb6HKrF4XpWvskpbz
rsjte+J3rcnw0Bw6J1LjbqubjamNunz68rVYy3sVKSwmKq9tRuPa7ZYsFqmS
WhmTLfTy/RR2I8rC1q43DUYn/tLuOtowM6N9mBFBN7rOaF+bjRMpcHZd8B7Q
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

-->

</rfc>
