0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

STP【STPに関する機能】

Last updated at Posted at 2021-02-28

CCNAの試験に向けて学習中。
復習に見返せるようにメモしていきます。
ほぼ自分の勉強メモです。
過度な期待はしないでください。

前回投稿記事

こちらの STP【STPの概要】投稿記事の続きです。

2.STPに関する機能

2-1.PortFast

PortFastとは、Cisco独自のSTPにおける拡張機能の事です。
PortFastが設定がされているポートは、接続された場合にすぐにリンクアップ(フォワーディング状態に)
する事が出来ます。

■ 2-1-1.ポートの状態移行にかかる時間

STPでは、コンバージェンス ※1 する迄に 30 ~ 50秒 ※2 程度掛かってしまいます。
コンバージェンスする迄に遷移するリスニングやラーニングの状態の間は、
データの転送をしない(BPDUは送受信されますが)為、その間は通信不可の状態に
なってしまいます。

障害から復旧する迄に掛かる時間が長過ぎると、アプリケーションやプロトコルによっては、
サービスが完全にダウンしてしまったり、そもそも現在のネットワークで事情からすると50秒は
やや長過ぎるかもしれません。

そこでより高速にコンバージェンスさせる必要があり、Ciscoが独自でに高速化する方法を
考えたのが PortFastという技術になります。

※1 コンバージェンスとは、全てのスイッチでポートの役割が決定し収束した状態
※2 最大エージタイマー(20秒)経過後 → リスニング状態からラーニング状態遷移(15秒)
→ ラーニング状態からフォワーディング状態遷移(15秒)という流れでポート状態が整う迄に
50秒程の時間が掛かる

■ 2-1-2.PortFastとは?

そもそも、ルータが接続しているポートやPCが接続されているポートは最数的にフォワーディング状態に
なり、ブロッキングの状態になることはありません。なので、いちいちトポロジを再計算して状態遷移を
行うのは時間の無駄です。そこで、PCやルータなどのデバイスが接続されているポートは
すぐにフォワーディング状態にして、ポートのアップ/ダウンをトポロジの変化とみなされないように
すれば良いという考え方から生まれたのが PortFastです。

PortFastを設定を行う事で、リスニングとラーニングの状態をスキップし、
すぐにフォワーディング状態になり、通信が可能
になります。
すなわち、クライアントPC間やサーバ間ではすぐに通信出来るようになります。

只、PortFastはPCなどが接続され、フォワーディング状態になる事が確定しているポートのみに
設定します。スイッチ間のリンクでは、ループの原因になってしまう可能性があるので設定
してはいけません。


#### 2-2.BPDUガード BPDUガードとは、PortFastが設定されているスイッチポートでBPDUを受信した時や個別の インターフェイスでBPDUを受信した時、そのポートをエラーディーゼブル状態にする機能です。 エラーディーゼブル状態のポートはシャットダウンされる為、データの送受信が出来なくなります。 復旧させるには管理者のコマンドが必要になります。

BPDUガード機能は、BPDUを受け取るべきでないPortFastの設定されているようなポートが
BPDUを受け取る事によるトラブルを防ぐ為に利用します。

例えば、ループする心配がないポートに対してPortFastを有効にすると、
すぐにフォワーディング状態に移行させる事が出来ます。しかし、PortFastが有効なポートに、
他のスイッチ等が接続されるとループ構成となってしまう可能性があります。
PortFastのポートの先がループ構成になると、スパニングツリーの計算を正常に行う事がで出来ずに、
フレームがループする危険性があります。
このような事態を防ぐ為に利用しています。
ファイル名

2-3.ルートガード

ルートガードとは、設定しているポートにルートブリッジよりも上位のBPDUが送信されてくると、
ポートをルート不整合(root-inconsistent)という状態にし、新たに導入されたL2機器がルートブリッジに
なる事を防止する機能です。下位のBPDUが送信されて来た場合は特に何もしません。

BPDUガードとルートガードとの違い
⚫️ BPDUガードは、上位のBPDU、下位のBPDUに関わらずBPDUを受信すると
エラーディーゼブル状態へ遷移します。それに対して、ルートガードは上位のBPDUが送信されてくると
ポートをルート不整合にしますが、下位のBPDUが送信されて来た場合は何もしません。

