"Make problems visible and users happy" by Catherine Chabiron
Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to...
Transcript of Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to...
![Page 1: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/1.jpg)
Happy Eyeballs: Success with Dual-Stack Hosts
Andrew Yourtchenko, [email protected]
1 Happy Eyeballs
![Page 2: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/2.jpg)
PROBLEM AND HAPPY EYEBALLS SOLUTION
2 Happy Eyeballs
![Page 3: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/3.jpg)
The dark reality of IPv4 exhaustion
3 Happy Eyeballs
Pour your last IPv4 /24 here
Push up here to get one 5-tuple with a public address
![Page 4: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/4.jpg)
Wasn’t there a better solution ?
4 Happy Eyeballs
Image credit: http://www.publicdomainpictures.net/view-image.php?image=2779
![Page 5: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/5.jpg)
Implementation details…
5 Happy Eyeballs
Image credit: Jan Zorz
![Page 6: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/6.jpg)
Dualstack connection sequence
6 Happy Eyeballs
![Page 7: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/7.jpg)
Problem and Solution
• Dual-stack client connecting to dual-stack server
• Dual-stack cannot be slower than IPv4
• If slower, users blame IPv6 and disable IPv6!
• IPv6 cannot be slower than IPv4
7 Happy Eyeballs
![Page 8: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/8.jpg)
The Happy Eyeballs Solution
8 Happy Eyeballs
![Page 9: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/9.jpg)
Optimizing Happy Eyeballs
9 Happy Eyeballs
![Page 10: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/10.jpg)
RFC 6555: Happy Eyeballs
• Users are happy – fast response even if IPv6 (or IPv4) path is down
• Network administrators are happy
– Users no longer trying to disable IPv6
– Reduces IPv4 usage (reduces load on CGN)
• Content providers are happy
– Improved geolocation and DoS visibility with IPv6
10 Happy Eyeballs
![Page 11: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/11.jpg)
IMPLEMENTATIONS
11 Happy Eyeballs
![Page 12: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/12.jpg)
Happy Eyeballs Coverage
• Web browsing is the most common application
(http://jazzychad.net/dcpu.html)
• First, improve the web browsing experience
• Second, improve other applications
– Instant messaging, email client, etc.
Happy Eyeballs 12
www other
![Page 13: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/13.jpg)
Implementations
• Google Chrome (in current stable channel)
• Mozilla Firefox version 10
• Apple OSX 10.7 (“Lion”)
– getaddrinfo()
– Safari
• Apple iOS 4.3.1
13 Happy Eyeballs
![Page 14: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/14.jpg)
Chrome and Firefox Implementation
• Utilizes long-established 250-300ms ‘backup’ thread
– Originally just tried the next IP address
– Happy Eyeballs: tries the next IP address family
• Follows getaddrinfo() address preference
– IPv6 is usually preferred by the Operating System
• Result: IPv6 gets 250-300ms head start
14
Happy Eyeballs
![Page 15: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/15.jpg)
Apple Implementation
• Apple Framework calling CFSocketStream
– A and AAAA queried simultaneously
– Attempt connection immediately
– First to connect “wins”
• “Legacy” applications calling getaddrinfo()
– Addresses sorted based on previous connection success and connection failure
• Result: user connects to fastest of IPv6 or IPv4
http://lists.apple.com/archives/Ipv6-dev/2011/Jul/msg00009.html
15 Happy Eyeballs
![Page 16: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/16.jpg)
TROUBLESHOOTING
16 Happy Eyeballs
![Page 17: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/17.jpg)
Troubleshooting
• IPv{4|6} outages are not obvious to users
– To the user, things “just work”
– Network administrator doesn’t get complaint
17 Happy Eyeballs
![Page 18: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/18.jpg)
Troubleshooting
• Immediate IPv4 traffic when IPv6 is slow
– Complicates NAT44 scaling
18 Happy Eyeballs
![Page 19: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/19.jpg)
Troubleshooting
• Conclusion: Network tools need to actively monitor IPv6 and IPv4 quality
– Active monitoring should be considered
19 Happy Eyeballs
![Page 20: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/20.jpg)
FUTURE WORK
20 Happy Eyeballs
![Page 21: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/21.jpg)
Beyond Web Browsers
• If users are waiting, need Happy Eyeballs
• Voice over IP has Happy algorithm
– SIP: RFC6157
• Happy Eyeballs in Applications or OS, or both?
– Email, Instant Messaging, ssh, ...
– Games
– Linux, FreeBSD, OS X, Windows, ...
21 Happy Eyeballs
![Page 22: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/22.jpg)
Future Work
• Happy Eyeballs uses connection setup time
• Future work:
– Throughput (streaming video)
– Jitter/Loss (interactive audio/video)
– Path MTU (9000 byte MTU)
– Multipath TCP (simultaneous connections)
– Non-TCP transport protocol (SCTP)
22 draft-wing-tsvwg-happy-eyeballs-sctp
Happy Eyeballs
![Page 23: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/23.jpg)
SUMMARY
23 Happy Eyeballs
![Page 24: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/24.jpg)
Happy Eyeballs
• Happy users
– Fast connections to servers
• Happy network administrators
– Users won’t disable IPv6
– Less load on CGN
• Happy content providers
– Fast connection to servers
– Better location & DoS visibility with IPv6
24 Happy Eyeballs
![Page 25: Happy Eyeballs: Success with Dual-Stack Hosts...Happy Eyeballs •Happy users –Fast connections to servers •Happy network administrators –Users wont disable IPv6 –Less load](https://reader033.fdocuments.us/reader033/viewer/2022060520/604ed504d2f6497c61433ec5/html5/thumbnails/25.jpg)
Questions
Andrew Yourtchenko, [email protected]
25 Happy Eyeballs
Image credit: D Sharon Pruitt, http://www.flickr.com/photos/pinksherbet/3617699772