PVSTの設定
・VLANごとにルート・ブリッジとブロッキング・ポートを変える
・異なるVLANのトラフィックが別々のリンクを通るようにする(トラフィックの負荷分散)
ネットワーク構成(画像を別ウインドウで表示)
SwitchAのコンフィグ
!
version 12.1
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname SwitchA
!
spanning-tree mode pvst ←PVSTを有効にする(このコマンドはデフォルトで入っている)
no spanning-tree optimize bpdu transmission
spanning-tree extend system-id
spanning-tree vlan 10 priority 0 ←VLAN10のブリッジ・プライオリティを0に設定する
spanning-tree vlan 20 priority 4096 ←VLAN20のブリッジ・プライオリティを4096に設定する
!
interface FastEthernet0/1
switchport trunk allowed vlan 10,20
switchport mode trunk
!
interface FastEthernet0/2
switchport trunk allowed vlan 10,20
switchport mode trunk
!
interface Vlan1
no ip address
no ip route-cache
shutdown
!
line con 0
line vty 0 4
login
line vty 5 15
login
!
end
SwitchBのコンフィグ
!
version 12.1
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname SwitchB
!
spanning-tree mode pvst ←PVSTを有効にする(このコマンドはデフォルトで入っている)
spanning-tree extend system-id
spanning-tree vlan 10 priority 4096  ←VLAN10のブリッジ・プライオリティを4096に設定する
spanning-tree vlan 20 priority 0  ←VLAN20のブリッジ・プライオリティを0に設定する
!
interface FastEthernet0/1
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 10,20
switchport mode trunk
no ip address
!
interface FastEthernet0/2
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 10,20
switchport mode trunk
no ip address
spanning-tree vlan 20 port-priority 64  ←このポートではVLAN20のポート・プライオリティを46にする
!
interface Vlan1
no ip address
shutdown
!
line con 0
line vty 0 4
login
line vty 5 15
login
!
end
確認
PVSTは,VLANごとにSTPツリーを作る機能です。
スパニング・ツリーでは,スイッチのブリッジID値のみで1台のルート・ブリッジが決まります。
そこで,VLANごとにルート・ブリッジを変更できるようにしたのがPVSTです。
VLANごとに使うルートを変更できるので,トラフィックの負荷分散ができます。

●設定の確認
ネットワークは,SwitchAとSwitchBの2台のスイッチを2本のケーブルでつないだ構成です。
スイッチ同士を2本のケーブルでつないでいるので,STPでループをブロックします。
このときVLAN10とVLAN20で別々のリンクがブロックされるようにして,VLANごとにトラフィックを分散させます。

シスコのスイッチは,デフォルトで以下のコマンドが入っており,起動時にPVSTが動いています。

spanning-tree mode pvst

SwitchAとSwitchBをつなぐリンクはトランク・リンクにして,VLAN10とVLAN20のトラフィックを通過させます。
そのためのコマンドは以下です。
なお,VLAN10とVLAN20はすでに作成済みです。

switchport trunk encapsulation dot1q
switchport trunk allowed vlan 10,20
switchport mode trunk


※ちなみにここで使ったSwitchAは,トランク方式にIEEE802.1Qしかサポートしていないので(Catalyst2950),switchport trunk encapsulation dot1qコマンドは入っていません。

●設定前の状態を確認
以上の設定をした状態で,スパニング・ツリーの状態を確認してみましょう。
SwitchAの状態は以下です。
VLAN10とVLAN20で別々に状態が表示されます。

SwitchA#show spanning-tree

VLAN0010
 Spanning tree enabled protocol ieee
 Root ID  Priority  32778
        Address   000a.8a0d.4180
        This bridge is the root
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec

 Bridge ID Priority  32778 (priority 32768 sys-id-ext 10)
        Address   000a.8a0d.4180
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec
        Aging Time 300

Interface       Role Sts  Cost     Prio.Nbr  Type
---------------- ---- --- --------- -------- ----------------
Fa0/1         Desg FWD  19      128.1   P2p
Fa0/2         Desg FWD  19      128.2   P2p



VLAN0020
 Spanning tree enabled protocol ieee
 Root ID  Priority  32788
        Address   000a.8a0d.4180
        This bridge is the root
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec

 Bridge ID Priority  32788 (priority 32768 sys-id-ext 20)
        Address   000a.8a0d.4180
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec
        Aging Time 300

Interface       Role Sts  Cost     Prio.Nbr  Type
---------------- ---- --- --------- -------- ----------------
Fa0/1         Desg FWD  19      128.1   P2p
Fa0/2         Desg FWD  19      128.2   P2p


