What is happy eyeballs ?
This term is very important to understand if you are deploying dual stack IPv6 network.
Before defining happy eyeballs, do you know what is an eyeball network ? Where is it used ? Where does ‘ happy eyeballs ‘ term come from ?
Eyeball is an end user network. Regular Internet users. You are an eyeball !
This is very commonly used term among the network operators. Broadband ISPs, Transit SPs, Backbone Providers, Cable Providers, Mobile Operators, Content Providers , CDNs, MSOs, all uses ‘ eyeball ‘ term to indicate end users , not the servers or application traffic.
For example, CDN (Content Delivery Network) doesn’t have eyeball traffic but they have a content heavy network. Akamai for example is a content heavy network, not an eyeball network. (I will cover Content heavy vs eyeball heavy networks and their interconnection problems between the Service Providers in a separate post)
On the other hand, broadband service provider has so many end users thus they have eyeball heavy networks.
So, if you are happy , we call it happy eyeballs 🙂
Happy eyeballs term is used in IPv6 dual stack deployment. But how eyeball can be happy ? What can make you sad ?
After you deploy IPv6 on your network and performance of your network reduces, you would be sad right ?
You would even think to disable or remove IPv6 from the network entirely.
Formal definition of the term from Wikipedia:
Happy Eyeballs (also called Fast Fallback) is an algorithm published by the IETF which can
make 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 avoiding the usual problems faced by users with imperfect IPv6 connections or setups.
Mechanism is designed to address the problem that many IPv6 networks are unreachable from parts of
the Internet and applications trying to reach those networks will appear unresponsive, thus frustrating
Happy Eyeballs solves this problem by determining which transport would be better used for a particular connection by trying them both in parallel. The algorithm and its requirements are described in RFC 6555, “Happy Eyeballs: Success with Dual-Stack Hosts”.
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.