LAN スイッチング : イーサネット

Resilient Ethernet Protocol の概要

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

概要

このドキュメントでは、Resilient Ethernet Protocol(REP)の概要について説明します。

著者:Cisco TAC エンジニア、Matthew Blanshard

サポート対象プラットフォーム

  • Desktop Switching Business Unit(DSBU)Metro Switch(3750ME と ME3400)リリース 12.2(40)SE 以降
  • Cisco Catalyst 4500 シリーズ スイッチ リリース 12.2(44)SG 以降
  • Whitney2(12.2SXI)以降の Cisco Catalyst 6500 シリーズ スイッチ
  • Cobra(12.2SRC)以降の Cisco Catalyst 7600 シリーズ ルータ

背景説明

なぜ REP なのか

REP は、一部の特定のレイヤ 2 ネットワーク設計に含まれているスパニング ツリー プロトコル(STP)の代用として使用されるプロトコルです。 最新の STP 仕様は 802.1Q-2005 で定義されたマルチ スパニング ツリー(MST)です。 MST の代替品が必要なユーザには次のような懸念があるはずです。

  • STP はブリッジされたドメインを全体と見なします。 そのため、不用意にリモート リンクの状態を変更すると、ローカルな障害が回復されます。 ブリッジされたドメインを小さな独立した断片に分割した場合にのみ、STP の予測不可能性が軽減されます。 残念ながら、スパニング ツリーから一部の主要な機能を削除(すべてのシナリオでループを回避するなど)せずにこれを実現することは不可能ではないにしても手間がかかります。

  • 回線交換テクノロジーでは一般的な 50 ミリ秒(ms)の回復時間を期待しているサービス プロバイダーにとって、STP コンバージェンスは遅いと感じる可能性があります。 これが低速であることはプロトコル自体が原因ではありません。 STP をより効率的な方法で動作させるためには、プラットフォームを最適化する必要があります。 その一方で、プラットフォームの制限に対処する新しいソリューションが必要です。

  • MST ロードバランシング設定には柔軟性がありません。 MST でインスタンス ロードバランシングを実現するには、すべてのブリッジが同じリージョンに属している必要があります。 リージョンはユーザ設定によって定義され、ネットワークに一部の再コンバージェンスを導入すること以外にスイッチ上の MST 設定を変更する方法はありません。 これは、VLAN Trunk Protocol(VTP)v3 などの他のプロトコルを使用することによって、範囲を限定した慎重な事前設定で解決できる可能性があります。

利点

ここで、REP のメリットの一部を示します。

  • 次のコンバージェンス時間が可能
    • 3750ME は 20 ~ 79 ms で収束します。
    • ME3400 は 40 ~ 70 ms で収束します。
  • 既存のハードウェアで動作する
  • 予測可能なブロック対象ポート
  • 簡単な設定

制限事項

ここで、REP の制限の一部を示します。

  • プラグ アンド プレイがない
  • 設定ミスに対する保護がない(ループの形成が容易)
  • 限られた冗長性(1 つのリンク障害にしか対処できない)
  • グローバル トポロジを検出できない(セグメント トポロジのみ)
  • シスコ固有

プロトコルの動作

セグメント

REP では、最小ネットワーク構成要素としてセグメントが使用されます。 セグメントは、チェーンでつながれたポートの集合です。 ブリッジ上の特定のセグメントに割り当てることができるポートは 2 つだけであり、それぞれのセグメント ポートに設定できる外部ネイバーは最大で 1 つです。 セグメントの定義はすべてユーザ設定によって実現されます。 セグメントは、ユーザによっても決定される 2 つのエッジ ポートで終端されます。 セグメントに対して動作する REP プロトコルは、可能な限り最小限であり、次のプロパティだけを保証します。

  • セグメント内のすべてのポートがオンラインで動作可能であれば、その中の 1 つのポートが各 VLAN のトラフィックを論理的にブロックします。
  • セグメント内の少なくとも 1 つのポートが何らかの理由で動作不能になった場合は、他のすべての動作可能なポートがすべての VLAN に転送します。
  • リンク障害が発生した場合は、残りのすべての動作可能ポートのブロック解除ができるだけ速やかに実行されます。 同様に、最後に障害が発生したポートが再び動作可能になった場合は、VLAN ごとに 1 つずつの論理的にブロックされたポートを選択することによって、できるだけネットワークの中断を少なくする必要があります。



