SlideShare ist ein Scribd-Unternehmen logo
1 von 125
Downloaden Sie, um offline zu lesen
IPv6 Basics




                                                   http://etsy.me/KD4Dru


                          Jan Schaumann <jschauma@etsy.com>
                     B60D A9F7 0D89 544A 7995   7D25 5A5B 4375 275F 0BB5

Friday, June 1, 12
IPv6 Basics



                                   What’s the big idea?




Friday, June 1, 12
IPv6 Basics



                                   What’s the big idea?

                           Remember... back in February 2011:




Friday, June 1, 12
IPv6 Basics


                                 Mommy, where do
                             IP addresses come from?


                              Well,... when an LIR and an RIR
                               love each other very much...




Friday, June 1, 12
IPv6 Basics


                                  Mommy, where do
                              IP addresses come from?



                       Internet Assigned Numbers Authority (IANA)
                     oversees global IP address/AS number allocation,
                                root zone management etc.




Friday, June 1, 12
IPv6 Basics


                                  Mommy, where do
                              IP addresses come from?




                           Regional Internet Registries (RIR) manage the allocation and
                     registration of Internet number resources within a region of the world.


Friday, June 1, 12
IPv6 Basics


                                 Mommy, where do
                             IP addresses come from?


                      RIRs assign blocks of IP addresses to the Local
                                 Internet Registries (LIR).

                      LIRs are either ISPs, enterprises using a lot of
                           addresses, or academic institutions.




Friday, June 1, 12
IPv6 Basics



                                   Here’s what’s next:


                IANA Address Pool Exhaustion:               2011-02-03
                APNIC reached final /8:                  2011-04-15
                RIPENCC:                                 2012-08-08
                ARIN:                                    2013-06-24
                LACNIC:                                  2014-02-04
                AFRINIC:                                 2014-11-09




                                                                         https://ipv6.he.net/v4ex/sidebar/




Friday, June 1, 12
IPv6 Basics



                                   You know what else?



                     1. Go out of business.
                     2. ???
                     3. Profit!

Friday, June 1, 12
IPv6 Basics



                                   You know what else?

                         In December 2011, Borders sold a /16
                                for $12 per IP address.




                                         $786,432
Friday, June 1, 12
IPv6 Basics



                                     What’s the big idea?
                     Today:

                     ASes running IPv6: 13.7%

                     Top 1M sites running IPv6: 1.26%

                     Yahoo! users served over IPv6 on
                     World IPv6 Day: >1.85M (0.229%)

                     http://bgp.he.net/ipv6-progress-report.cgi




Friday, June 1, 12
IPv6 Basics



                            Why don’t we just switch?
               IPv6 was formalized in RFC1883 in December 1995.




Friday, June 1, 12
IPv6 Basics



                              Why don’t we just switch?




                     http://etsy.me/KqQZcR   http://etsy.me/KqRdAK




Friday, June 1, 12
IPv6 Basics



                            Why don’t we just switch?




Friday, June 1, 12
IPv6 Basics



                              Why don’t we just switch?

                     •~ 0.022% of users have
                      a “broken” configuration

                     •timeout for IPv4 fallbacks
                      worsen user experience

                     •consumers are not
                      demanding IPv6 (see chicken)




Friday, June 1, 12
IPv6 Basics



                                      June 6th 2012
                                   This time it’s for realsies!




Friday, June 1, 12
IPv6 Basics



                                      June 6th 2012
                                   This time it’s for realsies!

                      •Google
                      •Facebook
                      •YouTube
                      •Yahoo
                      •Bing
                      •AOL
                      •Netflix




Friday, June 1, 12
IPv6 Basics



                                      June 6th 2012
                                   This time it’s for realsies!

                      •Google
                      •Facebook
                      •YouTube
                      •Yahoo
                      •Bing
                      •AOL
                      •Netflix
                      •Etsy?



