Slide 1

Slide 1 text

直感でとらえる ネットワークの基本要素 1 TIS株式会社 萩原 学 2020/10/23 OSC 2020 Online/Fall

Slide 2

Slide 2 text

自己紹介 • 萩原 学 (HAGIWARA Manabu) – ネットワークの話が好きです • 今日の資料はこのへんにあります 2 twitter.com/ github.com/ qiita.com/ speakerdeck.com/ corestate55

Slide 3

Slide 3 text

背景・文脈 3

Slide 4

Slide 4 text

Background システムの地図を作りたい! • NWを中心に、いろいろな 要素が絡み合った複雑なシ ステム • それらのモデル化 – 自動化 – 可視化 4 モデル中心 システム設計・運用 Fig data (config) RFC8345: Network Topology Data Model Monitor Network 各種 データ ソース

Slide 5

Slide 5 text

Background: 例 5 $ bundle exec netomox check public/model/bf_trial.json | jq '.[] | select(.checkup == "link reference count of terminal-point").messages[] | select(.path|test("__Lo0")|not)' { "severity": "warn", "path": "layer3__as1border2__Gi2/0", "message": "irregular ref_count:0" } { "severity": "warn", "path": "layer3__as3core1__Gi2/0", "message": "irregular ref_count:0" } { "severity": "warn", "path": "layer3__as3core1__Gi3/0", "message": "irregular ref_count:0" } “層”のあるシステムの 構成可視化 モデル検査

Slide 6

Slide 6 text

Background: 位置づけ 6 ネットワーク構成図を考える: よい構成図はなにがよいのか https://speakerdeck.com/corestate55/osc-2020-hokkaido https://youtu.be/Vw4INUiX_n4 https://youtu.be/tRdrEN2KtYU 直観でとらえる ネットワークの基本要素 ネットワーク構成図を考える: NW図の基本とモデル指向NW図のススメ https://speakerdeck.com/corestate55/osc-2020-tokyo-spring https://youtu.be/C8L_n1oHXlM https://youtu.be/RZRphyEas4E 可視化する対象を理解する 表現(図)のわかりやすさ 可視化 今回

Slide 7

Slide 7 text

ターゲット層 7 平成26年秋期問32 リピータの特徴|基本情報技術者試験.com https://www.fe-siken.com/kakomon/26_aki/q32.html これにぱっと答えられない、 それぞれの役割や違いを うまく説明できない

Slide 8

Slide 8 text

注意事項 • 初心者・非NW担当 エンジニア向け • “ネットワーク” = TCP/IPとEthernetの話 • 厳密さよりも直感的な理解を優先 8

Slide 9

Slide 9 text

コミュニケーションの考え方 9

Slide 10

Slide 10 text

ひとりで全部やれるのであれば べつにネットワークとかいらないですね。 なぜネットワークが必要なのか? 10

Slide 11

Slide 11 text

ひとりで全部やれるわけじゃない。 複数の人が共同して何かやろうとすると それぞれの情報交換が必要になります。 11 「ネットワーク」の発生

Slide 12

Slide 12 text

ネットワーク = コミュニケーション 誰かから (source) 誰か宛に (destination) 情報を送るもの。 必ず 2人以上の登場人物(ノード) がいる 最小のネットワーク 12

Slide 13

Slide 13 text

改札前 にきて! 改札 表現する方法(言語、文字…) 伝える媒体(空気、紙…) 伝えたいこと 伝わったこと 手紙 両方が同じになってはじめて「伝わった」といえる コミュニケーション (情報伝達) 13 解釈 表現や解釈の方式・その合意 表現 発声 What is KAISATU? KAISATU

Slide 14

Slide 14 text

hoge みんなが同じルールを共有しておく • 日本語を使います • 紙に書きます • 本文の前に時候の挨拶があります • etc protocol [名] 1. 外交儀礼;(軍隊・宮廷などの)儀礼,慣習;儀礼上のしきたり,エチケット 2. ((形式))条約原案,条約議定書;補足協約,協定付随書 3. (実験などの)観察記録;《医学》プロトコル,(研究・治療などの)実施要綱 4. 《コンピュ》プロトコル,通信規約(◇ネットワークの接続手順) 5. 《哲学》プロトコール,命題(protocol proposition) 14 protocolの意味 - goo辞書 英和和英 https://dictionary.goo.ne.jp/word/en/protocol/#ej-67375 手紙

Slide 15

Slide 15 text

15 The Internet isn't a thing. It's an agreement. インターネットはモノではない。合意である。 ― David Weinberger World of Ends https://www.worldofends.com/

Slide 16

Slide 16 text

16 https://twitter.com/nabe1975/status/1311621432195997696

