L2スイッチング / MRP




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

この章では、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
本製品はMRM上で最大8つのリングをサポートします。詳しくは「基本設定(複数リング)」をご参照ください。


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をクリアするよう指示します。
これにより、リング上での通信が復旧します。


障害回復時(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. VLANモードに移行して、MRPリング「1」用のVLAN 100を作成します。
    awplus(config)# vlan database
    awplus(config-vlan)# vlan 100
    awplus(config-vlan)# exit
    

  2. MRPリング「1」用の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
    

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

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

  5. roleコマンドでスイッチAをMRPリング「1」のMRMに設定します。
    awplus(config-mrp-ring)# role manager
    awplus(config-mrp-ring-manager)# exit
    awplus(config-mrp-ring)# exit
    

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

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

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

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

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

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

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

以上で設定は完了です。


基本設定(複数リング)

複数のMRPリングを使用する場合の基本設定について説明します。
複数のリングを使用する場合は以下の仕様にご注意ください。

ここでは、スイッチAを共通MRMとし、A、B、C、DでMRPリング「1」を、A、E、F、GでMRPリング「2」を形成する複数リング構成の基本的な設定手順を説明します。


この例では、説明のためリング以外のポート設定については省略しています。

リング「1」「2」共通MRM(スイッチA)の設定

MRPリング「1」と「2」の共通MRMであるスイッチAの設定は以下の手順で行います。
  1. VLANモードに移行して、MRPリング「1」用のVLAN 100とMRPリング「2」用のVLAN 200を作成します。
    awplus(config)# vlan database
    awplus(config-vlan)# vlan 100
    awplus(config-vlan)# vlan 200
    awplus(config-vlan)# exit
    

  2. MRPリング「1」用のVLAN 100、MRPリング「2」用のVLAN 200にポートを割り当てます。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
    awplus(config)# interface port1.0.3-port1.0.4
    awplus(config-if)# switchport access vlan 200
    awplus(config-if)# exit
    

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

  4. mrp ringコマンドでMRPリング「1」を作成し、roleコマンドでスイッチAをMRPリング「1」のMRMに設定します。
    awplus(config)# mrp ring 1
    awplus(config-mrp-ring)# role manager
    awplus(config-mrp-ring-manager)# exit
    awplus(config-mrp-ring)# exit
    

  5. 同様に、MRPリング「2」を作成し、roleコマンドでスイッチAをMRPリング「2」のMRMに設定します。
    awplus(config)# mrp ring 2
    awplus(config-mrp-ring)# role manager
    awplus(config-mrp-ring-manager)# exit
    awplus(config-mrp-ring)# exit
    

  6. mrp ringコマンドでリング接続用ポート1.0.1~1.0.2にMRPリング「1」を、リング接続用ポート1.0.3~1.0.4にMRPリング「2」を割り当てます。
    awplus(config)# interface port1.0.1-port1.0.2
    awplus(config-if)# mrp ring 1
    awplus(config-if)# exit
    awplus(config)# interface port1.0.3-port1.0.4
    awplus(config-if)# mrp ring 2
    awplus(config-if)# exit
    

リング「1」MRC(スイッチB、C、D)の設定

MRPリング「1」のMRCであるスイッチB、C、Dの設定は以下の手順で行います。
  1. VLANモードに移行して、MRPリング「1」用のVLAN 100を作成します。
    awplus(config)# vlan database
    awplus(config-vlan)# vlan 100
    awplus(config-vlan)# exit
    

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

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

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

  5. mrp ringコマンドでリング接続用ポート1.0.1~1.0.2にMRPリング「1」を割り当てます。
    awplus(config)# interface port1.0.1-port1.0.2
    awplus(config-if)# mrp ring 1
    awplus(config-if)# exit
    

リング「2」MRC(スイッチE、F、G)の設定

MRPリング「2」のMRCであるスイッチE、F、Gの設定は以下の手順で行います。
  1. VLANモードに移行して、MRPリング「2」用のVLAN 200を作成します。
    awplus(config)# vlan database
    awplus(config-vlan)# vlan 200
    awplus(config-vlan)# exit
    

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

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

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

  5. mrp ringコマンドでリング接続用ポート1.0.1~1.0.2にMRPリング「2」を割り当てます。
    awplus(config)# interface port1.0.1-port1.0.2
    awplus(config-if)# mrp ring 2
    awplus(config-if)# exit
    

以上で設定は完了です。


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

PN: 613-003190 Rev.G