今回は、ネットワークスペシャリスト試験の対策として、スパニングツリーの構築方法について具体的に学んでいきましょう。
ネットワーク内のループを防ぎ、効率的な通信を維持するために重要なプロトコルであるスパニングツリープロトコル(STP)について、構築手順やポイントを詳しく解説します。
スパニングツリープロトコルの計算問題は午前試験でよく出題される上、午後試験でも出題される可能性があります。しっかりと学びましょう。
スパニングツリーの構築

スパニングツリーとは、ネットワーク内のループを防ぎ、全てのノードを最小限のコストで接続する木構造を作るアルゴリズムでしたね。





このようにループ構造になっているネットワークの一部をブロックして木構造を作るのでしたよね。



その通り。ブリッジAとブリッジBの間をブロックすると、下の図のような木構造になります。


実際にスパニングツリーを作る際には、どこをブロックするのかは適当に決めるのではなく、計算方法があります。
ここから具体的に学んでいきましょう。
①ルートブリッジの選定
まず最初に、スパニングツリーの構築を行う際には「ルートブリッジ」と呼ばれる基準となるブリッジを選定します。
この「ルートブリッジ」という名称は、ネットワーク内の全ブリッジの中で中心的な存在であり、全ての通信の基点となることから「ルート(根)」と呼ばれています。



ルーツ(根源)という言葉から連想すると覚えやすいですね!


各ブリッジには「ブリッジID (BID)」という識別子があり、このIDが最も低いブリッジがルートブリッジとして選ばれます。
ブリッジIDは「ブリッジプライオリティ(2バイト)」と「MACアドレス(6バイト)」によって構成されており、ブリッジプライオリティが最も小さい(優先度が高い)もののうち、MACアドレスの値が最も小さいものがルートブリッジに選ばれます。
※ブリッジプライオリティとは、スパニングツリープロトコル(STP)において、各ブリッジに割り当てられる値であり、ネットワーク内のどのブリッジがルートブリッジになるかを決定する際の優先順位を表します。
プライオリティ値は数値であり、この値が小さいほどそのブリッジがルートブリッジに選ばれる可能性が高くなります。
ブリッジプライオリティはネットワーク管理者が自由に設定することが可能です。
今回の例では、プライオリティが01のブリッジが2つありますが、よりMACアドレスの値が小さいブリッジAがルートブリッジとなります。
②ルートポートの決定
ルートブリッジが決まったら、次に各ブリッジはルートブリッジまでの最も効率的な経路を選びます。
この経路に使われるポートが「ルートポート」として選ばれます。



それぞれのブリッジには2つのポートがありますから、ルートブリッジにより近いポートを「ルートポート」に選定します。
近いかどうかは物理的な距離ではなく、BPDUという制御フレームを使って判断します。



BPDUは前回の記事で学んだ覚えがあります!
BPDUのメッセージフォーマットは以下の表の通りです。
フィールド | (日本語) | フィールド説明 | (byte) | サイズ
Protocol ID | プロトコルID | この値は常に 0 | 2 |
Version | バージョン | STPバージョン ( 802.1d = 0 ) | 1 |
Message Type | メッセージタイプ | 通常のBPDUタイプ ( Configuration BPDU = 0x00 ) 変更時のBPDUタイプ ( Topology Change Notification BPDU = 0x80 ) | 1 |
Flags | フラグ | ネットワークのトポロジチェンジ(TC)を最下位ビットで示したり トポロジチェンジの確認応答(TCA)を最上位ビットで示す情報。 | 1 |
Root ID | ルートID | ルートブリッジのブリッジID | 8 |
Path Cost | パスコスト | ルートブリッジに到達するまでの累積コスト | 4 |
Bridge ID | ブリッジID | スイッチ自身のブリッジID | 8 |
Port ID | ポートID | ポートプライオリティとポート番号 | 2 |
Message Age | メッセージエージ | ルートがBPDUを生成してから経過した秒数。 実質的にはルートブリッジに至るホップカウント。 | 2 |
Max Age | 最大エージ | 経過してもBPDUを受信できない場合は障害が発生したと認識する。 | BPDUの最大保持時間。デフォルトで20秒。このタイマーの時間が2 |
Hello Time | Helloタイム | スイッチがBPDUを送信する間隔。デフォルトで2秒。 | 2 |
Forward Delay | 転送遅延 | Listening と Learning 状態にとどまる時間。デフォルトで15秒。 | 2 |



