SlideShare a Scribd company logo
1 of 63
Download to read offline
IPv6



             : IAjapan Java




       Jun 11th, 2011 - OSC 2011 Hokkaido
•          IPv6

•   IPv4

•   IPv6

•   Web           IPv6




                    Jun 11th, 2011 - OSC 2011 Hokkaido
Jun 11th, 2011 - OSC 2011 Hokkaido
•         :        (                    )

•   HN:

•         : Web

•         :

•   Twitter: @nipotan
•   Facebook: http://facebook.com/nipotan
•   Web: http://nipotan.com/
•                  : Perl



                                 Jun 11th, 2011 - OSC 2011 Hokkaido
IPv6



 Jun 11th, 2011 - OSC 2011 Hokkaido
IPv6
•       IPv6                            1

    •   http://blog.livedoor.jp/nipotan/archives/51195204.html




                                    Jun 11th, 2011 - OSC 2011 Hokkaido
IPv6
•               IPv6

    •  NO
•   IPv6

    •   2008     12    livedoor     IPv6

            EDGE Co.Lab v6   http://labs.edge.jp/colabv6/

        •
            •   IPv6



                                   Jun 11th, 2011 - OSC 2011 Hokkaido
livedoor         IPv6
 •   IPv6@2ch
     → http://ipv6.2ch.net/
     •IPv6

 •   fixdap
     → http://fixdap.com/
     • EDGE Co.Lab v6

     •   IPv6                   IPv6

 •   IRCnet       IRC

     •   WIDE                 IRCnet

                                Jun 11th, 2011 - OSC 2011 Hokkaido
IPv6
 •
     •   IPv6


 •
 •
     •



                Jun 11th, 2011 - OSC 2011 Hokkaido
•   APNIC 27 (Fab 2009 - Manila, Philippnes)
    • http://meetings.apnic.net/27/program/ipv6-in-3d
    • http://slidesha.re/nipotan-apnic27




                                  Jun 11th, 2011 - OSC 2011 Hokkaido
IPv6         2           …
•
•
•
•

    IPv6



           Jun 11th, 2011 - OSC 2011 Hokkaido
APNIC            IPv6
•
•       IPv6

•




               Jun 11th, 2011 - OSC 2011 Hokkaido
vs IPv6
•
•
•           L7

    •   IP (Internet Protocol)
        →




                                 Jun 11th, 2011 - OSC 2011 Hokkaido
IPv6               …
 •            IPv6 Ready!

 •                IPv6 Ready!

     •   IP                 OK

     •
         •
 •
     •
     •
                   Jun 11th, 2011 - OSC 2011 Hokkaido
IPv4



       Jun 11th, 2011 - OSC 2011 Hokkaido
2011   4   15




                IPv4



                       Jun 11th, 2011 - OSC 2011 Hokkaido
IPv4
 •   32bit
 •      43

     •   4,294,967,296

 •
 •




                         Jun 11th, 2011 - OSC 2011 Hokkaido
IPv4
                               IANA (Internet Assigned Numbers Authority)
 IR (Internet Registry)
    RIR (Regional Internet Registry)
           ARIN                    RIPE               LACNIC                      AfriNIC                      APNIC
        (American Registry
      for Internet Numbers)        NCC               (Latin American and
                                                      Caribbean Internet
                                                                                (African Network
                                                                               Information Centre)
                                                                                                           (Asia-Pacific Network
                                                                                                            Information Centre)
                                  (Réseaux IP         Address Registry)
                              Européens Network
                              Coordination Centre)




    NIR (National Internet Registry)                       JPNIC
                                                          (Japan Network
                                                                               KRNIC
                                                                               (Korea Network
                                                                                                     TWNIC
                                                                                                     (Taiwan Network       etc...
                                                       Information Center)   Information Center)   Information Center)




    LIR (Local Internet Registry)                                                ISP               IDC                   etc...


                                                     End-users

                                                                             Jun 11th, 2011 - OSC 2011 Hokkaido
IPv4
•   2011-01-31 IANA
    → RIR

•   2011-04-15 APNIC
    → NIR

•   2011-04-15 JPNIC

    •   JPNIC          APNIC
        → LIR



                       Jun 11th, 2011 - OSC 2011 Hokkaido
•          LIR
•                    ISP
    •            NAT (ISP Shared Address)
    •
•
•   LIR
    •
•   IPv6
    •
                           Jun 11th, 2011 - OSC 2011 Hokkaido
LIR          IPv4
 •
     •
     •   IPv6

         •
 •
     •
     •
     •   IPv6


                    Jun 11th, 2011 - OSC 2011 Hokkaido
IPv6
•
•             IPv6

    •
    •
    •   IDC
    •
    •
•             IPv6


                     Jun 11th, 2011 - OSC 2011 Hokkaido
IPv6                  IPv4
 •
     •   IPv4

     •                       IPv6

     •   IPv4 (NAT)

         •
         •
 •                       /          IPv6




                                    Jun 11th, 2011 - OSC 2011 Hokkaido
IPv6



       Jun 11th, 2011 - OSC 2011 Hokkaido
