Cisco / CCNA 200-301 v2.0

試験項目 2.5 · CCNA-071

STP / Rapid PVST+ Fundamentals

ドメイン 2 · Switching and Network Access · Rapid PVST+

このページのゴール

Rapid PVST+がVLANごとにLoop-freeなLayer 2 Topologyを形成する目的を理解し、Mode・VLAN Instance・Root / Role / Stateの基本確認から正常な冗長Pathを判断できるようにする。

このページのゴール

Rapid PVST+の基本動作を、L2ループを防ぎながら冗長性を維持する仕組みとして理解し、VLANごとのSTPインスタンス、動作モード、Root Bridge、ポートの役割と状態を確認できるようにします。

特に重要なのは、

冗長リンクがある
=
すべてのリンクを常時Forwardingにする

ではないことです。

Rapid PVST+では、ループを防ぐために一部の経路を非Forwardingとして待機させることがあります。

そのため、

ポートがForwardingではない
=
必ず障害

とは判断しません。

このページで学ぶこと

  • Rapid PVST+がL2ループを防ぐ目的
  • VLANごとにSTPインスタンスを持つ考え方
  • Rapid PVST+モードの基本設定
  • STP確認コマンドの使い分け
  • 正常な非Forwarding経路の考え方
  • VLANごとにRoot Bridgeやポート役割が異なり得ること
  • Rapid PVST+がRSTPを基礎にすること
  • STP出力から直接確認できる範囲と限界

なぜSTPが必要なのか

L2ネットワークでは、可用性を高めるために複数のリンクを用意することがあります。

例:

      +-------- SW2 --------+
      |                     |
SW1 --+                     +-- SW3
      |                     |
      +-------- SW4 --------+

SW1からSW3へ複数のL2経路があるため、片方に障害が起きても別経路を使える構成にできます。

しかし、すべての冗長経路を同時に無制限で転送させると、L2ループが発生する危険があります。

L2ループの問題

L2でループができると、ブロードキャストやUnknown Unicastなどが同じ経路を循環する危険があります。

概念図:

SW1
 | \
 |  \
SW2--SW3

3台のスイッチ間で冗長リンクがあり、すべてが転送状態なら、フレームが循環できる経路が成立します。

STPの基本目的

STPの基本目的は、

冗長性を残す
+
L2ループを防ぐ

ことです。

そのために、論理的なループができないよう、一部の経路を非Forwardingとして扱います。

冗長性とループ防止を両立する

イメージ:

          経路A
SW1 ---------------- SW2
 |                    |
 |                    |
 +------ 経路B -------+

経路A
→ Forwarding

経路B
→ 非Forwarding

このように、片方を通常の転送経路として使い、もう片方をループ防止のために待機させることがあります。

非Forwardingは必ずしも異常ではない

STPで非Forwardingとなっているポートを見つけても、すぐに障害とは判断しません。

正常な冗長設計では、

一方
→ Forwarding

もう一方
→ 非Forwarding

という状態が意図された結果になり得ます。

「止まっている」ではなく「役割を確認する」

悪い判断:

ポートがForwardingではない
↓
リンク障害と断定

良い判断:

ポートがForwardingではない
↓
STPの役割と状態を確認
↓
設計上の冗長経路か確認

です。

Rapid PVST+とは

Rapid PVST+は、Cisco環境でVLANごとにSTPインスタンスを持ち、RSTPの高速収束の考え方を利用する方式です。

重要なのは、

VLAN 10
→ VLAN 10用のSTPインスタンス

VLAN 20
→ VLAN 20用のSTPインスタンス

という点です。

VLANごとに別のSTPインスタンス

Rapid PVST+では、VLANごとにRoot Bridgeやポート役割、状態が異なり得ます。

例:

VLAN 10
Root Bridge: SW1

VLAN 20
Root Bridge: SW2

このような構成は成立します。

全VLANで同じRoot Bridgeとは限らない

誤り:

VLAN 10でSW1がRoot Bridge
↓
VLAN 20も必ずSW1がRoot Bridge

とは限りません。

Rapid PVST+ではVLANごとに独立したSTPインスタンスを持つためです。

同じ物理ポートでも役割が異なり得る

同じトランクポートであっても、VLANごとに役割が異なることがあります。

例:

Gi1/0/1

VLAN 10
→ Root

VLAN 20
→ Alternate

これはRapid PVST+のVLAN単位動作として成立し得ます。

物理ポートとSTP役割を1対1で固定しない

悪い考え方:

Gi1/0/1はRoot
↓
すべてのVLANでRoot

