Happy Eyeballs Version 2: Better Connectivity Using Concurrency
RFC 8305

Document Type RFC - Proposed Standard (December 2017; No errata)
Obsoletes RFC 6555
Last updated 2017-12-21
Replaces draft-pauly-v6ops-happy-eyeballs-update
Stream IETF
Formats plain text pdf html bibtex
Reviews
Stream WG state Submitted to IESG for Publication (wg milestone: Nov 2017 - Update RFC 6555 with... )
Document shepherd Ron Bonica
Shepherd write-up Show (last changed 2017-10-06)
IESG IESG state RFC 8305 (Proposed Standard)
Consensus Boilerplate Yes
Telechat date
Responsible AD Warren Kumari
Send notices to Ron Bonica <rbonica@juniper.net>
IANA IANA review state Version Changed - Review Needed
IANA action state No IANA Actions
Internet Engineering Task Force (IETF)                       D. Schinazi
Request for Comments: 8305                                      T. Pauly
Obsoletes: 6555                                               Apple Inc.
Category: Standards Track                                  December 2017
ISSN: 2070-1721

    Happy Eyeballs Version 2: Better Connectivity Using Concurrency

Abstract

   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.

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 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc8305.

Schinazi & Pauly             Standards Track                    [Page 1]
RFC 8305                    Happy Eyeballs v2              December 2017

Copyright Notice

   Copyright (c) 2017 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
   (https://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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   2.  Overview  . . . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Hostname Resolution Query Handling  . . . . . . . . . . . . .   4
     3.1.  Handling Multiple DNS Server Addresses  . . . . . . . . .   5
   4.  Sorting Addresses . . . . . . . . . . . . . . . . . . . . . .   6
   5.  Connection Attempts . . . . . . . . . . . . . . . . . . . . .   7
   6.  DNS Answer Changes during Happy Eyeballs Connection Setup . .   8
   7.  Supporting IPv6-Only Networks with NAT64 and DNS64  . . . . .   8
     7.1.  IPv4 Address Literals . . . . . . . . . . . . . . . . . .   8
     7.2.  Hostnames with Broken AAAA Records  . . . . . . . . . . .   9
     7.3.  Virtual Private Networks  . . . . . . . . . . . . . . . .  10
   8.  Summary of Configurable Values  . . . . . . . . . . . . . . .  10
   9.  Limitations . . . . . . . . . . . . . . . . . . . . . . . . .  11
     9.1.  Path Maximum Transmission Unit Discovery  . . . . . . . .  11
     9.2.  Application Layer . . . . . . . . . . . . . . . . . . . .  11
     9.3.  Hiding Operational Issues . . . . . . . . . . . . . . . .  11
   10. Security Considerations . . . . . . . . . . . . . . . . . . .  12
   11. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  12
   12. References  . . . . . . . . . . . . . . . . . . . . . . . . .  12
     12.1.  Normative References . . . . . . . . . . . . . . . . . .  12
     12.2.  Informative References . . . . . . . . . . . . . . . . .  13
   Appendix A.  Differences from RFC 6555  . . . . . . . . . . . . .  14
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .  15
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  15

Schinazi & Pauly             Standards Track                    [Page 2]
RFC 8305                    Happy Eyeballs v2              December 2017

1.  Introduction

   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
Show full document text