IPv6
 •   128bit
 •      340

     •   340,282,366,920,938,463,374,607,431,768,211,456

     •   IPv4              8

 •
 •   NAT




                                   Jun 11th, 2011 - OSC 2011 Hokkaido
IP
 •   IPv4

     •   32bit   8bit               10

     •                  .(    )

 11001011 00000000 01110001 00000001


                        203.0.113.1




                                  Jun 11th, 2011 - OSC 2011 Hokkaido
IP
 •     IPv6

      •   128bit      16bit                       16

      •                       :(        )
     0010000000000001 0000110110111000 0000101110101101 1111101011001110
     0000000000000000 0000000000000000 0000000000000000 1101111010101101

              2001:0db8:0bad:face:0000:0000:0000:dead
                                        16               0
                   2001:db8:bad:face:0:0:0:dead
                                                         0   ::
                      2001:db8:bad:face::dead




                                             Jun 11th, 2011 - OSC 2011 Hokkaido
[                ]                        IP
    •                                                IP

        •                           example.com

    •   IPv4
        •  RFC 5735 - Special Use IPv4 Addresses
            •192.0.2.0/24 #TEST-NET-1
            •198.51.100.0/24 # TEST-NET-2
            •203.0.113.0/24 # TEST-NET-3
    •   IPv6
        •  RFC 3849 - IPv6 Address Prefix Reserved for
           Documentation

            •   2001:db8::/32
                                     Jun 11th, 2011 - OSC 2011 Hokkaido
IPv6
•   IPv4

    •          96bit     0           32bit       IPv4

    •   IPv4                                     10

        •   ::203.0.113.1
•   IPv4

    •          80bit     0   16bit      0xffff          32 bit    IPv4


        •   ::ffff:203.0.113.1



                                         Jun 11th, 2011 - OSC 2011 Hokkaido
IP
 •   IPv4 URL


                     IP
            http://203.0.113.1:8080/

       IP




                          Jun 11th, 2011 - OSC 2011 Hokkaido
IP
 •   IPv6 URL

                   IP
 http://2001:db8:bad:face::dead:8080/
                        RFC 3989
                        Uniform Resource Identifier (URI):
                        Generic Syntax

http://[2001:db8:bad:face::dead]:8080/
      IPv6      (IP-literal)       [     ]




                            Jun 11th, 2011 - OSC 2011 Hokkaido
IP
 •   IPv6      URL

 •
     •   RFC 5952 - A Recommendation for IPv6 Address Text
         Representation

         •   6. Notes on Combining IPv6 Addresses with Port
             Numbers




                                     Jun 11th, 2011 - OSC 2011 Hokkaido
Web
      IPv6



             Jun 11th, 2011 - OSC 2011 Hokkaido
•                PC                                   IPv6



User - IPv6 OK                   IDC - IPv6 OK
                      Internet


 PC




                                 Jun 11th, 2011 - OSC 2011 Hokkaido
•                IPv6

    •                              Proxy                   IPv6

User - IPv6 NG                           IDC - IPv6 OK
                     Internet
                   IPv4           IPv6

                          Proxy
 PC




                                         Jun 11th, 2011 - OSC 2011 Hokkaido
•   HTTP Proxy     IPv6


        HTTP Proxy            IPv6

           Squid                  
    Apache + mod_proxy            
         DeleGate                 

                          Jun 11th, 2011 - OSC 2011 Hokkaido
SSL                 ID (       )
 •
 •
     •
     •                     1

 •    IP

     •     IPv4   / IPv6

     •

                                   Jun 11th, 2011 - OSC 2011 Hokkaido
IPv6                  DNS         	

 •   IPv6         AAAA (                A)

 •   DNS

 •   EDNS0

     •                      (512 Bytes)

 •   IPv6

     •   IPv6   DNS




                            Jun 11th, 2011 - OSC 2011 Hokkaido
IPv6                DNS          	

 •       DNS        IPv6


       DNS Server   AAAA            IPv6
                           EDNS0 transport

         BIND                            
         NSD                             
         djbdns                         
                                        * 3rd party patch




                           Jun 11th, 2011 - OSC 2011 Hokkaido
MTA (                  )        IPv6
 •
     •   SMTP       IPv6

         •
         •
     •   MX                                 AAAA

     % host -t MX example.com
     example.com mail is handled by 0 mail.example.com.
     % host -t AAAA mail.example.com
     mail.example.com has IPv6 address 2001:db8::c00:ffee




                                          Jun 11th, 2011 - OSC 2011 Hokkaido
MTA (          )       IPv6
 •      MTA    IPv6


               MTA                IPv6

              sendmail              
              postfix                
               qmail                
                                     * 3rd party patch




                              Jun 11th, 2011 - OSC 2011 Hokkaido
•                                            IPv6

•                               ICMPv6

    •   ICMP (IPv4)

•   ping traceroute          IPv6

    •   ping6 traceroute6

    •   Windows               ping6    tracert6
    % ping6 2001:db8:bad:face::dead
    % traceroute6 2001:db8:bad:face::dead

                   	 




                                            Jun 11th, 2011 - OSC 2011 Hokkaido
•   AAAA

    •   ipv6.google.com

        •   IPv6

    % ping6 ipv6.google.com
    % traceroute6 ipv6.google.com
    % curl -Iv http://ipv6.google.com/




                                         Jun 11th, 2011 - OSC 2011 Hokkaido