Slide 17

Slide 17 text

コミュニケーションのカタチ 17 何を使って情報を伝えるか (使うもの・メディア) どのような情報を伝えるか (表現・会話の決め事) どこの・誰に情報を伝えるか (相手に情報を届けるための決め事)

Slide 18

Slide 18 text

直接・対面で話をする NWの構成要素を理解しよう 18

Slide 19

Slide 19 text

メディア: 物質・物理現象 • 物理的特性・特徴に応じた使いどころがある。 – 信号減衰、ノイズ/揺らぎ、強度、コスト、…… – 光の速度を超えた情報交換はできない 会話による情報伝達の場合 • 情報の表現には日本語を使う • 情報の伝達は音声 = 空気をメディアとして使う 19 hoge

Slide 20

Slide 20 text

最小のネットワーク (糸電話モデル) • 直結されている • 相互に情報を送り合える • 片方がしゃべったことがそのまま相手に出力される • しゃべる/聞く はどちらか片方 (半二重通信) 20 • メディア = 糸と考えてみる。 hoge hoge

Slide 21

Slide 21 text

複数人で会話するには? 21 hoge

Slide 22

Slide 22 text

• みんな一続きの糸で直結されている • 糸を共有している (共有メディア) • ある人がしゃべるとほかの人がみんな聞こえる (broadcast) • ある人がしゃべっている間はほかの人はしゃべれない (半二重通信) 22 hoge hoge hoge hoge

Slide 23

Slide 23 text

23 • 部屋でしゃべるのも同様(空気モデル) 同じ部屋の人がひとつのメディアを共有する hoge

Slide 24

Slide 24 text

(原始的な)Ethernetのイメージ = 糸電話 24 実際ひとつのワイヤをみんなで共有してた。 hoge hoge hoge hoge

Slide 25

Slide 25 text

参考 The Ethernet Evolution From 10 Meg to 10 Gig How it all Works!, Hadriel Kaplan & Robert Noseworthy, Atlanta, 2001. https://www.iol.unh.edu/sites/default/files/knowledgebase/ethe rnet/ethernet_evolution.pdf 25

Slide 26

Slide 26 text

参考 26 10BASE2ケーブル | エイム電子株式会社 http://www.aim-ele.co.jp/products/10base-2/ By © Raimond Spekking / CC BY-SA 4.0 (via Wikimedia Commons) https://commons.wikimedia.org/w/index.php?curid=69527036

Slide 27

Slide 27 text

メディアの特性 • 弱くなった信号を増幅してくれる (リピータ) • コリジョンドメインを操作するものではない (L1:物理層のデバイス) • 遠いと信号が弱くなってしまう(減衰) • 信号が弱くなるとノイズの影響が大きくなる (SNR) 27 …… hoge hoge hoge ?? !

Slide 28

Slide 28 text

メディアの抽象化 28 物理実体 複数のメディア、 信号増幅やノイズ対策が必要 理想化された通信チャネル 物理特性の抽象化・ 概念的にひとつの媒体としてふるまうもの 追って出てくる L2(データリンク層)のこと

Slide 29

Slide 29 text

参考 29 Provisioning Neutron networks with the NSX-v Plugin - Superuser https://superuser.openstack.org/articles/provisioning-neutron-networks- with-the-nsx-v-plugin/ よく見る、 「ひとつの線にぶら下がっているノード」 の図は何を意味しているのか?

Slide 30

Slide 30 text

共有メディアの問題: 衝突 • 同時にしゃべっちゃう (衝突:Collision) • ぶつかったらランダムに待機してタイミングをずらす(CSMA/CD) • 衝突が起きる範囲 = Collision Domain つながってる糸(糸電話モデル)、ひとつの部屋(空気モデル) 30 えっと あの

Slide 31

Slide 31 text

共有メディアの問題: 効率 • 発言者はひとり • 人が増えると発言可能な時間が減る (衝突も増える) • メディア共有には限界がある 31 hoge あの… ちょっと おれおれ おーい もしもし ねえ

Slide 32

Slide 32 text

共有メディアの問題: 効率 • 部屋をパーティションで区切ると同時に会話できる人が増える (空気モデル) • メディアをどうにかして分割する 32 予算の件 設計書 レビュー 障害対応 新人研修

Slide 33

Slide 33 text

メディアを「区切る」 A B C D 33 hoge 話すときだけ切り離せれば A-B, C-Dが同時に会話できる。 hoge Foo Foo • しゃべりたい人のところだけつなぐ (糸電話モデル) → コリジョンドメインの分離 → 各コリジョンドメイン内は独立して会話ができる

Slide 34

Slide 34 text

