L2スイッチング / MRP


概要
MRPリング
Media Redundancy Manager(MRM)とMedia Redundancy Client(MRC)
MRPメッセージ
障害検出機能
基本動作
正常時
障害発生時(MRP_Testメッセージによる障害検出)
障害発生時(MRP_LinkDownメッセージによる障害検出)
障害回復時(MRP_Testメッセージによる障害回復検知)
障害回復時(MRP_LinkUpメッセージによる障害回復検知)
基本設定
MRM(スイッチA)の設定
MRC(スイッチB,C,D)の設定


Media Redundancy Protocol(MRP)は、リング構成のEthernetネットワークに特化したレイヤー2のループ防止・冗長化機能です。
トポロジーを限定し、各スイッチの役割をあらかじめ固定しておくことで、障害の検出と経路の切り替えをより高速に行います。
Note
本機能を使用するにはライセンスが必要です。

この章では、MRPの概要と使用方法について説明します。

概要

MRPは、リング構成のEthernetネットワークでのみ動作します。
このMRP用リング構成のネットワークを、MRPリングと呼びます。

MRPリングは、2つ以上のスイッチ(ノード)で構成されます。
各ノードは、2つのポートでMRPリングに接続します。

MRPリング内のノードのうち1つにMedia Redundancy Manager(MRM)という役割を設定します。
また、MRM以外のノードにはMedia Redundancy Client(MRC)という役割を設定します。
MRPリングは必ず1つのMRMと1つ以上のMRCで構成されます。

MRMではMRPリング用の2ポートのうち1つのポートで、データトラフィックの通信をブロッキングしており、リングに障害が発生したときだけフォワーディング状態に切り替わります。障害から復旧したときは再度ブロッキング状態に戻ります。

下記の図は、4ノード構成のMRPリングです。
Note
本製品では、1つのリングトポロジーで構成されるリングをサポートします。2つ以上のリングトポロジーで構成されるMRPリングはサポート対象外です。


MRPリング

MRPのリング構成のEthernetネットワーク。2つ以上のノードで構成されます。
ノード間は2つのポートで接続します。

Media Redundancy Manager(MRM)とMedia Redundancy Client(MRC)

MRPリングを構成するリング上の各スイッチは、役割上Media Redundancy Manager(MRM)とMedia Redundancy Client(MRC)に分類されます。MRMは、該当MRPリングの動作を制御するスイッチで、各MRPリングに1台だけ設定できます。その他のスイッチはMRCとなります。

各ノードは2つのポートでMRPリングに接続します。リング上での通信は、制御トラフィック、データトラフィックともにこの2ポートを通じて行われます。MRP接続用ポートは同じVLANに所属する必要があります。

MRMでは必ず1つのポートでMRPメッセージを除くすべてのトラフィックをブロッキングしています。(ループ防止)
リングに障害が発生した場合は、ブロッキングを解除し、トラフィックの送受信を行います。
MRMの両ポートからは定期的にMRPメッセージが送られ、MRPリングが正常に動作しているかを管理しています。

MRPメッセージ

MRPリングでは、次のようなMRPメッセージを使って、リング障害の発生・回復を検出し、通信回復のための処置を行います。
表 1
機能
MRP_Test リング障害を検出するため、MRMが定期的に2つのポートから送出するメッセージ。MRMは、一定の時間内に送信したポートではない方のポートでMRP_Testメッセージを受信できなかった場合、リングに障害が発生したと判断する。障害発生中もMRMはMRP_Testメッセージを送出し続け、一定の時間内に送信したポートではない方のポートで再び受信した場合にリングが障害から回復したと判断する
MRP_LinkDown MRPリング用のポートがダウンしたことを示すためにMRCからMRMに送出するメッセージ
MRP_LinkUp MRPリング用のポートが起動したことを示すためにMRCからMRMに送出するメッセージ
MRP_TopologyChange リング状態の変化を示し、MRCにFDBをクリアするように指示するために、MRMによってMRCに送出するメッセージ

障害検出機能

MRPでは、リング障害(ケーブルやスイッチの障害)を検出するために、次の2つの手段を用います。

基本動作

次に、MRPの基本的な動作について説明します。

正常時

MRMでは定期的に両ポートからMRP_Testメッセージを送信してMRPリングの状態を確認しています。
MRPリングに障害が発生していない場合、MRMが両ポートから送出したMRP_Testメッセージは、一定の時間内に送信したポートではない方のポートに到着します。

MRMはMRPリングが正常状態にあると見なし、データトラフィックに対して片方のポートをブロック状態にします。


障害発生時(MRP_Testメッセージによる障害検出)

MRMが両ポートから送出したMRP_Testメッセージが、一定の時間内に送信したポートではない方のポートで受信できなかった場合、MRMはリングに障害が発生したと判断します。
なお、MRMは、障害の回復を検出するため障害発生中もMRP_Testメッセージを通常どおり送出し続けます。


MRP_Testメッセージが受信できなくなった場合、MRMはデータトラフィックに対してポートのブロックを解除します。
さらに、MRMはMRP_TopologyChangeメッセージをすべてのMRCに送信し、FDBをクリアするよう指示します。
これにより、リング上での通信が復旧します。


障害発生時(MRP_LinkDownメッセージによる障害検出)