良い考え方:

Gi1/0/1
VLAN 10ではRoot
VLAN 20ではAlternate

のように、VLANごとに確認します。

VLAN単位で確認する理由

STPの確認では、

どのVLANの情報か

を必ず意識します。

同じインターフェースでも、対象VLANが変わればRoot Bridgeや役割、状態が異なる可能性があるためです。

Rapid PVST+の基本設定

Cisco IOSでRapid PVST+モードを選択する基本設定は、

spanning-tree mode rapid-pvst

です。

設定の意味

この設定は、装置のSTPモードとしてRapid PVST+を選択します。

spanning-tree mode rapid-pvst

を見たときは、

Rapid PVST+モードを選択している

と読みます。

別の設定と混同しない

次の設定とは意味が異なります。

Rapid PVST+のモード設定と、個別ポートに対するSTP関連設定、実際のSTP動作状態の確認は、それぞれ確認する対象が異なります。

このページでは、装置のSTPモードを選択する設定と、VLANごとの実際のRoot Bridge・ポート役割・ポート状態を分けて確認します。

running-configで確認する考え方

設定確認では、

spanning-tree mode rapid-pvst

が存在するかを確認します。

直接確認できるのは、

装置でRapid PVST+モードが設定されている

ことです。

モード設定だけでSTP全体を断定しない

モード設定を確認しても、

各VLANのRoot Bridge
各ポートの役割
各ポートの状態

までは分かりません。

それらはSTP状態の確認コマンドで確認します。

STP確認コマンド

基本的な確認コマンドとして、

show spanning-tree
show spanning-tree vlan 10
show spanning-tree summary

を使い分けます。

show spanning-tree

show spanning-tree

はSTP情報を確認する基本コマンドです。

見る観点:

対象VLAN
Root Bridge
ポートの役割
ポートの状態

です。

show spanning-tree vlan 10

特定のVLANだけを確認したい場合は、

show spanning-tree vlan 10

を使います。

例:

VLAN 10だけの
Root Bridgeとポート役割を確認したい

という場合に適します。

VLAN番号を変えて比較する

VLANごとの差を見るときは、

show spanning-tree vlan 10
show spanning-tree vlan 20

のように対象VLANを分けて確認します。

VLANごとの差を表で整理する

例:

確認対象 VLAN 10 VLAN 20
Root Bridge SW1 SW2
Gi1/0/1の役割 Root Alternate

このようにVLAN単位で整理すると、同じ物理ポートの役割差を見分けやすくなります。

show spanning-tree summary

装置全体のSTPモード概要を確認したい場合は、

show spanning-tree summary

を使います。

このページでは、

装置全体のSTPモード概要

を確認するコマンドとして区別します。

コマンド選択の基準

特定VLANのSTP詳細
→ show spanning-tree vlan <VLAN番号>

装置全体のSTPモード概要
→ show spanning-tree summary

STP情報の基本確認
→ show spanning-tree

と整理します。

目的に合う確認コマンドを選ぶ

悪い例:

VLAN 30のRoot Bridgeを確認したい
↓
show interfaces statusだけを見る

よりも、

show spanning-tree vlan 30

で対象VLANのSTP情報を直接確認する方が適切です。

Root Bridgeを確認する意味

STPではRoot Bridgeが基準になります。

Rapid PVST+ではVLANごとにSTPインスタンスがあるため、

VLAN 10のRoot Bridge
VLAN 20のRoot Bridge

を分けて確認します。

Root BridgeがVLANごとに異なる例

VLAN 10
Root Bridge = SW1

VLAN 20
Root Bridge = SW2

この状態はRapid PVST+として成立します。

Root Bridgeの存在を全VLANで1台に固定しない

Rapid PVST+では、

ネットワーク全体でRoot Bridgeは必ず1台だけ

とは考えません。

VLANごとのSTPインスタンスで確認します。

ポート役割の基本的な読み方

このページでは、STP出力に表示される代表的な役割として、

Root
Designated
Alternate

を識別できるようにします。

詳細な選出計算よりも、まず、

どのVLANで
どのポートが
どの役割として表示されているか

を正確に読むことが重要です。

Root表示

ポート役割としてRootが表示される場合、そのVLANのSTPでRoot役割として動作していることを確認します。

同じポートでも別VLANで同じ役割とは限りません。

Designated表示

DesignatedもSTPで確認する代表的なポート役割です。

この段階では、

対象VLANでDesignatedとして表示されている

という事実を正確に読み取ります。

Alternate表示

Alternateは冗長経路で見られる代表的な役割です。

