BPDU 【Bridge Protocol Data Unit】 BPDUパケット
概要
BPDU(Bridge Protocol Data Unit)とは、構内ネットワーク(LAN)内のネットワークスイッチなどの間でやり取りされるイーサネットフレームの一種で、循環経路を防止する「スパニングツリー」の通信制御に用いられるもの。スパニングツリー(spanning tree)とは、3台以上のネットワークスイッチで構成されるLANに円環(ループ)状の経路が形成され、フレームが循環し続けてしまうのを回避する制御方式である。STP(Spanning Tree Protocol)などのプロトコル(通信規約)に基づいてスイッチ間で経路情報を伝え合って、一部の経路を閉鎖するなどして循環を抑止する。
BPDUはスパニングツリーが有効なスイッチから一定時間ごとにネットワーク内の他のスイッチに向けてブロードキャスト(一斉配信)で送信される特殊なフレームである。内部には自身の識別符号(ブリッジID)、経路探索の起点となるスイッチ(ルートブリッジ)のID、伝送速度を加味したルートまでの距離を表す値(パスコスト)、ルートまでのホップ数などが記載される。
ブリッジID (bridge ID)
スパニングツリーで用いる各スイッチの識別符号を「ブリッジID」という。8バイトの値で、前半2バイトがルート選定の際の優先度を示す「ブリッジプライオリティ」、後半6バイトが工場出荷時に設定された機器の個体識別符号であるMACアドレスとなる。
プライオリティは管理者が手動で設定する値で、ネットワーク内で最も小さな値に設定されたスイッチが経路探索における起点(ルートブリッジ)となる。どのスイッチにも何も設定しなければすべてデフォルト値となるため、MACアドレスが最も小さいものがルートとなる。
パスコスト (path cost)
ルートブリッジからの距離を示す値だが、物理的な線路長を表すわけではなく、途中のスイッチ間の伝送路に通信速度に応じて設定されたコスト値をあてはめ、これを端から順に積算したものである。回線の伝送能力が高いほどコストは小さいという関係になっている。
伝送速度とコスト値の対応は規格で定められており、10Mbps(10BASE-Tなど)なら「100」、100Mbps(100BASE-TXなど)なら「19」、1Gbps(Gigabit Ethernet)なら「4」、10Gbps(10Gigabit Ethernet)なら「2」などとなっている。
バージョンによる違い
最初のBPDU仕様はSTP(Spaninng Tree Protocol)の規格化(IEEE 802.1D)に伴って策定され、現在ではこれを「バージョン0」と呼んでいる。改良版の「RSTP」(Rapid STP/IEEE 802.1w)では、一部の仕様を改めた「バージョン2」が用いられる。タイプやフラグの値が一部異なるだけで、フレーム形式自体はバージョン0とほぼ等しくなっている。
複数のVLANを制御できる「MSTP」(Multiple STP/IEEE802.1s)ではBPDUの「バージョン3」が規定された。VLANインスタンスごとにスパニングツリーを行うため、BPDUにもMST拡張と呼ばれるインスタンスごとのパスコストやルートブリッジIDを格納する領域が追加されている。