happy eyeballs: success with dual-stack hosts...happy eyeballs •happy users –fast connections to...

25
Happy Eyeballs: Success with Dual-Stack Hosts Andrew Yourtchenko, [email protected] 1 Happy Eyeballs

Upload: others

Post on 14-Oct-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Questions

Andrew Yourtchenko, [email protected]

25 Happy Eyeballs

Image credit: D Sharon Pruitt, http://www.flickr.com/photos/pinksherbet/3617699772