正常な冗長構成では、Alternateが非Forwardingとなることがあります。

Alternateと非Forwarding

例:

Gi1/0/2
役割: Alternate
状態: BLK

このような表示を見ても、

物理リンク障害

と即断しません。

BLK表示を故障と決めない

BLKの表示は、STPがループを防ぐために非Forwardingとしている正常状態になり得ます。

判断:

Alternate + BLK
↓
冗長設計上の待機経路か確認

です。

非Forwardingを評価する手順

AlternateやBLKなどの非Forwarding表示を確認したときは、状態だけで障害や物理リンク断と決めず、次の順序で評価します。

1. 対象VLANを確認
2. ポート役割を確認
3. ポート状態を確認
4. 冗長設計と一致するか確認

正常な冗長設計では、通常利用する経路をForwardingとし、別経路をAlternate / BLKとして待機させることがあります。

そのため、非Forwardingを見つけただけでshutdown / no shutdownを実行したり、両方の経路を強制的にForwardingへ変更したりしません。まずSTPによる正常なループ防止動作かを確認します。

通常利用側の障害時における冗長性

冗長構成では、通常利用している経路に障害が起きたとき、待機していた経路を利用できるようにすることが目的です。

確認すべきなのは、

非Forwardingであること

そのものではなく、

期待した冗長設計と役割・状態が一致しているか

です。

VLANごとの役割差を読む

例:

Gi1/0/1

VLAN 10
役割: Designated

VLAN 20
役割: Alternate

この表示は、

同じ物理ポートでも
VLANごとに役割が異なる

ことを示します。

VLAN単位のインスタンスと役割差

Rapid PVST+ではVLANごとにSTPインスタンスがあるため、

VLAN 10ではDesignated
VLAN 20ではAlternate

という組み合わせは成立し得ます。

役割表示が違うことを故障と決めない

同じ物理ポートの役割がVLAN間で異なっても、

表示が壊れている

とは判断しません。

まずVLAN単位のSTPインスタンスとして解釈します。

Rapid PVST+とRSTP

Rapid PVST+は、Rapid Spanning Tree Protocolの高速収束の考え方をVLANごとに適用するCisco実装として理解します。

RSTPを基礎にする

試験では、

Rapid PVST+
→ RSTPを基礎にする

という関係を押さえます。

全く別のループ防止方式と考えない

Rapid PVST+を、

RSTPとは無関係な独自ループ防止方式

と考えるのは適切ではありません。

VLANごとにRSTPの考え方を利用する

整理:

RSTPの高速収束の考え方
+
VLANごとのSTPインスタンス
=
Rapid PVST+の基本理解

です。

RSTPとSTPの確認で重要なもの

このページでは、

Root Bridge
ポート役割
ポート状態
VLANごとのインスタンス

を確認軸として扱います。

役割の細かな選出計算や状態遷移を先に覚えるのではなく、まず出力から対象VLANと現在の役割・状態を読み取ります。

STP出力から直接確認できること

STP出力では、

STPモード
対象VLAN
Root Bridge
ポート役割
ポート状態

などを確認できます。

STP出力だけで証明できないこと

STP出力が期待どおりでも、

HTTPSアプリケーションが正常
L3通信が正常
VLAN設定全体が正常
物理インターフェース全体が正常

まで直接証明するものではありません。

STPが正常でも通信障害はあり得る

例:

STP
→ 期待どおり

通信
→ 失敗

という状態はあり得ます。

その場合、

STPは確認済み
↓
別の確認情報へ進む

と考えます。

STP正常を「障害なし」と読み替えない

悪い判断:

STP出力に異常なし
↓
ネットワーク全体に障害なし

良い判断:

STP出力に異常なし
↓
STPの範囲では期待状態
↓
症状に応じてVLAN、インターフェース、L3などを確認

です。

STP確認情報の境界

STPの確認結果は、

L2ループ防止の状態
Root Bridge
ポート役割
ポート状態

についての確認情報です。

これをアプリケーションや全通信経路の正常性まで広げません。

障害切り分けでの基本姿勢

症状を確認
↓
対象VLANを確認
↓
STPモードを確認
↓
Root Bridgeを確認
↓
ポート役割を確認
↓
ポート状態を確認
↓
設計と一致するか判断
↓
STPに問題がなければ別の確認情報へ進む

という順序で考えます。

代表的な確認シナリオ1

症状:

冗長リンクの片方がBLK

確認:

show spanning-tree vlan 10

結果:

対象ポート
役割: Alternate
状態: BLK

判断:

