BPDU

BPDU

 BPDU(Bridge Protocol Data Unit)は、スパニングツリープロトコル(STP)を使用するネットワークにおいて、ブリッジ間で交換されるメッセージの一種です。

 STPは、複数のブリッジを接続したネットワークにおいて、ループを防止するために使用されます。BPDUは、STPによって使用されるプロトコルであり、ブリッジ間で情報を交換するために使用されます。

BPDUには、以下のような情報が含まれています。

  1. ブリッジID:各ブリッジには固有のIDが割り当てられており、BPDUに含まれる。
  2. ポートID:各ポートには固有のIDが割り当てられており、BPDUに含まれる。
  3. スパニングツリー情報:BPDUには、ルートブリッジのID、各ブリッジまでの距離、および各ポートの状態(ブロッキング、転送、受信)が含まれる。

 BPDUは、各ブリッジ間で定期的に交換されます。交換されたBPDUに含まれる情報をもとに、各ブリッジはスパニングツリーを計算し、ループを検出して排除します。

 また、BPDUは、ブリッジの障害発生時にも交換されます。障害が発生すると、BPDUを送信するブリッジは自身がルートブリッジであることを宣言し、他のブリッジは新しいスパニングツリーを再計算することになります。

 以上が、BPDUについての概要です。BPDUによって、スパニングツリーが正しく構築され、ネットワークにループが発生しないようになっています。

スパニングツリー(Spanning Tree)

 スパニングツリー(Spanning Tree)は、複数のブリッジを接続したネットワークにおいて、ループを防止するためのプロトコルです。スパニングツリーは、ツリー状の構造を作成し、複数の経路が存在する場合には最適な経路だけを使用することで、ループを排除します。

スパニングツリーは、以下の手順で構築されます。

  1. ブリッジIDの決定:各ブリッジには、固有のIDが割り当てられています。このIDは、優先度とMACアドレスから構成されています。
  2. ルートブリッジの決定:各ブリッジは、ルートブリッジとなるブリッジを選択します。ルートブリッジは、ブリッジIDが最も小さいものとなります。
  3. ツリー構造の構築:各ブリッジは、ルートブリッジとの距離(コスト)を計算し、最もコストの小さい経路で接続することができるポートを選択します。ポートの状態は、ブロッキング、転送、受信の3つに分かれており、初期状態ではすべてのポートがブロッキング状態となっています。
  4. ポートの状態変更:ポートがブロッキング状態になっている場合、定期的にBPDUを交換し、他のブリッジとの接続状態を確認します。他のポートからBPDUを受信した場合、ポートの状態を転送状態に変更します。このようにして、ブリッジ間でのループを排除し、最適な経路だけを使用するようになります。

 スパニングツリーは、ネットワークにおける冗長性を犠牲にすることで、安定したネットワーク運用を実現するためのプロトコルです。スパニングツリーによって、ネットワーク内のループを排除することで、パケットの不正転送や無限ループの発生を防止し、ネットワークの安定性を確保します。

ブリッジID(Bridge ID)

 ブリッジID(Bridge ID)は、スパニングツリープロトコルにおいて、各ブリッジに割り当てられる固有の識別子です。ブリッジIDは、優先度(Priority)とMACアドレス(MAC Address)から構成されています。

 優先度は、ブリッジがスパニングツリープロトコルによって決定されるパスの優先度を示す値で、0から65535までの範囲で設定されます。値が小さいほど優先度が高く、ルートブリッジになりやすくなります。デフォルトの優先度は32768です。

 MACアドレスは、ネットワークインターフェイスに割り当てられた一意のアドレスで、48ビットの値です。MACアドレスは、ブリッジのユニークな識別子として使用されます。

ブリッジIDは、優先度とMACアドレスの組み合わせによって構成されます。

 スパニングツリープロトコルでは、ブリッジIDが小さいほど優先度が高くなるため、ブリッジIDが最も小さいブリッジがルートブリッジとなります。ルートブリッジは、スパニングツリーのトポロジーを決定するために重要な役割を担っています。

ポートID(Port ID)

 スパニングツリープロトコルにおいて、ポートID(Port ID)は、ブリッジが各ポートに割り当てる固有の識別子です。ポートIDは、各ポートの優先度(Priority)とポート番号(Port Number)から構成されています。

 優先度は、ブリッジの優先度と同様に、0から65535までの範囲で設定されます。値が小さいほど優先度が高く、より優先的なポートとして扱われます。デフォルトの優先度は128です。

 ポート番号は、各ブリッジのポートに割り当てられた一意の番号で、1から65535までの範囲で設定されます。

ポートIDは、優先度とポート番号の組み合わせによって構成され、以下のように表されます。

 スパニングツリープロトコルでは、ポートIDが最も小さいポートが、最も優先的なポートとして扱われます。このポートは、各ブリッジにおいて、以下のような役割を担っています。

  • ルートポート(Root Port):ブリッジがルートブリッジに接続しているポート。他のブリッジにおいて、このポートへの最短パスを選択することで、スパニングツリーが構築されます。
  • 指定ポート(Designated Port):ブリッジが接続しているセグメントにおいて、他のブリッジと通信を行うために選択されたポート。このポートは、ブロッキングポート(Blocking Port)として機能する、他のポートとは異なり通信が可能です。
  • ブロッキングポート(Blocking Port):デザイナードポート以外の、接続されたセグメントにおいて、通信を行わないように設定されたポート。これらのポートは、ループの発生を防止するために存在します。