(参考) A B C D 34 ブロードキャストドメイン → ブロードキャストできる範囲 → 同じメディア上にあって直接声がかけられる範囲 コリジョンドメイン → 衝突が起きる範囲

Slide 35

Slide 35 text

スイッチの登場 A B C D 35 • 高機能化… 直接会話する2点間だけ直結させる • コリジョンドメインの操作 • 最小のコリジョンドメイン: P2P • いまどきのネットワークだといちいちコリジョンドメインとか意識しません。 hoge hoge Foo Foo

Slide 36

Slide 36 text

(参考) 36 クロスバースイッチ - Wikipedia https://ja.wikipedia.org/wiki/%E3%82%AF%E3% 83%AD%E3%82%B9%E3%83%90%E3%83%BC %E3%82%B9%E3%82%A4%E3%83%83%E3%8 3%81 Switch Fabrics: Input and Output Queues and Buffers for a Switch Fabric - EtherealMind https://etherealmind.com/switch-fabric-input-output- buffers-queues/

Slide 37

Slide 37 text

パケット交換 • ここまで例示の都合上、図が回線交換っぽい感じですが、 TCP/IP/Ethernetはパケット交換です 37 ある2者/その間のパケットに 着目すると、あたかも1本の線で 結線されているかのように見える A B C D ある瞬間を切り取ると、 中間の一部分だけがスイッチされて パケットが転送されていくだけ

Slide 38

Slide 38 text

参考 • “XXハブ” – つながり方…トポロジの形態 (≠NW構成要素の機能) • ブリッジとスイッチの違い – やりたいことは同じ – 処理実体(ソフト/ハード)・冗長化機能の有無などによるちがい – ググる • どこをつなぐか、どうやって決める? – “Learning switch” とかでググる 38

Slide 39

Slide 39 text

直接つなげない人との会話 NWの構成要素を理解しよう 39

Slide 40

Slide 40 text

メディアによる制限 • 同じ「メディア」を共有していて、 直接「会話」できる。 「声」がそのまま届く範囲は限られる • 「遠くにいる」= 違う部屋にいる • 直接は会話できない あ ? 40

Slide 41

Slide 41 text

メディアによる制限を超える 41 あ ? 位置(場所) : 相手はどこにいるのか? そこまでの道のり : どんな経路で情報を届けるのか? IP (Internet Protocol)

Slide 42

Slide 42 text

IP: 郵便モデル (“住所”) 42 市 区/地域 都道府県 国 町 10.0.0.0/8 10.1.0.0/16 10.1.3.0/24 10.1.3.128/25 10.1.3.192/26 国 通信事業者A 企業α 支社 部署

Slide 43

Slide 43 text

ネットワークの “位置” 情報 • 道のり – ネットワーク間の接続関係 – 隣接関係, トポロジ • 物理的な位置 ≠ NW的な距離 • 増減したり移動したり 43 A Z X Y P Q Aから直接見える範囲には 限界がある Pに届けるには なにをどうする?

Slide 44

Slide 44 text

AはX, X経由でYQ知ってる PはYとY経由でXQ知ってる AはZとZ経由でP知ってる YはPQとP経由でZ知ってる ZはA,X知ってる YはXQとX経由でA知ってる NW接続関係の情報交換 44 私が持ってるのはAです ZとXにつながっています 私が持ってるのはZです AとPにつながっています ZはP知ってる、 XはYとY経由でPQ知ってる Q以外全部Yにおまかせ 私が持ってるのはXです AとYにつながっています PはZとZ経由でA知ってる XはAとA経由でZ知ってる 私が持ってるのはYです X,P,Qとつながっています 私が持ってるのはPです Z,Yとつながっています A Z X Y P Q Pに届けるなら Zに渡してもXに渡してもOK Zは直接Pつながってるので そっちの方が近そう 直接知ってる情報 伝聞で知ってる情報

Slide 45

Slide 45 text

よその部屋の人との会話 (起点) A: 郵便局役 B C D • Pは部屋の中にいないということが判別できる (IPアドレスから判別) • Aがほかの部屋との中継役だと知っている (デフォルトゲートウェイ) • Aいる? っていうのをみんなに聞く • Pに伝えたいことをAにわたして中継してもらう Aさん いる? おるで 45 Pと 話したいので Aに中継して もらう

Slide 46

Slide 46 text

よその部屋の人との会話 (中継点) 46 • だれがどこを管轄しているのかを常に交換し合う (動的経路制御) • インターネットではBGP4というプロトコル A Z X Y P Q Pに届けるなら Zに渡してもXに渡してもOK Zは直接Pつながってるので そっちの方が近そう

Slide 47

Slide 47 text