ループ防止の正常な非Forwarding経路になり得る

です。

代表的な確認シナリオ2

症状:

VLAN 10ではGi1/0/1がRoot
VLAN 20ではGi1/0/1がAlternate

判断:

VLANごとにSTPインスタンスが異なるため成立し得る

です。

代表的な確認シナリオ3

確認したいこと:

VLAN 30のRoot Bridgeとポート役割

使用:

show spanning-tree vlan 30

です。

代表的な確認シナリオ4

確認したいこと:

装置全体のSTPモード概要

使用:

show spanning-tree summary

です。

代表的な確認シナリオ5

設定:

spanning-tree mode rapid-pvst

判断:

Rapid PVST+モードを選択している

です。

よくある誤り

冗長リンクをすべてForwardingにすればよいと考える

L2ループを作る危険があるため、STPは一部経路を非Forwardingにします。

非Forwardingをすべて障害と判断する

正常な冗長設計ではAlternateなどが非Forwardingとなり得ます。

BLKを物理リンク断と決める

STPの状態表示と物理障害を混同しません。

VLAN 10のRoot Bridgeを全VLANへ当てはめる

Rapid PVST+はVLANごとにSTPインスタンスを持ちます。

同じ物理ポートは全VLANで同じ役割だと考える

VLANごとにRoot、Designated、Alternateなどの役割が異なり得ます。

(個別ポート向けSTP設定)をRapid PVST+モード設定と考える

Rapid PVST+モードの設定は、

spanning-tree mode rapid-pvst

です。

VLAN固有情報を概要情報だけで判断する

特定VLANのRoot Bridgeやポート役割を確認するなら、

show spanning-tree vlan <VLAN番号>

を使います。

STP正常ならアプリケーションも正常と考える

STP出力が示す範囲と、アプリケーションの正常性は分けます。

STP正常なら通信障害は存在しないと考える

STP以外のVLAN、インターフェース、L3などに問題がある可能性があります。

確認時に記録する情報

対象装置
対象VLAN
STPモード
Root Bridge
対象ポート
ポート役割
ポート状態
期待する冗長経路
実際の表示

を整理します。

VLANごとの記録例

VLAN 10
Root Bridge: SW1
Gi1/0/1: Root
Gi1/0/2: Alternate / BLK

VLAN 20
Root Bridge: SW2
Gi1/0/1: Alternate / BLK
Gi1/0/2: Root

このように記録すると、

同じ物理ポートでも
VLANごとに役割が異なる

ことを確認しやすくなります。

正常な非Forwardingの判断例

確認結果:

対象VLAN: 10
対象ポート: Gi1/0/2
役割: Alternate
状態: BLK

設計:

Gi1/0/1
→ 通常経路

Gi1/0/2
→ 冗長待機経路

判断:

Gi1/0/2の非Forwardingは
ループ防止の正常状態になり得る

です。

STP確認後の切り分け例

STPモード
→ 期待どおり

Root Bridge
→ 期待どおり

役割
→ 期待どおり

状態
→ 期待どおり

通信障害
→ 継続

この場合、

STP以外の確認情報へ進む

と判断します。

まとめ

Rapid PVST+は、冗長なL2ネットワークでループを防ぎながら冗長性を維持するための仕組みです。

基本動作は、

必要な経路
→ Forwarding

冗長経路
→ 非Forwardingになり得る

と整理できます。

Rapid PVST+では、

VLANごとにSTPインスタンスを持つ

ため、

VLAN 10ではSW1がRoot Bridge
VLAN 20ではSW2がRoot Bridge

のような構成が成立します。

同じ物理ポートでも、

VLAN 10
→ Root

VLAN 20
→ Alternate

のように役割が異なる場合があります。

モード設定は、

spanning-tree mode rapid-pvst

です。

確認では、

show spanning-tree
show spanning-tree vlan <VLAN番号>
show spanning-tree summary

を目的に応じて使い分けます。

AlternateやBLKなどの非Forwarding表示を見ても、すぐに障害とは判断せず、

対象VLAN
役割
状態
冗長設計

を照合します。

また、Rapid PVST+はRSTPを基礎とし、その高速収束の考え方をVLANごとに適用する方式として理解します。

最後に、STP出力が期待どおりでも、

アプリケーション
VLAN設定全体
インターフェース全体
L3通信

まで正常と証明するものではありません。

STPで直接確認できる範囲を正確に読み、非Forwardingを正常なループ防止動作と障害に分けることが、このページの中心です。

理解確認

このページの内容を16問で確認します。

理解確認16問へ →