LAN スイッチング : スパニング ツリー プロトコル

高速スパニングツリー プロトコル(802.1w)について

2015 年 11 月 26 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2006 年 10 月 24 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

802.1D Spanning-Tree Protocol(STP; スパニングツリー プロトコル)標準は、接続が切れた後 1 分ほどで接続を回復すれば、十分な性能を持つと思われた時代に設計されました。 LAN 環境でレイヤ 3 スイッチングが普及するとともに、現在、ブリッジングは、短時間で代替パスの提供が可能な Open Shortest Path First(OSPF)や Enhanced Interior Gateway Routing Protocol(EIGRP)のようなプロトコルによるルーテッド ソリューションと競合しています。

シスコは、元の 802.1d の仕様を、 アップリンク ファースト、バックボーン ファースト、ポートファーストなどの機能で拡張して、ブリッジされたネットワークの収束時間を高速化しました。 難点は、これらのメカニズムはシスコ独自の開発であり、コンフィギュレーションの追加が必要になることです。

Rapid Spanning-Tree Protocol (RSTP; IEEE 802.1w は 802.1D 規格の関連として)回転より多く見られる場合があります。 802.1D の用語はほとんど元のまま残っています。 パラメータはほとんど変化していないので、802.1D に慣れているユーザならすぐに新しいプロトコルを設定できるようになります。 大半のケースで、追加設定をしなくても、RSTP はシスコ社製の拡張機能よりすぐれたパフォーマンスを示します。 また、ポートごとにレガシー ブリッジと併用できるように、802.1w を 802.1D に戻すことも可能です。 ただし、新しく導入された利点は利用できなくなります。

802.1D 標準の新しい版である IEEE 802.1D-2004 は、IEEE 802.1t-2001 標準と IEEE 802.1w 標準を包含しています。.

このドキュメントでは、以前の 802.1D 標準から RSTP で強化された点に関して説明します。

Catalyst スイッチのRSTP サポート

次の表に、Catalyst スイッチにおける RSTP のサポートと、サポートに必要な最低限のソフトウェアを示します。

Catalyst プラットフォーム RSTP を実装した MST RPVST+(別名 PVRST+)
Catalyst 2900XL/3500XL 該当なし 該当なし
Catalyst 2940 12.1(20)EA2 12.1(20)EA2
Catalyst 2950/2955/3550 12.1(9)EA1 12.1(13)EA1
Catalyst 2970/3750 12.1(14)EA1 12.1(14)EA1
Catalyst 3560 12.1(19)EA1 12.1(19)EA1
Catalyst 3750 Metro 12.1(14)AX 12.1(14)AX
Catalyst 2948G-L3/4908G-L3 該当なし 該当なし
Catalyst 4000/2948G/2980G(CatOS) 7.1 7.5
Catalyst 4000/4500(IOS) 12.1(12c)EW 12.1(19)EW
Catalyst 5000/5500 該当なし 該当なし
Catalyst 6000/6500 7.1 7.5
Catalyst 6000/6500(IOS) 12.1(11b)EX、12.1(13)E、12.2(14)SX 12.1(13)E
Catalyst 8500 該当なし 該当なし

新しいポートの状態とポートの役割

802.1D はこの 5 つの異なるポート状態で定義されます:

  • disabled

  • リスニング

  • learning

  • ブロッキング

  • フォワーディング

詳細については、このドキュメントの「ポートの状態」のセクションを参照してください。

これは、トラフィックをブロックするか転送するかというポートの状態と、アクティブなトポロジでポートが果たす役割(ルート ポート、指定ポートなど)を区別していないため、やや混乱を招きます。 たとえば、動作の観点からは blocking 状態にあるポートと listening 状態にあるポートに違いはありません。 どちらもフレームを廃棄し、MAC アドレスを学習することはありません。 実際の違いは、スパニングツリーがポートに割り当てる役割にあるのです。 listening ステートにあるポートは、指名かルート ポートのいずれかで、forwarding ステートへの途上にあると推論してほぼ間違いありません。 FORWARDING これはこの状態ベース用語の失敗を示すために貢献します。 RSTP は、ポートの役割と状態を区別することでこの問題に対処しています。

ポートの状態

RSTP では、考えられる動作上の状態に合わせて、ポートの状態は 3 つだけになっています。 802.1D での disabled、blocking、listening の各状態は、802.1w 独自の discarding 状態に統合されています。

STP(802.1D)のポート状態 RSTP(802.1w)のポートの状態 ポートはアクティブなトポロジに含まれるか ポートは MAC アドレスを学習するか。
無効 Discarding いいえ いいえ
Blocking(ブロッキング) Discarding いいえ いいえ
リスニング Discarding はい いいえ
Learning Learning はい はい
フォワーディング フォワーディング はい はい

ポートの役割

今回から役割は任意のポートに割り当てられる変数になりました。 ルート ポートおよび指定ポートの役割は変わりませんが、ブロッキング ポートの役割はバックアップと代替ポートの役割に分割されています。 Spanning-Tree Algorithm(STA; スパニングツリー アルゴリズム)が、Bridge Protocol Data Unit(BPDU; ブリッジ プロトコル データ ユニット)に基づいてポートの役割を決定します。 簡単に言うと、BPDU に関しては、任意の 2 つを比較して、どちらの方が有用かを決定する方法が常に存在することを覚えておいてください。 BPDU に保存された値、および BPDU を受け取るポートが基準になる場合もあります。 これを踏まえて、次のセクションでは、実用的なアプローチでポートの役割を説明しています。

ルート ポートの役割

  • ブリッジ上で最良の BPDU を受け取るポートがルート ポートになります。 つまり、パス コストの点からルート ブリッジに最も近いポートです。 STA では、ブリッジ型ネットワーク全体から(VLAN ごとに)1 つのルート ブリッジが選出されます。 ルート ブリッジが送信する BPDU は、他のブリッジが送信するものより有用です。 ルート ブリッジは、ネットワーク内でルート ポートを持たない唯一のブリッジです。 他のすべてのブリッジは、少なくとも 1 つのポートで BPDU を受信します。

/image/gif/paws/24062/146-b.gif

指定ポートの役割

  • 接続されたセグメントに最高の BPDU を送信できるポートは、指定ポートになります。 802.1D のブリッジでは、別々のセグメント(イーサネット セグメントなど)をリンクすることで、ブリッジ ドメインが作成されます。 いずれのセグメント上でも、ルート ブリッジに向かうパスは 1 つしか置けません。 2 つある場合は、ネットワークにブリッジ ループができています。 任意のセグメントに接続しているブリッジはすべて相互に BPDU をリスニングし、最良の BPDU を送信しているブリッジをそのセグメントの指定ブリッジとして認識します。 対応するそのブリッジのポートはそのセグメントのための Designated Port です。

/image/gif/paws/24062/146-c.gif

代替ポートとバックアップ ポートの役割

  • これら 2 つのポートの役割は、802.1D の blocking 状態に対応します。 ブロックされたポートとは、指定ポートでもルート ポートでもないと定義されます。 ブロッキング ポートは、セグメント上で、そのポートから送信される BPDU よりも有用な BPDU を受信しています。 ポートがブロックされた状態を維持するには、BPDU の受信が必須であることに注意してください。 RSTP では、この目的のために、次の 2 つの役割が追加されています。

  • 代替ポートとは、他のブリッジよりも有用な BPDU を受信していて、さらに、ブロックされているポートです。 次の図に例を示します。

/image/gif/paws/24062/146-d.gif

  • バックアップ ポートとは、自ブリッジからさらに有用度の高い BPDU を受信していて、さらに、ブロックされているポートです。 次の図に例を示します。

/image/gif/paws/24062/146-e.gif

802.1D では内部的にすでにこの区別はされていました。 基本的に、それがシスコの UplinkFast 機能の仕組みです。 代替ポートはルート ブリッジに代替パスを提供することにより、ルート ポートに障害が発生した場合、代替できるという論理です。 もちろん、バックアップ ポートは同じセグメントに冗長接続を提供するので、ルート ブリッジへの代替接続は保証できません。 そのため、アップリンク グループからは除外されています。

