Part2では,スパニング・ツリーのしくみを解剖する。LANスイッチでスパニング・ツリー機能を使うと,どのようにしてループしないネットワークを自動的に作るのか。その核心に迫っていこう。

LANスイッチ同士で情報交換

 スパニング・ツリー(spanning tree)の「span」とは,「橋をかける」という意味で,「tree」は「木」という意味だ。ネットワークの要素であるLANスイッチやLANセグメント*1をつないで(橋をかけて),最終的にネットワーク全体をツリー(木)構成にする。これが,この機能を「スパニング・ツリー」と呼ぶ理由である。

 スパニング・ツリーが動作しているスイッチ・ネットワークでは,LANスイッチが一部のポートの通信をブロックして,論理的にループのないツリー構造のネットワークを作る(図2-1)。このときLANスイッチ同士で必要な情報をやりとりする。この情報のやりとりに使われるプロトコルが,スパニング・ツリー・プロトコル(STP)である。

図2-1●物理的にループ接続していても自動的にポートをブロックして論理的にはループのないツリー状の構成を作る
図2-1●物理的にループ接続していても自動的にポートをブロックして論理的にはループのないツリー状の構成を作る
LANスイッチでスパニング・ツリーを動かすと,LANスイッチ同士がBPDUと呼ばれるデータを交換してループのないツリー構成の経路を作る
[画像のクリックで拡大表示]

 基本的な流れとしては,まずLANスイッチ同士でツリーの根(ルート)となるLANスイッチを決める。それから,そのLANスイッチに最短経路で到達するポートを,各LANスイッチごとに探す。そして,いずれにも関係のないポートの通信をブロックして無効にしていくと,経路がループしないツリーが構成されるのだ。

 つまり,それぞれのLANスイッチがあらかじめ決められた内容にしたがって個別に動作していくと,結果としてネットワーク全体で最適なツリー構造になるという,一見“不思議”な方式でスパニング・ツリーは動作している。なぜそうなるのか,そのしくみを見て確認していこう。

ブリッジIDでツリーの構成を指定

 スパニング・ツリーを有効にしたLANスイッチ同士はBPDU*2と呼ばれる制御フレームをやりとりする。このBPDUにはさまざまな情報が格納されている。その中で,ツリー構成を決めるための情報が,「ブリッジID」と「パス・コスト」である(図2-2)。

図2-2●ツリー構成を作るために必要な要素
図2-2●ツリー構成を作るために必要な要素
ツリーの根となるLANスイッチ(ルート・ブリッジ)を決める「ブリッジID」と,ルート・ブリッジに到達するための最短経路を知るための「パス・コスト」が必要になる。一般的には,ブリッジIDはユーザーが設定し,パス・コストはデフォルトの値をそのまま使う。

 ツリーのルートになるLANスイッチは,「ルート・ブリッジ」と呼ばれる。このルート・ブリッジを決めるための情報がブリッジIDである。スパニング・ツリー機能を有効にしたLANスイッチは,まず自身のブリッジIDの値をBPDUに入れて全ポートに送り出す。こうしてLANスイッチは互いにブリッジIDを教え合い,最も小さいブリッジIDを持つLANスイッチがルート・ブリッジになる。

 スパニング・ツリーを使う際には,この「ブリッジIDを適切に設定すること」が最大のキモになる。詳しくは後述するが,ルート・ブリッジが決まると,そこからどのような経路をとるかはパス・コストの情報で自動的に決まる。通常パス・コストの値は固定である*3。そのため,ブリッジIDを設定することが経路を決めることになるのだ。

 ブリッジIDは,ブリッジ・プライオリティと機器のMACアドレスを合わせた値になっている*4図2-3)。ユーザーは,このうちのブリッジ・プライオリティの値をLANスイッチに設定することでルート・ブリッジ,ひいてはネットワークのツリー構成を決める。

図2-3●スパニング・ツリーで必要な情報はBPDUと呼ばれる制御フレームで運ばれる
図2-3●スパニング・ツリーで必要な情報はBPDUと呼ばれる制御フレームで運ばれる
BPDUにはブリッジIDやパス・コストが入るフィールドなどが用意されている。LANスイッチ同士がこのデータをやりとりしてルート・ブリッジや最短経路を判断する。
[画像のクリックで拡大表示]