STAGE 03 / STP

STPの動作とルートブリッジ選出

考えてみよう

複数のスイッチがループ状につながっているとき、STPは「どのポートをブロックするか」をどうやって決めているのでしょう?

全スイッチが好き勝手に判断してはうまくいきません。何か基準となる中心点を決めて、そこからの距離をもとに判断する必要がありそうです。選挙で「代表」を決める場面を思い浮かべながら読み進めてください。

STPは「選挙」から始まる

前回、STPは冗長リンクの一部を論理的にブロックしてループを防ぐ仕組みだと学びました。では、どのポートをブロックするかは、どうやって決まるのでしょうか。答えは、まずルートブリッジという「基準点」となるスイッチを1台選挙で決め、そこからの距離をもとに各ポートの役割を決める、という流れです。

BPDUという「選挙運動のはがき」

スイッチ同士はBPDU(Bridge Protocol Data Unit)という特殊なフレームを定期的にやり取りし、お互いの情報を交換します。BPDUには「私のブリッジIDはこれです」「ルートブリッジまでのコストはこれです」といった情報が含まれています。選挙のはがきを配って、お互いの立候補情報を確認し合うようなイメージです。

ステップ1:ルートブリッジの選出

STPネットワーク全体で、基準点となるルートブリッジを1台だけ選びます。この選出基準がブリッジIDです。ブリッジIDは次の2つの要素からなります。

判定は「ブリッジIDが最も小さいスイッチがルートブリッジになる」というシンプルなルールです。まずプライオリティの数値が小さい方が勝ち、プライオリティが同じ場合はMACアドレスが小さい方が勝ちます。選挙で「若い番号の候補者が有利」というようなイメージで覚えるとよいでしょう。

確認問題

2台のスイッチのブリッジプライオリティが同じ値だった場合、ルートブリッジはどちらになるでしょうか?

答えを見る

ブリッジプライオリティが同じ場合は、MACアドレスが小さい方がルートブリッジになります。ブリッジIDは「プライオリティ+MACアドレス」で構成されており、プライオリティが同点のときはMACアドレスで決着をつけます。

ステップ2:ポート役割の決定

ルートブリッジが決まったら、他のすべてのスイッチ(非ルートブリッジ)は、自分のポートに次の役割を割り当てていきます。

ここで使われるコストは、リンクの帯域幅から決まる値で、帯域幅が大きい(速い)ほどコストは小さくなります。つまりSTPは「一番近い道」「一番速い道」を優先的に使う道として選び、余った道をブロックする、という発想です。

なお、ルートブリッジ自身のポートはすべて指定ポートになります。基準点であるルートブリッジには「ルートポート」という概念自体がないためです。

確認問題

非ルートブリッジのスイッチにおいて、ルートブリッジまでのコストが最小のポートを何と呼ぶでしょうか?

答えを見る

ルートポートです。各非ルートブリッジのスイッチには、ルートブリッジに最も近い(コスト最小の)ポートが1つだけ存在し、常に転送状態になります。

ポートの状態遷移

STPのポートは、いきなり転送状態になるわけではなく、次のような状態を経て遷移します(初期のSTPの場合)。

  1. ブロッキング:フレームを転送しない、BPDUだけ受信
  2. リスニング:BPDUの送受信を行いネットワーク構造を把握する
  3. ラーニング:MACアドレステーブルの学習を開始する
  4. フォワーディング:フレームの転送を開始する

この移行には時間がかかり、伝統的なSTPでは最大50秒程度を要することもあります。この「切り替わりの遅さ」が後述するPortFastなどの改良機能につながっていきます。

試験でのポイント

CCNA試験では、ブリッジID(プライオリティ+MAC、デフォルトプライオリティ32768)とルートブリッジ選出の判定順序、そしてルートポート・指定ポート・非指定ポート(ブロッキング)の3つのポート役割の違いが頻出です。「最小のブリッジIDを持つスイッチがルートブリッジになる」「非ルートブリッジには必ずルートポートが1つ存在する」という2点を軸に、図を見て役割を判定する問題に備えましょう。コストは帯域幅が大きいほど小さくなる、という向きを逆に覚えないよう注意してください。

ゆみちゃん
ゆみ

ルートブリッジの選挙、ポート役割の割り当て、なんとなくイメージつかめたかな。ブリッジIDが一番小さいスイッチが基準になって、そこから近い道・速い道が生き残る。逆に余った道はブロックされる。この考え方さえ押さえれば図の問題も怖くないよ。次はPortFastやBPDUガードといった、STPをさらに便利にする機能を見ていくよ。