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.4k
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
16
サーバに全力で名前をつけている話
nkchan
0
340
What is Lightning talk ?
nkchan
0
950
Invitation of Community activities
nkchan
0
950
Other Decks in Science
See All in Science
(Forkwell Library #48)『詳解 インシデントレスポンス』で学び倒すブルーチーム技術
scientia
2
880
Machine Learning for Materials (Lecture 7)
aronwalsh
0
710
Running llama.cpp on the CPU
ianozsvald
0
210
HAS Dark Site Orientation
astronomyhouston
0
4.9k
ultraArmをモニター提供してもらった話
miura55
0
110
外国人が思う日本語のむずかしいところ
jamashita
0
440
遺伝子発現プロファイルに基づく新しい薬物間相互作用予測法
tagtag
0
100
Spark_Task_Optimization_Journey_How_I_Increased_10x_Speed_by_Performance_Tuning
tlyu0419
0
190
Услуги лаборатории ТиМПИ
dscs
0
660
Cross-Media Information Spaces and Architectures (CISA)
signer
PRO
3
24k
How we developed a data exchange format: Lessons learned from Camtrap DP
peterdesmet
1
140
構造活性フォーラム2023-山﨑担当分
yamasakih
0
310
Featured
See All Featured
Code Review Best Practice
trishagee
54
15k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Why Our Code Smells
bkeepers
PRO
331
56k
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.6k
The Art of Programming - Codeland 2020
erikaheidi
41
12k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
Producing Creativity
orderedlist
PRO
336
39k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
16k
Agile that works and the tools we love
rasmusluckow
324
20k
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 参考文献