(57)【要約】【課題】フラッディングを発生させないようにして、トラフィック量を抑制すること。【解決手段】通信装置は、リングプロトコルによって規定されるリングネットワークを構成する通信装置群のうちいずれかの通信装置であって、前記リングネットワーク内でユーザフレームが送受信される第１仮想ネットワークについてＭＡＣアドレスおよびポート番号の組み合わせを登録可能な第１転送先情報と、前記リングネットワーク内でユーザフレームが送受信される第２仮想ネットワークについてＭＡＣアドレスおよびポート番号の組み合わせを登録可能な第２転送先情報と、を有する記憶部と、運用系の仮想ネットワークを前記第１仮想ネットワークから前記第２仮想ネットワークに切り替える場合に、前記運用系の仮想ネットワークに適用される転送先情報を、前記第１転送先情報から前記第２転送先情報に切り替える制御部と、を有する。【選択図】図１
2020141177.tif 000002
【特許請求の範囲】
【請求項１】
リングプロトコルによって規定されるリングネットワークを構成する通信装置群のうちいずれかの通信装置であって、
前記リングネットワーク内でユーザフレームが送受信される第１仮想ネットワークについてＭＡＣアドレスおよびポート番号の組み合わせを登録可能な第１転送先情報と、前記リングネットワーク内でユーザフレームが送受信される第２仮想ネットワークについてＭＡＣアドレスおよびポート番号の組み合わせを登録可能な第２転送先情報と、を有する記憶部と、
運用系の仮想ネットワークを前記第１仮想ネットワークから前記第２仮想ネットワークに切り替える場合に、前記運用系の仮想ネットワークに適用される転送先情報を、前記第１転送先情報から前記第２転送先情報に切り替える制御部と、
を有することを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記制御部は、前記いずれかの通信装置が前記通信装置群を管理するマスタ装置である場合、前記リングネットワーク内で前記リングネットワークを制御する制御フレームが送受信される第３仮想ネットワークを用いて、転送先情報の切替指示を含む制御フレームを転送先の他の通信装置に送信する、
ことを特徴とする通信装置。
【請求項３】
請求項２に記載の通信装置であって、
前記制御部は、前記運用系の仮想ネットワークにおけるプライマリポートで前記切替指示を含む制御フレームを受信した場合に、前記切替指示を含む制御フレームを廃棄する、
ことを特徴とする通信装置。
【請求項４】
請求項１に記載の通信装置であって、
前記制御部は、前記リングネットワーク内で前記リングネットワークを制御する制御フレームが送受信される第３仮想ネットワークを用いて、前記通信装置群を管理するマスタ装置が生成した転送先情報の切替指示を含む制御フレームを受信した場合、前記運用系の仮想ネットワークに適用される転送先情報を、前記第１転送先情報から前記第２転送先情報に切り替えるとともに、前記切替指示を含む制御フレームを、転送先の他の通信装置に送信する、
ことを特徴とする通信装置。
【請求項５】
請求項１に記載の通信装置であって、
リングネットワーク外のポートから、送信元ＭＡＣアドレスを含むフレームを受信すると、前記送信元ＭＡＣアドレスと前記ポートのポート番号との組み合わせを前記第１転送先情報に登録する学習部を有し、
前記制御部は、前記学習部による学習結果を前記第２転送先情報に登録するとともに、前記リングネットワーク内で前記リングネットワークを制御する制御フレームが送受信される第３仮想ネットワークを用いて、前記第２転送先情報への前記学習結果の追加指示を含む制御フレームを、転送先の他の通信装置に送信する、
ことを特徴とする通信装置。
【請求項６】
請求項５に記載の通信装置であって、
前記制御部は、前記いずれかの通信装置が前記通信装置群を管理するマスタ装置である場合、前記追加指示を含む制御フレームを、前記運用系の仮想ネットワークのセカンダリポートから前記他の通信装置に送信する、
ことを特徴とする通信装置。
【請求項７】
請求項５に記載の通信装置であって、
前記制御部は、前記いずれかの通信装置が前記通信装置群内のマスタ装置に管理されるトランジット装置である場合、前記追加指示を含む制御フレームを受信すると、前記学習結果を前記第２転送先情報に登録する、
ことを特徴とする通信装置。
【請求項８】
請求項７に記載の通信装置であって、
前記制御部は、前記追加指示を含む制御フレームを、前記リングネットワーク内の全ポートから送信する、
ことを特徴とする通信装置。
【請求項９】
請求項６に記載の通信装置であって、
前記制御部は、前記運用系の仮想ネットワークにおけるプライマリポートで前記追加指示を含む制御フレームを受信した場合に、前記追加指示を含む制御フレームを廃棄する、
ことを特徴とする通信装置。
【請求項１０】
請求項６に記載の通信装置であって、
前記制御部は、前記運用系の仮想ネットワークにおけるセカンダリポートで前記追加指示を含む制御フレームを受信した場合に、前記第２転送先情報に前記学習結果を登録する、
ことを特徴とする通信装置。
【請求項１１】
請求項１に記載の通信装置であって、
ＭＡＣアドレスの削除指示を受けると、前記削除指示のＭＡＣアドレスと当該ＭＡＣアドレスに対応するポートのポート番号との組み合わせを前記第１転送先情報から削除する学習部を有し、
前記制御部は、前記学習部によって削除された組み合わせを前記第２転送先情報から削除するとともに、前記リングネットワーク内で前記リングネットワークを制御する制御フレームが送受信される第３仮想ネットワークを用いて、前記第２転送先情報からの前記削除された組み合わせの削除指示を含む制御フレームを、転送先の他の通信装置に送信する、
ことを特徴とする通信装置。
【請求項１２】
請求項１１に記載の通信装置であって、
前記制御部は、前記いずれかの通信装置が前記通信装置群を管理するマスタ装置である場合、前記削除指示を含む制御フレームを、前記運用系の仮想ネットワークのセカンダリポートから前記他の通信装置に送信する、
ことを特徴とする通信装置。
【請求項１３】
請求項１１に記載の通信装置であって、
前記制御部は、前記いずれかの通信装置が前記通信装置群内のマスタ装置に管理されるトランジット装置である場合、前記削除指示を含む制御フレームを受信すると、前記削除された組み合わせを前記第２転送先情報から削除する、
ことを特徴とする通信装置。
【請求項１４】
請求項１３に記載の通信装置であって、
前記制御部は、前記削除指示を含む制御フレームを、前記リングネットワーク内の全ポートから送信する、
ことを特徴とする通信装置。
【請求項１５】
請求項１２に記載の通信装置であって、
前記制御部は、前記運用系の仮想ネットワークにおけるプライマリポートで前記削除指示を含む制御フレームを受信した場合に、前記削除指示を含む制御フレームを廃棄する、
ことを特徴とする通信装置。
【請求項１６】
請求項１２に記載の通信装置であって、
前記制御部は、前記運用系の仮想ネットワークにおけるセカンダリポートで前記削除指示を含む制御フレームを受信した場合に、前記学習部によって削除された組み合わせを前記第２転送先情報から削除する、
ことを特徴とする通信装置。
【請求項１７】
請求項１に記載の通信装置であって、
前記制御部は、前記通信装置群で共通する前記運用系の仮想ネットワークを前記第１仮想ネットワークから前記第２仮想ネットワークに切り替える切替時刻が到来した場合に、前記運用系の仮想ネットワークに適用される転送先情報を、前記第１転送先情報から前記第２転送先情報に切り替える、
ことを特徴とする通信装置。
【請求項１８】
請求項１７に記載の通信装置であって、
前記制御部は、前記いずれかの通信装置が前記通信装置群を管理するマスタ装置である場合、前記リングネットワーク内で前記リングネットワークを制御する制御フレームが送受信される第３仮想ネットワークを用いて、転送先情報の切替指示および前記切替時刻を含む制御フレームを転送先となる他の通信装置に送信する、
ことを特徴とする通信装置。
【請求項１９】
請求項１８に記載の通信装置であって、
前記制御部は、前記運用系の仮想ネットワークにおけるプライマリポートで前記切替指示および前記切替時刻を含む制御フレームを受信した場合に、前記切替指示および前記切替時刻を含む制御フレームを廃棄する、
ことを特徴とする通信装置。
【請求項２０】
請求項１７に記載の通信装置であって、
前記制御部は、前記リングネットワーク内で前記リングネットワークを制御する制御フレームが送受信される第３仮想ネットワークを用いて、前記通信装置群を管理するマスタ装置が生成した転送先情報の切替指示および前記切替時刻を含む制御フレームを受信した場合、前記切替指示および前記切替時刻を含む制御フレームを、前記切替時刻の到来前に、転送先の他の通信装置に送信する、
ことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを送受信する通信装置に関する。
【背景技術】
【０００２】
リングプロトコルは、ユーザフレームを中継する通信装置をリング状に接続し、レイヤ２で通信経路を冗長化する技術である。代表的なリングプロトコルとして、特許文献１がある。リング状に構成されたネットワーク（リングネットワーク。以下、単に、「リング」と称す。）を構成する通信装置は、マスタ装置とトランジット装置の何れかの役割を持つ。
【０００３】
リング状という構成上の特徴から経路内で通信がループしてしまうループ構成を防止するために、リングプロトコルは、ネットワークにおいてユーザフレームが転送できない状態（以下、ブロッキング状態と称す。）と、ブロッキング状態を解除してユーザフレームが転送可能な状態（以下、フォワーディング状態と称す。）によりリングを制御する。
【０００４】
マスタ装置は、ブロッキング状態とフォワーディング状態との制御をユーザフレームの通信に使われるＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）単位で行う。以下、このようなＶＬＡＮを「データＶＬＡＮ」と称す。なお、制御フレームは、リングの制御に関わるフレームが通信するＶＬＡＮ（以下、制御ＶＬＡＮと称す。）を伝送する。制御ＶＬＡＮはブロッキング状態またはフォワーディング状態の制御対象にはならない。
【０００５】
リングの通信経路は、マスタ装置のリングポートのブロッキング状態とフォワーディング状態で決まる。リングの障害状況が正常状態であるとき、マスタ装置Ｍａは、自身が有する２つのリングポートのうち、１つのリングポートをブロッキング状態とし、もう１つのリングポートをフォワーディング状態とする。これにより、マスタ装置Ｍａは、リングの通信経路がループ構成になることを防ぐ。マスタ装置Ｍａは障害を検出すると、ブロッキング状態にしていたリングポートをフォワーディング状態にして障害個所を回避した通信経路を確保する。
【０００６】
リングの障害状況が正常状態であるときに、フォワーディング状態であるリングポートをプライマリポートと呼ぶ。リングの障害状況が正常状態であるときにブロッキング状態であるリングポートをセカンダリポートと呼ぶ。
【０００７】
また、リングのトラフィック量制御方式の一例として、リング内を流れるフレームに対して伝送帯域を設定する方式がある（たとえば、下記特許文献２を参照）。特許文献２の方式は、リングを流れるフレームの優先度毎に伝送帯域を設定することで、リングのトラフィック量を制御する方式である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１３６０１３号公報
【特許文献２】特開２００６−２６１８２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、上述したトラフィック量制御のためにデータＶＬＡＮのプライマリポートとセカンダリポートを切り替えて経路変更する際に、リングを構成する通信装置は未学習のＭＡＣアドレスを送信先に指定されたフレームを受信すると、受信したデータＶＬＡＮに属する全ポートに送信（以降、フラッディングと称す。）する。フラッディングはトラフィック量を増大させる。したがって、トラフィック量制御のために経路変更が実行されると、一時的にトラフィック量が増大し、フレームロスや遅延の発生確率を上げてしまう。
【００１０】
本発明は、ブロッキングポート変更の際に、フラッディングを発生させないようにして、トラフィック量を抑制することを目的とする。
【課題を解決するための手段】
【００１１】
本願において開示される発明の一側面となる通信装置は、リングプロトコルによって規定されるリングネットワークを構成する通信装置群のうちいずれかの通信装置であって、前記リングネットワーク内でユーザフレームが送受信される第１仮想ネットワークについてＭＡＣアドレスおよびポート番号の組み合わせを登録可能な第１転送先情報と、前記リングネットワーク内でユーザフレームが送受信される第２仮想ネットワークについてＭＡＣアドレスおよびポート番号の組み合わせを登録可能な第２転送先情報と、を有する記憶部と、運用系の仮想ネットワークを前記第１仮想ネットワークから前記第２仮想ネットワークに切り替える場合に、前記運用系の仮想ネットワークに適用される転送先情報を、前記第１転送先情報から前記第２転送先情報に切り替える制御部と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明の代表的な実施の形態によれば、通信経路の切替時にフラッディングが発生させないようにして、トラフィック量を抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１にかかるネットワークシステムの構成例を示す説明図である。
【図２】図２は、実施例１にかかる通信装置のモジュール構成例を示すブロック図である。
【図３】図３は、ＭＡＣアドレス学習完了後に通信装置が保持するＦＤＢの一例を示す説明図である。
【図４】図４は、実施例１にかかる制御フレームのフォーマットを示す説明図である。
【図５】図５は、マスタ装置のリング外ポートでＭＡＣアドレス学習およびＭＡＣアドレスクリアした場合のリングネットワーク全体の処理を示す装置間シーケンス図である。
【図６】図６は、トランジット装置のリング外ポートでＭＡＣアドレス学習およびＭＡＣアドレスクリアした場合のリングネットワーク全体の処理を示す装置間シーケンス図である。
【図７】図７は、通信経路切り替え時のリングネットワーク全体の処理を示す通信装置間シーケンス図である。
【図８】図８は、ＭＡＣアドレス学習時の通信装置内のシーケンス図である。
【図９】図９は、ＭＡＣアドレスクリア時の通信装置内のシーケンス図である。
【図１０】図１０は、待機系ＭＡＣアドレス追加の制御フレームの受信時の通信装置内のシーケンス図である。
【図１１】図１１は、待機系ＭＡＣアドレスクリア制御フレームの受信時の通信装置内のシーケンス図である。
【図１２】図１２は、実施例１にかかる通信経路切替時におけるマスタ装置内のシーケンス図である。
【図１３】図１３は、実施例１にかかる切替指示の制御フレーム受信時の通信装置内のシーケンス図である。
【図１４】図１４は、ユーザフレーム転送パターン１における通信装置内のシーケンス図である。
【図１５】図１５は、ユーザフレーム転送パターン２における通信装置内のシーケンス図である。
【図１６】図１６は、ユーザフレーム転送パターン３における通信装置内のシーケンス図である。
【図１７】図１７は、運用系ＦＤＢの切り替え処理の通信装置内シーケンスである。
【図１８】図１８は、実施例２にかかる通信装置のモジュール構成例を示すブロック図である。
【図１９】図１９は、実施例２にかかる制御フレームのフォーマット例を示す説明図である。
【図２０】図２０は、実施例２にかかる通信経路切替時のリングネットワーク全体の処理を示す通信装置間シーケンス図である。
【図２１】図２１は、実施例２にかかる通信経路切替時におけるマスタ装置内のシーケンス図である。
【図２２】図２２は、実施例２にかかる切替指示の制御フレームの受信時の通信装置内シーケンスである。
【発明を実施するための形態】
【００１４】
本実施の形態では、リングネットワークを構成する全通信装置が、通信経路切り替え後におけるフレームの転送先情報（Ｆｏｗａｒｄｉｎｇ  Ｄａｔａ  Ｂａｓｅ。以下、ＦＤＢと称す。）を、切り替え前に予め作成し、マスタ装置の指示でリングに属する全通信装置のＦＤＢを切り替える。
【００１５】
これを実現するため、通信経路切り替え前に使用するＦＤＢ（以降、運用系ＦＤＢと称す。）と、通信経路切り替え後に使用するＦＤＢ（以降、待機系ＦＤＢと称す。）の２種のＦＤＢを、各通信装置が持つ。運用系ＦＤＢには、受信フレームの送信元ＭＡＣアドレスが登録される。待機系ＦＤＢには、他の通信装置から制御フレームにより通知されたＭＡＣアドレスが登録される。そのため、あるリングに属する通信装置は、運用系ＦＤＢで学習したＭＡＣアドレスを他のリングに属する通信装置へ通知する。
【００１６】
通信経路の切り替えは、リングに属する全通信装置のうちマスタ装置からトランジット装置への指示により実行される。指示を受けトランジット装置は、待機系ＦＤＢを運用系ＦＤＢへ切り替えてフレーム転送を行う。ＦＤＢは切り替え前に構築済みであるから、通信経路切り替え時のフラッディングは発生しない。
【実施例１】
【００１７】
実施例１にかかるネットワークシステムは、リングネットワークにおいてデータＶＬＡＮを２つ（データＶＬＡＮ１，データＶＬＡＮ２）用いる。リングネットワークを構成する各通信装置は、データＶＬＡＮ１で適用されるＦＤＢと、データＶＬＡＮ２で適用されるＦＤＢと、を有する。運用系の通信経路がデータＶＬＡＮ１からデータＶＬＡＮ２に切り替わると、運用系のＦＤＢも、データＶＬＡＮ１で適用されるＦＤＢから、データＶＬＡＮ２で適用されるＦＤＢに切り替わる。
【００１８】
（１−１）ネットワークシステムの構成
図１は、実施例１にかかるネットワークシステム１００の構成例を示す説明図である。マスタ装置Ｍａおよび複数のトランジット装置（図１では、一例として２台のトランジット装置Ｍｂ，Ｍｃ）は、ユーザフレームを中継する通信装置であり、リングネットワークを構成する。
【００１９】
マスタ装置Ｍａは、２つのリングポートｐａ１，ｐａ２とリングポートでないポート（以下、リング外ポートと称す。）ｐａ３を有する。トランジット装置Ｍｂは、２つのリングポートｐｂ１，ｐｂ２とリング外ポートｐｂ３を有する。トランジット装置Ｍｃは、２つのリングポートｐｃ１，ｐｃ２とリング外ポートｐｃ３を有する。
【００２０】
マスタ装置Ｍａは、物理回線であるリンクＬａｎによりネットワークＮａに接続される。ネットワークＮａには、たとえば、通信装置Ｎａ１が存在する。通信装置Ｎａ１のＭＡＣアドレスを、「ａａ‐ａａ‐ａａ‐００‐００‐１１」とする。
【００２１】
トランジット装置Ｍｂは、物理回線であるリンクＬｂｎによりネットワークＮｂに接続される。ネットワークＮｂには、たとえば、通信装置Ｎｂ１が存在する。通信装置Ｎｂ１のＭＡＣアドレスを、「ｂｂ‐ｂｂ‐ｂｂ‐００‐００‐１１」とする。
【００２２】
トランジット装置Ｍｃは、物理回線であるリンクＬｃｎによりネットワークＮｃに接続される。ネットワークＮｃには、たとえば、通信装置Ｎｃ１が存在する。通信装置Ｎｃ１のＭＡＣアドレスを、「ｃｃ‐ｃｃ‐ｃｃ‐００‐００‐１１」とする。
【００２３】
マスタ装置Ｍａとトランジット装置Ｍｂとの間では、マスタ装置Ｍａのリングポートｐａ１とトランジット装置Ｍｂのリングポートｐｂ２とを接続する物理回線であるリンクＬａｂにより通信経路が確保される。
【００２４】
マスタ装置Ｍａとトランジット装置Ｍｃとの間では、マスタ装置Ｍａのリングポートｐａ２とトランジット装置Ｍｃのリングポートｐｃ１とを接続する物理回線であるリンクＬａｃにより通信経路が確保される。
【００２５】
トランジット装置Ｍｂとトランジット装置Ｍｃとの間では、トランジット装置Ｍｂのリングポートｐｂ１とトランジット装置Ｍｃのリングポートｐｃ２とを接続する物理回線であるリンクＬｂｃにより通信経路が確保される。
【００２６】
すべての通信装置Ｍａ，Ｍｂ，Ｍｃ間でリンクＬａｂ，Ｌｂｃ，Ｌａｃが形成されると、ネットワーク構成はリング状になる。各リングポートｐａ１，ｐａ２，ｐｂ１，ｐｂ２，ｐｃ１，ｐｃ２およびリンクＬａｂ，Ｌｂｃ，Ｌａｃにより、ユーザフレームが流れるデータＶＬＡＮ１およびデータＶＬＡＮ２と、制御フレームが流れる制御ＶＬＡＮ３と、が設定される。
【００２７】
リングの通信経路は、マスタ装置１００により制御される。マスタ装置Ｍａの一方のリングポートをプライマリポートと呼び、他方のリングポートをセカンダリポートと呼ぶ。プライマリポートはリングが正常であるとき、通信可能なフォワーディング状態になるリングポートである。セカンダリポートはリングが正常であるとき、ブロッキング状態となるリングポートである。プライマリポートとセカンダリポートはデータＶＬＡＮ１，２毎に制御される。
【００２８】
マスタ装置Ｍａにおいては、データＶＬＡＮ１では、リングポートｐａ１がプライマリポート１１１、リングポートｐａ２がセカンダリポート１２１となり、データＶＬＡＮ２では、リングポートｐａ２がプライマリポート１２２、リングポートｐａ１がセカンダリポート１１２となる。
【００２９】
これに対応して、データＶＬＡＮ１では、トランジット装置Ｍｂのリングポートｐｂ２は、プライマリポート１１３となり、リングポートｐｂ１は、プライマリポート１１５となる。また、データＶＬＡＮ２では、トランジット装置Ｍｃのリングポートｐｂ２は、プライマリポート１１４となり、リングポートｐｂ１は、プライマリポート１１６となる。
【００３０】
同様に、ＶＬＡＮ１では、トランジット装置Ｍｃのリングポートｐｃ２は、プライマリポート１１７となり、リングポートｐｃ１は、プライマリポート１１９となる。また、ＶＬＡＮ２では、トランジット装置Ｍｃのリングポートｐｃ２は、プライマリポート１１８となり、リングポートｐｃ１は、プライマリポート１２０となる。
【００３１】
データＶＬＡＮ１とデータＶＬＡＮ２の２つのデータＶＬＡＮは、一方が運用系ＦＤＢ、もう一方が待機系ＦＤＢとして動作する。通信装置Ｍａ，Ｍｂ，ＭｃとネットワークＮａ，Ｎｂ，Ｎｃとの通信はＶＬＡＮ１で実行される。各通信装置Ｍａ，Ｍｂ，Ｍｃは、ユーザフレームのＶＬＡＮタグを変換することで運用系ＦＤＢを切り替える。
【００３２】
（１−２）リングに属する通信装置の構成
図２は、実施例１にかかる通信装置２００（マスタ装置Ｍａおよびトランジット装置Ｍｂ，Ｍｃ）のモジュール構成例を示すブロック図である。通信装置２００は、物理的にメモリ２１０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２２０、ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）２３０、データ転送系ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）２４０、カプセル化系ＡＳＩＣ２５０、ポート２６１〜２６５から構成される。
【００３３】
メモリ２１０は、ＣＰＵ２２０が実行するプログラムを格納する。ＣＰＵ２２０は、メモリ２１０に格納されたプログラムを実行する。ＣＡＭ２３０は、ＦＤＢを格納し、ＦＤＢの検索を高速に実行する機能を有する。データ転送系ＡＳＩＣ２４０は、主にフレームの転送を担う。カプセル化系ＡＳＩＣ２５０は、フレームのカプセル化およびデカプセル化を担う。
【００３４】
ポート２６１〜２６５は、通信装置２００外部とのインターフェースであり、他の通信装置２００とのフレーム送受信を行う。ポート２６１〜２６５のうち、ポート２６１，２６２をリングポート、ポート２６３〜２６５をリング外ポートとする。たとえば、通信装置２００がマスタ装置Ｍａである場合、ポート２６１がポートＰａ１、ポート２６２がポートＰａ２、ポート２６３〜２６５のいずれか１つが、ポートＰａ３に対応する。
【００３５】
通信装置２００がトランジット装置Ｍｂである場合、ポート２６１がポートＰｂ１、ポート２６２がポートＰｂ２、ポート２６３〜２６５のいずれか１つが、ポートＰｂ３に対応する。通信装置２００がトランジット装置Ｍｃである場合、ポート２６１がポートＰｃ１、ポート２６２がポートＰｃ２、ポート２６３〜２６５のいずれか１つが、ポートＰｃ３に対応する。
【００３６】
上記の物理的な構成要素で、実施例１に必要な次の機能が動作する。メモリ２１０にはリング制御プログラム２１１と装置管理プログラム２１４が展開されている。ＣＡＭ２３０が持つＦＤＢは論理的に２つのＦＤＢ２３１，２３２を含む。ＦＤＢ２３１，２３２は、転送先に転送するポートのポート番号と転送先のＭＡＣアドレスの組をエントリとして有する。転送系ＡＳＩＣ２４０は、転送エンジン２４１を有する。カプセル化系ＡＳＩＣ２５０は、フレームカプセリング・デカプセリング機能２５１を有する。
【００３７】
以下、各構成要素について詳述する。なお、「プログラム」を主語（動作主体）として説明を行うが、プログラムはプロセッサによって実行されることで定められた処理をメモリおよびポートを用いながら行うため、プロセッサを主語とした説明としてもよい。
【００３８】
リング制御プログラム２１１は、リング負荷制御プログラム２１２とＦＤＢ制御プログラム２１３とを有する。リング負荷制御プログラム２１２は、リングの状態を監視し、トラフィック量の情報に従ってリングの構成を制御する。ＦＤＢ制御プログラム２１３は、ＣＡＭ２３０に登録されるＦＤＢ２３１，２３２のエントリを管理する。具体的には、転送エンジン２４１が、待機系ＦＤＢの構築と、転送エンジン２４１のＶＬＡＮタグ変換機能２４２とを用いて、ユーザフレームの転送で参照するＦＤＢの制御を担う。
【００３９】
装置管理プログラム２１４は、転送エンジン２４１やポート２６１〜２６５のリンク状態を制御する。ＣＡＭ２３０が保持するＦＤＢ２３１，２３２はそれぞれ、データＶＬＡＮ１、データＶＬＡＮ２のＦＤＢである。一方のＦＤＢが運用系ＦＤＢ、他方のＦＤＢが待機系ＦＤＢとなる。
【００４０】
転送エンジン２４１は、ＭＡＣアドレス学習、ＭＡＣアドレスクリア、およびフレームの転送を行う。また、転送エンジン２４１は、ＶＬＡＮタグ変換機能２４２とＭＡＣアドレス通知機能２４３とを有する。転送エンジン２４１は、フレームを受信するとＣＡＭ２３０の運用系ＦＤＢを検索し、受信フレームの送信元ＭＡＣアドレスが運用系ＦＤＢに登録されているか確認する。運用系ＦＤＢに登録されていなければ、運用系ＦＤＢに当該送信元ＭＡＣアドレスを登録する（ＭＡＣアドレス学習）。
【００４１】
また、転送エンジン２４１は、受信フレームの送信先ＭＡＣアドレスを運用系ＦＤＢから検索し、登録された情報に従ってフレーム転送する。運用系ＦＤＢに登録されたＭＡＣアドレスは保持時間に制限があり、保持時間が満了となると削除される（ＭＡＣアドレスクリア）。なお、ＭＡＣアドレスクリアは、リングプロトコルによる経路変更やユーザの操作でも実行可能である。
【００４２】
ＶＬＡＮタグ変換機能２４２は、転送エンジン２４１が転送するフレームのＶＬＡＮタグを書き換える。ＶＬＡＮタグ変換機能２４２により変換されたＶＬＡＮタグの変換先のＶＬＡＮ  ＩＤが、運用系ＦＤＢとなる。ＶＬＡＮタグ変換機能２４２を使用してリング制御プログラム２１１のＦＤＢ制御プログラム２１３が、運用系ＦＤＢを決定する。
【００４３】
ＭＡＣアドレス通知機能２４３は、ＭＡＣアドレス学習時とＭＡＣアドレスクリア時に、ＭＡＣアドレス学習またはＭＡＣアドレスクリアの対象となるＭＡＣアドレスを、ＣＰＵ２２０（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）へ通知する。
【００４４】
フレームカプセリング・デカプセリング機能２５１は、リングを流れるトラフィック量を計測するため、リングポート２６１，２６２で受信したユーザフレームや、リングポート２６１，２６２から送信するユーザフレームにヘッダを追加したり追加されたヘッダを削除したりする。また、フレームカプセリング・デカプセリング機能２５１は、ユーザフレームに付与した情報から各経路の統計を取得する。
【００４５】
図３は、ＭＡＣアドレス学習完了後に通信装置２００が保持するＦＤＢの一例を示す説明図である。（Ａ）は、マスタ装置Ｍａ内のＦＤＢ２３１，２３２を示す（以下、ＦＤＢ２３１ａ，２３２ａと称す）。（Ｂ）は、トランジット装置Ｍｂ内のＦＤＢ２３１，２３２を示す（以下、ＦＤＢ２３１ｂ，２３２ｂと称す）。（Ｃ）は、トランジット装置Ｍｃ内のＦＤＢ２３１，２３２を示す（以下、ＦＤＢ２３１ｃ，２３２ｃと称す）。データＶＬＡＮ１が運用系ＦＤＢ２３１ａ，２３１ｂ，２３１ｃ、データＶＬＡＮ２が待機系ＦＤＢ２３２ａ，２３２ｂ，２３２ｃとする。
【００４６】
（１−３）制御フレーム
図４は、実施例１にかかる制御フレームのフォーマットを示す説明図である。制御フレーム４０１は、リングを構成する通信装置間でリングの制御に関する情報を伝達するために使用する。制御フレーム４０１は、ＤＭＡＣ（Ｄｅｓｔｉｎａｔｉｏｎ  Ｍｅｄｉａ Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス４０３、ＳＭＡＣ（ステップＳｏｕｒｃｅ  Ｍｅｄｉａ Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス４０４、ＶＬＡＮタグ４０５、ＥｔｈｅｒＴｙｐｅ４０６、リングＩＤ４０７、種別４０８、シーケンス番号４０９、データ領域４１０、ＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）４１１を有する。
【００４７】
ＤＭＡＣアドレス４０３には、送信先のＭＡＣアドレスが格納され、ＳＭＡＣアドレス４０４には、送信元のＭＡＣアドレスが格納される。ＶＬＡＮタグ４０５には、制御フレームの転送先に指定された制御ＶＬＡＮ３のＶＬＡＮ  ＩＤが格納される。ＥｔｈｅｒＴｙｐｅ４０６には、上位プロトコルを識別するための番号が格納され、制御フレーム４０１においては、リングプロトコルであることを示す情報が格納される。
【００４８】
リングＩＤ４０７には、制御フレーム４０１が属するリングを一意に特定するＩＤが格納される。１つの通信装置２００に複数のリングＩＤが設定された場合に、制御フレーム４０１が制御対象としているリングを識別するために使用される。
【００４９】
種別４０８には、制御フレーム４０１の種別３１２が格納される。シーケンス番号４０９には、制御フレーム４０１の送信順序を示すシーケンス番号が格納される。データ領域４１０は、制御フレーム４０１の種別に応じた情報３１３が格納される。ＦＣＳ４１１には、受信したフレームに誤りがないか調べるために付加されるデータが格納される。
【００５０】
また、種別４０８には、待機系ＭＡＣアドレス追加４１４、待機系ＭＡＣアドレス削除４１５、切替指示４１６が格納される。種別４０８にＭＡＣアドレス追加４１４またはＭＡＣアドレス削除４１５が格納された制御フレーム４０１は、データ領域４１０にＭＡＣアドレスが格納される。データ領域４１０に格納されたＭＡＣアドレスは、待機系ＦＤＢ２３２ａ，２３２ｂ，２３２ｃの構築に使われる。
【００５１】
種別４０８に切替指示４１６が格納された制御フレーム４０１は、データ領域４１０にＶＬＡＮ  ＩＤが格納される。データ領域４１０に格納されたＶＬＡＮ  ＩＤは、切り替え後に使用するＦＤＢのＶＬＡＮ  ＩＤである。
【００５２】
（１−４）全体の処理
ネットワークシステム１００は、リング構成におけるマスタ装置Ｍａのプライマリポートの切り替えに際し、切り替え後のＦＤＢを待機系ＦＤＢとして切り替え前に構築すること、および、リングを流れるユーザフレームの転送に使用する運用系ＦＤＢを待機系ＦＤＢに切り替えることである。以下にリングネットワーク全体の処理（装置間シーケンス）を概説する。
【００５３】
リングネットワークの運用開始時、通信装置２００は、ユーザフレーム転送用の運用系ＦＤＢと待機系ＦＤＢとを決める。運用系ＦＤＢおよび待機系ＦＤＢの各ＶＬＡＮ  ＩＤの初期値（リングネットワーク運用開始時の値）は、全通信装置Ｍａ，Ｍｂ，Ｍｂで一致する値であれば、どのような方式でもよい。ユーザが通信装置２００に対して設定する方式でもよいし、マスタ装置Ｍａが決定する方式でもよい。
【００５４】
通信装置２００は、待機系ＦＤＢの構築をＭＡＣアドレス学習またはＭＡＣアドレスクリアした際に実行する。該当する通信装置２００は、学習またはクリアしたＭＡＣアドレスを含む制御フレーム４０１を他の通信装置２００へ通知する。
【００５５】
学習したＭＡＣアドレスを含む制御フレーム４０１とは、種別４０８の待機系ＭＡＣアドレス追加４１４のデータ領域４１０に学習したＭＡＣアドレスを含む制御フレーム（以降、「待機系ＭＡＣアドレス追加４１４の制御フレーム」と称す。）４０１である。クリアしたＭＡＣアドレスを含む制御フレーム４０１とは、種別４０８の待機系ＭＡＣアドレス削除４１５のデータ領域４１０にクリアしたＭＡＣアドレスを含む制御フレーム（以降、「待機系ＭＡＣアドレス削除４１５の制御フレーム」と称す。）４０１である。
【００５６】
当該制御フレーム４０１を受信した通信装置２００は、通知されたＭＡＣアドレスを待機系ＦＤＢへ登録（学習の場合）または削除（クリアの場合）する。マスタ装置Ｍａとトランジット装置Ｍｂ，Ｍｃで制御フレーム４０１の受信後の処理が異なる。
【００５７】
リングネットワークを構成する全通信装置Ｍａ，Ｍｂ，Ｍｃは、フレームカプセリング・デカプセリング機能２５１を使用し、リングを流れるトラフィック量を測定する。各通信装置Ｍｂ，Ｍｃが測定したトラフィック量は、マスタ装置Ｍａに収集される。マスタ装置Ｍａは、トラフィック量からプライマリポートの切り替え要否を判断する。
【００５８】
マスタ装置Ｍａは、プライマリポート（フォワーディング状態）の切替指示４１６の制御フレーム４０１を、トランジット装置Ｍｂ，Ｍｃに送信する。切替指示４１６の制御フレーム４０１とは、種別４０８のプライマリポート（フォワーディング状態）の切替指示４１６のデータ領域４１０にＶＬＡＮ  ＩＤを含む制御フレームである。
【００５９】
トランジット装置Ｍｂ，Ｍｃは、運用系ＦＤＢを、制御フレーム４０１で指示されたＶＬＡＮ  ＩＤで特定されるＦＤＢに切り替える。たとえば、運用系ＦＤＢがデータＶＬＡＮ１のＦＤＢ２３１ｂ，２３１ｃで、制御フレーム４０１で指示されたＶＬＡＮ  ＩＤが「２」である場合、トランジット装置Ｍｂ，Ｍｃは、運用系ＦＤＢをデータＶＬＡＮ２のＦＤＢ２３２ｂ，２３２ｃに切り替える。以下、これら待機系ＦＤＢ構築と通信経路切り替えにおけるリングネットワーク全体の処理（装置間シーケンス）について詳述する。
【００６０】
なお、運用系ＦＤＢをデータＶＬＡＮ１のＦＤＢ２３１、待機系ＦＤＢをデータＶＬＡＮ２のＦＤＢ２３２とする。すなわち、マスタ装置Ｍａにおいて、運用系ＦＤＢがデータＶＬＡＮ１の場合、運用系ＦＤＢのセカンダリポートはリングポートｐａ２、運用系ＦＤＢがデータＶＬＡＮ２の場合、リングポートｐａ１となる。
【００６１】
（１−４−１）マスタ装置ＭａにおけるＭＡＣアドレス学習およびＭＡＣアドレスクリア
図５は、マスタ装置Ｍａのリング外ポートでＭＡＣアドレス学習およびＭＡＣアドレスクリアした場合のリングネットワーク全体の処理を示す装置間シーケンス図である。
【００６２】
マスタ装置Ｍａは、マスタ装置Ｍａのリング外ポートｐａ３でＭＡＣアドレス学習により運用系ＦＤＢ（ＦＤＢ２３１ａ）にＭＡＣアドレスを登録、またはＭＡＣアドレスクリアにより運用系ＦＤＢ（ＦＤＢ２３１ａ）からＭＡＣアドレスを削除する（ステップＳ５０１）。
【００６３】
ＭＡＣアドレスを登録または削除した場合（ステップＳ５０１）、マスタ装置Ｍａは、待機系ＦＤＢ（ＦＤＢ２３２ａ）にＭＡＣアドレスを登録、または待機系ＦＤＢ（ＦＤＢ２３２ａ）からＭＡＣアドレスを削除する（ステップＳ５０２）。そして、マスタ装置Ｍａは、待機系ＭＡＣアドレス追加４１４または待機系ＭＡＣアドレス削除４１５の制御フレーム４０１（以下、制御フレーム５０４）を、運用系ＦＤＢ（ＦＤＢ２３１ａ）で特定されるデータＶＬＡＮ１でブロッキング状態であるセカンダリポート１２１（ｐａ２）から送信する（ステップＳ５０３）。
【００６４】
制御フレーム５０４をセカンダリポート１２１（ｐａ２）から送信する理由は、運用系ＦＤＢ（ＦＤＢ２３１ａ）のセカンダリポート１２１（ｐａ２）が、通信経路切替後のプライマリポート１２２となるためである。通信経路切替後に通信可能になるポートを使用してフレーム転送できるＦＤＢを構築するために、運用系ＦＤＢのセカンダリポートからＦＤＢ構築用の制御フレーム５０４が送信される。
【００６５】
制御フレーム５０４を受信したトランジット装置Ｍｃは、通知されたＭＡＣアドレスを待機系ＦＤＢ（ＦＤＢ２３２ｃ）へ登録、または待機系ＦＤＢ（ＦＤＢ２３２ｃ）から削除する（ステップＳ５０５）。
【００６６】
ＭＡＣアドレスを登録または削除した場合（ステップＳ５０５）、トランジット装置Ｍｃは、その制御フレーム５０４（以下、制御フレーム５０７）を、受信したリングポートｐｃ１（１１９）とは別のリングポートｐｃ２（１１７）から送信する（ステップＳ５０６）。
【００６７】
その制御フレーム５０４を受信したトランジット装置Ｍｂは、通知されたＭＡＣアドレスを待機系ＦＤＢ（ＦＤＢ２３２ｂ）へ登録、または待機系ＦＤＢ（ＦＤＢ２３２ｂ）から削除する（ステップＳ５０８）。
【００６８】
ＭＡＣアドレスを登録または削除した場合（ステップＳ５０８）、トランジット装置Ｍｂは、その制御フレーム５０７（以下、制御フレーム５１０）を、受信したリングポートｐｂ１（１１５）とは別のリングポートｐｂ１（１１３）から転送する（ステップＳ５０９）。制御フレーム５１０は最終的にマスタ装置Ｍａに到達する。マスタ装置Ｍａは、リングポートｐａ１（１１１）で受信した制御フレーム５１０を廃棄する（ステップＳ５１１）。これにより、図３の（Ａ）に示すように、マスタ装置ＭａのＦＤＢ２３１ａ，２３２ａが構築される。
【００６９】
（１−４−２）トランジット装置におけるＭＡＣアドレス学習およびＭＡＣアドレスクリア
図６は、トランジット装置Ｍｃのリング外ポートｐｃ３でＭＡＣアドレス学習およびＭＡＣアドレスクリアした場合のリングネットワーク全体の処理を示す装置間シーケンス図である。トランジット装置Ｍｃは、リング外ポートｐｃ３でＭＡＣアドレス学習により運用系ＦＤＢ（ＦＤＢ２３１ｃ）にＭＡＣアドレスを登録、またはＭＡＣアドレスクリアにより運用系ＦＤＢ（ＦＤＢ２３１ｃ）からＭＡＣアドレスを削除する（ステップＳ６０１）。
【００７０】
ＭＡＣアドレスを登録または削除した場合（ステップＳ６０１）、トランジット装置Ｍｃは、待機系ＦＤＢ（ＦＤＢ２３２ｃ）にＭＡＣアドレスを登録、または待機系ＦＤＢからＭＡＣアドレスを削除する（ステップＳ６０２）。そして、トランジット装置Ｍｃは、自装置Ｍｃの全リングポートｐｃ１，ｐｃ２から、待機系ＭＡＣアドレス追加４１４または待機系ＭＡＣアドレス削除４１５の制御フレーム４０１（以下、制御フレーム６０４，６０５）を送信する（ステップＳ６０３）。
【００７１】
ただし、トランジット装置Ｍｃは、自装置Ｍｃの全リングポートｐｃ１，ｐｃ２からＭＡＣアドレスを配布しているが、制御ＶＬＡＮ３を用いて全リングポートｐｃ１，ｐｃ２から制御フレーム６０４，６０５を送信する。したがって、全リングポートｐｃ１，ｐｃ２からの制御フレーム６０４，６０５の送信は、フラッディングには該当しない。
【００７２】
制御フレーム６０５を受信したトランジット装置Ｍｂは、前述（１−４−１）と同様、通知されたＭＡＣアドレスを待機系ＦＤＢ（ＦＤＢ２３２ｂ）へ登録、または待機系ＦＤＢ（ＦＤＢ２３２ｂ）から削除する（ステップＳ６０６）。
【００７３】
ＭＡＣアドレスを登録または削除した場合（ステップＳ６０６）、トランジット装置Ｍｂは、その制御フレーム６０５（以下、制御フレーム６０８）を、受信したリングポートｐｂ１（１１５）とは別のリングポートｐｂ１（１１３）から転送する（ステップＳ６０７）。
【００７４】
制御フレーム６０４，６０８を受信したマスタ装置Ｍａは、その受信ポートが運用系ＦＤＢ（ＦＤＢ２３１ａ）のセカンダリポート（ブロッキング状態）である場合、待機系ＦＤＢ（ＦＤＢ２３２ａ）にＭＡＣアドレスを登録、または待機系ＦＤＢ（ＦＤＢ２３２ａ）から削除する（ステップＳ６０９）。受信ポートが運用系ＦＤＢ（ＦＤＢ２３１ａ）で特定されるデータＶＬＡＮのプライマリポート（フォワーディング状態）である場合、制御フレーム４０１を廃棄する（ステップＳ６１０）。これにより、図３の（Ｂ）（Ｃ）に示すように、トランジット装置ＭｂのＦＤＢ２３１ｂ，２３２ｂとトランジット装置ＭｃのＦＤＢ２３１ｃ，２３２ｃが構築される。
【００７５】
（１−４−４）通信経路の切り替え
図７は、通信経路切り替え時のリングネットワーク全体の処理を示す装置間シーケンス図である。一部の経路を流れるトラフィック量がポートの帯域に迫っており、なおかつトラフィックが流れる経路に偏りがある場合がある。
【００７６】
マスタ装置Ｍａは、リングの構成変更によるトラフィックの平滑化のため、通信経路の切り替えが必要と判断する。その場合、まず、マスタ装置Ｍａは、運用系ＦＤＢを切り替える（ステップＳ７０１）。具体的には、たとえば、データＶＬＡＮのＶＬＡＮ  ＩＤを切り替える。詳細は（１−５−５）で後述する。
【００７７】
つぎに、マスタ装置Ｍａは、切替指示４１６の制御フレーム４０１（以下、制御フレーム７０３）を全リングポート（ｐａ１とｐａ２）から送信する（ステップＳ７０２）。ただし、図７では、説明上、マスタ装置Ｍａによるリングポートｐａ２からの制御フレーム７０３の送信を省略している。制御フレーム７０３を受信したトランジット装置Ｍｂは、運用系ＦＤＢを制御フレーム７０３で指示されたＶＬＡＮ  ＩＤのＦＤＢに切り替える（ステップＳ７０４）。詳細は（１−５−６）で後述する。
【００７８】
つぎに、トランジット装置Ｍｂは、制御フレーム７０３を受信したポートとは別のリングポートから制御フレーム７０３（以下、制御フレーム７０６）を転送する（ステップＳ７０５）。制御フレーム７０６を受信したトランジット装置Ｍｃは、運用系ＦＤＢを制御フレーム７０６で指示されたＶＬＡＮ  ＩＤのＦＤＢに切り替える（ステップＳ７０７）。詳細は（１−５−６）で後述する。
【００７９】
つぎに、トランジット装置Ｍｂは、制御フレーム７０６を受信したポートとは別のリングポートから、制御フレーム７０６（以下、制御フレーム７０９）を転送する（ステップＳ７０８）。最終的にマスタ装置Ｍａへ制御フレーム７０９がマスタ装置Ｍａに返ってくるが、マスタ装置Ｍａは制御フレーム７０９を廃棄する（ステップＳ７１０）。
【００８０】
（１−５）通信装置２００内の処理例
つぎに、通信装置２００内のシーケンスを説明する。
【００８１】
（１−５−１）ＭＡＣアドレス学習
図８は、ＭＡＣアドレス学習時の通信装置２００内のシーケンス図である。図８は、図５のＳ５０１からＳ５０３、および、図６のＳ６０１からＳ６０３における処理の詳細を示す。通信装置２００は、ポート２６１〜２６５でユーザフレームを受信し、転送エンジン２４１は、受信したポートのポート番号およびＭＡＣアドレスを運用系ＦＤＢに登録する（ステップＳ８０１）。
【００８２】
転送エンジン２４１は、ユーザフレームを転送した後（ステップＳ８０２）、登録したＭＡＣアドレスをＣＰＵ（リング制御プログラム２１１）２２０へ通知する（ステップＳ８０３）。ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、ステップＳ８０１でＭＡＣアドレスを学習したポートがリングポート２６１，２６２であるか確認する（ステップＳ８０４）。リングポート２６１，２６２である場合（ステップＳ８０４：Ｙｅｓ）、何も処理をしない。
【００８３】
ＭＡＣアドレスを学習したポートがリングポート２６１，２６２ではない場合（ステップＳ８０４：Ｎｏ）、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、そのユーザフレームを受信したポートのポート番号およびＭＡＣアドレスを待機系ＦＤＢに登録する（ステップＳ８０５）。
【００８４】
つぎに、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、その通信装置２００の役割を確認する（ステップＳ８０６）。通信装置２００がマスタ装置Ｍａである場合（ステップＳ８０６：マスタ）、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、運用系ＶＬＡＮのセカンダリポート（ブロッキング状態）から、ステップＳ８０５で登録されたＭＡＣアドレスをデータ領域４１０に含む待機系ＭＡＣアドレス追加４１４の制御フレーム４０１を送信する（ステップＳ８０７）。
【００８５】
その通信装置２００がトランジット装置Ｍｂ，Ｍｃである場合（ステップＳ８０６：トランジット）、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、全リングポート２６１，２６２から、ステップＳ８０５で登録されたＭＡＣアドレスをデータ領域４１０に含む待機系ＭＡＣアドレス追加４１４の制御フレーム４０１を送信する（ステップＳ８０８）。
【００８６】
（１−５−２）ＭＡＣアドレスクリア
図９は、ＭＡＣアドレスクリア時の通信装置２００内のシーケンス図である。図９は、図５のＳ５０１からＳ５０３、および、図６のＳ６０１からＳ６０３における処理の詳細を示す。通信装置２００は、転送エンジン２４１でＭＡＣアドレスの保持時間満了、またはリングプロトコルによる経路変更（リング外ポートからの待機系ＭＡＣアドレス削除４１５の制御フレームの受信を含む）やユーザにより削除の操作を検出する（ステップＳ９０１）。
【００８７】
ＭＡＣアドレスの保持時間満了または削除操作が検出された場合（ステップＳ９０１）、転送エンジン２４１は、運用系ＦＤＢからＭＡＣアドレスを削除し（ステップＳ９０２）、ＣＰＵ（リング制御プログラム２１１）２２０へＭＡＣアドレスクリアを通知する（ステップＳ９０３）。
【００８８】
ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、ステップＳ９０２で削除したＭＡＣアドレスクリアに対応するポート（ＭＡＣアドレスクリアしたポート）がリングポート２６１，２６２であるか確認する（ステップＳ９０４）。リングポート２６１，２６２であった場合（ステップＳ９０４：Ｙｅｓ）、何も処理しない。
【００８９】
一方、ＭＡＣアドレスクリアしたポートがリングポート２６１，２６２ではない場合（ステップＳ９０４：Ｎｏ）、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、待機系ＦＤＢからＭＡＣアドレスクリアしたポートのポート番号およびＭＡＣアドレスクリアされたＭＡＣアドレスを削除する（ステップＳ９０５）。
【００９０】
つぎに、ＣＰＵ（リング制御プログラム２１１）２２０は、その通信装置２００の役割を確認する（ステップＳ９０６）。その通信装置２００がマスタ装置Ｍａである場合（ステップＳ９０６：マスタ）、ＣＰＵ（ＦＤＢ制御プログラム２１３）２２０は、運用系ＦＤＢのセカンダリポート（ブロッキング状態）から、ＭＡＣアドレスクリアされたＭＡＣアドレスをデータ領域４１０に含む待機系ＭＡＣアドレス削除４１５の制御フレーム４０１を送信する（ステップＳ９０７）。その通信装置２００がトランジット装置Ｍｂ，Ｍｃである場合（ステップＳ９０６：トランジット）、ＣＰＵ（リング制御プログラム２１１）２２０は、全リングポート２６１，２６２から、ＭＡＣアドレスクリアされたＭＡＣアドレスをデータ領域４１０に含む待機系ＭＡＣアドレス削除４１５の制御フレーム４０１を送信する（ステップＳ９０８）。
【００９１】
（１−５−３）待機系ＭＡＣアドレス追加４１４の制御フレーム４０１の受信
図１０は、待機系ＭＡＣアドレス追加４１４の制御フレーム４０１の受信時の通信装置２００内のシーケンス図である。図１０は、図５のＳ５０５からＳ５０６、Ｓ５０８からＳ５０９、Ｓ５１１、および、図６のＳ６０６からＳ６０７、Ｓ６０９からＳ６１０における処理の詳細を示す。
【００９２】
待機系ＭＡＣアドレス追加４１４の制御フレーム４０１を受信すると、転送エンジン２４１は、ＣＰＵ（リング制御プログラム２１１）２２０へ待機系ＭＡＣアドレス追加４１４の制御フレーム４０１を転送する（ステップＳ１００１）。ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、その通信装置２００の役割を確認する（ステップＳ１００２）。
【００９３】
その通信装置２００がマスタ装置Ｍａである場合（ステップＳ１００２：マスタ）、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、待機系ＭＡＣアドレス追加４１４の制御フレーム４０１を受信したポートの種別を確認する（ステップＳ１００３）。
【００９４】
待機系ＭＡＣアドレス追加４１４の制御フレーム４０１を受信したポートの種別が運用系ＦＤＢのプライマリポート（フォワーディング状態）である場合（ステップＳ１００３：プライマリポート）、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、ＭＡＣアドレス追加４１４の制御フレーム４０１を廃棄する（ステップＳ１００４）。
【００９５】
セカンダリポート（ブロッキング状態）である場合（ステップＳ１００３：セカンダリポート）、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、待機系ＭＡＣアドレス追加４１４の制御フレーム４０１のデータ領域４１０に含まれるＡＭＡＣアドレスを待機系ＦＤＢに登録する（ステップＳ１００５）。
【００９６】
ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、その通信装置２００の役割を確認（ステップＳ１００２）した結果、その通信装置２００がトランジット装置Ｍｂ，Ｍｃである場合（ステップＳ１００２：トランジット）、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、待機系ＭＡＣアドレス追加４１４の制御フレーム４０１のデータ領域４１０に含まれるＭＡＣアドレスを待機系ＦＤＢに登録する（ステップＳ１００６）。
【００９７】
つぎに、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、待機系ＭＡＣアドレス追加４１４の制御フレーム４０１を受信したポートではないリングポートから、待機系ＭＡＣアドレス追加４１４の制御フレーム４０１を送信する（ステップＳ１００７）。
【００９８】
（１−５−４）待機系ＭＡＣアドレス削除４１５の制御フレーム４０１の受信
図１１は、待機系ＭＡＣアドレス削除４１５の制御フレーム４０１の受信時の通信装置２００内のシーケンス図である。図１１は、図５のＳ５０５からＳ５０６、Ｓ５０８からＳ５０９、および、図６のＳ６０６からＳ６０７、Ｓ６０９からＳ６１０における処理の詳細を示す。
【００９９】
待機系ＭＡＣアドレス削除４１５の制御フレーム４０１を受信すると、転送エンジン２４１は、ＣＰＵ（リング制御プログラム２１１）２２０に待機系ＭＡＣアドレス削除４１５の制御フレーム４０１を転送する（ステップＳ１１０１）。ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、その通信装置２００の役割を確認する（ステップＳ１１０２）。その通信装置２００がマスタ装置Ｍａである場合（ステップＳ１１０２：マスタ）、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、待機系ＭＡＣアドレス削除４１５の制御フレーム４０１を受信したポートの種別を確認する（ステップＳ１１０３）。
【０１００】
待機系ＭＡＣアドレス削除４１５の制御フレーム４０１を受信したポートの種別が運用系ＦＤＢのプライマリポート（フォワーディング状態）である場合（ステップＳ１１０３：プライマリポート）、ＣＰＵ（リング制御プログラム２１１）２２０は、待機系ＭＡＣアドレス削除４１５の制御フレーム４０１を廃棄する（ステップＳ１１０４）。セカンダリポート（ブロッキング状態）である場合（ステップＳ１１０３：セカンダリポート）、ＣＰＵ（ＦＤＢ制御プログラム）２２０は、待機系ＦＤＢから待機系ＭＡＣアドレス削除４１５のデータ領域４０１に存在するＭＡＣアドレスおよびそのポート番号を削除する（ステップＳ１１０５）。
【０１０１】
その通信装置２００の役割を確認（ステップＳ１１０２）した結果、トランジット装置である場合（ステップＳ１１０２：トランジット）、ＣＰＵ（ＦＤＢ制御プログラム）２２０は、待機系ＦＤＢから待機系ＭＡＣアドレス削除４１５のデータ領域４０１に存在するＭＡＣアドレスを削除する（ステップＳ１１０６）。つぎに、ＣＰＵ（ＦＤＢ制御プログラム）２２０は、待機系ＭＡＣアドレス削除４１５の制御フレーム４０１を受信したポートではないリングポートから、待機系ＭＡＣアドレス削除４１５の制御フレーム４０１を送信する（ステップＳ１１０７）。
【０１０２】
（１−５−５）マスタ装置Ｍａにおける通信経路切り替え処理
図１２は、実施例１にかかる通信経路切替時におけるマスタ装置Ｍａ内のシーケンス図である。図１２は、図７のＳ７０１からＳ７０２における処理の詳細を示す。まず、ＣＰＵ（リング制御プログラム２１１のリング負荷制御プログラム２１２）２２０は、プライマリポート（フォワーディング状態）の切り替えタイミングを決める（ステップＳ１２０１）。ＣＰＵ（ＦＤＢ制御プログラム２１３）２２０は、ＶＬＡＮタグ変換を設定し、運用系ＦＤＢを切り替える（ステップＳ１２０２）。運用系ＦＤＢの切り替え処理の詳細は（１−５−８）で説明する。その後、ＣＰＵ（ＦＤＢ制御プログラム２１３）２２０は、切替指示４１６の制御フレーム４０１を送信する（ステップＳ１２０３）。
【０１０３】
（１−５−６）切替指示４１６の制御フレーム４０１の受信
図１３は、実施例１にかかる切替指示４１６の制御フレーム４０１受信時の通信装置２００内のシーケンス図である。図１３は、図６のＳ７０４からＳ７０５、Ｓ７０７からＳ７０８、Ｓ７１０における処理の詳細を示す。切替指示４１６の制御フレーム４０１を受信すると、転送エンジン２４１は、ＣＰＵ（リング制御プログラム２１１）２２０に切替指示４１６の制御フレーム４０１を転送する（ステップＳ１３０１）。
【０１０４】
ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、その通信装置２００の役割を確認する（ステップＳ１３０２）。その通信装置２００がマスタ装置Ｍａである場合（ステップＳ１３０２：マスタ）、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、切替指示４１６の制御フレーム４０１を廃棄する（ステップＳ１３０３）。
【０１０５】
その通信装置２００がトランジット装置Ｍｂ，Ｍｃである場合（ステップＳ１３０２：トランジット）、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、切替先のＦＤＢを確認する（ステップＳ１３０４）。切替先のＦＤＢが待機系の場合（ステップＳ１３０４：待機系）、ＣＰＵ（ＦＤＢ制御プログラム２１３）２２０は、ＶＬＡＮタグ変換を設定し、運用系ＦＤＢを切替指示４１６の制御フレーム４０１で指示されたＶＬＡＮ  ＩＤのＶＬＡＮに切り替える（ステップＳ１３０５）。
【０１０６】
運用系ＦＤＢの切替処理の詳細は（１−５−８）で説明する。その後、ＣＰＵ（ＦＤＢ制御プログラム２１３）２２０は、切替指示４１６の制御フレーム４０１を受信したポートではないリングポートから切替指示４１６の制御フレーム４０１を送信する（ステップＳ１３０６）。切替先のＦＤＢが運用系の場合（ステップＳ１３０４：運用系）、ＣＰＵ（ＦＤＢ制御プログラム２１３）２２０は、切替指示４１６の制御フレーム４０１を受信したポートではないリングポートから、切替指示４１６の制御フレーム４０１を送信する（ステップＳ１３０７）。
【０１０７】
（１−５−７）ユーザフレームの転送
実施例１の通信装置２００は、２つのデータＶＬＡＮでＦＤＢを二重化するため、リング外ポート２６３〜２６５とリングポート２６１，２６２のＶＬＡＮ  ＩＤが不一致となる場合がある。そのため、ユーザフレームを転送するいくつかのパターンでＶＬＡＮタグの変換が必要になる。ユーザフレーム転送パターンは、下記の８つとなる。
【０１０８】
１．リング外ポート２６３〜２６５とリングポート２６１，２６２でＶＬＡＮ  ＩＤが異なる場合に、通信装置２００は、リング外ポート２６３〜２６５からリングポート２６１，２６２にユーザフレームを転送する。
【０１０９】
２．リング外ポート２６３〜２６５とリングポート２６１，２６２でＶＬＡＮ  ＩＤが異なる場合に、通信装置２００は、リングポート２６１，２６２からリング外ポート２６３〜２６５にユーザフレームを転送する。
【０１１０】
３．リング外ポート２６３〜２６５とリングポート２６１，２６２でＶＬＡＮ  ＩＤが異なる場合に、通信装置２００は、リング外ポート２６３〜２６５からリング外ポート２６３〜２６５にユーザフレームを転送する。
【０１１１】
４．リング外ポート２６３〜２６５とリングポート２６１，２６２でＶＬＡＮ  ＩＤが異なる場合に、通信装置２００は、リングポート２６１，２６２からリングポート２６１，２６２にユーザフレームを転送する。
【０１１２】
５．リング外ポート２６３〜２６５とリングポート２６１，２６２でＶＬＡＮ  ＩＤが同じ場合に、通信装置２００は、リング外ポート２６３〜２６５からリングポート２６１，２６２にユーザフレームを転送する。
【０１１３】
６．リング外ポート２６３〜２６５とリングポート２６１，２６２でＶＬＡＮ  ＩＤが同じ場合に、通信装置２００は、リングポート２６１，２６２からリング外ポート２６３〜２６５にユーザフレームを転送する。
【０１１４】
７．リング外ポート２６３〜２６５とリングポート２６１，２６２でＶＬＡＮ  ＩＤが同じ場合に、通信装置２００は、リング外ポート２６３〜２６５からリング外ポート２６３〜２６５にユーザフレームを転送する。
【０１１５】
８．リング外ポート２６３〜２６５とリングポート２６１，２６２でＶＬＡＮ  ＩＤが同じ場合に、通信装置２００は、リングポート２６１，２６２からリングポート２６１，２６２にユーザフレームを転送する。
【０１１６】
ユーザフレーム転送パターン１〜８のうち、ユーザフレーム転送パターン４〜８についてはフレーム転送時のＶＬＡＮタグ変換は不要であり、一般的なフレーム転送と変わらないため、説明を省く。ユーザフレーム転送パターン１〜３の通信装置２００内シーケンスについて、図１４〜図１６で述べる。
【０１１７】
図１４は、ユーザフレーム転送パターン１における通信装置２００内のシーケンス図である。ここでは、データＶＬＡＮ１に属するリング外ポート２６３〜２６５から、データＶＬＡＮ２に属するリングポート２６１，２６２にユーザフレームを転送する場合について説明する。
【０１１８】
転送エンジン２４１は、リング外ポート２６３〜２６５で受信したユーザフレームのＶＬＡＮタグ４０５を、データＶＬＡＮ１からデータＶＬＡＮ２に変換する（ステップＳ１４０１）。転送エンジン２４１は、変換後のデータＶＬＡＮ２のＦＤＢ２３２を参照し、ユーザフレームの宛先のＭＡＣアドレスとそのリングポート２６１，２６２のポート番号を特定する（ステップＳ１４０２）。これにより、転送エンジン２４１は、データＶＬＡＮ１に属するリング外ポート２６３〜２６５で受信したユーザフレームをデータＶＬＡＮ２に属するリングポート２６１，２６２に転送する。
【０１１９】
図１５は、ユーザフレーム転送パターン２における通信装置２００内のシーケンス図である。ここでは、データＶＬＡＮ２に属するリングポート２６１，２６２からデータＶＬＡＮ１に属するリング外ポート２６３〜２６５に、ユーザフレームを転送する場合について説明する。
【０１２０】
転送エンジン２４１は、リングポート２６１，２６２で受信したユーザフレームを、変換前のデータＶＬＡＮ２のＦＤＢ２３２を参照し、ユーザフレームの宛先のＭＡＣアドレスとそのリング外ポート２６３〜２６５のポート番号を特定する（ステップＳ１５０１）。転送エンジン２４１は、ＶＬＡＮタグ４０５をデータＶＬＡＮ２からデータＶＬＡＮ１に変換して、ＶＬＡＮタグ４０５の変換後のユーザフレームを、リング外ポート２６３〜２６５へ転送する（ステップＳ１５０２）。
【０１２１】
図１６は、ユーザフレーム転送パターン３における通信装置２００内のシーケンス図である。ここでは、データＶＬＡＮ１に属するリング外ポート２６３〜２６５から、データＶＬＡＮ１に属する他のリング外ポート２６３〜２６５にユーザフレームを転送する場合について説明する。
【０１２２】
転送エンジン２４１は、リング外ポート２６３〜２６５で受信したユーザフレームのＶＬＡＮタグ４０５を、データＶＬＡＮ１からデータＶＬＡＮ２に変換する（ステップＳ１６０１）。転送エンジン２４１は、ステップＳ１６０１の変換後のデータＶＬＡＮ２のＦＤＢ２３２を参照し、ユーザフレームの宛先のＭＡＣアドレスとそのリング外ポート２６３〜２６５のポート番号を特定する（ステップＳ１６０２）。再度、転送エンジン２４１は、ＶＬＡＮタグ４０５をデータＶＬＡＮ２からデータＶＬＡＮ１に変換し、ステップＳ１６０２で特定したリング外ポート２６３〜２６５にユーザフレームを転送する（ステップＳ１６０３）。
【０１２３】
（１−５−８）運用系ＦＤＢの切り替え
図１７は、運用系ＦＤＢの切り替え処理の装置内シーケンスである。運用系ＦＤＢの切り替え処理とは、図７のＳ７０１、Ｓ７０４、Ｓ７０７、および、後述する図１８のＳ１８１１における処理である。
【０１２４】
運用系ＦＤＢを切り替える際、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、転送エンジン２４１に対して切り替え後の運用系ＦＤＢのＭＡＣアドレス学習とＭＡＣアドレス保持時間の監視を有効に設定する（ステップＳ１７０１）。つぎに、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、転送エンジン２４１に対して切り替え後の待機系ＦＤＢのＭＡＣアドレス学習とＭＡＣアドレス保持時間の監視を無効に設定する（ステップＳ１７０２）。
【０１２５】
その後、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、切り替え後の運用系ＦＤＢのＶＬＡＮ  ＩＤを確認する（ステップＳ１７０３）。切り替え後の運用系ＦＤＢのＶＬＡＮ  ＩＤがリング外ポート２６３〜２６５のＶＬＡＮ  ＩＤと一致する場合（ステップＳ１７０３：一致）、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、転送エンジン２４１のＶＬＡＮタグ変換機能２４２に対し、リング外ポート２６３〜２６５の受信および送信のＶＬＡＮタグ変換を無効に設定する（ステップＳ１７０４）。
【０１２６】
切り替え後の運用系ＦＤＢのＶＬＡＮ  ＩＤがリング外ポート２６３〜２６５のＶＬＡＮ ＩＤと不一致となる場合（ステップＳ１７０３：不一致）、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、転送エンジン２４１のＶＬＡＮタグ変換機能２４２に対し、リング外ポート２６３〜２６５の受信時のＶＬＡＮタグ変換先のＶＬＡＮ  ＩＤを切り替え後の運用系ＦＤＢのＶＬＡＮ  ＩＤに設定する（ステップＳ１７０５）。
【０１２７】
つぎに、ＣＰＵ（リング制御プログラム２１１のＦＤＢ制御プログラム２１３）２２０は、転送エンジン２４１のＶＬＡＮタグ変換機能２４２に対し、リング外ポート２６３〜２６５の送信のＶＬＡＮタグ変換先のＶＬＡＮ  ＩＤをリング外ポート２６３〜２６５のＶＬＡＮ  ＩＤに設定する（ステップＳ１７０６）。この処理を行った後、切り替え後の待機系ＦＤＢは、運用系であった時のＦＤＢを保持したまま動作を継続する。
【０１２８】
［１］  このように、実施例１にかかる通信装置２００は、記憶部（ＣＡＭ２３０）と、制御部（リング制御プログラム２１１）とを有する。記憶部（ＣＡＭ２３０）は、リングネットワーク内でユーザフレームが送受信される第１仮想ネットワーク（データＶＬＡＮ１）についてＭＡＣアドレスおよびポート番号の組み合わせを登録可能な第１転送先情報（ＦＤＢ２３１）と、リングネットワーク内でユーザフレームが送受信される第２仮想ネットワーク（データＶＬＡＮ２）についてＭＡＣアドレスおよびポート番号の組み合わせを登録可能な第２転送先情報（ＦＤＢ２３２）と、を有する。制御部（リング制御プログラム２１１）は、運用系の仮想ネットワークを第１仮想ネットワーク（データＶＬＡＮ１）から第２仮想ネットワーク（データＶＬＡＮ２）に切り替える場合に、運用系の仮想ネットワークに適用される転送先情報を、第１転送先情報（ＦＤＢ２３１）から前記第２転送先情報（ＦＤＢ２３２）に切り替える。
【０１２９】
これにより、第２転送先情報（ＦＤＢ２３２）は切替前に構築済みであるから、ブロッキングポート変更の際に、通信経路（運用系の仮想ネットワーク）切替時のフラッディングを発生させないようにして、トラフィック量を抑制することができる。
【０１３０】
［２］  上記［１］の通信装置２００において、制御部（リング制御プログラム２１１）は、自装置２００が通信装置群を管理するマスタ装置Ｍａである場合、リングネットワーク内でリングネットワークを制御する制御フレーム４０１が送受信される第３仮想ネットワーク（制御ＶＬＡＮ３）を用いて、転送先情報の切替指示（切替先の仮想ネットワークの識別情報（たとえば、ＶＬＡＮ  ＩＤ））を含む制御フレーム７０３を転送先の他の通信装置（トランジット装置Ｍｂ）に送信する。
【０１３１】
これにより、トランジット装置Ｍｂは、運用系の仮想ネットワークに適用される転送先情報を、第１転送先情報（ＦＤＢ２３１）から前記第２転送先情報（ＦＤＢ２３２）に切り替えることができる。
【０１３２】
［３］  上記［２］の通信装置２００において、制御部（リング制御プログラム２１１）は、運用系の仮想ネットワークにおけるプライマリポートで切替指示を含む制御フレーム７０９を受信した場合に、切替指示を含む制御フレーム７０９を廃棄する。
【０１３３】
これにより、切替指示を含む制御フレーム７０９の無限循環を防止することができる。
【０１３４】
［４］  上記［１］の通信装置２００において、制御部（リング制御プログラム２１１）は、リングネットワーク内でリングネットワークを制御する制御フレーム４０１が送受信される第３仮想ネットワーク（制御ＶＬＡＮ３）を用いて、通信装置群を管理するマスタ装置Ｍａが生成した転送先情報の切替指示を含む制御フレーム（７０３、７０６）を受信した場合、運用系の仮想ネットワークに適用される転送先情報を、第１転送先情報（ＦＤＢ２３１）から第２転送先情報（ＦＤＢ２３２）に切り替えるとともに、前記切替指示を含む制御フレーム（７０３、７０６）を、転送先の他の通信装置（Ｍｂ，Ｍａ）に送信する。
【０１３５】
これにより、リングネットワーク内の各トランジット装置でＦＤＢの切替を実現することができる。
【０１３６】
［５］  上記［１］の通信装置２００は、リング外ポート２６３〜２６５から、送信元ＭＡＣアドレスを含むフレームを受信すると、送信元ＭＡＣアドレスとポート２６３〜２６５のポート番号との組み合わせを第１転送先情報（ＦＤＢ２３１）に登録する学習部（転送エンジン２４１）を有する。制御部（リング制御プログラム２１１）は、学習部（転送エンジン２４１）による学習結果を第２転送先情報（ＦＤＢ２３２）に登録するとともに、リングネットワーク内でリングネットワークを制御する制御フレーム４０１が送受信される第３仮想ネットワーク（制御ＶＬＡＮ３）を用いて、第２転送先情報（ＦＤＢ２３２）への学習結果の追加指示を含む制御フレーム（５０４，５０７，５１０）を、転送先の他の通信装置に送信する。
【０１３７】
これにより、通信経路の切替前に、自装置の第１転送先情報（ＦＤＢ２３１）のＭＡＣアドレスの学習結果を、自装置および他装置の第２転送先情報（ＦＤＢ２３２）に反映することができる。
【０１３８】
［６］  上記［５］の通信装置２００において、制御部（リング制御プログラム２１１）は、自装置２００が通信装置群を管理するマスタ装置Ｍａである場合、追加指示を含む制御フレーム４０１を、運用系の仮想ネットワークのセカンダリポートから他の通信装置に送信する。
【０１３９】
これにより、通信経路切替後に通信可能になるポートを使用してフレーム転送できるＦＤＢを構築することができる。
【０１４０】
［７］  上記［５］の通信装置２００において、制御部（リング制御プログラム２１１）は、自装置２００が通信装置群内のマスタ装置Ｍａに管理されるトランジット装置Ｍｂ，Ｍｃである場合、追加指示を含む制御フレームを受信すると、学習結果を第２転送先情報（ＦＤＢ２３２）に登録する。
【０１４１】
これにより、他の通信装置からの制御フレームを受信した場合でも、第２転送先情報（ＦＤＢ２３２）を学習することができる。
【０１４２】
［８］  上記［７］の通信装置２００において、制御部（リング制御プログラム２１１）は、追加指示を含む制御フレームを、リングネットワーク内の全ポートから送信する。
【０１４３】
これにより、制御フレームを用いて学習対象のＭＡＣアドレスを配布することができる。
【０１４４】
［９］  上記［６］の通信装置２００において、制御部（リング制御プログラム２１１）は、運用系の仮想ネットワークにおけるプライマリポートで追加指示を含む制御フレーム６０８を受信した場合に、追加指示を含む制御フレーム６０８を廃棄する。
【０１４５】
これにより、追加指示を含む制御フレーム６０８の無限循環を防止することができる。
【０１４６】
［１０］  上記［６］の通信装置２００において、制御部（リング制御プログラム２１１）は、運用系の仮想ネットワークにおけるセカンダリポートで追加指示を含む制御フレーム６０８を受信した場合に、第２転送先情報（ＦＤＢ２３２）に学習結果を登録する。
【０１４７】
これにより、追加指示を含む制御フレーム６０８が廃棄されずに、第２転送先情報（ＦＤＢ２３２）を学習することができる。
【０１４８】
［１１］  上記［１］の通信装置２００は、ＭＡＣアドレスの削除指示を受けると、削除指示のＭＡＣアドレスと当該ＭＡＣアドレスに対応するポートのポート番号との組み合わせを第１転送先情報（ＦＤＢ２３１）から削除する学習部（転送エンジン２４１）を有する。制御部（リング制御プログラム２１１）は、学習部（転送エンジン２４１）によって削除された組み合わせを第２転送先情報（ＦＤＢ２３２）から削除するとともに、リングネットワーク内でリングネットワークを制御する制御フレーム４０１が送受信される第３仮想ネットワーク（制御ＶＬＡＮ３）を用いて、第２転送先情報（ＦＤＢ２３２）からの削除された組み合わせの削除指示を含む制御フレーム（５０４，５０７，５１０，６０４，６０５，６０８）を、転送先の他の通信装置に送信する。
【０１４９】
これにより、通信経路の切替前に、自装置の第１転送先情報（ＦＤＢ２３１）のＭＡＣアドレスのクリア結果を、自装置および他装置の第２転送先情報（ＦＤＢ２３２）に反映することができる。
【０１５０】
［１２］  上記［１１］の通信装置２００において、制御部（リング制御プログラム２１１）は、自装置が通信装置群を管理するマスタ装置Ｍａである場合、削除指示を含む制御フレーム４０１を、運用系の仮想ネットワークのセカンダリポートから他の通信装置に送信する。
【０１５１】
これにより、通信経路切替後に通信可能になるポートを使用してフレーム転送できるＦＤＢを構築することができる。
【０１５２】
［１３］  上記［１１］の通信装置２００において、制御部（リング制御プログラム２１１）は、自装置が通信装置群内のマスタ装置Ｍａに管理されるトランジット装置Ｍｂ，Ｍｃである場合、削除指示を含む制御フレーム４０１を受信すると、削除された組み合わせを第２転送先情報（ＦＤＢ２３２）から削除する。
【０１５３】
これにより、他の通信装置からの制御フレームを受信した場合でも、第２転送先情報（ＦＤＢ２３２）を学習することができる。
【０１５４】
［１４］  上記［１３］の通信装置２００において、制御部（リング制御プログラム２１１）は、削除指示を含む制御フレームを、リングネットワーク内の全ポートから送信する。
【０１５５】
これにより、制御フレームを用いて学習対象のＭＡＣアドレスを配布することができる。
【０１５６】
［１５］  上記［１２］の通信装置２００において、制御部（リング制御プログラム２１１）は、運用系の仮想ネットワークにおけるプライマリポートで削除指示を含む制御フレーム５１０を受信した場合に、削除指示を含む制御フレーム５１０を廃棄する。
【０１５７】
これにより、削除指示を含む制御フレーム６０８の無限循環を防止することができる。
【０１５８】
［１６］  上記［１２］の通信装置２００において、制御部（リング制御プログラム２１１）は、運用系の仮想ネットワークにおけるセカンダリポートで削除指示を含む制御フレーム５１０を受信した場合に、学習部によって削除された組み合わせを第２転送先情報（ＦＤＢ２３２）から削除する。
【０１５９】
これにより、削除指示を含む制御フレーム６０８が廃棄されずに、第２転送先情報（ＦＤＢ２３２）を学習することができる。
【実施例２】
【０１６０】
実施例１では、切替指示４１６の制御フレーム４０１を受信した通信装置２００から運用系ＦＤＢを切り替える。このため、マスタ装置Ｍａが通信経路およびＦＤＢを切り替えてからリングネットワークの全通信装置２００のＦＤＢの切り替えが終わるまでの間、フレームロスが発生する。実施例２は、このフレームロスを緩和する。
【０１６１】
実施例１と実施例２の差分は、通信経路切替の方式である。実施例２では、通信装置２００間で時刻が同期され、同一時刻に通信経路および運用系ＦＤＢが切り替えられる。実施例１との差分を中心に実施例２の詳細を述べ、実施例１と同一部分については同一符号を付してその説明を省略する。
【０１６２】
（２−１）リングに属する通信装置の構成
図１８は、実施例２にかかる通信装置２００のモジュール構成例を示すブロック図である。装置管理プログラム２１４は、時刻管理プログラム１８０１を持つ。時刻管理プログラム１８０１は通信装置２００毎の時刻を管理し、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）などで、通信装置２００間の時刻を同期する。リング制御プログラム２１１は、時刻管理プログラム１８０１と連携する。時刻管理プログラム１８０１を除き、通信装置２００のモジュール構成は実施例１と同一である。
【０１６３】
（２−２）制御フレームのフォーマット例
図１９は、実施例２にかかる制御フレーム４０２のフォーマット例を示す説明図である。実施例２の制御フレーム４０２は、種別４０８の切替指示１９０１のデータ領域４１０にＶＬＡＮ  ＩＤおよび切替時刻１９０２が格納される。この１点を除き、制御フレーム４０２は実施例１の制御フレーム４０１と同一である。
【０１６４】
（２−３）全体の処理
待機系ＦＤＢの構築方法は実施例１の（１−４−１）、（１−４−２）で示した構築方法と同じである。実施例１と実施例２の差分は通信経路の切替処理にある。以下、経路切り替え時の、リングネットワーク全体の処理を示す通信装置２００間シーケンスについて詳述する。
【０１６５】
（２−３−１）通信経路の切替
図２０は、実施例２にかかる通信経路切り替え時のリングネットワーク全体の処理を示す通信装置２００間シーケンス図である。一部の経路を流れるトラフィック量がポートの帯域に迫っており、なおかつトラフィックが流れる経路に偏りがある場合、マスタ装置Ｍａはリングの構成変更によるトラフィックの平滑化のため、通信経路切り替えが必要と判断する。その場合、マスタ装置Ｍａは、経路切り替えの時刻を登録し（ステップＳ２００１）、種別４０８の切替指示４１６にデータ領域４１０として切替先のＶＬＡＮ  ＩＤおよび切替時刻が格納された制御フレーム４０２（以下、制御フレーム２００３）をリングポート２６１，２６２から送信する（ステップＳ２００２）。
【０１６６】
制御フレーム２００３を受信したトランジット装置Ｍｂは、経路の切替時刻を登録し（ステップＳ２００４）、その制御フレーム２００３を受信したポートとは別のリングポート２６１，２６２から、制御フレーム２００３（以下、制御フレーム２００６）を送信する（ステップＳ２００５）。
【０１６７】
制御フレーム２００６を受信したトランジット装置Ｍｃは、経路の切替時刻を登録し（ステップＳ２００７）、その制御フレーム２００６を受信したポートとは別のリングポート２６１，２６２から、制御フレーム２００６（以下、制御フレーム２００９）を送信する（ステップＳ２００８）。
【０１６８】
最終的にマスタ装置Ｍａへ制御フレーム２００９が返ってくるが、マスタ装置Ｍａは制御フレーム２００９を廃棄する（ステップＳ２０１０）。このあと、切替時刻が到来すると、リングネットワークを構成する全通信装置Ｍａ、Ｍｂ、Ｍｃは、運用系ＦＤＢを制御フレーム４０２で指示されたＶＬＡＮに切り替える（ステップＳ２０１１）。
【０１６９】
（２−４）通信装置２００内の処理
通信装置２００内のシーケンスを説明する。
【０１７０】
（２−４−１）マスタ装置Ｍａにおける通信経路切り替え処理
図２１は、実施例２にかかる通信経路切り替え時におけるマスタ装置Ｍａ内のシーケンス図である。図２１は、図２０のＳ２００１からＳ２００２、Ｓ２０１１における処理の詳細を示す。まず、ＣＰＵ（リング制御プログラム２１１のリング負荷制御プログラム２１２）２２０がプライマリポートの切り替えタイミングを決定する（ステップＳ２１０１）。
【０１７１】
ＣＰＵ（ＦＤＢ制御プログラム２１３）２２０は、ＣＰＵ（装置管理プログラム２１４の時刻管理プログラム１８０１）２２０に切替時刻を設定する（ステップＳ２１０２）。その後、ＣＰＵ（ＦＤＢ制御プログラム２１３）２２０は、切替指示１９０１の制御フレーム４０２を送信する（ステップＳ２１０３）。
【０１７２】
ＣＰＵ（時刻管理プログラム１８０１）２２０は、ＣＰＵ（ＦＤＢ制御プログラム２１３）２２０に指定された時刻に通知する（ステップＳ２１０４）。通知を受けたＣＰＵ（時刻管理プログラム１８０１）２２０は、ＶＬＡＮタグ変換を設定し、運用系ＦＤＢを切り替える（ステップＳ２１０５）。運用系ＦＤＢの切替処理の詳細は、上記（１−５−８）で説明した通りである。
【０１７３】
（２−４−２）切替指示１９０１の制御フレーム４０２の受信
図２２は、実施例２にかかる切替指示１９０１の制御フレーム４０２の受信時の通信装置２００内シーケンスである。図２２は、図２０のＳ２００４からＳ２００５、Ｓ２００７からＳ２００８、Ｓ２０１０、Ｓ２０１１における処理の詳細を示す。切替指示１９０１の制御フレーム４０２を受信すると、転送エンジン２４１は、ＣＰＵ（リング制御プログラム２１１）２２０に切替指示１９０１の制御フレーム４０２を転送する（ステップＳ２２０１）。
【０１７４】
ＣＰＵ（リング制御プログラム２１１）２２０は、その通信装置２００の役割を確認する（ステップＳ２２０２）。その通信装置２００がマスタ装置Ｍａである場合（ステップＳ２２０２：マスタ）、ＣＰＵ（リング制御プログラム２１１）２２０は、切替指示１９０１の制御フレーム４０２を廃棄する（ステップＳ２２０３）。
【０１７５】
その通信装置２００がトランジット装置である場合（ステップＳ２２０２：トランジット）、ＣＰＵ（リング制御プログラム２１１）２２０は、切替先のＦＤＢを確認する（ステップＳ２２０４）。切替先のＦＤＢが待機系の場合（ステップＳ２２０４：待機系）、ＣＰＵ（リング制御プログラム２１１）２２０は、ＣＰＵ（装置管理プログラム２１４の時刻管理プログラム１８０１）２２０に切替時刻を設定する（ステップＳ２２０５）。
【０１７６】
その後、ＣＰＵ（リング制御プログラム２１１）２２０は、切替指示１９０１の制御フレーム４０２を受信したポートではないリングポート２６１，２６２から、切替指示１９０１の制御フレーム４０２を送信する（ステップＳ２２０６）。
【０１７７】
ＣＰＵ（リング制御プログラム２１１）２２０は、切替先のＦＤＢが運用系の場合（ステップＳ２２０４：運用系）、切替指示１９０１の制御フレーム４０２を受信したポートではないリングポート２６１，２６２から、切替指示１９０１の制御フレーム４０２を送信する（ステップＳ２２０７）。
【０１７８】
ＣＰＵ（時刻管理プログラム）２２０は、ＣＰＵ（リング制御プログラム２１１）２２０に、指定された切替時刻が到来したことを通知する（ステップＳ２２０８）。通知を受けたＣＰＵ（リング制御プログラム２１１）２２０は、ＶＬＡＮタグ変換を設定し、運用系ＦＤＢを、切替指示１９０１の制御フレーム４０２で指示されたＶＬＡＮ  ＩＤのＶＬＡＮに切り替える（ステップＳ２２０９）。運用系ＦＤＢの切替処理の詳細は上記（１−５−８）で説明した通りである。
【０１７９】
［１７］  このように、実施例２にかかる通信装置２００は、上記［１］の通信装置２００において、制御部（リング制御プログラム２１１）は、通信装置群で共通する運用系の仮想ネットワークを第１仮想ネットワーク（データＶＬＡＮ１）から第２仮想ネットワーク（データＶＬＡＮ２）に切り替える切替時刻が到来した場合に、運用系の仮想ネットワークに適用される転送先情報を、第１転送先情報（ＦＤＢ２３１）から前記第２転送先情報（ＦＤＢ２３２）に切り替える。
【０１８０】
これにより、マスタ装置Ｍａが通信経路およびＦＤＢを切り替えてからリングネットワークの全通信装置２００のＦＤＢの切り替えが終わるまでの間に発生するフレームロスを緩和する。
【０１８１】
［１８］  上記［１７］の通信装置２００において、制御部（リング制御プログラム２１１）は、自装置２００が通信装置群を管理するマスタ装置Ｍａである場合、リングネットワーク内でリングネットワークを制御する制御フレーム４０２が送受信される第３仮想ネットワーク（制御ＶＬＡＮ３）を用いて、転送先情報の切替指示および切替時刻を含む制御フレーム２００３を転送先となる他の通信装置（トランジット装置Ｍｂ）に送信する。
【０１８２】
これにより、トランジット装置Ｍｂは、切替時刻が到来すると、運用系の仮想ネットワークに適用される転送先情報を、第１転送先情報（ＦＤＢ２３１）から前記第２転送先情報（ＦＤＢ２３２）に切り替えることができる。
【０１８３】
［１９］  上記［１８］の通信装置２００において、制御部（リング制御プログラム２１１）は、運用系の仮想ネットワークにおけるプライマリポートで切替指示および切替時刻を含む制御フレーム２００９を受信した場合に、切替指示および前記切替時刻を含む制御フレーム２００９を廃棄する。
【０１８４】
これにより、切替指示および前記切替時刻を含む制御フレーム２００９の無限循環を防止することができる。
【０１８５】
［２０］  上記［１７］の通信装置２００において、制御部（リング制御プログラム２１１）は、リングネットワーク内でリングネットワークを制御する制御フレーム４０２が送受信される第３仮想ネットワーク（制御ＶＬＡＮ３）を用いて、通信装置群を管理するマスタ装置Ｍａが生成した転送先情報の切替指示および切替時刻を含む制御フレーム（２００３，２００６）を受信した場合、切替指示および切替時刻を含む制御フレーム（２００６，２００９）を、切替時刻の到来前に、転送先の他の通信装置（Ｍｂ，Ｍａ）に送信する。
【０１８６】
これにより、切替時刻が到来すると、リングネットワーク内の各トランジット装置でＦＤＢの切替を実現することができる。
【符号の説明】
【０１８７】
１００  ネットワークシステム
２００  通信装置
２１１  リング制御プログラム
２１２  リング負荷制御プログラム
２１３  ＦＤＢ制御プログラム
２１４  装置管理プログラム
２３１、２３２  ＦＤＢ
２４１  転送エンジン
２４２  タグ変換機能
２４３  アドレス通知機能
２５１  フレームカプセリング・デカプセリング機能
２６１〜２６５  ポート
４０１，４０２  制御フレーム
４１４  待機系ＭＡＣアドレス追加
４１５  待機系ＭＡＣアドレス削除
４１６，１９０１  切替指示
１８０１  時刻管理プログラム
【図１】
2020141177.tif 000003
【図２】
2020141177.tif 000004
【図３】
2020141177.tif 000005
【図４】
2020141177.tif 000006
【図５】
2020141177.tif 000007
【図６】
2020141177.tif 000008
【図７】
2020141177.tif 000009
【図８】
2020141177.tif 000010
【図９】
2020141177.tif 000011
【図１０】
2020141177.tif 000012
【図１１】
2020141177.tif 000013
【図１２】
2020141177.tif 000014
【図１３】
2020141177.tif 000015
【図１４】
2020141177.tif 000016
【図１５】
2020141177.tif 000017
【図１６】
2020141177.tif 000018
【図１７】
2020141177.tif 000019
【図１８】
2020141177.tif 000020
【図１９】
2020141177.tif 000021
【図２０】
2020141177.tif 000022
【図２１】
2020141177.tif 000023
【図２２】
2020141177.tif 000024