<?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-trammell-happy-sad-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title>Slow Alternate Detection for Happy Eyeballs</title>
    <seriesInfo name="Internet-Draft" value="draft-trammell-happy-sad-01"/>
    <author fullname="Brian Trammell">
      <organization>Google Switzerland GmbH</organization>
      <address>
        <email>ietf@trammell.ch</email>
      </address>
    </author>
    <date year="2026" month="July" day="26"/>
    <area>Web and Internet Transport</area>
    <workgroup>Heuristics and Algorithms to Prioritize Protocol deploYment</workgroup>
    <keyword>icmp</keyword>
    <keyword>happy eyeballs</keyword>
    <keyword>debugging</keyword>
    <keyword>measurement</keyword>
    <abstract>
      <?line 37?>

<t>This document specifies Slow Alternate Detection (SAD) for Happy Eyeballs, an
ICMP-based advisory path signal <xref target="RFC8558"/> for exposing information about path
non-selection on-path devices in order to aid debugging and measurement of Happy
Eyeballs.</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-trammell-happy-sad/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Heuristics and Algorithms to Prioritize Protocol deploYment Working Group mailing list (<eref target="mailto:happy@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/happy/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/happy/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/britram/happy-sad"/>.</t>
    </note>
  </front>
  <middle>
    <?line 44?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Happy Eyeballs <xref target="I-D.ietf-happy-happyeyeballs-v3"/> encourages new protocol
deployment by reducing the availabity risk associated with attempting to use
them. However, in doing so, it masks configuration and deployment failures of
these very protocols. There are potential causes of such failures, with
potential root causes at the end user terminal, CPE, access network, CDN, DNS
configuration, and end server. Given the diffusion of root causes, debugging
these errors can be difficult.</t>
      <t>This document presents Slow Alternate Detection (SAD), an ICMP-based advisory
path signal <xref target="RFC8558"/> to devices along the path of a non-selected candidate
designed as part of an array of approaches to this problem.  It is intended to
be used together with complementary monitoring and logging information at each
point along the potential failure chain of a non-selected candidate.</t>
      <t>This design uses hashes of data relevant to a failure to allow the correlation
of nonselection events to on path devices and actors who already have access to
that data, while allowing only aggregate analysis by other on-path actors.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="message-format-icmp">
      <name>Message Format (ICMP)</name>
      <t>The message format for SAD is identical for both ICMPv4 and ICMPv6,
and is depicted in <xref target="fig-sad-message"/></t>
      <figure anchor="fig-sad-message">
        <name>SAD Message Format</name>
        <sourcecode type="artwork"><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 44   |     Code      | HAlg  |  ASR  |    NextHdr    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Source Transport Port      |  Destination Transport Port   |
   +-------------------------------+-------------------------------+
   |                     Additional Data                           |
   |                     (code-dependent)                          |
   ...                                                           ...
]]></sourcecode>
      </figure>
      <t>The Code, HAlg (Hash Algorithm), ASR (Approximate Sample Rate), Next Header and
Source and Destination Transport Port, and Additional Data fields are described
in the subsections below.</t>
      <section anchor="code">
        <name>Code</name>
        <t>The ICMP Code for a SAD message takes one of the following values, and specifies
the message's semantics as well as the meaning of the Additional Data field. It
can take the following values:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Code</th>
              <th align="left">Description</th>
              <th align="left">Additional Data</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">Not Selected</td>
              <td align="left">hashed DNS Answer</td>
            </tr>
            <tr>
              <td align="left">1-255</td>
              <td align="left">Reserved</td>
              <td align="left">not present</td>
            </tr>
          </tbody>
        </table>
        <section anchor="not-selected">
          <name>Not Selected</name>
          <t>Not Selected indicates that is sent to a non-selected candidate by the client,
after it has made the decision not to use that candidate. See
<xref target="not-selected-behavior"/> for the use of this message.</t>
          <t>When present, the Additional Data field of a Not Selected contains the DNS