Web
•   IPv4        IPv6

    •   IP-base

    •
        •   The KAME Project
            → http://www.kame.net/
            • IPv6

        •   IPv6@2ch
            → http://ipv6.2ch.net/
            •IPv6

                                     Jun 11th, 2011 - OSC 2011 Hokkaido
Web
•   Apache

    •   1.3.x       IPv6

    •   2.0
        IPv6
                       Apache Portable Runtime (APR)

    Listen [2001:db8::bad:face]:80
    Listen 203.0.113.1:80

    <VirtualHost [2001:db8::bad:face]:80>
      # IPv6 settings
        :
        :
    </VirtualHost>

    </VirtualHost 203.0.113.1:80>
      # IPv4 settings
        :
        :
    </VirtualHost>




                                            Jun 11th, 2011 - OSC 2011 Hokkaido
Web
•   lighttpd

    •                                        IPv6

    •          OS Web Server                           IPv6
    #server.use-ipv6 = "enable"

    server.port = 80
    server.bind = "203.0.113.1"

    $SERVER["socket"] == "[2001:db8::bad:face]:80" {
      # IPv6 settings
        :
    }
    $SERVER["socket"] == "203.0.113.1:80" {
      # IPv4 settings
        :
    }




                                              Jun 11th, 2011 - OSC 2011 Hokkaido
Web
•   nginx

    •   0.7.36                              IPv6

        •   …
    http {
      server {
        listen [2001:db8::bad:face]:80
        server_name bad-face.example.com
        # IPv6 settings
           :
      }
      server {
        listen 127.0.0.1:80;
        listen 203.0.113.1:80;
        server_name bad-face.example.com;
        # IPv4 settings
           :
      }
    }




                                               Jun 11th, 2011 - OSC 2011 Hokkaido
IPv4/IPv6
 •                                                         Web


     •                                                   Proxy

     Perl
            •                 IP
     $ENV{REMOTE_ADDR}
     PHP
     $_SERVER["REMOTE_ADDR"]
     Ruby
     ENV["REMOTE_ADDR"]
     Python
     os.environ.get("REMOTE_ADDR")
     Java
     request.getRemoteAddr() //javax.servlet.http.HttpServletRequest#getRemoteAddr()



                                                      Jun 11th, 2011 - OSC 2011 Hokkaido
IPv4/IPv6
 •   IP

     •
         IPv6   ^(?:(?:(?:(?:[da-f]){1,4}:){6}|::(?:(?:[da-f])
                {1,4}:){5}|(?:[da-f]){0,4}::(?:(?:[da-f]){1,4}
                :){4}|(?:(?:(?:[da-f]){1,4}:){0,1}(?:[da-f]){1
                ,4})?::(?:(?:[da-f]){1,4}:){3}|(?:(?:(?:[da-f]
                ){1,4}:){0,2}(?:[da-f]){1,4})?::(?:(?:[da-f]){
                1,4}:){2}|(?:(?:(?:[da-f]){1,4}:){0,3}(?:[da-f
                ]){1,4})?::(?:(?:[da-f]){1,4}:)|(?:(?:(?:[da-f
                ]){1,4}:){0,4}(?:[da-f]){1,4})?::)(?:(?:[da-f]
                ){1,4}:(?:[da-f]){1,4}|(?:(?:d|[1-9]d|1dd|2
                (?:[0-4]d|5[0-5])).){3}(?:(?:d|[1-9]d|1dd|2
                (?:[0-4]d|5[0-5]))))|(?:(?:(?:[da-f]){1,4}:){0
                ,5}(?:[da-f]){1,4})?::(?:[da-f]){1,4}|(?:(?:(?
                :[da-f]){1,4}:){0,6}(?:[da-f]){1,4})?::)$



 •                                    …

     •                       IPv6

                                    Jun 11th, 2011 - OSC 2011 Hokkaido
IPv4/IPv6
 •   reverse proxy

     •          IP
                     proxy   X-Forwarded-For


     •        proxy

         •
         •
     •   reverse proxy




                                  Jun 11th, 2011 - OSC 2011 Hokkaido
IPv4/IPv6
 •              reverse proxy
                       (4 or 6)
                                                X-IP-Version


     •
     Perl
     $ENV{HTTP_X_IP_VERSION}
     PHP
     $_SERVER["HTTP_X_IP_VERSION"]
     Ruby
     ENV["HTTP_X_IP_VERSION"]
     Python
     os.environ.get("HTTP_X_IP_VERSION")
     Java
     request.getHeader("X-IP-Version")   //javax.servlet.http.HttpServletRequest#getHeader()




                                                      Jun 11th, 2011 - OSC 2011 Hokkaido
IPv4/IPv6
 •   Apache

     •   RequestHeader
     Listen 80

     <VirtualHost [2001:db8::bad:face]:80>
       ServerName bad-face.example.com
       RewriteEngine On
         :
         :
       RequestHeader set X-IP-Version 6
     </VirtualHost>

     </VirtualHost 203.0.113.1:80>
       ServerName bad-face.example.com
       RewriteEngine On
         :
         :
       RequestHeader set X-IP-Version 4
     </VirtualHost>




                                             Jun 11th, 2011 - OSC 2011 Hokkaido
