CCNA 200-301でSTPは絶対に避けて通れない。ただ、本番でルートブリッジ選出やポート役割の問題が出ると、焦って計算ミスする受験生が本当に多い。私自身、模試で何度もポート役割を取り違えた苦い経験がある。
この記事では、暗算で30秒以内に解くテクニックと、現場でも通用する本物の知識を整理する。RSTPの差分、PortFast絡みの引っかけ問題も網羅したから、試験直前の総ざらいに使ってほしい。
出題範囲は意外と狭い
CCNA 200-301のSTPはやたら範囲が広く見えて、実は4テーマに絞られる。ルートブリッジ選出、ポート役割の判定、収束時間、PortFast/BPDU Guardの動作。これだけ押さえれば、本番で落とすことはまずない。
| テーマ | 出題形式 | 頻度 |
|---|---|---|
| ルートブリッジ選出 | Bridge IDから1つ選ぶ | ★★★★★ |
| ポート役割(RP/DP/BLK) | トポロジー図から判定 | ★★★★★ |
| RSTPの収束時間 | STPとの比較 | ★★★★ |
| PortFast/BPDU Guard | 設定コマンド・効果 | ★★★ |
模試の話なんだけど、ルートブリッジを選ぶ問題で「Priority同じならMACが小さい方」を一瞬忘れて、選択肢の見た目だけで選んでしまったことがある。落ち着いて2段階で見れば絶対に間違えない。本番は焦るから、判定フローを身体に叩き込んでおくのが正解。
Bridge IDの比較ルール
Bridge IDは「Priority + MACアドレス」の合体だ。比較順は単純で、まずPriority、同じならMAC。これだけ。Priorityはデフォルト32768で、変更したいときは spanning-tree vlan 1 priority 4096 のように4096刻みで指定する必要がある。
出題の8割は次のフローで片付く。Step 1でPriority最小を探す。Step 2で同じPriorityが複数ならMAC最小(左から比較)。終わり。ここで欲張ってMACの足し算を始める受験生がいるけど、そんな計算は要らない。
図1: Bridge ID比較の優先度
最優先
タイブレーカー
| スイッチ | Priority | MAC | 判定 |
|---|---|---|---|
| SW1 | 4096 | 0000.0001.1111 | Root |
| SW2 | 32768 | 0000.0002.2222 | 非Root |
| SW3 | 32768 | 0000.0003.3333 | 非Root |
SW1だけPriority 4096で他より小さいから即決まる。Priorityが揃った場合は左端から1バイトずつ比較していけば終わり。ぶっちゃけ、本番ではこの2ステップ以外要らない。
3つの役割を判定するフロー
ポート役割は「ルートブリッジに最短で繋がるポート=RP」「同じセグメントで送信側になる方=DP」「残り=BLK(Alternate)」という順番で割り振る。RP→DP→BLKの順で必ず判定すること。
「Rootブリッジへのルートパスコスト合計が最小になるポート」がRP。コストが同点なら送信側Bridge ID、それも同じならポート番号で決まる。Catalystのデフォルトコストは下表の通り。
| 回線速度 | short形式(IEEE) | long形式 |
|---|---|---|
| 10 Mbps | 100 | 2,000,000 |
| 100 Mbps | 19 | 200,000 |
| 1 Gbps | 4 | 20,000 |
| 10 Gbps | 2 | 2,000 |
セグメント(リンク)ごとに、Rootへのコストが小さい側のポートがDP。Rootブリッジ自身の全ポートは無条件でDPになる。ここを忘れる受験生がやたら多い。
RPでもDPでもないポートはBlocking。BPDUの受信のみ続けて、データフレームの転送はしない。実機では show spanning-tree で確認できる。
SW2# show spanning-tree vlan 1
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 4097
Address 0000.0001.1111
Cost 4
Port 25 (GigabitEthernet0/1)
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 0000.0002.2222
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi0/1 Root FWD 4 128.25 P2p
Gi0/2 Desg FWD 4 128.26 P2pCCNA問題のパスコストはshort形式(IEEE)で出ることがほとんどだけど、図にlong形式が書かれていたら同じ計算ロジックでも数字が万単位になる。問題文をよく読んで、どっちの体系で聞かれているかを必ず最初に確認すること。
表で見ると30秒で覚えられる
STP(802.1D)とRSTP(802.1w)の違いは、ぶっちゃけ収束時間とポート状態の数だけ押さえれば足りる。古いSTPの50秒収束は試験の鉄板ネタなのに、毎回引っかかる人がいる。
| 項目 | STP (802.1D) | RSTP (802.1w) |
|---|---|---|
| 収束時間 | 30〜50秒 | 数秒 |
| ポート状態 | 5種(Disabled含む) | 3種(Discarding/Learning/Forwarding) |
| ポート役割 | RP/DP/Blocking | RP/DP/Alternate/Backup |
| Topology Change | Rootから配布 | 変化検出側が即フラッディング |
| Cisco独自 | PVST+ | Rapid PVST+ |
CatalystのデフォルトはRapid PVST+。試験で「リンクダウン後の再収束時間」が問われたら、迷わず数秒(RSTP)の方を選ぶのが鉄板。たまに「30秒」と書かせる旧STPの問題が混じるから、プロトコルの指定を必ず確認する。
「PCを繋ぐポート向け」が大原則
PortFastはListening/Learningをスキップして即Forwardingする高速化機能。エッジポート(PCやプリンタ接続)専用だ。スイッチ間トランクに入れるとループ事故が起きるから、絶対にやらない。これ、現場でも油断するとやってしまう人がいる。
! グローバルでPortFastを全アクセスポートに有効化(推奨) SW1(config)# spanning-tree portfast default ! BPDU Guardもグローバル有効化 SW1(config)# spanning-tree portfast bpduguard default ! インターフェース個別に設定する場合 SW1(config)# interface gi0/10 SW1(config-if)# switchport mode access SW1(config-if)# spanning-tree portfast SW1(config-if)# spanning-tree bpduguard enable ! 自動復旧を入れておく(30秒後に自動で立ち上がる) SW1(config)# errdisable recovery cause bpduguard SW1(config)# errdisable recovery interval 30
BPDU Guardが有効なPortFastポートでBPDUを受信した瞬間、ポートはerr-disabledに落ちる。ハブを刺してループを起こそうとした不届き者を、瞬時に締め出す仕組みだ。試験では「BPDU Guardがある時、BPDUを受信したらどうなる?」が定番。答えは即err-disabled。
この4パターンが解ければ満点圏
Priority最小→MAC左から比較。表組みで5秒。
RP→DP→BLKの順に判定。Rootブリッジの全ポートはDP。これを最初に塗りつぶすと一気に楽になる。
既存のBlockingポートが新しいRPに昇格する流れ。RSTPなら数秒、STPなら30〜50秒という所要時間も合わせて押さえる。
PortFast=即Forwarding、BPDU Guard=BPDU受信でerr-disabled。Root Guard(Rootに昇格させない)と混同しないよう注意。ちなみにRoot Guardは「root-inconsistent」状態に落とすだけで、err-disabledまでは行かない。
3行で要点を再掲
ルートブリッジ選出は Priority→MAC の2段階で5秒判定。ポート役割は RP→DP→BLK の順、Rootの全ポートはDPと最初に塗ってから残りを処理する。RSTPは数秒収束、STPは30〜50秒、ここは混同しない。PortFastはエッジ専用+BPDU Guardセットでループ事故を防ぐ。本番はこの4パターンだけで満点圏に届く。
よくある質問(FAQ)
Q. STPコストはshort/longどちらを覚えるべき?
CCNA試験ではshort形式(19, 4, 2)が圧倒的に多い。10G以上を含む問題ではlong形式が出ることがあるが、まずはshortを完璧にして、long形式は出題されたら桁違いの数字で見分ける程度でOK。
Q. PortFastを設定したのに収束が遅いのはなぜ?
そのポートがアクセスポートでない(trunkなど)か、spanning-tree portfast trunk 等のtrunk向けオプションを別途指定していないケースが多い。GUIで操作している現場あるある。
Q. Root GuardとBPDU Guardの違いは?
BPDU GuardはBPDUを受信した瞬間にerr-disabled。Root Guardは「優先度が高いBPDU」を受信したときだけroot-inconsistent状態にする。Rootブリッジの強奪を防ぎたい場面ではRoot Guard、未管理スイッチ接続防止ならBPDU Guardを使う。