「パスコスト」と「ブリッジID」を覚えてください。
このとき「パスコスト」という値を計算しますが、パスコストはリンクの帯域幅によって決まります。
具体的には、回線速度が10Mbpsならコストは100、100Mbpsなら19、1Gbpsなら4、10Gbpsなら2というように定められています。



上記の数字も必ず覚えてくださいね。
パスコストが低いほど優先され、より効率的な経路としてルートポートに選ばれます。
たとえばギガビット帯域幅のリンクはパスコストが低いため、優先的に選ばれて効率よく通信が行われます。


今回の例では、○の付いたポートがルートポートになります。
③代表ポート(指定ポート)の決定
次に、各ネットワークセグメント内で「代表ポート(指定ポート)」を選定します。
代表ポートは、そのセグメント内でルートブリッジに到達するための最も効率的なポートです。





この例では、△のついたポートが代表ポート(指定ポート)になります。
このポートはセグメント内のデータを中継し、他のブリッジからのデータをルートブリッジに向けて送る役割を持っています。
代表ポートが選ばれることで、ネットワーク内のデータフローが効率化され、無駄な通信が減り、全体のパフォーマンスが向上します。
代表ポートは、各セグメントで最も低いパスコストを持つポートが選ばれるため、データが最も効率的に流れるように最適化されるのです。
④ブロッキングポートの決定
続いて、スパニングツリーの構築では「ブロッキングポート」の決定も行います。
ルートポートにも代表ポートにもならなかったポートが「ブロッキングポート」になります。





この例ではバツのついているポートがブロッキングポートになるのですね。



正解です。よく理解できていますね。
ブロッキングポートは、ネットワーク内でループが発生しないようにするために、通常はデータを転送しない状態に設定されるポートです。
しかし、ブロッキングポートはネットワーク内に障害が発生した際にバックアップパスとして機能することができます。
たとえばあるリンクが切断された場合、ブロッキング状態だったポートがアクティブになり、新たな経路を提供することでネットワークの安定性を保ちます。



ブロッキングポートはメルトダウンを防ぐだけじゃなく、いざというときの予備にもなっているのですね!
⑤BPDUによるネットワークの監視
最後に、スパニングツリープロトコルはネットワークの構造を維持するために、定期的にBPDU (Bridge Protocol Data Unit) というフレームを送信します。
これにより、ネットワーク内のトポロジの変化を常に監視し、リンクが切断されたり新しいブリッジが追加された場合などに迅速に対応できるのです。
スパニングツリープロトコルは自動的に再計算を行い、最適なスパニングツリー構造を再構築することで、ネットワークの一貫性と安定性を維持します。
スパニングツリー構築のポイント
スパニングツリーを効果的に構築するためには、重要なポイントが二つあります。
まず、ルートブリッジを計画的に選定することが非常に大切です。
デフォルトの設定のままだと、意図しないブリッジがルートブリッジに選ばれてしまうことがあります。



それは大変ですね!



これを防ぐために、重要なブリッジには低いプライオリティ値を設定し、意図的にルートブリッジとして選定することが推奨されるのです。
これにより、ネットワークの中心として信頼性のあるブリッジが選ばれ、効率的な通信が行えるようになります。
次に、スパニングツリーは冗長性を確保しつつネットワークの安定性を維持することも目的としています。
スパニングツリーの設定により、冗長なリンクを用意しておくことで、リンク障害が発生した場合でも通信が途絶えないようにすることが可能です。
通常はデータを転送しないブロッキングポートが、障害発生時に自動的にアクティブになり、新たな通信経路を提供することで、ネットワーク全体の安定性を確保します。
このようにして、ネットワークが安定して動作し続けることが保証されます。
まとめ
スパニングツリーは、ネットワーク内のループを防ぎ、効率的かつ安定的な通信を実現するために重要なプロトコルです。
ルートブリッジの選定、ルートポートや代表ポートの決定、そしてブロッキングポートの活用によって、ネットワークの効率性と冗長性が確保されます。
また、BPDUによる監視を通じて、ネットワークの状態を常に把握し、トポロジの変化に迅速に対応することが可能です。
これらのポイントを押さえてスパニングツリーを適切に構築することで、安定したネットワーク環境を維持することができるのです。



……が、実はスパニングツリーは現在はあまり使われていないのです。



ええっ、せっかく学習したのに!?



試験対策としては重要なので、覚えておいてくださいね。スパニングツリーの代わりに使われている技術については、次の記事で学習します。



はーい。