スパニングツリーの概要 〜基礎編②(STP)~
今回の授業は、もう少しスパニングツリー(Spanning Tree)について詳しく教えていこうと思います。前回の授業でスパニングツリーの基礎編をやりました。前回の授業が分かっていること前提で始めますので、まだ読まれていない方は、こちらから。
まず、スパニングツリーには、大きく分けて2種類あります。
今回は、このうちスパニングツリー(STP)について解説していこうと思いますので、頑張っていきましょう!
Contents
スパニングツリー(STP)
まずは、通常のスパニングツリー(STP)について解説していきます。
ルートブリッジ(RB)の選定
前回の授業で教えた通り、STPはリーダーを決めます。リーダーを決める際に必要となる要素は、以下になります。
これらの比較をSTPが動作している全てのスイッチと行い、リーダーを決めます。このリーダーのことを『ルートブリッジ』と呼びます。また、このブリッジプライオリティとMACアドレスの組み合わせを『ブリッジID』と言いますので、覚えておいてください。
それでは、このブリッジIDの交換はどのようにしておこなわれるのでしょうか?それは、『BPDU(Bridge Protocol Data Unit)』というプロトコルによってマルチキャストで転送され、STPを動作しているスイッチは、そのパケットを受信することが出来るのです。こうしてルートブリッジと言う名のリーダーが選出されます。
※マルチキャストとは、グループに所属しているメンバー全員に転送されるトラフィックのことをいいます。
パスコスト
ルートブリッジという名のリーダーが選出されると、他のメンバーがリーダーとの距離を測定します。その時に使用されるのが、『パスコスト』と呼ばれる物です。
パスコストは、リンクの速度によって自動的に算出されるもので、以下のようになっています。
ルートブリッジまでに通る経路で使用されるリンクのパスコストを足し算することで、ルートブリッジまでの距離を測定します。
ポートの種類
STPを使用するポートには、3つの種類があります。
ルートポート(RP)
ルートポートとは、ルートブリッジまでの距離で最も近いポートのことを指します。つまり、ルートブリッジを除く全てのスイッチにおいても、必ず所有することとなります。
以下のような構成でスイッチ#1がルートブリッジであった場合、スイッチ#2のGi0/1のパスコストは『4』となり、同様にスイッチ#3のGi0/1もパスコスト『4』となります。これは、ルートブリッジと接続されているリンクが共に1Gbpsとなっているからです。続いてスイッチ#4のGi0/2はスイッチ#2との接続リンクが1Gbpsとなっていることからパスコストは足し算されて『8』となります。一方、Gi0/3は、スイッチ#3との接続リンクが100Mbpsとなっていることから、パスコストが『23』になります。
次にスイッチ#2のGi0/2のパスコストですが、これは、スイッチ#4のGi0/3のパスコストに1Gbpsのパスコストが加算されるため、『27』となります。そして、スイッチ#3のGi0/2はスイッチ#4のGi0/2のパスコストに100Mbpsのパスコストが加算されて『27』となります。
これですべてのスイッチのポートでパスコストが算出されたら、スイッチ内のポートの中でパスコストの値が一番小さいポートを探します。そのポートこそがルートポートとなります。スイッチ#2で言えば、Gi0/1とGi0/2で比較してGi0/1のパスコストが『4』でGi0/2よりも小さいため、ルーとポートに選出される仕組みとなります。
指定ポート(DP)
指定ポートとは、接続されているスイッチ同士のうち、ルートブリッジに近い方が指定ポートになります。つまり、ルートブリッジとなったスイッチは、必ず全てのポートが指定ポートになることがわかるでしょうか?
選出の仕方については、以下のルールに沿って選出されます。
・ルートブリッジの全てのポート
・1リンクに必ず選出される
・リンク内のパスコストの少ない方が選出される
今回の場合で言うと、まずルートブリッジであるスイッチ#1のGi0/2、Gi0/3の両方が指定ポートに選出されます。
その後、スイッチ#2のGi0/2は、対向のスイッチ#4のGi0/2がルートポートに選出されていることから、指定ポートに選出されます。
そして、最後にスイッチ#4のGi0/3が対向のスイッチ#3のGi0/2のパスコストと比較して小さいことから指定ポートに選出されます。
非指定ポート(NDP)
非指定ポートとは、フレームの送受信を実施しないポートとなります。選出方法は簡単で、ルートポート(RP)にも指定ポート(DP)にも選出されなかったポートが、非指定ポート(NDP)になります。
このポートが選出されることにより、ループフリーの構成が実現されるのです。
選出するまでの流れ
スパニングツリーの構成が構築されるまでに、いくつかのフェーズがあります。
・ブロッキング
・リスニング
・ラーニング
・フォワーディング
ブロッキング
STPを動作させている全てのポートは、ブロッキングから始まります。この時は、全てのフレームの送受信を拒否しており、BPDUのみを許可している状態となります。この状態からリスニングに移行するまでは、最大で20秒間待機することになります。
リスニング
ブロッキングからリスニングに移行されると、ルートブリッジ、ルートポート、指定ポートの選出を行います。ここから、スパニングツリーを構築し始めるフェーズとなるのです。
このツリー構造を構築するまでに15秒かかり、その間は、BPDUの交換のみでデータ通信は出来ません。
ラーニング
ラーニングの状態になると、スパニングツリーの構造が出来上がり、送信元のMACアドレスを学習し始めます。また、非指定ポートに選定されたポートは、即座にブロッキングポートに移行されます。
これにより、どのMACアドレスからどのMACアドレスにフレームを転送したい場合は、どの経路を通ればいいのかが決定されます。
この作業にかかる時間は、15秒となっており、その間はデータ通信は出来ません。
フォワーディング
ここまでの3つのフェーズが終わるとフォワーディングになります。このフェーズに入るとデータ通信が可能となりますが、もちろん、非指定ポートに選出されたポートは、ブロッキングポートのままとなるので、データ通信は出来ません。
つまり、スパニングツリーを動作しようとすると、ブロッキングからフォワーディングに移行するまでに50秒程時間がかかります。
これは、スパニングツリーを動作しているスイッチが故障した場合も同様となります。どの非指定ポートを解放すべきかの再計算が必要となるため、迂回経路を探し出すまで時間が要するのです。
これを解消するために開発されたのが、ラピッドスパニングツリー(RSTP)なのですが、今回の授業は、ここまでとします。
まとめ
スパニングツリーの動作について書いてみましたが、いかがだったでしょうか?なかなか難しい技術ですが、小規模ネットワークでは、必ずと言っていいほど使用されている技術です。
次回は、ラピッドスパニングツリー(RSTP)となります。少しずつでいいので、理解するように頑張っていきましょう!
次のスパニングツリーの概要 ~基礎編③(RSTP)~に進みましょう!
スイッチ#2のGi0/2は、対向のスイッチ#4のGi0/2がルートブリッジに選出されていることから、指定ポートに選出されます。
とありますが
スイッチ#4のGi0/2はルートポートではないでしょうか…?
コメントありがとうございます。
ご指摘の通りです。誤記がありましたので、修正させていただきました。
混乱をさせてしまい申し訳ありませんでした。