Jump to content

英文维基 | 中文维基 | 日文维基 | 草榴社区

Happy Eyeballs

From Wikipedia, the free encyclopedia

Happy Eyeballs (also called Fast Fallback) is an algorithm published by the IETF that makes dual-stack applications (those that understand both IPv4 and IPv6) more responsive to users by attempting to connect using both IPv4 and IPv6 at the same time (preferring IPv6), thus minimizing IPv6 brokenness and DNS whitelisting experienced by users that have imperfect IPv6 connections or setups. The name "happy eyeballs" derives from the term "eyeball" to describe endpoints which represent human Internet end-users, as opposed to servers.[1]

Happy Eyeballs is designed to address the problem that many IPv6 networks are unreachable from parts of the Internet,[2] and applications that try to reach those networks appear unresponsive, which frustrates users. Happy Eyeballs solves this problem by determining which transport would be better used for a particular connection by trying them both in parallel.[3] An application that uses a Happy Eyeballs algorithm checks both IPv4 and IPv6 connectivity (with a preference for IPv6) and uses the first connection that is returned. The addresses are often chosen from the DNS with a round-robin algorithm.[4]

Implementations of Happy Eyeballs stacks exist in Google's Chrome web browser, Opera 12.10, Firefox version 13[citation needed], OS X,[5] cURL[6] and OpenBSD.[7]

Happy Eyeballs testing was part of World IPv6 Day in 2011.[8]

The Happy Eyeballs algorithm may be extended for choosing between types of transport protocols as well, such as TCP and SCTP, but development is still in an experimental phase.[9]

See also

[edit]

References

[edit]
  1. ^ "Definition of eyeballs". Cambridge Business English Dictionary. Cambridge University Press. Retrieved 2014-12-05.
  2. ^ Wing, Dan; Yourtchenko, Andrew (September 2010). "Happy Eyeballs: Improving User Experiences with IPv6 and SCTP" (PDF). Internet Protocol Journal. 13 (3): 16–21. ISSN 1944-1134. Retrieved 2022-02-02.
  3. ^ D. Schinazi; T. Pauly (December 2017). Happy Eyeballs Version 2: Better Connectivity Using Concurrency. Internet Engineering Task Force. doi:10.17487/RFC8305. ISSN 2070-1721. RFC 8305. Proposed Standard. Obsoletes RFC 6555.
  4. ^ Stenberg, Daniel. "getaddrinfo with round robin DNS and happy eyeballs". daniel.haxx.se. Retrieved 2012-01-15.
  5. ^ OS X El Capitan implementation is biased towards ipv6 with a 25 ms headstart, previously from OS X Lion to OS X Yosemite it used the fastest connection with no protocol preference, according to Schinazi, David. "[v6ops] Apple and IPv6 - Happy Eyeballs". www.ietf.org. Retrieved 2016-02-02.
  6. ^ Stenberg, Daniel. "curl vs Wget". daniel.haxx.se. Retrieved 2016-03-06.
  7. ^ "unwind(8); 'happy eyeballs'".
  8. ^ Townsley, Mark (2011-06-07). "Happy Eyeballs for World IPv6 Day". blogs.cisco.com. Archived from the original on 2019-09-03. Retrieved 2012-01-15.
  9. ^ Naeem, Khademi; Anna, Brunstrom; Per, Hurtig; Karl-Johan, Grinnemo (July 21, 2016). "Happy Eyeballs for Transport Selection". Ietf Datatracker. Retrieved 2017-01-09.