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
The Dilemma
of
Developer Dave
2Yes, IPv6 is Real – Dan York – 28 September 2019
Heard about IPv6
3Yes, IPv6 is Real – Dan York – 28 September 2019
198.51.100.212
4Yes, IPv6 is Real – Dan York – 28 September 2019
2001:db8:597e:873:2ba0:7391:d1:469
5Yes, IPv6 is Real – Dan York – 28 September 2019
4.3 billion IPv4 addresses
6Yes, IPv6 is Real – Dan York – 28 September 2019
7+ billion people
(49% of whom are not yet online)
7Yes, IPv6 is Real – Dan York – 28 September 2019
And those 7+ billion people
want to connect MANY devices
(we want to connect EVERYTHING!)
8Yes, IPv6 is Real – Dan York – 28 September 2019
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
10Yes, IPv6 is Real – Dan York – 28 September 2019
But… a funny thing happened…
11Yes, IPv6 is Real – Dan York – 28 September 2019
12Yes, IPv6 is Real – Dan York – 28 September 2019
https://www.google.com/intl/en/ipv6/statistics.html
13Yes, IPv6 is Real – Dan York – 28 September 2019
https://www.facebook.com/ipv6/
14Yes, IPv6 is Real – Dan York – 28 September 2019
https://www.worldipv6launch.org/measurements/
&T
15Yes, IPv6 is Real – Dan York – 28 September 2019
And then…
16Yes, IPv6 is Real – Dan York – 28 September 2019
https://stats.labs.apnic.net/v6perf/XA
LinkedIn, 2016
Facebook, 2015
Which makes sense…
17Yes, IPv6 is Real – Dan York – 28 September 2019
IPv6
IPv4
6-to-4User
Site B
Site A
Which makes sense…
18Yes, IPv6 is Real – Dan York – 28 September 2019
IPv6
IPv4
6-to-4User
Site B
Site A
Apple…
19Yes, IPv6 is Real – Dan York – 28 September 2019
Those pesky customers…
20Yes, IPv6 is Real – Dan York – 28 September 2019
What is Dave to do?
21Yes, IPv6 is Real – Dan York – 28 September 2019
Sorry, Dave…
22Yes, IPv6 is Real – Dan York – 28 September 2019
What are YOU to do?
23Yes, IPv6 is Real – Dan York – 28 September 2019
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
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
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
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.
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
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)
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
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
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
Connectivity – Test your connection
• https://ipv6-test.com/validate.php
33Yes, IPv6 is Real – Dan York – 28 September 2019
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
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
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
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
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
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
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
198.51.100.212
41Yes, IPv6 is Real – Dan York – 28 September 2019
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
127.0.0.1
::1
43Yes, IPv6 is Real – Dan York – 28 September 2019
2001:db8:10ff::dead:beef
2001:DB8:10FF::DEAD:BEEF
44Yes, IPv6 is Real – Dan York – 28 September 2019
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
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
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
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
Configuration files
• Do you have any hard-coded IP addresses lurking in any configuration
files?
49Yes, IPv6 is Real – Dan York – 28 September 2019
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
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
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
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?
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
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
Resources
56Yes, IPv6 is Real – Dan York – 28 September 2019
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
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
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
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
Questions? And thank you!
• Dan York
• http://danyork.me/
• dyork@Lodestar2.com
• @danyork
61Yes, IPv6 is Real – Dan York – 28 September 2019

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

  • 1.
    Yes, IPv6 IsReal 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.
    The Dilemma of Developer Dave 2Yes,IPv6 is Real – Dan York – 28 September 2019
  • 3.
    Heard about IPv6 3Yes,IPv6 is Real – Dan York – 28 September 2019
  • 4.
    198.51.100.212 4Yes, IPv6 isReal – Dan York – 28 September 2019
  • 5.
    2001:db8:597e:873:2ba0:7391:d1:469 5Yes, IPv6 isReal – Dan York – 28 September 2019
  • 6.
    4.3 billion IPv4addresses 6Yes, IPv6 is Real – Dan York – 28 September 2019
  • 7.
    7+ billion people (49%of whom are not yet online) 7Yes, IPv6 is Real – Dan York – 28 September 2019
  • 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.
    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.
    10Yes, IPv6 isReal – Dan York – 28 September 2019
  • 11.
    But… a funnything happened… 11Yes, IPv6 is Real – Dan York – 28 September 2019
  • 12.
    12Yes, IPv6 isReal – Dan York – 28 September 2019 https://www.google.com/intl/en/ipv6/statistics.html
  • 13.
    13Yes, IPv6 isReal – Dan York – 28 September 2019 https://www.facebook.com/ipv6/
  • 14.
    14Yes, IPv6 isReal – Dan York – 28 September 2019 https://www.worldipv6launch.org/measurements/ &T
  • 15.
    15Yes, IPv6 isReal – Dan York – 28 September 2019
  • 16.
    And then… 16Yes, IPv6is Real – Dan York – 28 September 2019 https://stats.labs.apnic.net/v6perf/XA LinkedIn, 2016 Facebook, 2015
  • 17.
    Which makes sense… 17Yes,IPv6 is Real – Dan York – 28 September 2019 IPv6 IPv4 6-to-4User Site B Site A
  • 18.
    Which makes sense… 18Yes,IPv6 is Real – Dan York – 28 September 2019 IPv6 IPv4 6-to-4User Site B Site A
  • 19.
    Apple… 19Yes, IPv6 isReal – Dan York – 28 September 2019
  • 20.
    Those pesky customers… 20Yes,IPv6 is Real – Dan York – 28 September 2019
  • 21.
    What is Daveto do? 21Yes, IPv6 is Real – Dan York – 28 September 2019
  • 22.
    Sorry, Dave… 22Yes, IPv6is Real – Dan York – 28 September 2019
  • 23.
    What are YOUto do? 23Yes, IPv6 is Real – Dan York – 28 September 2019
  • 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.
    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.
    Or involving otherservices, 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.
    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.
    Sticking with acommon 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.
    Connectivity – NativeIPv6 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.
    Connectivity – NAT64at 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.
    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.
    Connectivity – NeedDNS “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.
    Connectivity – Testyour connection • https://ipv6-test.com/validate.php 33Yes, IPv6 is Real – Dan York – 28 September 2019
  • 34.
    Connectivity – Anotherway 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.
    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.
    Note – Thebig 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.
    Operating Systems 37Yes, IPv6is 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.
    Application Software 38Yes, IPv6is 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.
    The Big Question: Howmuch 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.
    Network interfaces • Ifyour 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.
    198.51.100.212 41Yes, IPv6 isReal – Dan York – 28 September 2019
  • 42.
  • 43.
    127.0.0.1 ::1 43Yes, IPv6 isReal – Dan York – 28 September 2019
  • 44.
  • 45.
  • 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.
    User interfaces • Doesyour 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.
    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.
    Configuration files • Doyou have any hard-coded IP addresses lurking in any configuration files? 49Yes, IPv6 is Real – Dan York – 28 September 2019
  • 50.
    Logging • If youare 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.
    Testing • If youdo 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.
    Documentation/training • If yourdocumentation 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.
    Don’t forget externalservices! 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.
    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.
    Final thoughts • Formany 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.
    Resources 56Yes, IPv6 isReal – Dan York – 28 September 2019
  • 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.
    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.
    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.
    Additional Resources • InternetSociety 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.
    Questions? And thankyou! • Dan York • http://danyork.me/ • dyork@Lodestar2.com • @danyork 61Yes, IPv6 is Real – Dan York – 28 September 2019