スパニングツリー解説(かな?)

冗長性を持たせた経路を作ると、ループが生じてしまう。このループを解消するためにLANスイッチ同士での経路決定を行う必要がある。この際にスパニングツリープロトコル(Spanning Tree Protocol:STP、IEEE802.1D)が使われる。ただしプロトコルと言ってもスパニングツリープロトコルアルゴリズムと言った方がよい。
LANスイッチはBPDU(Bridge Protocol Data Unit)を交換しあってツリー構造を構築する。BPDUに各LANスイッチの「ブリッジID」と、各経路の「パスコスト」を入れて、LANスイッチ同士が交換し合い、ツリーを決定する。なお、BPDUはLLCヘッダを付けてEthernetフレームに入れられる。
各LANセグメントにおいてコストは以下のようにすることが多い。なお、「LANセグメント」とはLANスイッチ間のネットワークのこと。「セグメント」だとコリジョンドメインを指すので意味が異なる気がするのだが、これらを混同して書いている人が多い。どれが正しいのかよく分からない。いちおうここでは上記の前提で記述する。

回線速度 コスト
10G 2
1G 4
100M 19
16M 62
10M 100
4M 250


続いて、スパニングツリープロトコルの動作の概略は以下の通り。動作順が正しいかどうかは知りません。でも動作を解釈するにはこの順番じゃないと問題があるように思う。(3番目と4番目はほぼ同時に行うのでしょう。)

  • まずブリッジIDとMACアドレスが最小であるLANスイッチを「ルートブリッジ*1」と決める。ルートブリッジはBPDUを2秒ごとに送信する。
  • LANスイッチは、ルートブリッジから送られるBPDUを受けて、LANセグメントのパスコストを足して、その他のポートからBPDUを送る。
    なお、以下ではLANセグメントを通る際のパスコストを「パスコスト」、ルートブリッジからの経路で加算されたコストを「ルートブリッジからのパスコスト」ということにする。また、ルートブリッジからのパスコストが複数ある場合には小さい値を送る(多分)。
  • 複数のポートを有するLANスイッチは、それぞれのポートに送られたBPDUを元にして、「ルートブリッジからのパスコスト」が最小となるポートを選んで「ルートポート(Root Port)」とする。
    当然ながらLANスイッチにはルートポートが一つだけ、また必ず一つ、選ばれる。ルートポートはアクティブにする。
  • とあるLANセグメントに接続されている複数のLANスイッチは、受信したBPDUに含まれている「ルートブリッジからのパスコスト」を元にして、ルートブリッジからのパスコストが最小となるLANスイッチ、つまりこのLANセグメントから一番ルートブリッジ側にあるLANスイッチを選んで「代表ブリッジ(Desinated Bridge)」とし、この代表ブリッジのポートを「代表ポート(Desinated Port、指定ポートとも)」と決める。
    LANセグメントには代表ポートが必ず一つだけ選ばれる。LANスイッチには複数の代表ポートが選ばれ得る。代表ポートもアクティブにする。
  • 代表ポート、ルートポート以外のポートはブロックする。

これにより、無事にループのないツリー構造が構築される。
なお、経路障害が生じて、あるLANスイッチがそのことを検知すると、TC BPDU(Toporogy Change BPDU)を送信し、それを受信したLANスイッチはルートポートから送信してルートブリッジに送る。
TC BPDUをルートポートから送るのは、ルートポートはルートブリッジに一番近いポートだからである。各LANスイッチがこれを繰り返せばTC BPDUは必ずルートブリッジに着く。
でもルートポートに接続されているLANセグメントに障害が生じたら、仕方ないから他のポートから送るのでしょうね、多分。あ、代表ブリッジが責任を持って当該LANセグメントの障害に関してルートブリッジに連絡するのかな。きっとそうですね。
すみません、TC BPDUを最初に出すLANスイッチはおそらく全てのポートからTC BPDUを送信するのでしょう。その後はルートポートから送信、ですね。

参考:
スパニング・ツリー完全理解---目次 | 日経 xTECH(クロステック)
スパニングツリー -スパツリの基本動作- - ネットワークエンジニアを目指して



追記:STPの改良型としてはRSTP(Rapid STP:802.1w)、MSTP(Multiple STP:802.1s)がある。前者はSTPの切り替え高速版、後者はVLAN対応版。
2014 徹底解説ネットワークスペシャリスト本試験問題 (本試験問題シリーズ)

2014 徹底解説ネットワークスペシャリスト本試験問題 (本試験問題シリーズ)

*1:なぜルートスイッチじゃないのかなぁ…別に良いけど。