IPv4/IPv6
 •   lighttpd

     •   setenv.add-request-header
     $SERVER["socket"] == "[2001:db8::bad:face]:80" {
         :
         :
       setenv.add-request-header = ("X-IP-Version" => "6")
     }
     $SERVER["socket"] == "203.0.113.1:80" {
         :
         :
       setenv.add-request-header = ("X-IP-Version" => "4")
     }




                                               Jun 11th, 2011 - OSC 2011 Hokkaido
IPv4/IPv6
 •   nginx

     •   proxy_set_header
     http {
       server {
         listen [2001:db8::bad:face]:80
         server_name bad-face.example.com
            :
            :
         proxy_set_header X-IP-Version 6;
       }
       server {
         listen 127.0.0.1:80;
         listen 203.0.113.1:80;
         server_name bad-face.example.com;
            :
            :
         proxy_set_header X-IP-Version 4;
       }
     }




                                             Jun 11th, 2011 - OSC 2011 Hokkaido
IP
•                    IP

    •   DB

        •
            •   IPv4 … 32bit → 4

            •   IPv6 … 128bit → 16

        •
            •   IPv4      15

            •   IPv6


                                     Jun 11th, 2011 - OSC 2011 Hokkaido
IP
•    IPv6

    •     IPv4
    0000:0000:0000:0000:0000:ffff:255.255.255.255
    ----5----0----5----0----5----0----5----0----5



•    45

    •     <netinet/in.h>

    •     Socket
    #define INET_ADDRSTRLEN 16
    #define INET6_ADDRSTRLEN 46

    char ipv4_addr[INET_ADDRSTRLEN];
    char ipv6_addr[INET6_ADDRSTRLEN];



                                          Jun 11th, 2011 - OSC 2011 Hokkaido
•                         IPv6

    •
    2001:db8:bad:beef::0111:dead - - [11/Jun/2011:10:35:55 +0900]
    "GET / HTTP/1.1" 200 9972 "-" "Mozilla/5.0"
    198.51.100.156 - - [11/Jun/2011:10:36:14 +0900] "GET / HTTP/
    1.1" 200 9972 "http://example.com/" "Mozilla/5.0"




                                         Jun 11th, 2011 - OSC 2011 Hokkaido
•               IPv6


                           IPv6

    Webalizer                
    AWStats                  
     Analog                  
                              * 3rd party patch




                       Jun 11th, 2011 - OSC 2011 Hokkaido
…
•   Web               IPv6

•




              Jun 11th, 2011 - OSC 2011 Hokkaido
Critical issues
 •   APNIC 27

     •   Web                     …

         •   IPv6

         •   IPv4

         •   IPv6

         •   IPv6

         •   IPv4

 •
                    Jun 11th, 2011 - OSC 2011 Hokkaido
Critical issues
 •   Imagine
     • The all of interesting websites will be phased out
       in 2011
     •
     •                             …




                                    Jun 11th, 2011 - OSC 2011 Hokkaido
•   Web

    •
    •
        •             …

•   IPv6




            Jun 11th, 2011 - OSC 2011 Hokkaido
Jun 11th, 2011 - OSC 2011 Hokkaido

More Related Content

Similar to IPv6 対応アプリケーション開発なんて怖くない

IPv6::Staying connected
IPv6::Staying connectedIPv6::Staying connected
IPv6::Staying connectedRIPE NCC
 
IPv4 depletion & IPv6 deployment in the RIPE NCC service region
IPv4 depletion & IPv6 deployment in the RIPE NCC service regionIPv4 depletion & IPv6 deployment in the RIPE NCC service region
IPv4 depletion & IPv6 deployment in the RIPE NCC service regionRIPE NCC
 
Martin Potts - Rapporteur’s Remarks
Martin Potts - Rapporteur’s Remarks Martin Potts - Rapporteur’s Remarks
Martin Potts - Rapporteur’s Remarks IPv6 Conference
 
IPv6 Act Now!
IPv6 Act Now!IPv6 Act Now!
IPv6 Act Now!RIPE NCC
 
2011 TWNIC SP IPv6 Transition
2011 TWNIC SP IPv6 Transition2011 TWNIC SP IPv6 Transition
2011 TWNIC SP IPv6 TransitionJohnson Liu
 
Good Men Rising: IPv6 & DNSSEC (ION Toronto 2011)
Good Men Rising: IPv6 & DNSSEC (ION Toronto 2011)Good Men Rising: IPv6 & DNSSEC (ION Toronto 2011)
Good Men Rising: IPv6 & DNSSEC (ION Toronto 2011)Internet Society
 
20120204 yamanashi fallback
20120204 yamanashi fallback20120204 yamanashi fallback
20120204 yamanashi fallbackRuri Hiromi
 
Content over IPv6: no excuses
Content over IPv6: no excusesContent over IPv6: no excuses
Content over IPv6: no excusesIvan Pepelnjak
 
