1. コマンド一覧

このシナリオで重要なコマンド一覧は以下の通りです。

Switch(config)# RRP domain <domain_name>
Switch(config-rrp)# RRP type [ Master | Transit ]
Switch(config-rrp)# primary port <num>
Switch(config-rrp)# secondary port <num>
Switch(config-rrp)# control vlan<num>
Switch(config-rrp)# data vlan<num>

Switch(config)# enable RRP status

2. 仕様説明

2.1. RRP domainの定義

RRPを有効にするには、最低限1つ以上のRRP domainを定義する必要があります。 RRP domainの定義に必要となる最小限の設定は以下の通りです。

Switch(config)# RRP domain <domain_name>
Switch(config-rrp)# RRP type [ Master | Transit ]
Switch(config-rrp)# primary port <num>
Switch(config-rrp)# secondary port <num>
Switch(config-rrp)# control vlan<num>
Switch(config-rrp)# data vlan<num>
Switch(config-rrp)# exit
Switch(config)#

RRP domainの中でマスターノードとなるスイッチには"Master"と入力し、 トランジットノードとなるスイッチには"Transit"と入力します。

Switch(config-rrp)# RRP type [ Master | Transit ]

マスターノードで監視フレームを送信するポートをプライマリーポートとして設定し、 監視フレームを受信するポートをセカンダリーポートとして設定します。

トランジットノードでは監視フレームを転送するポートをプライマリポートかセカンダリーポートとして設定します。 監視フレームを受信する側のポートをプライマリーとしてもセカンダリーとしても どちらの設定でも問題なく監視フレームを転送する動作になりました。 なお、トランジットノードはプライマリーポート、セカンダリーポート以外のポートから監視フレームを受信すると、 その監視フレームを破棄する動作になります。

Switch(config-rrp)# primary port <num>
Switch(config-rrp)# secondary port <num>

以下のコマンドで監視フレーム, 制御フレームを送受信するVLANと、 データが流れるVLANを定義します。

このパラメータはRRPフレーム内に記録されています。 このパラメータがマスター/トランジット間で異なると、 スイッチ機器は何らかの異常があると判断し、ポートを"Pre-Forward"の状態にして疎通不能にします。

余談ですが、私が検証を行った環境でフレームを覗き見したところ、 監視フレーム, 制御フレームは"control vlan<num>"で定義したVLANを経由せず "data vlan<num>"で定義したVLANを経由していました。

Switch(config-rrp)# control vlan<num>
Switch(config-rrp)# data vlan<num>

2.2. RRP domainの有効化

以下のコマンドでRRPを有効にする事ができます。

Switch(config)# enable RRP status

3. 動作確認環境

以下の構成で動作確認を行います。

 [SW1]
hostname SW1
console inactivity-timer 60
telnet-server inactivity-timer 60
ip http server
!
ip address 192.168.0.1 255.255.255.0
ip default-gateway 192.168.0.254

 [SW2]
hostname SW2
console inactivity-timer 60
telnet-server inactivity-timer 60
ip http server
!
ip address 192.168.0.2 255.255.255.0
ip default-gateway 192.168.0.254

 [SW3]
hostname SW3
console inactivity-timer 60
telnet-server inactivity-timer 60
ip http server
!
ip address 192.168.0.3 255.255.255.0
ip default-gateway 192.168.0.254

初期設定の全文は以下を参照下さい。

4. RRP 基本設定

4.1. 構成確認

下記の図のような構成を構築します。 SW1とマスターノードとし、SW2, SW3がトランジットノードです。 SW1から送信された監視フレームは青矢印のような経路を辿って、SW1に再び戻ってきます。

4.2. RRP 設定投入

SW1にマスターノードとしての設定を投入します。

 [SW1]
RRP domain RRP_TEST
 RRP type Master
 primary port 1
 secondary port 2
 control vlan999
 data vlan1
 exit
!
enable RRP status

SW2, SW3にトランジットノードとしての設定を投入します。

 [SW2]
RRP domain RRP_TEST
 RRP type Transit
 primary port 1
 secondary port 2
 control vlan999
 data vlan1
 exit
!
enable RRP status

4.3. 動作確認

HostからSW1, SW2, SW3への疎通が可能であるのを確認するのは当然の事ですが、 SW1, SW2, SW3のRRPの状態も確認しておきましょう。

マスターノードSW1のセカンダリーポートfa0/2がBlocking状態になっている事を確認します。

 [SW1]
SW1# show RRP status RRP_TEST

 RRP Domain Name      : RRP_TEST
 RRP Node Type        : Master
 RRP Ring Status      : Complete

 Primary Port         : 1
 Primary Port Status  : Forwarding
 Primary Port Role    : Upstream

 Secondary Port       : 2
 Secondary Port Status: Blocking
 Secondary Port Role  : Downstream

 Polling Interval     : 1
 Faild Period         : 2

 Control VLAN         : 999
 Data VLAN            : 1

SW1#

トランジットノードSW2はプライマリーポートもセカンダリーポートもForwarding状態になっている事を確認します。

 [SW2]
