SlideShare a Scribd company logo
1 of 38
Download to read offline
Webアプリ開発者に

知ってほしいIPv6のこと
2015年3月12日
IPv6普及・高度化推進協議会

IPv4/IPv6共存WG アプリケーションのIPv6対応検討SWG

渡辺 露文(@tsuyu23)
1
About me
渡辺 露文(わたなべ つゆふみ)
Twitter: @tsuyu23
普段は某SIer勤務
もともとインフラ屋(ネットワーク、サーバまわり)
最近は何でも屋、高度雑用技術者?
IPv6普及・高度化推進協議会 会員
IPv6導入に起因する問題検討SWG
アプリケーションのIPv6対応検討SWG
技術評論社 Software Design誌連載「IPv6の道も一歩から」
(2012年12月号∼2014年1月号)
2
IPv6?
3
まだ使ってる人
いないんじゃない?
4
実は今、
皆さん使ってます!
5
こういうのです
最近のOSはデフォルトで
IPv6有効になってます
Windows 7, 8, …
Mac OS X
Linux
FreeBSD
…
7
インターネット接続も

IPv6が使えるように

なってきた
フレッツ光ネクスト 3.9% 今後急増の見込み
auひかり 99%
8
今後、IPv4はIPv6より
アクセスが遅くなる
使用できるセッション数も減る
9
やっぱり、

IPv6対応した方がいい!
10
やるなら早い方がいい!
11
Webアプリで
IPアドレスを扱うこと、
ありますよね?
12
アクセス履歴管理
アクセス制御
リスクベース認証(?)
などなど
13
IPアドレスをこんな風に

扱っていませんか?
14
入力フォームで
15
DBで
• VARCHAR(15)
• INT
16
その方法、

この先使えません
(;・ ・)ハッ?
17
なぜ?
18
IPv6
IPv4アドレスが枯渇し、IPv6へ移行すべき時がきました
19
IPv4とIPv6とでは何が

違うのか?
• アドレス体系が異なる(IPv6のアドレス空間は広大)
• 例
• IPv4)192.0.2.1
• IPv6完全表記)
2001:0db8:0000:0000:0001:0000:0000:0001
• IPv6省略表記)2001:db8::1:0:0:1(RFC5952準拠)
20
IPv4アドレス IPv6アドレス
アドレス長 32bit 128bit
文字列

表記
表記法 8bitずつ区切り、
10進数で表記
16bitずつ区切り、
16進数で表記
区切り文字 . (ドット) : (コロン)
文字列長 15文字以内 39文字以内
など
IPv4とIPv6の関係
21
IPv4とIPv6は互換性がない
IPv6 > IPv4
あなたが開発したシステムの

インフラを(知らぬ間に)

サーバ運用者が
IPv6対応したら…
(=_=;)
22
アプリ開発者も

他人事じゃない!
23
じゃあ、アプリ開発時に、
あらかじめIPv6対応して
おこう
24
閑話休題:こんなコード
書いてないですよね?
25
残念なサンプルコード発見
• とある Androidプログラミング書籍に

おけるソケット通信のサンプルコード
26
public class SocketEx…
…
…
  private final static String IP= 192.168.11.12 ;//★変更必須
IPアドレスの

ハードコーディングは

ダメ。ゼッタイ。
$host = www.example.com 

のようにFQDNで接続先を指定する。
27
話を元に戻して…
28
アプリをIPv6に

対応させるには?
29
アプリケーションIPv6対応のポイント
30
Ethernet
IP(v4/v6)
TCP / UDP
アプリケーション
OS
ミドルウェア/

フレームワーク
アプリケーション
OS
フレームワーク
HTTP/HTTPS
SMTP, SSH,

ソケット通信など
クライアント サーバ
①IPv4/IPv6両対応の

 プログラミング言語と実行環境を使う
②通信処理をIPv4/IPv6の

 両方に対応させる
③データとしてIPアドレスを

 扱う箇所をIPv4/IPv6の

 両方に対応させる