Norway - IPv6 World Leader: Tore Anderson, IPv6 guru, Redpill Linpro
Norway - IPv6 World Leader: Tore Anderson, IPv6 guru, Redpill LinproNorway - IPv6 World Leader: Tore Anderson, IPv6 guru, Redpill Linpro
Norway - IPv6 World Leader: Tore Anderson, IPv6 guru, Redpill LinproIPv6no
 
Getting IPv6 & Securing your Routing
Getting IPv6 & Securing your RoutingGetting IPv6 & Securing your Routing
Getting IPv6 & Securing your RoutingRIPE NCC
 
IPv6 Tutorial RIPE 60
IPv6 Tutorial RIPE 60IPv6 Tutorial RIPE 60
IPv6 Tutorial RIPE 60RIPE Meetings
 
Leo Vegoda - IPv6: a universe if addresses
Leo Vegoda - IPv6: a universe if addressesLeo Vegoda - IPv6: a universe if addresses
Leo Vegoda - IPv6: a universe if addressesIPv6 Conference
 
IPv6 Deployment and Activities in Japan, 2023
IPv6 Deployment and Activities in Japan, 2023IPv6 Deployment and Activities in Japan, 2023
IPv6 Deployment and Activities in Japan, 2023Akira Nakagawa
 
NANOG52 - OCN Experience to Handle the Internet Growth and the Future
NANOG52 - OCN Experience to Handle the Internet Growth and the FutureNANOG52 - OCN Experience to Handle the Internet Growth and the Future
NANOG52 - OCN Experience to Handle the Internet Growth and the FutureChika Yoshimura
 

Similar to IPv6 対応アプリケーション開発なんて怖くない (20)

IPv6::Staying connected
IPv6::Staying connectedIPv6::Staying connected
IPv6::Staying connected
 
Kjell Leknes
Kjell LeknesKjell Leknes
Kjell Leknes
 
IPv4 depletion & IPv6 deployment in the RIPE NCC service region
IPv4 depletion & IPv6 deployment in the RIPE NCC service regionIPv4 depletion & IPv6 deployment in the RIPE NCC service region
IPv4 depletion & IPv6 deployment in the RIPE NCC service region
 
Martin Potts - Rapporteur’s Remarks
Martin Potts - Rapporteur’s Remarks Martin Potts - Rapporteur’s Remarks
Martin Potts - Rapporteur’s Remarks
 
ION Krakow - A Global IPv6 Deployment Update
ION Krakow - A Global IPv6 Deployment UpdateION Krakow - A Global IPv6 Deployment Update
ION Krakow - A Global IPv6 Deployment Update
 
IPv6 Act Now!
IPv6 Act Now!IPv6 Act Now!
IPv6 Act Now!
 
2011 TWNIC SP IPv6 Transition
2011 TWNIC SP IPv6 Transition2011 TWNIC SP IPv6 Transition
2011 TWNIC SP IPv6 Transition
 
An IPv6 Primer
An IPv6 PrimerAn IPv6 Primer
An IPv6 Primer
 
Micheal O'Foghlu - TSSG
Micheal O'Foghlu - TSSGMicheal O'Foghlu - TSSG
Micheal O'Foghlu - TSSG
 
Good Men Rising: IPv6 & DNSSEC
Good Men Rising: IPv6 & DNSSECGood Men Rising: IPv6 & DNSSEC
Good Men Rising: IPv6 & DNSSEC
 
Good Men Rising: IPv6 & DNSSEC (ION Toronto 2011)
Good Men Rising: IPv6 & DNSSEC (ION Toronto 2011)Good Men Rising: IPv6 & DNSSEC (ION Toronto 2011)
Good Men Rising: IPv6 & DNSSEC (ION Toronto 2011)
 
20120204 yamanashi fallback
20120204 yamanashi fallback20120204 yamanashi fallback
20120204 yamanashi fallback
 
Content over IPv6: no excuses
Content over IPv6: no excusesContent over IPv6: no excuses
Content over IPv6: no excuses
 
ION Hangzhou - An IETF Journey for CNNIC
ION Hangzhou - An IETF Journey for CNNICION Hangzhou - An IETF Journey for CNNIC
ION Hangzhou - An IETF Journey for CNNIC
 
Norway - IPv6 World Leader: Tore Anderson, IPv6 guru, Redpill Linpro
Norway - IPv6 World Leader: Tore Anderson, IPv6 guru, Redpill LinproNorway - IPv6 World Leader: Tore Anderson, IPv6 guru, Redpill Linpro
Norway - IPv6 World Leader: Tore Anderson, IPv6 guru, Redpill Linpro
 
Getting IPv6 & Securing your Routing
Getting IPv6 & Securing your RoutingGetting IPv6 & Securing your Routing
Getting IPv6 & Securing your Routing
 
IPv6 Tutorial RIPE 60
IPv6 Tutorial RIPE 60IPv6 Tutorial RIPE 60
IPv6 Tutorial RIPE 60
 
Leo Vegoda - IPv6: a universe if addresses
Leo Vegoda - IPv6: a universe if addressesLeo Vegoda - IPv6: a universe if addresses
Leo Vegoda - IPv6: a universe if addresses
 
IPv6 Deployment and Activities in Japan, 2023
IPv6 Deployment and Activities in Japan, 2023IPv6 Deployment and Activities in Japan, 2023
IPv6 Deployment and Activities in Japan, 2023
 