図 1: 単純な構成要素としてのセグメント

図 1 に、4 つのブリッジにわたって広がる 6 つのポートを含むセグメントの例を示します。 図の中で、設定されたエッジ ポート E1 と E2 は三角形で表現されており、論理的にブロックされたポートはバーで表現されています。 すべてのポートが動作可能な場合は、左側の図のように、1 つのポートがブロックされます。 ネットワークで障害が発生した場合は、右側の図のように、論理的にブロックされたポートがフォワーディング ステートに戻ります。

セグメントが開いているときは、図 1 に示すように、2 つのエッジ ポート間の接続を確立できません。 REP エッジ スイッチ間の接続は、セグメントの外側に存在する(STP 経由)ものと見なされます。 オプションの設定では、REP セグメントで障害が発生すると、コンバージェンスを高速化するために STP トポロジ変更通知(TCN)が生成されます。



図 2: セグメントはリングにラップ可能

2 つのエッジ ポートが同じスイッチ上に存在する場合は、図 2 に示すように、セグメントがリングにラップされます。 この設定では、セグメント経由でエッジ ポート間が接続されます。 実際には、この設定によって、セグメント内の 2 つのスイッチ間で冗長接続を構築することができます。

開いているセグメントと閉じているセグメントの組み合わせを使用すると、図 1 と図 2 に示すように、さまざまなネットワーク設計を実現できます。

リンク ステータス レイヤ

責任

  • 一意のネイバーとの接続を確立する。
  • ネイバーとの接続の完全性を定期的にチェックする。
  • 上位レイヤのステート マシンとメッセージを送受信する。
  • ネイバーから受信されたデータを確認する。
  • プロトコル データ ユニット(PDU)のレートを制限する。

ポートの状態

ポートが REP 用に設定されると、次の状態に遷移します。

障害発生状態(ブロッキング)

ネイバー関係の構築:

代替ポート(ブロッキングだが動作可能)

消失したアクセス ポイント(AP)の選択:

オープン ポート(別のポートが「AP」を選択した場合)

ポートは次のような状況下では動作可能になりません。

  • ポート上でネイバーが検出されない
  • ポート上で複数のネイバーが検出された
  • ネイバーがメッセージを確認(ACK)しない

パケットの詳細

デフォルトで、REP は、ネイティブ VLAN(タグなし)上のブリッジ プロトコル データ ユニット(BPDU)クラスの MAC アドレスに hello パケットを送信するため、その機能を実行していないデバイスではドロップされます。 各 Linden Scripting Language(LSL)PDU には、送信された PDU のシーケンス番号と受信された最後の PDU のリモート シーケンス番号の両方が含まれています 。 これにより、ポート間の信頼できる送信が保証されます。 各ネイバーは ACK を受信するまで、送信した各 PDU のコピーを保持します。 ACK が受信されなかった場合は、タイマーが切れてから再送信します。

実際の LSL PDU には以下が含まれます。

  • ProtocolVersion(現時点で 0)
  • SegmentID
  • RemotePortID
  • LocalPortID
  • LocalSeqNumber
  • RemoteSeqNumber
  • 上位レイヤ TLV

LSL パケットは、hello インターバルごと、または、上位レイヤ プロトコルから要求された場合に送信されます。 LSL PDU が構築されると、最初に、SegmentID や LocalPortID などの独自のフィールドに入力されます。 次に、Block Port Advertisement(BPA)や End Port Advertisement(EPA)などの上位レイヤ プロトコル キューを調査して、追加のデータをキューに入れる必要があるかどうかを確認します。