Webアプリ開発では
1. 最近のWebブラウザ、Webサーバ、Webアプリで使
うようなプログラミング言語は大抵対応しているが、
使うライブラリ・関数に要注意!
2. 通信処理は、WebブラウザとWebサーバが大抵対応

済み、システム連携の通信部分に要注意
3. 入力フォームでは文字列として扱い、DBにはIP
アドレス型もしくはVARCHAR(39)で格納
31
つづきはWebで
             で検索  
もしくは、
http://www.slideshare.net/v6app/
32
v6app
まとめ:
やっぱり、

IPv6対応した方がいい!
やるなら早い方がいい!
33
おっ、まだ時間がある
(^O^)
34
閑話休題:
ある人が言ってました
35
「開発者は
  コピペが大好き♪」
36
IPv6対応サンプルコード
作成中!
• C, PHP, Perl, Python, Ruby
• iOSアプリ
• Androidアプリ
• Windowsアプリ
…
37
おしまい
38

More Related Content

What's hot

「DevSecOpsとは?」の一歩先 (CloudNative Days Tokyo 2021)
「DevSecOpsとは?」の一歩先 (CloudNative Days Tokyo 2021)「DevSecOpsとは?」の一歩先 (CloudNative Days Tokyo 2021)
「DevSecOpsとは?」の一歩先 (CloudNative Days Tokyo 2021)Masaya Tahara
 
Lightweight Language Diverプレゼン資料:アプリケーションのIPv6対応のススメ(LL編)
Lightweight Language Diverプレゼン資料:アプリケーションのIPv6対応のススメ(LL編)Lightweight Language Diverプレゼン資料:アプリケーションのIPv6対応のススメ(LL編)
Lightweight Language Diverプレゼン資料:アプリケーションのIPv6対応のススメ(LL編)v6app
 
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2Kiyotaka Doumae
 
Introduction to NetOpsCoding#3
Introduction to NetOpsCoding#3Introduction to NetOpsCoding#3
Introduction to NetOpsCoding#3Taiji Tsuchiya
 
Rancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げるRancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げるMichitaka Terada
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介OSSラボ株式会社
 
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向Yuya Rin
 
Introduction to NetOpsCoding#2
Introduction to NetOpsCoding#2Introduction to NetOpsCoding#2
Introduction to NetOpsCoding#2Taiji Tsuchiya
 
NetOpsCoding#5 introduction
NetOpsCoding#5 introductionNetOpsCoding#5 introduction
NetOpsCoding#5 introductionTaiji Tsuchiya
 
クラウドセキュリティ基礎
クラウドセキュリティ基礎クラウドセキュリティ基礎
クラウドセキュリティ基礎Masahiro NAKAYAMA
 
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜Akira Nakagawa
 
OPNFV詳細編 – OpenStack最新情報セミナー 2015年4月
OPNFV詳細編 – OpenStack最新情報セミナー 2015年4月OPNFV詳細編 – OpenStack最新情報セミナー 2015年4月
OPNFV詳細編 – OpenStack最新情報セミナー 2015年4月VirtualTech Japan Inc.
 
明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化Taiji Tsuchiya
 
Lチカからの高位合成
Lチカからの高位合成Lチカからの高位合成
Lチカからの高位合成Kenichiro MITSUDA
 
これからはじめるインフラエンジニア
これからはじめるインフラエンジニアこれからはじめるインフラエンジニア
これからはじめるインフラエンジニア外道 父
 
インフラセキュリティブートキャンプ #seccamp
インフラセキュリティブートキャンプ #seccampインフラセキュリティブートキャンプ #seccamp
インフラセキュリティブートキャンプ #seccampMasahiro NAKAYAMA
 
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Yoshiyuki Nakamura
 
Rancherを活用した開発・運用効率の改善への取り組み
Rancherを活用した開発・運用効率の改善への取り組みRancherを活用した開発・運用効率の改善への取り組み
Rancherを活用した開発・運用効率の改善への取り組みMichitaka Terada
 
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介Daisuke Ikeda
 

What's hot (20)

