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

38
Webアプリ開発者に 知ってほしいIPv6のこと 2015年3月12日 IPv6普及・高度化推進協議会 IPv4/IPv6共存WG アプリケーションのIPv6対応検討SWG 渡辺 露文(@tsuyu23) 1

Upload: v6app

Post on 19-Jul-2015

416 views

Category:

Technology


1 download

TRANSCRIPT

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

IPv6IPv4アドレスが枯渇し、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

EthernetIP(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