スパニングツリー -スパニングツリータイマーについて-

 

タイマー値を最適化する。

スパニングツリーは4段階の状態遷移を行い、最終的にForwarding状態に移行して初めて収束、すなわちデータの送受信が可能になります。

この状態遷移の間ではそれぞれタイマー値が定められていて数十秒の待機時間があるということは前回説明しました。

それぞれのタイマー値をまとめると、

すなわちデフォルトの状態では、  

(最大エージタイマ:20秒)+(転送遅延タイマ:15秒)+(転送遅延タイマ:15秒)  =50秒

の通信断が発生してしまうことになりますね。
そこで、通常ネットワーク機器ではスパニングツリープロトコルで使用するタイマー値を変更することが可能です。
以下がスパニングツリープロトコルで使用されるタイマー値の一覧です。

タイマー値一覧
項目 説明
最大エージタイマ(Max Age) ルートスイッチから受け取るメッセージ間隔。ここで設定した時間内にルートスイッチからBPDUを受け取らなければスパニングツリーを再計算します。デフォルトは20秒。6~40秒の間で変更が可能。
転送遅延タイマ(Forward Delay) リスニング、ラーニング時に使用する待機時間。デフォルトは15秒。4~30秒で変更が可能。
Hello Time ルートブリッジから送られるBPDUの送信間隔。デフォルトは2秒。1~10秒で変更が可能。

 

タイマー値を最適化する危険性

それじゃあ単純にタイマー値を短くすれば収束時間も短くなるんじゃないの?と思うでしょう。

確かに転送遅延タイマを例えば15秒から5秒に変更すれば、その分収束時間が早くなります。
しかし単純にタイマーを調整すると取り返しのつかない結果になる場合があることも知っておかなくちゃいけない。

Helloタイマーを変更すると…

デフォルトのHelloタイマーは2秒です。 例えばこのHelloタイマーを1秒に変更した場合、何に注意すれば良いでしょう?

Helloタイマーを1秒にすると、当然今までの2倍のBPDUパケットがネットワークに流れることになります。
またスイッチも今までの2倍のBPDUパケットを処理しなければいけませんね

つまりネットワークに2倍の負荷がかかることになる訳です。 特にネットワークにそれほど負荷がかかっていないネットワークであれば、気にならないかもしれませんが、既に高負荷なネットワークであった場合問題が生じる場合がありますね。

 

最大エージタイマを変更すると…

最大エージタイマを短くした場合はどうでしょうか?
最大エージタイマはデフォルトで20秒です。最大エージタイマは、ルートスイッチからBPDUを設定した時間内で受け取らなければスパニングツリーを再計算するまでの時間でしたね。

例えば非常に大きなネットワークで最大エージタイマを最小の6秒とした場合、ルートブリッジが送出したBPDU(Bridge Protocol Data Units)が末端のスイッチ(ブリッジ)まで届くのに6秒を経過してしまう可能性がありますよね。

そうなると頻繁にスパニングツリーの再計算が発生してしまうことになりますね。

 

転送遅延タイマを変更すると…

それでは転送遅延タイマを短くするとどうなるでしょう?
転送遅延タイマを短くした場合も、最大エージタイマを短くした場合と同様に、ネットワークを大きくすると時間内に末端のスイッチ(ブリッジ)まで届かない可能性が出てきます。

このようにスパニングツリーのタイマー値を変更するには、最新の注意と事前の適切な検討が必要です。
特に大きなネットワークの場合や、今後大きくなる予想されるネットワークについては、出来ることならデフォルトのまま使用した方が安全ですね。

ちなみに設定変更する場合の指針として、

・最大エージタイマは転送遅延タイマの2倍よりも小さくなくちゃいけない。
・最大エージタイマはHelloタイマの2倍よりも大きくなくちゃいけない。

ということを適切に守ることが重要です。

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: