本サイトはPRが含まれています。
STPでの切り替わりの仕組みや通信断時間については分かったのだけど、30秒とか50秒って結構長いのね。。。何かしらネットワークに変化が有る度にこれだけの時間止まってしまったらユーザは困ってしまうと思うけど・・・
チャーチルさん
ポン先生
実のところ、別のプロトコルを使えばもっと通信断時間を短くする事ができるよ。
この記事ではRSTPの仕組みや状態遷移について勉強します。前回の記事で解説したSTPは基本ではありますが、実環境で積極的に使われている訳ではありません。前述の通り切り替わりに時間がかかるので実際にはRSTPというプロトコルが利用されます。前回の記事とあわせて読むことでSTPとRSTPの違いを理解する事ができます。
前回の記事はこちら。
HAL校長
目次
RSTPの状態遷移
- STPの問題点 → 切り替わりに時間がかかる
- 【RSTPの特徴①】ポートの役割は4種類
- 【RSTPの特徴②】ポートの状態は3種類
- 【RSTPの特徴③】Proposal BPDUとAgreement BPDU
- トポロジーチェンジ(障害発生時)
STPの問題点 → 切り替わりに時間がかかる
前述の通りSTPは仕組み上切り替わりに時間がかかります。構成や障害ポイントによりますが30秒~50秒かかります。これはネットワークの規模に関わらず同じで、例えばエッジスイッチが1台でも20台でも同じです。(感覚的には違和感あるかもしれませんが、そういうモノです。)
しかし、言うてもL2スイッチの障害です。それでこれだけの時間切れてしまうのは困ってしまいますね。実際の所、障害でしっかりダウンしてくれれば良いのですが、定期的にリンクアップダウンを繰り返すと言った中途半端な壊れ方をするケースもあるので、その度に30秒以上の通信断が発生するのは頂けないですね。
そこでより高速に切り替わるプロトコルが開発されました。それがRSTP(Rapid STP)です。RSTPはSTPの上位互換的なプロトコルで、基本的な仕組みは踏襲しつつより高速になっています。実環境で最も使われていると言っても良いでしょう。次章ではその仕組について解説します。
ポン先生
因みに正式なプロトコルの名前は
STP → IEEE 802.1d
RSTP → IEEE 802.1w
と言うよ。
【RSTPの特徴①】ポートの役割は4種類
RSTPにもSTP同様ポートの役割があります。STPではルートポート、指定ポート、非指定ポート(ブロッキングポート)の3種類でしたが、RSTPではルートポート、指定ポート、代替ポート、バックアップポートの4種類です。
■RSTPポート役割
STP | RSTP | RSTPの説明 |
---|---|---|
ルートポート | ルートポート | ルートブリッジに一番近いポート ※STPと同じ |
指定ポート | 指定ポート | 各セグメント(リンク)ごとに選出されるルートブリッジに一番近いポート ※STPと同じ |
ブロッキングポート | 代替ポート | ルートポートの予備ポート |
ブロッキングポート | バックアップポート | 指定ポートの予備ポート |
※上記の内、ルートポートと指定ポートはSTPと同じです。詳しくは下記参照。
代替ポート(AP, Alternate Port)とはRSTPで追加されたポートの役割で、ルートポートの予備ポートです。ルートポートがダウンした際その役割を引き継ぎまず。通常時は通信を止めます。
もう一つ追加されたバックアップポート(BP, Backup Port)は指定ポートの予備ポートです。指定ポートのダウン時に引き継ぎます。具体的にはリピータHUB等STP非対応機器とした際に考慮するポートです。通常時は通信を止めます。
STPの時は障害が起きてから再計算だったのが、RSTPでは事前に切り替わり先を作っておくんだね。
チャーチルさん
【RSTPの特徴②】ポートの状態は3種類
STPではBlocking、Listening、Learning、Forwardingの4種類でしたが、RSTPではDiscarding、Learning、Forwardingの3種類です。
■RSTPポート状態
STP | RSTP | BPDU受信 | BPDU送信 | MACアドレス学習 | データ転送 |
---|---|---|---|---|---|
Blocking | Discarding | ○ | ☓ | ☓ | ☓ |
Listening | Discarding | ○ | ○ (Listeningのみ) | ☓ | ☓ |
Learning | Learning | ○ | ○ | ○ | ☓ |
Forwarding | Forwarding | ○ | ○ | ○ | ○ |
STPのBlocking、ListeningはRSTPのDiscardingに統合、Learning、Forwardingは据え置きです。
※STPにおける各状態の詳細は下記参照。
【RSTPの特徴③】Proposal BPDUとAgreement BPDU
RSTPの独自機能としてProposal BPDUとAgreement BPDUがあります。具体的には以下のプロセスでお互いのスイッチやポートの役割を決定します。
- スイッチを接続するとお互いにProposal BPDU(提案のBPDU)を送信する
- Proposal BPDUの中身は「自分がルートブリッジかつ指定ポートである」という内容
- 受信したProposal BPDUと自分の値を比較
- 相手の方が有利な場合:
- Agreement BPDUを送信する
- 自身はルートポートに遷移しデータ転送開始
- 自身の方が有利な場合:
- 自身はルートブリッジ・指定ポートとする
- 相手からのAgreement BPDUを受信しデータ転送開始
- 相手の方が有利な場合:
トポロジーチェンジ(障害発生時)
RSTPの一番の特徴は収束時間の短さです。以下2パターンで見てみましょう。
直接障害
下記構成でスイッチA⇔C間で障害が発生した場合、スイッチCの代替ポートは即座にルートポートに役割を変更します。元々ルートポートの予備なのでルートポートのダウンを検知したら新たなルートポートになります。そしてDiscarding状態からForwarding状態となり通信は復旧します。
間接障害
下記構成でスイッチA⇔B間で障害が発生した場合、スイッチBはTC(トポロジーの変更)を送信します。TCを受信したスイッチCはスイッチBとの間でProposal BPDUとAgreement BPDUのやり取りをし、各ポートの切り替えを行います。
このようにRSTPでは障害検知~切り替え後の仕組みがSTPと大きく異なり、大幅にネットワーク断時間も短くなっています。
経験上、1秒程度の断で収束するため一般ユーザは気づかないレベルです。
因みにSTPのスイッチとRSTPのスイッチを繋いだらどうなるの?
チャーチルさん
ポン先生
実は互換性があるからちゃんとループ防止や障害時の切り替わりはできるよ。ただし収束速度はSTPに方に合わせる形になるからRSTPのメリットは無くなっちゃうね(つまり30秒 or 50秒)。
ネットワークエンジニアを目指すならCCNAを取得しよう!
CCNAとはCisco社のメーカ認定資格です。CCNAの取得はネットワークエンジニアの基本的な知識やCisco製品の理解の証明になります。
特定メーカの資格で役に立つの?実際には他メーカの機種も扱うんじゃないの?
チャーチルさん
ポン先生
確かに業務上Cisco以外の機器を扱うことはあるだろうけど、最初にCiscoを勉強しておくと他の機器も理解しやすくなるんだ。
Ciscoは数あるネットワーク機器メーカの内の1社ですがディファクトスタンダードと言われています。つまり業界標準として位置付けられており、他メーカ機種でもCiscoのコマンドライン等を参考にしている事が多いです。そのため初見の機器でもCiscoと設定方法が似ており、「大体は分かる」なんてケースも多々あります。ネットワークエンジニアとしてはCiscoの学習はむしろ必須と言えるレベルでしょう。
また、Ciscoの資格と言っても独自仕様や製品の話だけでなく、ネットワークの一般的な知識も必要です。Cisco製品と言えベースはネットワークの標準規格に基づいて設計されており、CCNA取得でネットワークの一般的な知識も習得可能です。
上記理由からCCNAは非常におすすめの資格です。ネットワークエンジニアとして本格的に活躍したいのであれば是非チェックすべきでしょう。
【CCNAとは】難しい?勉強は?Cisco資格の登竜門 基本解説
まとめ
-
RSTPはSTPの上位互換のプロトコル
-
RSTPポートの4つの役割
-
ルートポート
-
指定ポート
-
代替ポート
-
バックアップポート
-
-
RSTPポートの3つの状態
-
Discarding
-
Learning
-
Forwarding
-
-
Proposal BPDUとAgreement BPDUで互いの役割を決定
-
直接障害、間接障害どちらでも高速切り替わり
この記事ではRSTPの基本動作について勉強しました。実環境ではRSTPで動いているネットワークは非常に多いです(たまに昔STPで構築してそのままの会社もありますが・・・)。Bugや対抗機器との相性等の特例を除けばデメリットは殆ど無くSTPの上位互換なので採用プロトコルとしてはスタンダードです。構成がSTPなのかRSTPなのかでそのネットワークの対障害性は変わるのでぜひともRSTPを扱えるようになって欲しい所です。