その結果、RSTP は、802.1D と同じ基準でスパニングツリーの最終トポロジを計算します。 別なブリッジやポートの優先順位が使用される方法には一切変更がありません。 blocking という名前は、シスコの実装では discarding 状態を示すために使用されています。 CatOS リリース 7.1 以降では、listening 状態と learning 状態が引き続き表示されます。 そのため、ポートに関して、IEEE 標準で義務付けられている以上の情報が得られるようになっています。 しかし、新しい機能では、プロトコルがポートに割り当てた役割と現在の状態は別なものになっています。 たとえば、ポートが指定ポートになるのと同時にblocking 状態になることが今では完全に有効です。 通常このようなことが起きるのはごく短時間の間で、このポートが指定 forwarding 状態に移行段階にあることを意味していることになります。

新しい BPDU フォーマット

RSTP により BPDU フォーマットにいくつかの変更が行われました。 2 つのフラグ、Topology Change (TC)および TC Acknowledgment だけ(TCA) 802.1D で、定義されます。 ただし、RSTP は作動するために残るフラグ バイトの 6 ビットをすべて使用するようになります:

  • BPDU 発信ポートの役割と状態のエンコード

  • プロポーザルおよびアグリーメント メカニズムの処理

/image/gif/paws/24062/146-f.gif

注: ビット 0 (トポロジーの変更)は最下位ビットです。

もう一つの重要な変更は、RSTP BPDU が現在タイプ 2、バージョン 2 になっていることです。 つまり、レガシー ブリッジではこの新しい BPDU は必ず破棄されることになります。 この特性によって、802.1w ブリッジは、接続されたレガシー ブリッジを容易に検出できます。

新しい BPDU の処理

BPDU はハロータイムごとに送信される

BPDU は(単にリレーされるのではなく)ハロータイムごとに送信されます。 802.1D では、ルート ポート上で BPDU を受信すると、ノンルート ブリッジでは BPDU の作成だけが行われます。 実際には、ブリッジでは、BPDU を生成しているというよりも、リレーしていることになります。 802.1w では、これは当てはまりません。 ブリッジは、ルート ブリッジから BPDU を受信しなくても、<ハロータイム>にかかる秒数ごとに(デフォルトでは 2 秒)現在の情報が入っている BPDU を送信します。

情報エージングの高速化

どのポートでも、ハロー メッセージが 3 回続けて受信されないと(または、max_age が時間切れになった場合)、プロトコル情報はただちに期限切れとなります。 前述のプロトコル変更により、BPDU はブリッジ間でキープアライブ メカニズムとして使用されます。 ブリッジは、3 回連続で BPDU を受信ミスすると、直接隣接しているルートまたは指定ブリッジへの接続が失われたものとみなします。 このように情報が急速にエージングすることで、障害が速やかに検出されます。 ブリッジがネイバーから BPDU を受け取らない場合そのネイバーへの接続が失われることは確実です。 これは問題がルートにパスでどこでもあるかもしれない 802.1D に反対されます。

注: 物理的なリンク障害の場合はさらにすばやく障害が検出されます。

不良 BPDU の受け入れ

バックボーン ファースト エンジンのコアとなるのは何か、というのがこのコンセプトです。 IEEE 802.1w 委員会は、RSTP に同様のメカニズムを取り入れることを決定しました。 ブリッジが、指定ブリッジやルートブリッジから下位情報を受信すると、ただちに受け入れ、それ以前に記憶した情報と入れ替えます。

/image/gif/paws/24062/146-g.gif

ブリッジ C は、ルートが問題なく動作していることがわかっているので、ただちにブリッジ B にルート ブリッジに関する情報を収めた BPDU を送信します。 その結果、ブリッジ B は自身の BPDU を送信せず、ブリッジ C につながるポートを新しいルート ポートとして受け入れます。

forwarding ステートへの高速移行

802.1w が導入したもっとも重要な機能は高速移行です。 レガシー STA では、ネットワークのコンバージェンスを何もせずに待ってから、ポートを forwarding 状態にしていました。 コンバージェンスを速めるには、控えめに設定されたデフォルトのパラメータ(転送遅延および max_age タイマー)をチューニングするしかなく、ネットワークの安定性が脅かされる場合もありました。 新しい高速 STP では、ポートが forwarding 状態に安全に遷移できることをアクティブに確認でき、タイマーの設定にはまったく依存していません。 これは、RSTP 準拠ブリッジ間で作用する実際のフィードバック メカニズムです。 ポート上で迅速な収束を実現するために、プロトコルは2つの新しい変数を利用します。 エッジ ポートとリンク タイプ

