【入門編】 MSTP(Multiple Spanning Tree Protocol:IEEE 802.1s)のインスタンス管理とVLANマッピング – インフラ・物理&L2/L3ネットワーク基礎実践ガイド

こんにちは!ネットワークの世界へようこそ。インフラエンジニアの主筆ライターとして、日々国内外のネットワークの波を追いかけている私です。

ネットワークの学習を進めていると、必ずぶ壁にぶつかるのが「ループ」の問題ですよね。L2(レイヤー2)スイッチの世界では、冗長化のためにケーブルを二重に繋ぐと、パケットが永遠にぐるぐる回り続ける「ブロードキャストストーム」という恐怖の現象が起きてしまいます。それを防ぐための救世主がSTP(Spanning Tree Protocol)です。

今回は、そのSTPの進化系であり、大規模ネットワークの救世主であるMSTP(Multiple Spanning Tree Protocol:IEEE 802.1s)について、インスタンス管理とVLANマッピングの仕組みに焦点を当てて、じっくりと紐解いていきましょう!

難しい用語やパケットの細かいルールはいったん脇に置いて、身近な例えから一歩ずつ理解していきましょうね。

—

1. なぜMSTPが必要なの? 郵便配達に例えて考えてみよう

まずは、これまでのSTPの歴史を少しだけ振り返ってみましょう。

一番最初のオリジナルであるSTPや、その進化版であるRSTP(Rapid STP)は、ネットワーク全体で「たった1つの木(ツリー)」しか作ることができませんでした。
これを身近な例えで言うなら、「会社宛ての郵便物が何万通あっても、社内の通路は全フロア合わせて常に1本しか使ってはいけないルール」のようなものです。

これでは、ある部署(VLAN 10)の通信のためにメインの通路が使われているとき、別の部署(VLAN 20)の超急ぎの書類まで同じ通路の順番待ちをさせられてしまいます。空いている別の通路があるのに、ルールだから使えない……これではあまりにも不効率で、ネットワークのリソースがもったいないですよね。

そこで登場したのが、今回主役のMSTPです!

MSTPは、複数のVLANをグループ化して、それぞれのグループごとに独立した「お仕事のルート(インスタンス)」を作ることができます。先ほどの例えなら、「総務宛ての郵便はこの通路、開発宛ての郵便はあっちの裏通路、といったように、部署ごとに専用の高速道路を割り当てる」ようなものです。

これにより、ネットワークの回線をムダなく使い切りつつ、万が一の障害時にも自動で迂回できるスマートな環境が作れるようになります。

—

2. MSTPの核心:「リージョン」と「VLANマッピング」の仕組み

MSTPを実際に設定・運用するときに、絶対に押さえておかなければならないキーワードが2つあります。それが「MSTリージョン(Region)」と「VLANマッピング」です。

一歩ずつ、中身を覗いてみましょう!

MSTリージョン:お互いに話し合える「同じチーム」の範囲

会社組織を想像してみてください。日本支社とアメリカ支社では、働くルールや文化が少し違いますよね。
ネットワークの世界も同じで、世界中のスイッチすべてを1つの巨大なルールで縛るのは大変です。そこで、「このグループのスイッチたちは、同じルールでお互いにスパニングツリーを計算し合おうね」と定めたエリアのことをMSTリージョンと呼びます。

同じリージョンに所属するスイッチ同士は、以下の3つの設定(指紋のようなもの)が完全に一致していなければなりません。
1. リージョン名(Configuration Name)
2. リビジョン番号(Revision Number)
3. VLANとインスタンスの割り当て表(VLAN-to-Instance Mapping Table)

この3つがガッチリ合致して初めて、「おっ、仲間だな!」と認識し合えるわけです。

VLANマッピング:どのVLANをどのグループに所属させるか?

MSTPでは、ネットワーク上に最大65,000個以上あるかもしれないVLANを、そのまま個別にツリー計算するとスイッチのCPUがパンクしてしまいます。
そこで、「似たような性質のVLANをまとめて、いくつかの『インスタンス(グループ)』に整理整頓する」というアプローチを取ります。これがVLANマッピングです。

例えば、次のようにグループ分け(マッピング)をします。

  • インスタンス 1(MSTI 1): 社内PC用の VLAN 10, 20, 30 をまとめるグループ
  • インスタンス 2(MSTI 2): IP電話やWeb会議などの音声・映像用の VLAN 40, 50 をまとめるグループ
  • インスタンス 0(CIST): すべてのベースとなる大元(デフォルト)のグループ

こうすることで、スイッチは個別のVLANではなく「インスタンス単位」でツリーの計算を行えばよくなり、CPUの負担を劇的に軽くすることができるのです。

—

3. 実務で使える!CiscoスイッチでのMSTP設定サンプル

それでは、実際に現場でどのように設定するのか、Cisco IOSをベースにしたサンプルコードを見ていきましょう。
難しそうに見えるかもしれませんが、一つひとつの意味を噛み砕けば怖くありませんよ!

! 1. グローバルコンフィギュレーションモードに入り、STPのモードをMSTPに変更します
Switch(config)# spanning-tree mode mst

! 2. MSTコンフィギュレーションモードへ移行し、リージョンの基本設定を行います
Switch(config-mst)# name TOKYO-HQ-REGION    ! すべてのスイッチで「完全に同一」にするリージョン名
Switch(config-mst)# revision 1               ! 設定変更したら必ず数値を上げるリビジョン番号

! 3. VLANマッピングの定義(どのVLANをどのインスタンスに所属させるか)
Switch(config-mst)# instance 1 vlan 10,20,30  ! VLAN 10, 20, 30 を インスタンス1 に所属させる
Switch(config-mst)# instance 2 vlan 40,50     ! VLAN 40, 50 を インスタンス2 に所属させる

! 4. 設定を反映させます(設定内容の確認は "show pending" で事前に行うのがプロの技です)
Switch(config-mst)# exit

! 5. 各インスタンスごとのプライマリ(優先的にルートブリッジにする)スイッチを指定します
Switch(config)# spanning-tree mst 1 root primary  ! インスタンス1の親機にする
Switch(config)# spanning-tree mst 2 root primary  ! インスタンス2の親機にする

💡 実務でのワンポイントアドバイス

現場でMSTPを構築するときに一番多いトラブルが、「スイッチ間でリージョン名やVLANマッピングの文字が1文字でも違っていて、別々のリージョンと誤認されてしまう現象」です。
例えば、片方のスイッチで TOKYO-HQ-REGION と打ったついでに、もう片方でうっかり Tokyo-HQ-Region と大文字・小文字を間違えてしまうと、それだけで通信断を引き起こす原因になります。設定を投入した後は、必ず以下のコマンドで状態を確認するクセをつけましょう!

Switch# show spanning-tree mst configuration

このコマンドで、パズルのピースのようにすべてのスイッチの「指紋(ダイジェスト値)」が完全に一致しているかを確認するのが、インフラエンジニアのルーティンワークです。

—

4. おわりに

いかがでしたでしょうか?
MSTPのインスタンス管理とVLANマッピングについて、少し身近に感じられるようになったのではないでしょうか。

  • 複数のVLANをグループ化(マッピング)して、負荷を賢く分散させる。
  • 同じルールを共有する仲間同士のエリアを「リージョン」と呼ぶ。

この2つのエッセンスさえ掴んでおけば、どんなに大規模なキャンパスネットワークの設計書を見ても、パニックになることはありません。一歩ずつ、確実に知識を積み重ねていきましょう。

それでは、また次回のネットワークの深淵でお会いしましょう!

コメント

タイトルとURLをコピーしました