draft-wing-v6ops-happy-eyeballs-ipv6
Happy Eyeballs:
Trending Towards Success with Dual-Stack Hosts
Dan Wing
Andrew Yourtchenko
{dwing, ayourtch}@cisco.com
1Happy Eyeballs - IETF79
2
The Problem
IPv6 outages cause user frustration
“Turn on Dual Stack, It Will Work” causes 20 seconds of frustration
Solution: improve application behavior
Happy Eyeballs - IETF79
3
IPv6 Outages
Broken IPv6 tunnels
Single IPv6 peering
IPv4 responsiveness better than IPv6
“accidental IPv6”, IPv6 islands
/>Happy Eyeballs - IETF79
4
Proposal: Send Probes, Learn, Quick Fallback
1. Send Probes: Try connecting to both IPv4 and IPv6
Similar to ICE (RFC5245)
2. Learn:
Use the past to predict the future
Avoids constant doubling of TCP SYNs
3. Quick Fallback
Happy Eyeballs - IETF79
Current Behavior
5Happy Eyeballs - IETF79
DNS Server
Web Browser Server
AAAA? example.com
A? example.com
example.com, AAAA=2001:db8::1
Example.com, A=192.0.2.1
TCP SYN, IPv6
TCP SYN, IPv6
TCP SYN, IPv6
TCP SYN, IPv4
about 20 seconds, depending on
OS and browser
IPv6 is broken
Happy Eyeballs Behavior 1: Probing
6Happy Eyeballs - IETF79
DNS Server
Web Browser Server
AAAA? example.com
A? example.com
example.com, AAAA=2001:db8::1
Example.com, A=192.0.2.1
TCP SYN, IPv6
TCP SYN, IPv4
Behavior 2: Learn
Remember IPv4 success
immediate
IPv6 is broken
Happy Eyeballs Behavior 3: Quick Fallback
7Happy Eyeballs - IETF79
DNS Server
Web Browser Server
TCP SYN, IPv4
TCP SYN, IPv6
IPv4 breaks, IPv6 works
aggressive (2-3 seconds)
Lots of successful connections
Behavior 2: Learn
Remember IPv6 success
Happy Eyeballs Status
Probing implemented in Links browser
No, not Lynx, rather:
Quick fallback needs more thought
“P” algorithm is our first cut
If IPvX is successful, try it first
Attaching to new network should clear Learned success
8Happy Eyeballs - IETF79
9
Happy Eyeballs, Discussion
Today: Users frustrated with broken IPv6, and tempted to disable IPv6
Should we ask some applications to probe both IPv6 and IPv4?
Happy Eyeballs - IETF79