Speaker Deck
Speaker Deck Pro
Sign in
Sign up
for free
RIG#2-3
RIG
October 01, 2019
Technology
0
89
RIG#2-3
2019年10月01日に開催されたRIG第1回勉強会,講義枠で使用されたスライドです.一部非公開となっております.
RIG
October 01, 2019
Tweet
Share
More Decks by RIG
See All by RIG
sfcrig
0
54
sfcrig
0
30
sfcrig
0
170
Other Decks in Technology
See All in Technology
smzksts
0
160
line_developers
PRO
0
1.8k
hacker2202
0
750
hecateball
1
12k
mmarukaw
0
1.4k
line_developers
PRO
3
470
saoritakita
0
340
yuhta28
1
190
satoshirobatofujimoto
0
110
clustervr
0
160
soachr
0
150
fujiihda
2
340
Featured
See All Featured
brianwarren
83
4.7k
samlambert
237
9.9k
erikaheidi
13
4.2k
eitanlees
111
9.9k
smashingmag
229
18k
nonsquared
81
3.3k
wjessup
338
16k
sachag
267
17k
geoffreycrofte
18
770
philnash
8
480
tenderlove
52
3.4k
philhawksworth
192
8.8k
Transcript
やるぞIPv6 RIG#2-1 okin 基礎知識〜RA編
自己紹介 okin • 慶應義塾大学 環境情報学部 2年 • 電気通信事業者 2
話すこと • そもそもIPとは ◦ L2のはなしをしようか ◦ パケットフラグメンテーション • 誰がIPアドレスを割り当てるのか ◦
IANA / RIR / LIR • IPv6の基本 ◦ IPv6とは ◦ IPアドレスの種類 • IPv6アドレスの記法 • IPv6アドレスの配布 ◦ RA ◦ DHCPv6 • IPv6のセキュリティと課題,今後 3
そもそもIPとは • Internet Protocolの略称 • ネットワークにおいてパケットを中継するために用いられるプロトコル. • IPアドレスはネットワークインターフェースに割り当てられる. 4
IPの役割とは? • L2では一度に送信可能なデータのサイズに制限がある(MTU) ◦ パケット,フラグメンテーション (※)の提供 • L2で通信相手が一意に識別できるのはコリジョンドメイン内だけ. ◦ IPアドレスの提供
5 (※) L2でパケットを送信するとき, MTUに応じて分割すること
ネットワークインターフェースに割り当てられたアドレ スを確認してみよう Mac / Linux $ ip a 6 Windows
ipconfig
ループバックアドレスとは? 何故必要? • インターフェースに割り当てられるアドレスは変化する可能性がある • 自分自身と通信する時に固定のアドレスを使えると便利→ループバック どこに割り当てられている? localhostって? • 仮想ネットワークインターフェース(VIF)に割り当てられる
• localhost: ループバックアドレスを意味する→ping localhost とか打てる 7
開 公 非 Q: IPアドレスは誰が管理しているのか? 8
9 非公開
10 インターネットリソースはIANA→RIR→LIRと階層構造的に管理される from https://www.nic.ad.jp/timeline/20th/chapter6.html
IANAとは • Internet Assigned Numbers Authority • インターネット上のリソースを管理している組織 • リソースとは?
◦ IPアドレス ◦ ドメイン ◦ プロトコル番号 ◦ etc • かつてIANAの運営費用の一部はアメリカ政府の研究予算から支出されていた →インターネットの精神にそぐわないとする考え方もあった. • 現在,IANAの役割はICANNに引き継がれ,現在IANAというとICANNが遂行 するインターネット上のリソースを管理する役割を指す 11
RIR (Regional Internet Registry) とは • 世界に5つ存在 • 各自の管轄する地域にてインターネットリソースの配分,管理を行う. 12
• アフリカ: AFRINIC • 北アメリカ: ARIN • 南アメリカ: LACNIC • ヨーロッパ: RIPE NCC • アジア太平洋: APNIC form https://en.wikipedia.org/wiki/Regional_Internet_registry
NIR (National Internet Registry) とは • 世界各国に存在 (存在しない国もあり) • RIRの元で国内のインターネットリソースの配分,管理業務の一部を担う
• 日本には日本ネットワークインフォメーションセンター (JPNIC)が存在 13 from https://www.nic.ad.jp/timeline/20th/chapter3.html
• RIR,NIRなどの上位組織より,IPアドレスの分配を受け,そのポリシーに従 いエンドユーザにIPアドレスを再分配する組織. LIR (Local Internet Registry) とは 14 from
https://www.wide.ad.jp/index.html from https://www.iij.ad.jp
IPv4アドレス枯渇問題 実際には問題が少しずつ起きている • WiMAXではグローバルIPアドレスが有料オプションに • 一部のISPも同様の施策を展開 グローバルIPv4アドレスが足りない場合どう対処する? NAT (NAPT) :
Network Address Transfer(Network Address Port Transfer) • グローバルIPv4アドレスとプライベートIPv4アドレスとを相互に変換 • しかし,原理的な制約が大きく,運用が難しい • そもそもインターネットの考え方にそぐわない (End to End疎通性) • FTPなどペイロードにもIPアドレスが含まれるプロトコルへの個別対応が必要 15
実際IPv4アドレスはどれくらい足りていないのか? IANA IPv4 アドレスプールの割当状況 16 • IANAはIPv4アドレスを配り切った from https://www.nic.ad.jp/ja/stat/ip/world.html
RIRのIPv4アドレスプールは? 17 • ほとんど残っていない • LIRの保有するIPv4アド レスを使い切ると,もう 残りはない.→ IPv6
IPv6 18 ここからようやくIPv6の話
踊る”kame”を見られるか? • www.kame.netの"kame"はIPv6を使ってアクセスしたときだけ踊る • 19
IPv6とは • Internet Protocol Version 6 • Internet Protocol Version
4への後方互換性なし • 膨大なアドレス空間 (128bit) • 便利な機能が沢山 20
History 1993 IEFTでIPng(次世代IP)のワークグループが 発足 1994 候補のSIPPを元にIEFTで策定開始 1995 RFC 1883(IPv6の具体的な策定提案)公開 1998
RFC 2460(IPv6 Draft Standard)公 開.KameProject(プロトコルスタックの実装)ス タート 2003 RFC 2553(socket),RFC 3315(DHCPv6)公開 2004 RFC 3775 (移動体通信のサポート)公開 RFC 3697 (フローラベル仕様)公開 2006 RFC 4291(アドレス体系)公開 …… 2017 RFC 8200(IPv6 仕様)公開 => 標準化完了 →https://www.internetsociety.org/blog/2017/ 07/rfc-8200-ipv6-has-been-standardized/ 21
IPv4 vs IPv6 IPv4 • 32bitのアドレス長 • 約42.9億個のIPアドレス • 1つのインターフェースに
1つのIPアドレスを割 り当て可能 • NATにより複数の機器の通信が 1つのグロー バルIPアドレスで行われることが多い IPv6 • 128bitのアドレス長 (IPv4の4倍の長さ) • 約3.4×1038個のIPアドレス • 1つのインターフェースに複数の IPアドレスを 割り当て可能 • あらゆる機器にグローバル IPアドレスが行き 渡る 22
IPv6 アドレスの種類 23 IPv6アドレス • 挙動 • アドレススコープ (適用範囲) •
特殊アドレス の3つの観点から分類することが出来る.
挙動による分類 24 ユニキャストアドレス 一対一 エニーキャストアドレス 一対いずれか一 マルチキャストアドレス 一対多 from https://en.wikipedia.org/wiki/Unicast
アドレススコープによる分類 • グローバル ◦ インターネットにつながる • ローカル ◦ ローカル内につながる •
リンク ◦ リンク内につながる 25 グローバル ローカル リンク
特殊アドレス • 未指定アドレス ◦ 0000:0000:0000:0000:0000:0000:0000:0000 • ループバック ◦ ::1/128 26
IPv6 アドレスの記法 (1) • 表記は16進数で16bit毎に : (コロン)で区切る • 2001:db8::/32 •
2001:db8:0::/48 • 2001:db8:0:0::/64 • 2001:db8:0:0:0:0:0:0/128 27
IPv6 アドレスの記法 (2) • 条件を満たすと0が省略できる (RFC4291 / RFC5952) 28
コラム 実際に使われるIPv6 アドレスの種類 用途 プレフィックス RFC ループバック ::1/128 RFC 4291
グローバルユニ キャストアドレス 2000::/3 RFC 4291 ユニークローカル ユニキャストアド レス fc00::/7 RFC 4193 リンクローカルア ドレス fe00::/10 RFC 4291 マルチキャストア ドレス ff00::/8 RFC 4291 29 IPv6アドレス体系での名 称とプレフィックス
アドレス割り当ての前に 30 • IPv6ではループバックを除くインターフェースにリンク ローカルユニキャストアドレスが必須 • リンクローカルユニキャストアドレスはModified EUI-64(後述)を使ってMACアドレスから自動生成される • その後インターフェースは,グローバルユニキャストア
ドレスやユニークローカルユニキャストアドレスが割り 当てられる リンクローカルユ ニキャストアドレ スを設定する RAを受け取る (必要なら) DHCPv6サーバーか ら情報を受け取る IPアドレスが割り 当てられる
アドレスの自動割り当て技術 DHCP とは • DHCPとはDynamic Host Configuration Protocolの 略 •
IPアドレスやデフォルトゲートウェイ,DNSサー バーのIPアドレスを提供するプロトコル. IPv4ではDHCPでのみ自動割り当てが可能だった DHCPv6サーバーはステートフルの場合デフォルトゲートウェ イ以外の必要な情報を配布し,ステートレスの場合はDNS サーバーのIPアドレスやドメイン名などを配布する 31 from https://ja.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol
IPv6 アドレスの割り当て インターフェースへのIPアドレス割り当ての方法 IPv4 • 手動割り当て • DHCPサーバーによる自動割り当て IPv6 •
手動割り当て • DHCPv6サーバーによる自動割り当て • DHCPv6サーバーを用いない自動割り当て 32 NEW!!
IPv6 アドレス 自動割り当ての種類 • DHCPv6サーバーによる自動割り当て ◦ ステートフルアドレス割り当て ▪ DHCPと殆ど同じ ◦
ステートレスアドレス自動設定 • DHCPv6サーバーなし自動割り当て ◦ ステートレスアドレス自動設定 33
ステートフル / ステートレス とは • ステートフル ◦ DHCPv6サーバーが配布したIPアドレスを把握する • ステートレス
◦ そもそもDHCPv6サーバーを使用しない ◦ 使われているIPアドレスを把握しない 34
RA とは • RAとはRouter Advertisementの略で,ルーターが一定間隔でマルチキャスト しているプリフィックス情報などを含むメッセージ • DHCPサーバーを使わないステートレスアドレス自動設定の場合,DNSサー バーの情報もRAに含めることがある(RDNSS) 35
from https://network.yamaha.com/support/download/tool
RS とは • RSとはRouter Solicitationの略 • ルーターに直ちにRAを送るよう要請する 36 RS (要請)
RA (広告)
ステートレスアドレス自動設定 • ステートレスアドレス自動設定の場合,RAに含まれたプリフィックスとインター フェースIDを使ってアドレスを決定する • インターフェースIDはModified EUI-64やRFC4941のプライバシー拡張などで生成 される • 一般に前半64bitがプリフィックス,後半がインターフェースIDで構成される
37
コラム Modified EUI-64 • Modified EUI-64はMACアドレスからインターフェースIDを生成するフォー マット • 生成手順 a.
48bit長のMACアドレスを24bitずつに分割 5E:12:34: 56:78:90 b. 間にfffeを挿入 5E:12:34: FF:FE :56:78:90 c. 16進数表記なので2進数に変換して7bit目を反転する 5C:12:34:FF:FE:56:78:90 38
不正RA問題 • RA自体には認証の仕組みがないことから,同一リンク上の攻撃者が不正な RAを送ることで攻撃者のルーターを経由して通信を盗聴できる問題のこと • 対策は存在するが一般的な家庭用ルーターはサポートしていない場合が多い 39 不正RA 通信 盗聴出来る
本来の経路
まとめ • IPはインターネットを支えている • IPv4アドレスはもうそろそろ本当に枯渇する • 代わりにIPv6を策定した • IPv6のアドレスは128bit •
IPv6はRAとDHCPv6を使ってIPアドレスを自動設定する 40
IPv6を理解したい人におすすめの書籍 プロフェッショナルIPv6 著者は小川晃通博士(政策・メディア).電子版は無料で配布されている. https://professionalipv6.booth.pm/items/913273 41
参考文献(1/2) • Internet Protocol, Version 6 (IPv6) Specification,https://tools.ietf.org/html/rfc2460,(参照 2019-09-28) •
Internet Protocol, Version 6 (IPv6) Specification,https://tools.ietf.org/html/rfc8200,(参照 2019-09-28) • Basic Socket Interface Extensions for IPv6,https://tools.ietf.org/html/rfc3493,(参照 2019-09-28) • Dynamic Host Configuration Protocol for IPv6 (DHCPv6),https://tools.ietf.org/html/rfc3315,(参照 2019-09-28) • Dynamic Host Configuration Protocol for IPv6 (DHCPv6), https://tools.ietf.org/html/rfc8415,(参照 2019-09-28) • Mobility Support in IPv6,https://tools.ietf.org/html/rfc3775, (参照 2019-09-28) • Mobility Support in IPv6,https://tools.ietf.org/html/rfc6275,(参照 2019-09-28) • Unique Local IPv6 Unicast Addresses,https://tools.ietf.org/html/rfc4193, (参照 2019-09-28) • Internet Protocol Version 6 (IPv6) Addressing Architecture,https://tools.ietf.org/html/rfc4291,(参照 2019-09-28) • A Recommendation for IPv6 Address Text Representation,https://tools.ietf.org/html/rfc5952,(参照 2019-09-28) • Privacy Extensions for Stateless Address Autoconfiguration in IPv6,https://tools.ietf.org/html/rfc4941,(参照 2019-09-28) • Internet Protocol, Version 6 (IPv6) Specification,https://tools.ietf.org/html/rfc8200,(参照 2019-09-28) • Traditional IP Network Address Translator (Traditional NAT),https://tools.ietf.org/html/rfc3022,(参照 2019-09-28) • IPv6 Router Advertisement Options for DNS Configuration,https://tools.ietf.org/html/rfc6106,(参照 2019-09-28) • A Method for Generating Semantically Opaque Interface Identifiers with IPv6 Stateless Address Autoconfiguration (SLAAC),https://tools.ietf.org/html/rfc7217,(参照 2019-09-28) • SEcure Neighbor Discovery (SEND),https://tools.ietf.org/html/rfc3971,(参照 2019-09-28) • Rogue IPv6 Router Advertisement Problem Statement,https://tools.ietf.org/html/rfc6104,(参照 2019-09-28) • IPv6 Router Advertisement Guard,https://tools.ietf.org/html/rfc6105,(参照 2019-09-28) • インターネット10分講座:RFC5952 -IPv6アドレスの推奨表記 - JPNIC,https://www.nic.ad.jp/ja/newsletter/No46/0800.html,(参照 2019-09-28) 42
参考文献(2/2) • RIPE NCC IPv4 Available Pool — RIPE Network
Coordination Centre,https://www.ripe.net/manage-ips-and-asns/ipv4/ipv4-available-pool,(参照 2019-09-28) • Available IPv4 (Used),https://afrinic.net/stats/ipv4-pool,(参照 2019-09-28) • IPv4 Depletion Phases,https://www.lacnic.net/1039/2/lacnic/ipv4-depletion-phases#,(参照 2019-09-28) • Statistics & Reporting - American Registry for Internet Numbers,https://www.arin.net/reference/research/statistics/,(参照 2019-09-28) • APNIC’s IPv4 pool status - APNIC,https://www.apnic.net/community/ipv4-exhaustion/graphical-information/,(参照 2019-09-28) • スマートフォンへのIPv6導入に向けた取り組み ,http://www.soumu.go.jp/main_content/000517037.pdf,(参照 2019-09-28) • 6th Anniversary of World IPv6 Launch ~ 日本のIPv6普及状況 ~,https://blog.nic.ad.jp/2018/1790/,(参照 2019-09-28) • プロフェッショナルIPv6(無料版),https://professionalipv6.booth.pm/items/913273,(参照 2019-09-28) 43