⚫️ BPDUガードのエラーディーゼブル状態は、ポートをシャットダウンし復旧させるには管理者の
コマンドが必要になります。それに対して、ルートガードは一時的に通信不可状態にするだけであり、
上位のBPDUを受信しなくなると自動的に回復してポートエラー状態は解消されます。

以下の図の通り、ルードガードを実装していれば、例え優先度の高い機器が接続されても
ルートブリッジになる事はありません。
ファイル名

ルートガードが有効になっている場合、上位のBPDUが送信されて来たとしても
ルート不整合となり、ブロッキングされます。また上位のBPDUが送信されてこなくなれば
通常のポートに戻るというが、ルートブロックになります。


#### 2-4.RSTP
■ 2-4-1.RSTPとは?

RSTP(Rapid Spanning Tree Protocol)は、STPを改良してコンバージェンス迄の時間を数秒迄に
短縮させた
プロトコルです。STPは IEEE802.1Dで標準化されて、RSTPはIEEE802.1Wで標準化された
プロトコルです。STPと同様に、RSTPではツリーを作成する為に、ルートブリッジの選出
→ ルートポートの選出 → 指定ポートの選出 → 非指定ポートの選出を、同じアルゴリズムで行いますが
ポートの役割やスターテスがSTPと異なります。

RSTPの目的は、STPと同様にブロードキャストストームをを防ぐ事です。また、
RSTPはSTPの拡張である為、RSTPとSTPは混在させて動作する事が可能になります。

■ 2-4-2.ポートの役割

STPでは、ポートの役割はルートポート、指定ポート、非指定ポートの3つがありましたが、
RSTPでは、非指定ポートをさらに2つに分割して役割を与えます。
それが、代替ポートバックアップポートです。

▶︎ 代替ポート
代替ポートは、ルートポートの予備になります。
下記の画像で、スイッチのポート①がルートポート、ポート②が非指定ポートになります。
ポート②はブロックされていますが、スイッチではルートポートの次に上位のBPDUを受け取る為、
代替ポートになります。なので、ルートブリッジとスイッチの間で障害が起きた場合、ポート②が
すぐにルートポートとして代用されフォワーディング状態に遷移します。
ファイル名

▶︎ バックアップポート
バックアップポートは、指定ポートの予備になります。
バックアップポートは、ブロックされており、複数の接続を持つポートが該当します。
スイッチには、STPが対応していないリピータハブの機器が接続されています。そこで、スイッチと
リピータハブの間でループが発生しないようにするには、スイッチでブロックするポートを選出
しなければなりません。なので、ポート③を指定ポート、ポート④をバックアップポートとして、
ポート③がダウンするとポート④がバックアップポートになります。
ファイル名

■ 2-4-3.ポートのステータス

STPでは、ディセーブル、ブロッキング、リスニング、ラーニング、フォワーディングという
5つのステータスがあります。このうち、ディセーブル、ブロッキング、リスニングでは、
ディスカーディングというステータスに統合しています。

下記の画像はSTPとRSTPのステータスの違いを纏めたものです。
ファイル名

■ 2-4-4.BPDUのやり取り

STPでは、ルートブリッジから2秒事にBPDUが送信され、各スイッチがそれぞれを受け取り、
そのBPDUを基に下流のスイッチにBPDU送信されます。その為、ルートブリッジから何台分
離れているかを考える必要があり、最大エージタイマーや転送遅延タイマーが用意されています。

タイマーに依存した切り替えしか出来ない為、そこでRSTPでは、タイマーによる管理を行わず、
スイッチ間で直接やり取りして役割を決定する仕組み
を採用しています。
ルートブリッジからBPDUを受け取った時に下流に送信するのではなく、BPDUを受け取ったか
どうかに関係無くそれぞれのスイッチがBPDUを作成して下流のスイッチの送信します。

その為、BPDUが届かなくなった時に、隣のスイッチとの間で問題が発生した事を早い段階で
判断出来ます。