NANOG52 - OCN Experience to Handle the Internet Growth and the Future
NANOG52 - OCN Experience to Handle the Internet Growth and the FutureNANOG52 - OCN Experience to Handle the Internet Growth and the Future
NANOG52 - OCN Experience to Handle the Internet Growth and the Future
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 

IPv6 対応アプリケーション開発なんて怖くない

  • 1. IPv6 : IAjapan Java Jun 11th, 2011 - OSC 2011 Hokkaido
  • 2. IPv6 • IPv4 • IPv6 • Web IPv6 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 3. Jun 11th, 2011 - OSC 2011 Hokkaido
  • 4. : ( ) • HN: • : Web • : • Twitter: @nipotan • Facebook: http://facebook.com/nipotan • Web: http://nipotan.com/ • : Perl Jun 11th, 2011 - OSC 2011 Hokkaido
  • 5. IPv6 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 6. IPv6 • IPv6 1 • http://blog.livedoor.jp/nipotan/archives/51195204.html Jun 11th, 2011 - OSC 2011 Hokkaido
  • 7. IPv6 • IPv6 • NO • IPv6 • 2008 12 livedoor IPv6 EDGE Co.Lab v6 http://labs.edge.jp/colabv6/ • • IPv6 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 8. livedoor IPv6 • IPv6@2ch → http://ipv6.2ch.net/ •IPv6 • fixdap → http://fixdap.com/ • EDGE Co.Lab v6 • IPv6 IPv6 • IRCnet IRC • WIDE IRCnet Jun 11th, 2011 - OSC 2011 Hokkaido
  • 9. IPv6 • • IPv6 • • • Jun 11th, 2011 - OSC 2011 Hokkaido
  • 10. APNIC 27 (Fab 2009 - Manila, Philippnes) • http://meetings.apnic.net/27/program/ipv6-in-3d • http://slidesha.re/nipotan-apnic27 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 11. IPv6 2 … • • • • IPv6 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 12. APNIC IPv6 • • IPv6 • Jun 11th, 2011 - OSC 2011 Hokkaido
  • 13. vs IPv6 • • • L7 • IP (Internet Protocol) → Jun 11th, 2011 - OSC 2011 Hokkaido
  • 14. IPv6 … • IPv6 Ready! • IPv6 Ready! • IP OK • • • • • Jun 11th, 2011 - OSC 2011 Hokkaido
  • 15. IPv4 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 16. 2011 4 15 IPv4 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 17. IPv4 • 32bit • 43 • 4,294,967,296 • • Jun 11th, 2011 - OSC 2011 Hokkaido
  • 18. IPv4 IANA (Internet Assigned Numbers Authority) IR (Internet Registry) RIR (Regional Internet Registry) ARIN RIPE LACNIC AfriNIC APNIC (American Registry for Internet Numbers) NCC (Latin American and Caribbean Internet (African Network Information Centre) (Asia-Pacific Network Information Centre) (Réseaux IP Address Registry) Européens Network Coordination Centre) NIR (National Internet Registry) JPNIC (Japan Network KRNIC (Korea Network TWNIC (Taiwan Network etc... Information Center) Information Center) Information Center) LIR (Local Internet Registry) ISP IDC etc... End-users Jun 11th, 2011 - OSC 2011 Hokkaido
  • 19. IPv4 • 2011-01-31 IANA → RIR • 2011-04-15 APNIC → NIR • 2011-04-15 JPNIC • JPNIC APNIC → LIR Jun 11th, 2011 - OSC 2011 Hokkaido
  • 20. LIR • ISP • NAT (ISP Shared Address) • • • LIR • • IPv6 • Jun 11th, 2011 - OSC 2011 Hokkaido
  • 21. LIR IPv4 • • • IPv6 • • • • • IPv6 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 22. IPv6 • • IPv6 • • • IDC • • • IPv6 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 23. IPv6 IPv4 • • IPv4 • IPv6 • IPv4 (NAT) • • • / IPv6 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 24. IPv6 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 25. IPv6 • 128bit • 340 • 340,282,366,920,938,463,374,607,431,768,211,456 • IPv4 8 • • NAT Jun 11th, 2011 - OSC 2011 Hokkaido
  • 26. IP • IPv4 • 32bit 8bit 10 • .( ) 11001011 00000000 01110001 00000001 203.0.113.1 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 27. IP • IPv6 • 128bit 16bit 16 • :( ) 0010000000000001 0000110110111000 0000101110101101 1111101011001110 0000000000000000 0000000000000000 0000000000000000 1101111010101101 2001:0db8:0bad:face:0000:0000:0000:dead 16 0 2001:db8:bad:face:0:0:0:dead 0 :: 2001:db8:bad:face::dead Jun 11th, 2011 - OSC 2011 Hokkaido
  • 28. [ ] IP • IP • example.com • IPv4 • RFC 5735 - Special Use IPv4 Addresses •192.0.2.0/24 #TEST-NET-1 •198.51.100.0/24 # TEST-NET-2 •203.0.113.0/24 # TEST-NET-3 • IPv6 • RFC 3849 - IPv6 Address Prefix Reserved for Documentation • 2001:db8::/32 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 29. IPv6 • IPv4 • 96bit 0 32bit IPv4 • IPv4 10 • ::203.0.113.1 • IPv4 • 80bit 0 16bit 0xffff 32 bit IPv4 • ::ffff:203.0.113.1 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 30. IP • IPv4 URL IP http://203.0.113.1:8080/ IP Jun 11th, 2011 - OSC 2011 Hokkaido
  • 31. IP • IPv6 URL IP http://2001:db8:bad:face::dead:8080/ RFC 3989 Uniform Resource Identifier (URI): Generic Syntax http://[2001:db8:bad:face::dead]:8080/ IPv6 (IP-literal) [ ] Jun 11th, 2011 - OSC 2011 Hokkaido
  • 32. IP • IPv6 URL • • RFC 5952 - A Recommendation for IPv6 Address Text Representation • 6. Notes on Combining IPv6 Addresses with Port Numbers Jun 11th, 2011 - OSC 2011 Hokkaido
  • 33. Web IPv6 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 34. PC IPv6 User - IPv6 OK IDC - IPv6 OK Internet PC Jun 11th, 2011 - OSC 2011 Hokkaido
  • 35. IPv6 • Proxy IPv6 User - IPv6 NG IDC - IPv6 OK Internet IPv4 IPv6 Proxy PC Jun 11th, 2011 - OSC 2011 Hokkaido
  • 36. HTTP Proxy IPv6 HTTP Proxy IPv6 Squid  Apache + mod_proxy  DeleGate  Jun 11th, 2011 - OSC 2011 Hokkaido
  • 37. SSL ID ( ) • • • • 1 • IP • IPv4 / IPv6 • Jun 11th, 2011 - OSC 2011 Hokkaido
  • 38. IPv6 DNS • IPv6 AAAA ( A) • DNS • EDNS0 • (512 Bytes) • IPv6 • IPv6 DNS Jun 11th, 2011 - OSC 2011 Hokkaido
  • 39. IPv6 DNS • DNS IPv6 DNS Server AAAA IPv6 EDNS0 transport BIND    NSD    djbdns    * 3rd party patch Jun 11th, 2011 - OSC 2011 Hokkaido
  • 40. MTA ( ) IPv6 • • SMTP IPv6 • • • MX AAAA % host -t MX example.com example.com mail is handled by 0 mail.example.com. % host -t AAAA mail.example.com mail.example.com has IPv6 address 2001:db8::c00:ffee Jun 11th, 2011 - OSC 2011 Hokkaido
  • 41. MTA ( ) IPv6 • MTA IPv6 MTA IPv6 sendmail  postfix  qmail  * 3rd party patch Jun 11th, 2011 - OSC 2011 Hokkaido
  • 42. IPv6 • ICMPv6 • ICMP (IPv4) • ping traceroute IPv6 • ping6 traceroute6 • Windows ping6 tracert6 % ping6 2001:db8:bad:face::dead % traceroute6 2001:db8:bad:face::dead Jun 11th, 2011 - OSC 2011 Hokkaido
  • 43. AAAA • ipv6.google.com • IPv6 % ping6 ipv6.google.com % traceroute6 ipv6.google.com % curl -Iv http://ipv6.google.com/ Jun 11th, 2011 - OSC 2011 Hokkaido
  • 44. Web • IPv4 IPv6 • IP-base • • The KAME Project → http://www.kame.net/ • IPv6 • IPv6@2ch → http://ipv6.2ch.net/ •IPv6 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 45. Web • Apache • 1.3.x IPv6 • 2.0 IPv6 Apache Portable Runtime (APR) Listen [2001:db8::bad:face]:80 Listen 203.0.113.1:80 <VirtualHost [2001:db8::bad:face]:80> # IPv6 settings : : </VirtualHost> </VirtualHost 203.0.113.1:80> # IPv4 settings : : </VirtualHost> Jun 11th, 2011 - OSC 2011 Hokkaido
  • 46. Web • lighttpd • IPv6 • OS Web Server IPv6 #server.use-ipv6 = "enable" server.port = 80 server.bind = "203.0.113.1" $SERVER["socket"] == "[2001:db8::bad:face]:80" { # IPv6 settings : } $SERVER["socket"] == "203.0.113.1:80" { # IPv4 settings : } Jun 11th, 2011 - OSC 2011 Hokkaido
  • 47. Web • nginx • 0.7.36 IPv6 • … http { server { listen [2001:db8::bad:face]:80 server_name bad-face.example.com # IPv6 settings : } server { listen 127.0.0.1:80; listen 203.0.113.1:80; server_name bad-face.example.com; # IPv4 settings : } } Jun 11th, 2011 - OSC 2011 Hokkaido
  • 48. IPv4/IPv6 • Web • Proxy Perl • IP $ENV{REMOTE_ADDR} PHP $_SERVER["REMOTE_ADDR"] Ruby ENV["REMOTE_ADDR"] Python os.environ.get("REMOTE_ADDR") Java request.getRemoteAddr() //javax.servlet.http.HttpServletRequest#getRemoteAddr() Jun 11th, 2011 - OSC 2011 Hokkaido
  • 49. IPv4/IPv6 • IP • IPv6 ^(?:(?:(?:(?:[da-f]){1,4}:){6}|::(?:(?:[da-f]) {1,4}:){5}|(?:[da-f]){0,4}::(?:(?:[da-f]){1,4} :){4}|(?:(?:(?:[da-f]){1,4}:){0,1}(?:[da-f]){1 ,4})?::(?:(?:[da-f]){1,4}:){3}|(?:(?:(?:[da-f] ){1,4}:){0,2}(?:[da-f]){1,4})?::(?:(?:[da-f]){ 1,4}:){2}|(?:(?:(?:[da-f]){1,4}:){0,3}(?:[da-f ]){1,4})?::(?:(?:[da-f]){1,4}:)|(?:(?:(?:[da-f ]){1,4}:){0,4}(?:[da-f]){1,4})?::)(?:(?:[da-f] ){1,4}:(?:[da-f]){1,4}|(?:(?:d|[1-9]d|1dd|2 (?:[0-4]d|5[0-5])).){3}(?:(?:d|[1-9]d|1dd|2 (?:[0-4]d|5[0-5]))))|(?:(?:(?:[da-f]){1,4}:){0 ,5}(?:[da-f]){1,4})?::(?:[da-f]){1,4}|(?:(?:(? :[da-f]){1,4}:){0,6}(?:[da-f]){1,4})?::)$ • … • IPv6 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 50. IPv4/IPv6 • reverse proxy • IP proxy X-Forwarded-For • proxy • • • reverse proxy Jun 11th, 2011 - OSC 2011 Hokkaido
  • 51. IPv4/IPv6 • reverse proxy (4 or 6) X-IP-Version • Perl $ENV{HTTP_X_IP_VERSION} PHP $_SERVER["HTTP_X_IP_VERSION"] Ruby ENV["HTTP_X_IP_VERSION"] Python os.environ.get("HTTP_X_IP_VERSION") Java request.getHeader("X-IP-Version") //javax.servlet.http.HttpServletRequest#getHeader() Jun 11th, 2011 - OSC 2011 Hokkaido
  • 52. IPv4/IPv6 • Apache • RequestHeader Listen 80 <VirtualHost [2001:db8::bad:face]:80> ServerName bad-face.example.com RewriteEngine On : : RequestHeader set X-IP-Version 6 </VirtualHost> </VirtualHost 203.0.113.1:80> ServerName bad-face.example.com RewriteEngine On : : RequestHeader set X-IP-Version 4 </VirtualHost> Jun 11th, 2011 - OSC 2011 Hokkaido
  • 53. IPv4/IPv6 • lighttpd • setenv.add-request-header $SERVER["socket"] == "[2001:db8::bad:face]:80" { : : setenv.add-request-header = ("X-IP-Version" => "6") } $SERVER["socket"] == "203.0.113.1:80" { : : setenv.add-request-header = ("X-IP-Version" => "4") } Jun 11th, 2011 - OSC 2011 Hokkaido
  • 54. IPv4/IPv6 • nginx • proxy_set_header http { server { listen [2001:db8::bad:face]:80 server_name bad-face.example.com : : proxy_set_header X-IP-Version 6; } server { listen 127.0.0.1:80; listen 203.0.113.1:80; server_name bad-face.example.com; : : proxy_set_header X-IP-Version 4; } } Jun 11th, 2011 - OSC 2011 Hokkaido
  • 55. IP • IP • DB • • IPv4 … 32bit → 4 • IPv6 … 128bit → 16 • • IPv4 15 • IPv6 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 56. IP • IPv6 • IPv4 0000:0000:0000:0000:0000:ffff:255.255.255.255 ----5----0----5----0----5----0----5----0----5 • 45 • <netinet/in.h> • Socket #define INET_ADDRSTRLEN 16 #define INET6_ADDRSTRLEN 46 char ipv4_addr[INET_ADDRSTRLEN]; char ipv6_addr[INET6_ADDRSTRLEN]; Jun 11th, 2011 - OSC 2011 Hokkaido
  • 57. IPv6 • 2001:db8:bad:beef::0111:dead - - [11/Jun/2011:10:35:55 +0900] "GET / HTTP/1.1" 200 9972 "-" "Mozilla/5.0" 198.51.100.156 - - [11/Jun/2011:10:36:14 +0900] "GET / HTTP/ 1.1" 200 9972 "http://example.com/" "Mozilla/5.0" Jun 11th, 2011 - OSC 2011 Hokkaido
  • 58. IPv6 IPv6 Webalizer  AWStats  Analog  * 3rd party patch Jun 11th, 2011 - OSC 2011 Hokkaido
  • 59. … • Web IPv6 • Jun 11th, 2011 - OSC 2011 Hokkaido
  • 60. Critical issues • APNIC 27 • Web … • IPv6 • IPv4 • IPv6 • IPv6 • IPv4 • Jun 11th, 2011 - OSC 2011 Hokkaido
  • 61. Critical issues • Imagine • The all of interesting websites will be phased out in 2011 • • … Jun 11th, 2011 - OSC 2011 Hokkaido
  • 62. Web • • • … • IPv6 Jun 11th, 2011 - OSC 2011 Hokkaido
  • 63. Jun 11th, 2011 - OSC 2011 Hokkaido