Message <xref target="RFC1035"/> associated with the answer that led to the connection attempt, hashed using the selected hash algorithm.</t>
        </section>
      </section>
      <section anchor="hash-algorithm-halg">
        <name>Hash Algorithm (HAlg)</name>
        <t>The Hash Algorithm field determines both the length of the Additional Data field
and the hash algorithm used to hash it. The following hash algorithms are
available:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Length</th>
              <th align="left">Algorithm</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">0</td>
              <td align="left">Additional Data Omitted</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">256</td>
              <td align="left">SHA256 <xref target="RFC6234"/></td>
            </tr>
            <tr>
              <td align="left">2-15</td>
              <td align="left">undef</td>
              <td align="left">Reserved for Future Use</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="approximate-sample-rate">
        <name>Approximate Sample Rate</name>
        <t>A client that reports only a sampled subset of its non-selected candidates (see
<xref target="not-selected-behavior"/>) uses the Approximate Sample Rate (ASR) field to expose
the rate at which it sampled, so that a receiver can estimate the number of
non-selection events that a given number of received messages represents. The
field takes one of the following values:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Sampling Rate</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">1 in 1 (unsampled)</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">1 in 2</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">1 in 5</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">1 in 10</td>
            </tr>
            <tr>
              <td align="left">4</td>
              <td align="left">1 in 20</td>
            </tr>
            <tr>
              <td align="left">5</td>
              <td align="left">1 in 50</td>
            </tr>
            <tr>
              <td align="left">6</td>
              <td align="left">1 in 100</td>
            </tr>
            <tr>
              <td align="left">7</td>
              <td align="left">1 in 200</td>
            </tr>
            <tr>
              <td align="left">8</td>
              <td align="left">1 in 500</td>
            </tr>
            <tr>
              <td align="left">9</td>
              <td align="left">1 in 1,000</td>
            </tr>
            <tr>
              <td align="left">10</td>
              <td align="left">1 in 10,000</td>
            </tr>
            <tr>
              <td align="left">11</td>
              <td align="left">1 in 100,000</td>
            </tr>
            <tr>
              <td align="left">12</td>
              <td align="left">1 in 1,000,000</td>
            </tr>
            <tr>
              <td align="left">13</td>
              <td align="left">1 in 10,000,000</td>
            </tr>
            <tr>
              <td align="left">14</td>
              <td align="left">Reserved for Future Use</td>
            </tr>
            <tr>
              <td align="left">15</td>
              <td align="left">Sampled, rate undisclosed</td>
            </tr>
          </tbody>
        </table>
        <t>A client may sample its non-selected candidates at any rate it chooses, and
<bcp14>SHOULD</bcp14> set this field to the defined value nearest, in proportional terms, to the
rate it actually used. A receiver estimates the number of non-selection events
that a set of messages bearing a given value represents by multiplying their
count by the N in the value's "1 in N" rate. Because the reported value is the
nearest defined rate rather than the exact rate applied, this estimate is
approximate, with an error bounded by the spacing between adjacent defined rates;
the field is named accordingly.</t>
        <t>The finer resolution at higher rates and coarser resolution at lower ones
reflects the expected use: an individual client sampling for its own reasons
operates at the higher rates, where the 1-2-5 spacing keeps the estimation error
of any single value small, while the decade steps at the low end serve
large-scale reporting deployments aggregating across many clients, for which a
coarser rate is sufficient.</t>
        <t>A value of 0 indicates that the client is not sampling and reports every
non-selected candidate; each such message represents exactly one non-selection
event.</t>
        <t>A value of 15 indicates that the client is sampling but does not disclose the
rate. A receiver <bcp14>MUST NOT</bcp14> use a message bearing this value to estimate a count of
non-selection events, as no unbiased estimate is possible from it; it <bcp14>MAY</bcp14> log or
count such messages as individual observations. This value allows a client to
treat its sample rate as sensitive, at the cost of the aggregate weighting its
messages would otherwise support; see <xref target="sampling-as-a-privacy-control"/>.</t>
        <t>A client <bcp14>MUST NOT</bcp14> set this field to a value marked Reserved for Future Use. A