ハードウェア フラッド レイヤ(HFL)

HFL は、リンク障害後に高速コンバージェンスを実現する REP モジュールです。 LSL などの BPDU MAC アドレスへ PDU を送信する代わりに、REP 管理 VLAN 上の特殊な MAC アドレス(0100.0ccc.ccce)にマルチキャスト PDU を送信します。 このように、セグメント内のすべてのスイッチにハードウェアでフラッディングされます。

HFL パケット形式は次のように単純です。

  • プロトコル バージョン(まだ 0)
  • SegmentID
  • 上位レイヤの Type Length Value(TLV)

この時点で、HFL 経由で送信される唯一の TLV は BPA です。

BPA

BPA は、ブロックする VLAN をアドバタイズするためにポート プライオリティと一緒に AP によって送信されます。 これにより、リンク障害がセグメントに通知され、VLAN 単位かつセグメント単位に AP が 1 つずつしか存在しないことが保証されます。 この実現は容易ではありません。

考慮事項

安定したトポロジでは、AP 選択が簡単です。 オンラインになったポートがすべての VLAN 用の AP(ブロッキング)として起動します。 そのポートがプライオリティの高い他のポートから BPA を受信したときに、それが安全にブロック解除できることを認識します。 セグメント上のポートで障害が発生した場合は、このプロセスが他のポートをブロック解除するために使用されます。 障害が発生したすべてのポートが、現在の AP よりも高いポート プライオリティ(プライオリティ内の障害発生ビットを使用して)を生成して、現在の AP をブロック解除します。

ただし、このリンクがアップに戻ったときに問題が発生します。 この場合は、プライオリティに関する障害発生ビットがクリアされ、プライオリティが標準に戻ります。 このポートが新しいプライオリティを認識している場合でも、セグメントの他の部分にこのポートからの古い BPA 情報が残っている可能性があります。 次の図に、このシナリオを示します。

図 3: セグメントを開いている古い情報

このシナリオの開始時点で、ポート 7 がブロックして、プライオリティ 7 をアドバタイズしています。 次に、ポート 11 と 12 の間のリンクが壊れて、ポート 12 がプライオリティ 12 でブロックしていることを示す BPA を送信します。 これらのブロッキング ポートが他の BPA を受信する前に、ポート 12 がアップに戻って動作可能になります。 その直後に、ポート 12 が、プライオリティ 7 のポート 7 の BPA を受信するため、それがブロック解除します。 その後で、ポート 7 がプライオリティ 12 のポート 12 から古い BPA を取得するため、それがブロック解除します。 これがループを引き起こします。 この競合状態は、BPA がキーを使用しているためです。

BPA の動作

各ポートは次の情報を使用してポート プライオリティを計算します。

図 4: Port Priority

これで、障害が発生するポートがいつもセグメント上で選択された AP である理由が明らかになりました。 ポートが障害発生から代替に遷移すると、そのポートはポート ID とランダム数値に基づいて一意のキーを生成し、それをポート ID と一緒にアドバタイズします。 AP は、ブロックされたポートからローカル キーを含むメッセージを受信した場合にのみブロック解除します。 このメカニズムによって、前述した競合状態のシナリオが回避されます。 ここで、ポートがアップまたはダウンしたときに何が起きるかを図で示します。



図 5: リンク アップ時の BPA の動作



図 6: リンク障害後の BPA の動作

ハードウェア補助

セグメントでリンク障害が発生すると、BPA が HFL 経由で残りのセグメントにフラッディングされます。 これが十分な効果を発揮するためには、すべてのセグメント ポートで管理 VLAN を伝送し、セグメント外部のエッジ ポート間でも伝送する必要があります。 BPA は、LSL 経由でもこの情報を送信します。これは、HFL では信頼できる転送を保証できないためです。 HFL 配信に問題がある場合は、LSL が再コンバージェンスの発生を確認します。