エッジ ポート

エッジ ポートのコンセプトは、基本的にポート ファースト機能に対応しているので、シスコのスパニングツリー ユーザにはすでにおなじみです。 直接エンド ステーションと接続しているすべてのポートで、ネットワーク内にブリッジング ループが形成される可能性はありません。 そのため、エッジ ポートは listening 状態と learning 状態を飛ばして、直接 forwarding 状態に遷移します。 エッジ ポートでも、PortFast 対応のポートでも、リンクが切り替わった際にトポロジの変更は生成されません。 BPDU をすぐに受け取るエッジポートはエッジポート ステータスを失い、正常なスパニングツリーポートになります。 この時点では、ユーザ設定の値とエッジ ポート状態の操作値が存在します。 Ciscoインプリメンテーションは PortFast キーワードがエッジポート 設定のために使用されることを主張します。 これは RSTP への遷移を簡単にします。

リンク タイプ

RSTP が、forwarding 状態への迅速な遷移を実現できるのは、エッジ ポート上かポイントツーポイント リンク上に限られます。 リンク タイプはポートのデュプレックス モードから自動的に取得されます。 デフォルトでは、全二重で動作しているポートはポイントツーポイントと見なされ、半二重のポートは共有ポートと見なされます。 この自動リンク タイプ設定は、明示的な設定で無効にできます。 今日のスイッチド ネットワークでは、ほぼすべてのリンクは全二重モードで動作しているため、RSTP ではポイントツーポイントとして扱われます。 そのため、forwarding 状態へ急速に遷移する可能性が高くなっています。

802.1d での収束

次の図は、ブリッジ型ネットワークに追加された新しいリンクを 802.1D が処理する方法を示しています。

/image/gif/paws/24062/146-h.gif

この例では、ルート ブリッジとブリッジ A 間のリンクが追加されています。 ブリッジ A とルート ブリッジの間には、すでに間接的な接続(図中の C-D 経由)があると仮定します。 STA は、ポートをブロックしてブリッジング ループを無効にします。 まず、発生と同時に、ルートとブリッジ A の間のリンク上にあるポートは両方が listening 状態になります。 A をルートを直接聞けます現在繋いで下さい。 それはツリーのリーフの方にすぐに指定ポートの BPDU を、伝搬させます。 ブリッジ B および C は、A からこの新しい上位情報を受信すると、リーフに向けてリレーします。 ほんの数秒で、ブリッジ D がルートから BPDU を受信して、即座にポート P1 をブロックします。

/image/gif/paws/24062/146-i.gif

スパニングツリーでは、非常に効率よくネットワークの新しいトポロジを算定できます。 唯一の問題は、ルートとブリッジ A の間のリンクが forwarding 状態になるまでに、転送遅延の 2 倍の時間がかかることです。 つまり、8021.D のアルゴリズムにはネットワークでのファースト コンバージェンスを秒単位で明確にアドバタイズするフィードバック メカニズムがないため、トラフィックが 30 秒間途絶えてしまう(ネットワークの A、B、C の全体が孤立する)ことになります。

802.1w での収束

今度は、RSTP が同様の状況をどう処理するかを見て行きます。 最終的なトポロジは、802.1D が算定するものとまったく同じであることに注意してください。(つまり、以前と同一の場所にブロックされたポートが 1 つあります)。 このトポロジに到達するステップが変化しただけです。

ブリッジ A とルート間にあるリンク上のポートは、発生後ただちに指定ブロッキングに置かれます。 ここまでは、すべての動作が純粋な 802.1D 環境と同じです。 しかし、この段階では、スイッチ A とルート間でネゴシエーションが行われます。 A がルートの BPDU を受信すると、即座に、非エッジ指定ポートをブロックします。 この操作は同期と呼びます。 この操作終了後、ブリッジ A はルート ブリッジがポートを forwarding 状態にするよう、明示的に権限を与えます。 下の図は、ネットワーク上でこのプロセスがどのような結果になるかを示しています。 スイッチ A とルート ブリッジ間のリンクはブロックされ、両方のブリッジが BPDU を交換します。

/image/gif/paws/24062/146-j.gif

スイッチ A が非エッジ指定ポートをブロックしてしまうと、スイッチ A とルート間のリンクは forwarding 状態になり、次のような状況になります。

