スパニングツリープロトコル(STP)では、ネットワーク内のループを防ぐために各スイッチが自動的に最適なパスを選定しますが、その過程で重要な役割を果たすのが「ポート識別子」です。
ポート識別子は、複数の経路が同じコストを持つ場合に、どのポートがルートポートになるべきか、あるいはどのポートがブロッキングされるべきかを決定するための重要な基準となります。
本記事では、ポート識別子の仕組みや優先度の設定方法を具体例とともにわかりやすく解説します。
ポート識別子とは?
スパニングツリープロトコル(STP)は、ネットワーク内のループを防ぎ、冗長なリンクを効率的に管理するためのプロトコルです。スイッチが持つ各ポートに対して、ポートの優先度とインターフェースIDを組み合わせた「ポート識別子」が使われ、STPでのリンク選択の際の決定材料のひとつとなります。
ポート識別子の構成
ポート識別子は以下のように構成されます:
ポート識別子=ポート優先度+インターフェースID
- ポート優先度:デフォルト値は128で、16の倍数(0, 16, 32, …, 240)の範囲で設定可能。値が低いほど優先度が高くなります。
- インターフェースID:スイッチ上のインターフェース番号を示し、インターフェース番号が小さいほど優先度が高くなります。
このポート識別子が、同じコストのリンクが複数ある場合に、どのポートをルートポートや指定ポートとして選定するかの決定に使われます。
具体例:ルートポートの選択
次のようなケースを考えてみましょう:
- SW2とルートブリッジ(SW1)の間に2本のリンクがある。
- SW2から見た場合、2つのリンクのルートコストが同じ。
スイッチ間が2本接続されていて、ループ接続になっています。 ただ、SW2から見ると、2つのリンクともルートブリッジまでのコストは同じです。
この場合、STPはどちらのポートをルートポートとして選ぶか決める必要があります。ここで重要になるのが「ポート識別子」です。
ポート識別子でのタイブレーク
ポート識別子を使って、以下の手順でルートポートが選定されます:
- ポート優先度の比較:2つのリンクでポート優先度に差があれば、より低い値のポートが選ばれます。
- インターフェースIDの比較:ポート優先度が同じ場合、インターフェースIDを比較し、番号が小さいインターフェースがルートポートに選ばれます。
例
SW2のインターフェースが Fa0/1 と Fa0/2 の2つのリンクでループしている場合、STPは次のようにポート識別子を比較します:
- Fa0/1 のポート識別子: 128 + インターフェースID 1
- Fa0/2 のポート識別子: 128 + インターフェースID 2
この場合、Fa0/1 がより優先度の高いポートと見なされ、ルートポートとして選ばれます。一方、Fa0/2 はブロッキングポートとなり、ループを防ぐ役割を担います。
ポート優先度のカスタマイズ
デフォルトでは全ポートの優先度は128に設定されていますが、ポート優先度を手動で調整することにより、意図的にルートポートやブロッキングポートを選定することができます。例えば、重要なトラフィックを通したいポートの優先度を下げることで、そのポートをルートポートとして指定しやすくなります。
設定例
次のコマンドでポート優先度を変更できます:
Switch(config-if)# spanning-tree vlan <VLAN_ID> port-priority <優先度値>
ここで、 <VLAN_ID>は対象VLANのIDを、<優先度値> は0から240までの16の倍数で指定します。
コメント