IPv6標準化と実装
IPv6標準化と実装IPv6標準化と実装
IPv6標準化と実装
 
「DevSecOpsとは?」の一歩先 (CloudNative Days Tokyo 2021)
「DevSecOpsとは?」の一歩先 (CloudNative Days Tokyo 2021)「DevSecOpsとは?」の一歩先 (CloudNative Days Tokyo 2021)
「DevSecOpsとは?」の一歩先 (CloudNative Days Tokyo 2021)
 
Lightweight Language Diverプレゼン資料:アプリケーションのIPv6対応のススメ(LL編)
Lightweight Language Diverプレゼン資料:アプリケーションのIPv6対応のススメ(LL編)Lightweight Language Diverプレゼン資料:アプリケーションのIPv6対応のススメ(LL編)
Lightweight Language Diverプレゼン資料:アプリケーションのIPv6対応のススメ(LL編)
 
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
 
Introduction to NetOpsCoding#3
Introduction to NetOpsCoding#3Introduction to NetOpsCoding#3
Introduction to NetOpsCoding#3
 
Rancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げるRancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げる
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
 
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向
 
Introduction to NetOpsCoding#2
Introduction to NetOpsCoding#2Introduction to NetOpsCoding#2
Introduction to NetOpsCoding#2
 
NetOpsCoding#5 introduction
NetOpsCoding#5 introductionNetOpsCoding#5 introduction
NetOpsCoding#5 introduction
 
クラウドセキュリティ基礎
クラウドセキュリティ基礎クラウドセキュリティ基礎
クラウドセキュリティ基礎
 
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
 
OPNFV詳細編 – OpenStack最新情報セミナー 2015年4月
OPNFV詳細編 – OpenStack最新情報セミナー 2015年4月OPNFV詳細編 – OpenStack最新情報セミナー 2015年4月
OPNFV詳細編 – OpenStack最新情報セミナー 2015年4月
 
明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化
 
Lチカからの高位合成
Lチカからの高位合成Lチカからの高位合成
Lチカからの高位合成
 
これからはじめるインフラエンジニア
これからはじめるインフラエンジニアこれからはじめるインフラエンジニア
これからはじめるインフラエンジニア
 
インフラセキュリティブートキャンプ #seccamp
インフラセキュリティブートキャンプ #seccampインフラセキュリティブートキャンプ #seccamp
インフラセキュリティブートキャンプ #seccamp
 
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記
 
Rancherを活用した開発・運用効率の改善への取り組み
Rancherを活用した開発・運用効率の改善への取り組みRancherを活用した開発・運用効率の改善への取り組み
Rancherを活用した開発・運用効率の改善への取り組み
 
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
 

Similar to 20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと

OSC2015 Hamanako IPv6アプリの作り方
OSC2015 Hamanako IPv6アプリの作り方OSC2015 Hamanako IPv6アプリの作り方
OSC2015 Hamanako IPv6アプリの作り方v6app
 
ソフトウェアエンジニアと高位合成
ソフトウェアエンジニアと高位合成ソフトウェアエンジニアと高位合成
ソフトウェアエンジニアと高位合成Kenichiro MITSUDA
 
20180601 OWASP Top 10 2017の読み方
20180601 OWASP Top 10 2017の読み方20180601 OWASP Top 10 2017の読み方
20180601 OWASP Top 10 2017の読み方OWASP Nagoya
 
オワスプナイト20150115 dependency check
オワスプナイト20150115 dependency checkオワスプナイト20150115 dependency check
オワスプナイト20150115 dependency checkHiroaki Kuramochi
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃Teruo Adachi
 
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発Hiroaki Matsunaga
 
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応v6app
 
マルチテナントに対応したシラサギグループウェアのご紹介
マルチテナントに対応したシラサギグループウェアのご紹介マルチテナントに対応したシラサギグループウェアのご紹介
マルチテナントに対応したシラサギグループウェアのご紹介Shinji Tanimoto
 
コミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということコミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということKazuho Oku
 