receiver that encounters a reserved value <bcp14>MUST</bcp14> treat it as it treats the value
15, and <bcp14>MUST NOT</bcp14> use the message for count estimation; a rate defined for a
reserved value by a later document is thereby ignored, rather than
misinterpreted, by a receiver implementing this document.</t>
      </section>
      <section anchor="tuple-fields">
        <name>5-tuple fields</name>
        <t>The Next Header (or Protocol) field contains the IP protocol (e.g. TCP, UDP) of
the non-selected path. The Source and Destination Transport Port fields contain
the source and destination port of the non-selected path. While this will not
allow NAT transparency of the SAD message, it does allow analysis and
correlation across the NAT by the operator thereof. If the candidate transport
protocol does not have port numbers, or if the client chooses not to expose
them, these fields are set to 0.</t>
      </section>
      <section anchor="additional-data">
        <name>Additional Data</name>
        <t>The Additional Data contains code-specific additional data. If present, it <bcp14>MUST</bcp14>
be hashed with a hash algorithm specified by the Hash Algorithm field.</t>
      </section>
    </section>
    <section anchor="protocol-behaviors">
      <name>Protocol Behaviors</name>
      <t>Each of the (currently one) message code(s) associated with the SAD message has
an associated protocol behavior, defined below.</t>
      <section anchor="not-selected-behavior">
        <name>Not Selected</name>
        <t>A client sends a Not Selected message after it has decided not to use a given
candidate identified by the 5-tuple in the Not Selected message. There is no
guarantee of the relative timing of the SAD Not Selected message and the
transport layer shutdown datagrams associated with this nonselection.</t>
        <t>The client may send Not Selected messages on only a sampled portion of its
non-selected candidates. In this case, the client <bcp14>SHOULD</bcp14> expose the selected
sample rate in the Approximate Sample Rate field.</t>
        <t>As this is an advisory path signal, forwarding elements and servers <bcp14>MUST NOT</bcp14>
take any action on the receipt of a Not Selected message beyond logging them for
later analysis.</t>
        <t>In the following cases, the client <bcp14>MUST NOT</bcp14> include the hashed DNS answer in the
Not Selected message:</t>
        <ul spacing="normal">
          <li>
            <t>if the DNS Answer message was retrieved from an off-path resolver
(e.g., via DoH <xref target="RFC8484"/>), since the answer would be useless to
an on-path resolver.</t>
          </li>
          <li>
            <t>if the connection attempt used Encrypted Client Hello (ECH) <xref target="RFC9849"/>
in the TLS handshake, since the answer might not have sufficient entropy to
allow the answer hash to adequately protect the server name.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>As an explicit path signal, SAD exposes information about path non-selection to
devices along the path of a non-selected candidate, and does so in an
unauthenticated ICMP message carried outside any cryptographic context shared
with its receiver. The considerations in this section follow the guidelines in
<xref target="RFC3552"/>, and assume an attacker that is either on the path between the
client and the non-selected candidate, in which case it can observe, delay,
drop, or modify SAD messages at will, or off the path, in which case it can
inject SAD messages provided it is able to spoof the source address of a client.
Neither capability is addressed by the mechanism described in this document.</t>
      <section anchor="message-injection-and-spoofing">
        <name>Message Injection and Spoofing</name>
        <t>ICMP messages carry no source authentication, and SAD adds none. An off-path
attacker able to spoof a client's source address can therefore generate Not
Selected messages bearing an arbitrary five-tuple and arbitrary contents in the
Additional Data field, and a receiver of such a message has no means available
to it to distinguish that message from one generated by the client it purports
to come from.</t>
        <t>The consequence of this is corruption of the datasets SAD exists to populate.
Since receivers are expected to log these messages for later analysis (see
<xref target="not-selected-behavior"/>), an attacker can inject apparent non-selection events
for candidates that were never offered, or in volumes that misrepresent the rate
at which non-selection occurs, and thereby bias aggregate analysis in a
direction of its choosing. A partial mitigation follows from the intended use of
the signal: since SAD is designed to be correlated with data the receiver
already holds, messages for which no corresponding local record exists can be
treated as unverified, and analyses that rest on SAD messages alone, without
such correlation, should be understood to rest on unauthenticated input.</t>
      </section>
      <section anchor="use-as-a-traffic-direction-primitive">
        <name>Use as a Traffic Direction Primitive</name>
        <t>The destination address of a SAD message is chosen by the client, since it is by
