Resilient Ethernet Protocol
Resilient Ethernet Protocol(REP)はシスコ独自のプロトコルで、スパニングツリー プロトコル(STP)に代わるプロトコルとして、ネットワーク ループの制御、リンク障害の処理、コンバージェンス時間の改善を実現します。REP は、セグメントに接続されているポートのグループを制御することで、セグメントがブリッジングループを作成するのを防ぎ、セグメント内のリンク障害に応答します。REP は、より複雑なネットワークを構築するための基盤を提供し、VLAN 負荷分散をサポートします。
(注) |
REP は、Network Essentials ライセンスの Cisco Catalyst IE9300 高耐久性シリーズ スイッチ の Cisco IOS XE Cupertino 17.9.x 以降のリリースでサポートされています。 |
REP セグメントは相互接続されたポートのチェーンで、セグメント ID が設定されます。各セグメントは、標準(非エッジ)セグメント ポートと、2 つのユーザ設定のエッジ ポートで構成されています。1 スイッチに、同じセグメントに属することができるポートは 2 つまでで、各セグメント ポートにある外部ネイバーは 1 つだけです。セグメントは共有メディアを経由できますが、どのリンクでも同じセグメントに属することができるポートは 2 つだけです。REP は、トランクポートでのみサポートされます。
次の図に、4 つのスイッチにまたがる 6 つのポートで構成されているセグメントの例を示します。ポート E1 および E2 がエッジ ポートとして設定されています。(左側のセグメントのように)すべてのポートが動作可能の場合、斜線で表しているように単一ポートがブロックされます。ブロックされたポートは、代替ポート(ALT ポート)とも呼ばれます。ネットワークに障害が発生した場合、ブロックされたポートが転送状態に戻り、ネットワークの中断を最小限に抑えます。
上の図に示されたセグメントはオープンセグメントで、2 つのエッジポート間は接続されていません。REP セグメントはブリッジング ループの原因とならないため、セグメントエッジを安全に任意のネットワークに接続できます。セグメント内のスイッチに接続されているすべてのホストには、エッジポートを通じて残りのネットワークに接続する方法が 2 つありますが、いつでもアクセス可能なのは 1 つだけです。いずれかのセグメントまたは REP セグメントのいずれかのポートに障害が発生した場合、REP はすべての ALT ポートのブロックを解除し、他のゲートウェイ経由で接続できるようにします。
下の図に示すセグメントはリングセグメントとも呼ばれるクローズドセグメントで、同じルータ上に両方のエッジポートがあります。この設定を使用すると、セグメント内の任意の 2 ルータ間で冗長接続を形成することができます。
REP セグメントには、次のような特徴があります。
-
セグメント内の全ポートが動作可能な場合、1 ポート(ALT ポートと呼ばれる)が各 VLAN でブロック状態となります。VLAN 負荷分散が設定されている場合は、セグメント内の 2 つの ALT ポートが VLAN のブロック状態を制御します。
-
ポートが動作不能になり、リンク障害が発生すると、すべてのポートがすべての VLAN トラフィックを転送して、接続性を確保します。
-
リンク障害の場合、できるだけ早期に代替ポートのブロックが解除されます。障害リンクが復旧すると、ネットワークの中断を最小限に抑えるように VLAN 単位で論理的にブロックされたポートが選択されます。
REP セグメントに基づいて、ほとんどのネットワークタイプを構成することができます。
アクセスリングトポロジでは、次の図に示すように、ネイバースイッチで REP がサポートされない場合があります。この場合、そのスイッチ側のポート(E1 と E2)を非ネイバー エッジ ポートとして設定できます。非ネイバーエッジポートは、STP トポロジ変更通知(TCN)をアグリゲーションスイッチに送信するように設定できます。
REP には次のような制限事項があります。
-
各セグメントポートを設定する必要があります。設定を間違えると、ネットワーク内で転送ループが発生します。
-
REP はセグメント内の単一障害ポートだけを管理できます。REP セグメント内の複数ポート障害の場合、ネットワークの接続が失われます。
-
冗長ネットワーク内だけに REP を設定します。冗長性のないネットワークに REP を設定すると、接続が失われます。
リンク完全性
REP は、リンク完全性の確認にエッジ ポート間でエンドツーエンド ポーリング機能を使用しません。ローカル リンク障害検出を実装しています。REP リンク ステータス レイヤ(LSL)が REP 対応ネイバーを検出して、セグメント内の接続性を確立します。ネイバーが検出されるまで、インターフェイス上ですべての VLAN がブロックされます。ネイバーが特定されたあと、REP が代替ポートとなるネイバー ポートと、トラフィックを転送するポートを決定します。
セグメント内のポートごとに、一意のポート ID が割り当てられます。ポート ID フォーマットは、スパニングツリー アルゴリズムで使用されるものと類似しており、ポート番号(ブリッジ上で一意)と、関連 MAC アドレス(ネットワーク内で一意)から構成されます。セグメント ポートが起動すると、ポートの LSL がセグメント ID およびポート ID を含むパケットの送信を開始します。ポートは、同じセグメント内のネイバーとのスリーウェイ ハンドシェイクを実行したあとで、動作可能と宣言されます。
次のような場合、セグメント ポートは動作可能になりません。
-
ネイバーに同じセグメント ID がない
-
複数のネイバーに同じセグメント ID がある
-
ネイバーがピアとして、ローカル ポートに確認応答しない
各ポートは、直近のネイバーと隣接関係を確立します。ネイバーとの隣接関係が確立されると、代替ポートとして機能する、セグメントのブロックされたポートを決定するようにポートが相互にネゴシエートします。その他のすべてのポートのブロックは解除されます。デフォルトでは、REP パケットはブリッジ プロトコル データ ユニットクラスの MAC アドレスに送信されます。パケットは、シスコ マルチキャスト アドレスにも送信されますが、セグメントに障害が発生した場合にブロックされたポートのアドバタイズ(BPA)メッセージの送信だけに使用されます。パケットは、REP が動作していない装置によって廃棄されます。
高速コンバージェンス
REP は、物理リンク ベースで動作し、VLAN 単位ベースでは動作しません。すべての VLAN に対して 1 つの hello メッセージしか必要ないため、プロトコル上の負荷が軽減されます。指定セグメント内の全スイッチで一貫して VLAN を作成し、REP トランク ポート上に同じ許容 VLAN を設定することを推奨します。ソフトウェアでのメッセージのリレーによって発生する遅延を回避するために、REP ではいくつかのパケットを通常のマルチキャスト アドレスにフラッディングします。これらのメッセージはハードウェア フラッド レイヤ(HFL)で動作し、REP セグメントだけではなくネットワーク全体にフラッディングされます。セグメントに属していないスイッチは、これらのメッセージをデータ トラフィックとして扱います。ドメイン全体または特定のセグメントの管理 VLAN を設定することで、これらのメッセージのフラッディングを制御することができます。
VLAN 負荷分散
REP セグメント内の 1 つのエッジ ポートがプライマリ エッジ ポートとして機能し、もう一方がセカンダリ エッジ ポートとなります。セグメント内の VLAN 負荷分散に常に参加しているのがプライマリ エッジ ポートです。REP VLAN バランシングは、設定された代替ポートでいくつかの VLAN をブロックし、プライマリ エッジ ポートでその他の全 VLAN をブロックすることで実行されます。VLAN 負荷分散を設定する際に、次の 3 種類の方法のいずれかを使用して代替ポートを指定できます。
-
インターフェイスにポート ID を入力します。セグメント内のポート ID を識別するには、ポートの show interface rep detail インターフェイス コンフィギュレーション コマンドを入力します。
-
preferred キーワードを入力します。これにより、rep segment segment-id preferred インターフェイス コンフィギュレーション コマンドで優先代替ポートとしてすでに設定されているポートを選択します。
-
セグメント内のポートのネイバー オフセット番号を入力します。これは、エッジ ポートの下流ネイバー ポートを識別するものです。ネイバー オフセット番号の範囲は、-256 ~ +256 で、0 値は無効です。プライマリ エッジ ポートはオフセット番号 1 です。1 を超える正数はプライマリ エッジ ポートの下流ネイバーを識別します。負数は、セカンダリ エッジ ポート(オフセット番号 -1)とその下流ネイバーを示します。
(注)
プライマリ(またはセカンダリ)エッジ ポートからポートの下流の位置を識別することで、プライマリ エッジ ポートのオフセット番号を設定します。番号 1 はプライマリ エッジ ポートのオフセット番号なので、オフセット番号 1 は入力しないでください。
次の図に、E1 がプライマリ エッジ ポートで E2 がセカンダリ エッジ ポートの場合の、セグメントのネイバー オフセット番号を示します。リングの内側にある赤い番号は、プライマリ エッジ ポートからのオフセット番号で、リングの外側にある黒い番号がセカンダリ エッジ ポートからのオフセット番号です。正のオフセット番号(プライマリ エッジ ポートからの下流の位置)または負のオフセット番号(セカンダリ エッジ ポートからの下流の位置)のいずれかにより、(プライマリ エッジ ポートを除く)全ポートを識別できます。E2 がプライマリ エッジ ポートになるとオフセット番号 1 となり、E1 のオフセット番号が -1 になります。
REP セグメントが完了すると、すべての VLAN がブロックされます。VLAN 負荷分散を設定する際には、次の 2 種類の方法のいずれかを使用して発動条件を設定する必要もあります。
-
プライマリ エッジ ポートのあるスイッチ上で rep preempt segment segment-id 特権 EXEC コマンドを入力することで、いつでも手動で VLAN 負荷分散を発動することができます。
-
rep preempt delay seconds インターフェイス コンフィギュレーション コマンドを入力すると、プリエンプション遅延時間を設定できます。リンク障害が発生して回復すると、設定されたプリエンプション期間の経過後に VLAN 負荷分散が開始されます。設定時間が経過する前に別のポートで障害が発生した場合、遅延タイマーが再開されることに注意してください。
(注) |
VLAN 負荷分散が設定されている場合、手動での介入またはリンク障害および回復によって発動されるまで、動作が開始されません。 |
VLAN 負荷分散が発動されると、プライマリ エッジ ポートがメッセージを送信して、セグメント内の全インターフェイスにプリエンプションについて警告します。メッセージがセカンダリ ポートで受信されると、メッセージがネットワークに送信され、メッセージ内で指定された VLAN セットをブロックするように代替ポートに通知し、残りの VLAN をブロックするようにプライマリ エッジ ポートに通知します。
またすべての VLAN をブロックするために、セグメント内の特定ポートを設定できます。プライマリ エッジ ポートだけによって VLAN 負荷分散が開始され、セグメントが両端でエッジ ポートによって終端されていない場合、開始することができません。プライマリ エッジ ポートは、ローカル VLAN 負荷分散設定を決定します。
負荷分散を再設定するには、プライマリ エッジ ポートを再設定します。負荷分散設定を変更すると、プライマリ エッジ ポートでは、rep preempt segment コマンドが実行されるか、ポート障害および復旧のあとで設定済みプリエンプト遅延期間が経過してから、新規設定が実行されます。エッジ ポートを通常セグメント ポートに変更しても、既存の VLAN 負荷分散ステータスは変更されません。新規エッジ ポートを設定すると、新規トポロジ設定になる可能性があります。
スパニングツリーとの相互作用
REP は STP とやり取りしませんが、共存はできます。セグメントに属しているポートはスパニングツリーの制御から削除されるため、セグメント ポートでは STP BPDU の送受信は行われません。したがって、STP はセグメント上で実行できません。
STP リング コンフィギュレーションから REP セグメント コンフィギュレーションに移行するには、まずリング内の単一ポートをセグメントの一部として設定し、次にセグメント数を最小限にするように隣接するポートを設定します。各セグメントには、常にブロックされたポートが含まれているので、セグメントが複数になるとブロックされたポートも複数になり、接続が失われる可能性があります。セグメントがエッジ ポートの場所まで両方向に設定されたら、次にエッジ ポートを設定します。
Resilient Ethernet Protocol(REP)ネゴシエート
(注) |
REP ネゴシエートは、アップリンクポートでのみ機能します。 |
REP とスパニングツリープロトコル(STP)は、2 つの異なるループ回避プロトコルです。REP には、コンバージェンス時間の点で STP よりも優れた点があります。REP は、リング内で単一のリンク障害が発生した場合に冗長経路を提供できるように、リングトポロジで動作するよう設定できます。
シスコのスイッチは、デフォルトで STP が有効になっています。STP が有効になっているスイッチが(新しいノードの追加または既存のノードの交換のために)すでに実行中の REP リングに挿入されると、次の条件が適用されます。
-
新しいスイッチにより、REP リングが切断されます。
-
新しいスイッチは、REP リングの一部として設定されるまで、リングを介して通信できません。
REP ネゴシエート機能は、REP ステータスをピアとネゴシエートすることで、これらの問題を解決しようとします。次の表に、REP ネゴシエーションイベントが発動するタイミングと実行するアクションを示します。ここでは、両方のピアがネゴシエート中、いずれのピアもネゴシエートしていないという、2 つのイベントがあります。
SELF REP をネゴシエート |
PEERS REP をネゴシエート |
発動されるイベント |
動作 |
---|---|---|---|
True |
True |
REPN |
REP を設定 |
True |
False |
REPNN |
STP を設定 |
False |
X |
REPNN |
STP のまま |
この機能は、3 つの異なるプロトコルに依存して必要なデータを取得し、正しい設定を決定します。関連するさまざまなプロトコルとその目的を次に示します。
-
STP :デフォルトでは、STP はシスコスイッチのすべてのポートで有効になっています。
-
REP :カスタマーネットワークを設定して、コンバージェンス時間と冗長性改善のために REP リングを形成します。
-
Cisco Discovery Protocol (CDP) :この機能は、CDP メッセージを介して送信されるユーザー定義の TLV に依存して、インターフェイスの正しい(STP または REP)設定をネゴシエートします。
REP ポート
REP セグメントは、障害ポート、オープン ポート、および代替ポートで構成されます。
-
標準セグメント ポートとして設定されたポートは、障害ポートとして起動します。
-
ネイバーとの隣接関係が確立されると、ポートは代替ポート状態に移行して、インターフェイス内の全 VLAN をブロックします。ブロックされたポートのネゴシエーションが実施され、セグメントが安定すると、1 つのブロックされたポートが代替役に留まり、他のすべてのポートがオープン ポートになります。
-
リンク内で障害が発生すると、すべてのポートが障害状態に遷移します。代替ポートは、障害通知を受信すると、すべての VLAN を転送するオープン状態に遷移します。
通常セグメント ポートをエッジ ポートに変換しても、エッジ ポートを通常セグメント ポートに変換しても、必ずトポロジ変更が発生するわけではありません。エッジ ポートを通常セグメント ポートに変更する場合、設定されるまで VLAN 負荷分散は実装されません。VLAN 負荷分散の場合、セグメント内に 2 つのエッジ ポートを設定する必要があります。
スパニングツリー ポートとして再設定されたセグメント ポートは、スパニングツリー設定に従って再起動します。デフォルトでは、これは指定ブロッキング ポートです。PortFast が設定されていたり、STP が無効の場合、ポートは転送状態になります。