(余談) 経路広告とトラフィック 47 A Z XXについて知ってますぜ なるほど。じゃあ XX宛のはそっちに任せるね 経路情報と トラフィックの流れは 逆向きになる インターネット上で変な経路広告をながして障害がおきたりする • 間違えた情報を流す: ルート漏洩 • 故意に変な情報を流す: 経路ハイジャック

Slide 48

Slide 48 text

ことなる通信機能 直接つながっていない人との 全体の伝言ゲームをどうやるか 48 D A P K L M 途中でいろいろな メディアをまたぐ 直接つながっている人との 会話をどうやるか

Slide 49

Slide 49 text

技術用語との対応をとろう 49

Slide 50

Slide 50 text

Network Layer 直接つながっていない人との 全体の伝言ゲームをどうやるか → L3(IP)の世界 50 D A P あ あ K L M 途中でいろいろな メディアをまたぐ 直接つながっている人との 会話をどうやるか → L2(Ethernet)の世界

Slide 51

Slide 51 text

Network Layer Layer1: 物理層 どういうメディアを使うか。 (材質、形状、信号、…) Layer2: データリンク層 同じメディアにつながっている人 同士(隣同士)でどうやって会話を 成立させるか。 Layer4: トランスポート層 会話のしかた 51 TCP/IP Model: What is TCP IP Stack? Protocol Layers, Advantages https://www.guru99.com/tcp-ip-model.html Layer3: ネットワーク層 同じメディアでつながっていない 人同士で、どうやって会話を成立 させるか。

Slide 52

Slide 52 text

Network Layer 52 Layer1: 物理層 どういうメディアを使うか。 (材質、形状、信号、…) Layer2: データリンク層 同じメディアにつながっている人 同士(隣同士)でどうやって会話を 成立させるか。 Layer4: トランスポート層 会話のしかた TCP/IP Model: What is TCP IP Stack? Protocol Layers, Advantages https://www.guru99.com/tcp-ip-model.html Layer3: ネットワーク層 同じメディアでつながっていない 人同士で、どうやって会話を成立 させるか。 何を使って情報を伝えるか (使うもの・メディア) どのような情報を伝えるか (表現・会話の決め事) どこの・誰に情報を伝えるか (相手に情報を届けるための決め事)

Slide 53

Slide 53 text

必ずしも1:1対応ではない ややこしさ: レイヤ間の対応関係 53 L2: 理想化(抽象化)されたメディア L3: アドレス空間(サブネット)と それらの関係性 A B C D 192.168.1.0/24 2001:db8:1::/48 192.168.2.0/24 2001:db8:2::/48 A,B,C D • ひとつのL2セグメントを 複数の物理機器/メディアで 構成する • 複数のL2セグメントを ひとつの物理機器/メディア で構成する • ひとつのL3セグメント (サブネット)を 複数のL2セグメントで構成する • 複数のL3セグメントを 1つのL2セグメントで構成する L1: 物理的な実体 Wifi A B C D

Slide 54

Slide 54 text

複雑な対応関係を把握したい • NWだけでも階層がある • 仮想化技術とか、抽象化されたもの もまたひとつの階層に見えたりする – Hypervisor/そのための仮想NWなど – OpenStack/k8s等のプラットフォーム – etc • それらの関係性をわかりやすくとら えられるか? → モデル化・可視化 54 ひとつひとつの図はシンプルでも 上から下まで通して見ようとすると 複雑になってしまう やりたいこと →実体は何か・何をすべきか

Slide 55

Slide 55 text

まとめ 55

Slide 56

Slide 56 text

まとめ • ネットワーク(IP/Ethernet)はそもそも何をやり たいものなのか、イメージをつかむ。 • オンプレでもクラウドでも、こういうものの積 み重ねで成立しています。 – どこで・だれが・何を制御しているのか? – 上下左右に何と関連しているのか? 56

Slide 57

Slide 57 text

参考 57

Slide 58

Slide 58 text

関連情報 • 現役ネットワークエンジニアがインターネットの裏側に ついて語ってみました – https://youtu.be/fpXltBcfNeY • ルーターってなに? – https://youtu.be/F8yF3htWIgI 58

Slide 59

Slide 59 text

経路広告による障害 変な経路広告による障害事例(特に大規模なもの) • 2017年8月25日の大規模インターネット障害:Geekなぺーじ https://www.geekpage.jp/blog/?id=2017-8-29-1 • 世界的なインターネット障害が発生:Geekなぺーじ https://www.geekpage.jp/blog/?id=2016/6/22/1 経路ハイジャックの事例 • 経路ハイジャックされた話 (Janog36, 2015) https://www.janog.gr.jp/meeting/janog36/download_file/vie w/163/179 59