EPA

エンド ポートはエッジ ポートと障害発生ポートのどちらかです。 セグメントがエッジ ポートによって両側で終端されている場合は、完全であると見なされ、VLAN ロードバランシングが使用できます。 セグメントが障害発生ポートによって終端されている場合は、すべてのポートが開いているため、ロードバランシングは使用できません。

エンド ポートは LSL 経由でリレーされる EPA を定期的に送信します。 これらのメッセージの機能は次のとおりです。

  • セグメントに関する統計情報の伝播
  • セグメント完全状態の検出
  • VLAN ロードバランシングの開始

セグメント統計情報

各エンド ポートは LSL 経由でそのポート自身に関する情報を含む EPA を定期的に送信します。 各中間ポートはそのポート自身の情報を付加して、EPA をリレーします。 これらのメッセージは双方向でやり取りされるため、各 REP 参加スイッチが REP セグメント全体を把握しています。 EPA に含まれる情報は次のとおりです。

  • Bridge ID
  • 両方の REP 参加ポートのポート ID とステータス

セグメント完全状態の検出

各エッジ ポートは、そのポートのエッジ プライオリティと特殊なキー(BPA キーとは無関係)を含む特殊な選択 EPA メッセージを送信します。 これを受信する最初のポートが、このメッセージ内にそのポート自身のポート プライオリティを付加して、次のスイッチにリレーします。 パス上にある各スイッチがそのスイッチのポート プライオリティと EPA 内のプライオリティを比較して、EPA 内のプライオリティの方が高い場合はそれをそのスイッチのプライオリティに置き換えます。 エッジ ポートが EPA を受信すると、エッジ プライオリティとそのポート自身のプライオリティを比較します。 受信した EPA のプライオリティの方が高い場合は、エッジ ポートはプライマリ エッジのキーを含むその次の EPA メッセージを送信します。 このメカニズムによって、次の 2 つのことが実現されます。

  • セグメントが完全であることを確認する
  • 両方のエッジ ポートに最もプライオリティの高い中間ポートに関する情報を提供する

VLAN ロードバランシングの開始

VLAN ロードバランシングは、別々の VLAN をブロックしている 2 つの AP で実現されます。 プライマリ エッジは、VLAN の 1 つ以上のサブネットで AP になる責任があり、最もプライオリティの高いポートに残りのポートをブロックするように指示する EPA メッセージを送信します。 最もプライオリティの高い中間ポートに関する情報はすでに EPA 選択メッセージでフェッチされています。 このために生成されるメッセージのタイプは、最もプライオリティの高いポートがブロックする必要のある VLAN のビットマップを含む EPA コマンド TLV です。

PDU の形式

EPA ヘッダー:

  • Type=EPA
  • インスタンス番号
  • オプションの TLV

選択 TLV:

  • edgePriority
  • edgeKey
  • BestPortPriority

コマンド TLV:

  • SelectedPortPriority
  • SelectedVLANs

情報 TLV:

  • Bridge ID
  • 2 つのポート ID
  • ポートの役割

トラブルシューティング

壊れたリンクの調査

以下に、適切なトポロジの例を示します。

SwitchA#show rep topology
REP Segment 1
BridgeName PortName edge Role
---------------- ---------- ---- ----
SwitchA Fa0/2 Pri Alt
SwitchC Fa1/0/23 Open
SwitchC Fa1/0/2 Open
SwitchD Fa0/23 Open
SwitchD Fa0/2 Open
SwitchB Fa1/0/23 Sec Open

以下に、何かが壊れている例を示します。

SwitchA#show rep topo
REP Segment 1
Warning: REP detects a segment failure, topology may be incomplete
BridgeName PortName edge Role
---------------- ---------- ---- ----
SwitchA Fa0/2 Sec Open
SwitchC Fa1/0/23 Open
SwitchC Fa1/0/2 Fail