VLAN10もVLAN20もSwitchAがルート・ブリッジになっているのがわかります。
これは,VLAN10であれVLAN20であれ,ブリッジID値が小さいSwitchAがルート・ブリッジになっているからです。
(両スイッチのブリッジ・プライオリティ値は同じになるので,この場合,SwitchAのMACアドレス000a.8a0d.4180と,SwitchBのMACアドレス000e.d7f6.9180を比較して,小さい値を持つSwitchAがルート・ブリッジになります。)

SwitchBの状態も確認しておきましょう。

SwitchB#show spanning-tree

VLAN0010
 Spanning tree enabled protocol ieee
 Root ID  Priority  32778
        Address   000a.8a0d.4180
        Cost    19
        Port    1 (FastEthernet0/1)
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec

 Bridge ID Priority  32778 (priority 32768 sys-id-ext 10)
        Address   000e.d7f6.9180
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec
        Aging Time 300

Interface       Role Sts   Cost    Prio.Nbr  Type
---------------- ---- --- --------- -------- -----------------
Fa0/1         Root  FWD  19     128.1    P2p
Fa0/2         Altn  BLK  19     128.2    P2p


VLAN0020
 Spanning tree enabled protocol ieee
 Root ID  Priority  32788
        Address   000a.8a0d.4180
        Cost    19
        Port    1 (FastEthernet0/1)
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec

 Bridge ID Priority  32788 (priority 32768 sys-id-ext 20)
        Address   000e.d7f6.9180
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec
        Aging Time 300

Interface       Role Sts  Cost     Prio.Nbr  Type
---------------- ---- --- --------- -------- ------------------
Fa0/1         Root FWD  19      128.1   P2p
Fa0/2         Altn BLK  19      128.2   P2p


VLAN10,VLAN20とも,Fa0/2がブロッキング・ポートになっているのがわかります。
これでは,VLAN10もVLAN20も同じリンクを使うことになるので,負荷分散になりません。

●VLANごとにブリッジ・プライオリティを設定する
PVSTの機能を利用して,VLANごとにブリッジ・プライオリティを変えて,VLANごとにルート・ブリッジが変わるようにしましょう。
ここでは,VLAN10ではSwitchAが,VLAN20ではSwitchBが,ルート・ブリッジになるようにします。

SwitchAには以下の設定をします。
VLAN10のブリッジ・プライオリティを0,VLAN20のブリッジ・プライオリティを4096に設定します。

SwitchA(config)#spanning-tree vlan 10 priority 0
SwitchA(config)#spanning-tree vlan 20 priority 4096


SwitchBの設定は以下です。
VLAN10のブリッジ・プライオリティを4096,VLAN20のブリッジ・プライオリティを0に設定します。

SwitchB(config)#spanning-tree vlan 10 priority 4096
SwitchB(config)#spanning-tree vlan 20 priority 0


これで,VLAN10ではSwitchAが,VLAN20ではSwitchBが,ルート・ブリッジになるはずです。

●設定後の状態を確認
設定後のそれぞれのスイッチのスパニング・ツリーの状態を見てみましょう。
スイッチAでは,VLAN10でルート・ブリッジになっているのがわかります(赤字の部分)。

SwitchA#show spanning-tree

VLAN0010
 Spanning tree enabled protocol ieee
 Root ID  Priority  10
        Address   000a.8a0d.4180
        This bridge is the root
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec

 Bridge ID Priority  10   (priority 0 sys-id-ext 10)
        Address   000a.8a0d.4180
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec
        Aging Time 300

Interface       Role Sts  Cost     Prio.Nbr  Type
---------------- ---- --- --------- -------- -------------------
Fa0/1         Desg FWD  19      128.1   P2p
Fa0/2         Desg FWD  19      128.2   P2p


VLAN0020
 Spanning tree enabled protocol ieee
 Root ID  Priority  20
        Address   000e.d7f6.9180
        Cost    19
        Port    1 (FastEthernet0/1)
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec

 Bridge ID Priority  4116  (priority 4096 sys-id-ext 20)
        Address   000a.8a0d.4180
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec
        Aging Time 15

Interface       Role Sts  Cost     Prio.Nbr  Type
---------------- ---- --- --------- -------- -------------------
Fa0/1         Root FWD  19      128.1   P2p
Fa0/2         Altn  BLK  19      128.2   P2p


SwitchBではどうでしょうか。
見てみると,VLAN20でルート・ブリッジになっているのがわかります(赤字の部分)。

SwitchB#show spanning-tree

VLAN0010
 Spanning tree enabled protocol ieee
 Root ID  Priority  10
        Address   000a.8a0d.4180
        Cost    19
        Port    1 (FastEthernet0/1)
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec

 Bridge ID Priority  4106  (priority 4096 sys-id-ext 10)
        Address   000e.d7f6.9180
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec
        Aging Time 300

