Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ネットワーク構成図を考える: NW図の基本とモデル指向NW図のススメ / OSC_2020_T...

m.hagiwara
February 18, 2020

ネットワーク構成図を考える: NW図の基本とモデル指向NW図のススメ / OSC_2020_Tokyo_Spring

OSC 2020 Tokyo/Spring でやる予定だったセミナーの資料です。
https://www.ospn.jp/osc2020-spring/modules/eguide/event.php?eid=44
残念ながらOSC東京春は今回は中止となってしまったのでとりあえず公開しておきます。

m.hagiwara

February 18, 2020
Tweet

More Decks by m.hagiwara

Other Decks in Technology

Transcript

  1. hoge みんなが同じルールを共有しておく • 日本語を使います • 紙に書きます • 本文の前に時候の挨拶があります • etc

    protocol [名] 1. 外交儀礼;(軍隊・宮廷などの)儀礼,慣習;儀礼上のしきたり,エチケット 2. ((形式))条約原案,条約議定書;補足協約,協定付随書 3. (実験などの)観察記録;《医学》プロトコル,(研究・治療などの)実施要綱 4. 《コンピュ》プロトコル,通信規約(◇ネットワークの接続手順) 5. 《哲学》プロトコール,命題(protocol proposition) 13 protocolの意味 - goo辞書 英和和英 https://dictionary.goo.ne.jp/word/en/protocol/#ej-67375 手紙
  2. 参考 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 22
  3. 参考 23 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
  4. 参考 26 Provisioning Neutron networks with the NSX-v Plugin -

    Superuser https://superuser.openstack.org/articles/provisioning-neutron-networks- with-the-nsx-v-plugin/ よく見る、 「ひとつの線にぶら下がっているノード」 の図は何を意味しているのか?
  5. メディアを「区切る」 A B C D 29 hoge 話すときだけ切り離せれば A-B, C-Dが同時に会話できる。

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

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

    コリジョンドメインの操作 • 最小のコリジョンドメイン: P2P • いまどきのネットワークだといちいちコリジョンドメインとか意識しません。 hoge hoge Foo Foo
  8. (参考) 32 クロスバースイッチ - 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/
  9. (参考) • “XXハブ” – つながり方(トポロジ)の形態 • どこをつなぐか、どうやって決める? – “Learning switch”

    とかでググる • ブリッジとスイッチの違い – やりたいことは同じ – 処理実体(ソフト/ハード)・冗長化機能の有無などによるちがい – ググる • パケット通信と回線交換 – 例示の都合上、図が回線交換っぽい感じですが、TCP/IP/Ethernet はパケット通信なので注意 (あくまでも「直感的な理解」むけ) 33
  10. IP: 郵便モデル (“住所”) 36 市 区/地域 都道府県 国 町 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 企業X 支社 部署
  11. よその部屋の人との会話 A: 郵便局役 B C D • Pは部屋の中にいないということが判別できる (IPアドレスから判別) •

    Aがほかの部屋との中継役だと知っている (デフォルトゲートウェイ) • Aいる? っていうのをみんなに聞く • Pに伝えたいことをAにわたして中継してもらう Aさん いる? おるで 37 Pと 話したいので Aに中継して もらう
  12. ルータ: “道のり”の制御 38 P県 Q県 X区 私の管轄はX区 私の管轄は P/Q県 私の管轄は

    Z県 Z県あては↑に、 P/Q県とX区あては↓に 送ろう • だれがどこを管轄しているのかを常に交換し合う (動的経路制御) • インターネットではBGP4というプロトコル Z県 A
  13. Network Layer 直接つながっていない人との 全体の伝言ゲームをどうやるか → IPの世界の話 39 D A P

    あ あ K L M 途中でいろいろな メディアをまたぐ 直接つながっている人との 会話をどうやるか → Ethernetの世界の話
  14. Network Layer Layer1: 物理層 どういうメディアを使うか。 (材質、形状、信号、…) Layer2: データリンク層 同じメディアにつながっている人 同士(隣同士)でどうやって会話を

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

    同士(隣同士)でどうやって会話を 成立させるか。 Layer4: トランスポート層 会話のしかた TCP/IP Model: What is TCP IP Stack? Protocol Layers, Advantages https://www.guru99.com/tcp-ip-model.html Layer3: ネットワーク層 同じメディアでつながっていない 人同士で、どうやって会話を成立 させるか。 何を使って 情報を伝えるか (使うもの・メディア) どこの・誰に 情報を伝えるか どのような 情報を伝えるか (表現・会話の決め事)
  16. 必ずしも1:1対応ではない レイヤ間の対応関係 42 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
  17. 定石 • 何のために書くのか目的をはっきりさせる • 心得1: 論理構成と物理構成を分けよ • 心得2: 大胆に省略せよ •

    心得3: ルールを決めよ 45 日経NETWORK 2006年1月号 pp.22-32 わかるネットワーク図の書き方 | 日経 xTECH(クロステック) https://tech.nikkeibp.co.jp/it/article/COLUMN/20091119/340762/
  18. 定石 • 簡潔さを保つ • 物理的な概念と論理的な概念を分離する • 線を交差させない • 直線をそろえる •

    できる限り線引きする • アイコンを整列させる 46 O‘Reilly Japan - ネットワークウォリア https://www.oreilly.co.jp/books/9784873113548/
  19. 目的をはっきりさせる • 図をもとに何を知りたいのか (Read), 図で何を伝えたいのか (Write) – 人(担当者)によって必要な情報や見方は違う – 場合によっては「構成図」すら必要としていないこともある

    • 「構成図」を必要とする理由はなにか? – 通信先の何かを知りたい – どこを通るか? 暗号化の有無? 帯域? Next hop? フィルタ(Firewall)・負荷 分散・アドレス変換などの有無? • 知りたいことが含まれるような図か? – 知りたい・伝えたい情報が図の中に含まれているか? 48
  20. 図に必要な要素は何か? • NWの構成要素はいろいろある – それぞれレイヤ・機能・特徴・制約がある – どの構成要素がどう通信にかかわるかは、通信元/先(フロー)次第 – フロー =

    元/先の組み合わせ : パターンが大量にあるので検討が大変 • 図の目的に対してどんな要素が必要になるか? – 知りたいこと・そのための通信パターン・通信を実現させるために必要な機能 や情報をイメージできているか? – 動的な要素・静的な要素を分けて考える 49
  21. モデルベースに考える 50 network(topology) node termination point link ネットワークモデル化の議論から見た SDN/NFV “YANG

    祭の傍らで“ 栃尾 祐治(株式会社富士通研究所), MPLS JAPAN 2015 https://www.mpls.jp/2015/index.html RFC8345 (March 2018) https://tools.ietf.org/html/rfc8345
  22. モデルベースに考える • 目的次第なので 厳密に全部描く必要はないけど、 ポイントはある • レイヤ・ノード・リンク・端点は何か? • なにを省略したか説明できるか? •

    ルールが統一されているか? • 境界はどこか・何が変わるか • 同じものが別な表現になっていないか • 分けるべきものが識別できるか • 対向・隣接・グループ etc で整合性が 取れているか? 51 例外・ルールが変わる点、 その境界は何でどう変わるのか? 対向のレイヤ・抽象度等、 整合性が取れているか? 機能や役割、 同じグループにいるものが 統一されているか? 省略された 何か この線(リンク)は 何を意味するのか?
  23. 図の要素 = “語彙” • 色、形状、大きさ、方向、テクスチャ、位置、値、 (動き) 52 Visual Representation from

    Semiology of Graphics by J. Bertin Slides by: Sheelagh Carpendale https://innovis.cpsc.ucalgary.ca/innovis/uploads/Courses/InformationVisualizationDetails/09Bertin.pdf 視覚変数
  24. 図の要素 = “語彙” 53 色 形状 大きさ 方向 テクスチャ 位置

    値 種類 特性 関係 レベル 距離 強度 密度 順序 グループ カテゴリー (線の)長さ (線の)幅 類似性: 色・形状・大き さの似ているものはそうで ないものより関連性が高い 近接性: 要素同士が近接 しているものはそうでない ものより関連性が高い」 同調性: 同じ方向に同じ 速度で動く要素は、固定さ れた要素や異なる方向に動 く要素よりも関連性が高い 動き 文脈 ゲシュタルトの法則 (群化の法則) 重なり合い 深さ Chapter.3 ビジュアル・コンプレキシティ 情報パターンのマッピング http://www.bnn.co.jp/books/3855/
  25. 図の要素 = “語彙” 54 Jock Mackinlay. 1986. Automating the design

    of graphical presentations of relational information. ACM Trans. Graph. 5, 2 (April 1986), 110-141. 改訂版: プログラマーが効果的な可視化を作成する (前編) - Qiita https://qiita.com/keiono/items/9042bf58224ca54bdb45 違いがわかりやすいもの・ わかりにくいものがある 示したいものによって 適切な “channel” は異なる
  26. (NW図例) 色・形状・テクスチャ 55 con0 GRT Lo0: 192.168.255.1, [HENET48]:255::1/128 Gi0 Fa8

    Fa6 .201 .1 [HENET48]::1/64 .1 .1 .1 .65 Wl0 Gi0 Gi0.201 Gi0.202 BVI1 .2 Dot11radio0 Dot11radio1 0.202 1.201 [4] mgmt 192.168.4.0/24 VL104 802.11b(2.4GHz) xxxxxxxx (wpa-psk) [Key: xxxxxxx] 802.11a(5GHz) xxxxxxxx (wpa-psk) [Key: xxxxxxx] Cisco 892W lambda-edge Ap801 lambda-ap wlan11b 192.168.254.64/26 VL202 wlan11a 192.168.254.0/26 VL201 (Mgmt) 192.168.253.0/25 VL1 [HENET64]::2/64 Tu0 [HENET48]:100::201/64 ゴミ箱ルート(Null0) - 10.0.0.0/8 - 172.16.0.0/12 - 192.168.0.0/16 .194 eth1 MicroTik RB952Ui .195 802.1abgn(2.4/5GHz) (wpa-psk) rb24g, xxxxxx [Key: xxxxxxxxx] 管理アクセスユーザ admin or stereocat (localから) dhcp 192.168.88.10-254 .1 Fa0 wlan11b_1 192.168.254.192/27 VL203 VPN_POOL 192.168.254.128/26 L2 Segment (VLAN) x [x]::x/xx IPv4 Addr (last octet) IPv6 Addr (last octet) No. Interface Host Device (PC/VM) Host Routing Instance (GRT/VRF, VM) Link (GbE), Trunk/Black Link (10/100/Device Internal) Link (Serial Console) Wireless LAN Host Device (Hardware) Black/Trunk Colored/Access
  27. ESXi4 ESXi3 OSPF Area1 OSPF Area0 lambda-edge GRT Lo0: 192.168.255.1

    [HENET48]:255::1/128 lambda-core2 GRT Lo0: 192.168.255.2 [HENET48]:255::2/128 Vyatta VyattaCore6.3 Lo: 192.168.255.4 rtr6 GRT Lo0:192.168.255.8 [HENET48]:255::8/128 lambda-core1 GRT Lo0: 192.168.255.9 [HENET48]:255::9 NVR500 Vyos Vyos/1.1.0(64bit) Lo: 192.168.255.10 [100] External 192.168.100.0/24 DHCP: .2-191 .201 .1 .202 [0] Global 192.168.0.0/24 VL100 .2 .2 [252] bgpexp 192.168.252.0/30 VL600 .2 .2 [5] Global2 192.168.5.0/24 VL105 [6] CoreConnect 192.168.6.0/24 VL106 .1 [1] Internal 192.168.1.0/24 VL101 [3] NAS 192.168.3.0/24 VL103 上流/外部 セキュリティ低 (NW図例) 方向・位置 56 ESXi4 ESXi3 OSPF Area1 OSPF Area0 lambda-edge GRT Lo0: 192.168.255.1 [HENET48]:255::1/128 lambda-core2 GRT Lo0: 192.168.255.2 [HENET48]:255::2/128 Vyatta VyattaCore6.3 Lo: 192.168.255.4 rtr6 GRT Lo0:192.168.255.8 [HENET48]:255::8/128 lambda-core1 GRT Lo0: 192.168.255.9 [HENET48]:255::9 NVR500 Vyos Vyos/1.1.0(64bit) Lo: 192.168.255.10 [100] External 192.168.100.0/24 DHCP: .2-191 .201 .1 .202 [0] Global 192.168.0.0/24 VL100 .2 .2 [252] bgpexp 192.168.252.0/30 VL600 .2 .2 [5] Global2 192.168.5.0/24 VL105 [6] CoreConnect 192.168.6.0/24 VL106 .1 [1] Internal 192.168.1.0/24 VL101 [3] NAS 192.168.3.0/24 VL103 下流/内部 セキュリティ高 冗長系 (primary) 冗長系 (secondary) 外部 セグメント 内部 セグメントB ファイルサーバ セグメント 内部 セグメントA 境界ルータ (NAT/Firewall) コアスイッチ
  28. (NW図例) 色・形状・テクスチャ 57 今年のみどころ・体験する | Interop Tokyo 2019 (インターロップ東京 2019)

    https://www.interop.jp/2019/shownet/point/ https://www.interop.jp/common/june/img/sho wnet/point/shownet_topology.pdf
  29. (NW図例) 色・形状・テクスチャ 58 上流/外部 集中/中心 Backbone Core 分散 Edge 分散

    Edge 紙面全体を使うため Edge(下流)をグループ分け 縦横でレイアウト 外部接続は省略して大まかな構造だけ 横位置そろえて対称におくことで 類似のものであることを示す
  30. 参考 (ShowNet) • 「いかにA3に収めるか」 • 全体を見渡すことができる • 運用に必要な情報が網羅され ている •

    まとまっている • 目線移動が自然 • 説明が不要であること • 箱の配置をトポロジレイヤで 揃えること • ヒモを曲げないこと • ヒモの交差を最小にすること • 色に統一感とメリハリを与え ること • 冗長な情報をできるだけ排除 すること 59 Interopのネットワーク図を描くエンジニア:Geekなぺーじ https://www.geekpage.jp/blog/?id=2010/6/10/2 図面とともにあらんことを!:第二面 - ネットワークのゲンバ (2014) | Interop Tokyo 2014 https://www.f2ff.jp/interop/2014/noc/shownet-topology- map_4.php 実例解説あり
  31. Topology Node Link TP 図のルール: モデル(構造・役割・意味)と視覚変数 (図としての表現)の変換・対応付け 60 色 形状

    大きさ 方向 テクスチャ 位置 値 動き 例の対応 こういう作り にしたい なるほど アレとコレを そうする 視覚変数 NW図 モデル やりたいことが図を介して「伝わる」こと 共通認識
  32. そのうえで • 簡潔さ / 省略 – 情報量と複雑さのコントロール – “塩漬け” にならないこと

    (更新のしやすさ) • 検索性・視認性 – 「どこに何があるか」か見てわかる/検索できる • 文字のサイズとレイアウト・重なり合い・隙間 : 印刷時は要注意 • 拡張性(スケーラビリティ) – 要素の増減に対応できるか? – 増減があるものはそれを見越した図にしておく 61
  33. レイヤ別NW図のメリット・デメリット • ◎ 簡潔さ • × 図(レイヤ)間対応関係の理解 – L2など N:M

    にマップされるものを図で表現 するのは難しい – とはいえ実際の作業では必須で、 レイヤ串刺しにして作業や設定を考えている • × システム全体の把握 – ある側面・ある部分での理解にとどまりがち 62 ひとつひとつの図はシンプルでも 上から下まで通して見ようとすると 複雑になってしまう やりたいこと →実体は何か・何をすべきか
  34. 目指す世界 • 構成図 “職人芸” からの脱却 – 人による「図」読み書きの機械化 • 人も機械も読み書きできる ネットワーク図と、

    図を基にした自動化システムとか できないものか? モデル中心 システム設計・運用 Fig data (config) RFC8345: Network Topology Data Model Monitor Network 各種 データ ソース 65
  35. Fig RFC8345 Topology data Network 利用者 (NWオペレータ) 自動化・テスト・ シミュレーション CMDBなど

    各種データソース トポロジ エディタ 考えたいこと 66 モデル中心の設計・設定・構成変更 構築・本番作業前の事前チェック・テスト・シミュレーションへの応用 「図を書いたらその通りのシステムができる」へ
  36. NW図を読み書きする • NWの構成要素とその役割を理解する • 図の目的を決める • モデルを意識して「図のルール」を決める – ノード/リンクとその端点, 対向同士の整合性

    – レイヤ・役割・グループ、それが変化するポイント(境界) – 異なる観点の図: その間で何がどう対応しているのか – それらの視覚的表現(視覚変数への変換)の統一 69