目次
BPDU(Bridge Protocol Data Unit)
BPDUはスパニングツリープロトコルの制御情報です。スパニングツリープロトコルを有効にすると、レイヤ2スイッチはBPDUをやり取りしてスパニングツリープロトコルによるイーサネットフレームの転送経路の冗長化を行います。BPDUの主な役割は、以下のとおりです。
- ルートブリッジの選出
- ループ箇所の特定
- ループを防止するためのポートのブロック
- トポロジの変更通知
- スパニングツリーの状態監視
BPDUには、以下の2種類あります。
- コンフィグレーションBPDU
- TCN(Topology Change Notification) BPDU
関連記事
BPDUのカプセル化
BPDUは、IPパケットとはカプセル化が少し異なります。BPDUはIEEE802.3 LLCでカプセル化されます。DSAPとSSAPは「0x42」でControlは「0x03」です。そして、BPDUの宛先MACアドレスは、01-80-c2-00-00-00です。スパニングツリープロトコルを有効にしているレイヤ2スイッチは、宛先MACアドレス01-80-c2-00-00-00のBPDUを受信してスパニングツリープロトコルのさまざまな処理を行います。BPDUはマルチキャストのMACアドレスを指定していますが、スパニングツリープロトコルが有効なスイッチはBPDUをフラッディングするわけではないことに注意してください。
コンフィグレーションBPDU
スパニングツリープロトコルの大部分の制御を行うためのBPDUがコンフィグレーションBPDUです。ルートブリッジとして選出されたレイヤ2スイッチが定期的にコンフィグレーションBPDUを送信します。デフォルトでは、2秒ごとにコンフィグレーションBPDUを送信します。ルートブリッジ以外のレイヤ2スイッチは、ルートブリッジから受信したコンフィグレーションBPDUをもとに必要な情報を書き換えて、あらたたにコンフィグレーションBPDUを生成して他のスイッチへと送信します。
次の図は、コンフィグレーションBPDUのフォーマットを表しています。
フィールド | 概要 |
---|---|
プロトコルID | STPでは、「0x0000」で固定 |
バージョン | バージョンの値も「0x00」で固定 |
BPDUタイプ | コンフィグレーションBPDUでは、BPDUタイプは「0x00」 |
フラグ | ビット8-TCACKフラグ ビット1-TCフラグ |
ルートID | ルートブリッジのブリッジID |
パスコスト | ルートブリッジまでの累積コスト |
ブリッジID | BPDUを送信するスイッチのブリッジID |
ポートID | ポートプライオリティとポート番号から構成されるポートの識別情報 |
メッセージエージタイマ | BPDUが生成されてからの時間 |
最大エージタイマ | コンフィグレーションBPDUの有効時間 |
ハロータイマ | ルートブリッジがBPDUを送信する間隔 |
転送遅延タイマ | リスニング状態、ラーニング状態の時間 |
TCN BPDU
TCN BPDUは、Topology Change Notificationという名前の通り、トポロジが変更されたことを通知するためのBPDUです。TCN BPDUのフォーマットは、プロトコルID、バージョン、BPDUタイプのみでとてもシンプルです。
フィールド | 概要 |
---|---|
プロトコルID | STPでは、「0x0000」で固定 |
バージョン | バージョンの値も「0x00」で固定 |
BPDUタイプ | TCN BPDUでは、BPDUタイプは「0x80」 |
関連記事
TCN BPDUによるトポロジ変更通知の仕組みについて、以下の記事も合わせてご覧ください。
ブリッジID
スパニングツリープロトコルを有効にしているレイヤ2スイッチを識別するためのIDがブリッジIDです。コンフィグレーションBPDUの中にブリッジIDをブリッジIDを指定しています。ブリッジIDは、次の図のように2バイトのブリッジプライオリティと6バイトのMACアドレスから構成される全体で8バイトのIDです。
レイヤ2スイッチには多くのイーサネットポートが備わっていて、ポートごとにMACアドレスがあります。ブリッジIDのMACアドレスはポートごとのMACアドレスではなく、システムのベースのMACアドレスを利用します。このブリッジIDは、ルートブリッジの選出にも利用されます。ブリッジIDが最小のスイッチがルートブリッジになります。
パスコスト
スパニングツリープロトコルによって、ループ構成になっているネットワークトポロジをルートブリッジ中心のツリー構成とします。つまり、イーサネットフレームは、ルートブリッジを中心として転送するようにします。ルートブリッジ中心のツリー構成を取るために、ルートブリッジまでの最短経路を判断しなければいけません。そこで、ルートブリッジまでの距離を数値化するためのパスコストを考えています。
パスコストはポートの帯域幅から決定されて、帯域幅が大きいほどパスコストの値が小さくなります。そして、パスコストが小さいほど「より近い」とみなします。また、あるレイヤ2スイッチからルートブリッジまでの累積のパスコストをルートパスコストと呼びます。帯域幅ごとのパスコストの値を次の表にまとめています。
帯域幅 | コスト(16ビット) | コスト(32ビット) |
---|---|---|
10Mbps | 100 | 2000000 |
100Mbps | 19 | 200000 |
1Gbps | 4 | 20000 |
10Gbps | 2 | 2000 |
関連記事
レイヤ2スイッチの仕組み
- レイヤ2スイッチの概要 ~ひとつのネットワークを作る~
- レイヤ2スイッチの動作 ~MACアドレスに基づいて転送~
- 演習:レイヤ2スイッチの動作[Cisco]
- コリジョンドメインとブロードキャストドメイン
- レイヤ2スイッチの転送方式
- 全二重通信 ~送信も受信も同時に~
- オートネゴシエーション ~両端のポートの一番いい速度/モードにする~
- Cisco 全二重/半二重の不一致(duplex mismatch)
- ポートセキュリティ ~つながっているPCは正規のPCですか?~
- Cisco ポートセキュリティの設定
- Ciscoポートセキュリティの設定例
- SPAN ~ネットワークのモニタリング~
- スパニングツリーの概要 ~イーサネットフレームの転送経路を冗長化~
- BPDU ~スパニングツリーの制御情報~
- スパニングツリーの仕組み ~ルートブリッジを中心とした転送経路を決める~
- スパニングツリー ポートIDでルートポートが決まるとき
- スパニングツリーのポートの状態 ~ブロッキング/リスニング/ラーニング/フォワーディング~
- TCN BPDUによるトポロジ変更通知
- PVST ~VLANごとにスパニングツリーを考える~
- スパニングツリー(PVST)の設定と確認
- PortFast ~すぐにフォワーディング状態にする~
- スパニングツリーの設定例
- RSTP ~高速なスパニングツリー~
- RSTPの設定例
- ルートガード
- BPDUガード/BPDUフィルタ
- PoE ~UTPケーブルで電源供給~
- イーサチャネルの概要 ~複数のイーサネットリンクをまとめる~
- イーサチャネルの負荷分散 ~単純に帯域幅が増えるわけではない~
- L2イーサチャネルの設定 ~スイッチポートをまとめる~
- L3イーサチャネル ~ルーテッドポートをまとめる~
- イーサチャネルの設定例 L3イーサチャネルとL2イーサチャネルの接続
- LACP/PAgPのshowコマンド
- [Juniper-Cisco相互接続] L2リンクアグリゲーションの設定例
- [Juniper-Cisco相互接続] L3リンクアグリゲーションの設定例
- ストームコントロール