STP(スパニングツリー)

テーマ:
↓↓MACアドレステーブル↓↓

FDB(Forwarding Data Base)
とか
CAM(Content-Addressable Memory)
とかいったりするそうです。



ブロードキャストストーム
冗長化構成のネットワークにおいて、ブロードキャストフレームがループしてしまうこと。



STP(Spanning Tree Protocol)
冗長化構成のネットワークを、論理的にツリー状にし、フレームのループを防ぐためのプロトコル。IEEE802.1Dで規定されている。各スイッチは、定期的にBPDU(Bridge Protocol Data Units)という制御情報をやり取りし、論理的なネットワークトポロジーを維持する。


ルートスイッチ=ルートブリッジ


BPDU(Bridge Protocol Data Units)
STPで使われるフレーム。スイッチ同士でBPDUにSTPの情報を入れてやり取りし、ルートブリッジの選定、ループ位置の検出、ネットワーク変更通知、スパニングツリーの状態監視等を行う。スパニングツリーを有効にしているスイッチは、各ポートでHelloタイマ(デフォルト2秒)毎にマルチキャスト(01-80-c2-00-00-00)でBPDUを送信する。

BPDUフレームフォーマット
バイト フィールド
8 宛先MAC
8 送信元MAC
2 長さ
1 DSAP
1 SSAP
1 コントロールフィールド
2 プロトコルID
常に全て0
1 プロトコルバージョン
STP:00/RSTP:80(16進)
1 BPDUタイプ
通常:00/変更:80(16進)
1 BPDUフラグ
ネットワーク変更通知
FDBの消去を促す
8 ルートブリッジID
スイッチ起動時、自分をルートブリッジだと思って、自分のブリッジIDを入れて送信する
4 ルートパスコスト
ルートブリッジまでの距離(経路ごとの総計)
8 BID(ブリッジID)
ブリッジプライオリティ+MACアドレス
スイッチ自身のブリッジID
2 ポートID
スイッチの送信ポート番号
2 メッセージエイジタイマ
BPDU保存時間
2 MAXエイジタイマ
この時間内にBPDUを受信しなければ、障害発生とみなす(デフォルト20秒)
2 Helloタイマ
BPDU送信間隔(デフォルト2秒)
2 フォワーディングディレイ(転送遅延タイマ)
ポート状態の遷移時間(リスニング15秒、ラーニング15秒)


ルートブリッジ
ネットワーク内で、根(ルート)として1台選定される。ルートスイッチのポートスイッチは全てフォワーディングモードになる


指定ポート(代表ポート)/Designated Port
ルートスイッチの全てのポートと、セグメント内(リンク内)でルートブリッジに最も近いポート。

ルートポート/Root Port
各スイッチでルートブリッジまでの距離が最小のポート

ブロッキングポート(非指定ポート)/NDP(Non Designated Port)
指定ポートでも、ルートポートでもないループを遮断するためのポート。受信はするが(無効状態ではない)、転送はしない。



SPA(スパニングツリーアルゴリズム)
スイッチの役割選定とツリー構築手段。初期状態では、各スイッチ同士のBPDUの値を比較し、役割を選定する。

ルートブリッジの選定
各スイッチはBPDUにBID(ブリッジID)を入れ、全ポートに送り出す。スイッチ同士、BIDを比較し、一番小さいBIDを持つスイッチが、ルートブリッジになる

BID
2バイト ブリッジプライオリティ
6バイト MACアドレス
ブリッジプライオリティは、デフォルトで32768(0x8000。Catalystでは32768+VLAN番号)。設定できる範囲は、0~65535。手動で設定しない場合は、ネットワーク内で最小のMACアドレスを持つスイッチが選定される。


ルートポートの選定
各スイッチにおいて、パスコストが一番小さい(=帯域幅が一番大きい)ポートがルートポートとなる

旧式
コスト(少数点切上) = 1000 / リンクの帯域幅(Mbps)

最新。リンクコスト。各ポートに設定されている速度(IEEE基準値)
帯域幅 コスト
10Gbps 2
1Gbps 4
100Mbps 19
10Mbps 100
旧式と最新のコスト算出方法が混在している場合は、古いほうが優先されるが、意図したとおりに動作しない場合がある。
パスコストの値が、同じ場合は、ポート番号が小さいほうが、ルートポートとなる



