変更要約: 初版
2.4STPとループ防止
冗長化のためにスイッチ間を複数リンクで接続すると発生するL2ループとその害であるブロードキャストストーム、これを防ぐスパニングツリープロトコル(STP/RSTP)、優先度とMACアドレスで決まるルートブリッジ選出、そしてポートが遷移するポート状態とSTP・RSTPの収束速度の違いを学びます。
可用性を高めるため、スイッチ同士を複数の物理リンクで冗長接続したくなるのは自然な発想ですが、L2ネットワークではこれがそのままL2ループという重大な障害要因になります。ネットワーク設計者は「冗長化したいが、ループは避けたい」という一見矛盾する要求を、STP(スパニングツリープロトコル)によって両立させます。この節では、なぜループが起きると壊滅的な障害になるのか、STPがどうやってそれを防ぎながら冗長性を保つのかという因果関係を学びます。
2.4.1L2ループとブロードキャストストーム
- L2ループ=スイッチ同士が複数のリンクで環状に接続され、フレームが永久にループし続ける状態。L3のIPパケットにはTTL(生存時間)があり一定回数の転送で破棄されるが、L2のイーサネットフレームにはTTLに相当する仕組みがないため、ループするとフレームは永遠に増殖し続ける。
- ブロードキャストストーム=ループしたブロードキャストフレーム(ARP要求等)がネットワーク全体を埋め尽くすほど増殖し、帯域を使い果たしてネットワーク全体が実質的に機能停止する現象。スイッチのMACアドレステーブルも同じフレームの到着元が乱れて不安定になり、正常な通信まで巻き添えで失敗する。
2.4.2STP/RSTPとルートブリッジ選出
- STP(スパニングツリープロトコル)=冗長化されたL2トポロジの中から論理的にループのない木構造(スパニングツリー)を自動的に構築し、ループを形成するリンクの一部をブロッキング状態にして待機させることで、物理的な冗長性を保ったままループを防ぐプロトコル。
- ルートブリッジ=スパニングツリーの根(基準点)となる1台のスイッチ。ブリッジID(ブリッジ優先度+MACアドレス)が最小のスイッチが選出される。優先度が同じ場合はMACアドレスが最小のスイッチが選ばれるため、意図したスイッチをルートブリッジにしたい場合は優先度を明示的に低い値へ変更する運用が定石。
- 各スイッチはルートブリッジからのコストが最小になる経路上のポートをルートポート、各セグメントで最も低コストの経路を提供するポートを指定ポートとしてフォワーディング状態にし、それ以外の冗長リンク上のポートをブロッキング状態にしてループを断ち切る。
「L2ループ=TTLが無くフレームが無限増殖しブロードキャストストームに直結」「STP=一部リンクをブロッキングにしてループのない木を作る」「ルートブリッジ=ブリッジIDが最小のスイッチ(優先度→MACアドレスの順で比較)」が最頻出です。特定のスイッチをルートブリッジにしたいときは優先度を下げる運用を覚えておきましょう。
ある企業のネットワーク管理者が、コアスイッチとアクセススイッチを可用性向上のため2本のリンクで冗長接続したところ、直後にネットワーク全体の通信が極端に遅くなり、最終的に全ポートが通信不能になるという障害が発生しました。原因を調査すると、STPが無効化された状態で冗長リンクを敷設していたためL2ループが形成され、ARP要求などのブロードキャストフレームがループ上を永久に周回し続け、ブロードキャストストームが発生して帯域を使い果たしていたことが判明しました。復旧策として、まずSTP(可能ならより収束が速いRSTP)を有効化し、冗長リンクの片方を自動的にブロッキング状態へ落として論理的なループのない木を再構成します。ここで、コアスイッチを常にルートブリッジにしたいという設計方針がある場合、デフォルトのブリッジID比較に任せていると、たまたまMACアドレスの小さい別のアクセススイッチがルートブリッジに選出されてしまうリスクがあります。これは通信経路がアクセススイッチを頂点とした非効率な木になったり、意図しないスイッチの単一障害点化を招いたりするため望ましくありません。そこで、コアスイッチのブリッジ優先度を明示的に他のスイッチより低い値に設定し、確実にコアスイッチがルートブリッジとして選出されるように固定します。さらに、STPの収束(ポートがブロッキングからフォワーディングへ切り替わるまでの時間)は従来のSTPでは最大50秒程度かかるため、リンク障害時の通信断が長すぎるという追加要件があれば、ポート状態遷移を高速化したRSTP(Rapid STP)を採用し、数秒程度への収束時間短縮を図るという判断も必要になります。
| 項目 | STP | RSTP |
|---|---|---|
| 標準規格 | IEEE802.1D | IEEE802.1w |
| 収束時間の目安 | 最大約50秒 | 数秒程度 |
| ポート状態 | ブロッキング/リスニング/ラーニング/フォワーディング等 | 状態を再編し高速遷移(ディスカーディング等) |
ひっかけ: 「スイッチを冗長リンクで接続するだけで自動的に可用性が上がる」は誤りです——STPが有効でなければ冗長リンクはループを形成し、ブロードキャストストームでネットワーク全体が機能停止するリスクがあるため、冗長化とSTPの有効化は必ずセットで設計します。また「ルートブリッジは処理性能が最も高いスイッチが自動的に選ばれる」も誤り=選出基準はブリッジID(優先度→MACアドレス)のみで、スイッチの処理性能とは無関係です。意図したスイッチを選出したいなら優先度を明示的に設定する必要があります。
2.4.3この節のまとめ
- L2ループはTTLが無いためブロードキャストストームに直結し、ネットワーク全体を機能不全にする
- STP/RSTPは冗長リンクの一部をブロッキング状態にしてループのない木を作り、可用性とループ防止を両立
- ルートブリッジ選出はブリッジID(優先度→MACアドレス)で決まる。意図したスイッチにするには優先度を下げる設定が必要
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. コアスイッチとアクセススイッチを可用性向上のために2本の物理リンクで冗長接続したところ、直後にネットワーク全体の通信が極端に遅くなり、やがて通信不能に陥った。この障害の直接的な原因として最も適切なものはどれか。
Q2. STPが有効なネットワークで、特定のコアスイッチを確実にルートブリッジとして選出させたい。デフォルトのブリッジID比較に任せず、この目的を確実に達成する設定として最も適切なものはどれか。
Q3. STPを有効化しているネットワークで、リンク障害発生時に通信断が最大50秒程度続くことが業務上の問題となっている。この収束時間を数秒程度へ短縮するために採るべき対策として最も適切なものはどれか。