■ 2-4-5.ルートの切り替え

ルートを切り替える場合には、プロポーザルアグリーメントをやり取りする事で、
役割がすぐに決定します。

先ず、スイッチ間の接続が行われると各スイッチは、自身のポートを指定ポートとしプロポーザル
というBPDUを送信します。BPDUにはブリッジIDやルートパスコスト情報があります。
ファイル名

受信したBPDUの中身からブリッジIDやルートパスコストの情報を比較して、どちらのスイッチが
送信したBPDUが上位かが分かります。相手が上位のBPDUだった場合、下位のスイッチは
アグリーメントというBPDUを送信して相手が指定ポートになる事に同意します。
上位のスイッチは何もしません。
ファイル名

このようなSTPも違いによってコンバージェンス迄の時間が短縮されます。ただし、
高速に切り替えられるのは、スイッチが1対1(ポイントツーポイント ※3)で繋がっている場合です。
相手のスイッチがSTPで動いていたり、ハブを介して接続になっていたりする所では、通常の
STPの時間でコンバージェンスします。

※3 ポイントツーポイントは、全二重で動作するポートで、スイッチ間が1対1で直接接続される、
高速収束可能なリンク(下記の画像参照)
ファイル名

■ 2-4-6.エッジポート

RSTPでは、PCなどが接続するポートをエッジポート、スイッチを接続するポートを非エッジポート
して扱います。エッジポートは即座にフォワーディング状態に遷移します。Cisco製のスイッチでは
PortFastを有効にしたポートをエッジポートになります。


#### 2-5.VLANとSTPの組み合わせ
■ 2-5-1.CST

CST(Common Spanning Tree)とは、複数のVLANが存在するスイッチドネットワークでも
1つのトポロジー構成を考える方法です。

CSTでは、VLANの数に関係なく全体で1つのトポロジーとなる為、VLANごとに最適のルートの通信を
する訳ではありません。下図はCSTによる構成です。VLANごとにスパニのングツリーのトポロジーが
ある訳ではないので、下図通り複数のVLANがあるとしても、VLAN10のホストA、VLAN20のホストB共に
PCのトラフィックはセグメント 1 経由で伝送されます。
ファイル名

■ 2-5-2.CSTの特徴

CSTの特徴として、下記のものがあげられます。

⚫️ 複数のVLANを 1つのSTPインスタンスで管理する為、所属するVLANによって通信が効率の悪い
  ルートを通る必要がある
⚫️ STPの構成が1種類になる為、ユーザトラフィックが特定のリンクに集中してしまう。
⚫️ STPインタスタスを 1つだけ記憶しておけばいいので、メモリの負荷は少ない。
⚫️ BPDUが 1種類で済む為、スイッチ間のトラフィックが少ない。

■ 2-5-3.PVST+

PVST+ではVLANごとにSTPトポロジーを構成できる為、VLANごとの最適のルートの通信を
する事が可能です。スイッチのプライオリティをVLAN事に設定出来る為、各VLANで最適と
思われるスイッチをルートブリッジにする事が可能です。
ルートブリッジの位置が変わるとブロックするポートも変わる為、VLANごとに効率の良いルートを
利用する事が可能になります。

下図はPVST+による構成では、1台のスイッチでVLANごとにブリッジプライオリティを設定出来る為、
SWAがVLAN10のルートブリッジ、SWBがVLAN20のルートブリッジになる事が出来ます。
ファイル名

■ 2-5-4.PVST+の特徴

PVST+の特徴として、下記のものがあげられます。
⚫️ 複数のVLAN事にSTPインスタンスを管理する為、各VLANの通信が最適と思われるルートを
  通る事が出来る
⚫️ VLAN事にSTPの構成が異なる為、ユーザのトラフィックが分散される。
⚫️ STPインスタンスを複数記憶しなければならないので、メモリへの負荷は大きい。
⚫️ BPDUがVLAN事に作成される為、スイッチ間のトラフィックが増加する。


## 関連投稿記事 [STP【STPに関する設定と確認】](https://qiita.com/k-yasuhiro/items/0a495df9b522fa5412b7)
0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?