Friday, June 1, 12
IPv6 Basics



                                      June 6th 2012
                                   This time it’s for realsies!

                      •Google
                      •Facebook
                      •YouTube
                      •Yahoo
                      •Bing
                      •AOL
                      •Netflix
                      •Etsy :-(



Friday, June 1, 12
IPv6 Basics



                                   Let’s rewind...




                                   http://etsy.me/KDePjL




Friday, June 1, 12
IPv6 Basics



                           Yeah, yeah, 32 bits, I know.

                       01100000000001111010101000100101




Friday, June 1, 12
IPv6 Basics



                           Yeah, yeah, 32 bits, I know.

                       01100000000001111010101000100101

                                   96.7.170.37




Friday, June 1, 12
IPv6 Basics



                           Yeah, yeah, 32 bits, I know.

                       01100000000001111010101000100101

                                   96.7.170.37

                                   www.etsy.com




Friday, June 1, 12
IPv6 Basics



                            Yeah, yeah, 32 bits, I know.

                        01100000000001111010101000100101

                                    96.7.170.37

                                    www.etsy.com

                     (mumble.frubmle.something.akamai.com)




Friday, June 1, 12
IPv6 Basics



                           Remember classful routing?

                       01100000000001111010101000100101




Friday, June 1, 12
IPv6 Basics



                           Remember classful routing?

                      01100000 000001111010101000100101




Friday, June 1, 12
IPv6 Basics



                      That’s silly. Let’s CIDR this mofo!

                     01100000.00000111.10101010. 00100101
                     11111111.11111111.11111111. 00000000

                                     /24




Friday, June 1, 12
IPv6 Basics



                                     CIDR Cheat Sheet
                     A.B.C.D/N
                     •N = bits describing network portion
                     •M = 32 - N = bits describing host portion
                     •2M = number of addresses on this subnet
                     •2M-2 = number of possible hosts
                       •network address
                       •broadcast address
                     •subnet division need not occur on dotted
                      boundary only (divide a /24 into four /26)




Friday, June 1, 12
IPv6 Basics



                                     CIDR Cheat Sheet
                     A.B.C.D/N
                     •N = bits describing network portion
                     •M = 32 - N = bits describing host portion
                     •2M = number of addresses on this subnet
                     •2M-2 = number of possible hosts
                      •network address
                      •broadcast address
                     •subnet division need not occur on dotted
                      boundary only (divide a /24 into four /26)

                     The same approach works for IPv6!


Friday, June 1, 12
IPv6 Basics



                                          IPv4

                       01100000000001111010101000100101

                                   32 bit address space




Friday, June 1, 12
IPv6 Basics



                                          IPv4

                       01100000000001111010101000100101

                                   32 bit address space
                                            =>
                                      232 addresses




Friday, June 1, 12
IPv6 Basics



                                           IPv4

                       01100000000001111010101000100101

                                     32 bit address space
                                              =>
                                        232 addresses
                                              =>
                                   4,294,967,296 addresses




Friday, June 1, 12
IPv6 Basics



                                              IPv4
                      The archetypal prototype that escaped into
                                     production.

                                   “It’s my fault.” - Vint Cerf

                         32-bit space thought sufficient for this
                              experiment started in 1976.




Friday, June 1, 12
IPv6 Basics



                                   Repeat after me:


                        There’s nothing as
                     permanent as a temporary
                            solution.



Friday, June 1, 12
IPv6 Basics



                                           IPv4

                       01100000000001111010101000100101

                                     32 bit address space
                                              =>
                                        232 addresses
                                              =>
                                   4,294,967,296 addresses




Friday, June 1, 12
IPv6 Basics



                                           IPv6

                                   0010000000000001
                                   0000000011011011
                                   0000000000000000
                                   0000000000000000
                                   0000011110101011
                                   0000000000000000
                                   0000000000000000
                                   0001001100001011

                                   128 bit address space


Friday, June 1, 12
IPv6 Basics



                                          IPv6

                                   128 bit address space
                                             =>
                                      2128 addresses




Friday, June 1, 12
IPv6 Basics



                                           IPv6

                                    128 bit address space
                                              =>
                                       2128 addresses
                                              =>
                     340,282,366,920,938,463,463,374,607,431,768,211,456
                                         addresses




Friday, June 1, 12
IPv6 Basics




                             Hmm. That sure is a lot.
                               But is it enough?




Friday, June 1, 12
IPv6 Basics




                             Hmm. That sure is a lot.
                               But is it enough?




Friday, June 1, 12
IPv6 Basics




                             Hmm. That sure is a lot.
                               But is it enough?




Friday, June 1, 12
IPv6 Basics




                               Hmm. That sure is a lot.
                                 But is it enough?

                      “"if the earth were made entirely out of 1 cubic
                      millimeter grains of sand, then you could give a
                     unique [IPv6] address to each grain in 300 million
                                planets the size of the earth"




Friday, June 1, 12
IPv6 Basics



                                   IPv6 addresses

            •8 16bit words in case insensitive colon
                hexadecimal representation
                     2001:00db8:0000:0000:07AB:0000:0000:130B




Friday, June 1, 12
IPv6 Basics



                                   IPv6 addresses

            •8 16bit words in case insensitive colon
                hexadecimal representation
                     2001:00db8:0000:0000:07AB:0000:0000:130B

            •Leading zeros in a field are optional:
                               2001:db8:0:0:7AB:0:0:130B




Friday, June 1, 12
IPv6 Basics



                                   IPv6 addresses

            •8 16bit words in case insensitive colon
                hexadecimal representation
                     2001:00db8:0000:0000:07AB:0000:0000:130B

            •Leading zeros in a field are optional:
                               2001:db8:0:0:7AB:0:0:130B

            •Successive fields of 0 represented as ::, but only
                once in an address:
                            2001:db8::7AB:0:0:130B       ok
                            2001:db8:0:0:7AB::130B       ok
                            2001:db8::7AB::130B      not ok
Friday, June 1, 12
IPv6 Basics



                                   IPv6 address oddities

             •address may include the interface name:
                            fe80::e276:63ff:fe72:3900%eth0




Friday, June 1, 12
IPv6 Basics



                                    IPv6 address oddities

             •address may include the interface name:
                             fe80::e276:63ff:fe72:3900%eth0

             •IPv4-mapped addresses (dual-stack only):
                     0:0:0:0:ffff:166.84.7.99
                     ::ffff:a654:763




Friday, June 1, 12
IPv6 Basics



                                    IPv6 address oddities

             •address may include the interface name:
                             fe80::e276:63ff:fe72:3900%eth0

             •IPv4-mapped addresses (dual-stack only):
                     0:0:0:0:ffff:166.84.7.99
                     ::ffff:a654:763

             •brackets are used to separate port from address:
                     IPv4: 166.84.7.99:80
                     IPv6: [2001:db8::07AB:0:0:130B]:80



Friday, June 1, 12
IPv6 Basics



                                     IPv6 address scope

             •Link-Local (fe80::e276:63ff:fe72:3900%eth0):
                     • used on a single link
                     • equivalent of 169.254.0.0/16
                     •fe80::/64 (usually assigned via SLAAC)




Friday, June 1, 12
IPv6 Basics



                                     IPv6 address scope

             •Link-Local (fe80::e276:63ff:fe72:3900%eth0):
                     • used on a single link
                     • equivalent of 169.254.0.0/16
                     •fe80::/64 (usually assigned via SLAAC)

             •Unique Local Address (ULA):
                     •equivalent of IPv4 RFC1918
                     •not globally routable
                     •fc00::/7




Friday, June 1, 12
IPv6 Basics



                                     IPv6 address scope

             •Link-Local (fe80::e276:63ff:fe72:3900%eth0):
                     • used on a single link
                     • equivalent of 169.254.0.0/16
                     •fe80::/64 (usually assigned via SLAAC)

             •Unique Local Address (ULA):
                     •equivalent of IPv4 RFC1918
                     •not globally routable
                     •fc00::/7

             •Global (Unicast, Anycast, Multicast)
                     •unicast: 2a03:2880:2110:3f01:face:b00c::
                     •anycast: undistinguishable from unicast
                     •multicast: FF00::/8
Friday, June 1, 12
IPv6 Basics



                     Of IPv6 classful routing and CIDRs

             •unicast addresses starting with 000 are logically
                 divided into two parts: a 64-bit (sub-)network
                 prefix, and a 64-bit interface identifier

             •the default subnet size is thus /64




Friday, June 1, 12
IPv6 Basics



                     Of IPv6 classful routing and CIDRs

             •unicast addresses starting with 000 are logically
                 divided into two parts: a 64-bit (sub-)network
                 prefix, and a 64-bit interface identifier

             •the default subnet size is thus /64

                                   Yes, that’s
                      18,446,744,073,709,551,616 addresses
                                   per subnet.



Friday, June 1, 12
IPv6 Basics



                     Of IPv6 classful routing and CIDRs

             •unicast addresses starting with 000 are logically
                 divided into two parts: a 64-bit (sub-)network
                 prefix, and a 64-bit interface identifier

             •the default subnet size is thus /64

                                    Yes, that’s
                                   232 internets
                                    per subnet.



Friday, June 1, 12
IPv6 Basics



                                      IPv6 Allocations
        2001:0db8:0123:4567:89ab:cdef:1234:5678
        |||| |||| |||| |||| |||| |||| |||| |||128   Single end-points and loopback
        |||| |||| |||| |||| |||| |||| |||| ||124
        |||| |||| |||| |||| |||| |||| |||| |120
        |||| |||| |||| |||| |||| |||| |||| 116
        |||| |||| |||| |||| |||| |||| |||112
        |||| |||| |||| |||| |||| |||| ||108
        |||| |||| |||| |||| |||| |||| |104
        |||| |||| |||| |||| |||| |||| 100
        |||| |||| |||| |||| |||| |||96
        |||| |||| |||| |||| |||| ||92
        |||| |||| |||| |||| |||| |88
        |||| |||| |||| |||| |||| 84
        |||| |||| |||| |||| |||80
        |||| |||| |||| |||| ||76
        |||| |||| |||| |||| |72
        |||| |||| |||| |||| 68
        |||| |||| |||| |||64                        Single End-user LAN (default prefix size for SLAAC)
        |||| |||| |||| ||60
        |||| |||| |||| |56                          Proposed minimal end sites assignment
        |||| |||| |||| 52
        |||| |||| |||48                             Default end sites assignment
        |||| |||| ||44
        |||| |||| |40
        |||| |||| 36
        |||| |||32                                  Local   Internet   registry   minimum allocations
        |||| ||28                                   Local   Internet   registry   medium allocations
        |||| |24                                    Local   Internet   registry   large allocations
        |||| 20                                     Local   Internet   registry   extra large allocations
        |||16
        ||12                                        Regional Internet Registry allocations from IANA

Friday, June 1, 12
IPv6 Basics



                           IPv6 transition mechanisms

             End goal: native IPv6 / dual-stack

             •6to4
             •6in4
             •6rd
             •teredo
             •NAT64/DNS64
             •terminate at edge of network



Friday, June 1, 12
IPv6 Basics



                           IPv6 transition mechanisms

             •6to4 and 6rd




Friday, June 1, 12
IPv6 Basics



                           IPv6 transition mechanisms

             •NAT64 / DNS64




Friday, June 1, 12
IPv6 Basics



                           IPv6 transition mechanisms

             •6-to-4 load balancer




Friday, June 1, 12
IPv6 Basics



                     Enough already! Let’s do something!




                                   http://test-ipv6.com/




Friday, June 1, 12
IPv6 Basics



                                   EC2 Example




Friday, June 1, 12
IPv6 Basics



                                   EC2 Example




Friday, June 1, 12
IPv6 Basics



                                   EC2 Example




Friday, June 1, 12
IPv6 Basics



                                   EC2 Example




Friday, June 1, 12
IPv6 Basics



                                   EC2 Example




Friday, June 1, 12
IPv6 Basics



                                   EC2 Example




Friday, June 1, 12
IPv6 Basics



                                   EC2 Example




Friday, June 1, 12
IPv6 Basics



                                   EC2 Example




Friday, June 1, 12
IPv6 Basics



                                   EC2 Example




Friday, June 1, 12
IPv6 Basics



                                   EC2 Example




Friday, June 1, 12
IPv6 Basics



                                   EC2 Example




Friday, June 1, 12
IPv6 Basics



                     That was exciting! Let’s move on...




Friday, June 1, 12
IPv6 Basics



                                   See, IPv6 is hilarious!




Friday, June 1, 12
IPv6 Basics



                                   Hmmm.




Friday, June 1, 12
IPv6 Basics



                                   Duh.




Friday, June 1, 12
IPv6 Basics



                                   Duh.




Friday, June 1, 12
IPv6 Basics



                                   Duh.




Friday, June 1, 12
IPv6 Basics



                                     A few notes so far:

             •DNS lookup of AAAA records works over IPv4
             •IPv6 may be enabled
                     •your interfaces may already have IPv6 addresses
                     •your host may not be configured for IPv6

             •we need different tools for IPv4 and IPv6




Friday, June 1, 12
IPv6 Basics




Friday, June 1, 12
IPv6 Basics




Friday, June 1, 12
IPv6 Basics




Friday, June 1, 12
IPv6 Basics




Friday, June 1, 12
IPv6 Basics




Friday, June 1, 12
IPv6 Basics




Friday, June 1, 12
IPv6 Basics




Friday, June 1, 12
IPv6 Basics



                                   Configuring IPv6




Friday, June 1, 12
IPv6 Basics



                                   Configuring IPv6




Friday, June 1, 12
IPv6 Basics



                                   Hooray IPv6




Friday, June 1, 12
IPv6 Basics



                                   Now let’s use it!




Friday, June 1, 12
IPv6 Basics



                                   Now let’s use it!




Friday, June 1, 12
IPv6 Basics



                                   Now let’s use it!




Friday, June 1, 12
IPv6 Basics



                                   Booooooring!




Friday, June 1, 12
IPv6 Basics



                           Let’s see who’s out there...




Friday, June 1, 12
IPv6 Basics



                           Let’s see who’s out there...




Friday, June 1, 12
IPv6 Basics


                         Ah, but IPv6 has no broadcast address.




Friday, June 1, 12
IPv6 Basics


                        Instead, IPv6 uses multicast to all-hosts.




Friday, June 1, 12
IPv6 Basics


                                   IPv4 has ARP...




Friday, June 1, 12
IPv6 Basics


                        IPv6 has the Neighbor Discovery Protocol




Friday, June 1, 12
IPv6 Basics


                        IPv6 has the Neighbor Discovery Protocol




Friday, June 1, 12
IPv6 Basics


                        IPv6 has the Neighbor Discovery Protocol


             •NDP used for:
                •router, prefix and parameter discovery
                •address autoconfiguration (SLAAC)
                •address resolution (think ARP)

             •uses ICMPv6
             •operates on the Internet Layer

             •BSD: ndp(8)
             •Linux: ip(8), ip-neighbour(8)
Friday, June 1, 12
IPv6 Basics


                                        ICMPv6
                                   ECHO REQUEST / REPLY




Friday, June 1, 12
IPv6 Basics


                                        ICMPv6
                                   ECHO REQUEST / REPLY




Friday, June 1, 12
IPv6 Basics


                                              ICMPv6
                               TIME EXCEEDED / DESTINATION UNREACHABLE




Friday, June 1, 12
IPv6 Basics


                                              ICMPv6
                               TIME EXCEEDED / DESTINATION UNREACHABLE




Friday, June 1, 12
IPv6 Basics


                                         ICMPv6


             •much like ICMP in IPv4
                •ECHO REQUEST/REPLY
                •Destination Unreachable
                •Time Exceeded
                •Packet Too Big (PMTU Discovery)

             •Neighbor Discovery Protocol

             •ping6(8), traceroute6(8), ...

Friday, June 1, 12
IPv6 Basics


                                     Sidenote
                                   IPv6 Tunnel Traffic




Friday, June 1, 12
IPv6 Basics


                                     Sidenote
                                   IPv6 Tunnel Traffic




Friday, June 1, 12
IPv6 Basics


                                     Sidenote
                                   IPv6 Tunnel Traffic




Friday, June 1, 12
IPv6 Basics


                                           TCP
                                   Nothing to see here...




Friday, June 1, 12
IPv6 Basics


                                           TCP
                                   Nothing to see here...




Friday, June 1, 12
IPv6 Basics


                                          UDP
                                   Nothing to see here...




Friday, June 1, 12
IPv6 Basics


                                          UDP
                                   Nothing to see here...




Friday, June 1, 12
IPv6 Basics


                                          UDP
                                   Nothing to see here...




Friday, June 1, 12
IPv6 Basics


                                   Dual Stack Implications




              Regardless of transport mechanism to DNS server:
              •ask DNS for AAAA
              •if AAAA exists, assume (and use) IPv6 for the connection
              •only ask for A if no AAAA was found
              •if A exists, use IPv4 for the connect
Friday, June 1, 12
IPv6 Basics


                                         Address Resolution
                                                    C
               •replace gethostby* with getaddrinfo(3)
                •RFC3484 section 6 rule 9 prefix-length based sorting
                      may break DNS round-robin
                •you may get back multiple results
               •replace sockaddr_in with struct sockaddr_storage
               •use sockaddr_storage.ai_addrlen for length
               •replace inet_ntoa(3)/inet_aton(3) with
                     inet_ntop(3)/inet_pton(3)




Friday, June 1, 12
IPv6 Basics


                                    Address Resolution
                                              C


               •some OS default their sockets to IPV6_V6ONLY;
                •check sysctl net.inet6.ip6.v6only

                     if (setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY,
                                       (char *)&on, sizeof(on)) == -1)
                          perror("setsockopt IPV6_V6ONLY");
                     else
                          printf("IPV6_V6ONLY setn");

               Without IPV6_V6ONLY, you will get IPv4-mapped addresses
               (::ffff:192.0.2.128).


               Other languages mostly follow logically from C.