/image/gif/paws/24062/146-k.gif

まだループの発生はありません。 スイッチA の上のブロッキングの代り、スイッチA の下の今ネットワーク ブロック。 ただし、潜在的なブリッジ ループは別の位置で切られます。 この切り取りはツリー スイッチ A.によってルートによってこの段階で起きる新しい BPDU と共に移動しますスイッチA の新しく ブロックされた ポートはまたスイッチ B の隣接ポートと FORWARDING 状態への速い遷移をネゴシエートし、C を切り替えますその両方とも同期化オペレーションを開始する。 A に対するルート ポート以外には、スイッチ B にはエッジ指定ポートしかありません。 そのため、スイッチ A に forwarding 状態に移行する権限を与えるためにブロックできるポートがありません。 同様に、D に対する指定ポートをブロックする必要があるのはスイッチ C だけです。 この時点で、次の図に示す状態になります。

/image/gif/paws/24062/146-l.gif

最終的なトポロジは、802.1D の例とまったく同じであり、D 上のポート P1 は、最後にはブロッキング状態になることに注意してください。 つまり、新しい BPDU がツリー内を移動するのに必要なだけの時間で、最終的なネットワーク トポロジに到達したということになります。 この迅速なコンバージェンスにはタイマーはまったく関与していません。 RSTP によって導入された唯一の新しいメカニズムは、forwarding 状態への即時の遷移の権限を与えるために、スイッチが新しいルート ポート上で送信できる確認応答だけです。これにより、転送遅延の 2 倍の時間がかかる listening および learning のステージが回避されています。 ファースト コンバージェンスの利点を活用するには、管理者は次の点にだけ留意が必要です。

  • ブリッジ間のネゴシエーションは、ポイントツーポイント リンクで接続したブリッジ間だけで可能です(つまり、明示的なポート コンフィギュレーションでなければ全二重リンク)。

  • 802.1D のポート上で、PortFast が有効にされているので、エッジ ポートの役割がさらに重要になっています。 ネットワーク管理者が B 上のエッジ ポートを正しく設定していない場合、A とルート間にリンクが発生することで接続に影響が出ます。

プロポーザルおよびアグリーメントの手順

ポートが STA によって Designated Port になるために選択されるとき 802.1D はまだ FORWARDING 状態にそれを移行した前に <forward delay> 秒(2x15 デフォルトで)を二度待っています。 RSTP では、この状態は指定ポートの役割を与えられたポートが blocking ステートにある場合に相当します。 次の図は、迅速な遷移がどのように実現されるかを順を追って説明したものです。 ルートとスイッチ A との間に新しいリンクが作成されていると仮定しています。 リンク上のポートはどちらも、相手から BPDU を受信するまで指定 blocking ステートにあります。

/image/gif/paws/24062/146-m.gif

指定ポートが、discarding または learning ステートにある場合(そしてこの場合だけ)、送信する BPDU 上にプロポーザル ビットを設定します。 前の図のステップ 1 で示されているように、ルート ブリッジのポート p0 はこのような状態になっています。 スイッチ A は上位情報を受信しますから、p1 が新しいルート ポートであることはすぐに分かります。 するとスイッチ A は同期を開始して、スイッチ A 上のポートすべてがこの新しい情報と同期が取れていることを確認します。 次の基準のいずれかが当てはまれば、ポートは同期が取れています。

  • blocking 状態にあること(つまり、安定したトポロジでは、discarding 状態)。

  • エッジ ポートであること。

別種のポート上での同期メカニズムの効果を明らかにするため、スイッチ A 上に、代替ポート p2、指定転送ポート p3、エッジ ポート p4 が存在すると仮定します。 p2 と p4 は、すでに基準の 1 つを満たしていることに注意してください。 同期が取れた状態(前の図のステップ 2)になるには、スイッチ A はポート p3 をブロックして、discarding 状態を割り当てる必要があります。 この時点ですべてのポートの同期が取れたので、スイッチ A は、新しく選択したルート ポート p1 のブロックを解除し、アグリーメント メッセージを送信してルートに応答します。 (ステップ 3 を参照。) このメッセージは、プロポーザル BPDU のコピーで、プロポーザル ビットの代わりにアグリーメント ビットが設定されています。 これにより、ポート p0 は、受信したアグリーメントが、どのプロポーザルに対応するものか、確実に判別できます。