以下に、以前の状態を示します。

SwitchA#show rep topo archive
REP Segment 1
BridgeName PortName edge Role
---------------- ---------- ---- ----
SwitchA Fa0/2 Pri Open
SwitchC Fa1/0/23 Open
SwitchC Fa1/0/2 Open
SwitchD Fa0/23 Open
SwitchD Fa0/2 Open
SwitchB Fa1/0/23 Sec Alt

障害が発生した SwitchC と SwitchD 間のリンクに関する詳細を取得するには、次のコマンドを入力します。

SwitchA#show rep topo ar de
REP Segment 1
<snip>
SwitchC, Fa1/0/2 (Intermediate)
Open Port, all vlans forwarding
Bridge MAC: 0017.5959.c680
Port Number: 004
Port Priority: 010
Neighbor Number: 3 / [-4]
SwitchD, Fa0/23 (Intermediate)
Open Port, all vlans forwarding
Bridge MAC: 0019.e73c.6f00
Port Number: 019
Port Priority: 000
Neighbor Number: 4 / [-3]
<snip>

ここで、リンクをアップに戻した後はどうなるかを示します。

SwitchA#show rep topo
REP Segment 1
BridgeName PortName edge Role
---------------- ---------- ---- ----
SwitchA Fa0/2 Pri Open
SwitchC Fa1/0/23 Open
SwitchC Fa1/0/2 Alt
SwitchD Fa0/23 Open
SwitchD Fa0/2 Open
SwitchB Fa1/0/23 Sec Open

過去に障害が発生したポートが AP として残っており、ブロックし続けていることに注意してください。 これはブロックされたポート間だけで AP 選択が実行されるためです。 このリンクで障害が発生すると、トポロジ内の他のすべてのポートが開かれます。 リンクがアップすると、SwitchC と SwitchD の両方がそれぞれのプライオリティを含む BPA を送信します。 SwitchC F1/0/2 の方がプライオリティが高いため、それが AP になります。 この状態は、トポロジ内の別のポートで障害が発生するまで、または、プリエンプションが実行されるまで続きます。

代替(ALT)ポート

ALT ポートは一部または全部の VLAN をブロックします。 REP セグメント内で障害が発生した場合は、ALT ポートは存在しません。 すべてのポートが開きます。 これが、障害が発生した場合に REP がデータ トラフィック用のアクティブ パスを提供する方法です。

REP セグメント全体(障害が発生していない場合)では、1 つまたは 2 つの ALT ポートが存在します。 VLAN ロードバランシングが有効になっている場合は、セグメント内に 2 つの ALT ポートが存在します。一方の ALT ポートが指定された VLAN のセットをブロックし、常にプライマリ エッジであるもう一方の ALT ポートが VLAN の補足セットをブロックします。 VLAN ロードバランシングが有効になっていない場合は、セグメント内にすべての VLAN をブロックする 1 つの ALT ポートが存在します。

ポートがオンラインになる順序と組み込みのポート プライオリティによって、ALT ポートになるセグメント内のポートが決定されます。 特定のポートを ALT ポートにする場合は、preferred キーワードを使って設定します。 次に例を示します。

int gig3/10
rep segment 3 edge preferred

gig3/1 がプライマリ エッジで、VLAN ロードバランシングを設定するとします。

int gig3/1
rep segment 3 edge primary
rep block port preferred vlan 1-150

この設定では、プリエンプション後に、ポート gig3/10 が VLAN 1 ~ 150 をブロックする ALT ポートに、ポート gig3/1 が VLAN 151 ~ 4094 をブロックする ALT ポートになります。

プリエンプションは、rep preempt segment 3 コマンドで手動で実行するか、または、プライマリ エッジ ポートで rep preempt delay <seconds> を設定することによって、自動的に実行されます。

