スパニングツリーとは?冗長化の仕組みや役割を知って構成してみよう
スパニングツリーとは?
スパニングツリーは、L2ネットワークにおけるループを防止をするための機能です。スパニングツリーを使えばループを防止しながらネットワークを冗長化でき、耐障害性が向上します。
信頼性の高いL2ネットワークを構築するためには、機器に障害が発生しても迂回できるように、複数のスイッチを使用したNW構成にします。しかし冗長化をした場合にスパニングツリーを有効にしなければ、ブロードキャストやマルチキャストという種類のトラフィックが延々を回り続けてしまうという問題が発生します。(ループという)
スパニングツリーの主な役割と注意点
スパニングツリーを有効化すると、装置に設定したブリッジ優先度などを使用して、ルートブリッジやポートの役割が自動的に決定されます。また、そのアルゴリズムによりあるポートが自動的にブロッキング状態になりループを防ぎます。しかし障害発生時は自動的に障害を検知し、そのポートが有効化して迂回路を形成し耐障害性を発揮します。
スパニングツリーにはSTP、PVST、RSTP、RPVST、MSTPと色々な種類があり、ベンダー間で互換性がない物もありますので、どの種類を採用するかは注意が必要です。
スパニングツリーが開発された目的
ブロードキャストストームという現象があります。2つ以上のスイッチでループ状に接続されたネットワークでは、ブロードキャストしたデータが送信元のスイッチへ戻り、またブロードキャストされるというループに陥ります。ループは永遠に繰り返されてしまい、ネットワークはその処理の重さに耐えきれず機能を停止してしまいます。ブロードキャストストームとは、このような状態をさします。
このように、ネットワーク機能を停止させてしまう、ブロードキャストストームの原因であるループを引き起こさないように開発されたのが、スパニングツリーです。
スパニングツリーの仕組み
スパニングツリーとは、その名の通りスパニングツリーアルゴリズム(STA)を用います。BPDUというフレームに基づいたLANスイッチをツリー状の冗長構成とすることで、ブロードキャストストームに陥る原因のループ構造になることを防ぎます。
ここでは冗長構成、LANスイッチ、BPDUとは何か、詳しく解説します。
1:冗長構成
冗長構成とは、システムに障害が起きた時のために、バックアップとして予備の装置を設置しておくことをいいます。
スイッチに不具合が起きた、LANケーブルが切断してしまったなど、構成が破綻するような状態になった時でも、予備の装置のルートに切り替え、障害が起きたルートを迂回することで、データの送受信を行うことができます。
しかし前述したとおり、スパニングツリーを導入しないとループに陥る危険性があります。スパニングツリーを用いることで、ループを遮断しつつ冗長構成にすることができるのです。
2:LANスイッチ
スパニングツリーを構成するには、まず複数あるLANスイッチの中からブリッジIDの値が一番小さいものを選出し、それを「ルートスイッチ」として設定し起点とします。
そして、そのルートスイッチを起点とした経路の中で、距離が一番近い経路を「ルートポート」とします。この時の距離とは、後述するBPDUのパスコストのことを示しています。
次に、スイッチにそれぞれ接続されている両方のスイッチのルートパスコストを測定し、値が小さい方のルートを「指定ポート」として設定します。
最後に、「ルートポート」にも「指定ポート」にも選出されなかったルートが「非指定ポート」となり、ブロッキングされます。パスコストが一番大きい値のルートをブロッキングの対象ルートとすることで、ループしてしまう構造になるのを防いでいるのです。
3:BPDU
BPDUとは「Bridge Protocol Data Unit」の頭文字をとったもので、マックアドレスやプライオリティー値からなるブリッジIDやルートスイッチまでの距離を表すパスコストというものがまとまっているフレームのことを指します。
このフレームを送受信することにより、スイッチ同士のルート設定を決定することができるのです。
ブリッジID
ブリッジIDとは、マックアドレス(6バイト)とプライオリティー値(2バイト)からなるルートブリッジの決定の元となる値をいいます。
プライオリティー値自体は、プライオリティ(4ビット)と拡張システムID(12ビット)で構成されています。
パスコスト
パスコストとは、スイッチ間のリンクの帯域幅を基準に、ルートブリッジまでの距離を累積した値のことです。
スパニングツリーではパスコストの値が低いほうのスイッチが優先されます。設計者がパスコストを設定することができるため、スパニングツリー構造でどのルートを選択するかを、このパスコストに基づいて設定することができます。
それぞれの帯域幅とそれに対するパスコストは、以下の通りです。
帯域幅:パスコスト
・10Mbps:100
・100Mbps:19
・1Gbps:4
・10Gbps:2
スパニングツリーで出来ること
スパニングツリーには、どこかのスイッチまたはリンクに障害が起きてしまった際でも、ネットワーク機能を停止することなく稼働することができる冗長機能が備わっています。
また、スパニングツリーはループを起こすこともないので、ネットワークを正常に機能し続ける事が可能です。
ループ構成の遮断
2つ以上のスイッチからなるループ構成でブロードキャストが行われると、必ず元のスイッチにブロードキャストされたデータが戻り、またそこからブロードキャストされ、データがループし続けてしまいます。するとネットワークが負担に耐えられなくなり、ブロードキャストストームを起こします。
ループ構成の遮断とは、ブロードキャストストームを防ぐことであるともいえます。
障害時の迂回経路を自動で切り替える冗長機能
スパニングツリーは冗長構成をとっています。この冗長機能とは、万が一スイッチやリンク部分に障害が起きるなどしてメインのルートが不能になった時でも自動で別のルートを選択し、ネットワークの機能を維持するものです。
スパニングツリーをとることで、障害やトラブルにも強いネットワークにすることができるのです。
スパニングツリーの種類
スパニングツリーにはいくつか種類があり、それぞれ構成する対象や構成方法が異なるため種類が分かれています。それではそれぞれの種類を選ぶメリットとはなんでしょうか。
1:STP
STPとは、シングルスパニングツリーのことをいいます。シングルスパニングツリーとは、VLAN全体を対象としており、ルートポート、代表ポート、非指定ポートからなるスパニングツリーのことをいいます。
挙動としてスイッチ起動から数十秒はループを起こさないため、フレームのやりとりができません。そのため起動直後の動きが多少遅いというデメリットがあります。
2:RSTP
RSTPとは、ラピッドスパニングプロコトルのことをさしています。ツリーの構成手順としてはSTPと同様です。しかし、STPでは非指定ポートというものが構成の中に存在しますが、RSTPでは代替ポートとバックアップポートが存在します。
この違いにより、スイッチ起動後またはブロッキング後の挙動として、STPのようにルート設定に数十秒間をかけることなく、たった数秒でフレームのやりとりを行うことが可能になります。
またRSTPにはSTPへの下位互換性があるため、それぞれのモードのスイッチを接続することができます。
3:MSTP
MSTPとは、マルチスパニングツリープロコトルのことをいい、その名の通り複数のVLANを対象としたスパニングツリー構成のことをいいます。
STPとRSTPについてはVLANごとでスパニングツリー構成をとるのに対し、MSTPは一定のVLANのまとまりであるインスタンスごとにスパニングツリー構成をとります。そのため、スイッチひとつのCPUあたりにかかる負担を減らすことができるため、大規模なネットワーク構成に向いています。
一方で複数でない場合、MSTPを構成することができないため、小・中規模のネットワークには向いていません。
スパニングツリーの構成手順
ここまではスパニングツリーとは何か、その仕組みや特徴について説明してきました。ここからは実際にスパニングツリー構成を組む際の手順について解説します。
どのような方法で構成するのかを把握できれば、今までの仕組みや特徴についても深く理解することができるでしょう。
1:ルートスイッチの選出
ルートスイッチとは、ルートの起点となるスイッチのことをいいます。具体的には、リンクで繋がれているスイッチ全体でBPDUの情報をやりとりし、BPDUフレーム内のブリッジID(プライオリティー値とマックアドレスからなる値)が最も小さいスイッチを優先度が一番高いスイッチとして判断し、ルートスイッチとして選出します。
2:ポートの役割の決定
ルートスイッチが選出された後、ルートポート、代表ポート、非指定ポートの順番でそれぞれのポートの役割を決定していきます。
これら3つのポートとはどのようなものなのか、1つずつ解説します。
ルートポート
ルートポートとは、それぞれのスイッチのルートスイッチから、最も近い距離のルートのことをさします。
このときの距離とはリンク間の距離ではなく、スイッチ同士でやりとりされるBPDUフレームにあるパスコストに基づいた距離のことをいいます。
代表ポート
代表ポートとは、各スイッチのリンクの両端にあるスイッチのうち、距離が短い方のポートのことをさします。このときの距離とは、ルートパスコストのことをいいます。
これにより、ルートスイッチからなるポートはすべてが代表ポートとなります。
非指定ポート
非指定ポートとは、ルートポートの代表ポートを決定した後、最後に残ったポートのことをいいます。すなわちルートポートから一番距離の遠いポートが、非指定ポートとなります。
非指定ポートに選出されると、データの送受信がブロッキングされます。このブロッキングがループの発生を防ぎます。
3:スパニングツリー構成の確認
以上の手順を踏むことで、スパニングツリーを構成することができます。これによりルートポートで障害がおきるとスパニングツリーの再計算が行われ、その結果、非指定ポートのブロッキングが解除されデータの送受信が再開されるようになります。
構成を確認するためにルートポートのリンクを遮断し、非指定ポートが正常にブロッキング解除されるのかを検証する必要があります。
スパニングツリーでトラブルのないネットワークを構築しよう
ここまで「スパニングツリーとは」という疑問に答えてきました。スパニングツリー構成の脆弱性をついたスパニングツリー攻撃というものも存在しますが、ciscoなどが販売しているスイッチでトリガーの設定等をすることで防ぐことができます。そのため、脆弱性の面をクリアすることができるでしょう。
ぜひネットワークにスパニングツリー対応を行い、障害に強いネットワークを構成してみてください。
FEnetを運営しているネプラス株式会社はサービス開始から10年以上
『エンジニアの生涯価値の向上』をミッションに掲げ、
多くのインフラエンジニア・ネットワークエンジニアの就業を支援してきました。
ネプラス株式会社はこんな会社です
秋葉原オフィスにはネプラス株式会社をはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
インフラ業界に特化
ネットワーク・サーバー・データベース等、ITインフラ業界に特化。Cisco Systemsプレミアパートナーをはじめ各種ベンダーのパートナー企業です。
業界を知り尽くしているからこそ大手の取引先企業、経験豊富なエンジニアに選ばれています。
-
正社員なのにフリーランスのような働き方
正社員の方でも希望を聞いたうえでプロジェクトをアサインさせていただいており、フリーランスのような働き方が可能。帰社日もありません。
プロジェクト終了後もすぐに次の案件をご紹介させていただきますのでご安心ください。
-
大手直取引の高額案件
案件のほとんどが大手SIerやエンドユーザーからの直取引のためエンジニアの皆様へに高く還元できています。
Ciscoをはじめ、Juniper、Azure、Linux、AWS等インフラに特化した常時300件以上の案件があります。
-
スキルアップ支援
不要なコストを削減し、その分エンジニアの方へのスキルアップ支援(ネットワーク機器貸出、合格時の受験費用支給など)や給与で還元しています。
受験費用例)CCNP,CCIE:6-20万円、JNCIS:3-4万円、AWS:1-3万円など
※業務に関連する一定の資格のみ。各種条件がありますので詳しくは担当者へにお尋ねください。
-
現給与を保証します!※
前職の給与保証しており、昨年度は100%の方が給与アップを実現。収入面の不安がある方でも安心して入社していただけます。
※適用にはインフラエンジニアの業務経験1年以上、等一定の条件がございます。
-
インセンティブ制度
ネットワーク機器の販売・レンタル事業等、売上に貢献いただいた方にはインセンティブをお支払いしています。
取引先企業とエンジニア側、双方にメリットがあり大変好評をいただいています。
-
社会保険・福利厚生
社員の方は、社会保険を完備。健康保険は業界内で最も評価の高い「関東ITソフトウェア健康保険組合」です。
さらに様々なサービスをお得に利用できるベネフィットステーションにも加入いただきます。
-
東証プライム上場企業グループ
ネプラスは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
ネプラス株式会社に興味を持った方へ
ネプラス株式会社では、インフラエンジニアを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
オンライン面接も随時受付中。ぜひお気軽にご応募ください。
新着案件New Job
-
【高額年収】/【CCNA取得者歓迎】/ネットワークの構築/BIG-IP/東京都千代田区/【WEB面談可】/在宅ワーク/20代~30代の方活躍中
年収540万~540万円東京都千代田区(神保町駅) -
東京都中央区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅ワーク
年収600万~600万円東京都中央区(小伝馬町駅) -
【高額年収】/インフラ構築支援/東京都港区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅ワーク
年収960万~960万円東京都港区(新橋駅) -
ガバナンス推進、セキュリティ基盤支援/東京都港区/【WEB面談可】/在宅ワーク/20代~40代の方活躍中
年収780万~780万円東京都港区(新橋駅) -
カー用品販売会社の情報システム運用/東京都千代田区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/テレワーク
年収576万~576万円東京都千代田区(水道橋駅) -
ネットワーク構築、検証/東京都渋谷区/【WEB面談可】/テレワーク/20代~40代の方活躍中
年収540万~540万円東京都渋谷区(渋谷駅)