definition the address of a candidate that the client has declined to use, and
nothing in this document constrains the set of addresses that a client may treat
as a candidate. A compromised client, or code running on an otherwise
well-behaved host, can therefore be made to emit Type 44 messages toward an
arbitrary victim address.</t>
        <t>SAD provides no amplification: each message is generated by the client, elicits
no response, and is small, so the traffic that can be directed at a victim in
this way is bounded above by the traffic the compromised host could direct at
that victim in any case. The mechanism therefore adds no new denial-of-service
capability, though it may supply traffic of a kind that is less likely than
other traffic from the same host to be attributed to that host's compromise.
Ordinary ICMP rate limiting at forwarding elements, together with ingress
filtering <xref target="RFC2827"/>, remains the appropriate response; SAD is not designed to
carry a defense of its own.</t>
      </section>
      <section anchor="reaction-to-advisory-signals">
        <name>Reaction to Advisory Signals</name>
        <t><xref target="not-selected-behavior"/> requires that receivers take no action on a Not
Selected message beyond logging it for later analysis. This is a design
constraint on receivers rather than a property of the protocol: it cannot be
enforced by the sender, and its observance cannot be verified by any party.</t>
        <t>Where it is not observed, the injection capability described above becomes
considerably more consequential. A receiver that feeds SAD messages into
automated blocklisting, into traffic engineering decisions with immediate
effect, or into reconfiguration of server or resolver selection grants an
attacker able to spoof a client address a measure of direct influence over that
receiver's behavior, at a cost to the attacker of a single forged packet. The
restriction to logging is accordingly not merely a matter of layering hygiene in
the sense of <xref target="RFC8558"/>; it is the property that keeps a forgeable advisory
signal from becoming a control input.</t>
      </section>
      <section anchor="interaction-with-network-filtering">
        <name>Interaction with Network Filtering</name>
        <t>As a newly allocated ICMP type, SAD messages may be discarded by firewalls and
middleboxes configured to forward only those ICMP types known to them at the
time of their deployment. The pattern of transmission may attract attention
independently of the type allocation: messages bearing a fixed-length opaque
payload, sent to addresses with which the host has recently had short-lived
flows, resemble the traffic patterns of ICMP tunneling and of reconnaissance,
and may be treated as such by intrusion detection systems.</t>
        <t>Delivery of SAD messages should therefore be expected to be unreliable in ways
that are neither uniform across paths nor stable over time. This is not harmful
to the client, whose operation does not depend on delivery, but it does mean
that the absence of SAD messages at a collector cannot be taken as evidence of
the absence of the non-selection events they would have reported.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>SAD deliberately places on the wire information about a client's candidate
selection that would not otherwise appear there, and does so in a message
addressed to a party that, by construction, the client has decided not to
communicate with. The considerations in this section use the terminology of
<xref target="RFC6973"/>.</t>
      <section anchor="exposure-of-the-five-tuple">
        <name>Exposure of the Five-Tuple</name>
        <t>The exposure of transport ports in the SAD message is a deliberate design
decision, taken so that the operator of a NAT along the path can
correlate the message with its own translation state. The correlation this
enables for the NAT operator is precisely the correlation it enables for every
other observer of the message. A client behind a NAT ordinarily has its activity
aggregated with that of other clients sharing the same external address; a SAD
message restores a per-flow view of that activity to any observer positioned to
see it, including the receiving candidate itself.</t>
        <t>A client for which this exposure is unacceptable can set the port fields to
zero, as the definition of those fields permits, at the cost of the correlation
they exist to support.</t>
      </section>
      <section anchor="linkability-of-the-hashed-dns-answer">
        <name>Linkability of the Hashed DNS Answer</name>
        <t>The hash carried in the Additional Data field is a deterministic function of the
