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.6k
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
370
What is Lightning talk ?
nkchan
0
1.1k
Invitation of Community activities
nkchan
0
1.1k
Other Decks in Science
See All in Science
Презентация программы бакалавриата СПбГУ "Искусственный интеллект и наука о данных"
dscs
0
680
【健康&筋肉と生産性向上の関連性】 【Google Cloudを企業で運用する際の知識】 をお届け
yasumuusan
0
310
Raccoon Roundworm
uni_of_nomi
0
150
General Parasitology
uni_of_nomi
0
110
ultraArmをモニター提供してもらった話
miura55
0
170
解説!データ基盤の進化を後押しする手順とタイミング
shomaekawa
1
320
いまAI組織が求める企画開発エンジニアとは?
roadroller
2
1.3k
Machine Learning for Materials (Lecture 9)
aronwalsh
0
200
Improving Search @scale with efficient query experimentation @BerlinBuzzwords 2024
searchhub
0
240
Cross-Media Information Spaces and Architectures (CISA)
signer
PRO
3
29k
Snowflakeによる統合バイオインフォマティクス
ktatsuya
0
440
Machine Learning for Materials (Lecture 3)
aronwalsh
0
980
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
95
5.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Building Adaptive Systems
keathley
38
2.2k
Fireside Chat
paigeccino
32
3k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.6k
A Tale of Four Properties
chriscoyier
156
22k
Making the Leap to Tech Lead
cromwellryan
131
8.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
13
1.8k
KATA
mclloyd
29
13k
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 参考文献