/image/gif/paws/24062/146-n.gif

p0 がこのアグリーメントを受信したら、ただちに forwarding 状態に遷移できます。 これが、前の図のステップ 4 です。 ポート p3 は、同期後も指定 discarding 状態のままであることに注意してください。 ステップ 4 では、このポートは、ステップ 1 の間のポート p0 とまったく同じ状況です。 その後で、隣接ポートへのプロポーザルを開始して、forwarding 状態に迅速に遷移しようとします。

  • プロポーザルおよびアグリーメント メカニズムは、タイマーにまったく依存しないため、非常に高速です。 このハンドシェイクの波は即座にネットワーク末端にまで伝搬し、トポロジが変化した後すぐに接続を回復します。

  • 指定 discarding ポートがプロポーザルを送信してもアグリーメントを受信しない場合、徐々に forwarding 状態へと遷移し、従来の 802.1D listening-learning シーケンスへと戻っていきます。 リモート ブリッジで RSTP BPDU が認識されない場合や、リモート ブリッジのポートがブロッキング状態にある場合に、このような状態が発生します。

  • シスコは、同期を取る際に、ブリッジが以前のルート ポートしか discarding 状態にできないように同期メカニズムを強化しました。 このメカニズムの仕組みを詳述するのは、このドキュメントの範囲ではありません。 しかし、ごく普通の再コンバージェンスのケースでは、ほとんどの場合この機能が呼び出されると考えて間違いありません。 最後にブロックされたポートへのパス上にあるポートだけが一時的に混乱するだけなので、このドキュメントの「802.1w でのコンバージェンス」のセクションで説明した例が非常に有効です。

/image/gif/paws/24062/146-o.gif

UplinkFast

RSTP に含まれている、即座に forwarding 状態へ遷移するための別な形式は、シスコ独自の UplinkFast スパニングツリー拡張機能と同じです。 基本的に、ブリッジがルート ポートを失う場合、最良の代替ポートを直接 forwarding モードにすることが可能です(新しいルート ポートの出現も RSTP が処理します)。 代替ポートを新しいルート ポートに選択すると、トポロジの変化が生じます。 802.1w のトポロジ変更メカニズムによって、アップストリームのブリッジにある Content Addressable Memory(CAM)テーブル中の該当するエントリがクリアされます。 この処理により、UplinkFast のダミー マルチキャスト生成プロセスは不要になっています。

このメカニズムは RSTP に元々含まれていて自動的に有効になるので、UplinkFast をそれ以上設定する必要はありません。

新しいトポロジー変更メカニズム

802.1D のブリッジがトポロジ変更を検出すると、信頼できるメカニズムを使用して、まずルート ブリッジに通知します。 次の図に例を示します。

/image/gif/paws/24062/146-p.gif

ルート ブリッジがネットワークのトポロジに変化があったことを認識すると、送信する BPDU 上に TC フラグを設定し、ネットワーク中の全ブリッジにリレーします。 TC フラグ ビットが設定された BPDU をブリッジが受信すると、ブリッジングテーブルのエージング タイムが転送遅延の秒数に減らされます。 この処置により、古くなった情報が比較的迅速に、確実にフラッシュされるようになります。 このプロセスの詳細については、「スパニングツリー プロトコルでのトポロジ変化」を参照してください。 このトポロジ変更メカニズムは、RSTP では大幅に改造されています。 トポロジ変更の検出も、ネットワークを介した伝搬も、ともに進化しています。

トポロジ変化の検出

RSTP では、トポロジ変更が発生するのは、非エッジ ポートの forwarding 状態への移行だけです。 RSTP では、802.1D とは異なり、接続を失うことはもはやトポロジ変更とはみなされないということです(つまり、ブロッキング状態に移行するポートでは TC を生成しないようになっています)。 RSTP ブリッジでトポロジ変更が検出されると、次のようになります。

  • 必要に応じて、すべての非エッジ指定ポートおよびルート ポートに対してハロータイムの 2 倍に等しい値で TC While タイマーが開始されます。

  • これらのポートすべてに関連した MAC アドレスを消去します。

