スパニングツリープロトコル(STP)

STP の Extended System ID と Priorityが4096単位(倍数)であることの関係

Extended System ID とは

Extended System ID とは、STP/RSTP/MSTP の環境において、利用 MAC アドレスを増やすことなく BPDU の BridgeID を一意に識別することができる仕組みです。

歴史的に、STP が誕生したころには MAC アドレスは十分に余裕があり、不足を心配することはありませんでした。その頃、STP では Bridge ID の構成要素として PriorityMAC アドレスの 2 つのみを利用していました。

ですが Ethernet が予想以上に普及し、節約する必要が出てきました。特に PVSTP においては VLAN 毎に異なる Bridge ID が必要となるため、消費量が激しいのが問題となりました。

PVSTP では同一スイッチ内であっても各VLANにおいて異なるスイッチとして動作する必要があるためです。

これは通常のケースでは実装はほとんど考えられませんが、特殊なケースとして複数の VLAN を跨いで PVSTP を動作させる場合です。

STP 初期の時代においては MAC が潤沢にありましたので、メーカが出荷時にスイッチ内に
プール予約していた MAC アドレスの中から取り出し、Bridge ID に割り当てていました。

この MAC アドレス消費問題を解決するために IEEE 委員会は Extended System ID を策定しました。

MAC アドレスとは対比的に、Priority フィールドが 16bit 分必要となるシーンがほとんどなかったため、Priority のうち 12bit (VLAN の数と同じ) を、この Extended System ID に流用したのです。

これにより、STP で使う Bridge ID を VLAN 毎に使うのではなく、1 つの MAC アドレスにこの Extended System ID を付け加えて識別することができるようになりました。

Extended System ID の使われ方は規定されていないようですが、拡張した 12bit が VLAN の数と同じであり、実質 VLAN ID とマッピングさせる前提だと思われ、これ以外の実装を知りません。

この Extended System ID を実装した結果、MAC アドレスを消費せず Bridge ID を VLAN の数だけ用意できるようになりました。

なお、互換性を保つため、Priority は修正を加えることなく、4096 単位となってしまいました。

Cisco での extended system-id の無効化

Cisco では MAC アドレスのプールが 64 個より多い数をサポートする機器においては、この Extended system-id を無効化し、一番最初の図のようなもともとの Bridge ID (Priority:16bit + MAC address:48bit) の構成にすることができます。(あまり利用するケースは無いですが。。)

(config)# no spanning-tree extend system-id

コメント

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