はじめに
VLAN 数が多い環境で PVST+/Rapid-PVST+ の負荷が気になる場合や、MST を導入したものの片側だけインスタンスがうまく繋がらない場合、その鍵を握るのが MST の「リージョン」と「インスタンス」の考え方です。本記事は、Cisco の MST について、リージョンの設計から設定・確認・切り分けまでを整理します。MST を含む STP 全体の位置づけは関連記事『スパニングツリー(STP)とは|仕組みと RSTP・MSTP の違い』、Cisco の STP 設定全般は『Cisco Catalyst の STP 設定|モード選択とルートブリッジのポイント』も参照してください。
- MST のリージョンとインスタンスの考え方
- 同じリージョンに属するための 3 要素
- インスタンスごとにルートを分けて負荷分散する設定
- 設定の確認とリージョン不一致の切り分け
要点を先に示すと、MST は複数の VLAN を少数のインスタンス(MSTI)に集約して扱う仕組みです。同じリージョンに属するには、リージョン名・リビジョン番号・VLAN-instance マッピングの 3 要素がすべて一致している必要があります。インスタンスごとに異なるルートブリッジを置くことで、冗長リンクを使い分けた負荷分散ができます。
MST とは|リージョンとインスタンスの考え方
MST(マルチプルスパニングツリー、802.1s)は、RSTP をベースに、複数の VLAN を少数のスパニングツリーインスタンスへまとめて扱う方式です。VLAN ごとにインスタンスを持つ PVST+ と比べ、インスタス数を抑えられるため、VLAN 数が多い環境で BPDU と CPU の負荷を軽減できます。STP の世代と違いの基礎は、前掲のハブ記事を参照してください。
MST リージョンの 3 要素
同じ設定を持つスイッチ群が、1 つの MST リージョンを形成します。リージョンに属する条件は、次の 3 要素がすべて一致することです。
- リージョン名(name)
- リビジョン番号(revision number)
- VLAN-instance マッピング(どの VLAN をどのインスタンスに割り当てるか)
参考: Cisco — Cisco Nexus 5000 Series Configuring Multiple Spanning Tree
“they must have the identical MST name, VLAN-to-instance mapping, and MST revision number.”
(同一 MST リージョンに属するには、同じ MST 名・VLAN-instance マッピング・MST リビジョン番号を持つ必要がある)
https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus5000/sw/configuration/guide/cli/CLIConfigurationGuide/MST.html
この 3 要素のいずれか 1 つでも食い違うと、スイッチは別リージョンの境界と見なされます。リビジョン番号は自動では増えないため、設定変更時の更新漏れに注意が必要です。リージョンの外からは、内部構成が見えない 1 つの論理ブリッジ(ブラックボックス)として扱われます。
IST・CIST・CST と境界ポート
MST には、リージョンの内と外をつなぐためのインスタンスとツリーの概念があります。
IST(Internal Spanning Tree): インスタンス 0 にあたる特別なインスタンスで、リージョン内のすべての MST スイッチをまとめます。リージョン内で実際に BPDU を交換するのは IST です。
CST(Common Spanning Tree): 複数のリージョンや、MST 以外の機器(RSTP/PVST+ など)をまたぐ、ネットワーク全体のツリーです。各リージョンは 1 つの論理ブリッジとして CST に参加します。
CIST(Common and Internal Spanning Tree): IST と CST を合わせた、ネットワーク全体のツリーを指します。
リージョンの境界で、別リージョンや MST 以外のプロトコルと接する MST ポートを境界ポート(boundary port)と呼びます。境界ポートでは、相手に合わせて BPDU の扱いが切り替わります。

MST の設定手順
MST の設定は、モードの切り替えとリージョンの定義、そしてインスタンスごとのルートブリッジ設計という流れになります。
モードの切り替えとリージョン設定
まず spanning-tree mode mstでモードを切り替え、続いて spanning-tree mst configurationでサブモードに入り、リージョンの 3 要素(名前・リビジョン・VLAN-instance マッピング)を設定します。既定では、すべての VLAN がインスタンス 0(IST)に割り当てられています。
Switch(config)# spanning-tree mode mst
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# name REGION1
Switch(config-mst)# revision 1
Switch(config-mst)# instance 1 vlan 10,20,30
Switch(config-mst)# instance 2 vlan 40,50,60
Switch(config-mst)# endサブモードでは、適用前の設定を show pending、現在の設定を show currentで確認できます。確定後は show spanning-tree mst configurationで、名前・リビジョン・インスタンスへの VLAN 割り当てを確認します。この 3 要素は、同じリージョンに属するすべてのスイッチで一致させる必要があります。リビジョン番号は自動では増えないため、構成変更時は手動で更新します。
インスタンスごとのルートブリッジで負荷分散
MST の利点は、インスタンスごとに異なるルートブリッジを置くことで、冗長リンクをインスタンス単位で使い分けられる点です。例えば、あるスイッチをインスタンス 1 のルート、別のスイッチをインスタンス 2 のルートにすると、VLAN グループごとに異なる経路を通せます。
! SW_A をインスタンス 1 のルートに
SW_A(config)# spanning-tree mst 1 root primary
! SW_B をインスタンス 2 のルートに
SW_B(config)# spanning-tree mst 2 root primaryルートの指定は、root primary/root secondaryのマクロのほか、spanning-tree mst <instance> priority <value>での手動指定もできます(プライオリティは 4096 刻み)。
ただし、負荷分散が機能するには、VLAN-instance マッピングが全スイッチで一致していることが前提です。
参考: Cisco — Catalyst 9200 Configuring Multiple Spanning-Tree Protocol
“all VLAN-to-instance mapping assignments must match; otherwise, all traffic flows on a single link.”
(すべての VLAN-instance マッピングが一致している必要がある。そうでなければ全トラフィックが 1 本のリンクに集中する)
https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9200/software/release/17-2/configuration_guide/lyr2/b_172_lyr2_9200_cg/configuring_multiple_spanning_tree_protocol.html
マッピングが揃っていないと、意図した負荷分散にならず、トラフィックが 1 本のリンクに寄ることがあります。