指定ポートの選定
セグメント(リンク)内にある各スイッチのポートは、ルートスイッチまでのパスコストが少ないほうのポートが、指定ポートとなる。ルートブリッジであるスイッチの物理ポートは、必然的にすべて指定ポートとなる。パスコストの値が同じであれば、BIDが小さいほうが指定ポートとなる。




ポートの状態遷移

状態の種類
Bloked データ転送停止
Listening
(リスニング)
移行中
Learning
(ラーニング)
移行中
Fowarding
転送モード
Disable
無効状態

ブロッキング
起動直後、スイッチのポートはすべてブロッキング状態で、BPDUの受信のみ。フレームも受信するが、転送は行わない。20秒内にBPDUを受け取れば、リスニング状態へ移行する。

リスニング
フォワーディングディレイの間、リスニング状態は15秒。この間にBPDUを交換し、ルートブリッジを選出、ルートポート、指定ポート、ブロッキングポートを決定。フレームはまだブロック状態で、FDBの構築も行わない。

ラーニング
ラーニング状態は15秒間。この間に受信したフレームの送信元MACアドレスからFDBを構築していく。フレームはまだブロック状態。フォワーディングディレイを経過すると、ルートポート、指定ポートに選ばれたポートは、フォワーディング状態に移行し、ブロッキングポートは、ブロッキング状態に移行する。

フォワーディング
フレーム転送状態。



トポロジーチェンジ
スパニングツリーを再構築すること。BPDUの受信間隔(デフォルト)20秒が経過した場合、ネットワークに障害が発生したとみなし、BPDUのフラグに「TCN BPUD(Topology Change Notification BPDU)」をセットし、隣接スイッチに通知、TCNを受け取ったスイッチは、フォワーディング状態からリスニング状態に遷移し、スパニングツリーを再構築する。



コンバージェンス(convergence/収束する)
スパニングツリーが完成すること。

コンバージェンス時間 = MAXエイジ + フォワーディングディレイ
50 = 20 + 15 + 15 /秒



ダイアメータ
ネットワークの直径←経由する最大ネットワーク機器の台数。これにより、タイマの基準値を決めいている。IEEE802.1Dではダイアメータは「7」が基準。コンバージェンスを短くするには、タイマを変更するより、ダイアメータを変更したほうがよい。タイマを短くすると、スパニングツリーの計算がうまくいかなかったりブロードキャストストームが発生する可能性がある。



Catalystでの設定

BIDのプライオリティの設定
 ↓
(config)#spanning-tree [VLAN番号] priority [プライオリティ]
VLAN毎にSTPが実行される場合に設定

STPの状態を確認する
switch#show spanning-tree

VLAN0001 Spanning tree enabled protocol ieee

ルートブリッジの設定↓
 Root ID    Priority 32768
         Adress  0050.73b9.7f0x
         Cost 100
         Port 7(FastEthernet0/5)
         Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec


自身の設定↓
 Brige ID Priority 32769(priority 32768 sys-id-ext 1
      Adress 000a.d7a6.xxxx
      Hello Time Time 2 sec Max Age 20 sec Forward Delay 15 sec
      Aging Time 300


Interface Role Sts Cost Prio.Nbr Type
----------- ---- --- ------- -------- ---------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Desg FWD 19 128.2 Shr
Fa0/3 Desg FWD 19 128.3 Psp
Fa0/4 Desg FWD 19 128.4 P2p

Role:ポートの役割
Root:ルートポート
Desg:指定ポート
Altn:非指定ポート
Sts:ポートの状態
FWD:フォワーディング
BLK:ブロッキング
LIS:リスニングLRN:ラーニング


コンバージェンス高速化
コンバージェンスタイムが50秒では、ネットワークに障害が発生した際、50秒の停止を余儀なくされる。コンバージェンスを短くするために、STPを拡張したRSTPというプロトコルがIEEE802.1Wで規定されている。Ciscoでは、PortFast,UplinkFast,BackboneFastという機能が実装されている。



人気blogランキングへ
AD