リンク障害後にセグメントが復旧した場合は、障害箇所に隣接する 2 つのポートのどちらかが ALT ポートになります。 その後、プリエンプション後に、ALT ポートの位置が設定で指定された位置に変更されます。

REP 隣接関係のトラブルシューティング

次のコマンドを入力して、隣接関係が存在するかどうかを確認します。

SwitchC#show int fa1/0/23 rep
Interface Seg-id Type LinkOp Role
---------------------- ------ -------------- ----------- ----
FastEthernet1/0/23 1 TWO_WAY Open

次のコマンドを入力して、詳細情報を入手します。

SwitchC#show int fa1/0/23 rep detail
FastEthernet1/0/23 REP enabled
Segment-id: 1 (Segment)
PortID: 001900175959C680
Preferred flag: No
Operational Link Status: TWO_WAY
Current Key: 000400175959C6808335
Port Role: Open
Blocked VLAN: <empty>
Admin-vlan: 1
Preempt Delay Timer: disabled
Configured Load-balancing Block Port: none
Configured Load-balancing Block VLAN: none
STCN Propagate to: none
LSL PDU rx: 255547, tx: 184557
HFL PDU rx: 3, tx: 2
BPA TLV rx: 176096, tx: 2649
BPA (STCN, LSL) TLV rx: 0, tx: 0
BPA (STCN, HFL) TLV rx: 0, tx: 0
EPA-ELECTION TLV rx: 870, tx: 109
EPA-COMMAND TLV rx: 2, tx: 2
EPA-INFO TLV rx: 45732, tx: 45733

デバッグ

ほとんどのデバッグは出力が多過ぎてあまり役に立ちません。 以下に完全なリスト(一部は service internal を使用した場合にのみ出力可能)を示します。

SwitchB#debug rep ?
all all debug options
bpa-event bpa events
bpasm BPA state machine
database protocol database
epasm EPA state machine
error protocol errors
failure-recovery switchover events
lslsm LSL state machine
misc miscellaneous
packet protocol PDU
prsm Port Role state machine
showcli show debug info

有益なデバッグ

デバッグに有効なコマンドをいくつか紹介します。

debug rep showcli(service internal が必要)

  • このデバッグは、標準の show rep コマンドを入力したときに、大量の余分な情報を出力します。


debug rep error

  • このデバッグは、非常に有益な可能性があります。


debug rep failure-recovery

  • このデバッグは、リンクが壊れたときに表示されるメッセージを出力します。
*Mar  5 05:01:11.530: REP LSL-OP Rx EXT Local (Fa0/23 seg:1, tc:1, frs:0) prio:
*Mar 5 05:01:11.530: 0x80 0x00 0x19 0x00 0x17 0x59 0x59 0xC6
*Mar 5 05:01:11.530: 0x80
*Mar 5 05:01:11.530: REP Flush from Fa0/23 to REP, sending msg
*Mar 5 05:01:11.530: REP LSL-OP Rx INT Local (Fa0/2 seg:1, tc:1, frs:0) prio:
*Mar 5 05:01:11.530: 0x80 0x00 0x19 0x00 0x17 0x59 0x59 0xC6
*Mar 5 05:01:11.530: 0x80
*Mar 5 05:01:11.530: REP Flush from Fa0/2 to REP, sending msg

debug rep prsm

  • このデバッグは、隣接関係が構築されない場合のトラブルシューティングに役に立ちます。 リンクのアップ/ダウン時に何が起きるかに関する詳細が出力されます。
