スパニングツリー(STP)では、ネットワーク内のループを防ぐために、各スイッチが自動で使う経路を選びます。その選び方の最後の決め手になるのが「ポート識別子(ポート ID)」です。
ポート ID は、ルートブリッジまでのコストが同じ経路が複数あるときに、どのポートをルートポートにし、どのポートをブロッキングにするかを決めるのに使われます。この記事では、ポート ID の仕組みと、ポート優先度を変えて経路を選ばせる方法を、例を使って説明します。
- ポート ID の構成(ポート優先度とポート番号)
- コストが同じとき、どのポートがルートポートになるか
- ルートポートを変えたいときに、ポート優先度をどのスイッチで設定するか
ポート ID とは
STP は、ネットワーク内のループを防ぎ、冗長なリンクを管理するためのプロトコルです。スイッチの各ポートには、ポート優先度とポート番号(インターフェース ID)を組み合わせた「ポート ID」があり、STP がリンクを選ぶときの判断材料の1つになります。
ポート ID の構成
| 要素 | 内容 |
|---|---|
| ポート優先度 | 既定値は 128。0〜240 の範囲で、16 の倍数(0、16、32、…、240)で設定できる。値が小さいほど優先される |
| ポート番号 | スイッチのインターフェースごとに決まる番号。値が小さいほど優先される |
ポート ID は、ポート優先度を先に比べ、同じならポート番号を比べる値です。Cisco のスイッチでは、show spanning-tree の Prio.Nbr の列に「128.1」のように表示されます。
具体例:ルートポートの選択
次のようなケースを考えます。
- SW2 とルートブリッジ(SW1)の間に 2 本のリンクがある
- SW2 から見ると、2 本のリンクのルートブリッジまでのコストが同じ
スイッチ間が 2 本でつながっているので、このままではループになります。SW2 から見ると、どちらのリンクもルートブリッジまでのコストは 4(1Gbps のコスト)で同じです。STP は、どちらかのポートをルートポートにし、もう一方をブロッキングにする必要があります。
コストが同じときの決め方
ルートポートは、次の順番で比べて決まります。
| 順番 | 比べるもの | この例では |
|---|---|---|
| 1 | ルートブリッジまでのコスト | どちらも 4 で同じ |
| 2 | BPDU を送ってきたスイッチのブリッジ ID | どちらも SW1 から届くので同じ |
| 3 | BPDU を送ってきたポートのポート ID | SW1 側のポート ID が小さいリンクが選ばれる |
| 4 | BPDU を受け取った自分のポートのポート ID | 3 までで決まるので使われない |
ポイントは、3 番目で比べるのが、SW2 自身のポートではなく、BPDU を送ってきた SW1 側のポートのポート ID だということです。SW1 の 2 つのポートは、BPDU にそれぞれ自分のポート ID を入れて送ります。SW2 は、ポート ID の小さい BPDU を受け取ったポートをルートポートにします。
例えば、SW1 側のポート ID が 128.1 のリンクが SW2 の Fa0/1 に、128.2 のリンクが SW2 の Fa0/2 につながっている場合、SW2 の Fa0/1 がルートポート、Fa0/2 がブロッキングポートになり、ループを防ぎます。
SW2 自身のポート ID(4 番目)が使われるのは、同じ SW1 のポートから届く BPDU を、SW2 の複数のポートで受け取るような特殊な場合(間にハブがあるなど)だけです。
ポート優先度のカスタマイズ
既定では、すべてのポートの優先度は 128 です。ポート優先度を手動で変えると、どのポートをルートポートやブロッキングポートにするかを意図的に決められます。
注意点は、ポート優先度を設定するスイッチです。上の例で SW2 のルートポートを変えたい場合、比べられるのは SW1 側(BPDU を送る側)のポート ID なので、SW1 のインターフェースでポート優先度を設定します。SW2 のインターフェースで優先度を変えても、SW2 のルートポートの選択は変わりません。例えば、SW1 で SW2 の Fa0/2 につながるポートの優先度を 128 より小さくすると、SW2 では Fa0/2 がルートポートになります。
ポート優先度は、次のコマンドで変更できます。
Switch(config-if)# spanning-tree vlan <VLAN_ID> port-priority <優先度値>
<VLAN_ID> には対象の VLAN の ID を、<優先度値> には 0〜240 の 16 の倍数を指定します。
下流のスイッチ(SW2)側の設定だけでルートポートを変えたい場合は、ポート優先度ではなく、SW2 のインターフェースのパスコストを変えます。パスコストは、比べる順番の 1 番目で使われるためです。
まとめ
| 項目 | 内容 |
|---|---|
| ポート ID | ポート優先度(既定 128)とポート番号の組み合わせ。小さいほど優先 |
| 使われる場面 | ルートブリッジまでのコストと、送信元のブリッジ ID が同じとき |
| 比べるポート ID | BPDU を送ってきた側(上流)のポート ID |
| 優先度を設定する場所 | 上流のスイッチ(この例では SW1)のインターフェース |
コメント