Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Yes, IPv6 is Real! How To Make Your Apps Work (And Be As Fast As Possible)

122 views

Published on

A talk I gave at Vermont CodeCamp 11 on September 28, 2019.
---- Abstract ----
How well do your applications or websites work over IPv6? As the world runs out of IPv4 addresses, new mobile networks are being deployed as “IPv6-only” with IPv6-to-IPv4 gateways at the edge of those networks. The result is that apps and sites that work natively over IPv6 will be faster for users than apps and sites stuck on only IPv4. Many leading services have already made this transition, and Apple now requires IPv6 for all apps in their AppStore. In this session, you’ll learn about tips and tools to successfully migrate your applications and sites to work over both IPv4 and IPv6. Bring your questions and concerns - and sharing of success stories would be welcome, too.

Published in: Technology
  • (Unlimited)....ACCESS WEBSITE Over for All Ebooks ................ accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Yes, IPv6 is Real! How To Make Your Apps Work (And Be As Fast As Possible)

  1. 1. Yes, IPv6 Is Real How To Make Your Apps Work (And Be As Fast As Possible) Dan York – Vermont Code Camp 11 28 September 2019 @danyork dyork@lodestar2.com http://danyork.me
  2. 2. The Dilemma of Developer Dave 2Yes, IPv6 is Real – Dan York – 28 September 2019
  3. 3. Heard about IPv6 3Yes, IPv6 is Real – Dan York – 28 September 2019
  4. 4. 198.51.100.212 4Yes, IPv6 is Real – Dan York – 28 September 2019
  5. 5. 2001:db8:597e:873:2ba0:7391:d1:469 5Yes, IPv6 is Real – Dan York – 28 September 2019
  6. 6. 4.3 billion IPv4 addresses 6Yes, IPv6 is Real – Dan York – 28 September 2019
  7. 7. 7+ billion people (49% of whom are not yet online) 7Yes, IPv6 is Real – Dan York – 28 September 2019
  8. 8. And those 7+ billion people want to connect MANY devices (we want to connect EVERYTHING!) 8Yes, IPv6 is Real – Dan York – 28 September 2019
  9. 9. 340,282,366,920,938,463,463,374, 607,431,768,211,456 (let’s called that “340 undecillion” for short) 9Yes, IPv6 is Real – Dan York – 28 September 2019
  10. 10. 10Yes, IPv6 is Real – Dan York – 28 September 2019
  11. 11. But… a funny thing happened… 11Yes, IPv6 is Real – Dan York – 28 September 2019
  12. 12. 12Yes, IPv6 is Real – Dan York – 28 September 2019 https://www.google.com/intl/en/ipv6/statistics.html
  13. 13. 13Yes, IPv6 is Real – Dan York – 28 September 2019 https://www.facebook.com/ipv6/
  14. 14. 14Yes, IPv6 is Real – Dan York – 28 September 2019 https://www.worldipv6launch.org/measurements/ &T
  15. 15. 15Yes, IPv6 is Real – Dan York – 28 September 2019
  16. 16. And then… 16Yes, IPv6 is Real – Dan York – 28 September 2019 https://stats.labs.apnic.net/v6perf/XA LinkedIn, 2016 Facebook, 2015
  17. 17. Which makes sense… 17Yes, IPv6 is Real – Dan York – 28 September 2019 IPv6 IPv4 6-to-4User Site B Site A
  18. 18. Which makes sense… 18Yes, IPv6 is Real – Dan York – 28 September 2019 IPv6 IPv4 6-to-4User Site B Site A
  19. 19. Apple… 19Yes, IPv6 is Real – Dan York – 28 September 2019
  20. 20. Those pesky customers… 20Yes, IPv6 is Real – Dan York – 28 September 2019
  21. 21. What is Dave to do? 21Yes, IPv6 is Real – Dan York – 28 September 2019
  22. 22. Sorry, Dave… 22Yes, IPv6 is Real – Dan York – 28 September 2019
  23. 23. What are YOU to do? 23Yes, IPv6 is Real – Dan York – 28 September 2019
  24. 24. An “application” today 24Yes, IPv6 is Real – Dan York – 28 September 2019 Mobile or computer App Internet CDN Firewall Load Balancer Server / container Site or Service Server / container Site or Service Server / container Site or Service
  25. 25. Often more like… 25Yes, IPv6 is Real – Dan York – 28 September 2019 Mobile or computer App Internet CDN Firewall Load Balancer Server / container Site or Service Server / container Site or Service Server / container Site or Service Internet or network
  26. 26. Or involving other services, too… 26Yes, IPv6 is Real – Dan York – 28 September 2019 Mobile or computer App Internet CDN Firewall Load Balancer Server / container Site or Service Server / container Site or Service Server / container Site or Service Internet or network External service 1 External service 2
  27. 27. Cloud provider Or even… 27Yes, IPv6 is Real – Dan York – 28 September 2019 Mobile or computer App Internet CDN Firewall Load Balancer Server / container Site or Service Server / container Site or Service Server / container Site or Service Internal network … or some similar configuration.
  28. 28. Sticking with a common case… 28Yes, IPv6 is Real – Dan York – 28 September 2019 Mobile or computer App Firewall Load Balancer Server / container Site or Service Server / container Site or Service Server / container Site or Service 1. Connectivity and infrastructure 2. Operating systems 3. Application software Internet CDN Internet or network
  29. 29. Connectivity – Native IPv6 29Yes, IPv6 is Real – Dan York – 28 September 2019 Mobile or computer App Firewall Load Balancer Server / container Site or Service Server / container Site or Service Server / container Site or Service Internet CDN Internet or network • Ask your Internet Service Provider • Most cloud services support IPv6 • Most container environments support IPv6 • Firewalls need to be adjusted to accommodate IPv6 • Typical to have server support “dual-stack” and connect over BOTH IPv4 and IPv6 IPv6 (and also IPv4)
  30. 30. Connectivity – NAT64 at Load Balancer or Firewall 30Yes, IPv6 is Real – Dan York – 28 September 2019 Mobile or computer App Firewall Load Balancer Server / container Site or Service Server / container Site or Service Server / container Site or Service Internet CDN Internet or network • Many load balancers or firewalls can do IPv6 to IPv4 NAT or proxy • Allows servers/sites to continue to use only IPv4 • Firewalls need to be adjusted to accommodate IPv6 IPv6 IPv4
  31. 31. Internet or network Connectivity – NAT64 at CDN 31Yes, IPv6 is Real – Dan York – 28 September 2019 Mobile or computer App Firewall Load Balancer Server / container Site or Service Server / container Site or Service Server / container Site or Service Internet CDN • Most content delivery networks (CDNs) provide IPv6-to-IPv4 • Allows servers/sites and infrastructure to continue to use only IPv4 • Can be very easy to enable (ex. Cloudflare’s single switch) IPv6 IPv4
  32. 32. Connectivity – Need DNS “AAAA” Records • In DNS, the “A” record points to IPv4 address • Need to add “AAAA” record(s) to point to IPv6 address(es) of wherever your IPv6 connectivity begins • Examples: facebook.com. 199 IN A 31.13.71.36 facebook.com. 180 IN AAAA 2a03:2880:f112:83:face:b00c::25de google.com. 108 IN A 172.217.10.110 google.com. 113 IN AAAA 2607:f8b0:4006:819::200e 32Yes, IPv6 is Real – Dan York – 28 September 2019
  33. 33. Connectivity – Test your connection • https://ipv6-test.com/validate.php 33Yes, IPv6 is Real – Dan York – 28 September 2019
  34. 34. Connectivity – Another way to test • IPvFoo browser extension/add-on • https://github.com/pmarks-net/ipvfoo • Note: “Happy Eyeballs” may have you connect over IPv4 even though IPv6 is available. 34Yes, IPv6 is Real – Dan York – 28 September 2019
  35. 35. Connectivity – IPv6-only 35Yes, IPv6 is Real – Dan York – 28 September 2019 Mobile or computer App Firewall Load Balancer Server / container Site or Service Server / container Site or Service Server / container Site or Service Internet CDN Internet or network • Increasingly, some companies are going “IPv6-only” • Their entire internal network is IPv6, with IPv4 gateways on the edge • Simplifies internal network (no worries about “dual-stack”) • Similar to what mobile operators are doing with new mobile networks IPv6 (and also IPv4) IPv6 ONLY
  36. 36. Note – The big players are already IPv6-only “Over the past few years, Facebook has been transitioning its data center infrastructure from IPv4 to IPv6. We began by dual-stacking our internal network — adding IPv6 to all IPv4 infrastructure — and decided that all new data center clusters would be brought online as IPv6-only. We then worked on moving all applications and services running in our data centers to use and support IPv6. Today, 99 percent of our internal traffic is IPv6 and half of our clusters are IPv6-only. We anticipate moving our entire fleet to IPv6 and retiring the remaining IPv4 clusters over the next few years.” • https://engineering.fb.com/production-engineering/legacy-support- on-ipv6-only-infra/ • January 2017 36Yes, IPv6 is Real – Dan York – 28 September 2019
  37. 37. Operating Systems 37Yes, IPv6 is Real – Dan York – 28 September 2019 Mobile or computer App Firewall Load Balancer Server / container Site or Service Server / container Site or Service Server / container Site or Service Internet CDN Internet or network • All modern operating systems support IPv6 with very little for you to worry about. • You may need to configure web servers or other operating system software. • Ex. Apache or nginx “listen” directives
  38. 38. Application Software 38Yes, IPv6 is Real – Dan York – 28 September 2019 Mobile or computer App Firewall Load Balancer Server / container Site or Service Server / container Site or Service Server / container Site or Service Internet CDN Internet or network • Network interfaces • Address handling / validation • User interfaces • Databases / storage • Configuration files • Logging • Testing • Documentation/training
  39. 39. The Big Question: How much does your app interact with networking? If not much, IPv6 may be easy! (or already “just work”) 39Yes, IPv6 is Real – Dan York – 28 September 2019
  40. 40. Network interfaces • If your app uses standard network API calls (ex. getaddrinfo() or Apple’s NSURLSession), your app should “just work” over IPv6 • However, if your app directly interacts with network interfaces, or uses IPv4-specific APIs, you will need to modify it for IPv6. • Note: in IPv4, a system generally had only one IP address it used for all communication. In IPv6, a system can have multiple different IPv6 addresses. • (And that is a MUCH longer conversation that we can have today!) 40Yes, IPv6 is Real – Dan York – 28 September 2019
  41. 41. 198.51.100.212 41Yes, IPv6 is Real – Dan York – 28 September 2019
  42. 42. 2001:db8::1 2001:db8:10ff::ae:44f2 2001:db8::7391:871:aaaa:12 2001:db8:597e:873:2ba0:7391:d1:469 42Yes, IPv6 is Real – Dan York – 28 September 2019
  43. 43. 127.0.0.1 ::1 43Yes, IPv6 is Real – Dan York – 28 September 2019
  44. 44. 2001:db8:10ff::dead:beef 2001:DB8:10FF::DEAD:BEEF 44Yes, IPv6 is Real – Dan York – 28 September 2019
  45. 45. https://198.51.100.22/ https://198.51.100.22:8000/ https://[2001:db8:10ff::ae:44f2]/ https://[2001:db8:10ff::ae:44f2]:8000/ 45Yes, IPv6 is Real – Dan York – 28 September 2019
  46. 46. IPv6 address handling • Variable length • No longer four blocks of numbers • The “::” replaces address blocks of all zeros • Alphanumeric (hexadecimal) • Upper/lower case (RFC 5952 specifies all lowercase) • URLs for IPv6 address are entered using brackets, with port number added if necessary 46Yes, IPv6 is Real – Dan York – 28 September 2019
  47. 47. User interfaces • Does your app require users to enter IP addresses? • Does your app display IP addresses? If so, is the field wide enough for an IPv6 address? 47Yes, IPv6 is Real – Dan York – 28 September 2019
  48. 48. Databases / storage • If you store IP addresses in memory or a database: • Is the location or field large enough for an IPv6 address? • Are you compensating for variable length, case insensitivity, zero compression? • If your application is running on a dual-stacked system, are you prepared to be storing both IPv4 and IPv6 addresses? 48Yes, IPv6 is Real – Dan York – 28 September 2019
  49. 49. Configuration files • Do you have any hard-coded IP addresses lurking in any configuration files? 49Yes, IPv6 is Real – Dan York – 28 September 2019
  50. 50. Logging • If you are logging data from your app or service, are you logging IP addresses? • IPv4 addresses often stayed the same • Occasionally would change via DHCP • IPv6 addresses may change frequently • “Privacy”/”temporary” addresses may change daily (or more/less) • With IPv6, there are multiple network interfaces a user could use • Dual-stack may result in connections from both IPv4 and IPv6 for same user 50Yes, IPv6 is Real – Dan York – 28 September 2019
  51. 51. Testing • If you do unit testing, do you need to add/adjust tests to ensure testing is done over IPv6? 51Yes, IPv6 is Real – Dan York – 28 September 2019
  52. 52. Documentation/training • If your documentation or training materials mention IP addresses, do they need to be updated for IPv6? • Special address block designated for documentation: • 2001:db8::/32 52Yes, IPv6 is Real – Dan York – 28 September 2019
  53. 53. Don’t forget external services! 53Yes, IPv6 is Real – Dan York – 28 September 2019 Mobile or computer App Internet CDN Firewall Load Balancer Server / container Site or Service Server / container Site or Service Server / container Site or Service Internet or network External service 1 External service 2 • Does your app pull content/data and then pass it on to user? • Or does your app embed content (ex. <iframe>) from external site?
  54. 54. Applications and IPv6 54Yes, IPv6 is Real – Dan York – 28 September 2019 Mobile or computer App Firewall Load Balancer Server / container Site or Service Server / container Site or Service Server / container Site or Service 1. Connectivity and infrastructure 2. Operating systems 3. Application software Internet CDN Internet or network
  55. 55. Final thoughts • For many applications, software itself may “just work” • Hardest part may be getting IPv6 connectivity to sites/services • Start SOMEWHERE! Web sites are often a great first step. • Reality is that mobile networks are increasingly deployed “IPv6-only” • Large application providers have already moved to IPv6-only • The time to make sure your app works over IPv6 is NOW! 55Yes, IPv6 is Real – Dan York – 28 September 2019
  56. 56. Resources 56Yes, IPv6 is Real – Dan York – 28 September 2019
  57. 57. Resources - book • “Migrating Applications to IPv6” • http://migratingappstoipv6.com/ • Resources page has many links • Status • Book no longer available via O’Reilly. • Second Edition in development. • Content will be available online soon • (But not at Github, as that site is IPv4-only !) 57Yes, IPv6 is Real – Dan York – 28 September 2019
  58. 58. Resources - ARIN • “Preparing Applications for IPv6” • https://www.arin.net/vault/announcements/2015 /20150708.html • https://www.arin.net/resources/guide/ipv6/prepa ring_apps_for_v6.pdf 58Yes, IPv6 is Real – Dan York – 28 September 2019
  59. 59. IPv6 Buzz Podcast • Part of PacketPushers network • Mostly targeted at networking and infrastructure, but occasional application-related content • https://packetpushers.net/series/ ipv6-buzz/ 59Yes, IPv6 is Real – Dan York – 28 September 2019
  60. 60. Additional Resources • Internet Society Deploy360 Programme - https://www.internetsociety.org/deploy360/ipv6/ • ”Making Content Available Over IPv6” • https://www.internetsociety.org/resources/deploy360/2013/making-content-available- over-ipv6/ • World IPv6 Launch - https://www.worldipv6launch.org/measurements/ • Apple IPv6-only - https://developer.apple.com/support/ipv6/ 60Yes, IPv6 is Real – Dan York – 28 September 2019
  61. 61. Questions? And thank you! • Dan York • http://danyork.me/ • dyork@Lodestar2.com • @danyork 61Yes, IPv6 is Real – Dan York – 28 September 2019

×