Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
IPv6 Readyって何だ?
NAT64/DNS64の
本当の
使い方とは?
藤崎 智宏/Internet Society Japan Chapter (ISOC-JP)
岡田 雅之/JPNIC,CONBU
自己紹介
• 藤崎 智宏(ISOC-JP,そのほか沢山)
• Twitter:@dudisaki
• メイン:電話屋で,インターネット関連の仕事
• IPv6普及に取り組んでいます.
• IPv6普及・高度化推進協議会
• アプリケーションのI...
インターネットとIPアドレス
3
インターネット
機器(モノ)がインターネットにつな
がるには,IPアドレスが必要
192.0.2.1
198.51.100.1
203.0.113.1
従来から利用されてきたのは”IPv4アドレス”
IPv4で...
IPv6とは
IPv4 の後継プロトコルとし
てインターネット標準化団
体(IETF)で規定.
アドレス数を大幅に増やした
IPv6アドレス: 128ビット
(IPv4: 32ビット)
プロトコル的にはIPv4互換性
無し
IPv4機器とIPv...
IPv6の普及状況
• 世界的に普及が進んでいます.
5
IPv6の普及度
https://stats.labs.apnic.net/ipv6/
Google サーバへの通信の割合
https://www.google.com/intl/ja/...
IPv6とGoogle, Apple
• Google も Apple も,「インターネットの継続的な発展」と
いう観点から,IPv6普及に積極対応.
• 両社,各種サービスはほとんどIPv6対応済み
• Apple においては,2016年6月...
Appleの文書より(1)対応プログラム
Appleは開発者向け文書で対応方法やテスト方法を解説
https://developer.apple.com/jp/documentation/ の,”ネットワーキング オー
バービュー ”から,” ...
残念な例(1)
8
残念な例(2)
9
memset(&ptr, 0, sizeof(ptr));
ptr.ai_family = AF_INET;
ptr.ai_socktype = SOCK_STREAM;
if((ret = getaddrinfo(host, NULL, &p...
Appleの文書より(2)試験環境
• IPv6 only (デュアルスタックでなく)の環境でのアプリ試験
環境について解説
• IPv4インターネットへは,プロトコル変換 (DNS64/NAT64)を利用したアク
セスを想定
11
DNS64...
• 同文書で詳解されているテスト環境
https://developer.apple.com/jp/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/Unders...
v6は珍しくありません
13
IPv6へのお誘い
• IPv6普及・高度化推進協議会
お宝満載!
14
IPv4枯渇タスクフォース・JPNICセミナー
http://kokatsu.jp/
15
IPv4枯渇タスクフォース・JPNICセミナー
https://www.nic.ad.jp/
16
本日の会場ネットワーク
• NAT64/DNS64環境もご用意
• SSID:iosdc-cookpad-64/pass: yatteiku
• 動かないアプリがあったら教えてください!
• @conbu_net or @smadako 等
Upcoming SlideShare
Loading in …5
×

IPv6 Readyって何? NAT64/DNS64 徹底解説! #iosdc #b

2,172 views

Published on

iOSDC2016の資料です。

Published in: Internet

IPv6 Readyって何? NAT64/DNS64 徹底解説! #iosdc #b

  1. 1. IPv6 Readyって何だ? NAT64/DNS64の 本当の 使い方とは? 藤崎 智宏/Internet Society Japan Chapter (ISOC-JP) 岡田 雅之/JPNIC,CONBU
  2. 2. 自己紹介 • 藤崎 智宏(ISOC-JP,そのほか沢山) • Twitter:@dudisaki • メイン:電話屋で,インターネット関連の仕事 • IPv6普及に取り組んでいます. • IPv6普及・高度化推進協議会 • アプリケーションのIPv6対応検討SWG 部会長 • IPv6導入に起因する問題検討SWG 部会長 等 • 岡田 雅之(JPNIC/CONBU/{JANOG}) • Twitter:@smadako • FBのほうが活発です • ネットワーク関係 • IPアドレス配布と関係するシステム 2
  3. 3. インターネットとIPアドレス 3 インターネット 機器(モノ)がインターネットにつな がるには,IPアドレスが必要 192.0.2.1 198.51.100.1 203.0.113.1 従来から利用されてきたのは”IPv4アドレス” IPv4では,IPアドレスは 32ビット ≒ 約43億個 IPv4アドレス在庫の枯渇 世界的に,IPv4アドレスはほぼ利用し尽くされ ているのが現状 第30回JPNICオープンポリシーミーティング JPNIC報告資料より抜粋 http://www.jpopf.net/JPOPM30Program?action=AttachFile&do=view& target=4_policy-implementation.pdf IPアドレスが入手できないと,インターネット が拡張できない!今後の発展のため,イン ターネットのバージョンアップ が進行中! 「IPv4 → IPv6 へ」
  4. 4. IPv6とは IPv4 の後継プロトコルとし てインターネット標準化団 体(IETF)で規定. アドレス数を大幅に増やした IPv6アドレス: 128ビット (IPv4: 32ビット) プロトコル的にはIPv4互換性 無し IPv4機器とIPv6機器は相互に 通信不可 同じネットワーク上には共存可能 機器はIPv4・IPv6両対応が必要 4 IPv4 バケツ一杯 分の砂の数 IPv6 太陽一個分(地球100万 個分)の体積の砂の数 IPv4 v4 IPv6 v6 変換装置 IPv4による通信 ホストA ホストB ホストC IPv6による通信 IPv6スタックIPv6スタック IPv4スタック IPv4スタック IPv4スタック IPv4/v6 共存ネットワーク 変換装置による対応もあり
  5. 5. IPv6の普及状況 • 世界的に普及が進んでいます. 5 IPv6の普及度 https://stats.labs.apnic.net/ipv6/ Google サーバへの通信の割合 https://www.google.com/intl/ja/ipv6/statistics.html
  6. 6. IPv6とGoogle, Apple • Google も Apple も,「インターネットの継続的な発展」と いう観点から,IPv6普及に積極対応. • 両社,各種サービスはほとんどIPv6対応済み • Apple においては,2016年6月から,iOS アプリの IPv6 対応を必須化 • アプリ審査でチェック • 実際に審査が通らなかった 例もあるようです. 6 https://developer.apple.com/news/?id=05042016a
  7. 7. Appleの文書より(1)対応プログラム Appleは開発者向け文書で対応方法やテスト方法を解説 https://developer.apple.com/jp/documentation/ の,”ネットワーキング オー バービュー ”から,” IPv6 DNS64/NAT64ネットワークのサポート” IPv6対応ネットワークプログラミングの注意点 • プロトコルに埋め込まれたIPアドレスリテラル。 • 構成ファイルに埋め込まれたIPアドレスリテラル。 • ネットワークプリフライト • 低レベルネットワークAPIの使用 • 小さなアドレスファミリストレージコンテナの使用 IPアドレスを直接プログラムに書かない! IPアドレスを直接設定ファイルに書かない! プリフライト(≒インターネット接続チェック)をつかわない! 高レベルAPIで救われる落とし穴にはまる! IPアドレスは32bitだけじゃない! 7
  8. 8. 残念な例(1) 8
  9. 9. 残念な例(2) 9
  10. 10. memset(&ptr, 0, sizeof(ptr)); ptr.ai_family = AF_INET; ptr.ai_socktype = SOCK_STREAM; if((ret = getaddrinfo(host, NULL, &ptr, &info )) ! = 0 { printf("network error %d ¥n", ret); return -1; } 残念な例(3) 残念ながら、探すとたくさんこういった例が いっぱいあります・・・・(T_T) 10 よくある例
  11. 11. Appleの文書より(2)試験環境 • IPv6 only (デュアルスタックでなく)の環境でのアプリ試験 環境について解説 • IPv4インターネットへは,プロトコル変換 (DNS64/NAT64)を利用したアク セスを想定 11 DNS64 サーバ クライアント DNS問い合わせ IPv6アドレス, または合成IPv6 アドレス(IPv4ア ドレスから変換 されたIPv6アド レス) IPv4 サーバ クライアント NAT64ゲー トウェイ IPv6 サーバ 合成IPv6アドレ スに対するコン テンツの要求/ 返答 コンテン ツの要求 /返答 IPv6アド レスに対 するコン テンツの 要求/返 答 ① ② DNS64/NAT64の動作概略
  12. 12. • 同文書で詳解されているテスト環境 https://developer.apple.com/jp/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/Understa ndingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/T P40010220-CH213-SW1 より抜粋 ”IPv6対応” でなく,「DNS64/NAT64 環境でのIPv4インターネッ トへのアクセス」方法なので,注意. Appleの文書より(2)試験環境続き 12
  13. 13. v6は珍しくありません 13
  14. 14. IPv6へのお誘い • IPv6普及・高度化推進協議会 お宝満載! 14
  15. 15. IPv4枯渇タスクフォース・JPNICセミナー http://kokatsu.jp/ 15
  16. 16. IPv4枯渇タスクフォース・JPNICセミナー https://www.nic.ad.jp/ 16
  17. 17. 本日の会場ネットワーク • NAT64/DNS64環境もご用意 • SSID:iosdc-cookpad-64/pass: yatteiku • 動かないアプリがあったら教えてください! • @conbu_net or @smadako 等

×