4d05h: %LINK-3-UPDOWN: Interface FastEthernet0/2, changed state to up
4d05h: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/2,
changed state to up
*Mar 5 05:06:19.098: rep_pr Fa0/2 - pr: during state FAILED_PORT,
got event 5(no_ext_neighbor)
*Mar 5 05:06:19.098: @@@ rep_pr Fa0/2 - pr: FAILED_PORT ->
FAILED_PORT_NO_EXT_NEIGHBOR[Fa0/2]rep_pr_act_no_ext_neighbor@272:
PRSM->fp_no_ext_neighbor state
[Fa0/2]rep_pr_lsl_event_handler@448: REP_MSG_EXT_PEER_GONE rcvd
4d05h: %REP-4-LINKSTATUS: FastEthernet0/2 (segment 1) is operational
*Mar 5 05:06:22.236: rep_pr Fa0/2 - pr: during state FAILED_PORT_NO_EXT_
NEIGHBOR, got event 0(link_op)
*Mar 5 05:06:22.236: @@@ rep_pr Fa0/2 - pr:
FAILED_PORT_NO_EXT_NEIGHBOR ->
ALTERNATE_PORT[Fa0/2]rep_pr_act_ap@162: PRSM->alternate state
[Fa0/2]rep_pr_lsl_event_handler@431: REP_MSG_LINKOP_TRUE rcvd
*Mar  5 05:06:23.125:     rep_pr Fa0/2 - pr: during state ALTERNATE_PORT,  
got event 2(pre_empt_ind)
*Mar 5 05:06:23.133: @@@ rep_pr Fa0/2 - pr: ALTERNATE_PORT -> UNBLOCK_VLANS_ACT
*Mar 5 05:06:23.133: rep_pr Fa0/2 - pr: during state UNBLOCK_VLANS_ACT,
got event 3(no_local_block_vlan)
*Mar 5 05:06:23.133: @@@ rep_pr Fa0/2 - pr: UNBLOCK_VLANS_ACT ->
OPEN_PORT[Fa0/2]rep_pr_act_op@252: PRSM->active state
[Fa0/2]rep_pr_act_uva@222: PRSM unblock vlans
[Fa0/2]rep_pr_sm_prempt_ind@374: Posting pre empt indication

debug rep epasm

  • このデバッグは、トポロジ変更時の有益な情報を提供します。 セグメントが安定している場合は何も出力されません。

以下に、ポートがオフラインになった場合の出力を示します。

*Mar  5 04:48:31.463:     rep_epa_non_edge Fa0/2 - epa-non-edge: during state 
INTERMEDIATE_PORT, got event 1(lr_eq_fp)*Mar 5 04:48:31.463: @@@ rep_epa_non_
edge Fa0/2 - epa-non-edge: INTERMEDIATE_PORT -> FAILED_PORT[Fa0/2]rep_epa_non_
edge_act_failed_port@164: Trigger archiving
[Fa0/23]rep_epa_set_peer_archive_flag@1084: set arch flag
[Fa0/2]rep_epa_non_edge_act_failed_port@171: no edge, failed port
*Mar 5 04:48:35.473: rep_epa_non_edge Fa0/2 - epa-non-edge: during state
FAILED_PORT, got event 0(epa_hello_tmo)
*Mar 5 04:48:35.473: @@@ rep_epa_non_edge Fa0/2 - epa-non-edge: FAILED_PORT ->
FAILED_PORT[Fa0/2]rep_epa_non_edge_act_periodic_tx@90: archiving on port down
[Fa0/2]rep_epa_copy_topology@913: deip=0x3396F18,pe=0,se=1,fp=0,ap=0,op=2
[Fa0/23]rep_epa_non_edge_handle_info_tlv@1560: archiving on internal flag
[Fa0/23]rep_epa_copy_topology@913: deip=0x33961F0,pe=1,se=0,fp=0,ap=1,op=3
[Fa0/2]rep_epa_non_edge_act_periodic_tx@102: epa non edge, send info tlv
[Fa0/23]rep_epa_set_peer_archive_flag@1084: set arch flag
[Fa0/2]rep_epa_non_edge_handle_election_tlv@325: archiving on seg cfg change
[Fa0/2]rep_epa_copy_topology@913: deip=0x3396F18,pe=0,se=1,fp=0,ap=0,op=2
[Fa0/2]rep_epa_set_peer_archive_flag@1084: set arch flag
[Fa0/23]rep_epa_non_edge_handle_election_tlv@325: archiving on seg cfg change
[Fa0/23]rep_epa_copy_topology@913: deip=0x33961F0,pe=1,se=0,fp=0,ap=1,op=3
[Fa0/2]rep_epa_non_edge_handle_info_tlv@1560: archiving on internal flag
[Fa0/2]rep_epa_copy_topology@913: deip=0x3396F18,pe=0,se=1,fp=0,ap=0,op=2

