スパニングツリープロトコル
スイッチ(ブリッジ)をループ状に接続したネットワークで、一部のポートをブロックして論理的に木構造にし、フレームが回り続けるのを防ぐプロトコル。IEEE 802.1Dで定められている。
イマシルちゃんの解説
スイッチを輪っかのようにつなぐと、1本ケーブルが切れても別の道で通信できて安心だよね。
でも、そのままだとブロードキャストのフレームが輪っかの中をぐるぐる回り続けて、
ネットワークがパンクしちゃうんだ。これをブロードキャストストームっていうよ。
そこでスパニングツリーは、輪っかのどこか1か所を「通行止め」にして、ループをなくすんだ。
しかも、使っている道が切れたら、通行止めを自動で解除して迂回路にしてくれる。
冗長性とループ防止を両立する、かしこい仕組みなんだよ!
より深い解説
定義
スパニングツリープロトコル(STP)は、レイヤ2のネットワークに物理的なループがあるとき、ブリッジ同士でBPDU(Bridge Protocol Data Unit)という制御フレームを交換し、ループのない木構造(スパニングツリー)を論理的に作るプロトコルである。木に含まれないポートは、データのフレームを転送しないブロッキング状態にする。
なぜループが問題なのか
イーサネットのフレームには、IPのTTLのような「寿命」がない。ループがあると、次の問題が起こる。
| 問題 | 内容 |
|---|---|
| ブロードキャストストーム | ブロードキャストのフレームが、ループを回りながら増え続け、帯域を使い尽くす |
| MACアドレステーブルの不安定 | 同じ送信元MACアドレスのフレームが、別々のポートから届き、学習内容が書き換わり続ける |
| フレームの重複 | 同じフレームが宛先に何度も届く |
スパニングツリーの作り方
- ルートブリッジを選ぶ
ブリッジID(ブリッジプライオリティ+MACアドレス)が最も小さいブリッジが、木の根(ルートブリッジ)になる
- ルートポートを選ぶ
ルートブリッジ以外の各ブリッジで、ルートブリッジまでのルートパスコスト(経由するリンクのコストの合計)が最小になるポートを、ルートポートにする
- 指定ポートを選ぶ
各リンク(セグメント)で、ルートブリッジまでのコストが最小のブリッジのポートを、そのリンクの指定ポートにする。ルートブリッジのポートはすべて指定ポートになる
- 残りをブロックする
ルートポートでも指定ポートでもないポートを、ブロッキングポートにする
コストが同じ場合は、相手のブリッジID、ポートIDの小さいほうが優先される。
コストから木を求める考え方
ルートポートの選び方は、「ルートブリッジから各ブリッジまでの最短経路」を求めることと同じである。そのため、各区間のコストが与えられた図からスパニングツリーを求めるには、ルートを始点にしたダイクストラ法の要領で、近いブリッジから順に「最短でたどり着く経路」を決めていけばよい。各ブリッジについて、最短経路の最後の区間が木に含まれる辺になる。
例:ルートをR、区間のコストを R─X (2)、R─Y (6)、X─Y (3)、X─Z (5)、Y─Z (1) とする
| ブリッジ | ルートまでの最小コスト | 経路 | 木に入る区間 |
|---|---|---|---|
| X | 2 | R→X | R─X |
| Y | 5 | R→X→Y | X─Y |
| Z | 6 | R→X→Y→Z | Y─Z |
木に入らないR─Y、X─Zの区間は、どちらかの端のポートがブロックされる。直接つながっている区間でも、コストが大きければ木に含まれないことに注意する。
パスコストの標準値(IEEE 802.1D-1998)
| リンク速度 | コスト |
|---|---|
| 10Mbit/s | 100 |
| 100Mbit/s | 19 |
| 1Gbit/s | 4 |
| 10Gbit/s | 2 |
速いリンクほどコストが小さく、ルートへの経路として選ばれやすい。
ポートの状態遷移(802.1D)
| 状態 | フレームの転送 | MACアドレスの学習 | BPDUの処理 |
|---|---|---|---|
| ブロッキング | しない | しない | 受信のみ |
| リスニング | しない | しない | 送受信 |
| ラーニング | しない | する | 送受信 |
| フォワーディング | する | する | 送受信 |
ブロッキングからフォワーディングに移るまで、リスニングとラーニングにそれぞれ転送遅延(標準15秒)がかかる。障害を検知するまでの最大エージ(標準20秒)を合わせると、切り替えに最大50秒程度かかる。この遅さを改善したのがRSTPである。
スパニングツリーの弱点
このため、データセンターなどでは、リンクアグリゲーションやスタック、レイヤ3の冗長化と組み合わせて、STPに頼らない設計も増えている。
実際の試験ではここに出る!
- ネットワークスペシャリスト 令和6年度 春期 午前Ⅱ 問5
- ネットワークスペシャリスト 令和5年度 春期 午前Ⅱ 問10
- ネットワークスペシャリスト 令和4年度 春期 午前Ⅱ 問4
- ネットワークスペシャリスト 令和元年度 秋期 午前Ⅱ 問4