DNS answer, and is therefore stable across every message that reports
non-selection of a candidate derived from that answer. An observer that receives
more than one such message can link those messages to one another by equality of
the field alone, without reversing the hash and without reference to the source
address of the messages. That linkage extends across time, across changes of
client address and NAT binding, and across devices, since two clients resolving
the same name will produce the same hash.</t>
        <t>The Additional Data field is thus a linkable identifier in the sense of
<xref target="RFC6973"/>. It identifies a resolution rather than a user, and for names
resolved by very many clients the distinction is a meaningful one; for names
resolved by few, it is thin. <xref target="not-selected-behavior"/> requires that the hashed
answer be omitted where the client knows the answer was retrieved from an
off-path resolver, which addresses the related concern that SAD would otherwise
disclose to on-path parties the content of resolutions deliberately routed
around them, but it does not bear on the linkability described here, which
arises equally for answers obtained on path.</t>
      </section>
      <section anchor="limits-of-hashing">
        <name>Limits of Hashing</name>
        <t>Hashing the Additional Data raises the cost of reading it; it does not make it
confidential. DNS answers are drawn from a space that is public, enumerable, and
for any given deployment small: an observer that wishes to learn which name a
given hash corresponds to can compute the hashes of the names it considers
plausible and compare, at a cost that does not scale with the strength of the
hash function.</t>
        <t>The hashing in this design should accordingly be understood as limiting bulk
disclosure to incidental observers, and as providing a correlation handle to
parties that already hold the answer, which is the goal stated in
<xref target="introduction"/> — and not as withholding the answer from an observer that wants
it. This follows from the distribution of the inputs rather than from the choice
of algorithm, and registration of stronger algorithms in the Hash Algorithm
registry will not change it. A construction that did resist such an attack, such
as a keyed hash or a per-client salt, would do so by destroying the cross-party
correlation the field exists to provide.</t>
      </section>
      <section anchor="sampling-as-a-privacy-control">
        <name>Sampling as a Privacy Control</name>
        <t>The Approximate Sample Rate field described in <xref target="approximate-sample-rate"/>
allows a client to report non-selection for only a portion of its candidates.
Sampling bounds the number of linkable observations any observer can collect
from a given client over a given interval, and clients weighing the exposure
described above may reasonably treat the sample rate as a privacy parameter as
well as a measurement one.</t>
        <t>The rate itself is visible in the message, and a rate that is unusual among the
population of clients an observer sees may serve to distinguish those clients
from the remainder. Clients selecting a sample rate for privacy reasons are
therefore better served by a value that is common among their peers than by one
chosen independently.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has two actions for IANA:</t>
      <ul spacing="normal">
        <li>
          <t>It requests the allocation of Type 44 in the ICMP Type Numbers registry for
Slow Alternative Detection, with this document as reference on publication as
an RFC.</t>
        </li>
        <li>
          <t>It requests the establishment the Slow Alternative Detection ICMP Code Field