Friday, June 1, 12
IPv6 Basics


                                    Address Resolution
                                        PHP
               •use dns_get_record instead of gethostbyname

               •fsockopen and friends handle IPv6

               •you may need to use bracket notation
                               tcp://[2600:809:600::3f50:412]:80




Friday, June 1, 12
IPv6 Basics


                                   Address Resolution
                                     Python, Perl etc.
               •pretty much depends on the modules used.
               •some are terrible, some are great


                           NodeJS and all the other new hotness
               •I have no idea. Sorry.




Friday, June 1, 12
IPv6 Basics


                                   Beware of IP regexes!
               In IPv4, sometimes you can get away with:
               •(d{1,3}.d{1,3}.d{1,3}.d{1,3})
               •([0-9]+.){3}[0-9]+)
               •(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|
               [01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?.(25[0-5]|2[0-4]
               [0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)




Friday, June 1, 12
IPv6 Basics


                                   Beware of IP regexes!
               In IPv6... not so much:

               /^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]
               {1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.
               (25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:
               [0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.
               (25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:
               [0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1d
               d|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-
               f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:
               ((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?
               d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:
               [0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|
               2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-
               Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|
               [1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-
               Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|
               [1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*$/




Friday, June 1, 12
IPv6 Basics


                                   Beware of IP regexes!
               Better:
                          if (inet_pton(AF_INET, $ip)) {
                                   # AF_INET
                          } elsif (inet_pton(AF_INET6, $ip)) {
                                   # AF_INET6
                          } else {
                                   # not an IP address
                          }




Friday, June 1, 12
IPv6 Basics


                                   So... now what?




Friday, June 1, 12
IPv6 Basics


                                        So... now what?
               •get yourselves a few internets from your LIR
                (/48, /56)
               •assess your infrastructure
                •routers/switches usually ok, but verify
                •verify firewalls, IDS, load balancers, other “appliances”
               •choose your transition approach
                •terminate/translate as close to the edge as possible
               •use a test domain
               •do a short live test, then
                •see what broke
                •review data collection tools (can they cope with 128bit
                     addresses, new format)?
               •use short TTL for DNS records

Friday, June 1, 12
IPv6 Basics


                                   So... now what?
               •repeat
               •go live
               •Profit!




Friday, June 1, 12
IPv6 Basics


                                      Links:
               http://www.worldipv6launch.org/
               https://www.google.com/intl/en/ipv6/statistics/
               https://en.wikipedia.org/wiki/IPv6
               http://pretty-rfc.herokuapp.com/RFC2460
               http://www.slideshare.net/IOSHints/getting-ready-
               for-world-ipv6-day-in-6-days
               http://tunnelbroker.net/
               http://test-ipv6.com
               https://www.arin.net/policy/nrpm.html
               http://ipv6friday.org

                                      Lists:
               http://lists.si6networks.com/listinfo/ipv6hackers
               http://www.nanog.org/mailinglist/
               http://lists.cluenet.de/mailman/listinfo/ipv6-ops




Friday, June 1, 12

Weitere ähnliche Inhalte

Andere mochten auch

Removing Barriers to Going Fast
Removing Barriers to Going FastRemoving Barriers to Going Fast
Removing Barriers to Going Fastjgoulah
 
Getting started with IPv6
Getting started with IPv6Getting started with IPv6
Getting started with IPv6Private
 
IPv6 through modernization: Sigurd Thunem, Direktør Arkitektur og Strategi, T...
IPv6 through modernization: Sigurd Thunem, Direktør Arkitektur og Strategi, T...IPv6 through modernization: Sigurd Thunem, Direktør Arkitektur og Strategi, T...
IPv6 through modernization: Sigurd Thunem, Direktør Arkitektur og Strategi, T...IPv6no
 
Development is Production Too
Development is Production TooDevelopment is Production Too
Development is Production Toojgoulah
 
Gerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanGerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanJuliano Atanazio
 
Introduction to ipv6 v1.3
Introduction to ipv6 v1.3Introduction to ipv6 v1.3
Introduction to ipv6 v1.3Karunakant Rai
 
Safely Drinking from the Data Waterhose
Safely Drinking from the Data WaterhoseSafely Drinking from the Data Waterhose
Safely Drinking from the Data WaterhoseJan Schaumann
 
Colt IPv6 for Business Customers Case Study - Swiss IPv6 Council Jun 2013-v3
Colt IPv6 for Business Customers Case Study - Swiss IPv6 Council Jun 2013-v3Colt IPv6 for Business Customers Case Study - Swiss IPv6 Council Jun 2013-v3
Colt IPv6 for Business Customers Case Study - Swiss IPv6 Council Jun 2013-v3Javier Benitez
 
Ipv6 tutorial
Ipv6 tutorialIpv6 tutorial
Ipv6 tutorialsaryu2011
 
Making the urban small cell happen
Making the urban small cell happenMaking the urban small cell happen
Making the urban small cell happenCCS
 

Andere mochten auch (15)

Removing Barriers to Going Fast
Removing Barriers to Going FastRemoving Barriers to Going Fast
Removing Barriers to Going Fast
 
Getting started with IPv6
Getting started with IPv6Getting started with IPv6
Getting started with IPv6
 
Data Driven Monitoring
Data Driven MonitoringData Driven Monitoring
Data Driven Monitoring
 
IPv6: the what, why and how
IPv6: the what, why and howIPv6: the what, why and how
IPv6: the what, why and how
 
IPv6 through modernization: Sigurd Thunem, Direktør Arkitektur og Strategi, T...
IPv6 through modernization: Sigurd Thunem, Direktør Arkitektur og Strategi, T...IPv6 through modernization: Sigurd Thunem, Direktør Arkitektur og Strategi, T...
IPv6 through modernization: Sigurd Thunem, Direktør Arkitektur og Strategi, T...
 
IPv6: Why Should You Care?
IPv6: Why Should You Care?IPv6: Why Should You Care?
IPv6: Why Should You Care?
 
Fancy pants
Fancy pantsFancy pants
Fancy pants
 
Development is Production Too
Development is Production TooDevelopment is Production Too
Development is Production Too
 
Gerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarmanGerenciamento de Backups PostgreSQL com pgbarman
Gerenciamento de Backups PostgreSQL com pgbarman
 
Introduction to ipv6 v1.3
Introduction to ipv6 v1.3Introduction to ipv6 v1.3
Introduction to ipv6 v1.3
 
Safely Drinking from the Data Waterhose
Safely Drinking from the Data WaterhoseSafely Drinking from the Data Waterhose
Safely Drinking from the Data Waterhose
 
Colt IPv6 for Business Customers Case Study - Swiss IPv6 Council Jun 2013-v3
Colt IPv6 for Business Customers Case Study - Swiss IPv6 Council Jun 2013-v3Colt IPv6 for Business Customers Case Study - Swiss IPv6 Council Jun 2013-v3
Colt IPv6 for Business Customers Case Study - Swiss IPv6 Council Jun 2013-v3
 
Ipv6 tutorial
Ipv6 tutorialIpv6 tutorial
Ipv6 tutorial
 
SERVIDORES DEDICADOS
SERVIDORES DEDICADOSSERVIDORES DEDICADOS
SERVIDORES DEDICADOS
 
Making the urban small cell happen
Making the urban small cell happenMaking the urban small cell happen
Making the urban small cell happen
 

Ähnlich wie IPv6 Basics: A Concise Guide to the Next Generation Internet Protocol

Google and IPv6: Steinar H. Gunderson, Software engineer, Google
Google and IPv6: Steinar H. Gunderson, Software engineer, GoogleGoogle and IPv6: Steinar H. Gunderson, Software engineer, Google
Google and IPv6: Steinar H. Gunderson, Software engineer, GoogleIPv6no
 
IPv4 Depletion & IPv6 Deployment
IPv4 Depletion & IPv6 DeploymentIPv4 Depletion & IPv6 Deployment
IPv4 Depletion & IPv6 DeploymentRIPE NCC
 
IPv6 Launch Day Tutorial
IPv6 Launch Day Tutorial IPv6 Launch Day Tutorial
IPv6 Launch Day Tutorial RIPE NCC
 
RIPE NCC World IPv6 Launch Tutorial
RIPE NCC World IPv6 Launch TutorialRIPE NCC World IPv6 Launch Tutorial
RIPE NCC World IPv6 Launch TutorialNTrenaman
 
Tools and Measurements at the RIPE NCC
Tools and Measurements at the RIPE NCCTools and Measurements at the RIPE NCC
Tools and Measurements at the RIPE NCCRIPE NCC
 
Daniel Karrenberg - IPv6, Act Now!
Daniel Karrenberg - IPv6, Act Now! Daniel Karrenberg - IPv6, Act Now!
Daniel Karrenberg - IPv6, Act Now! IPv6 Conference
 
IPv4 Depletion & IPv6 Deployment
IPv4 Depletion & IPv6 Deployment IPv4 Depletion & IPv6 Deployment
IPv4 Depletion & IPv6 Deployment RIPE NCC
 
World IPv6 Launch and IPv4 Depletion
World IPv6 Launch and IPv4 DepletionWorld IPv6 Launch and IPv4 Depletion
World IPv6 Launch and IPv4 DepletionRIPE NCC
 
World IPv6 Day Measured
World IPv6 Day MeasuredWorld IPv6 Day Measured
World IPv6 Day MeasuredRIPE NCC
 
Stay Connected - world IPv6 Launch
Stay Connected - world IPv6 LaunchStay Connected - world IPv6 Launch
Stay Connected - world IPv6 LaunchOlle E Johansson
 
Java EE and Google App Engine
Java EE and Google App EngineJava EE and Google App Engine
Java EE and Google App EngineArun Gupta
 
LKNOG6 IPv6 Implementation Stories and Where to Start presentation by Terry S...
LKNOG6 IPv6 Implementation Stories and Where to Start presentation by Terry S...LKNOG6 IPv6 Implementation Stories and Where to Start presentation by Terry S...
LKNOG6 IPv6 Implementation Stories and Where to Start presentation by Terry S...APNIC
 
Realtime communication over a dual stack network
Realtime communication over a dual stack networkRealtime communication over a dual stack network
Realtime communication over a dual stack networkOlle E Johansson
 
NEW LAUNCH IPv6 in the Cloud: Protocol and AWS Service Overview
NEW LAUNCH IPv6 in the Cloud: Protocol and AWS Service OverviewNEW LAUNCH IPv6 in the Cloud: Protocol and AWS Service Overview
NEW LAUNCH IPv6 in the Cloud: Protocol and AWS Service OverviewAmazon Web Services
 
Ron Broersma dren-stavanger-22 nov2011
Ron Broersma dren-stavanger-22 nov2011Ron Broersma dren-stavanger-22 nov2011
Ron Broersma dren-stavanger-22 nov2011IPv6no
 
2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIP2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIPOlle E Johansson
 
5. Troubleshooting IPv6 - Rolf Schärer
5. Troubleshooting IPv6 - Rolf Schärer5. Troubleshooting IPv6 - Rolf Schärer
5. Troubleshooting IPv6 - Rolf SchärerDigicomp Academy AG
 
PLNOG 8: Martin J Levy - IPv6 in 2012 - 3, 2, 1 ... Launch ! ... will your ba...
PLNOG 8: Martin J Levy - IPv6 in 2012 - 3, 2, 1 ... Launch ! ... will your ba...PLNOG 8: Martin J Levy - IPv6 in 2012 - 3, 2, 1 ... Launch ! ... will your ba...
PLNOG 8: Martin J Levy - IPv6 in 2012 - 3, 2, 1 ... Launch ! ... will your ba...PROIDEA
 
EU Data Cloud - On to the Cloud
EU Data Cloud - On to the CloudEU Data Cloud - On to the Cloud
EU Data Cloud - On to the CloudKnud Möller
 
IPv6 対応アプリケーション開発なんて怖くない
IPv6 対応アプリケーション開発なんて怖くないIPv6 対応アプリケーション開発なんて怖くない
IPv6 対応アプリケーション開発なんて怖くないKoichi Taniguchi
 

Ähnlich wie IPv6 Basics: A Concise Guide to the Next Generation Internet Protocol (20)

Google and IPv6: Steinar H. Gunderson, Software engineer, Google
Google and IPv6: Steinar H. Gunderson, Software engineer, GoogleGoogle and IPv6: Steinar H. Gunderson, Software engineer, Google
Google and IPv6: Steinar H. Gunderson, Software engineer, Google
 
IPv4 Depletion & IPv6 Deployment
IPv4 Depletion & IPv6 DeploymentIPv4 Depletion & IPv6 Deployment
IPv4 Depletion & IPv6 Deployment
 
IPv6 Launch Day Tutorial
IPv6 Launch Day Tutorial IPv6 Launch Day Tutorial
IPv6 Launch Day Tutorial
 
RIPE NCC World IPv6 Launch Tutorial
RIPE NCC World IPv6 Launch TutorialRIPE NCC World IPv6 Launch Tutorial
RIPE NCC World IPv6 Launch Tutorial
 
Tools and Measurements at the RIPE NCC
Tools and Measurements at the RIPE NCCTools and Measurements at the RIPE NCC
Tools and Measurements at the RIPE NCC
 
Daniel Karrenberg - IPv6, Act Now!
Daniel Karrenberg - IPv6, Act Now! Daniel Karrenberg - IPv6, Act Now!
Daniel Karrenberg - IPv6, Act Now!
 
IPv4 Depletion & IPv6 Deployment
IPv4 Depletion & IPv6 Deployment IPv4 Depletion & IPv6 Deployment
IPv4 Depletion & IPv6 Deployment
 
World IPv6 Launch and IPv4 Depletion
World IPv6 Launch and IPv4 DepletionWorld IPv6 Launch and IPv4 Depletion
World IPv6 Launch and IPv4 Depletion
 
World IPv6 Day Measured
World IPv6 Day MeasuredWorld IPv6 Day Measured
World IPv6 Day Measured
 
Stay Connected - world IPv6 Launch
Stay Connected - world IPv6 LaunchStay Connected - world IPv6 Launch
Stay Connected - world IPv6 Launch
 
Java EE and Google App Engine
Java EE and Google App EngineJava EE and Google App Engine
Java EE and Google App Engine
 
LKNOG6 IPv6 Implementation Stories and Where to Start presentation by Terry S...
LKNOG6 IPv6 Implementation Stories and Where to Start presentation by Terry S...LKNOG6 IPv6 Implementation Stories and Where to Start presentation by Terry S...
LKNOG6 IPv6 Implementation Stories and Where to Start presentation by Terry S...
 
Realtime communication over a dual stack network
Realtime communication over a dual stack networkRealtime communication over a dual stack network
Realtime communication over a dual stack network
 
NEW LAUNCH IPv6 in the Cloud: Protocol and AWS Service Overview
NEW LAUNCH IPv6 in the Cloud: Protocol and AWS Service OverviewNEW LAUNCH IPv6 in the Cloud: Protocol and AWS Service Overview
NEW LAUNCH IPv6 in the Cloud: Protocol and AWS Service Overview
 
Ron Broersma dren-stavanger-22 nov2011
Ron Broersma dren-stavanger-22 nov2011Ron Broersma dren-stavanger-22 nov2011
Ron Broersma dren-stavanger-22 nov2011
 
2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIP2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIP
 
5. Troubleshooting IPv6 - Rolf Schärer
5. Troubleshooting IPv6 - Rolf Schärer5. Troubleshooting IPv6 - Rolf Schärer
5. Troubleshooting IPv6 - Rolf Schärer
 
PLNOG 8: Martin J Levy - IPv6 in 2012 - 3, 2, 1 ... Launch ! ... will your ba...
PLNOG 8: Martin J Levy - IPv6 in 2012 - 3, 2, 1 ... Launch ! ... will your ba...PLNOG 8: Martin J Levy - IPv6 in 2012 - 3, 2, 1 ... Launch ! ... will your ba...
PLNOG 8: Martin J Levy - IPv6 in 2012 - 3, 2, 1 ... Launch ! ... will your ba...
 
EU Data Cloud - On to the Cloud
EU Data Cloud - On to the CloudEU Data Cloud - On to the Cloud
EU Data Cloud - On to the Cloud
 
IPv6 対応アプリケーション開発なんて怖くない
IPv6 対応アプリケーション開発なんて怖くないIPv6 対応アプリケーション開発なんて怖くない
IPv6 対応アプリケーション開発なんて怖くない
 

Mehr von Jan Schaumann

The Razors Edge - Cutting your TLS Baggage
The Razors Edge - Cutting your TLS BaggageThe Razors Edge - Cutting your TLS Baggage
The Razors Edge - Cutting your TLS BaggageJan Schaumann
 
Know Your Enemy - An Introduction to Threat Modeling
Know Your Enemy - An Introduction to Threat ModelingKnow Your Enemy - An Introduction to Threat Modeling
Know Your Enemy - An Introduction to Threat ModelingJan Schaumann
 
Crazy Like A Fox - #Infosec Ideas That Just Might Work
Crazy Like A Fox - #Infosec Ideas That Just Might WorkCrazy Like A Fox - #Infosec Ideas That Just Might Work
Crazy Like A Fox - #Infosec Ideas That Just Might WorkJan Schaumann
 
It's the people, stupid.
It's the people, stupid.It's the people, stupid.
It's the people, stupid.Jan Schaumann
 
Semper Ubi Sub Ubi - Things They Don't Teach You In School
Semper Ubi Sub Ubi - Things They Don't Teach You In SchoolSemper Ubi Sub Ubi - Things They Don't Teach You In School
Semper Ubi Sub Ubi - Things They Don't Teach You In SchoolJan Schaumann
 
Everything is Awful (And You're Not Helping)
Everything is Awful (And You're Not Helping)Everything is Awful (And You're Not Helping)
Everything is Awful (And You're Not Helping)Jan Schaumann
 
Primum non nocere - Ethical Obligations in Internet Operations
Primum non nocere - Ethical Obligations in Internet OperationsPrimum non nocere - Ethical Obligations in Internet Operations
Primum non nocere - Ethical Obligations in Internet OperationsJan Schaumann
 
Protecting Data in Untrusted Locations
Protecting Data in Untrusted LocationsProtecting Data in Untrusted Locations
Protecting Data in Untrusted LocationsJan Schaumann
 
Headless Host Scanning
Headless Host ScanningHeadless Host Scanning
Headless Host ScanningJan Schaumann
 
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load Balancing
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load BalancingL3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load Balancing
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load BalancingJan Schaumann
 
Building better tools
Building better toolsBuilding better tools
Building better toolsJan Schaumann
 

Mehr von Jan Schaumann (16)

The Razors Edge - Cutting your TLS Baggage
The Razors Edge - Cutting your TLS BaggageThe Razors Edge - Cutting your TLS Baggage
The Razors Edge - Cutting your TLS Baggage
 
OpSec101
OpSec101OpSec101
OpSec101
 
Know Your Enemy - An Introduction to Threat Modeling
Know Your Enemy - An Introduction to Threat ModelingKnow Your Enemy - An Introduction to Threat Modeling
Know Your Enemy - An Introduction to Threat Modeling
 
Crazy Like A Fox - #Infosec Ideas That Just Might Work
Crazy Like A Fox - #Infosec Ideas That Just Might WorkCrazy Like A Fox - #Infosec Ideas That Just Might Work
Crazy Like A Fox - #Infosec Ideas That Just Might Work
 
It's the people, stupid.
It's the people, stupid.It's the people, stupid.
It's the people, stupid.
 
Semper Ubi Sub Ubi - Things They Don't Teach You In School
Semper Ubi Sub Ubi - Things They Don't Teach You In SchoolSemper Ubi Sub Ubi - Things They Don't Teach You In School
Semper Ubi Sub Ubi - Things They Don't Teach You In School
 
Everything is Awful (And You're Not Helping)
Everything is Awful (And You're Not Helping)Everything is Awful (And You're Not Helping)
Everything is Awful (And You're Not Helping)
 
Defense at Scale
Defense at ScaleDefense at Scale
Defense at Scale
 
Primum non nocere - Ethical Obligations in Internet Operations
Primum non nocere - Ethical Obligations in Internet OperationsPrimum non nocere - Ethical Obligations in Internet Operations
Primum non nocere - Ethical Obligations in Internet Operations
 
Protecting Data in Untrusted Locations
Protecting Data in Untrusted LocationsProtecting Data in Untrusted Locations
Protecting Data in Untrusted Locations
 
Headless Host Scanning
Headless Host ScanningHeadless Host Scanning
Headless Host Scanning
 
PGP for Smarties
PGP for SmartiesPGP for Smarties
PGP for Smarties
 
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load Balancing
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load BalancingL3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load Balancing
L3DSR - Overcoming Layer 2 Limitations of Direct Server Return Load Balancing
 
Building better tools
Building better toolsBuilding better tools
Building better tools
 
Useless use of *
Useless use of *Useless use of *
Useless use of *
 
DST @ Yahoo!
DST @ Yahoo!DST @ Yahoo!
DST @ Yahoo!
 

Kürzlich hochgeladen

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 

Kürzlich hochgeladen (20)

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 

IPv6 Basics: A Concise Guide to the Next Generation Internet Protocol

  • 1. IPv6 Basics http://etsy.me/KD4Dru Jan Schaumann <jschauma@etsy.com> B60D A9F7 0D89 544A 7995 7D25 5A5B 4375 275F 0BB5 Friday, June 1, 12
  • 2. IPv6 Basics What’s the big idea? Friday, June 1, 12
  • 3. IPv6 Basics What’s the big idea? Remember... back in February 2011: Friday, June 1, 12
  • 4. IPv6 Basics Mommy, where do IP addresses come from? Well,... when an LIR and an RIR love each other very much... Friday, June 1, 12
  • 5. IPv6 Basics Mommy, where do IP addresses come from? Internet Assigned Numbers Authority (IANA) oversees global IP address/AS number allocation, root zone management etc. Friday, June 1, 12
  • 6. IPv6 Basics Mommy, where do IP addresses come from? Regional Internet Registries (RIR) manage the allocation and registration of Internet number resources within a region of the world. Friday, June 1, 12
  • 7. IPv6 Basics Mommy, where do IP addresses come from? RIRs assign blocks of IP addresses to the Local Internet Registries (LIR). LIRs are either ISPs, enterprises using a lot of addresses, or academic institutions. Friday, June 1, 12
  • 8. IPv6 Basics Here’s what’s next: IANA Address Pool Exhaustion:             2011-02-03 APNIC reached final /8: 2011-04-15 RIPENCC: 2012-08-08 ARIN: 2013-06-24 LACNIC: 2014-02-04 AFRINIC: 2014-11-09 https://ipv6.he.net/v4ex/sidebar/ Friday, June 1, 12
  • 9. IPv6 Basics You know what else? 1. Go out of business. 2. ??? 3. Profit! Friday, June 1, 12
  • 10. IPv6 Basics You know what else? In December 2011, Borders sold a /16 for $12 per IP address. $786,432 Friday, June 1, 12
  • 11. IPv6 Basics What’s the big idea? Today: ASes running IPv6: 13.7% Top 1M sites running IPv6: 1.26% Yahoo! users served over IPv6 on World IPv6 Day: >1.85M (0.229%) http://bgp.he.net/ipv6-progress-report.cgi Friday, June 1, 12
  • 12. IPv6 Basics Why don’t we just switch? IPv6 was formalized in RFC1883 in December 1995. Friday, June 1, 12
  • 13. IPv6 Basics Why don’t we just switch? http://etsy.me/KqQZcR http://etsy.me/KqRdAK Friday, June 1, 12
  • 14. IPv6 Basics Why don’t we just switch? Friday, June 1, 12
  • 15. IPv6 Basics Why don’t we just switch? •~ 0.022% of users have a “broken” configuration •timeout for IPv4 fallbacks worsen user experience •consumers are not demanding IPv6 (see chicken) Friday, June 1, 12
  • 16. IPv6 Basics June 6th 2012 This time it’s for realsies! Friday, June 1, 12
  • 17. IPv6 Basics June 6th 2012 This time it’s for realsies! •Google •Facebook •YouTube •Yahoo •Bing •AOL •Netflix Friday, June 1, 12
  • 18. IPv6 Basics June 6th 2012 This time it’s for realsies! •Google •Facebook •YouTube •Yahoo •Bing •AOL •Netflix •Etsy? Friday, June 1, 12
  • 19. IPv6 Basics June 6th 2012 This time it’s for realsies! •Google •Facebook •YouTube •Yahoo •Bing •AOL •Netflix •Etsy :-( Friday, June 1, 12
  • 20. IPv6 Basics Let’s rewind... http://etsy.me/KDePjL Friday, June 1, 12
  • 21. IPv6 Basics Yeah, yeah, 32 bits, I know. 01100000000001111010101000100101 Friday, June 1, 12
  • 22. IPv6 Basics Yeah, yeah, 32 bits, I know. 01100000000001111010101000100101 96.7.170.37 Friday, June 1, 12
  • 23. IPv6 Basics Yeah, yeah, 32 bits, I know. 01100000000001111010101000100101 96.7.170.37 www.etsy.com Friday, June 1, 12
  • 24. IPv6 Basics Yeah, yeah, 32 bits, I know. 01100000000001111010101000100101 96.7.170.37 www.etsy.com (mumble.frubmle.something.akamai.com) Friday, June 1, 12
  • 25. IPv6 Basics Remember classful routing? 01100000000001111010101000100101 Friday, June 1, 12
  • 26. IPv6 Basics Remember classful routing? 01100000 000001111010101000100101 Friday, June 1, 12
  • 27. IPv6 Basics That’s silly. Let’s CIDR this mofo! 01100000.00000111.10101010. 00100101 11111111.11111111.11111111. 00000000 /24 Friday, June 1, 12
  • 28. IPv6 Basics CIDR Cheat Sheet A.B.C.D/N •N = bits describing network portion •M = 32 - N = bits describing host portion •2M = number of addresses on this subnet •2M-2 = number of possible hosts •network address •broadcast address •subnet division need not occur on dotted boundary only (divide a /24 into four /26) Friday, June 1, 12
  • 29. IPv6 Basics CIDR Cheat Sheet A.B.C.D/N •N = bits describing network portion •M = 32 - N = bits describing host portion •2M = number of addresses on this subnet •2M-2 = number of possible hosts •network address •broadcast address •subnet division need not occur on dotted boundary only (divide a /24 into four /26) The same approach works for IPv6! Friday, June 1, 12
  • 30. IPv6 Basics IPv4 01100000000001111010101000100101 32 bit address space Friday, June 1, 12
  • 31. IPv6 Basics IPv4 01100000000001111010101000100101 32 bit address space => 232 addresses Friday, June 1, 12
  • 32. IPv6 Basics IPv4 01100000000001111010101000100101 32 bit address space => 232 addresses => 4,294,967,296 addresses Friday, June 1, 12
  • 33. IPv6 Basics IPv4 The archetypal prototype that escaped into production. “It’s my fault.” - Vint Cerf 32-bit space thought sufficient for this experiment started in 1976. Friday, June 1, 12
  • 34. IPv6 Basics Repeat after me: There’s nothing as permanent as a temporary solution. Friday, June 1, 12
  • 35. IPv6 Basics IPv4 01100000000001111010101000100101 32 bit address space => 232 addresses => 4,294,967,296 addresses Friday, June 1, 12
  • 36. IPv6 Basics IPv6 0010000000000001 0000000011011011 0000000000000000 0000000000000000 0000011110101011 0000000000000000 0000000000000000 0001001100001011 128 bit address space Friday, June 1, 12
  • 37. IPv6 Basics IPv6 128 bit address space => 2128 addresses Friday, June 1, 12
  • 38. IPv6 Basics IPv6 128 bit address space => 2128 addresses => 340,282,366,920,938,463,463,374,607,431,768,211,456 addresses Friday, June 1, 12
  • 39. IPv6 Basics Hmm. That sure is a lot. But is it enough? Friday, June 1, 12
  • 40. IPv6 Basics Hmm. That sure is a lot. But is it enough? Friday, June 1, 12
  • 41. IPv6 Basics Hmm. That sure is a lot. But is it enough? Friday, June 1, 12
  • 42. IPv6 Basics Hmm. That sure is a lot. But is it enough? “"if the earth were made entirely out of 1 cubic millimeter grains of sand, then you could give a unique [IPv6] address to each grain in 300 million planets the size of the earth" Friday, June 1, 12
  • 43. IPv6 Basics IPv6 addresses •8 16bit words in case insensitive colon hexadecimal representation 2001:00db8:0000:0000:07AB:0000:0000:130B Friday, June 1, 12
  • 44. IPv6 Basics IPv6 addresses •8 16bit words in case insensitive colon hexadecimal representation 2001:00db8:0000:0000:07AB:0000:0000:130B •Leading zeros in a field are optional: 2001:db8:0:0:7AB:0:0:130B Friday, June 1, 12
  • 45. IPv6 Basics IPv6 addresses •8 16bit words in case insensitive colon hexadecimal representation 2001:00db8:0000:0000:07AB:0000:0000:130B •Leading zeros in a field are optional: 2001:db8:0:0:7AB:0:0:130B •Successive fields of 0 represented as ::, but only once in an address: 2001:db8::7AB:0:0:130B ok 2001:db8:0:0:7AB::130B ok 2001:db8::7AB::130B not ok Friday, June 1, 12
  • 46. IPv6 Basics IPv6 address oddities •address may include the interface name: fe80::e276:63ff:fe72:3900%eth0 Friday, June 1, 12
  • 47. IPv6 Basics IPv6 address oddities •address may include the interface name: fe80::e276:63ff:fe72:3900%eth0 •IPv4-mapped addresses (dual-stack only): 0:0:0:0:ffff:166.84.7.99 ::ffff:a654:763 Friday, June 1, 12
  • 48. IPv6 Basics IPv6 address oddities •address may include the interface name: fe80::e276:63ff:fe72:3900%eth0 •IPv4-mapped addresses (dual-stack only): 0:0:0:0:ffff:166.84.7.99 ::ffff:a654:763 •brackets are used to separate port from address: IPv4: 166.84.7.99:80 IPv6: [2001:db8::07AB:0:0:130B]:80 Friday, June 1, 12
  • 49. IPv6 Basics IPv6 address scope •Link-Local (fe80::e276:63ff:fe72:3900%eth0): • used on a single link • equivalent of 169.254.0.0/16 •fe80::/64 (usually assigned via SLAAC) Friday, June 1, 12
  • 50. IPv6 Basics IPv6 address scope •Link-Local (fe80::e276:63ff:fe72:3900%eth0): • used on a single link • equivalent of 169.254.0.0/16 •fe80::/64 (usually assigned via SLAAC) •Unique Local Address (ULA): •equivalent of IPv4 RFC1918 •not globally routable •fc00::/7 Friday, June 1, 12
  • 51. IPv6 Basics IPv6 address scope •Link-Local (fe80::e276:63ff:fe72:3900%eth0): • used on a single link • equivalent of 169.254.0.0/16 •fe80::/64 (usually assigned via SLAAC) •Unique Local Address (ULA): •equivalent of IPv4 RFC1918 •not globally routable •fc00::/7 •Global (Unicast, Anycast, Multicast) •unicast: 2a03:2880:2110:3f01:face:b00c:: •anycast: undistinguishable from unicast •multicast: FF00::/8 Friday, June 1, 12
  • 52. IPv6 Basics Of IPv6 classful routing and CIDRs •unicast addresses starting with 000 are logically divided into two parts: a 64-bit (sub-)network prefix, and a 64-bit interface identifier •the default subnet size is thus /64 Friday, June 1, 12
  • 53. IPv6 Basics Of IPv6 classful routing and CIDRs •unicast addresses starting with 000 are logically divided into two parts: a 64-bit (sub-)network prefix, and a 64-bit interface identifier •the default subnet size is thus /64 Yes, that’s 18,446,744,073,709,551,616 addresses per subnet. Friday, June 1, 12
  • 54. IPv6 Basics Of IPv6 classful routing and CIDRs •unicast addresses starting with 000 are logically divided into two parts: a 64-bit (sub-)network prefix, and a 64-bit interface identifier •the default subnet size is thus /64 Yes, that’s 232 internets per subnet. Friday, June 1, 12
  • 55. IPv6 Basics IPv6 Allocations 2001:0db8:0123:4567:89ab:cdef:1234:5678 |||| |||| |||| |||| |||| |||| |||| |||128 Single end-points and loopback |||| |||| |||| |||| |||| |||| |||| ||124 |||| |||| |||| |||| |||| |||| |||| |120 |||| |||| |||| |||| |||| |||| |||| 116 |||| |||| |||| |||| |||| |||| |||112 |||| |||| |||| |||| |||| |||| ||108 |||| |||| |||| |||| |||| |||| |104 |||| |||| |||| |||| |||| |||| 100 |||| |||| |||| |||| |||| |||96 |||| |||| |||| |||| |||| ||92 |||| |||| |||| |||| |||| |88 |||| |||| |||| |||| |||| 84 |||| |||| |||| |||| |||80 |||| |||| |||| |||| ||76 |||| |||| |||| |||| |72 |||| |||| |||| |||| 68 |||| |||| |||| |||64 Single End-user LAN (default prefix size for SLAAC) |||| |||| |||| ||60 |||| |||| |||| |56 Proposed minimal end sites assignment |||| |||| |||| 52 |||| |||| |||48 Default end sites assignment |||| |||| ||44 |||| |||| |40 |||| |||| 36 |||| |||32 Local Internet registry minimum allocations |||| ||28 Local Internet registry medium allocations |||| |24 Local Internet registry large allocations |||| 20 Local Internet registry extra large allocations |||16 ||12 Regional Internet Registry allocations from IANA Friday, June 1, 12
  • 56. IPv6 Basics IPv6 transition mechanisms End goal: native IPv6 / dual-stack •6to4 •6in4 •6rd •teredo •NAT64/DNS64 •terminate at edge of network Friday, June 1, 12
  • 57. IPv6 Basics IPv6 transition mechanisms •6to4 and 6rd Friday, June 1, 12
  • 58. IPv6 Basics IPv6 transition mechanisms •NAT64 / DNS64 Friday, June 1, 12
  • 59. IPv6 Basics IPv6 transition mechanisms •6-to-4 load balancer Friday, June 1, 12
  • 60. IPv6 Basics Enough already! Let’s do something! http://test-ipv6.com/ Friday, June 1, 12
  • 61. IPv6 Basics EC2 Example Friday, June 1, 12
  • 62. IPv6 Basics EC2 Example Friday, June 1, 12
  • 63. IPv6 Basics EC2 Example Friday, June 1, 12
  • 64. IPv6 Basics EC2 Example Friday, June 1, 12
  • 65. IPv6 Basics EC2 Example Friday, June 1, 12
  • 66. IPv6 Basics EC2 Example Friday, June 1, 12
  • 67. IPv6 Basics EC2 Example Friday, June 1, 12
  • 68. IPv6 Basics EC2 Example Friday, June 1, 12
  • 69. IPv6 Basics EC2 Example Friday, June 1, 12
  • 70. IPv6 Basics EC2 Example Friday, June 1, 12
  • 71. IPv6 Basics EC2 Example Friday, June 1, 12
  • 72. IPv6 Basics That was exciting! Let’s move on... Friday, June 1, 12
  • 73. IPv6 Basics See, IPv6 is hilarious! Friday, June 1, 12
  • 74. IPv6 Basics Hmmm. Friday, June 1, 12
  • 75. IPv6 Basics Duh. Friday, June 1, 12
  • 76. IPv6 Basics Duh. Friday, June 1, 12
  • 77. IPv6 Basics Duh. Friday, June 1, 12
  • 78. IPv6 Basics A few notes so far: •DNS lookup of AAAA records works over IPv4 •IPv6 may be enabled •your interfaces may already have IPv6 addresses •your host may not be configured for IPv6 •we need different tools for IPv4 and IPv6 Friday, June 1, 12
  • 86. IPv6 Basics Configuring IPv6 Friday, June 1, 12
  • 87. IPv6 Basics Configuring IPv6 Friday, June 1, 12
  • 88. IPv6 Basics Hooray IPv6 Friday, June 1, 12
  • 89. IPv6 Basics Now let’s use it! Friday, June 1, 12
  • 90. IPv6 Basics Now let’s use it! Friday, June 1, 12
  • 91. IPv6 Basics Now let’s use it! Friday, June 1, 12
  • 92. IPv6 Basics Booooooring! Friday, June 1, 12
  • 93. IPv6 Basics Let’s see who’s out there... Friday, June 1, 12
  • 94. IPv6 Basics Let’s see who’s out there... Friday, June 1, 12
  • 95. IPv6 Basics Ah, but IPv6 has no broadcast address. Friday, June 1, 12
  • 96. IPv6 Basics Instead, IPv6 uses multicast to all-hosts. Friday, June 1, 12
  • 97. IPv6 Basics IPv4 has ARP... Friday, June 1, 12
  • 98. IPv6 Basics IPv6 has the Neighbor Discovery Protocol Friday, June 1, 12
  • 99. IPv6 Basics IPv6 has the Neighbor Discovery Protocol Friday, June 1, 12
  • 100. IPv6 Basics IPv6 has the Neighbor Discovery Protocol •NDP used for: •router, prefix and parameter discovery •address autoconfiguration (SLAAC) •address resolution (think ARP) •uses ICMPv6 •operates on the Internet Layer •BSD: ndp(8) •Linux: ip(8), ip-neighbour(8) Friday, June 1, 12
  • 101. IPv6 Basics ICMPv6 ECHO REQUEST / REPLY Friday, June 1, 12
  • 102. IPv6 Basics ICMPv6 ECHO REQUEST / REPLY Friday, June 1, 12
  • 103. IPv6 Basics ICMPv6 TIME EXCEEDED / DESTINATION UNREACHABLE Friday, June 1, 12
  • 104. IPv6 Basics ICMPv6 TIME EXCEEDED / DESTINATION UNREACHABLE Friday, June 1, 12
  • 105. IPv6 Basics ICMPv6 •much like ICMP in IPv4 •ECHO REQUEST/REPLY •Destination Unreachable •Time Exceeded •Packet Too Big (PMTU Discovery) •Neighbor Discovery Protocol •ping6(8), traceroute6(8), ... Friday, June 1, 12
  • 106. IPv6 Basics Sidenote IPv6 Tunnel Traffic Friday, June 1, 12
  • 107. IPv6 Basics Sidenote IPv6 Tunnel Traffic Friday, June 1, 12
  • 108. IPv6 Basics Sidenote IPv6 Tunnel Traffic Friday, June 1, 12
  • 109. IPv6 Basics TCP Nothing to see here... Friday, June 1, 12
  • 110. IPv6 Basics TCP Nothing to see here... Friday, June 1, 12
  • 111. IPv6 Basics UDP Nothing to see here... Friday, June 1, 12
  • 112. IPv6 Basics UDP Nothing to see here... Friday, June 1, 12
  • 113. IPv6 Basics UDP Nothing to see here... Friday, June 1, 12
  • 114. IPv6 Basics Dual Stack Implications Regardless of transport mechanism to DNS server: •ask DNS for AAAA •if AAAA exists, assume (and use) IPv6 for the connection •only ask for A if no AAAA was found •if A exists, use IPv4 for the connect Friday, June 1, 12
  • 115. IPv6 Basics Address Resolution C •replace gethostby* with getaddrinfo(3) •RFC3484 section 6 rule 9 prefix-length based sorting may break DNS round-robin •you may get back multiple results •replace sockaddr_in with struct sockaddr_storage •use sockaddr_storage.ai_addrlen for length •replace inet_ntoa(3)/inet_aton(3) with inet_ntop(3)/inet_pton(3) Friday, June 1, 12
  • 116. IPv6 Basics Address Resolution C •some OS default their sockets to IPV6_V6ONLY; •check sysctl net.inet6.ip6.v6only if (setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY, (char *)&on, sizeof(on)) == -1) perror("setsockopt IPV6_V6ONLY"); else printf("IPV6_V6ONLY setn"); Without IPV6_V6ONLY, you will get IPv4-mapped addresses (::ffff:192.0.2.128). Other languages mostly follow logically from C. Friday, June 1, 12
  • 117. IPv6 Basics Address Resolution PHP •use dns_get_record instead of gethostbyname •fsockopen and friends handle IPv6 •you may need to use bracket notation tcp://[2600:809:600::3f50:412]:80 Friday, June 1, 12
  • 118. IPv6 Basics Address Resolution Python, Perl etc. •pretty much depends on the modules used. •some are terrible, some are great NodeJS and all the other new hotness •I have no idea. Sorry. Friday, June 1, 12
  • 119. IPv6 Basics Beware of IP regexes! In IPv4, sometimes you can get away with: •(d{1,3}.d{1,3}.d{1,3}.d{1,3}) •([0-9]+.){3}[0-9]+) •(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]| [01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?.(25[0-5]|2[0-4] [0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) Friday, June 1, 12
  • 120. IPv6 Basics Beware of IP regexes! In IPv6... not so much: /^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f] {1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(. (25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((: [0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(. (25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((: [0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1d d|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa- f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}: ((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]? d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((: [0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]| 2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A- Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd| [1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A- Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd| [1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*$/ Friday, June 1, 12
  • 121. IPv6 Basics Beware of IP regexes! Better: if (inet_pton(AF_INET, $ip)) { # AF_INET } elsif (inet_pton(AF_INET6, $ip)) { # AF_INET6 } else { # not an IP address } Friday, June 1, 12
  • 122. IPv6 Basics So... now what? Friday, June 1, 12
  • 123. IPv6 Basics So... now what? •get yourselves a few internets from your LIR (/48, /56) •assess your infrastructure •routers/switches usually ok, but verify •verify firewalls, IDS, load balancers, other “appliances” •choose your transition approach •terminate/translate as close to the edge as possible •use a test domain •do a short live test, then •see what broke •review data collection tools (can they cope with 128bit addresses, new format)? •use short TTL for DNS records Friday, June 1, 12
  • 124. IPv6 Basics So... now what? •repeat •go live •Profit! Friday, June 1, 12
  • 125. IPv6 Basics Links: http://www.worldipv6launch.org/ https://www.google.com/intl/en/ipv6/statistics/ https://en.wikipedia.org/wiki/IPv6 http://pretty-rfc.herokuapp.com/RFC2460 http://www.slideshare.net/IOSHints/getting-ready- for-world-ipv6-day-in-6-days http://tunnelbroker.net/ http://test-ipv6.com https://www.arin.net/policy/nrpm.html http://ipv6friday.org Lists: http://lists.si6networks.com/listinfo/ipv6hackers http://www.nanog.org/mailinglist/ http://lists.cluenet.de/mailman/listinfo/ipv6-ops Friday, June 1, 12