注: TC While タイマーがポート上で作動している間は、そのポートから送信される BPDU には TC ビットが設定されています。 BPDU は、タイマーがアクティブな間、ルート ポート上でも送信されます。

トポロジ変化の伝搬

ブリッジが近隣から TC ビットが設定された BPDU を受信すると、次のようになります。

  • トポロジ変更を受信したポートを除き、すべてのポート上で学習した MAC アドレスがクリアされます。

  • TC While タイマーを開始し、すべての指定ポートおよびルート ポート上で TC を設定した BPDU を送信します(レガシー ブリッジに通知が必要な場合を除き、RSTP はもう特定のTCN BPDU を使用しません)。

このようにして、TCN は即座にネットワーク全体でフラッディングされます。 TC 伝搬はこれでワン ステップのプロセスになりました。 実際には、ルートだけがフラッディングを起こしていた 802.1D とは異なり、トポロジ変更を起こした場所が、ネットワーク全体にこの情報をフラッディングしています。 このメカニズムは、802.1d の同等機能よりもはるかに高速です。 ルート ブリッジが通知を受けて、ネットワーク全体がトポロジ変化状態を<max_age + 転送遅延>の秒数の間待つ必要がありません。

/image/gif/paws/24062/146-q.gif

わずか数秒(ハロータイムの数倍の時間)で、ネットワーク(VLAN)全体で CAM テーブルのエントリはほとんどフラッシュされます。 このアプローチでは、一時的にフラッディングが増える可能性がありますが、一方では速やかな接続回復を妨げる陳腐化する可能性のある情報をクリアします。

802.1d との互換性

RSTP は、レガシー STP プロトコルと相互運用が可能です。 しかし、レガシー ブリッジと双方向で通信すると、802.1w に備わるファースト コンバージェンスの利点が失われることに注意することは大切です。

各ポートは、対応するセグメント上でプロトコルが動作するよう定義した変数を維持しています。 ポートがアップ状態になると、3 秒の移行遅延タイマーも開始します。 このタイマーが作動している間、ポートと関連した現在の STP または RSTP モードはロックされます。 移行遅延の時間が終了すると、ポートは次に受信する BPDU に対応するモードに適応します。 ポートが BPDU を受信した結果、動作モードを変更する場合は、移行遅延が再起動されます。 この動作により、モード変更の頻度が制限されます。

/image/gif/paws/24062/146-r.gif

たとえば、前の図のブリッジ A および B が両方とも RSTP を実行していて、スイッチ A がセグメントに指定されていると仮定します。 レガシー STP ブリッジ C がこのリンクに導入されます。 802.1D ブリッジは RSTP BPDU を無視して破棄するので、C はセグメント上に他にブリッジはないと見なして、不良 802.1D フォーマットの BPDU を送信し始めます。 スイッチ A はこれらの BPDU を受信し、最大ハロータイムの 2 倍が経過した後、該当ポート上でだけモードを 802.1D に変更します。 その結果、C はスイッチ A の BPDU を理解できるようになり、セグメントの指定ブリッジとして A を受け入れます。

/image/gif/paws/24062/146-s.gif

この特定のケースでは、ブリッジ C が削除されると、ブリッジ A は、唯一の隣接ブリッジ B とさらに効率の高い RSTP で動作可能であるにもかかわらず、そのポート上で STP モードを実行します。 これは、セグメントからブリッジ C が削除されたことを A が認識していないからです。 この特定の(まれな)ケースでは、ポートのプロトコル検出を手動で再開するために、ユーザの操作が必要になります。

ポートが 802.1d と互換性を持つモードのときは、トポロジの変化を通知する、TC または TCA ビットが設定された(TCN)BPDU および BPDU も処理できます。

結論

RSTP(IEEE 802.1w)は、シスコが独自に 802.1D スパニングツリーに加えた、BackboneFast、UplinkFast、PortFast などの強化機能のほとんどをデフォルトで備えています。 RSTP は、適切に設定されたネットワークなら、ときには数百ミリ秒の精度で、高速に収束を実現します。 転送遅延や max_age など 802.1D の定番タイマーは、バックアップとして使用するだけで、ポイントツーポイント リンクおよびエッジ ポートを管理者が適切に識別して設定している場合は必要ありません。 また、レガシー ブリッジとのやり取りがない場合にもタイマーは必要ありません。

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 24062