Interface       Role Sts  Cost     Prio.Nbr  Type
---------------- ---- --- --------- -------- --------------------
Fa0/1         Root FWD  19      128.1   P2p
Fa0/2         Altn  BLK  19      128.2   P2p


VLAN0020
 Spanning tree enabled protocol ieee
 Root ID  Priority  20
        Address   000e.d7f6.9180
        This bridge is the root
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec

 Bridge ID Priority  20   (priority 0 sys-id-ext 20)
        Address   000e.d7f6.9180
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec
        Aging Time 300

Interface       Role Sts  Cost     Prio.Nbr  Type
---------------- ---- --- --------- -------- --------------------
Fa0/1         Desg FWD  19      128.1   P2p
Fa0/2         Desg FWD  19      128.2   P2p


ここで,それぞれのVLANのブロッキング・ポートに注目します。
VLAN10では,SwitchBのFa0/2がブロッキング・ポートになっています(上のSwitchBの青字の部分)。
状態は以下のようになっています。

 【VLAN10の構成】



VLAN20では,SwitchAのFa0/2がブロッキング・ポートになっています(上のSwitchAの青字の部分)。
SwitchAがルート・ポートを選んだ理由は,以下のようになります。
ルート・ポートは,ルート・ブリッジに一番近いポートになります。
ただこの場合,いずれのリンクもコストは同じなので,決着がつきません。
そこで次に,ブリッジID値が最も小さいスイッチにつながっているポートをルート・ポートにしようとします。
しかしこの場合,いずれのリンクもSwitchBにつながっていて,それでも決着がつきません。
そこでさらに次に,「ポート・プライオリティ+ポートID」の値を比較して,最も値の小さいBPDUを受け取ったポートをルート・ポートにします。
ポート・プライオリティは,デフォルトで128,ポートIDはインタフェースの番号が入ります。
そのため,SwitchAの1番ポートで発信されたBPDUを受け取った,SwitchBのFa0/1をルート・ポートにしたわけです。

この状態では,VLAN10もVLAN20も下側のリンクがブロックされているので,負荷分散になりません。
そこで,SwitchBのFa0/2のポート・プライオリティ値を変更して,SwitchAのFa0/2がルート・ポートになるようにしましょう。
以下の図のようにするわけです。

 【VLAN20の構成】



●SwitchBのポート・プライオリティ値を変更する
SwitchBにおいて,VLAN20のポート・プライオリティ値を,デフォルトの128から64へ変更します。
fasutEthernet0/2の設定モードで,以下のように設定します。

SwitchB(config)#interface fastEthernet 0/2
SwitchB(config-if)#spanning-tree vlan 20 port-priority 64


SwitchAのスパニング・ツリーの状態を見てみましょう。

SwitchA#show spanning-tree

VLAN0010
 Spanning tree enabled protocol ieee
 Root ID  Priority  10
        Address   000a.8a0d.4180
        This bridge is the root
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec

 Bridge ID Priority  10   (priority 0 sys-id-ext 10)
        Address   000a.8a0d.4180
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec
        Aging Time 300

Interface       Role Sts  Cost     Prio.Nbr  Type
---------------- ---- --- --------- -------- -------------------
Fa0/1         Desg FWD  19      128.1   P2p
Fa0/2         Desg FWD  19      128.2   P2p


VLAN0020
 Spanning tree enabled protocol ieee
 Root ID  Priority  20
        Address   000e.d7f6.9180
        Cost    19
        Port    2 (FastEthernet0/2)
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec

 Bridge ID Priority  4116  (priority 4096 sys-id-ext 20)
        Address   000a.8a0d.4180
        Hello Time  2 sec Max Age 20 sec Forward Delay 15 sec
        Aging Time 15

Interface       Role Sts  Cost     Prio.Nbr  Type
---------------- ---- --- --------- -------- --------------------
Fa0/1         Altn  BLK 19      128.1   P2p
Fa0/2         Root FWD  19      128.2   P2p


今度は,Fa0/2がルート・ポートになって,Fa0/1がブロッキング・ポートになりました。
これで,VLAN10では上のリンクを使い,VLAN20では下のリンクを使うことになり,VLANごとにトラフィックが分散されるようになりました。

●スパニングツリー プロトコルのポート プライオリティを使用したトランク間の VLAN ロード バランシング
http://www.cisco.com/japanese/warp/public/3/jp/service/tac/473/15-j.shtml

スパニングツリー・ラボ
STPの基本動作
ルート・ブリッジの設定
パス・コストの設定
PortFast
UplinkFast
BackboneFast
PVST
RSTP
MSTP