座談会資料(趣旨説明資料) 20161117
座談会資料(趣旨説明資料) 20161117座談会資料(趣旨説明資料) 20161117
座談会資料(趣旨説明資料) 20161117知礼 八子
 
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017Yuki Okada
 
IstioとGrafanaで実現する多言語に対応したモニタリング基盤 (2).pdf
IstioとGrafanaで実現する多言語に対応したモニタリング基盤 (2).pdfIstioとGrafanaで実現する多言語に対応したモニタリング基盤 (2).pdf
IstioとGrafanaで実現する多言語に対応したモニタリング基盤 (2).pdfkazukiterui
 
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetupS Akai
 
データ視覚化・分析アプリケーションの超速開発
データ視覚化・分析アプリケーションの超速開発データ視覚化・分析アプリケーションの超速開発
データ視覚化・分析アプリケーションの超速開発Satoru Yamaguchi
 
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」Serverworks Co.,Ltd.
 
HTML5が最近どうなっていて何があぶなっかしいのか?
HTML5が最近どうなっていて何があぶなっかしいのか?HTML5が最近どうなっていて何があぶなっかしいのか?
HTML5が最近どうなっていて何があぶなっかしいのか?Masakazu Muraoka
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~NTT DATA OSS Professional Services
 
VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発Ryosuke Izumi
 
座談会資料(事前配布) 20161217
座談会資料(事前配布) 20161217座談会資料(事前配布) 20161217
座談会資料(事前配布) 20161217知礼 八子
 

Similar to 20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと (20)

OSC2015 Hamanako IPv6アプリの作り方
OSC2015 Hamanako IPv6アプリの作り方OSC2015 Hamanako IPv6アプリの作り方
OSC2015 Hamanako IPv6アプリの作り方
 
ソフトウェアエンジニアと高位合成
ソフトウェアエンジニアと高位合成ソフトウェアエンジニアと高位合成
ソフトウェアエンジニアと高位合成
 
IPv6勉強会のご紹介
IPv6勉強会のご紹介IPv6勉強会のご紹介
IPv6勉強会のご紹介
 
20180601 OWASP Top 10 2017の読み方
20180601 OWASP Top 10 2017の読み方20180601 OWASP Top 10 2017の読み方
20180601 OWASP Top 10 2017の読み方
 
オワスプナイト20150115 dependency check
オワスプナイト20150115 dependency checkオワスプナイト20150115 dependency check
オワスプナイト20150115 dependency check
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
 
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発
【講演資料】テスト自動化から始める、Io t時代の組込アジャイル開発
 
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
 
マルチテナントに対応したシラサギグループウェアのご紹介
マルチテナントに対応したシラサギグループウェアのご紹介マルチテナントに対応したシラサギグループウェアのご紹介
マルチテナントに対応したシラサギグループウェアのご紹介
 
コミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということコミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということ
 
座談会資料(趣旨説明資料) 20161117
座談会資料(趣旨説明資料) 20161117座談会資料(趣旨説明資料) 20161117
座談会資料(趣旨説明資料) 20161117
 
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
 
IstioとGrafanaで実現する多言語に対応したモニタリング基盤 (2).pdf
IstioとGrafanaで実現する多言語に対応したモニタリング基盤 (2).pdfIstioとGrafanaで実現する多言語に対応したモニタリング基盤 (2).pdf
IstioとGrafanaで実現する多言語に対応したモニタリング基盤 (2).pdf
 
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup
 
データ視覚化・分析アプリケーションの超速開発
データ視覚化・分析アプリケーションの超速開発データ視覚化・分析アプリケーションの超速開発
データ視覚化・分析アプリケーションの超速開発
 
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
 
HTML5が最近どうなっていて何があぶなっかしいのか?
HTML5が最近どうなっていて何があぶなっかしいのか?HTML5が最近どうなっていて何があぶなっかしいのか?
HTML5が最近どうなっていて何があぶなっかしいのか?
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
 
VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発
 
座談会資料(事前配布) 20161217
座談会資料(事前配布) 20161217座談会資料(事前配布) 20161217
座談会資料(事前配布) 20161217
 

20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと