直観でとらえるネットワークの基本要素 / OSC_2020_Online_Fall

B2a04c1ec959edba430bcb38ca6ffc81?s=47 m.hagiwara
October 21, 2020

直観でとらえるネットワークの基本要素 / OSC_2020_Online_Fall

直感でとらえるネットワークの基本要素 - セミナープログラム - オープンソースカンファレンス2020 Online/Fall
https://event.ospn.jp/osc2020-online-fall/session/204763

B2a04c1ec959edba430bcb38ca6ffc81?s=128

m.hagiwara

October 21, 2020
Tweet

Transcript

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

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

    2 twitter.com/ github.com/ qiita.com/ speakerdeck.com/ corestate55
  3. 背景・文脈 3

  4. Background システムの地図を作りたい! • NWを中心に、いろいろな 要素が絡み合った複雑なシ ステム • それらのモデル化 – 自動化

    – 可視化 4 モデル中心 システム設計・運用 Fig data (config) RFC8345: Network Topology Data Model Monitor Network 各種 データ ソース
  5. 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" } “層”のあるシステムの 構成可視化 モデル検査
  6. 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 可視化する対象を理解する 表現(図)のわかりやすさ 可視化 今回
  7. ターゲット層 7 平成26年秋期問32 リピータの特徴|基本情報技術者試験.com https://www.fe-siken.com/kakomon/26_aki/q32.html これにぱっと答えられない、 それぞれの役割や違いを うまく説明できない

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

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

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

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

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

    がいる 最小のネットワーク 12
  13. 改札前 にきて! 改札 表現する方法(言語、文字…) 伝える媒体(空気、紙…) 伝えたいこと 伝わったこと 手紙 両方が同じになってはじめて「伝わった」といえる コミュニケーション

    (情報伝達) 13 解釈 表現や解釈の方式・その合意 表現 発声 What is KAISATU? KAISATU
  14. hoge みんなが同じルールを共有しておく • 日本語を使います • 紙に書きます • 本文の前に時候の挨拶があります • etc

    protocol [名] 1. 外交儀礼;(軍隊・宮廷などの)儀礼,慣習;儀礼上のしきたり,エチケット 2. ((形式))条約原案,条約議定書;補足協約,協定付随書 3. (実験などの)観察記録;《医学》プロトコル,(研究・治療などの)実施要綱 4. 《コンピュ》プロトコル,通信規約(◇ネットワークの接続手順) 5. 《哲学》プロトコール,命題(protocol proposition) 14 protocolの意味 - goo辞書 英和和英 https://dictionary.goo.ne.jp/word/en/protocol/#ej-67375 手紙
  15. 15 The Internet isn't a thing. It's an agreement. インターネットはモノではない。合意である。

    ― David Weinberger World of Ends https://www.worldofends.com/
  16. 16 https://twitter.com/nabe1975/status/1311621432195997696

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

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

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

    情報の表現には日本語を使う • 情報の伝達は音声 = 空気をメディアとして使う 19 hoge
  20. 最小のネットワーク (糸電話モデル) • 直結されている • 相互に情報を送り合える • 片方がしゃべったことがそのまま相手に出力される • しゃべる/聞く

    はどちらか片方 (半二重通信) 20 • メディア = 糸と考えてみる。 hoge hoge
  21. 複数人で会話するには? 21 hoge

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

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

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

  25. 参考 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
  26. 参考 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
  27. メディアの特性 • 弱くなった信号を増幅してくれる (リピータ) • コリジョンドメインを操作するものではない (L1:物理層のデバイス) • 遠いと信号が弱くなってしまう(減衰) •

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

  29. 参考 29 Provisioning Neutron networks with the NSX-v Plugin -

    Superuser https://superuser.openstack.org/articles/provisioning-neutron-networks- with-the-nsx-v-plugin/ よく見る、 「ひとつの線にぶら下がっているノード」 の図は何を意味しているのか?
  30. 共有メディアの問題: 衝突 • 同時にしゃべっちゃう (衝突:Collision) • ぶつかったらランダムに待機してタイミングをずらす(CSMA/CD) • 衝突が起きる範囲 =

    Collision Domain つながってる糸(糸電話モデル)、ひとつの部屋(空気モデル) 30 えっと あの
  31. 共有メディアの問題: 効率 • 発言者はひとり • 人が増えると発言可能な時間が減る (衝突も増える) • メディア共有には限界がある 31

    hoge あの… ちょっと おれおれ おーい もしもし ねえ
  32. 共有メディアの問題: 効率 • 部屋をパーティションで区切ると同時に会話できる人が増える (空気モデル) • メディアをどうにかして分割する 32 予算の件 設計書

    レビュー 障害対応 新人研修
  33. メディアを「区切る」 A B C D 33 hoge 話すときだけ切り離せれば A-B, C-Dが同時に会話できる。

    hoge Foo Foo • しゃべりたい人のところだけつなぐ (糸電話モデル) → コリジョンドメインの分離 → 各コリジョンドメイン内は独立して会話ができる
  34. (参考) A B C D 34 ブロードキャストドメイン → ブロードキャストできる範囲 →

    同じメディア上にあって直接声がかけられる範囲 コリジョンドメイン → 衝突が起きる範囲
  35. スイッチの登場 A B C D 35 • 高機能化… 直接会話する2点間だけ直結させる •

    コリジョンドメインの操作 • 最小のコリジョンドメイン: P2P • いまどきのネットワークだといちいちコリジョンドメインとか意識しません。 hoge hoge Foo Foo
  36. (参考) 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/
  37. パケット交換 • ここまで例示の都合上、図が回線交換っぽい感じですが、 TCP/IP/Ethernetはパケット交換です 37 ある2者/その間のパケットに 着目すると、あたかも1本の線で 結線されているかのように見える A B

    C D ある瞬間を切り取ると、 中間の一部分だけがスイッチされて パケットが転送されていくだけ
  38. 参考 • “XXハブ” – つながり方…トポロジの形態 (≠NW構成要素の機能) • ブリッジとスイッチの違い – やりたいことは同じ

    – 処理実体(ソフト/ハード)・冗長化機能の有無などによるちがい – ググる • どこをつなぐか、どうやって決める? – “Learning switch” とかでググる 38
  39. 直接つなげない人との会話 NWの構成要素を理解しよう 39

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

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

    IP (Internet Protocol)
  42. 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 企業α 支社 部署
  43. ネットワークの “位置” 情報 • 道のり – ネットワーク間の接続関係 – 隣接関係, トポロジ

    • 物理的な位置 ≠ NW的な距離 • 増減したり移動したり 43 A Z X Y P Q Aから直接見える範囲には 限界がある Pに届けるには なにをどうする?
  44. 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つながってるので そっちの方が近そう 直接知ってる情報 伝聞で知ってる情報
  45. よその部屋の人との会話 (起点) A: 郵便局役 B C D • Pは部屋の中にいないということが判別できる (IPアドレスから判別)

    • Aがほかの部屋との中継役だと知っている (デフォルトゲートウェイ) • Aいる? っていうのをみんなに聞く • Pに伝えたいことをAにわたして中継してもらう Aさん いる? おるで 45 Pと 話したいので Aに中継して もらう
  46. よその部屋の人との会話 (中継点) 46 • だれがどこを管轄しているのかを常に交換し合う (動的経路制御) • インターネットではBGP4というプロトコル A Z

    X Y P Q Pに届けるなら Zに渡してもXに渡してもOK Zは直接Pつながってるので そっちの方が近そう
  47. (余談) 経路広告とトラフィック 47 A Z XXについて知ってますぜ なるほど。じゃあ XX宛のはそっちに任せるね 経路情報と トラフィックの流れは

    逆向きになる インターネット上で変な経路広告をながして障害がおきたりする • 間違えた情報を流す: ルート漏洩 • 故意に変な情報を流す: 経路ハイジャック
  48. ことなる通信機能 直接つながっていない人との 全体の伝言ゲームをどうやるか 48 D A P K L M

    途中でいろいろな メディアをまたぐ 直接つながっている人との 会話をどうやるか
  49. 技術用語との対応をとろう 49

  50. Network Layer 直接つながっていない人との 全体の伝言ゲームをどうやるか → L3(IP)の世界 50 D A P

    あ あ K L M 途中でいろいろな メディアをまたぐ 直接つながっている人との 会話をどうやるか → L2(Ethernet)の世界
  51. 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: ネットワーク層 同じメディアでつながっていない 人同士で、どうやって会話を成立 させるか。
  52. 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: ネットワーク層 同じメディアでつながっていない 人同士で、どうやって会話を成立 させるか。 何を使って情報を伝えるか (使うもの・メディア) どのような情報を伝えるか (表現・会話の決め事) どこの・誰に情報を伝えるか (相手に情報を届けるための決め事)
  53. 必ずしも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
  54. 複雑な対応関係を把握したい • NWだけでも階層がある • 仮想化技術とか、抽象化されたもの もまたひとつの階層に見えたりする – Hypervisor/そのための仮想NWなど – OpenStack/k8s等のプラットフォーム

    – etc • それらの関係性をわかりやすくとら えられるか? → モデル化・可視化 54 ひとつひとつの図はシンプルでも 上から下まで通して見ようとすると 複雑になってしまう やりたいこと →実体は何か・何をすべきか
  55. まとめ 55

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

    上下左右に何と関連しているのか? 56
  57. 参考 57

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

    58
  59. 経路広告による障害 変な経路広告による障害事例(特に大規模なもの) • 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