SW2# show RRP status RRP_TEST

 RRP Domain Name      : RRP_TEST
 RRP Node Type        : Transit
 RRP Ring Status      : Link-Up

 Primary Port         : 1
 Primary Port Status  : Forwarding
 Primary Port Role    : Upstream

 Secondary Port       : 2
 Secondary Port Status: Forwarding
 Secondary Port Role  : Downstream

 Polling Interval     : 1
 Faild Period         : 2

 Control VLAN         : 999
 Data VLAN            : 1

SW2#

5. RRP 障害時挙動確認

5.1. 構成確認

SW2, SW3間のケーブルを抜線します。 障害を検知したSW2, SW3はSW1に制御フレームを送ります。 この挙動を図示すると以下の通りです。赤矢印は制御フレームをあらわします。

5.2. パケットの確認

この時のRRPに関するパケットは以下のようになります。 SW1から1秒毎に送信されているのが監視フレームです。 最後の2フレームのみ送信元MACアドレスが異なるのは、SW2, SW3から送られた制御フレームです。

No.     Time           Source                Destination           Protocol Length Info
      1 0.000000000    Panasoni_2e:10:3b     Panasoni_00:00:02     LLC      60     U, func=UI; SNAP, OUI 0x00C08F (Unknown), PID 0x00BB
      2 1.028937000    Panasoni_2e:10:3b     Panasoni_00:00:02     LLC      60     U, func=UI; SNAP, OUI 0x00C08F (Unknown), PID 0x00BB
      3 2.050094000    Panasoni_2e:10:3b     Panasoni_00:00:02     LLC      60     U, func=UI; SNAP, OUI 0x00C08F (Unknown), PID 0x00BB

 <ommitted>

     19 18.345359000   Panasoni_2e:10:3b     Panasoni_00:00:02     LLC      60     U, func=UI; SNAP, OUI 0x00C08F (Unknown), PID 0x00BB
     20 19.362676000   Panasoni_2e:10:3b     Panasoni_00:00:02     LLC      60     U, func=UI; SNAP, OUI 0x00C08F (Unknown), PID 0x00BB
     21 20.402145000   Panasoni_2e:10:3b     Panasoni_00:00:02     LLC      60     U, func=UI; SNAP, OUI 0x00C08F (Unknown), PID 0x00BB
     22 21.417324000   Panasoni_2e:10:3b     Panasoni_00:00:02     LLC      60     U, func=UI; SNAP, OUI 0x00C08F (Unknown), PID 0x00BB
     23 21.848367000   Panasoni_2b:b5:f7     Panasoni_00:00:02     LLC      60     U, func=UI; SNAP, OUI 0x00C08F (Unknown), PID 0x00BB
     24 21.949671000   Panasoni_2b:ba:bd     Panasoni_00:00:02     LLC      60     U, func=UI; SNAP, OUI 0x00C08F (Unknown), PID 0x00BB

5.3. 動作確認

障害発生後は、マスターノードSW1のセカンダリーポートfa0/2が"Blocking"から"Forwarding"状態に遷移した事が分かります。

 [SW1]
SW1# show RRP status RRP_TEST

 RRP Domain Name      : RRP_TEST
 RRP Node Type        : Master
 RRP Ring Status      : Failed

 Primary Port         : 1
 Primary Port Status  : Forwarding
 Primary Port Role    : Upstream

 Secondary Port       : 2
 Secondary Port Status: Forwarding
 Secondary Port Role  : Downstream

 Polling Interval     : 1
 Faild Period         : 2

 Control VLAN         : 999
 Data VLAN            : 1

SW1#

障害が発生したノードに関しては、Statusの欄が"Down"と表示されています。

 [SW2]
SW2# show RRP status RRP_TEST

 RRP Domain Name      : RRP_TEST
 RRP Node Type        : Transit
 RRP Ring Status      : Link-Down

 Primary Port         : 1
 Primary Port Status  : Down
 Primary Port Role    : Upstream

 Secondary Port       : 2
 Secondary Port Status: Forwarding
 Secondary Port Role  : Downstream

 Polling Interval     : 1
 Faild Period         : 2

 Control VLAN         : 999
 Data VLAN            : 1

SW2#

6. Tips

6.1. VLAN等のパラメータが異なる場合

RRPはcontrol VLAN等のパラメータをスイッチ間で交換しているようです。

動作確認のため、SW2に敢えて誤ったパラメータを投入します。

 [SW2]
no RRP domain RRP_TEST
RRP domain RRP_TEST
 RRP type Transit
 primary port 2
 secondary port 1
 control vlan777
 data vlan1
 exit
!
enable RRP status

"control vlan"等のパラメータが一致しないと"Pre-Forward"という状態になり、疎通不能になってしまう事が分かりました。

 [SW2]
SW2# show RRP status RRP_TEST

 RRP Domain Name      : RRP_TEST
 RRP Node Type        : Transit
 RRP Ring Status      : Pre-Forward

 Primary Port         : 1
 Primary Port Status  : Forwarding
 Primary Port Role    : Upstream

 Secondary Port       : 2
 Secondary Port Status: Blocking
 Secondary Port Role  : Downstream

 Polling Interval     : 1
 Faild Period         : 2

 Control VLAN         : 777
 Data VLAN            : 1

SW2#