(57)【要約】  通信端末とともに通信ネットワークを形成するレイヤ２スイッチ２０であって、通信端末との間でフレームを送受信する複数の通信ポートと、通信端末から通信ネットワーク内へ定期的に送信される特定のフレームを識別するフレーム識別部２２−１から２２−ｎと、特定のフレームの受信数を監視する監視周期および通信ネットワークにおいてループ経路を検出するための受信閾値を設定する設定部２３１と、通信ポート単位に、受信した特定のフレームの送信元の複数の通信端末を識別し、通信端末毎に監視周期内に受信した特定のフレームの受信数をカウントする監視部２３２と、通信ポート単位に、監視部２３２から通知された特定のフレームの受信数のカウンタ値と受信閾値とを比較してループ経路を検出したか否かを判定し、ループ経路を検出した通信ポートでのフレームの送受信を停止する制御を行う判定部２３３と、を備える。
2017090162.tif 000002
【特許請求の範囲】
【請求項１】
通信端末とともに通信ネットワークを形成する中継装置であって、
前記通信端末との間でフレームを送受信する複数の通信ポートと、
前記通信端末から前記通信ネットワーク内へ定期的に送信される特定のフレームを識別するフレーム識別部と、
前記特定のフレームの受信数を監視する監視周期および前記通信ネットワークにおいてループ経路を検出するための受信閾値を設定する設定部と、
前記通信ポート単位に、受信した前記特定のフレームの送信元の複数の通信端末を識別し、前記通信端末毎に前記監視周期内に受信した前記特定のフレームの受信数をカウントする監視部と、
前記通信ポート単位に、前記監視部から通知された前記特定のフレームの受信数のカウンタ値と前記受信閾値とを比較してループ経路を検出したか否かを判定し、ループ経路を検出した前記通信ポートでの前記フレームの送受信を停止する制御を行う判定部と、
を備えることを特徴とする中継装置。
【請求項２】
前記特定のフレームは、前記通信ネットワークの状態を確認するために前記通信端末から送信される制御フレームである、
ことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記特定のフレームおよび前記特定のフレームの送信元の前記通信端末を識別する情報は、前記フレームに格納されているデータの一部である、
ことを特徴とする請求項１または２に記載の中継装置。
【請求項４】
前記判定部は、前記受信閾値以上のカウンタ値を示す通信ポートが複数存在する場合、該当する複数の通信ポートのうち１つの通信ポートを除いた全ての通信ポートで前記フレームの送受信を停止する制御を行う、
ことを特徴とする請求項１から３のいずれか１つに記載の中継装置。
【請求項５】
前記判定部は、さらに、規定された時間経過後に前記受信閾値以上のカウンタ値を示す通信ポートがある場合、該当する通信ポートで前記フレームの送受信を停止する制御を行う、
ことを特徴とする請求項４に記載の中継装置。
【請求項６】
前記判定部は、前記受信閾値以上のカウンタ値を示す通信ポートを検出した場合、ループ経路を検出したことを示す通知を前記通信ネットワークの管理装置へ送信する、
ことを特徴とする請求項１から５のいずれか１つに記載の中継装置。
【請求項７】
前記通信ネットワークは、ファクトリーオートメーション機器を結ぶ通信ネットワークである、
ことを特徴とする請求項１から６のいずれか１つに記載の中継装置。
【請求項８】
前記通信ネットワークは、ＣＣ−Ｌｉｎｋ  ＩＥネットワークである、
ことを特徴とする請求項１から７のいずれか１つに記載の中継装置。
【請求項９】
請求項１から８のいずれか１つに記載の中継装置と、
複数の通信端末と、
を備えたことを特徴とする通信ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを形成している通信装置の間で送受信されるフレームを中継する中継装置および通信ネットワークに関する。
【背景技術】
【０００２】
近年、産業分野においてイーサネット（登録商標）化が進み、製造現場ではＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）、インバータ、センサなどのＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）機器を結ぶ通信ネットワーク（以下、ＦＡネットワークとする）が構築されている。ＦＡネットワークでは、リアルタイム性が要求されるＦＡ機器間をイーサネットで接続し、制御することが一般的である。イーサネットをベースとしたＦＡネットワークとしては、ＣＣ（Ｃｏｎｔｒｏｌ＆Ｃｏｍｍｕｎｉｃａｔｉｏｎ）−Ｌｉｎｋ  ＩＥ（登録商標）が知られている。【０００３】
ＣＣ−Ｌｉｎｋ  ＩＥでは、制御側の通信装置（以下、マスタとする）と制御対象となる通信装置（以下、スレーブとする）の間をイーサネットで接続し、マルチキャスト通信を用いたトークンパッシング方式にて通信を行う（例えば、特許文献１）。【０００４】
特許文献１に記載の通信システムによれば、マスタは、制御対象であるスレーブに対して、ネットワーク存在確認フレームを定期的にブロードキャストで送信し、スレーブからの応答である存在確認応答フレームに含まれるスレーブの接続情報から新規接続端末の検出とトークン巡回路の設定を行う。【０００５】
マスタは、トークン巡回路を決定した後、スレーブに対してトークンの送信先を通知する。マスタは、トークン巡回路をスレーブに通知後、自装置のデータとトークンをマルチキャストで送信する。マルチキャストで送信されたトークンには、次に送信権が与えられるスレーブのＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスが格納されている。自装置宛のトークンを受信したスレーブは、自装置が送信権を得たことを認識し、必要に応じてデータを送信した後に次のスレーブにトークンをマルチキャストで送信する。ＣＣ−Ｌｉｎｋ  ＩＥでは、マスタがトークンを送信してからマスタが自装置宛のトークンを受け取るまでの時間が予め設定した時間内に収まるように制御する。この一連の処理を繰り返し、マスタとスレーブは周期的な通信であるサイクリック通信をする。【０００６】
また、レイヤ２スイッチなどの中継装置に様々なＦＡ機器を接続して構成されるＦＡネットワークでは、人為的なミスなどで通信経路が誤って接続され、ループ経路が形成される可能性がある。ＦＡネットワークでは、ループ経路が形成され、ストームが発生することでＦＡネットワークの運用に支障をきたす。ストームとは、ブロードキャストフレームまたはマルチキャストフレームの転送、複製処理がループ経路上で無限に繰り返され、ＦＡネットワークの帯域を圧迫することである。ＦＡネットワークでは、高い信頼性が要求されているため、自律的にループ経路を検出して解消する機構が求められる。【０００７】
従来のＣＣ−Ｌｉｎｋ  ＩＥにおいて、ＦＡネットワーク内のループ経路を検出して解消する方法として、中継装置が、マスタから定期的に送信されるネットワーク存在確認フレームを用いて、設定時間内に閾値以上のネットワーク存在確認フレームを受信したポートでループ経路を検出したと判断し、当該ポートを閉塞する方法がある（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第５０８４９１５号公報
【特許文献２】国際公開第２０１５／０７５９５９号
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来のループ経路の検出方法では、マスタが１台で構成されるＣＣ−Ｌｉｎｋ  ＩＥのネットワークの場合には正常にループ経路を検出できる。しかしながら、１つのＣＣ−Ｌｉｎｋ  ＩＥのネットワークに複数のマスタが接続される場合がある。新規に接続されるマスタは、ネットワーク存在確認フレームをバースト的に複数回出力することがある。マスタが複数台接続されるネットワークで新たなマスタが接続された場合、中継装置では、複数のマスタからのネットワーク存在確認フレームの受信数の合計値が閾値以上になると、単一のマスタからのネットワーク存在確認フレームを閾値以上受信していなくても、誤ってループ経路が形成されていると判断し、ポートを閉塞してしまう場合がある、という問題があった。【００１０】
本発明は、上記に鑑みてなされたものであって、マスタが複数台接続されたネットワークにおいて、簡単な構成で容易にループ経路を検出するとともに、自律的にループ経路を解消する中継装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明の中継装置は、通信端末との間でフレームを送受信する複数の通信ポートと、通信端末から通信ネットワーク内へ定期的に送信される特定のフレームを識別するフレーム識別部を備える。また、中継装置は、特定のフレームの受信数を監視する監視周期および通信ネットワークにおいてループ経路を検出するための受信閾値を設定する設定部と、通信ポート単位に、受信した特定のフレームの送信元の複数の通信端末を識別し、通信端末毎に監視周期内に受信した特定のフレームの受信数をカウントする監視部と、通信ポート単位に、監視部から通知された特定のフレームの受信数のカウンタ値と受信閾値とを比較してループ経路を検出したか否かを判定し、ループ経路を検出した通信ポートでのフレームの送受信を停止する制御を行う判定部と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明にかかる中継装置は、マスタが複数台接続されたネットワークにおいて、簡単な構成で容易にループ経路を検出するとともに、自律的にループ経路を解消することができる、という効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１にかかる通信ネットワークとしてのＣＣ−Ｌｉｎｋ  ＩＥネットワークの一例を示す図
【図２】実施の形態１にかかるマスタである通信端末から送信されるＴｅｓｔＤａｔａフレームの構成例を示す図
【図３】実施の形態１にかかるレイヤ２スイッチの構成例を示すブロック図
【図４】実施の形態１にかかるレイヤ２スイッチの延伸先にループ経路が形成された場合の通信ネットワークの一例を示す図
【図５】実施の形態１にかかるレイヤ２スイッチのループ経路を検出する動作を示すフローチャート
【図６】実施の形態１にかかるレイヤ２スイッチの処理回路を専用のハードウェアで構成する場合の例を示す図
【図７】実施の形態１にかかるレイヤ２スイッチの処理回路をＣＰＵおよびメモリで構成する場合の例を示す図
【図８】実施の形態２にかかるレイヤ２スイッチに１つのマスタが接続されており、新たに２つ目のマスタが接続された場合の通信ネットワークの一例を示す図
【図９】実施の形態３にかかるレイヤ２スイッチの通信ポート間でループ経路が形成された場合の通信ネットワークの一例を示す図
【図１０】実施の形態３にかかるレイヤ２スイッチの延伸先にループ経路が複数存在する場合の通信ネットワークの一例を示す図
【図１１】実施の形態３にかかるレイヤ２スイッチにおいて複数の通信ポートでループ経路を検出した場合の動作を示すフローチャート
【図１２】実施の形態４にかかるＣＣ−Ｌｉｎｋ  ＩＥネットワーク上の警報情報を管理するネットワーク管理装置を含む通信ネットワークの構成例を示す図
【図１３】実施の形態４にかかるレイヤ２スイッチのループ経路を検出してネットワーク管理装置へ通知する動作を示すフローチャート
【発明を実施するための形態】
【００１４】
以下に、本発明の実施の形態にかかる中継装置および通信ネットワークを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１５】
実施の形態１．
図１は、本発明の実施の形態１にかかる通信ネットワーク１００としてのＣＣ−Ｌｉｎｋ  ＩＥネットワークの一例を示す図である。ＣＣ−Ｌｉｎｋ  ＩＥネットワークでは、複数の通信端末がイーサネットによってライン状又はスター状に接続された同一セグメントのネットワークによって構成される。
【００１６】
通信ネットワーク１００は、マスタとして動作する通信端末１０Ｘ，１０Ｙと、スレーブとして動作する複数の通信端末１０Ａ，１０Ｂ，１０Ｃ，１０Ｄと、中継装置であるレイヤ２スイッチ２０とを含んで構成されている。以降、通信端末１０Ｘ，１０Ｙ，１０Ａから１０Ｄを区別しない場合は、通信端末１０と称することがある。通信端末１０は、２つの通信ポートを有し、通信端末１０の通信ポートは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ケーブルを介して他の通信端末１０の通信ポートまたはレイヤ２スイッチ２０の通信ポートと接続される。通信端末１０は、ＦＡ機器に接続されるか、ＦＡ機器に内蔵され、ＦＡ機器の制御情報またはデータを他の通信端末１０との間で送受信する。通信ネットワーク１００は、ＦＡ機器を結ぶ通信ネットワークである。
【００１７】
通信ネットワーク１００においては、通信端末１０Ｘの第１の通信ポートであるＰｏｒｔ＿Ｘ１と通信端末１０Ａの第２の通信ポートであるＰｏｒｔ＿Ａ２とが接続され、通信端末１０Ｘの第２の通信ポートであるＰｏｒｔ＿Ｘ２と通信端末１０Ｂの第１の通信ポートであるＰｏｒｔ＿Ｂ１とが接続されている。通信端末１０Ｂの第２の通信ポートであるＰｏｒｔ＿Ｂ２はレイヤ２スイッチ２０の通信ポート２０−１に接続されている。通信端末１０Ｃの第１の通信ポートであるＰｏｒｔ＿Ｃ１はレイヤ２スイッチ２０の通信ポート２０−２に接続されている。通信端末１０Ｄの第１の通信ポートであるＰｏｒｔ＿Ｄ１はレイヤ２スイッチ２０の通信ポート２０−３に接続されている。また、通信端末１０Ｙの第１の通信ポートであるＰｏｒｔ＿Ｙ１は新規にレイヤ２スイッチ２０の通信ポート２０−ｎに接続されることとする。
【００１８】
本実施の形態の通信ネットワーク１００においては、ＣＣ−Ｌｉｎｋ  ＩＥのマスタである通信端末１０Ｘ，１０Ｙから定期的に送信されている制御フレームであるネットワーク存在確認フレーム（以下、ＴｅｓｔＤａｔａフレームとする）の流量を監視し、監視周期内でのＴｅｓｔＤａｔａフレームの受信数が受信閾値を超過した場合にループ経路が形成されていると判定する機構をレイヤ２スイッチ２０などの中継装置に具備する。ここで、ＴｅｓｔＤａｔａフレームとは、トークン巡回路に登録されていない新規端末を検出するため、すなわち、通信ネットワーク１００の状態を確認するためにマスタである通信端末１０Ｘ，１０Ｙから定期的に送信される制御フレームである。
【００１９】
図２は、実施の形態１にかかるマスタである通信端末１０Ｘ，１０Ｙから送信されるＴｅｓｔＤａｔａフレーム２００の構成例を示す図である。図２に示すＴｅｓｔＤａｔａフレーム２００は、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）８０２．３によるイーサネットの規格に基づく構成である。ＴｅｓｔＤａｔａフレーム２００は、フレームの宛先ＭＡＣアドレスであるＤＡ（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）２０１、フレームの送信元ＭＡＣアドレスであるＳＡ（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）２０２、イーサネットタイプを示すｔｙｐｅ２０３、送信するデータのサイズによって長さが可変のデータ２０４、およびエラー検出用のＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）２０７から構成される。データ２０４には、フレームの種別を識別するための識別情報であるフレーム識別情報２０５、およびＴｅｓｔＤａｔａフレームを送信したマスタのＭＡＣアドレス情報２０６が含まれる。本実施の形態では、ＴｅｓｔＤａｔａフレーム２００のフレーム識別情報２０５にはＴｅｓｔＤａｔａを示すフレーム識別情報が格納され、マスタのＭＡＣアドレス情報２０６にはマスタである通信端末１０Ｘまたは通信端末１０ＹのＭＡＣアドレスが格納される。レイヤ２スイッチ２０では、ＴｅｓｔＤａｔａフレーム２００のデータ２０４に含まれるデータの一部であるフレーム識別情報２０５およびマスタのＭＡＣアドレス情報２０６を確認することにより、ＴｅｓｔＤａｔａフレームを識別し、ＴｅｓｔＤａｔａフレームの送信元のマスタを識別することができる。
【００２０】
図３は、実施の形態１にかかるレイヤ２スイッチ２０の構成例を示すブロック図である。レイヤ２スイッチ２０は、通信ポート受信部２１−１から２１−ｎと、フレーム識別部２２−１から２２−ｎと、ループ検出部２３と、フレーム中継部２４と、通信ポート送信部２５−１から２５−ｎと、を備えている。以降の説明において個々の構成を区別する必要のない場合、通信ポート受信部２１−１から２１−ｎを通信ポート受信部２１、フレーム識別部２２−１から２２−ｎをフレーム識別部２２、通信ポート送信部２５−１から２５−ｎを通信ポート送信部２５と称することがある。図３に示すループ検出通知フレームについては、後述する実施の形態４において説明する。
【００２１】
なお、図３において、通信ポート受信部２１−１および通信ポート送信部２５−１により、図１に示す通信ポート２０−１を構成しているものとする。同様に、通信ポート受信部２１−２および通信ポート送信部２５−２で通信ポート２０−２を構成し、通信ポート受信部２１−ｎおよび通信ポート送信部２５−ｎで通信ポート２０−ｎを構成する。通信ポート受信部２１−１から２１−ｎおよび通信ポート送信部２５−１から２５−ｎの末尾の番号は、通信ポート２０−１から２０−ｎの末尾の番号に対応するものとする。レイヤ２スイッチ２０は、通信端末１０との間でフレームを送受信する複数の通信ポート２０−１から２０−ｎを備えている。
【００２２】
通信ポート受信部２１−１から２１−ｎは、通信端末１０から送信されたフレームを受信する。
【００２３】
フレーム識別部２２−１から２２−ｎは、対応する通信ポート受信部２１−１から２１−ｎで受信されたフレームの種別を識別し、受信されたフレームが特定のフレームか否かを識別する。本実施の形態において、特定のフレームとはＴｅｓｔＤａｔａフレームである。具体的に、フレーム識別部２２−１から２２−ｎは、受信されたフレームがマスタである通信端末１０から定期的に送信されるＴｅｓｔＤａｔａフレームか否かを判別する。フレーム識別部２２−１から２２−ｎは、受信されたフレームからフレーム識別情報を抽出し、フレーム識別情報を確認してフレームの種別がＴｅｓｔＤａｔａフレームであると判別した場合、ＴｅｓｔＤａｔａフレームを受信した通信ポートを識別する情報、およびＴｅｓｔＤａｔａフレームから抽出したマスタのＭＡＣアドレス情報２０６であるマスタを識別する情報をループ検出部２３へ通知する。通信ポートを識別する情報とは、通信ポート２０−１から２０−ｎのいずれかを識別する情報である。
【００２４】
ループ検出部２３は、各通信ポート２０−１から２０−ｎの通信ポート受信部２１−１から２１−ｎで受信されたＴｅｓｔＤａｔａフレームの受信数を送信元のマスタ毎に管理し、ループ経路が形成されているか否かを判定する。ループ検出部２３は、設定部２３１と、監視部２３２と、判定部２３３と、を備えている。
【００２５】
設定部２３１は、レイヤ２スイッチ２０において、特定のフレームであるＴｅｓｔＤａｔａフレームの受信数を監視する監視周期、および特定のフレームの受信数に対する受信閾値の設定を、通信ネットワーク１００のネットワーク管理者などから受け付ける。また、受信閾値とは、ループ経路が形成されているか否かを判定するため、すなわちループ経路を検出するための閾値である。設定部２３１は、通信ネットワーク１００のネットワーク管理者などから受け付けた監視周期および受信閾値について、監視周期を監視部２３２に設定し、受信閾値を判定部２３３に設定する。
【００２６】
監視部２３２は、ＴｅｓｔＤａｔａフレームの受信頻度、すなわち設定された監視周期内でのＴｅｓｔＤａｔａフレームの受信数を通信ポート毎、および送信元のマスタ毎に監視する。監視部２３２は、図３に示すように、通信ポート毎に、複数のマスタ毎に監視周期を計測する複数のタイマ、および複数のマスタ毎にＴｅｓｔＤａｔａフレームの受信数を計測する複数のカウンタを備えている。監視部２３２は、同一通信ポートにおいて同一のマスタから監視周期内にＴｅｓｔＤａｔａフレームを複数回受信した場合、受信数を示すカウンタの値を受信の都度１だけ加算する。監視部２３２は、監視周期が満了した場合、対応するタイマの動作を停止し、対応するカウンタの値をリセット、すなわち０に戻す。監視部２３２は、各カウンタの値を、判定部２３３へ通知する。監視部２３２から判定部２３３へカウンタ値を通知するタイミングは、各カウンタで共通のタイミングでもよいし、各カウンタにおいてカウンタの値が変更されたタイミングでもよいし、特に限定されない。
【００２７】
判定部２３３は、監視部２３２から通知された各通信ポートにおける各マスタに対応した各カウンタのカウンタ値と、設定部２３１によって設定された受信閾値とを比較する。判定部２３３は、受信閾値以上のカウンタ値があった場合、受信閾値以上のカウンタ値を通知したカウンタに対応する通信ポートにおいてループ経路が形成されている、すなわちループ経路を検出したと判定する。判定部２３３は、通信ポート単位でループ経路を検出したか否かを判定する。判定部２３３は、ループ経路を検出した場合、全ての通信ポート２０−１から２０−ｎのフレーム識別部２２−１から２２−ｎに対して、ループ経路が検出された通信ポートの閉塞、すなわちループ経路が検出された通信ポートでのフレームの送受信の停止を指示する。
【００２８】
ループ検出部２３の判定部２３３からループ経路が検出された通信ポートに対する閉塞指示があった場合、フレーム識別部２２−１から２２−ｎは、該当する通信ポートからの入力フレームおよび該当する通信ポートへの出力フレームを廃棄し、廃棄対象以外の通信ポートについてのフレームをフレーム中継部２４へ出力する。なお、フレーム識別部２２−１から２２−ｎは、フレームを廃棄せずに廃棄対象のフレームであることがわかる情報、または転送可能な通信ポートの情報などをフレームに付与してフレーム中継部２４へ出力してもよい。
【００２９】
フレーム中継部２４は、ＭＡＣアドレスと通信ポートとの対応関係を示したテーブルであるＭＡＣアドレステーブルを管理している。フレーム中継部２４は、各通信ポート２０−１から２０−ｎにおいて受信されたフレームをフレーム識別部２２−１から２２−ｎ経由で受け取ると、ＭＡＣアドレステーブルを参照し、各フレームの宛先のＭＡＣアドレスと対応付けられている通信ポートの通信ポート送信部２５へフレームを出力する。フレーム中継部２４は、フレームの送信先を制御する。フレーム中継部２４は、ＴｅｓｔＤａｔａフレームなどのブロードキャストされたフレームを受け取った場合、ループ検出部２３の判定部２３３からの閉塞指示がなければ、受け取ったフレームを受信した通信ポートを除く同一ネットワークに属する全ての通信ポートへ出力することになる。また、フレーム中継部２４は、フレーム識別部２２−１から２２−ｎにおいてフレームに廃棄対象であることがわかる情報が付与されていた場合、該当するフレームを廃棄する。または、フレーム中継部２４は、フレーム識別部２２−１から２２−ｎにおいてフレームに転送可能な通信ポートの情報が付与されていた場合、フレーム識別部２２−１から２２−ｎ経由で受け取ったフレームを転送可能な通信ポートに対応する通信ポート送信部２５へ出力する。
【００３０】
通信ポート送信部２５−１から２５−ｎは、フレーム中継部２４から入力されたフレームを各通信ポートに接続されている通信端末１０へ送信する。
【００３１】
つづいて、通信ネットワークにおけるレイヤ２スイッチ２０のループ経路を検出する動作について説明する。一例として、図４に示した構成の通信ネットワーク１００ａにおける動作を説明する。図４は、実施の形態１にかかるレイヤ２スイッチ２０の延伸先にループ経路が形成された場合の通信ネットワーク１００ａの一例を示す図である。通信ネットワーク１００ａは、マスタである通信端末１０Ｘ，１０Ｙとスレーブである通信端末１０Ａとが、レイヤ２スイッチ２０およびハブ３０を介して接続された構成となっている。レイヤ２スイッチ２０の通信ポート２０−１にハブ３０が接続され、ハブ３０と通信端末１０Ａとの間でループ経路が形成されているものとする。なお、ハブ３０は、フレームを受信すると、受信した通信ポート以外の全通信ポートに対してフレームを転送する。
【００３２】
通信ネットワーク１００ａの場合、通信端末１０Ｘ，１０Ｙが送信したＴｅｓｔＤａｔａフレームは、ループ経路上で転送と複製とが繰り返される。その結果、レイヤ２スイッチ２０の通信ポート２０−１では、監視周期内でのＴｅｓｔＤａｔａフレームの受信数が受信閾値を超過することになり、ループ検出部２３はループ経路の存在を検出する。ループ検出部２３は、ループ経路を検出すると、ループ経路を検出した通信ポート２０−１においてフレームの送受信を行わないよう、フレーム識別部２２−１から２２−ｎに対して検出した通信ポート２０−１の閉塞を指示する。
【００３３】
レイヤ２スイッチ２０では、閉塞指示を受けたフレーム識別部２２−１から２２−ｎの制御により、通信ポート２０−１でのフレームの送受信動作を停止する。これにより、通信ネットワーク１００ａでは、ループ経路がＣＣ−Ｌｉｎｋ  ＩＥネットワークから切り離される。
【００３４】
レイヤ２スイッチ２０においてループ経路を検出する動作を、フローチャートを用いて説明する。図５は、実施の形態１にかかるレイヤ２スイッチ２０のループ経路を検出する動作を示すフローチャートである。
【００３５】
まず、レイヤ２スイッチ２０では、ループ検出部２３の設定部２３１において、ネットワーク管理者などから監視周期および受信閾値の設定を受け付け、監視部２３２に監視周期を設定し、判定部２３３に受信閾値を設定する（ステップＳ１１）。
【００３６】
フレーム識別部２２−１から２２−ｎは、通信ポート受信部２１−１から２１−ｎで受信されたフレームを識別し、ループ経路の検出対象のフレーム、すなわちＴｅｓｔＤａｔａフレームを受信したか否かを確認する（ステップＳ１２）。
【００３７】
ループ経路の検出対象のフレーム、すなわちＴｅｓｔＤａｔａフレームを受信していない場合（ステップＳ１２：Ｎｏ）、フレーム識別部２２−１から２２−ｎは、ループ経路の検出対象のフレーム、すなわちＴｅｓｔＤａｔａフレームを受信したか否かの確認を継続する。
【００３８】
ループ経路の検出対象のフレーム、すなわちＴｅｓｔＤａｔａフレームを受信した場合（ステップＳ１２：Ｙｅｓ）、フレーム識別部２２−１から２２−ｎは、ＴｅｓｔＤａｔａフレームを受信した通信ポートを識別する情報、およびＴｅｓｔＤａｔａフレームから抽出したマスタのＭＡＣアドレス情報２０６であるマスタを識別する情報をループ検出部２３へ通知する。
【００３９】
ループ検出部２３の監視部２３２は、通信ポート毎に、同一のマスタから監視周期内に、ループ経路の検出対象のフレーム、すなわちＴｅｓｔＤａｔａフレームを既に受信しているか否かを確認する（ステップＳ１３）。
【００４０】
同一のマスタから監視周期内に、ループ経路の検出対象のフレーム、すなわちＴｅｓｔＤａｔａフレームを受信していない場合（ステップＳ１３：Ｎｏ）、監視部２３２は、新規にマスタ識別情報に対応したカウンタおよびタイマを保持する（ステップＳ１４）。監視部２３２は、具体的に、図３に示すタイマｎ１およびカウンタｎ１、またはタイマｎｐおよびカウンタｎｐなどの組み合わせを保持する。
【００４１】
監視部２３２は、保持したマスタに対応したカウンタを１にし（ステップＳ１５）、監視周期を計測するためのタイマの動作を開始する（ステップＳ１６）。なお、監視部２３２は、前述のように、監視周期が満了した場合、対応するタイマの動作を停止し、対応するカウンタの値をリセットすなわち０に戻す。
【００４２】
レイヤ２スイッチ２０では、ステップＳ１２に戻って前述の処理を繰り返し実行する。レイヤ２スイッチ２０において、同一のマスタから監視周期内に、ループ経路の検出対象のフレーム、すなわちＴｅｓｔＤａｔａフレームを既に受信していた場合（ステップＳ１３：Ｙｅｓ）、監視部２３２は、対象のマスタに対応したカウンタを１加算する（ステップＳ１７）。監視部２３２は、カウンタにおいてカウントされたＴｅｓｔＤａｔａフレームの受信数であるカウンタ値の情報を判定部２３３へ通知する。
【００４３】
判定部２３３は、監視部２３２から通知されたカウンタ値と、設定部２３１から設定された受信閾値とを比較する（ステップＳ１８）。
【００４４】
カウンタ値が受信閾値未満の場合（ステップＳ１８：Ｎｏ）、レイヤ２スイッチ２０では、ステップＳ１２に戻って前述の処理を繰り返し実行する。
【００４５】
カウンタ値が受信閾値以上の場合（ステップＳ１８：Ｙｅｓ）、判定部２３３は、対象の通信ポートでループを検出したと判定し、対象の通信ポートでのフレームの送受信を停止する制御を行う（ステップＳ１９）。判定部２３３は、具体的には前述のように、全ての通信ポート２０−１から２０−ｎのフレーム識別部２２−１から２２−ｎに対して、ループ経路が検出された通信ポートの閉塞を指示する。
【００４６】
なお、図３に示すレイヤ２スイッチ２０においてはループ検出部２３およびフレーム中継部２４を別構成としたが、ループ検出部２３の機能をフレーム中継部２４が有する、すなわち、フレーム中継部２４がループ検出を行う構成としてもよい。
【００４７】
また、ループ検出部２３では、判定部２３３が、ループ経路の検出、およびループを検出した通信ポートでのフレームの送受信を停止する制御を行っていたが、ループ経路を検出する構成と、ループを検出した通信ポートでのフレームの送受信を停止する制御を行う構成を別々にしてもよい。
【００４８】
また、ループ検出部２３は、送信元の通信端末１０Ｘ，１０Ｙ毎に監視周期内でのＴｅｓｔＤａｔａフレームの受信数であるカウンタ値と受信閾値との比較結果に基づいてループ経路の有無を判定することとしたが、各通信ポートにおける送信元の通信端末１０Ｘ，１０Ｙ各々のＴｅｓｔＤａｔａフレームの受信数同士を比較することにより判定することも可能である。すなわち、ループ検出部２３は、ＴｅｓｔＤａｔａフレームの受信数のばらつきが大きい場合、送信元の通信端末単位にフレームの受信数が最も多い通信ポートについて、ループ経路が形成されていることが原因と判断することができる。ループ検出部２３は、例えば、通信ポート２０−１から２０−３がある場合に、通信ポート２０−２でのＴｅｓｔＤａｔａフレームの受信数が通信ポート２０−１および通信ポート２０−３での受信数よりも多い場合、ループ経路が形成されていると判定し、通信ポート２０−２を閉塞するようにしてもよい。
【００４９】
また、ループ検出部２３は、ＴｅｓｔＤａｔａフレームを利用してループ経路が形成されているか否かを判定することとしたが、同様の制御フレーム、例えば、マスタの通信端末１０Ｘ，１０Ｙから定期的にブロードキャストされるフレームがある場合、定期的にブロードキャストされるフレームを利用してループ経路が形成されているか否かを判定してもよい。
【００５０】
また、通信ネットワーク１００，１１０ａがＣＣ−Ｌｉｎｋ  ＩＥネットワークの場合について説明したが、制御フレームを定期的にブロードキャストする通信端末を含んで形成されている通信ネットワークであれば、中継装置であるレイヤ２スイッチ２０を適用可能である。すなわち、中継装置であるレイヤ２スイッチ２０のループ検出部２３は、ブロードキャストされる制御フレームの受信状態、すなわち受信数を監視することにより、ループ経路を検出することが可能である。
【００５１】
つづいて、レイヤ２スイッチ２０のハードウェア構成について説明する。レイヤ２スイッチ２０において、通信ポート受信部２１−１から２１−ｎおよび通信ポート送信部２５−１から２５−ｎ、すなわち通信ポート２０−１から２０−ｎは、イーサネットのフレームを送受信するインタフェース回路により実現される。フレーム識別部２２−１から２２−ｎ、ループ検出部２３、およびフレーム中継部２４は、処理回路により実現される。すなわち、レイヤ２スイッチ２０は、受信されたフレームの種別を識別し、ループ経路が形成されているか否かを判定し、フレームの送信先を制御するための処理回路を備える。処理回路は、専用のハードウェアであってもよいし、メモリに格納されるプログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）およびメモリであってもよい。
【００５２】
図６は、実施の形態１にかかるレイヤ２スイッチ２０の処理回路を専用のハードウェアで構成する場合の例を示す図である。処理回路が専用のハードウェアである場合、図６に示す処理回路９１は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはこれらを組み合わせたものが該当する。フレーム識別部２２−１から２２−ｎ、ループ検出部２３、およびフレーム中継部２４の各部の機能各々を処理回路９１で実現してもよいし、各部の機能をまとめて処理回路９１で実現してもよい。
【００５３】
図７は、実施の形態１にかかるレイヤ２スイッチ２０の処理回路をＣＰＵおよびメモリで構成する場合の例を示す図である。処理回路がＣＰＵ９２およびメモリ９３で構成される場合、フレーム識別部２２−１から２２−ｎ、ループ検出部２３、およびフレーム中継部２４の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ９３に格納される。処理回路では、メモリ９３に記憶されたプログラムをＣＰＵ９２が読み出して実行することにより、各部の機能を実現する。すなわち、レイヤ２スイッチ２０は、処理回路により実行されるときに、受信されたフレームの種別を識別するステップ、ループ経路が形成されているか否かを判定するステップ、フレームの送信先を制御するステップが結果的に実行されることになるプログラムを格納するためのメモリ９３を備える。また、これらのプログラムは、フレーム識別部２２−１から２２−ｎ、ループ検出部２３、およびフレーム中継部２４の手順および方法をコンピュータに実行させるものであるともいえる。ここで、ＣＰＵ９２は、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、またはＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などであってもよい。また、メモリ９３とは、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などが該当する。
【００５４】
なお、フレーム識別部２２−１から２２−ｎ、ループ検出部２３、およびフレーム中継部２４の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。例えば、フレーム識別部２２−１から２２−ｎについては専用のハードウェアとしての処理回路９１でその機能を実現し、ループ検出部２３およびフレーム中継部２４についてはＣＰＵ９２がメモリ９３に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
【００５５】
このように、処理回路は、専用のハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
【００５６】
以上説明したように、本実施の形態によれば、レイヤ２スイッチ２０は、通信ネットワーク１００，１００ａ内のマスタの通信端末１０Ｘ，１０Ｙから定期的にブロードキャストされる制御フレームの監視周期内での受信数と、受信閾値とを比較した結果に基づいて、ループ経路の有無を判定し、ループ経路を検出した場合はループ経路を検出した通信ポートを閉塞することとした。これにより、レイヤ２スイッチ２０では、ＣＣ−Ｌｉｎｋ  ＩＥネットワークにおいてループ経路を容易に検出できるとともに、自律的にループ経路を解消することができる。
【００５７】
実施の形態２．
実施の形態１では、レイヤ２スイッチ２０のループ経路の検出およびループ経路の解消の動作について説明した。本実施の形態では、新たにネットワークにマスタが接続された場合に、誤ってループ経路を検出しないレイヤ２スイッチの動作について説明する。
【００５８】
一例として、図８に示した構成の通信ネットワーク１００ｂにおける動作について説明する。図８は、実施の形態２にかかるレイヤ２スイッチ２０Ａに１つのマスタが接続されており、新たに２つ目のマスタが接続された場合の通信ネットワーク１００ｂの一例を示す図である。通信ネットワーク１００ｂは、マスタである通信端末１０Ｘとスレーブである通信端末１０Ａ，１０Ｂとが、レイヤ２スイッチ２０Ａを介して接続された構成となっている。また、レイヤ２スイッチ２０Ａには、レイヤ２スイッチ２０Ｂを介して、通信端末１０Ｃ，１０Ｄが接続されている構成とする。なお、レイヤ２スイッチ２０Ａ，２０Ｂの構成は、実施の形態１のレイヤ２スイッチ２０と同様とする（図３参照）。
【００５９】
通信ネットワーク１００ｂの場合、マスタの通信端末１０Ｘが送信したＴｅｓｔＤａｔａフレームは、ループ経路がないため、レイヤ２スイッチ２０Ａを介して正常に通信端末１０Ａ，１０Ｂに転送され、レイヤ２スイッチ２０Ａ，２０Ｂを介して正常に通信端末１０Ｃ，１０Ｄに転送される。レイヤ２スイッチ２０Ａ，２０Ｂでは、通信ネットワーク１００ｂの制御周期より短い監視周期内においてＴｅｓｔＤａｔａフレームの受信数が受信閾値を超過することはない。
【００６０】
ここで、新規にマスタ機能を持つ通信端末１０Ｙがレイヤ２スイッチ２０Ａに接続された場合、通信端末１０Ｙは、ＴｅｓｔＤａｔａフレームをＭ回連続して送信することで新たにマスタが接続されたことを通信ネットワーク１００ｂ内に通知する。この場合、レイヤ２スイッチ２０Ａの通信ポート２０Ａ−１におけるＴｅｓｔＤａｔａフレームの監視周期内での受信数は１回、通信ポート２０Ａ−２におけるＴｅｓｔＤａｔａフレームの監視周期内での受信数はＭ回となる。また、レイヤ２スイッチ２０Ｂの通信ポート２０Ｂ−１におけるにＴｅｓｔＤａｔａフレームの監視周期内での受信数は、通信端末１０Ｘから受信した回数は１回、通信端末１０Ｙから受信した回数はＭ回となる。このため、レイヤ２スイッチ２０Ｂでは、ネットワーク管理者などが設定部２３１において受信閾値を（Ｍ＋１）回と設定することで、正常にループ経路を検出できることになる。
【００６１】
仮に、レイヤ２スイッチ２０Ｂの構成が図３に示す構成ではなく、送信元のマスタを識別しないでＴｅｓｔＤａｔａフレームの受信数のみでループ経路を検出する構成であった場合を想定する。受信閾値を（Ｍ＋１）回に設定すると、レイヤ２スイッチ２０Ｂでは、通信ポート２０Ｂ−１で（Ｍ＋１）回ＴｅｓｔＤａｔａフレームを受信したことから、ループ経路を検出したと判定し、通信ポート２０Ｂ−１を閉塞する。そのため、通信端末１０Ｃ，１０Ｄでは、通信端末１０Ｘ，１０Ａ，１０Ｂとはネットワークが分断されて通信できなくなってしまう。このような事態を回避するため、レイヤ２スイッチ２０Ｂでは、受信閾値を（Ｍ＋２）回以上に設定する必要があり、この結果、ループ経路の検出が遅れることになる。また、レイヤ２スイッチ２０Ｂでは、同様に送信元のマスタを識別しない構成の場合、同時に複数台、例えばＮ台のマスタの通信端末が新規に接続された際にループ経路を誤検出しないため、受信閾値を（Ｍ×Ｎ＋２）回以上に設定する必要がある。この場合、レイヤ２スイッチ２０Ｂでは、ループ経路の検出がさらに遅れることになる。
【００６２】
一方、図３に示す構成と同様のレイヤ２スイッチ２０Ｂでは、送信元のマスタ毎にＴｅｓｔＤａｔａフレームの受信閾値を（Ｍ＋１）回に設定することで、ループ経路の検出が遅れることなく、早く正確にループ経路を検出できることになる。
【００６３】
なお、本実施の形態では、通信ネットワーク１００ｂがＣＣ−Ｌｉｎｋ  ＩＥネットワークの場合を想定して説明したが、制御フレームを定期的にブロードキャストする通信端末を含んで形成されている通信ネットワークであれば、ＣＣ−Ｌｉｎｋ  ＩＥネットワーク以外の通信ネットワークにもレイヤ２スイッチ２０を適用可能である。
【００６４】
以上説明したように、本実施の形態によれば、複数のマスタが接続される通信ネットワーク１００ｂにおいて、レイヤ２スイッチ２０Ｂでは、受信閾値を、新規にマスタ機能を持つ通信端末１０が通信ネットワーク１００ｂに接続された際に新規にマスタ機能を持つ通信端末１０がＴｅｓｔＤａｔａフレームを連続して送信する回数のＭ回よりも１多い（Ｍ＋１）回にする。これにより、レイヤ２スイッチ２０Ｂでは、２以上のマスタ機能を持つ通信端末１０が通信ネットワーク１００ｂに接続された場合でも、早く正確にループ経路を検出することができる。
【００６５】
実施の形態３．
実施の形態１では、ループ経路の検出条件、すなわちカウンタ値≧受信閾値を満たした通信ポートが１つの場合のレイヤ２スイッチ２０の動作について説明した。本実施の形態では、ループ経路の検出条件を満たした通信ポートが複数の場合のレイヤ２スイッチ２０の動作について説明する。
【００６６】
ループ経路の検出条件を満たした通信ポートが複数存在する通信ネットワークの構成についてはいくつかの構成が考えられる。例えば、レイヤ２スイッチ２０の通信ポート間でループ経路が形成された場合、または、レイヤ２スイッチ２０の延伸先にループ経路が複数存在する場合などが考えられる。図９は、実施の形態３にかかるレイヤ２スイッチ２０の通信ポート間でループ経路が形成された場合の通信ネットワーク１００ｃの一例を示す図である。また、図１０は、実施の形態３にかかるレイヤ２スイッチ２０の延伸先にループ経路が複数存在する場合の通信ネットワーク１００ｄの一例を示す図である。なお、レイヤ２スイッチ２０の構成は、実施の形態１のレイヤ２スイッチ２０と同様とする（図３参照）。
【００６７】
図９に示した通信ネットワーク１００ｃは、レイヤ２スイッチ２０の通信ポート２０−３にマスタの通信端末１０Ｘが接続され、通信ポート２０−１および通信ポート２０−２にはスレーブの通信端末１０Ａが接続された構成となっている。通信ネットワーク１００ｃでは、レイヤ２スイッチ２０の通信ポート２０−１，２０−２と通信端末１０Ａとの間でループ経路が形成されている。
【００６８】
一方、図１０に示した通信ネットワーク１００ｄは、レイヤ２スイッチ２０の通信ポート２０−３にマスタの通信端末１０Ｘが接続され、通信ポート２０−１にハブ３０Ａが接続され、通信ポート２０−２にハブ３０Ｂが接続された構成となっている。また、ハブ３０Ａにスレーブの通信端末１０Ａが接続され、ハブ３０Ｂにスレーブの通信端末１０Ｂが接続されている。通信ネットワーク１００ｄでは、ハブ３０Ａと通信端末１０Ａとの間でループ経路が形成され、また、ハブ３０Ｂと通信端末１０Ｂとの間でループ経路が形成されている。
【００６９】
レイヤ２スイッチ２０は、複数の通信ポートにおいてループ経路の検出条件を満たした場合、図９に示した構成および図１０に示した構成のうち、どちらのループ経路の形状となっているのか判定できない。
【００７０】
そのため、本実施の形態では、レイヤ２スイッチ２０は、複数の通信ポートがループ経路の検出条件を満たした場合、ループ経路の検出条件を満たした複数の通信ポートのうち、任意に選択した１つの通信ポート以外の全ての通信ポートを閉塞する。すなわち、レイヤ２スイッチ２０は、複数の通信ポートでループ経路を検出した場合、複数の通信ポートのうち１つの通信ポートを除いた全ての通信ポートでのフレームの送受信を停止する。
【００７１】
図９に示した通信ネットワーク１００ｃの場合、レイヤ２スイッチ２０のループ検出部２３は、動作を開始してからしばらくすると、通信ポート２０−１，２０−２においてループ経路の検出条件を満たしたことを検知し、通信ポート２０−１，２０−２のいずれか一方を閉塞する。レイヤ２スイッチ２０は、例えば、通信ポート２０−２を閉塞する。この結果、レイヤ２スイッチ２０では、通信ポート２０−１，２０−２の間のループ経路が解消する。これに伴い、閉塞しなかった通信ポート２０−１では、監視周期内でのＴｅｓｔＤａｔａフレームの受信数が受信閾値以下の正常値となる。この結果、ループ検出部２３では、通信ポート２０−１において再びループ経路を検出することはない。また、通信ネットワーク１００ｃの場合、レイヤ２スイッチ２０は、ループ経路上の１箇所を閉塞するだけでループ経路を解消することができるため、マスタである通信端末１０Ｘとスレーブである通信端末１０Ａとの間の接続を維持することができる。
【００７２】
一方、図１０に示した通信ネットワーク１００ｄの場合、レイヤ２スイッチ２０の延伸先にループ経路が複数存在する。レイヤ２スイッチ２０のループ検出部２３は、例えば、図９に示した通信ネットワーク１００ｃの場合と同様の手順で通信ポート２０−２を閉塞する。しかしながら、通信ポート２０−１の延伸先のループ経路が解消していないため、レイヤ２スイッチ２０では、通信ポート２０−１において監視周期内でのＴｅｓｔＤａｔａフレームの受信数が受信閾値を超過した状態が継続する。そのため、ループ検出部２３は、監視周期内でのＴｅｓｔＤａｔａフレームの受信数が受信閾値を超過した状態が解消されない場合、規定された時間が経過後、さらに通信ポート２０−１を閉塞する。この結果、通信ネットワーク１００ｄでは、ループ経路が解消する。
【００７３】
レイヤ２スイッチ２０において複数の通信ポートでループ経路を検出した場合の動作を、フローチャートを用いて説明する。図１１は、実施の形態３にかかるレイヤ２スイッチ２０において複数の通信ポートでループ経路を検出した場合の動作を示すフローチャートである。なお、ステップＳ１１からステップＳ１８までの処理は図５に示す処理と同様である。
【００７４】
レイヤ２スイッチ２０の判定部２３３は、受信閾値以上のカウンタ値を示す通信ポートが複数存在する、すなわち、複数の通信ポートでループ経路を検出した場合（ステップＳ２１：Ｙｅｓ）、該当する複数の通信ポートのうち１つの通信ポートを除いた全ての通信ポートでのフレームの送受信を停止する（ステップＳ２２）。
【００７５】
判定部２３３は、規定の時間が経過するまで待機し（ステップＳ２３：Ｎｏ）、規定の時間が経過した場合（ステップＳ２３：Ｙｅｓ）、あらためて、カウンタ値が受信閾値以上の通信ポートがあるか否かを確認する（ステップＳ２４）。
【００７６】
カウンタ値が受信閾値以上の通信ポートがある場合（ステップＳ２４：Ｙｅｓ）、判定部２３３は、該当する通信ポート、すなわち、ループ経路を検出した複数の通信ポートのうちフレームの送受信を停止しなかった１つの通信ポートにおいてループ経路が継続していると判定し、対象の通信ポート、すなわち、フレームの送受信を停止しなかった１つの通信ポートでのフレームの送受信を停止する制御を行う（ステップＳ１９）。
【００７７】
一方、カウンタ値が受信閾値以上の通信ポートがない場合（ステップＳ２４：Ｎｏ）、判定部２３３は、通信ネットワークにおいてループ経路が解消したと判定して処理を終了する。
【００７８】
なお、複数の通信ポートでループ経路を検出していない場合（ステップＳ２１：Ｎｏ）は実施の形態１と同様のため、判定部２３３は、ステップＳ１９の処理を行う。
【００７９】
以上説明したように、本実施の形態によれば、レイヤ２スイッチ２０のループ検出部２３は、複数の通信ポートでループ経路を検出した場合、まず、ループ経路を検出した複数の通信ポートのうち、任意に選択した１つの通信ポート以外の全ての通信ポートを閉塞し、ループ経路の検出状態が解消されない場合には、さらに、閉塞しなかった１つの通信ポートについても閉塞する。これにより、レイヤ２スイッチ２０では、必要以上に通信ポートを閉塞してしまうのを回避しつつ、自律的にループ経路を解消することができる。
【００８０】
なお、ループ検出部２３は、複数の通信ポートでループ経路を検出した場合、選択した１つの通信ポート以外の全ての通信ポートを一斉に閉塞するのではなく、１通信ポートずつ順番に閉塞するようにしてもよい。すなわち、ループ検出部２３は、ループ経路を検出した複数の通信ポートのうちの１つを最初に閉塞し、残りの通信ポート、すなわちループ経路を検出した通信ポートのうち閉塞しなかった通信ポートの状態を規定された期間にわたって監視する。ループ検出部２３は、ループ経路が解消されない場合、ループ経路が検出された複数の通信ポートから、さらに１つの通信ポートを閉塞し、残りの通信ポートにおいてループ経路が解消されたか否かを規定された期間にわたって監視する。ループ検出部２３は、ループ経路が解消されるまで、１つずつ通信ポートを閉塞する動作を繰り返し行うようにしてもよい。これにより、レイヤ２スイッチ２０では、ループ経路を検出した複数の通信ポートを１つずつ順番に閉塞することにより、必要以上に通信ポートを閉塞してしまう事態を回避することができる。
【００８１】
実施の形態４．
実施の形態１，３では、レイヤ２スイッチ２０がループ経路を検出し、自律的にループ経路を解消する手順について説明した。本実施の形態では、レイヤ２スイッチ２０は、ループ経路を検出した場合、ループ経路を解消するとともに、ネットワーク管理装置にループ経路の検出を通知する場合について説明する。
【００８２】
図１２は、実施の形態４にかかるＣＣ−Ｌｉｎｋ  ＩＥネットワーク上の警報情報を管理するネットワーク管理装置４０を含む通信ネットワーク１００ｅの構成例を示す図である。通信ネットワーク１００ｅは、マスタとして動作する通信端末１０Ｘと、スレーブとして動作する複数の通信端末１０Ａから１０Ｃと、中継装置であるレイヤ２スイッチ２０と、ネットワーク管理装置４０とを含んで構成されている。
【００８３】
通信ネットワーク１００ｅにおいては、通信端末１０Ｘの第１の通信ポートであるＰｏｒｔ＿Ｘ１とネットワーク管理装置４０の通信ポートであるＰｏｒｔ＿１とが接続され、通信端末１０Ｘの第２の通信ポートであるＰｏｒｔ＿Ｘ２と通信端末１０Ａの第１の通信ポートであるＰｏｒｔ＿Ａ１とが接続されている。通信端末１０Ａの第２の通信ポートであるＰｏｒｔ＿Ａ２はレイヤ２スイッチ２０の通信ポート２０−１に接続されている。通信端末１０Ｂの第１の通信ポートであるＰｏｒｔ＿Ｂ１はレイヤ２スイッチ２０の通信ポート２０−２に接続されている。通信端末１０Ｃの第１の通信ポートであるＰｏｒｔ＿Ｃ１はレイヤ２スイッチ２０の通信ポート２０−３に接続されている。なお、レイヤ２スイッチ２０の構成は、実施の形態１のレイヤ２スイッチ２０と同様とする（図３参照）。
【００８４】
レイヤ２スイッチ２０において、ループ検出部２３の判定部２３３は、ループ経路を検出した場合、実施の形態１，３と同様の手順でループ経路を検出した対象の通信ポートを閉塞する。本実施の形態では、判定部２３３は、さらに、ループを検出した通信ポートを示すループ検出通知フレームを生成し、生成したループ検出通知フレームをフレーム中継部２４および通信ポート送信部２５を介してネットワーク管理装置４０へ送信する。
【００８５】
ネットワーク管理装置４０は、ループ検出通知フレームを受信した場合、ループ経路が検出されたことを、図示しない表示部などに表示してネットワーク管理者に通知する。
【００８６】
レイヤ２スイッチ２０においてループ経路を検出した場合にネットワーク管理装置４０へ通知する動作を、フローチャートを用いて説明する。図１３は、実施の形態４にかかるレイヤ２スイッチ２０のループ経路を検出してネットワーク管理装置４０へ通知する動作を示すフローチャートである。なお、ステップＳ１１からステップＳ１９までの処理は図５に示す処理と同様である。
【００８７】
レイヤ２スイッチ２０において、ループ検出部２３の判定部２３３は、ステップＳ１９の手順で通信ポートを閉塞する制御を行うと、ループ検出通知フレームを生成し、生成したループ検出通知フレームをフレーム中継部２４および通信ポート送信部２５を介してネットワーク管理装置４０へ送信する（ステップＳ３１）。
【００８８】
以上説明したように、本実施の形態によれば、レイヤ２スイッチ２０では、ループ検出部２３の判定部２３３は、ループ経路を検出した場合、自律的にループ経路を解消するとともに、ループ経路を検出した通信ポートの情報をネットワーク管理装置４０へ通知することとした。これにより、レイヤ２スイッチ２０は、ループ経路を検出した通信ポートの情報を、ネットワーク管理装置４０に逸早く通知することができる。また、ネットワーク管理装置４０を確認することにより、ネットワーク管理者は、ループ経路が検出された通信ポートを認識することができる。
【００８９】
なお、実施の形態１，３，４では、通信ネットワークを形成するレイヤ２スイッチ２０が１台の場合について説明したが、実施の形態２の場合と同様、通信ネットワークを形成するレイヤ２スイッチ２０が２台以上の場合にも適用可能であり、各レイヤ２スイッチ２０は実施の形態１，３，４と同様の動作を行う。
【００９０】
以上のように、本発明にかかる中継装置および通信ネットワークは、イーサネットをベースとしたＦＡネットワークを実現する場合に有用である。
【００９１】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００９２】
１０Ｘ，１０Ｙ  通信端末（マスタ）、１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ  通信端末（スレーブ）、２０，２０Ａ，２０Ｂ  レイヤ２スイッチ、２０−１，２０−２，２０−３，…，２０−ｎ，２０Ａ−１，２０Ａ−２，２０Ｂ−１  通信ポート、２１−１，２１−２，…，２１−ｎ  通信ポート受信部、２２−１，２２−２，…，２２−ｎ  フレーム識別部、２３  ループ検出部、２３１  設定部、２３２  監視部、２３３  判定部、２４  フレーム中継部、２５−１，２５−２，…，２５−ｎ  通信ポート送信部、３０，３０Ａ，３０Ｂ  ハブ、４０  ネットワーク管理装置。
【図１】
2017090162.tif 000003
【図２】
2017090162.tif 000004
【図３】
2017090162.tif 000005
【図４】
2017090162.tif 000006
【図５】
2017090162.tif 000007
【図６】
2017090162.tif 000008
【図７】
2017090162.tif 000009
【図８】
2017090162.tif 000010
【図９】
2017090162.tif 000011
【図１０】
2017090162.tif 000012
【図１１】
2017090162.tif 000013
【図１２】
2017090162.tif 000014
【図１３】
2017090162.tif 000015
【国際調査報告】
2017090162.tif 000016
2017090162.tif 000017
2017090162.tif 000018
2017090162.tif 000019