<?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.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-pang-v6ops-ipv6-path-degradation-00" category="info" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="IPv6 Path Degradation">IPv6 Path Performance Degradation in Dual-Stack Networks</title>
    <seriesInfo name="Internet-Draft" value="draft-pang-v6ops-ipv6-path-degradation-00"/>
    <author initials="R." surname="Pang" fullname="Ran Pang">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>pangran@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="J." surname="Zhao" fullname="Jing Zhao" role="editor">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhaoj501@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="X." surname="Gao" fullname="Xing Gao">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gaox60@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="W." surname="Lv" fullname="Wenxiang Lv">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>lvwx28@chinaunicom.cn</email>
      </address>
    </author>
    <date year="2026" month="July" day="05"/>
    <area>Operations and Management Area</area>
    <workgroup>v6ops</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 62?>

<t>The document analyzes contributing factors across the content service layer and the network transport layer, and discusses why existing mechanisms such as RFC 6724 and Happy Eyeballs do not fully address performance failures that appear after connection establishment. This document is limited to problem analysis, scope clarification, and areas for further study. It does not define new network-to-host signaling mechanisms or require hosts to use network-provided information when making address-family or path selection decisions.</t>
    </abstract>
  </front>
  <middle>
    <?line 66?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Dual-stack host behavior commonly relies on address selection rules defined in RFC 6724 <xref target="RFC6724"/> and connection establishment mechanisms such as Happy Eyeballs Version 2 (HEv2) <xref target="RFC8305"/>. Ongoing Happy Eyeballs Version 3 work <xref target="I-D.ietf-happy-happyeyeballs-v3"/> further extends connection setup behavior to consider SVCB/HTTPS records, application protocols, security properties, and transport choices such as QUIC and TCP.</t>
      <t>These mechanisms are effective at reducing user-visible delay when one address, address family, endpoint, or transport is unreachable or slow during connection setup. However, operational experience in production dual-stack networks shows that some failures occur after basic reachability and connection establishment have already succeeded. In these cases, an IPv6 path may be sufficiently functional to complete DNS resolution, ICMPv6 reachability checks, TCP handshakes, QUIC handshakes, or TLS handshakes, but may still perform poorly during subsequent application data transfer.</t>
      <t>This document terms this phenomenon "IPv6 path performance degradation." The objective is to define the boundaries of this scenario, analyze cross-layer coupling effects that amplify its impact, and identify areas for host-side mitigation mechanisms and further study.</t>
      <t>The central thesis of this document is that some dual-stack failures occur after basic reachability and connection establishment succeed. Existing Happy Eyeballs mechanisms do not standardize post-establishment comparative performance monitoring, cross-application performance-state reuse, or scoped adaptation of future IPv6/IPv4 selection based on verified degradation.</t>
    </section>
    <section anchor="problem-statement">
      <name>Problem Statement</name>
      <section anchor="typical-operational-symptoms">
        <name>Typical Operational Symptoms</name>
        <t>In dual-stack production environments, this issue may manifest through specific application-layer symptoms:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Lightweight text-based transactions</strong>, such as webpage text or instant messaging text payloads, function normally over IPv6, indicating that basic reachability is intact.</t>
          </li>
          <li>
            <t><strong>Heavy multimedia transactions</strong>, such as image thumbnails, video segments, or real-time media streams, experience high latency, stalling, loading failures, or frequent disconnections.</t>
          </li>
          <li>
            <t><strong>Temporarily forcing the host or application to use IPv4</strong> may immediately restore normal application performance.</t>
          </li>
        </ul>
        <t>These symptoms are often not reproduced by conventional basic-reachability probes, such as small-packet ICMPv6 probes or connection-establishment checks, which makes fault isolation costly.</t>
      </section>
      <section anchor="problem-model-ipv6-path-performance-degradation">
        <name>Problem Model: IPv6 Path Performance Degradation</name>
        <t>IPv6 path performance degradation is defined as a scenario where a host has obtained a valid Global Unicast Address (GUA) and a default route, and where basic ICMPv6 reachability and connection establishment succeed, yet the IPv6 path suffers from high round-trip time (RTT), high packet loss, retransmission timeouts, or application timeouts during large-packet transmission, high-volume data transfer, or high-concurrency short connections.</t>
        <t>This state sits between "fully connected" and "completely disconnected." It is a performance grey-failure mode that is not fully addressed by current dual-stack connection setup mechanisms.</t>
      </section>
      <section anchor="differentiation-from-total-unreachability">
        <name>Differentiation from Total Unreachability</name>
        <t>IPv6 path performance degradation differs from total unreachability in failure characteristics and self-healing behavior:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Characteristic</th>
              <th align="left">Total Unreachability</th>
              <th align="left">Path Performance Degradation (Grey-Failure)</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <strong>Definition</strong></td>
              <td align="left">Deterministic reachability failure where the host lacks an IPv6 address, lacks a valid default route, or cannot connect.</td>
              <td align="left">Basic reachability and connection setup succeed, but subsequent data transfer exposes quality degradation.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>Happy Eyeballs Reaction</strong></td>
              <td align="left">Proactively races candidates with a recommended 250 ms inter-attempt delay between connection attempts.</td>
              <td align="left">Limited for this failure mode. Once a candidate connection is successfully established, alternative attempts are normally cancelled, and post-establishment data-transfer quality is outside the primary decision window.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>Traffic Impact</strong></td>
              <td align="left">Fails uniformly across all packet types and sizes.</td>
              <td align="left">Small packets (SYNs, ICMPv6) traverse normally; large application payloads or concurrent flows stall/drop.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>Remediation Cost</strong></td>
              <td align="left">Low self-healing delay due to built-in connection racing.</td>
              <td align="left">High fault isolation cost; often requires manual fallback or triggers visible user stalling.</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="limitations-of-existing-dual-stack-protocols">
      <name>Limitations of Existing Dual-Stack Protocols</name>
      <section anchor="decision-window-and-metrics-restrictions">
        <name>Decision Window and Metrics Restrictions</name>
        <t>The core objective of Happy Eyeballs is to reduce user-visible delays when a resolved address, address family, endpoint, transport, or security option is unreachable or slow during connection setup. Happy Eyeballs mechanisms therefore focus on DNS resolution, endpoint ordering, connection attempt scheduling, and the determination of successful connection establishment.</t>
        <t>HEv2 <xref target="RFC8305"/> performs connection racing across individual destination addresses derived from DNS answers. It uses RFC 6724 sorting as an input and then modifies the candidate order, including address-family interleaving, to avoid excessive delay when one address family is impaired. HEv2 is therefore not strictly an address-family-layer mechanism. It also permits stateful clients to use information such as previous successful addresses and historical RTT to the same host or prefix when ordering candidates or choosing connection attempt timers, with appropriate scoping to the current network attachment.</t>
        <t>However, HEv2 does not define a standardized cache of comparative IPv6/IPv4 connection outcomes or post-establishment transport performance that can be broadly reused across applications and future connections. Its success criterion is generally tied to connection establishment, such as completion of the TCP handshake, and not to later application data transfer quality.</t>
        <t>HEv3 <xref target="I-D.ietf-happy-happyeyeballs-v3"/> extends the Happy Eyeballs model to consider SVCB/HTTPS resource records, application protocol support, security requirements, and transport choices such as QUIC and TCP. It also allows the definition of connection success to include higher-layer readiness checks. For example, clients using TLS over TCP can wait for the TLS handshake, and other application-specific readiness checks can be included before cancelling alternative attempts.</t>
        <t>Nevertheless, HEv3 remains a connection-setup specification. It does not standardize continuous post-establishment comparative performance monitoring, cross-application quality-state sharing, or dynamic remediation for long-lived or high-volume data transfers after the selected path has been used.</t>
        <t>In IPv6 path performance degradation scenarios, small packets and connection establishment exchanges may succeed, allowing connections to be selected and used. Subsequent large-packet flows, media transfers, or concurrent resource requests may then suffer severe latency, loss, or retransmission. Existing mechanisms do not provide a standardized way to recognize this intermediate "connected but degraded" state and adjust future IPv6/IPv4 selection in a scoped and verified manner.</t>
      </section>
      <section anchor="static-address-selection-primitives">
        <name>Static Address Selection Primitives</name>
        <t>The default address selection rules specified in RFC 6724 <xref target="RFC6724"/> provide a deterministic policy for source and destination address selection. In common dual-stack cases, when other factors are equal, the default policy tends to prefer native IPv6 Global Unicast Addresses over IPv4-mapped addresses.</t>
        <t>This default behavior is important for IPv6 deployment, but it is not designed to reflect real-time path performance. During transitional deployment phases, IPv6 application clusters, transit links, peering paths, and edge nodes may have different capacity, optimization, or routing characteristics than their IPv4 counterparts. Static address selection alone cannot adjust based on verified path performance metrics, such as sustained RTT, retransmission behavior, or packet loss.</t>
      </section>
      <section anchor="limited-and-non-standardized-performance-state">
        <name>Limited and Non-Standardized Performance State</name>
        <t>Happy Eyeballs should not be described as purely stateless. RFC 8305 permits stateful behavior, including the use of previously successful addresses and historical RTT information, when scoped appropriately to the current network attachment. Such state can improve connection setup decisions.</t>
        <t>The limitation is different: this state is optional, implementation-specific, and primarily directed at connection setup. Existing Happy Eyeballs specifications do not define a standardized, multi-source, cross-application performance cache that records verified post-establishment IPv6/IPv4 quality outcomes and applies them safely to future connection decisions.</t>
        <t>Modern web applications often initiate many concurrent secondary resource requests within a single page session. When a dual-stack secondary origin has a degraded IPv6 path, each connection can independently incur connection setup, retransmission, or timeout penalties. For multiplexed protocols such as HTTP/2 or HTTP/3, degradation may also manifest as request-level timeouts and retransmissions within a single connection, compounding application-layer latency and degrading user experience.</t>
      </section>
    </section>
    <section anchor="triggers-for-ipv6-path-performance-degradation">
      <name>Triggers for IPv6 Path Performance Degradation</name>
      <section anchor="content-service-layer-factors">
        <name>Content Service Layer Factors</name>
        <section anchor="asymmetric-server-cluster-capacity">
          <name>Asymmetric Server Cluster Capacity</name>
          <t>Many content providers deploy IPv4 and IPv6 services using independent server clusters with asymmetric compute, egress bandwidth, cache capacity, or concurrent connection quotas. In some deployments, IPv6 clusters may receive fewer resources or may not scale at the same rate as dual-stack user penetration.</t>
          <t>During peak hours, IPv6 server clusters can experience queue overflows or link congestion, causing spikes in application RTT, retransmissions, or packet loss, while basic reachability probes remain unaffected. Hosts and applications may continue to prefer these IPv6 endpoints because connection establishment still succeeds.</t>
        </section>
        <section anchor="asymmetric-dns-configurations-in-tiered-resources">
          <name>Asymmetric DNS Configurations in Tiered Resources</name>
          <t>Modern applications commonly use tiered loading architectures in which primary pages, images, scripts, CDN segments, media streams, and telemetry endpoints are served by different origins.</t>
          <t>The degradation described in this document applies when affected secondary origins are dual-stack and publish both A and AAAA records, but the IPv6 path or IPv6 service cluster for those origins performs worse than the IPv4 path or cluster. In that case, each secondary origin may independently execute Happy Eyeballs connection setup, and any post-establishment degradation can compound across many resources.</t>
        </section>
        <section anchor="dual-stack-application-module-adaptation-defects">
          <name>Dual-Stack Application Module Adaptation Defects</name>
          <t>Even when servers support dual-stack addresses, application-layer software modules may exhibit IPv6-specific anomalies:</t>
          <ul spacing="normal">
            <li>
              <t>Session authentication logic timing out or retrying continuously when accessed via IPv6.</t>
            </li>
            <li>
              <t>Real-time media modules failing to fully initialize over the IPv6 stack, causing stream failures or frequent drops.</t>
            </li>
            <li>
              <t>Dual-stack reverse proxies or load balancers failing to forward requests properly to IPv4-only backend microservices.</t>
            </li>
            <li>
              <t>IPv6-specific policy, logging, geolocation, or access-control paths differing from IPv4 behavior.</t>
            </li>
          </ul>
          <t>These defects may be transparent to basic reachability and connection establishment checks and may activate only under specific application interaction patterns.</t>
        </section>
      </section>
      <section anchor="network-transport-layer-factors">
        <name>Network Transport Layer Factors</name>
        <section anchor="pmtu-black-holes-and-packet-dropping">
          <name>PMTU Black Holes and Packet Dropping</name>
          <t>IPv6 requires a minimum link MTU of 1280 bytes, though many production links support a 1500-byte MTU. When a packet exceeds a path's effective MTU, intermediate routers are expected to generate an ICMPv6 Packet Too Big (PTB) message to trigger Path MTU Discovery (PMTUD) <xref target="RFC8201"/> at the source.</t>
          <t>However, this signaling path can be impaired by:</t>
          <ul spacing="normal">
            <li>
              <t>Security policies filtering ICMPv6 messages at firewalls or data center boundaries.</t>
            </li>
            <li>
              <t>Hardware forwarding engines failing to generate PTB messages under certain line-rate or offload conditions.</t>
            </li>
            <li>
              <t>Tunnel encapsulation overhead, such as PPPoE, SRv6, GRE, or IPsec, reducing the effective MTU below 1500 bytes without a corresponding signal to the host.</t>
            </li>
            <li>
              <t>Misconfigured middleboxes that drop PTB messages or other ICMPv6 errors.</t>
            </li>
          </ul>
          <t>Furthermore, as documented in <xref target="RFC7872"/>, some intermediate devices drop IPv6 packets containing Extension Headers, including Fragment Headers. This can break host attempts to mitigate PMTU issues through fragmentation. Packetization Layer Path MTU Discovery (PLPMTUD) <xref target="RFC4821"/> provides an alternative, but it is not uniformly deployed or transparently integrated across all application layers.</t>
          <t>Consequently, small packets such as TCP SYNs, QUIC Initial packets within the effective MTU, or small request payloads may traverse the path normally, while larger application payloads are dropped or severely delayed, resulting in application timeouts.</t>
        </section>
        <section anchor="asymmetric-inter-domain-link-quality">
          <name>Asymmetric Inter-Domain Link Quality</name>
          <t>Inter-domain peering paths for IPv6 may exhibit performance disparities compared to IPv4 due to several factors:</t>
          <ul spacing="normal">
            <li>
              <t>Under-provisioned IPv6 peering bandwidth, causing congestion and packet loss during peak traffic hours.</t>
            </li>
            <li>
              <t>Unoptimized IPv6 routing policies resulting in circuitous AS paths, making IPv6 RTT significantly higher than IPv4.</t>
            </li>
            <li>
              <t>Lower deployment density of IPv6 Anycast edge nodes in some CDN or content networks, routing users to geographically distant nodes.</t>
            </li>
            <li>
              <t>Differences in traffic engineering maturity between IPv4 and IPv6 networks.</t>
            </li>
          </ul>
          <t>These conditions can occur across inter-provider and international boundaries and may follow daily traffic cycles. Because the IPv6 path remains reachable and connection establishment succeeds, connection setup mechanisms alone may not detect the sustained performance disparity.</t>
        </section>
      </section>
      <section anchor="compounding-effects-of-multi-root-coupling">
        <name>Compounding Effects of Multi-Root Coupling</name>
        <t>The triggers at the content layer and network transport layer do not operate in isolation. They can couple with host and application selection behavior to compound user experience degradation.</t>
        <artwork><![CDATA[
+-------------------------------------------------------------+
|          Multi-Root Coupling Compounding Effect             |
+-------------------------------------------------------------+
| 1. Content-layer IPv6 cluster saturation increases RTT      |
|                          v                                  |
| 2. Network-layer PMTU black holes silently drop packets     |
|                          v                                  |
| 3. Connection setup succeeds; later data degradation remains|
| outside HE's primary decision window                        |
|                          v                                  |
| 4. No standardized cross-app performance state is available |
| for future scoped adaptation                                |
+-------------------------------------------------------------+
]]></artwork>
        <t>While a single root cause might only introduce limited variation, multi-factor coupling can extend total application load times by several seconds, triggering visible stalling and user complaints.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Any future remediation state needs to be scoped to the relevant network context and destination granularity. A degradation signal or observation associated with one SSID, cellular cell, access network, destination prefix, or FQDN should not be applied globally. Hosts should avoid persistent system-wide IPv6 disablement as a response to localized path performance degradation.</t>
      <t>Host-side performance observations and adaptation mechanisms need to avoid amplification risks and excessive probing traffic toward remote endpoints.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no IANA requests.</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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC4821" target="https://www.rfc-editor.org/info/rfc4821" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4821.xml">
          <front>
            <title>Packetization Layer Path MTU Discovery</title>
            <author fullname="M. Mathis" initials="M." surname="Mathis"/>
            <author fullname="J. Heffner" initials="J." surname="Heffner"/>
            <date month="March" year="2007"/>
            <abstract>
              <t>This document describes a robust method for Path MTU Discovery (PMTUD) that relies on TCP or some other Packetization Layer to probe an Internet path with progressively larger packets. This method is described as an extension to RFC 1191 and RFC 1981, which specify ICMP-based Path MTU Discovery for IP versions 4 and 6, respectively. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4821"/>
          <seriesInfo name="DOI" value="10.17487/RFC4821"/>
        </reference>
        <reference anchor="RFC6724" target="https://www.rfc-editor.org/info/rfc6724" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6724.xml">
          <front>
            <title>Default Address Selection for Internet Protocol Version 6 (IPv6)</title>
            <author fullname="D. Thaler" initials="D." role="editor" surname="Thaler"/>
            <author fullname="R. Draves" initials="R." surname="Draves"/>
            <author fullname="A. Matsumoto" initials="A." surname="Matsumoto"/>
            <author fullname="T. Chown" initials="T." surname="Chown"/>
            <date month="September" year="2012"/>
            <abstract>
              <t>This document describes two algorithms, one for source address selection and one for destination address selection. The algorithms specify default behavior for all Internet Protocol version 6 (IPv6) implementations. They do not override choices made by applications or upper-layer protocols, nor do they preclude the development of more advanced mechanisms for address selection. The two algorithms share a common context, including an optional mechanism for allowing administrators to provide policy that can override the default behavior. In dual-stack implementations, the destination address selection algorithm can consider both IPv4 and IPv6 addresses -- depending on the available source addresses, the algorithm might prefer IPv6 addresses over IPv4 addresses, or vice versa.</t>
              <t>Default address selection as defined in this specification applies to all IPv6 nodes, including both hosts and routers. This document obsoletes RFC 3484. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6724"/>
          <seriesInfo name="DOI" value="10.17487/RFC6724"/>
        </reference>
        <reference anchor="RFC7872" target="https://www.rfc-editor.org/info/rfc7872" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7872.xml">
          <front>
            <title>Observations on the Dropping of Packets with IPv6 Extension Headers in the Real World</title>
            <author fullname="F. Gont" initials="F." surname="Gont"/>
            <author fullname="J. Linkova" initials="J." surname="Linkova"/>
            <author fullname="T. Chown" initials="T." surname="Chown"/>
            <author fullname="W. Liu" initials="W." surname="Liu"/>
            <date month="June" year="2016"/>
            <abstract>
              <t>This document presents real-world data regarding the extent to which packets with IPv6 Extension Headers (EHs) are dropped in the Internet (as originally measured in August 2014 and later in June 2015, with similar results) and where in the network such dropping occurs. The aforementioned results serve as a problem statement that is expected to trigger operational advice on the filtering of IPv6 packets carrying IPv6 EHs so that the situation improves over time. This document also explains how the results were obtained, such that the corresponding measurements can be reproduced by other members of the community and repeated over time to observe changes in the handling of packets with IPv6 EHs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7872"/>
          <seriesInfo name="DOI" value="10.17487/RFC7872"/>
        </reference>
        <reference anchor="RFC8201" target="https://www.rfc-editor.org/info/rfc8201" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8201.xml">
          <front>
            <title>Path MTU Discovery for IP version 6</title>
            <author fullname="J. McCann" initials="J." surname="McCann"/>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="J. Mogul" initials="J." surname="Mogul"/>
            <author fullname="R. Hinden" initials="R." role="editor" surname="Hinden"/>
            <date month="July" year="2017"/>
            <abstract>
              <t>This document describes Path MTU Discovery (PMTUD) for IP version 6. It is largely derived from RFC 1191, which describes Path MTU Discovery for IP version 4. It obsoletes RFC 1981.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="87"/>
          <seriesInfo name="RFC" value="8201"/>
          <seriesInfo name="DOI" value="10.17487/RFC8201"/>
        </reference>
        <reference anchor="RFC8305" target="https://www.rfc-editor.org/info/rfc8305" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8305.xml">
          <front>
            <title>Happy Eyeballs Version 2: Better Connectivity Using Concurrency</title>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <date month="December" year="2017"/>
            <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 specifies requirements for algorithms that reduce this user-visible delay and provides an example algorithm, referred to as "Happy Eyeballs". This document obsoletes the original algorithm description in RFC 6555.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8305"/>
          <seriesInfo name="DOI" value="10.17487/RFC8305"/>
        </reference>
        <reference anchor="I-D.ietf-happy-happyeyeballs-v3" target="https://datatracker.ietf.org/doc/html/draft-ietf-happy-happyeyeballs-v3-04" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-happy-happyeyeballs-v3.xml">
          <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>
      </references>
    </references>
    <?line 225?>



  </back>
  <!-- ##markdown-source:
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
cGcWRBmcXdAOF8jQmJ7aTcHjojBNYTXj2TNuIBnYYSc4NTKfhfrXPs0Z7Pdu
2pHETgzVQFDF8BT21SzaEsF6gG1SosKSBsiUMaIS6mociZ4jGe0Q4r2BejEL
2dETPeUWIHUemh29q+qujTuqyE1REqa8b++mWDSUXeRlVxygF9lTlkgkWD7Q
lmzjESnsLYmDtOowu2Ti65Kww1aQ27JwXHp0kseS3pJ3qXYm1zysP3TeclYG
T3JdE9Jh0MOHUhI705OpKXcaAXjdWMTwLvXFiZhJTvDqlBlT1gkISGORrEK2
HrIODLJwt7pd1ao05JDHWnkfdrQ56hohw4bQPEemmsjAxjFuQ27NGY7MGV1e
ZODxPkxm0LJIsbFEd6noLKUGEJnxJht/yggM+XqySkQLPCO7OBBlBkowRV2M
BiEB4snmiMYFZ1wdgcEYLgbXHvkX5gxSGIuT7Q/G5PAYkKy4i6WtbMNxsHXC
4N9lgEOupQhXbZcEOmLcxM5JYhiNstXmbrosRtNo3Y8+g02OLDJNvOvAKCm7
m0QOvmty+3E2Gbusxb/2zlXDkebqf4BW7g0KixPO1YoWuSi81CXr8WD14i4k
30fUEDslahX6RwfISevMPPeE8Ii9g8yjiXZsHERvMrtBJ0Pqc5O5VsGVHZOf
siPPlF3K0vTUze7EUR11lchKxNsokGIvdwB18RG/JcPCVCWHOT7whiqIpLpp
lq4gV5eggDWtC6X0HJXZXNWR8/nLmDrVS2XpICh5EAIsthXcJ4llgEUk2NJX
y2nJwSTmlocyz6AUJvs+JvPwAidblN3PCSKTdc+UhPt0LhapAiJDRtjwoyk8
Igw0YMkYaztkE6yoY+/KGjlPFkvj8hLN1ZB3jJJwhpITk7BiC/bLY8CZ2CPG
oFodLYWjqbAImHJDWVbPeAlPwGRZmucntO4+j6sFv123fUNTeXYFy4qUSJhM
CsdKbVEmr7k7J1kic0rzRSeYWil+6UL7MZbWVczmCLWLN3qyFgdZabkA2JPo
WehUJG+u+vcvGwKy0KoedsYs8q5qoRrNnfXCQSDFKM2tPZSfyUCj58J16H3U
NMzI5R0pZI74CCn1SBRnv9LXxqmkRqY1ib6Qt6JTq1v3DAPwVjUE0ztYLgqm
yuF+PV1T+boYQEdSitF5+jKj4Cb4byKMacc8R2Hr0m8l1tGJu56HgRTcspL4
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

-->

</rfc>
