Happy Eyeballs: Success with Dual-Stack Hosts
RFC 6555
Document | Type |
RFC - Proposed Standard
(April 2012; Errata)
Obsoleted by RFC 8305
|
|
---|---|---|---|
Authors | Dan Wing , Andrew Yourtchenko | ||
Last updated | 2020-01-21 | ||
Replaces | draft-wing-v6ops-happy-eyeballs-ipv6 | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized with errata bibtex | ||
Reviews | |||
Stream | WG state | Submitted to IESG for Publication | |
Document shepherd | Fred Baker | ||
IESG | IESG state | RFC 6555 (Proposed Standard) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Ron Bonica | ||
IESG note | Fred Baker (fred.baker@cisco.com) is the document shepherd. | ||
Send notices to | (None) |
Internet Engineering Task Force (IETF) D. Wing Request for Comments: 6555 A. Yourtchenko Category: Standards Track Cisco ISSN: 2070-1721 April 2012 Happy Eyeballs: Success with Dual-Stack Hosts Abstract When a server's IPv4 path and protocol are working, but the server's IPv6 path and protocol are not working, a dual-stack client application experiences significant connection delay compared to an IPv4-only client. This is undesirable because it causes the dual- stack client to have a worse user experience. This document specifies requirements for algorithms that reduce this user-visible delay and provides an algorithm. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6555. Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Wing & Yourtchenko Standards Track [Page 1] RFC 6555 Happy Eyeballs Dual Stack April 2012 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Additional Network and Host Traffic . . . . . . . . . . . 3 2. Notational Conventions . . . . . . . . . . . . . . . . . . . . 3 3. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Hostnames . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2. Delay When IPv6 Is Not Accessible . . . . . . . . . . . . 5 4. Algorithm Requirements . . . . . . . . . . . . . . . . . . . . 6 4.1. Delay IPv4 . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2. Stateful Behavior When IPv6 Fails . . . . . . . . . . . . 8 4.3. Reset on Network (Re-)Initialization . . . . . . . . . . . 9 4.4. Abandon Non-Winning Connections . . . . . . . . . . . . . 9 5. Additional Considerations . . . . . . . . . . . . . . . . . . 10 5.1. Determining Address Type . . . . . . . . . . . . . . . . . 10 5.2. Debugging and Troubleshooting . . . . . . . . . . . . . . 10 5.3. Three or More Interfaces . . . . . . . . . . . . . . . . . 10 5.4. A and AAAA Resource Records . . . . . . . . . . . . . . . 10 5.5. Connection Timeout . . . . . . . . . . . . . . . . . . . . 11 5.6. Interaction with Same-Origin Policy . . . . . . . . . . . 11 5.7. Implementation Strategies . . . . . . . . . . . . . . . . 12 6. Example Algorithm . . . . . . . . . . . . . . . . . . . . . . 12 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 9.1. Normative References . . . . . . . . . . . . . . . . . . . 13 9.2. Informative References . . . . . . . . . . . . . . . . . . 13 Wing & Yourtchenko Standards Track [Page 2] RFC 6555 Happy Eyeballs Dual Stack April 2012 1. Introduction In order to use applications over IPv6, it is necessary that users enjoy nearly identical performance as compared to IPv4. A combination of today's applications, IPv6 tunneling, IPv6 service providers, and some of today's content providers all cause the user experience to suffer (Section 3). For IPv6, a content provider may ensure a positive user experience by using a DNS white list of IPv6 service providers who peer directly with them (e.g., [WHITELIST]). However, this does not scale well (to the number of DNS servers worldwide or the number of content providers worldwide) and does react to intermittent network path outages. Instead, applications reduce connection setup delays themselves, byShow full document text