変更要約: 初版
2.3STPとRSTP
冗長化したL2で発生するブロードキャストストームを防ぐスパニングツリー、Ciscoの既定モードであるRapid PVST+(VLANごとのRSTP)、ブリッジIDで決まるルートブリッジ選出、ポートの役割(root/designated/alternate)と状態(discarding/learning/forwarding)、そしてエンドホスト向けのPortFastと不正BPDUから守るBPDU Guardを、Cisco IOS の設定・検証コマンドとともに学びます。
可用性のためにスイッチを冗長リンクで接続すると、そのままではL2ループが生じ、TTLを持たないイーサネットフレームが無限増殖してブロードキャストストームでネットワーク全体を機能停止させます。スパニングツリーは一部のポートを論理的にブロックしてループのない木を作り、冗長性とループ防止を両立させます。CCNAでは、Cisco既定のRapid PVST+を前提に、ルートブリッジがどう選ばれ、各ポートがどの役割・状態になり、エンドホスト向けにどう高速化・保護するか(PortFast/BPDU Guard)を設定・検証コマンドで問われます。
2.3.1ルートブリッジ選出とRapid PVST+
- ルートブリッジ=スパニングツリーの基準点となる1台のスイッチ。ブリッジID=ブリッジ優先度(16ビット)+MACアドレスが最小のスイッチが選ばれる。優先度が同じならMACアドレスが最小のスイッチが勝つ。優先度の既定値は32768で、変更は4096の倍数でのみ可能。
- 意図したスイッチをルートブリッジにするには優先度を明示的に下げる。
spanning-tree vlan 10 root primary(マクロで十分低い値を自動設定)またはspanning-tree vlan 10 priority 4096(直接指定)を使う。放置してMACアドレスの偶然に任せると、古い(=MACが小さい)末端スイッチが根になり非効率な木になりがち。 - Rapid PVST+=Ciscoの既定モードで、VLANごとに独立したRSTP(IEEE802.1w)インスタンスを動かす方式。VLANごとに異なるルートブリッジを選べるためロードバランスができ、RSTPベースなので収束が数秒と速い(従来のPVST+=802.1Dベースは最大約50秒)。
2.3.2ポートの役割と状態
- ポートの役割:ルートポート=各非ルートスイッチでルートブリッジへのコストが最小の(=上流への)ポート(1スイッチに1つ)。指定ポート=各セグメントで最もコストの低い(=下流へフレームを送る)ポート。代替ポート(alternate)=ルートポートの予備で、通常はディスカーディングでループを断つ。
- RSTPのポート状態は3つに整理される:discarding(破棄)=データもMAC学習もしない、learning(学習)=MAC学習はするが転送はしない、forwarding(転送)=学習も転送もする。従来STPの5状態(disabled/blocking/listening/learning/forwarding)を3つへ簡素化し、
blocking+listening=discardingに統合したことが高速化の一因。 - 現在の役割・状態・ルートブリッジは
show spanning-tree(VLAN指定ならshow spanning-tree vlan 10)で確認する。出力のRoot IDとBridge IDが一致すれば自機がルートブリッジ、各ポートのRole(Root/Desg/Altn)とSts(FWD/BLK等)で木の形が読み取れる。
2.3.3PortFastとBPDU Guard
- PortFast=エンドホストを接続するアクセスポートを、通常のリスニング/ラーニングを経ずに即座にforwardingへ移行させる機能。PCの起動直後にDHCPが届かない等の待ち時間を解消する。他スイッチを接続するポートには使わない(ループの危険)。設定は
spanning-tree portfast(インタフェース)。 - BPDU Guard=PortFast対象ポートでBPDUを受信したら、そのポートを即座に err-disabled(エラーで無効化)にする保護機能。エンドホスト用ポートに誤って(または不正に)スイッチが接続されると、そのスイッチのBPDUがトポロジを乱すため、それを検知して遮断する。
spanning-tree bpduguard enable(個別)またはspanning-tree portfast bpduguard default(グローバルでPortFastポートに一括適用)。
「ルートブリッジ=ブリッジID(優先度→MAC)が最小」「優先度の既定32768・変更は4096の倍数」「Rapid PVST+=Ciscoの既定・VLANごとRSTP」「RSTPの3状態=discarding/learning/forwarding」「PortFast=エンドホスト用アクセスポートを即forwarding」「BPDU Guard=PortFastポートがBPDU受信でerr-disabled」が最頻出です。特にPortFastとBPDU Guardは必ずセットで(エンドホスト用ポートに誤ってスイッチが挿さるとループになるため、PortFastで高速化しつつBPDU Guardで保護する)という設計意図を問われます。
ある企業ネットワークで、コアスイッチ(Core)と2台のアクセススイッチ(AccessA・AccessB)が三角形に冗長接続されています。管理者はコアを確実にルートブリッジにしたかったのですが、優先度をどのスイッチも既定の32768のまま放置していたため、たまたまMACアドレスが最小だったAccessAがルートブリッジに選ばれ、通信経路がAccessAを頂点とした非効率な木になっていました。show spanning-tree vlan 1 で Root ID がAccessAのものになっていることを確認し、Coreで spanning-tree vlan 1 priority 4096(または root primary)を設定してCoreを確実にルートブリッジへ変更します。次に、各アクセススイッチのユーザPC用ポートは、PC起動直後にリンクが上がってからforwardingになるまで数十秒かかる(従来STP相当の待ち時間)とDHCPが取得できない事象が報告されたため、PortFastを設定して即座にforwardingへ移行させます。ただしPortFastだけでは、誤ってそのポートに小型スイッチやハブが接続された場合、そのスイッチのBPDUがトポロジ計算に混入してルートブリッジの再選出やループを招く危険があります。そこでBPDU Guardを併用し、PortFastポートがBPDUを受信したら即座に err-disabled にして遮断する設計にします。こうすることで「エンドホスト用ポートは高速に立ち上げつつ、そこにスイッチが挿さる不正・誤接続からは自動で身を守る」という、PortFastとBPDU Guardをセットで使う典型パターンが完成します。もしBPDU Guardを付けずにPortFastだけを設定し、そのポートにスイッチをつないでしまうと、STPが本来ブロックすべきループを見逃してブロードキャストストームを起こしかねない点が、この設計の最重要ポイントです。
| RSTPの状態 | MAC学習 | データ転送 | 該当する主な役割 |
|---|---|---|---|
| ディスカーディング(discarding) | しない | しない | 代替ポート(alternate)等でループを断つ |
| ラーニング(learning) | する | しない | forwardingへ移行途中の一時状態 |
| フォワーディング(forwarding) | する | する | ルートポート/指定ポート |
ひっかけ: 「ルートブリッジは処理性能が最も高いスイッチが自動選出される」は誤りです——選出基準はブリッジID(優先度→MACアドレス)のみで性能とは無関係、意図したスイッチにするには優先度を明示的に下げます。また「PortFastはスイッチ間リンクにも設定して収束を速めるべき」も誤り=PortFastはエンドホスト用アクセスポート限定で、スイッチ間に使うとループの危険があります。さらに「BPDU Guardが働くとポートは自動で復旧する」も誤り=err-disabledは手動復旧(shutdown/no shutdown)またはerrdisable recovery設定が必要です。
2.3.4この節のまとめ
- ルートブリッジはブリッジID(優先度→MAC)が最小のスイッチ。優先度の既定は32768・変更は4096の倍数、意図したスイッチにするには優先度を下げる(
root primary/priority) - Ciscoの既定はRapid PVST+(VLANごとRSTP・収束数秒)。役割はroot/designated/alternate、状態はdiscarding/learning/forwardingの3つ
- PortFastはエンドホスト用アクセスポートを即forwardingに、BPDU GuardはそのポートがBPDU受信でerr-disabledに。両者は必ずセットで運用
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 3台のスイッチ(Core・AccessA・AccessB)が冗長接続されている。管理者はCoreをルートブリッジにしたいが、全スイッチの優先度が既定の32768のままで、MACアドレスが最小のAccessAがルートブリッジになってしまった。Coreを確実にルートブリッジにする方法として最も適切なものはどれか。
Q2. ユーザPCを接続するアクセスポートで、PC起動直後にリンクアップしてから通信可能になるまで時間がかかりDHCPの取得に失敗する事象が報告された。このポートに設定すべき機能と、同時に併用すべき保護機能の組合せとして最も適切なものはどれか。
Q3. RSTP(Rapid PVST+)が動作するスイッチで、あるポートが代替ポート(alternate)としてループを断ち切る役割を担っている。このポートが通常取っている状態と、その状態でのMAC学習・データ転送の振る舞いとして最も適切なものはどれか。