以下に、ポートがオンラインに戻った場合の出力を示します。

*Mar  5 04:49:39.982:     rep_epa_non_edge Fa0/2 - epa-non-edge: during state FAILED_PORT,
got event 2(lr_neq_fp)
*Mar 5 04:49:39.982: @@@ rep_epa_non_edge Fa0/2 - epa-non-edge: FAILED_PORT ->
INTERMEDIATE_PORT[Fa0/2]rep_epa_non_edge_stop_timer@123: epa non edge, stop the timer
[Fa0/2]rep_epa_copy_topology@913: deip=0x32E2FA4,pe=0,se=1,fp=0,ap=1,op=1
[Fa0/2]rep_epa_copy_to_stable_topology@1040: copy to stbl
[Fa0/23]rep_epa_copy_topology@913: deip=0x3ACFFB8,pe=1,se=0,fp=0,ap=0,op=4
[Fa0/23]rep_epa_copy_to_stable_topology@1040: copy to stbl

有益でないデバッグ

debug rep bpa-event

  • このデバッグは、BPA が受信された時刻とそこで行った処理を通知します。 4 行で 1 秒分です。
[Fa0/23]: BPA: Sending ext pak to bparx
[Fa0/2]: BPA: Enqueued internal pak
[Fa0/2]: BPA: Sending int msg to bparx
[Fa0/2]: BPA: Relay pak
[Fa0/2]: BPA: Enqueue ext pak

debug rep bpasm

  • このデバッグは、BPA が受信されるたびに BPA ステート マシンの動作を通知します。 3 行で 1 秒分です。
*Mar  5 04:44:23.857:     rep_bpa_rx BPA RX sm: during state BPA_RX_IDLE, 
got event 0(bpa_rx_bpa_msg)
*Mar 5 04:44:23.857: @@@ rep_bpa_rx BPA RX sm: BPA_RX_IDLE -> BPA_RX_IDLE
[Fa0/23]: BPA Rx sm: Received bpa: <internal> 0, <vlan_detail> 0
[Fa0/23]: BPA Rx sm: Role 2: TC 0; Internal 0; Frm Remote Segment 0
*Mar  5 04:44:23.857:     rep_bpa_rx BPA RX sm: during state BPA_RX_IDLE, 
got event 0 (bpa_rx_bpa_msg)
*Mar 5 04:44:23.857: @@@ rep_bpa_rx BPA RX sm: BPA_RX_IDLE -> BPA_RX_IDLE
[Fa0/2]: BPA Rx sm: Received bpa: <internal> 1, <vlan_detail> 0
[Fa0/2]: BPA Rx sm: Role 2: TC 0; Internal 1; Frm Remote Segment 0

debug rep lslsm

  • このデバッグは、低レベルの LSL メッセージ処理をダンプします。
*Mar  5 05:03:10.564: REP Fa0/23 seq:4411 ACK'ed (ref: 1)
*Mar 5 05:03:10.564: REP Fa0/23 seq:4412 ACK'ed (ref: 1)
*Mar 5 05:03:10.564: REP LSL: Fa0/23 rx expected seq# (4744),
process it (TLV: 0).
*Mar 5 05:03:10.782: REP Fa0/2 seq:440 ACK'ed (ref: 1)

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

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


Document ID: 116384