設定の確認とリージョン不一致の切り分け
MST は、設定の確認とリージョンの一致確認が切り分けの中心になります。
show spanning-tree mstで、各インスタンス(MST0 が IST/CIST、MST1 以降が MSTI)のブリッジ・ルート・リージョナルルートと、各ポートの役割(Role)・状態(Sts)を確認します。
Switch# show spanning-tree mst
##### MST0 vlans mapped: 1-9,11-4094
Bridge address 3473.2db8.be80 priority 32768 (32768 sysid 0)
Root address 689e.0ba0.f580 priority 24576 (24576 sysid 0)
Regional Root address f04a.021e.9500 priority 24576 (24576 sysid 0)
internal cost 20000 rem hops 19
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- ----
Gi1/0/2 Root FWD 20000 128.2 P2p
##### MST1 vlans mapped: 10
Bridge address 3473.2db8.be80 priority 32769 (32768 sysid 1)
Root this switch for MST1リージョンの設定は show spanning-tree mst configurationで名前・リビジョン・VLAN マッピングを、show spanning-tree mst configuration digestで Digest 値を確認します。Digest は 3 要素から計算される値で、同じリージョンのスイッチ同士では一致します。
Switch# show spanning-tree mst configuration digest
Name [REGION1]
Revision 1 Instances configured 3
Digest 0xDDD722ACC557C99A947C6285022DEC87リージョン不一致の切り分けでは、隣接スイッチ間で名前・リビジョン・マッピングを突き合わせ、Digest が一致するかを確認します。3 要素のいずれかが食い違うと、隣接スイッチは別リージョンの境界として扱われ、意図したインスタンス分割や負荷分散になりません(参照: Cisco — Troubleshoot MST on Catalyst 9000 Switches — https://www.cisco.com/c/en/us/support/docs/lan-switching/stp/218351-troubleshoot-mst-on-catalyst-9000-switch.html )
ポートの状態遷移は、logging event spanning-treeが有効な場合、インスタンス単位でログに記録されます。
%SPANTREE-6-PORT_STATE: Port Gi0/23 instance 2 moving from forwarding to disabledプラットフォームによっては %SPANTREE-SP-6-PORT_STATEと表記されます。これは各インスタンスの状態遷移の記録で、リンクのフラップなどが背景にあることが多く、ログ自体は異常を意味しません。
よくある誤解と運用上の注意
MST の運用で踏みやすい点を整理します。
3 要素のどれかが違うと別リージョンになる
名前・リビジョン・VLAN-instance マッピングは、1 つでも食い違うと別リージョンの境界として扱われます。特にリビジョン番号は自動では増えないため、マッピングを変更したのにリビジョンの更新を忘れると、リージョンが分断されることがあります。
1 つの VLAN は 1 つのインスタンスにだけ割り当てる
1 つの VLAN を複数のインスタンスにマッピングすることはできません。各 VLAN はいずれか 1 つのインスタンスに属し、明示的に割り当てていない VLAN はすべて IST(インスタンス 0)に入ります。
PVST+ や他ベンダーとの境界
MST と PVST+/Rapid-PVST+ が混在する境界では PVST simulation が働き、不整合があると %SPANTREE-2-PVSTSIM_FAILでルートポートがブロックされることがあります。また、Arista・ALAXALA・FortiSwitch なども MST に対応しますが、相互接続するには 3 要素を揃える必要があります。マルチベンダー環境での MST 相互接続は、各ベンダー個別の記事でも扱う予定です。
まとめ
Cisco の MST は、複数の VLAN をインスタンスに集約して扱うことで、VLAN 数が多い環境の負荷を抑えつつ、インスタンスごとの負荷分散を可能にします。本記事では、リージョン設計から設定・確認・切り分けまでを整理しました。
- MST は複数 VLAN をインスタンスに集約し、負荷を抑える方式
- 同じリージョンの条件は、名前・リビジョン・VLAN-instance マッピングの一致
- インスタンスごとに異なるルートを置くと、冗長リンクを負荷分散できる
- 設定は
spanning-tree mode mstからspanning-tree mst configurationで定義 - 確認は
show spanning-tree mstとmst configuration、Digest で突き合わせ - 3 要素のどれかが違うと別リージョン境界扱いになり、負荷分散が崩れる
- PVST+ や他ベンダーとの境界では、3 要素を揃えることが前提
以上、最後までお読みいただきありがとうございました。
