Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
v6app
3,437 views
OSC2015 Hamanako IPv6アプリの作り方
OSC2015 Hamanakoにて行ったセミナーの配布資料です。
Technology
◦
Read more
6
Save
Share
Embed
Embed presentation
Download
Downloaded 15 times
1
/ 37
2
/ 37
3
/ 37
4
/ 37
5
/ 37
6
/ 37
7
/ 37
8
/ 37
9
/ 37
10
/ 37
11
/ 37
12
/ 37
13
/ 37
14
/ 37
15
/ 37
16
/ 37
17
/ 37
18
/ 37
19
/ 37
20
/ 37
21
/ 37
22
/ 37
23
/ 37
24
/ 37
25
/ 37
26
/ 37
27
/ 37
28
/ 37
29
/ 37
30
/ 37
31
/ 37
32
/ 37
33
/ 37
34
/ 37
35
/ 37
36
/ 37
37
/ 37
More Related Content
PDF
20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと
by
v6app
PDF
IPv6 アプリケーション開発入門
by
v6app
PDF
20150227 IPv6 Summit in FUKUI 2015 IPv6対応webサービスの作り方
by
v6app
PDF
20141023 IPv6 Summit in FUKUOKA 2014 IPv6対応Webサービスの作り方
by
v6app
PDF
これからのアプリ開発はIPv6対応で行こう!(2014/09/20 OSC Hiroshima版)
by
v6app
PDF
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
by
Akira Nakagawa
PDF
Internet Week 2016 セッション総括 「IPv6関連3セッション」
by
Akira Nakagawa
PPT
IPv6技術標準化の最新動向
by
Shinsuke SUZUKI
20150312 html5とか勉強会-lt-開発者に知ってほしいi pv6のこと
by
v6app
IPv6 アプリケーション開発入門
by
v6app
20150227 IPv6 Summit in FUKUI 2015 IPv6対応webサービスの作り方
by
v6app
20141023 IPv6 Summit in FUKUOKA 2014 IPv6対応Webサービスの作り方
by
v6app
これからのアプリ開発はIPv6対応で行こう!(2014/09/20 OSC Hiroshima版)
by
v6app
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
by
Akira Nakagawa
Internet Week 2016 セッション総括 「IPv6関連3セッション」
by
Akira Nakagawa
IPv6技術標準化の最新動向
by
Shinsuke SUZUKI
Similar to OSC2015 Hamanako IPv6アプリの作り方
PDF
Lightweight Language Diverプレゼン資料:アプリケーションのIPv6対応のススメ(LL編)
by
v6app
PDF
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
by
v6app
PDF
IPv6時代のWebアプリケーション&プラットフォーム 2014
by
v6app
PDF
IPv6 application_and_v4kokatsu-tf
by
Ruri Hiromi
PPT
V6prog OSC2013Hokkaido
by
Kohki Ohhira
PPTX
VSUG Day 2011 Summer - IPv6 Now
by
Yutaro Ono
PPTX
IPv6 Application
by
Ruri Hiromi
PDF
PHPプログラミングのIPv6対応の実際
by
Tetsuji Koyama
KEY
Ipv6+JMeter+GAE
by
Kazumune Katagiri
PDF
IPv6の現状
by
Shinsuke SUZUKI
PDF
CEDEC-Net 2015 テクニカルレビュー
by
Yuya Rin
PPTX
20120120 hiroshima i_pv6_application
by
Ruri Hiromi
PDF
PHPで使うIPv6の実際
by
Tetsuji Koyama
PPT
IPv6アドレスでお絵かき
by
Yasuyuki Nakamura
PPT
IPv6標準化の最新動向
by
Shinsuke SUZUKI
PPTX
20120516 v6opsf-ngn final
by
Ruri Hiromi
PPT
v6hack
by
Kensuke Tamura
Lightweight Language Diverプレゼン資料:アプリケーションのIPv6対応のススメ(LL編)
by
v6app
20150228 OSC2015 Tokyo/Spring サンプルコードで理解するアプリケーションのIPv6対応
by
v6app
IPv6時代のWebアプリケーション&プラットフォーム 2014
by
v6app
IPv6 application_and_v4kokatsu-tf
by
Ruri Hiromi
V6prog OSC2013Hokkaido
by
Kohki Ohhira
VSUG Day 2011 Summer - IPv6 Now
by
Yutaro Ono
IPv6 Application
by
Ruri Hiromi
PHPプログラミングのIPv6対応の実際
by
Tetsuji Koyama
Ipv6+JMeter+GAE
by
Kazumune Katagiri
IPv6の現状
by
Shinsuke SUZUKI
CEDEC-Net 2015 テクニカルレビュー
by
Yuya Rin
20120120 hiroshima i_pv6_application
by
Ruri Hiromi
PHPで使うIPv6の実際
by
Tetsuji Koyama
IPv6アドレスでお絵かき
by
Yasuyuki Nakamura
IPv6標準化の最新動向
by
Shinsuke SUZUKI
20120516 v6opsf-ngn final
by
Ruri Hiromi
v6hack
by
Kensuke Tamura
OSC2015 Hamanako IPv6アプリの作り方
1.
IPv6対応アプリの作り方 (濃縮版) 2015年2月11日 IPv6普及・高度化推進協議会 渡辺 露文 オープンソースカンファレンス2015 Hamanako jus研究会浜松大会
2.
渡辺 露文(わたなべ つゆふみ) Twitter:
@tsuyu23 普段は某SIer勤務 IPv6普及・高度化推進協議会 会員 IPv6導入に起因する問題検討SWG アプリケーションのIPv6対応検討SWG 技術評論社 Software Design誌連載 (2012年12月号∼ 2014年1月号) 2 About me
3.
3 IPv6 ? Internet Protocol
version 6 インターネットの通信に関する規約(RFC791) IPネットワークに接続するには1つ以上のIPアドレスが必要 皆さんが馴染んでいるのはIPv4(例:10.1.2.3) Do you know …
4.
4 Agenda (IPv6の話の前に) ここがヘンだよ!そのコード いまどきのIPv6を知ろう! さあ、アプリケーションをIPv6に対応させよ う!
5.
5 ここがヘンだよ!そのコード IPv6の話の前に…
6.
6 そのコード、イケてない… (1) とある Perl のプログラム use
IO::Socket::IP; $host = “198.51.100.1”; : : my $sock = IO::Socket::IP->new( PeerAddr => $host, PeerPort => $port, Proto => 'tcp' ) or die “Error: $!n”; : :
7.
7 このコード、イケてない… (2) とある Androidプログラミング書籍に おけるソケット通信のサンプルコード public class
SocketEx… … … ��private final static String IP=“192.168.11.12”;//★変更必須 良い子は真似しちゃダメ
8.
8 どこがイケてない (というかヘン)? IPアドレスのハードコーディングは NG! $host = www.example.com のようにFQDNで接続先を指定する ダメ。ゼッタイ。
9.
Internet 9 ネットワークアクセスの 作法=名前解決を使う Client Web Server www.example.jp 2001:db8:100::1 192.0.2.1 DNS Server 198.51.100.53 ①名前解決問合せ www.example.jp
? ②アドレス応答 www.example.jp 2001:db8:100::1 192.0.2.1 ③HTTP通信 FQDN FQDNで接続先を指定し、DNSからアドレス取得
10.
10 なぜIPアドレス直書きが ダメなのか? アプリケーションは、IPアドレスに依存すべきではない 目的 変更・改修の理由 アプリケーション 機能の提供
■ 業務要件の変更 ■ サービス内容の変更 ■ ユーザビリティ向上 …,etc. インフラ 資源の提供 ■ 資源管理(IPアドレス、サーバラック…) ■ 性能 互いに変更の影響を受けるべきではない 同一システムでも変更・改修の理由・時期は異なる 例)IPアドレスでユーザを識別すべきではない
11.
11 いまどきのIPv6を知ろう!
12.
最近のOS Windows Vista以降 Mac OS
X Linux FreeBSD … 12 実はIPv6を使える環境が 増えています(1) いずれも デフォルトで 利用可能
13.
インターネット回線 フレッツ光ネクスト au ひかり NURO 光 … 13 実はIPv6を使える環境が 増えています(2) 利用可能 既存ユーザへの自動導入も 進行中 すでに、ユーザからあなたのサービスにIPv6で アクセスされようとしている…かもしれない
14.
14 日本におけるIPv6の普及 状況 フレッツ光ネクストのIPv6普及率 (2014年9月) IPv6普及率:3.9% フレッツ光ネクスト契約数:15,805,000契約 au ひかりのIPv6普及率(2014年9月):99% 今後本格的に普及する前に IPv6対応を始めたほうが良い 出典:IPv6普及・高度化推進協議会 アクセス網におけるIPv6普及状況調査 http://v6pc.jp/jp/spread/ipv6spread_03.phtml
15.
15 余談:確認してみよう! IPv6でインターネットにアクセス できるかな? Webブラウザで http://www.test-ipv6.jp にアクセス Webブラウザで
http://www.kame.net にアクセス IPv6でアクセスすると、 亀が踊ります♪
16.
16 IPv6の背景: IPv4アドレス枯渇 IPv4アドレスの在庫状況 (地域インターネットレジストリ) 通信事業者、ISP、 データセンター、 クラウド事業者等の 在庫が残るのみ 世界的に足りなくなってきている
17.
17 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準拠) IPv4アドレス IPv6アドレス アドレス長 32bit
128bit 文字列 表記 表記法 8bitずつ区切り、 10進数で表記 16bitずつ区切り、 16進数で表記 区切り文字 . (ドット) : (コロン) 文字列長 15文字以内 39文字以内
18.
グローバルスコープ IPv4とIPv6とでは何が違 うのか?② 18 リンクローカルスコープリンクローカルアドレス fe80::/10 ユニークローカルアドレス fc00::/7 グローバルユニキャストアドレス 2000::/3 IPv6では1つのNICに複数のアドレスを 有効範囲に応じて割当て、使い分ける
19.
19 IPv4とIPv6の関係 優先順位が変わるケースもある デフォルトを変更している環境 RFC6724に準拠していない実装 IPv4とIPv6は互換性がない IPv6 > IPv4
20.
20 IPv4とIPv6の接続性 Internet IPv4対応 (IPv6非対応) システム IPv4/IPv6 両対応システム IPv6対応 (IPv4非対応) システム (1) (2) (3) IPv4端末 IPv4/IPv6 両対応端末 IPv6端末 IPv4 IPv6
21.
21 IPv6に対応しない場合の 影響 1. IPv6のみの環境と通信できない ビジネス機会を損失する システム連携が行えず要件を満たせなくなる 2. 今後、IPv4はサービスレベルが低下していく 通信事業者等によるCGN(Carrier
Grade NAT) 導入により、遅くなり、使用できるセッション数 が減る可能性がある IPv6に対応しなきゃ!
22.
22 IPv6対応アプリの重要性 ネットワークとサーバがIPv6に対応すれば、IPv6で接 続可能 接続は可能だが… アプリが固まる システム連携がうまくいかない 想定外の挙動をする … アプリケーションもIPv6に対応しなきゃ! アプリが動作しなければ ユーザは利用できない
23.
23 もはやIPv6対応しないと 時代遅れ?(1) 先日のGHOST騒ぎ… 脚注部分に注目! 「gethostbyname 関数は、 IPv6 の登場によりあまり利用されなく なっている」‼ http://www.ipa.go.jp/security/announce/20150129-glibc.html
24.
24 もはやIPv6対応しないと 時代遅れ?(2) GHOSTネタをもう一つ http://blog.trendmicro.co.jp/archives/10818 多くの新しいアプリケー ションでは、この脆弱な 「gethostbyname*()」関数ではなく、 IPv6をサポートする関数 「getaddrinfo()」を使用しているも のと考えられます
25.
25 さあ、アプリケーションを IPv6に対応させよう! ここからが本題
26.
26 アプリケーションIPv6対 応の基本方針 IPv6対応 = IPv4とIPv6の両方で動作する シングルソースコードで対応
27.
27 アプリケーションのIPv6 対応のポイント Ethernet IP(v4/v6) TCP / UDP アプリケーション OS ミドルウェア/ フレームワーク アプリケーション OS フレームワーク HTTP/HTTPS SMTP,
SSH, ソケット通信など クライアント サーバ ①IPv4/IPv6両対応のプログラミング言語と実行環境を使う ②通信処理をIPv4/IPv6の 両方に対応させる ③データとしてIPアドレスを 扱う箇所をIPv4/IPv6の 両方に対応させる
28.
28 ポイント① IPv4/IPv6両対応のプ ログラミング言語と実行環境を使う プログラミング言語と実行環境におけるIPv4/ IPv6両対応とは? 名前解決機構が IPv4/IPv6両方のアドレスを適切に扱える IPv4/IPv6両方で通信できる これらを満たすプログラミング言語、実装環境を利用する 例)C言語: gethostbyname()
ではなく、 getaddrinfo()
29.
29 ポイント② 通信処理をIPv4/ IPv6の両方に対応させる(1) サーバプログラム IPv4/IPv6 両プロトコルでの接続を 受付けられるようにする クライアントプログラム IPv4/IPv6
両宛先アドレスに接続できるようにする 接続できない状況も想定し、接続失敗時には別の 宛先アドレスに切替えて接続する(フォールバック) IPv6 IPv6 IPv4 IPv4 Client Server アプリケーションの作りが悪いと… ■ 切替えに時間がかかる ■ 正常に切替わらないこともある ユーザの利便性を損なう
30.
30 ポイント② 通信処理をIPv4/ IPv6の両方に対応させる(2) フォールバック 接続できない場合に、別の接続先への接続に切替える動作 Client Web Server www.example.jp DNS
Server www.example.jp IN AAAA 2001:db8:100::1 www.example.jp IN A 192.0.2.1 ①名前解決問合せ www.example.jp ? ②AAAA応答 2001:db8:100::1 A応答 192.0.2.1 ③HTTP通信(IPv6) 2001:db8:100::1 192.0.2.1 2001:db8:ffff::1 198.51.100.1 ④HTTP通信(IPv4) フォールバック
31.
31 ポイント③ データとしてIPアドレス を扱う箇所をIPv4/IPv6の両方に 対応させる 入力はユーザに配慮しつつ、値の検証をしっかり行う IPアドレス型もしくは、完全表記(文字列長39文字) を文字列型で扱う 見やすさを求めるときは省略表記(RFC5952)で出力 入力出力 整列 検索 格納
32.
32 おわりに
33.
33 まとめ(1) IPアドレスのハードコーディングはダメ。ゼッタイ。 IPv6を使える環境が増えている IPv4とIPv6の違い:アドレス体系が異なる , etc.
互換性なし IPv6対応の基本方針 IPv6対応=IPv6/IPv4の両方で動作させること シングルソースコードで対応する
34.
34 まとめ(2) IPv6対応のポイント 1. IPv4/IPv6両対応のプログラミング言語と実行環 境を使う 2. 通信処理をIPv4/IPv6の両方に対応させる 3.
データとしてIPアドレスを扱う箇所をIPv4/IPv6の 両方に対応させる 決して難しくない! 今日から開発するアプリケーションは IPv6に対応させよう!
35.
35 つづきはWebで (参考文献) 「アプリケーションのIPv6対応ガイドライン 基礎編」/IPv6 普及・高度化推進協議会 IPv4/IPv6共存WG
アプリケーションの IPv6対応検討SWG http://www.v6pc.jp/jp/entry/wg/2012/12/ipv610.phtml 「アプリケーションのIPv6対応ガイドライン Webアプリ編 (案)」/IPv6普及・高度化推進協議会 IPv4/IPv6共存WG アプリケーションのIPv6対応検討SWG http://www.v6pc.jp/jp/entry/wg/2014/06/ipv6web.phtml Internet Week 2013「T2 アプリケーション・サービスのIPv6対 応」 軽量プログラミング言語のIPv6対応 Perl編 https://www.nic.ad.jp/ja/materials/iw/2013/proceedings/t2/t2-watanabe-2.pdf 軽量プログラミング言語のIPv6対応 PHP編 https://www.nic.ad.jp/ja/materials/iw/2013/proceedings/t2/t2-hatano-2.pdf
36.
次は東京で会いましょう! 36
37.
37 ご清聴いただき、 ありがとうございました
Download