subregistry initialized with the contents of <xref target="code"/>.</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-happy-happyeyeballs-v3">
          <front>
            <title>Happy Eyeballs Version 3: Better Connectivity Using Concurrency</title>
            <author fullname="Tommy Pauly" initials="T." surname="Pauly">
              <organization>Apple Inc</organization>
            </author>
            <author fullname="David Schinazi" initials="D." surname="Schinazi">
              <organization>Google LLC</organization>
            </author>
            <author fullname="Nidhi Jaju" initials="N." surname="Jaju">
              <organization>Google LLC</organization>
            </author>
            <author fullname="Kenichi Ishibashi" initials="K." surname="Ishibashi">
              <organization>Google LLC</organization>
            </author>
            <date day="1" month="July" year="2026"/>
            <abstract>
              <t>   Many communication protocols operating over the modern Internet use
   hostnames.  These often resolve to multiple IP addresses, each of
   which may have different performance and connectivity
   characteristics.  Since specific addresses or address families (IPv4
   or IPv6) may be blocked, broken, or sub-optimal on a network, clients
   that attempt multiple connections in parallel have a chance of
   establishing a connection more quickly.  This document defines the
   algorithm for "Happy Eyeballs", a technique for reducing user-visible
   delays on dual-stack hosts.  This document updates the algorithm in
   RFC 8305.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-happy-happyeyeballs-v3-04"/>
        </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="RFC1035">
          <front>
            <title>Domain names - implementation and specification</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System. It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1035"/>
          <seriesInfo name="DOI" value="10.17487/RFC1035"/>
        </reference>
        <reference anchor="RFC6234">
          <front>
            <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>Federal Information Processing Standard, FIPS</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6234"/>
          <seriesInfo name="DOI" value="10.17487/RFC6234"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8558">
          <front>
            <title>Transport Protocol Path Signals</title>
            <author fullname="T. Hardie" initials="T." role="editor" surname="Hardie"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document discusses the nature of signals seen by on-path elements examining transport protocols, contrasting implicit and explicit signals. For example, TCP's state machine uses a series of well-known messages that are exchanged in the clear. Because these are visible to network elements on the path between the two nodes setting up the transport connection, they are often used as signals by those network elements. In transports that do not exchange these messages in the clear, on-path network elements lack those signals. Often, the removal of those signals is intended by those moving the messages to confidential channels. Where the endpoints desire that network elements along the path receive these signals, this document recommends explicit signals be used.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8558"/>
          <seriesInfo name="DOI" value="10.17487/RFC8558"/>
        </reference>
        <reference anchor="RFC8484">
          <front>
            <title>DNS Queries over HTTPS (DoH)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8484"/>
          <seriesInfo name="DOI" value="10.17487/RFC8484"/>
        </reference>
        <reference anchor="RFC9849">
          <front>
            <title>TLS Encrypted Client Hello</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="K. Oku" initials="K." surname="Oku"/>
            <author fullname="N. Sullivan" initials="N." surname="Sullivan"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="March" year="2026"/>
            <abstract>
              <t>This document describes a mechanism in Transport Layer Security (TLS) for encrypting a message under a server public key.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9849"/>
          <seriesInfo name="DOI" value="10.17487/RFC9849"/>
        </reference>
        <reference anchor="RFC3552">
          <front>
            <title>Guidelines for Writing RFC Text on Security Considerations</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="B. Korver" initials="B." surname="Korver"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak. This document provides guidelines to RFC authors on how to write a good Security Considerations section. 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="72"/>
          <seriesInfo name="RFC" value="3552"/>
          <seriesInfo name="DOI" value="10.17487/RFC3552"/>
        </reference>
        <reference anchor="RFC2827">
          <front>
            <title>Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing</title>
            <author fullname="P. Ferguson" initials="P." surname="Ferguson"/>
            <author fullname="D. Senie" initials="D." surname="Senie"/>
            <date month="May" year="2000"/>
            <abstract>
              <t>This paper discusses a simple, effective, and straightforward method for using ingress traffic filtering to prohibit DoS (Denial of Service) attacks which use forged IP addresses to be propagated from 'behind' an Internet Service Provider's (ISP) aggregation point. 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="38"/>
          <seriesInfo name="RFC" value="2827"/>
          <seriesInfo name="DOI" value="10.17487/RFC2827"/>
        </reference>
        <reference anchor="RFC6973">
          <front>
            <title>Privacy Considerations for Internet Protocols</title>
            <author fullname="A. Cooper" initials="A." surname="Cooper"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="J. Morris" initials="J." surname="Morris"/>
            <author fullname="M. Hansen" initials="M." surname="Hansen"/>
            <author fullname="R. Smith" initials="R." surname="Smith"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications. It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices. It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6973"/>
          <seriesInfo name="DOI" value="10.17487/RFC6973"/>
        </reference>
      </references>
    </references>
    <?line 421?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to the participants in the discussions on error reporting at the HAPPY WG
meetings at IETF 123 in Madrid, IETF 124 in Montreal, and on the mailing list in
between, to which this document is an answer. Special thanks to Martin Duke for
backronyming the name of this extension, and to Martin Thomson for pointing out
interactions with ECH.</t>
      <t>The Approximate Sample Rate and Security and Privacy Considerations sections
were written with the assistance of Claude Opus.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
4AJQAAA=

-->

</rfc>
