Drawでネットワーク図作成

[LibreOffice Advent Calendar 2015](http://www.adventar.org/calendars/949)の12月16日のネタです。
前回は、Naruhiko Ogasawaraさんの[関東LibreOffice忘年会2015を開催してきた](http://naruoga.hatenablog.com/entry/2015/12/15/130832)でした。

ネットワーク図をDrawで作ってみようと思います。
今回は非常に簡略化された論理構成図になります。

まずは完成図
![Network.png](https://qiita-image-store.s3.amazonaws.com/0/24550/dc029283-58c4-5cf1-317e-64de5de15570.png)

- LibreOffice という会社
- お部屋は1つ
- Tableは2つ
- PCは一人１台 
- 従業員は5名
    - Writer
    - Calc
    - Impress
    - Draw
    - Base
- TableそれぞれにHubが１つずつ合計2台


##用紙設定
用紙設定をしていきます。
1. LibreOffice Drawを立ち上げます。
2. 書式 > ページ > ページ設定　で印刷の向きを[横]にして[OK]
3. Drawの画面の中央の上の[グリッド線] ボタンを押しグリッド線を表示させます。
4. ツール > LibreOfficeのオプション > LibreOffice Draw > 一般で [縮尺]を1:50に
これで用紙設定は終了です。

##縮尺線を描く
左下から3マス上ぐらいに縮尺線を描いてみましょう。
1. 画面左側の図形描画から線と矢印から縮尺線を選びます。
2. 1マス分だけ縮尺線を描きます。
3. 1:50なので50倍の大きさの50cmと表示されています。


##間取りレイヤー
レイヤーは一番動かぬものから順番に作っていきます。
一番動きそうにないもの、それは壁とドアと窓。
つまり間取りですね。

挿入 > レイヤー　で間取りレイヤーを作成します。

- 名前
    - Floor
- タイトル
    - Floor
- 説明
    - 間取り、壁や窓やドア

とでも書いて置きましょう。

今回は窓もドアも書くの面倒なので、四角のお部屋を作ります。

1. 画面左横の図形描画ツールバーから四角を選び画面いっぱいに描画する。
2. 描画した四角を右クリック > 領域
3. 塗りつぶしを なし にする。
4. 同じ四角を右クリック > 線
5. 色　を　黒に
6. 幅　を　0.20cm にする
7.  縮尺線を部屋の縦と横に一杯に書きます。
    1. これにより部屋のだいたいの大きさが分かります。
8. Floorレイヤーをロックします。
    1. Floorレイヤーを右クリック > レイアーの変更 
    2. ロックするにチェックを入れてOKを押す。
    

##家具レイヤー
次は家具です。
机や棚といったものです。

1. 挿入 > レイヤー　で間取りレイヤーを作成します。
    - 以下のように入力します。
    - 名前
      - Furniture
    - タイトル
      - Furniture
    - 説明
      - 家具レイヤー、机や棚
2. 真ん中に楕円の机を2つ描きます。
    1. 画面左横の図形描画ツールバーから楕円を選び、お部屋に入る適当な大きさの楕円を2つ描きます。
3. 右上部分に戸棚を2つ作ります。
    1. 画面左横の図形描画ツールバーから四角を選び適当な大きさの棚を作ります。
4. 編集が終わったら家具レイヤーの編集をロックしておきます。

##ネットワークレイヤー
PCとHub、ルーターと大まかなネットワークケーブルを書きます。

1. 挿入 > レイヤー　で間取りレイヤーを作成します。
    - 名前
        - Network
    - タイトル
        - Newtork
    - 説明
        - ネットワークレイヤー、PCとHub、ルーター
2. 左側のテーブルにPCを3つ並べます。
    1. 画面右側のクリップアートギャラリーを開く
    2. コンピューターのフォルダーの中にLaptopがあるので、それをドラッグ
    3. 適当な大きさに縮小しましょう
    4. Ctrlを押しながらドラッグするとコピーされていきます。
    5. 右側のテーブルに3つ、左側のテーブルに2つ並べます。
3. テーブルの上にHubを置きます。
    4. 内蔵のClipArtにはHubは無いので[OpenClipArt](https://openclipart.org/search/?query=hub)に行きます。
    5. hubを検索済みの状態でブラウザーが上がってきます。
    6. 5port hubをクリック
    6. Downloadを押してダウンロードします。
    7. ダウンロードしたsvgファイルを挿入します。
    8. Drawの画面で挿入　> 画像 > ダウンロードしたSVGファイルを選択
    9. 用紙に挿入されます。
    10. 形を整えて右側テーブルと左側テーブルに2つ並べます。
    11. 右側Hubをダブルクリックして文字を入力します。
        - Major Hub と入力
    12. 同様に左側Hubにも文字を入力
        - Minor Hub と入力  
6. お部屋の左下すみにルーターを置きます。
    1. Drawの画面右側からクリップアートギャラリーを開く
    2. コンピューターのフォルダーの中の一番下のWirelessAccessPointを用紙にドラッグ
    3. 形を整えて左下隅に配置します。
7. ルーターと右側テーブルのHubをコネクターでつなぎます。
    1. Drawウインドウ左側の図形描画からコネクターを選択
    2. ルータとMajor Hubを接続します。
8. 左側テーブルのHubを右側テーブルのHubにコネクターでつなぎます。
    1. Drawウインドウ左側の図形描画からコネクターを選択
    2. Major HubとMinor Hubを接続します。
9. 編集が終わったらネットワークレイヤーの編集をロックしておきます。


##従業員レイヤー
PCの上に従業員の名前を書いていきます。

1. 挿入 > レイヤー　で間取りレイヤーを作成します。
    - 下記のように入力します。
    - 名前
        - Employee
    - タイトル
        - Employee
    - 説明
        - 従業員レイヤー,従業員の座席を示す
2. 画面中央の上のTextボックスで挿入していきます。
   - 下記のように入力
   - 右側テーブル
     - Writer
     - Calc
     - Impress
   - 左側テーブル
     - Draw
     - Base

以上で出来上がりです。

##レイヤーに分けるのは何故？
フロアの間取りはそう変わりません。
人事異動によって人の配置はコロコロ変わるものです。
変わらないものと変わるものを分けておけば、
変更時に変更箇所が少なくなり作業が早くなります。

変更時には従業員レイヤーとネットワークレイヤーだけを編集すればいいのです。

##ネットワーク図って必要？
必要です。
理由は2点

- ネットワークの把握
- 障害時の手掛かり

###ネットワークの把握
どのHubがどのネットワークに繋がっているなんていちいち覚えてられません。
企業レベルになれば尚更です。

####人に説明する資料
会社のネットワークを人に説明する時どうしますか？
フリーハンドでネットワーク図を書いていますよね。
結局、人に説明する資料としてのネットワーク図が必要なんです。

###障害時の手掛かり
ある島のHubだけ全てのPCでインターネットができないといったことは無いでしょうか？
ループによる暴走は置いて置いて下記の原因が考えられます。

- 上流のLANケーブルの断線
- Hubの電源が抜けている

例えば、
従業員Base君がネットに接続できないと連絡があり、
Draw君へもpingが通らないとなると
Minor Hubに問題があると判断できる。

![problem.png](https://qiita-image-store.s3.amazonaws.com/0/24550/3424609e-3842-0d93-17ed-4e452456f079.png)


もう現場に行く前に対応が分かってしまうわけだ。

ネットワーク図で把握していないと、
現場で現状を把握してからの対応になるので時間が掛かってしまう。

##まとめ

- ネットワーク図はネットワークの把握に必要不可欠。
- グリッドと縮尺を設定すればCADのような正確な図を書ける
- レイヤーを活用すること
- レイヤーは動かぬもの、つまり間取から順番に

##より深く学ぶために

[心得1　論理構成と物理構成を分けよ- わかるネットワーク図の書き方](http://itpro.nikkeibp.co.jp/article/COLUMN/20091119/340709/?ST=network&P=1)

##Advent Calenderの次の投稿
Naruhiko Ogasawaraさんの
[Ubuntu WilyのシステムPython3でLibreOfficeをコントロール](http://naruoga.hatenablog.com/entry/2015/12/16/211558)
です。