ネットワーク検証（STP）

##今回やること
STPを実際構築してみたいと思います。
CCNAでも範囲に入っているので、実際動かしてみることで深く学べたらと思います。

##使用ツール
GNS3
IOS: c2600-adventerprisek9-mz.124-17

##ネットワーク構成図
どこに何を設定していくかわかりやすくしたいので、直接priority値を書き込んでいます。
そうしないと何を設定していいかわからなくなりますので・・・
現場でもおそらく設定値を書き込んだ構成図を作成すると思うので、それになぞりたいと思います。

そしてできた構成図が下記。
![PVST.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/686507/ae8bc112-f16f-989f-22c3-eb2bc3d48d03.jpeg)

##ネットワーク構築
早速構築していきましょう。
**今回設定したいのは下記**
１．各スイッチにVLAN10,20を作成 (私の環境だとvlan databaseに入ってVLAN作成)
２．複数VLANなのでtrunkポートにする設定
３．今回はESW1をルートスイッチにするのでVLAN10,20をpriorityを最小に設定

では**ESW1**から設定を投入していきます。

```
ESW1#vlan data
ESW1(vlan)#vlan 10
VLAN 10 modified:
ESW1(vlan)#vlan 20
VLAN 20 modified:
ESW1(vlan)#apply
APPLY completed.
ESW1(vlan)#exit
APPLY completed.
Exiting....
ESW1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
ESW1(config)#int ran f1/1 - 2
ESW1(config-if-range)#sw mo tr
ESW1(config-if-range)#
*Mar  1 00:05:40.778: %DTP-5-TRUNKPORTON: Port Fa1/1-2 has become dot1q trunk
ESW1(config-if-range)#sw tr en dot1q
ESW1(config-if-range)#no sh
ESW1(config-if-range)#exit
ESW1(config)#spa v 10 pri 0
ESW1(config)#spa v 20 pri 0
ESW1(config)#end
ESW1#
```
検証環境の影響で、通常は特権で **conf t** してから**vlan 10,20**　とコマンド叩けばすぐ作れますが
いちいち**database**入る点が通常と少し異なる点でしょうか。

続いて**ESW2**の設定です。
ここではpriorityを4096で設定していきます。

```
ESW2#vlan data
ESW2(vlan)#vlan 10
VLAN 10 modified:
ESW2(vlan)#vlan 20
VLAN 20 modified:
ESW2(vlan)#app
APPLY completed.
ESW2(vlan)#exit
APPLY completed.
Exiting....
ESW2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
ESW2(config)#int ran f1/1 - 1/2
                             ^
% Invalid input detected at '^' marker.

ESW2(config)#int ran f1/1 - 2
ESW2(config-if-range)#sw mo tr
ESW2(config-if-range)#
*Mar  1 00:37:38.077: %DTP-5-TRUNKPORTON: Port Fa1/1-2 has become dot1q trunk
ESW2(config-if-range)#sw tr en dot1q
ESW2(config-if-range)#no sh
ESW2(config-if-range)#exit
ESW2(config)#spa v 10 pri 4096
ESW2(config)#spa v 20 pri 4096
ESW2(config)#end
ESW2#
```
最後に**ESW3**の設定をしていきます。
ここはPC側のアクセス設定も必要になりますので、忘れずに設定をしてあげます。
priorityは8192で設定します。

```
ESW3#vlan data
ESW3(vlan)#vlan 10
VLAN 10 modified:
ESW3(vlan)#vlan 20
VLAN 20 modified:
ESW3(vlan)#app
APPLY completed.
ESW3(vlan)#exit
APPLY completed.
Exiting....
ESW3#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
ESW3(config)#int f1/3
ESW3(config-if)#sw mo acc
ESW3(config-if)#sw acc v 10
ESW3(config-if)#no sh
ESW3(config-if)#exit
ESW3(config)#int f1/4
ESW3(config-if)#sw mo acc
ESW3(config-if)#sw acc v 20
ESW3(config-if)#no sh
ESW3(config-if)#exit
ESW3(config)#int ran f1/1 - 2
ESW3(config-if-range)#sw mo tr
ESW3(config-if-range)#sw tr
*Mar  1 00:47:50.096: %DTP-5-TRUNKPORTON: Port Fa1/1-2 has become dot1q trunk
ESW3(config-if-range)#sw tr en dot1q
ESW3(config-if-range)#no sh
ESW3(config-if-range)#exit
ESW3(config)#spa v 10 pri 8192
ESW3(config)#spa v 20 pri 8192
ESW3(config)#end
ESW3#
```
一通りの設定は完了ですね。
さて状態確認をしてみましょう。

##状態確認
ここで見たいのは、priorityの設定値の違いから各ポートの状態がどのように
なっているかを見たいところです。

**ESW1**から見てみましょう。

