Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
IPv6が使われていない理由を探した
Search
Kaoru Nagashima
March 09, 2019
Science
0
1.7k
IPv6が使われていない理由を探した
Fukuoka Perl Workshop #28 むりやり蘇生!!スペシャルの発表資料です
Kaoru Nagashima
March 09, 2019
Tweet
Share
More Decks by Kaoru Nagashima
See All by Kaoru Nagashima
ワンライナーでちょっと楽に確認するNOSコンフィグ
nkchan
0
21
サーバに全力で名前をつけている話
nkchan
0
410
What is Lightning talk ?
nkchan
0
1.2k
Invitation of Community activities
nkchan
0
1.2k
Other Decks in Science
See All in Science
トラブルがあったコンペに学ぶデータ分析
tereka114
2
1.5k
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
760
Tensor Representations in Signal Processing and Machine Learning (Tutorial at APSIPA-ASC 2020)
yokotatsuya
0
140
06_浅井雄一郎_株式会社浅井農園代表取締役社長_紹介資料.pdf
sip3ristex
0
250
応用心理学Ⅰテキストマイニング講義資料講義編(2024年度)
satocos135
0
110
統計学入門講座 第1回スライド
techmathproject
0
250
(論文読み)贈り物の交換による地位の競争と社会構造の変化 - 文化人類学への統計物理学的アプローチ -
__ymgc__
1
190
オンプレミス環境にKubernetesを構築する
koukimiura
0
160
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
150
Reconciling Accuracy, Cost, and Latency of Inference Serving Systems
pjamshidi
0
130
MoveItを使った産業用ロボット向け動作作成方法の紹介 / Introduction to creating motion for industrial robots using MoveIt
ry0_ka
0
350
テンソル分解による糖尿病の組織特異的遺伝子発現の統合解析を用いた関連疾患の予測
tagtag
2
110
Featured
See All Featured
Done Done
chrislema
183
16k
Adopting Sorbet at Scale
ufuk
75
9.3k
4 Signs Your Business is Dying
shpigford
183
22k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
We Have a Design System, Now What?
morganepeng
51
7.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.7k
The Invisible Side of Design
smashingmag
299
50k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Speed Design
sergeychernyshev
28
840
Writing Fast Ruby
sferik
628
61k
Building an army of robots
kneath
303
45k
Facilitating Awesome Meetings
lara
53
6.3k
Transcript
IPv6が使われていない理由を探した 永島薫<Kaoru Nagashima> Twitter : @kaoru_nkchan Fukuoka Perl Workshop #28@ヌーラボ
~Perlのことも調査してみて思ったこと~
自己紹介 • 名前 : 永島 薫 <Kaoru Nagashima> • あだな:
なかっちゃん • 九州工業大学情報工学部B4 Next → 九州工業大学大学院 • 普段やっていること • ネットワークお勉強 IPv6 , IEE802.11系, • Juniperのルーターが好き(この前惚れた) • Perl入学式福岡サポーター • 旅行 • 将来やりたいこと • ネットワークの(研究?)開発 • BGPとかIXとかインターネットの上流が見てみたいし管理してみたい Twitter: @kaoru_nkchan Github: nkchan Kaoru Nagashima @kaoru_nkchan 2
今日の話の概要 • IPv6ってアドレスは降ってきてるけど, サービス側対応してなくない? • じゃあまずは,今のIPv6の対応状況調べてみよう • んでんでPerlの各種サイトやモジュールって どうなってるんだ?(5分くらい??) Kaoru
Nagashima @kaoru_nkchan 3
目次 4 Kaoru Nagashima @kaoru_nkchan 1. なぜIPv6の使用状況が気になったのか 2. インターネットIPv6の対応状況 3.
Perl関連のIPv6対応状況 4. おわりに
なぜIPv6の使用状況が気になったのか
それは卒論用の実機検証中のこと • 検証は大学の実ネットワーク(IPv6 Only)で行った • ラズパイにセンサーを付けてデータ収集とかしました • その際,ネットワーク内の機器はIPv6アドレスでインターネットへ • もちろん自分の端末もグローバルIPv6アドレスを振っていた
→ あれ? IPv6で見れるサイト少なくない?????? ちなみにUbuntuのアップデートもできません(× jp.archive.ubuntu.com) Kaoru Nagashima @kaoru_nkchan 6
なんでこんなにも繋がらないんだ?? • 何かを調べようとする→繋がらない • 別の端末でIPv4で外へ • 大学のIPv4とv6は完全に独立している(デュアルスタックではない) • これもしかして,今の状況しりたい! •
結局どれくらいのサイトがIPv6に対応しているの??? • Perlはどうなってるの??? • IPv6で使える状態にないとIPv6 Only環境でPerlという選択肢が 減ってしまう(軽いスクリプトでもモジュール使えないとか困る) Kaoru Nagashima @kaoru_nkchan 7
インターネットのIPv6の使用状況
IPv6の対応状況 • 日本のIPv6アドレス対応状況[1](2019/03/04) 49% • とはいえ,この対応状況だけだとよくわからないので 3つの観点が大事 • ユーザ: ユーザの端末がどれくらいIPv6に対応しているのか
• ネットワーク: どれくらいのネットワークがIPv6対応なのか • コンテンツ: どれくらいのコンテンツがIPv6対応なのか • 今日は メイン: コンテンツ サブ: ネットワーク という感じで話します • すでに端末はだいたいIPv6に対応しているので割愛 Kaoru Nagashima @kaoru_nkchan 9 参考文献[1] http://6lab.cisco.com/stats/
観点1: ネットワーク目線 • 各プロバイダーの普及率 • NGN 57.8% • KDDI au光
100% • NGNが頑張ればもっと いい感じになりそう • 右表: Googleサービスへの IPv6アクセスランキング ※トラフィック量のランキング (事業者別)[2] ※ASNs (AS Numbers ) Kaoru Nagashima @kaoru_nkchan 10 参考文献[2]http://www.v6pc.jp/jp/spread/ipv6spread_03.phtml
観点1: ネットワーク目線[3] Kaoru Nagashima @kaoru_nkchan 11
観点2: コンテンツ対応編 対応している上位サイト 対応していない上位サイト google.co.jp yahoo.co.jp so-net.ne.jp amazon.co.jp biglobe.ne.jp fc2.com
yomiuri.co.jp nicovideo.jp softbank.jp rakuten.co.jp smbc-card.com ameblo.jp kddi.com naver.jp sony.jp livedoor.jp nttdocomo.co.jp goo.ne.jp ocn.ne.jp kakaku.com Kaoru Nagashima @kaoru_nkchan 12 参考文献[4]https://www.vyncke.org/ipv6status/detailed.php?country=jp
観点2: 日本のIPv6対応率 • データセンタ事業者全体 21.2% • 売上額100億円超の大規模事業者 35.7% • 中小規模事業者
11.1% • 未検討・検討の上、提供しないとした事業者 52.8% • https://internet.watch.impress.co.jp/docs/event/1157325.html • コンテンツ側が全然対応していない Kaoru Nagashima @kaoru_nkchan 13
観点2: なぜコンテンツはIPv6化されないのか • ネットワーク界隈では5年くらい前から議論がされてきた • JANOG 35: なぜ、IPv6 対応したくないのか •
なんで,コンテンツ事業者はIPv4でコンテンツを提供するのか →ユーザにコンテンツを届けることができれば, 手段はなんでもいい • 今IPv4で動いているサービスのIPv6化 →新しくコンテンツをみることができるようになる人は一握り? お金になるわけでもない… • もちろんユーザがからリクエストがあれは,次にリリースする サービスはIPv6対応でもいいと思っている Kaoru Nagashima @kaoru_nkchan 14
観点2: コンテンツ目線 CDN 各CDNの対応状況 • Akamai 対応!! • Amazon CloudFront
対応!! • Azure CDN 対応!! • CloudFlare 対応!! • さくらインターネット 調べてもわからなかった(ないっぽい?) • Fastly 対応!!(デュアルスタック) • Limelight CDN 対応!!(デュアルスタック) Kaoru Nagashima @kaoru_nkchan 15
ちなみに: • 2016年6月よりAppStoreに登録されるアプリはすべてIPv6へ の対応が必須となる • IPv4でしか動かないアプリは審査に通らないらしい Kaoru Nagashima @kaoru_nkchan 16
なぜIPv4はなくならないのか 17 Kaoru Nagashima @kaoru_nkchan 枯渇する話 IPv4が枯渇しそうという話 延命処置/v4 IPv4不足に伴う延命処置 IPv6とv4の共存技術
IPv6の機構として存在する共存技術 ~段階的なIPv6への移行~
IPv4が枯渇する話[3] Kaoru Nagashima @kaoru_nkchan 18
IPv4が枯渇する話[3] Kaoru Nagashima @kaoru_nkchan 19
IPv4の延命処置 • NAPT • LAN内のPCが一つのグローバルIPを共有して外にでる仕組み • 10.0.0.0/8 • 172.16.0.0/12 •
192.168.0.0/16 • などなど,いろいろな場所で使用されている • 一台一台にグローバルIPが振られている→ネットワークで一つのIP • CGN(Carrier Grade NAT) • プロバイダー単位で行うNAT • ケーブルテレビや携帯電話などに使用されていた • 100.64.0.0/100 • サーバ公開しなかったりするならグローバルIPはいらないだろうという発想 • プロバイダー側でそれなりのセッション情報の保持が必要 Kaoru Nagashima @kaoru_nkchan 20
IPv6とIPv4の共存技術 • DS-Lite(Dual-Stack Lite) • NAT64/DNS64 IPv6ネットワークからIPv4ネットワークへアクセスする方法が2つ ある Kaoru Nagashima
@kaoru_nkchan 21
DS-Lite • IPv4 over IPv6でIPv4をIPv6でカプセル化する • 専用機器が必要 Kaoru Nagashima @kaoru_nkchan
22 参考文献 : IIJ ,https://www.iijmio.jp/guide/outline/ipv6/ipv6_access/dslite/ 専用機器 IX
NAT64/DNS64 • IPv6 Onlyな環境からIPv4ネットワークへの接続技術 Kaoru Nagashima @kaoru_nkchan 23 参考文献: JPNIC:
https://www.nic.ad.jp/ja/newsletter/No64/0800.html 本当にIPv6への移行のための技術 Googleもサービス提供 2001:4860:4860::6464 2001:4860:4860::64
こんな風にIPv6の中でIPv4も まだ使えるようにしている じゃあPerlのIPv6への対応状況は? Kaoru Nagashima @kaoru_nkchan 24
Perl関連のIPv6対応状況
Perlの各種サイトの対応状況 • The Perl Programming Language https://www.perl.org/ • CPAN https://www.cpan.org/src/
• MetaCPAN https://metacpan.org/ • Perldoc https://perldoc.perl.org/perldoc.html • Perldoc(jp) http://perldoc.jp/ Kaoru Nagashima @kaoru_nkchan 26
IPv6: The Perl Programming Language Kaoru Nagashima @kaoru_nkchan 27 nkchan@nk-x1:~$
dig www.perl.org AAAA ; <<>> DiG 9.11.3-1ubuntu1.5-Ubuntu <<>> www.perl.org AAAA ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32120 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;www.perl.org. IN AAAA ;; ANSWER SECTION: www.perl.org. 1795 IN CNAME cdn-fastly.perl.org. cdn-fastly.perl.org. 3595 IN CNAME dualstack.osff.map.fastly.net. dualstack.osff.map.fastly.net. 17 IN AAAA 2a04:4e42:11::729
IPv6: CPAN Kaoru Nagashima @kaoru_nkchan 28 nkchan@nk-x1:~$ dig www.cpan.org AAAA
; <<>> DiG 9.11.3-1ubuntu1.5-Ubuntu <<>> www.cpan.org AAAA ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1720 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;www.cpan.org. IN AAAA ;; ANSWER SECTION: www.cpan.org. 115 IN CNAME dualstack.osff.map.fastly.net. dualstack.osff.map.fastly.net. 26 IN AAAA 2a04:4e42:11::729
IPv6: MetaCPAN Kaoru Nagashima @kaoru_nkchan 29 nkchan@nk-x1:~$ dig metacpan.org AAAA
; <<>> DiG 9.11.3-1ubuntu1.5-Ubuntu <<>> metacpan.org AAAA ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22804 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;metacpan.org. IN AAAA ;; ANSWER SECTION: metacpan.org. 42496IN AAAA 2a04:4e42:200::729 metacpan.org. 42496IN AAAA 2a04:4e42::729 metacpan.org. 42496IN AAAA 2a04:4e42:600::729 metacpan.org. 42496IN AAAA 2a04:4e42:400::729
IPv6: Perldoc Kaoru Nagashima @kaoru_nkchan 30 nkchan@nk-x1:~$ dig perldoc.perl.org AAAA
; <<>> DiG 9.11.3-1ubuntu1.5-Ubuntu <<>> perldoc.perl.org AAAA ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25997 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;perldoc.perl.org. IN AAAA ;; ANSWER SECTION: perldoc.perl.org. 896 IN CNAME cdn-fastly.perl.org. cdn-fastly.perl.org. 1340 IN CNAME dualstack.osff.map.fastly.net. dualstack.osff.map.fastly.net. 20 IN AAAA 2a04:4e42:11::729
IPv6: Perldoc(jp) Kaoru Nagashima @kaoru_nkchan 31 nkchan@nk-x1:~$ dig perldoc.jp AAAA
; <<>> DiG 9.11.3-1ubuntu1.5-Ubuntu <<>> perldoc.jp AAAA ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48346 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;perldoc.jp. IN AAAA ;; ANSWER SECTION: perldoc.jp. 300 IN AAAA 2606:4700:30::6812:2711 perldoc.jp. 300 IN AAAA 2606:4700:30::6812:2611 全部対応!!
モジュールは? • とりあえずLinuxコマンド的な動きをしてくれるようなものを 適当に選んで探す • Net::IP IPv6対応 • Net::DNS::Dig IPv6対応
• Net::Whois 非対応 • Net::Ping 対応 • これなにが違うせいで対応,非対応が分かれるのか Kaoru Nagashima @kaoru_nkchan 32
IPv4 OnlyのモジュールとIPv6も使える違い • Socketのお話へ • IPv6対応 • IO::Socket::IP • IO::Socket::INET6
• Soucket6 • IPv6非対応 • IO::Socket::INET • Versionによる • Socket • Perl 5.14付属のSocket 1.94以降はIPv6対応 Socketお前が原因か!! Kaoru Nagashima @kaoru_nkchan 33
おわりに
おわりに • 今日のモチベーション →卒論の検証中に感じたIPv6対応コンテンツの少なさから今 の状況が知りたくなった • 今のインターネットのIPv6普及率 • IPv4の延命とIPv6との共存技術 •
Perlの各サイトのIPv6対応状況 • モジュールがIPv6対応になるにはSocket周りが重要 • じゃあIPv4しかだめなモジュール(IO::Socket::INET)を IPv6対応させるには,みたいは話は進捗を産んで ぼちぼちどこかでしたい Kaoru Nagashima @kaoru_nkchan 35
36 Kaoru Nagashima @kaoru_nkchan 参考文献 補足
37 Kaoru Nagashima @kaoru_nkchan [3]佐藤 晋,IPv6普及状況とIPアドレス最新レポート https://www.iajapan.org/ipv6/summit/MIYAZAKI2017 /pdf/sato_miyazaki2017.pdf
[4]渡辺露文, 軽量プログラミング言語のIPv6対応Perl 編 ,https://www.nic.ad.jp/ja/materials/iw/2013/proc eedings/t2/t2-watanabe-2.pdf 参考文献