【ネットワーク】 STP概要①

【ざっくり概要】

STP(Spanning tree Protocol)は、冗長構成時にループ発生を防止するための機能。

どこかのポートをブロッキング(送受信不可)にしてループ発生を防止する。

SwitchでSTPを有効にすると、BPDU(Bridge Protocol Data Unit)を送受信する。

 

 

【L2スイッチでループが起きる理由】

L2スイッチは、「ブロードキャスト」を受信した場合、「ブロードキャスト」を受信したポート以外のポート全てにブロードキャストを転送します。

この動作を「フラッディング」と言う。

ループ構成になってる場合は、この「フラッディング」の動作により、

各L2スイッチは、ブロードキャストを受信→フラッディングを繰り返すため

ループが起きます。

 

【STPの種類】

IEEE802.1D STP

Per-VLAN spanning tree (PVST)

Per-VLAN spanning tree Plus(PVST+)

Rapid spanning tree Protocol(RSTP) IEE802.1W

Multiple spanning tree Protocol(MST) IEEE802.1S

 

【BPDU】

STPが有効なL2SWでは、BPDU(Bridge Protocol Data Unit)と呼ばれるフレームを送受信して、ループ検知や、上記のようなポートの役割を決めます。

代表スイッチからマルチキャストで送信されます。

BPDUには、大きく分けて2種類、コンフィグレーションBPDUには3種類あります。

・Configuration BPDU

 →ループ検知やポート役割(Root,Designated,Blocking)、代表スイッチを決める

BPUD。代表スイッチが一定間隔(Hello time)で送信する。(Ciscoではデフォルトで2秒間隔)

 

【構成フィールド】

STP type,root path cost, root bridge identifier, local bridge identifier, max age, hello time, and forward delay.

・TCA(Topology Change Ack)BPDU

→TCN BPDUを受信時に、確認応答として返信するBPDU

・TC(Topology Change)BPDU

→TCN BPDUを受信した代表スイッチが、構成変更を各L2SWに通知するBPDUです。

 

 

・TCN(Topology Change Nortification) BPDU

 →構成が変更された場合、変更を検知したL2スイッチから代表スイッチへ送信する。

  構成変更を通知するBPDU

 

 

【ポートの役割】

・ルートポート(Root Port(RP)

→代表スイッチまたは上位スイッチと接続するポート。=代表スイッチ以外で利用される。各スイッチで、VLAN毎に1つだけ存在する。

つまり、1つのスイッチにVLAN10,20の2つがあった場合は、10,20それぞれ1つずつしかRPに選ばれない。

・指定ポート(Designated Port(DP)

 →他のスイッチとBPDUの送受信を行うポート。

  下位スイッチやデバイスと接続するポート。

  ルートブリッジに一番近いポート=ルートブリッジは全部のポートが指定ポート

  リンク上で1つしか存在しない。

・非指定ポート/Blockingポート(Non Designated Port(NDP)

 →ルートポート、指定ポートに選ばれなかったポート。ブロッキング状態。

(BPDUの受信はします。=BPDU受信できないとポートの役割やループ検知できないので)

 

【ポートの状態遷移】

ブロッキング状態

 →STPが有効な状態だが、ループ発生防止のためにトラフィック転送をしない。

  MACアドレステーブルの変更もできず、BPDUを受信するのみ。

  L2SW起動時やポートリンクアップ時は、この状態からスタート。

  最大経過時間:Max age(20秒)の間にBPDUを受信しない場合は、リスニング状態に遷移。

 

②リスニング状態

 →ブロッキングから遷移してきた状態。BPDUの送受信が可能だが、トラフィック転送は不可。

代表スイッチ、ポートの役割を決める。  転送遅延時間15秒

③ラーニング状態

 →BPDUを送受信し、MACアドレスをテーブルに変更が可能。

 データフレームの転送は行わず、破棄します。転送遅延時間15秒

フォワーディング状態

 →BPDUを送受信し、データフレームの転送も行う。=実際に通信ができる状態

⑤ディセーブル状態

 →STPが無効、ポートShut、リンクダウン状態

 

上記流れの通り、通信できるようになるまで、最大50秒かかります。

L2SWのポートランプは、フォワーディングになるまで、オレンジ点灯して

フォワーディング状態になると、緑に点滅します。

 

ブロッキング状態またはフォワーディング状態に落ち着くまでの時間を

「コンバージェンス(収束)」と呼ぶ。

 

【STPタイマー】

・Helloタイマー

 →BPDUの送信間隔 デフォルト2秒

 →Hello timeは、下記コマンドで変更可能。

  spanning-tree vlan <vlan-id> hello-time<hello-time>(1~10秒)

 

・最大経過時間

 →受信したBPDUを保持する時間 デフォルト20秒

 →最大経過時間は、下記コマンドで変更可能。

  spanning-tree vlan <vlan-id> max-age <max-age time>

 

・転送遅延時間

 →リスニング状態とラーニング状態を継続する時間 デフォルト15秒

 転送遅延時間は、下記コマンドで変更が可能

  spanning-tree vlan <vlan-id> forward-time <forward-time>(4~30秒)