```
ESW1#show spa v 10 bri

VLAN10
  Spanning tree enabled protocol ieee
  Root ID    Priority    0
             Address     c801.2d60.0001
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    0
             Address     c801.2d60.0001
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

Interface                                   Designated
Name                 Port ID Prio Cost  Sts Cost  Bridge ID            Port ID
-------------------- ------- ---- ----- --- ----- -------------------- -------
FastEthernet1/1      128.42   128    19 FWD     0     0 c801.2d60.0001 128.42
FastEthernet1/2      128.43   128    19 FWD     0     0 c801.2d60.0001 128.43

ESW1#show spa v 20 bri

VLAN20
  Spanning tree enabled protocol ieee
  Root ID    Priority    0
             Address     c801.2d60.0002
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    0
             Address     c801.2d60.0002
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

Interface                                   Designated
Name                 Port ID Prio Cost  Sts Cost  Bridge ID            Port ID
-------------------- ------- ---- ----- --- ----- -------------------- -------
FastEthernet1/1      128.42   128    19 FWD     0     0 c801.2d60.0002 128.42
FastEthernet1/2      128.43   128    19 FWD     0     0 c801.2d60.0002 128.43
```
ルートスイッチに設定してあげたのでポートの状態が**FWD**である確認ができました。

続いて**ESW2**を見てみましょう。

```
ESW2#sh spa v 10 bri

VLAN10
  Spanning tree enabled protocol ieee
  Root ID    Priority    0
             Address     c801.2d60.0001
             Cost        19
             Port        42 (FastEthernet1/1)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    4096
             Address     c802.3b0c.0001
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

Interface                                   Designated
Name                 Port ID Prio Cost  Sts Cost  Bridge ID            Port ID
-------------------- ------- ---- ----- --- ----- -------------------- -------
FastEthernet1/1      128.42   128    19 FWD     0     0 c801.2d60.0001 128.42
FastEthernet1/2      128.43   128    19 FWD    19  4096 c802.3b0c.0001 128.43

ESW2#sh spa v 20 bri

VLAN20
  Spanning tree enabled protocol ieee
  Root ID    Priority    0
             Address     c801.2d60.0002
             Cost        19
             Port        42 (FastEthernet1/1)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    4096
             Address     c802.3b0c.0002
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

Interface                                   Designated
Name                 Port ID Prio Cost  Sts Cost  Bridge ID            Port ID
-------------------- ------- ---- ----- --- ----- -------------------- -------
FastEthernet1/1      128.42   128    19 FWD     0     0 c801.2d60.0002 128.42
FastEthernet1/2      128.43   128    19 FWD    19  4096 c802.3b0c.0002 128.43
```
ここでも**FWD**になっていますね。
設定通りであればf1/1がルートポート,f1/2が指定ポートになっているはずです。

最後に**ESW3**です。

```
ESW3#sh spa v 10 bri

VLAN10
  Spanning tree enabled protocol ieee
  Root ID    Priority    0
             Address     c801.2d60.0001
             Cost        19
             Port        43 (FastEthernet1/2)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    8192
             Address     c803.1be4.0001
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

Interface                                   Designated
Name                 Port ID Prio Cost  Sts Cost  Bridge ID            Port ID
-------------------- ------- ---- ----- --- ----- -------------------- -------
FastEthernet1/1      128.42   128    19 BLK    19  4096 c802.3b0c.0001 128.43
FastEthernet1/2      128.43   128    19 FWD     0     0 c801.2d60.0001 128.43
FastEthernet1/3      128.44   128    19 FWD    19  8192 c803.1be4.0001 128.44

ESW3#sh spa v 20 bri

VLAN20
  Spanning tree enabled protocol ieee
  Root ID    Priority    0
             Address     c801.2d60.0002
             Cost        19
             Port        43 (FastEthernet1/2)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    8192
             Address     c803.1be4.0002
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

Interface                                   Designated
Name                 Port ID Prio Cost  Sts Cost  Bridge ID            Port ID
-------------------- ------- ---- ----- --- ----- -------------------- -------
FastEthernet1/1      128.42   128    19 BLK    19  4096 c802.3b0c.0002 128.43
FastEthernet1/2      128.43   128    19 FWD     0     0 c801.2d60.0002 128.43
FastEthernet1/4      128.45   128    19 FWD    19  8192 c803.1be4.0002 128.45
```
対向が**ESW2**であるf1/1が**BLK**になっていますね。
ブロッキングポートであることが確認できましたので、やりたい設定はできたと思います。

##まとめ
今回は構築しただけで終わりましたが、ここから現場じゃできないような検証ができたら
面白いと思うので、CCNAの勉強をしつつ頃合いを見て実際動かしていけたらいいなと思います。
色んなプロトコルを使って構築をしていってから検証していこうと思います。
コマンドも調べながらなので、大分手こずりましたが、手を動かすのは楽しいですね。
机上の勉強に疲れたら息抜きがてら構築しようと思います。
今後検証するためにも色々なネットワークを構築したいですね。


以上です。