Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
IPv6が使われていない理由を探した
Search
Kaoru Nagashima
March 09, 2019
Science
2.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
IPv6が使われていない理由を探した
Fukuoka Perl Workshop #28 むりやり蘇生!!スペシャルの発表資料です
Kaoru Nagashima
March 09, 2019
More Decks by Kaoru Nagashima
See All by Kaoru Nagashima
ワンライナーでちょっと楽に確認するNOSコンフィグ
nkchan
0
36
サーバに全力で名前をつけている話
nkchan
0
520
What is Lightning talk ?
nkchan
0
1.9k
Invitation of Community activities
nkchan
0
1.9k
Other Decks in Science
See All in Science
機械学習 - K-means & 階層的クラスタリング
trycycle
PRO
0
2.1k
明治薬科大学講義_ビッグデータ解析を支えるデータベース技術とクラウドコンピューティング
ktatsuya
1
180
データベース11: 正規化(1/2) - 望ましくない関係スキーマ
trycycle
PRO
0
1.7k
チュートリアル:世界モデル
hf149
0
2.3k
AI bij literatuuronderzoek in de wetenschap
voginip
0
260
HOLO: Homography-Guided Pose Estimator Network for Fine-Grained Visual Localization on SD Maps
tomoaki0705
0
150
言葉をはかる:テキストマイニング入門①講義編
satocos135
0
160
「念のためのログ保存」を組織全体でやめるためのポリシーと仕組み作り
i2tsuki
4
390
Understanding CVP Waveforms: Interpretation and Clinical Implications in Anesthesiology
taka88
0
900
GKE上でオセロの強化学習やってみた
akasan
0
110
AI(人工知能)の過去・現在・未来 ~AIは人類を越えるのか~
tagtag
PRO
0
160
Bリーグのショットデータを活用した得点期待値モデルの構築 / Construction of expected points model using shot data of B.LEAGUE
konakalab
0
220
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
280
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
950
Claude Code のすすめ
schroneko
67
230k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
The Limits of Empathy - UXLibs8
cassininazir
1
690
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
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 参考文献