今回はMerakiのSwitchにおけるSpanning Tree Protocolの実装についてまとめておきたいと思います。
旧来はMeraki MSシリーズのみの展開であったため、良くも悪くもシンプルな実装となっていたのですが、IOS-XEが動作するCatalyst9000シリーズのサポートが開始となり、Meraki Documentを見ても少し分かりにくくなってきましたので実機にて確認をしておきたいと思います。
いきなり結論
今回の記事を簡単に説明するために、いきなり結論からまとめておきたいと思います。
・MS Firmware
Merakiが旧来からリリースしているMSシリーズはRSTP(802.1w)をサポートしています。
デフォルトでRSTPが動作し、STP(802.1D)のモードでは動作しません。
MS390およびCatalyst9000シリーズにてCS FirmwareもしくはIOS-XE 17.15で動作しているSwitchにおいては、MST(802.1S)をサポートしています。
しかし、MSTとはあるもののシングルインスタンスのみのサポートとなっており、複数VLANを複数インスタンスに分けてMSTを動作させることはできません。
・IOS-XE 17.18.x
IOS-XE 17.18から念願(?)のRPVST+のサポートが開始となりました。
これまでCisco CatalystでデザインしていたようなVLAN単位での細かなSTPの設定が可能になりました。
MS FirmwareのSTP
それではここから実際にパケットキャプチャを取得しながら確認をしていきたいと思います。
まずは基本となるMS FirmwareにおけるSTPの動作についてです。
上記の通りRSTPとなっていることを確認してみます。
まずは設定から。
「スイッチ > 設定 > スイッチ設定」へ移動します。
STPの設定ではRSTPの有効化のオン・オフおよび、各スイッチのブリッジプライオリティの設定が行えます。
注意ポイントとしては、このRSTPをオフにしてしまうとこのネットワーク全体でSTPが無効となってしまうことです。
私は勘違いしていてこれをオフにするとSTPとして動作する物だと思っていました。

MS350でパケットキャプチャを取得してみました。
WiresharkでBPDUを見てみると、Rapid Spanning Treeとなっていることが確認できました。

IOS-XE 17.15.4.1のSTP
今回の検証では、CS Firmwareが動作するスイッチの用意が出来ませんでしたので、IOS-XE 17.15.4.1が動作するCatalyst9300にて確認を行いました。
設定に関しては表面上何も変わることはありません。

IOS-XEにて動作するCatalystにおいてはCloud CLIの利用が可能となりますので、CLIを利用してSpanning Treeの稼働状況を確認してみます。

MSTとして動作していることが確認できました。
また、シングルインスタンス(MST0)で動作を行っていることも確認できます。
パケットキャプチャの確認も行います。

MSTとしてBPDUが送信されていることが確認できました。
IOS-XE 17.18.1のSTP
最後にIOS-XE 17.18から新たにサポート開始となったRPVST+の確認を行います。
IOS-XE 17.18が動作するCatalyst9000シリーズをMeraki Networkに登録すると、STP設定画面にRPVST+の設定項目が追加されます。

RPVST+はその名の通りVLAN単位でのSTPの設定が可能となりますので、ブリッジプライオリティの設定を行う場合は、そのVLANの指定が必要となります。

Catalyst9300でパケットキャプチャを確認します。

これまでと異なり、Switchから送信されるBPDUの数が多くなっていることが確認できます。
(R)PVST+はVLAN単位でBPDUを送信するためです。
以前の記事においてMerakiにてCatalyst9000シリーズを利用するためのVLAN Databaseの設定に関して記事を投稿しました。
不要なBPDUの数を減らすためにMerakiでCatalyst9000シリーズを利用するために不要なVLANを削除することが推奨となります。
BPDUの詳細を見てみます。
STPとしてはRSTPで動作しており、それがVLAN単位で送信されていることが分かります。

今回の構成ではVLAN1-10とVLAN Databaseにて設定しているため、その10個のBPDUと下位互換性を持たせるための通常(Per VLANではない)のRSTPのBPDUが合計11個送信されていることが確認できます。
Cloud CLIでも確認しておきます。

STPとしてはRSTPで動作し、かつVLAN単位で動作していることが分かります。
まとめ
各Merakiスイッチのスパニングツリーの動作について実際にパケットキャプチャを取得して確認を行いました。
実際にBPDUを見てみると、この記事の最初にまとめた通りの動作となっていることが確認できました。
IOS-XE 17.18におけるPVST+に関してはこの後の記事で追加検証を少し行ってみたいと思います。