MRCではMRPリング接続用ポートのリンクダウンにより障害を検知すると、すぐにMRMにMRP_LinkDownメッセージを送出します。
MRMでは、MRCからのMRP_LinkDownメッセージを受信すると、両ポートからMRP_Testメッセージを送出します。


一定の時間内に送信したポートではない方のポートでMRP_Testメッセージを受信できなかった場合、MRMはリングに障害が発生したと判断し、MRMはデータトラフィックに対してポートのブロックを解除します。
さらに、MRMはMRP_TopologyChangeメッセージをすべてのMRCに送信し、FDBをクリアするよう指示します。
これにより、リング上での通信が復旧します。

Note
lc-reactコマンドを実行している場合、MRMはMRCからのMRP_LinkDownメッセージを受信した時点で障害が発生したと判断し、データトラフィックに対してポートのブロックを解除します。

障害回復時(MRP_Testメッセージによる障害回復検知)

障害が回復すると、MRMは再びMRP_Testメッセージを受信できるようになります。
この場合、MRPリングが障害から回復したと判断し、MRMはデータトラフィックに対して一方のポートを再度ブロックします。
さらに、MRMはMRP_TopologyChangeメッセージをすべてのMRCに送信して、FDBをクリアするよう指示します。
これにより、リング上での通信が正常時の動作に復旧します。


障害回復時(MRP_LinkUpメッセージによる障害回復検知)

MRCではMRPリング接続用ポートのリンクアップにより障害の回復を検知すると、すぐにMRMにMRP_LinkUpメッセージを送出します。
MRMがMRCからのMRP_LinkUpメッセージを受信すると、両ポートからMRP_Testメッセージを送出します。

一定の時間内に送信したポートではない方のポートでMRP_Testメッセージを受信した場合、MRPリングが障害から回復したと判断し、MRMはデータトラフィックに対して一方のポートを再度ブロックします。
さらに、MRMはMRP_TopologyChangeメッセージをすべてのMRCに送信して、FDBをクリアするよう指示します。
これにより、リング上での通信が正常時の動作に復旧します。


基本設定

MRPを使用するための基本設定について説明します。
ここではスイッチA~Dで構成するMRPリングを例として、設定方法を説明します。


この例では、説明のため構成をシンプルにしていますので、MRMとMRCの設定の違いは、roleコマンドによるMRM/MRCの設定のみです。
また、MRC(スイッチB、C、D)の設定はどのスイッチも同じです。

MRM(スイッチA)の設定

  1. グローバルコンフィグモードに移行します。
    awplus> enable
    awplus# configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    awplus(config)# 
    

  2. VLANモードに移行して、MRPリング用のVLAN(VLAN 100)を作成します。
    awplus(config)# vlan database
    awplus(config-vlan)# vlan 100
    awplus(config-vlan)# exit
    awplus(config)# 
    

  3. MRPリング用のVLAN(VLAN 100)にポートを割り当てます。
    MRPリング接続用ポートは2ポート必要です。
    Note
    MRPリング接続用ポートはタグなし(access)にもタグ付き(trunk)にも設定可能ですが、タグ付き(trunk)の場合は、vlan-idコマンドでVIDを指定してください。
    awplus(config)# interface port1.0.1-port1.0.2
    awplus(config-if)# switchport access vlan 100
    awplus(config-if)# exit
    

  4. service mrpコマンドでMRPを有効にします。
    awplus(config)# service mrp
    

  5. mrp ringコマンドでMRPリング「1」を作成します。
    awplus(config)# mrp ring 1
    awplus(config-mrp-ring)# exit
    

  6. roleコマンドでスイッチAをMRMに設定します。
    awplus(config)# role manager
    awplus(config-mrp-ring-manager)# exit
    awplus(config-mrp-ring)# exit
    

  7. mrp ringコマンドでポートにMRPリングを割り当てます。
    awplus(config)# interface port1.0.1-port1.0.2
    awplus(config-if)# mrp ring 1
    awplus(config-if)# exit
    

MRC(スイッチB,C,D)の設定

  1. グローバルコンフィグモードに移行します。
    awplus> enable
    awplus# configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    awplus(config)# 
    

  2. VLANモードに移行して、MRPリング用のVLAN(VLAN 100)を作成します。
    awplus(config)# vlan database
    awplus(config-vlan)# vlan 100
    awplus(config-vlan)# exit
    awplus(config)# 
    

  3. MRPリング用のVLAN(VLAN 100)にポートを割り当てます。
    MRPリング接続用ポートは2ポート必要です。
    awplus(config)# interface port1.0.1-port1.0.2
    awplus(config-if)# switchport access vlan 100
    awplus(config-if)# exit
    

  4. service mrpコマンドでMRPを有効にします。
    awplus(config)# service mrp
    

  5. mrp ringコマンドでMRPリング「1」を作成します。
    awplus(config)# mrp ring 1
    awplus(config-mrp-ring)# exit
    

  6. mrp ringコマンドでポートにMRPリングを割り当てます。
    awplus(config)# interface port1.0.1-port1.0.2
    awplus(config-if)# mrp ring 1
    awplus(config-if)# exit
    

以上で設定は完了です。


(C) 2019 - 2021 アライドテレシスホールディングス株式会社

PN: 613-002778 Rev.K