(57)【要約】  本発明にかかる中継装置１は、ポート１０−１〜１０−Ｎごとの優先度を管理し、送信するポートを示すポート情報が格納され優先度を示す優先度情報が格納されるための領域が設けられたループ検出フレームを定期的に生成し、自装置以外から送信されたループ検出フレームを受信すると、受信したフレームの優先度情報が示す優先度よりポートの優先度が低い場合に、受信したループ検出フレームの優先度情報をポートの優先度で更新して出力し、自装置から送信したループ検出フレームを受信した場合、自装置以外から送信されたループ検出フレームに格納された優先度情報とポートごとの優先度に基づいてポートを閉塞させるか否かを制御するループ検出部１５と、ループ検出部１５から出力されるループ検出フレームをポートへ送出する出力制御部１４と、を備える。
2016135828.tif 000002
【特許請求の範囲】
【請求項１】
複数のポートと、
前記ポートごとの優先度を管理し、送信するポートを示すポート情報が格納され優先度を示す優先度情報が格納されるための領域が設けられたループ検出フレームを定期的に生成して出力し、自装置以外から送信されたループ検出フレームを受信すると、受信したループ検出フレームの優先度情報が示す優先度より前記ポートの優先度が低い場合に、受信したループ検出フレームの前記優先度情報を前記ポートの優先度で更新し、前記優先度情報を更新したループ検出フレームを出力し、自装置から送信したループ検出フレームを受信した場合、自装置以外から送信されたループ検出フレームに格納された前記優先度情報と前記ポートごとの優先度に基づいて前記ポートを閉塞させるか否かを制御するループ検出部と、
前記ループ検出部から出力されるループ検出フレームを前記ポートへ送出する出力制御部と、
を備える中継装置。
【請求項２】
前記ループ検出部は、
自装置から送信したループ検出フレームを受信した場合に、ループ経路が生じていると判断し、受信したループ検出フレームに格納された前記優先度情報が示す優先度よりループ検出フレームを送信した前記ポートの優先度が低い場合に、自装置が前記ループ経路内で低優先の装置であると判断し、受信した前記ループ検出フレームを送信した前記ポートおよび受信した前記ポートと、自装置が前記低優先の装置であるか否かを示す情報とを対応付けてループ管理情報として記憶し、前記ループ管理情報に基づいて自装置が前記低優先の装置であると判断した場合に、前記ループ経路内の前記ポートを閉塞させることを特徴とする請求項１に記載の中継装置。
【請求項３】
前記ループ検出部は、
前記ループ経路が生じていると判断した場合に、自装置から送信したループ検出フレームを受信した際に、受信したループ検出フレームに格納された前記優先度情報に基づいて、前記ループ経路内に、前記優先度情報を更新可能な中継装置があるか否かを判断し、自装置から送信したループ検出フレームを受信したポートと該ループ検出フレームを送信した前記ポートが同一でありかつ前記ループ経路内に、前記優先度情報を更新可能な中継装置が無い場合に、該ループ検出フレームを送信した前記ポートを閉塞させることを特徴とする請求項１または２に記載の中継装置。
【請求項４】
前記ループ検出部は、
前記ポートを閉塞させてから一定時間自装置が送信したループ検出フレームを受信しない場合、前記ポートの閉塞を解除することを特徴とする請求項１、２または３に記載の中継装置。
【請求項５】
前記ループ検出部は、前記ポートごとに、前記ポートの状態が、全てのフレームの送受信を行う第１の状態と、ループ検出フレームの送受信を行いループ検出フレーム以外のフレームを送信しない第２の状態と、閉塞状態である第３の状態とのうちいずれの状態であるかを管理し、前記ポートの状態と優先度との対応を管理することを特徴とする請求項１から４のいずれか１つに記載の中継装置。
【請求項６】
前記第１の状態に対応する優先度は前記第２の状態に対応する優先度より高く、前記第２の状態に対応する優先度は前記第３の状態に対応する優先度より優先度が高いことを特徴とする請求項５に記載の中継装置。
【請求項７】
前記ループ検出部は、前記ポートごとに、リンク確立を検出すると前記ポートを前記第２の状態に遷移させ、前記第２の状態にさせた後、一定時間自装置が送信したループ検出フレームを前記ポートで受信しない場合、または一定時間前記ポートから送信したループ検出フレームを自装置が受信しない場合、前記ポートを前記第１の状態に遷移させることを特徴とする請求項５または６に記載の中継装置。
【請求項８】
前記ループ検出フレームの送信元の前記中継装置である場合、送信する前記ループ検出フレームの前記優先度情報の領域に有意な情報挿入せずに送信し、最初に前記ループ検出フレームを受信した前記中継装置である場合、前記優先度情報として受信ポートまたは送信ポートのうちより低い優先度のポートの優先度を格納して該ループ検出フレームを転送することを特徴とする請求項１から７のいずれか１つに記載の中継装置。
【請求項９】
請求項１から８のいずれか１つに記載の中継装置を複数備え、
親局装置と、
複数の前記中継装置を介して前記親局装置と通信を行う子局装置と
を備えることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム内のループを検出する中継装置および通信システムに関する。
【背景技術】
【０００２】
近年、産業分野においてイーサネット（登録商標）化が進み、製造現場ではＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）、インバータ、センサ等のＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）機器を繋いだ通信ネットワークである産業用ネットワークが構築されている。産業用ネットワークでは、処理精度を向上させるために複数のＦＡ機器が時刻を同期させ、連携して動作することが重要である。時刻同期を実現する手段として、制御命令を出力する通信装置であるマスタが、自身の時刻情報を制御対象の通信装置であるスレーブに送信し、スレーブでは受信した時刻情報をマスタからの転送遅延時間で補正した値を自身の時刻情報として更新する方法等が用いられている。上述した時刻同期方式では、ネットワークのトポロジすなわち接続形態の変化に伴ってマスタ−スレーブ間の転送遅延時間が変わると、ＦＡ機器間の時刻同期精度に影響が表れる。【０００３】
一方、レイヤ２スイッチ等の中継装置に複数のＦＡ機器を接続して構築する産業用ネットワークでは人為的なミス等で通信経路の誤接続が生じ、ループ経路を形成する場合がある。ループ経路の形成に伴ってストームが発生すると、産業ネットワークの運用に支障をきたす。ストームとは、ブロードキャストフレームやマルチキャストフレームの転送及び複製処理がループ経路上で無限に繰り返され、ネットワークの帯域を圧迫することである。【０００４】
上述したストームを回避するためには、中継装置がループ経路を検出してループ経路上のポートを閉塞すれば良い。従来のループ検出方式として、非特許文献１で開示されているＳＴＰ（Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ）によるポートのブロッキングが既知である。ＳＴＰでは、リンク速度または中継装置の優先度設定から決定されるパスコストに基づいて通信経路を選択し、冗長経路上のポートを閉塞することでループ経路を解消する。【０００５】
また、通信装置が宛先ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス及び送信元ＭＡＣアドレスに自装置のＭＡＣアドレスを格納した試験フレームを送信し、自装置が送信した試験フレームを受信することでループを検出する技術が特許文献１で開示されている。また、受信したフレームの送信元ＭＡＣアドレスと受信ポートの情報を関連付けて登録している転送テーブルにおいて、ＭＡＣアドレスに対する受信ポートの更新回数が設定した閾値以上であった場合にループを検出する技術が特許文献２で開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−４４３８４号公報
【特許文献２】特許第４８７９２７９号公報
【非特許文献】
【０００７】
【非特許文献１】IEEE  Std  802．ID−2004、“IEEE  Standard  for  Local  and  Metropolitan  Area  Networks：Media  Access  Control  (MAC)  Bridges”IEEE、2004、pp．57-65
【発明の概要】
【発明が解決しようとする課題】
【０００８】
非特許文献１で開示されているＳＴＰでは、通信経路を固定せずに常にパスコストが最小となる最適経路を使用するため、新規経路が接続された場合にトポロジが動的に変化する。産業用ネットワークでＳＴＰを使用した場合には、上述したトポロジの変化に伴うマスタ−スレーブ間の転送遅延時間が、時刻同期精度に影響を与えることが問題となる。【０００９】
一方、特許文献１及び特許文献２に記載の技術では、ループ経路を検出することが可能であるが、通信装置が自律的にループ経路を解消できないため、ネットワーク管理者がループ経路上の通信経路を切断する必要があるという問題がある。【００１０】
本発明は、上記に鑑みてなされたものであって、接続形態を変化させずに自律的にループ経路を解消することができる中継装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明の中継装置は、複数のポートと、ポートごとの優先度を管理し、送信するポートを示すポート情報が格納され優先度を示す優先度情報が格納されるための領域が設けられたループ検出フレームを定期的に生成して出力し、自装置以外から送信されたループ検出フレームを受信すると、受信したループ検出フレームの優先度情報が示す優先度よりポートの優先度が低い場合に、受信したループ検出フレームの優先度情報をポートの優先度で更新し、優先度を更新したループ検出フレームを出力し、自装置から送信したループ検出フレームを受信した場合、自装置以外から送信されたループ検出フレームに格納された優先度情報とポートごとの優先度に基づいてポートを閉塞させるか否かを制御するループ検出部を備える。また、この中継装置は、ループ検出部から出力されるループ検出フレームをポートへ送出する出力制御部、を備える。
【発明の効果】
【００１２】
本発明にかかる中継装置は、接続形態を変化させずに自律的にループ経路を解消することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１の中継装置の構成例を示す図
【図２】実施の形態１のループ検出部の構成例を示す図
【図３】実施の形態１の中継装置のハードウェア構成例を示す図
【図４】実施の形態１の制御回路の構成例を示す図
【図５】実施の形態１のＦＤＢテーブル記憶部に記憶されるＦＤＢテーブルの構成例を示す図
【図６】実施の形態１のループ検出フレームの構成例を示す図
【図７】実施の形態１のポート状態の定義を示す図
【図８】実施の形態１のループ管理テーブルの構成例を示す図
【図９】実施の形態１のループ検出部におけるループ検出フレームの受信時の処理手順の一例を示すフローチャート
【図１０】実施の形態１のループ検出部におけるループ検出フレーム送信およびポート閉塞処理手順の一例を示すフローチャート
【図１１】実施の形態１の通信システムの構成例を示す図
【図１２】実施の形態１の閉塞処理によりループ経路を回避した例を示す図
【図１３】実施の形態２の通信システムの構成例を示す図
【図１４】実施の形態２のループ検出部におけるループ検出フレームの受信時の処理手順の一例を示すフローチャート
【図１５】実施の形態２のループ管理テーブルの構成例を示す図
【図１６】実施の形態２のループ検出部におけるループ検出フレーム送信およびポート閉塞処理手順の一例を示すフローチャート
【図１７】実施の形態３のポート閉塞解除処理手順の一例を示すフローチャート
【発明を実施するための形態】
【００１４】
以下に、本発明にかかる中継装置および通信システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１５】
実施の形態１．
図１は、本発明にかかる実施の形態１の中継装置１の構成例を示す図である。中継装置１は、送信ポートでありかつ受信ポートであるポート１０−１〜１０−Ｎを備える。なお、Ｎは２以上の整数である。中継装置１のＦＤＢテーブル記憶部１１は、受信したフレームの送信元アドレスと受信ポートの情報が関連付けて登録されるＦＤＢ（Forwarding  DataBase）テーブルを記憶する。フレーム受信部１２−１〜１２−Ｎは、ポート１０−１〜１０−Ｎのうち対応する１つのポートに接続し、接続したポートにより受信されたフレームから宛先アドレスに基づいて該フレームを送出する送信ポートを決定する。多重化部１３は、フレーム受信部１２−１〜１２−Ｎから入力されたフレームを多重化する。出力制御部１４は、受信フレームの宛先ポートごとにフレームを振り分けて、フレームを送出する。ループ検出部１５は、ポート１０−１〜１０−Ｎごとの優先度を管理し、送信するポート１０−１〜１０−Ｎを示すポート情報とループ経路上の最低優先ポート情報を更新するための優先度を示す優先度情報とを格納する領域を設けたループ検出フレームを定期的に生成して出力し、自装置以外から送信されたループ検出フレームを受信すると、受信したループ検出フレームの優先度情報が示す優先度より該フレームの送受信ポートの優先度が低い場合に、受信したループ検出フレームの優先度情報を自身の優先度で更新し、更新したループ検出フレームを出力し、自装置から送信したループ検出フレームを受信した場合、ループ検出フレームに格納された優先度情報と該フレームの送受信ポートの優先度に基づいてポートを閉塞させるか否かを制御する。なお、図１では、受信側のポートと受信側のポートを分けて図示しているが、実際には、図１の左側のポート１０−ｉ（ｉ＝１，…，Ｎ）と右側のポート１０−ｉとは同一のポートである。
【００１６】
図２は、ループ検出部１５の構成例を示す図である。ループ検出部１５は、リンク確立を検出し、リンク確立を検出するとリンク確立が有意であることを示すリンク検出信号を出力するリンク監視部２１と、ループ検出フレームの送信元のアドレスに基づいてフレームを識別するフレーム識別部２２と、リンク検出信号が有意に変化したことを契機として、リンクを確立したポートから送信するループ検出フレームを生成するフレーム生成部であるループ検出フレーム生成部２３とを備える。また、ループ検出部１５は、ループ検出フレームに格納されている後述する優先度情報と自装置のポートの優先度を比較し、自装置のポートの優先度の方が低い場合に、受信したフレームの優先度情報を更新したフレームである転送フレームを出力する転送部である転送フレーム生成部２４と、転送フレーム生成部２４から出力される転送フレームとループ検出フレーム生成部２３により生成されたループ検出フレームとを多重する多重部２５とを備える。また、ループ検出部１５は、受信したループ検出フレームに格納されている優先度情報と自装置のポートの優先度と比較して自装置がループ経路上で最低優先の中継装置か否か判断する状態制御部２６と、後述するループ管理情報であるループ管理テーブルを記憶するループ管理テーブル記憶部２７と、ポートごとにポート状態を管理するとともにポート状態に対応する優先度を管理することによりポートごとの優先度を管理する管理部であるポート状態管理ステートマシン２８とを備える。
【００１７】
図３は、本実施の形態の中継装置１のハードウェア構成例を示す図である。中継装置１は、例えば、図３に示すように、送受信ポートであるポート１０−１〜１０−Ｎと通信制御回路２００とで構成される。ポート１０−１〜１０−Ｎは、図１におけるポート１０−１〜１０−Ｎである。なお、通信制御回路２００には、図１で示したＦＤＢテーブル記憶部１１、フレーム受信部１２−１〜１２−Ｎ、多重化部１３、出力制御部１４およびループ検出部１５が、実装される。各部は、各々が通信制御回路２００内の１つの電子回路として実装されてもよいし、図１の複数の構成要素で１つの電子回路として構成されてもよい。
【００１８】
また、図１および図２に示した構成要素のうち、１つ以上の構成要素がソフトウェアにより実装されてもよい。ソフトウェアにより実装される構成要素がある場合、該構成要素は、例えば図４に示す制御回路により実現される。図４は、制御回路１００の構成例を示す図である。図４に示すように制御回路１００は、制御回路１００の外部から入力されたデータを受信する受信部である入力部１０１と、プロセッサ１０２と、メモリ１０３と、データを外部へ送信する送信部である出力部１０４とを備える。入力部１０１は、制御回路１００の外部から入力されたデータを受信してプロセッサ１０２に与えるインターフェース回路であり、出力部１０４は、プロセッサ１０２又はメモリ１０３からのデータを制御回路１００の外部に送るインターフェース回路である。図１または２に示す構成要素が、図４に示す制御回路１００により実現される場合、プロセッサ１０２がメモリ１０３に記憶された各々に対応するプログラムを読み出して実行することにより実現される。また、メモリ１０３は、プロセッサ１０２が各処理を実行する際に一時メモリとしても使用される。
【００１９】
次に、本実施の形態の中継装置１の動作について説明する。図５は、ＦＤＢテーブル記憶部１１に記憶されるＦＤＢテーブルの構成例を示す図である。図５に示すように、ＦＢＤテーブルには、アドレスと該アドレスに対応するポート番号とが格納される。ポート番号は、ポート１０−１〜１０−Ｎの番号を示し、図５では、ポート１０−ｉのポート番号をポート＃ｉと記載している。ｉは１以上の整数である。なお、本実施の形態におけるアドレスとは、送信元および宛先の装置等を示す識別情報であり、例えば、ＭＡＣアドレスである。
【００２０】
フレーム受信部１２−１〜１２−Ｎは、接続されるポート１０−１〜１０−Ｎ経由でフレームを受信すると、受信したフレームの送信元のアドレスを抽出し、ＦＤＢテーブル内を参照して、抽出したアドレスと一致するアドレスがあるかないかを検索し、抽出したアドレスと一致するアドレスがＦＤＢテーブル内にない場合、フレーム受信部１２−１〜１２−Ｎは、抽出したアドレスとこのアドレスに対応するフレームを受信したポートのポート番号とを新たなエントリとしてＦＤＢテーブルに追加する。このようにして、中継装置１は、アドレスとポートの対応を学習し、学習した結果がＦＤＢテーブルに格納される。
【００２１】
また、フレーム受信部１２−１〜１２−Ｎは、受信したフレームの宛先のアドレスを抽出し、ＦＤＢテーブル内を参照して、抽出したアドレスと一致するアドレスがＦＤＢテーブル内にあるかないかを検索し、抽出したアドレスと一致するアドレスがある場合、該アドレスに対応するポート番号を宛先のポート番号として決定する。また、上記の抽出した宛先のアドレスと一致するアドレスがＦＤＢテーブル記憶部１１に記憶されるＦＤＢテーブル内に無い場合、フレーム受信部１２−１〜１２−Ｎは、該フレームを受信したポートを除く全てのポートに対応するポート番号を宛先のポート番号として決定する。
【００２２】
また、フレーム受信部１２−１〜１２−Ｎは、受信フレームの宛先ポートもしくは自身に対応する受信ポートがループ検出部１５から入力されるポート閉塞指示が無意を示す、すなわちループ検出部１５からポート閉塞を指示されていない場合に、受信したフレームに上記のように決定した宛先のポート番号を示すポート情報を付加して多重化部１３に転送する。フレーム受信部１２−１〜１２−Ｎは、受信フレームの宛先ポートもしくは自身に対応する受信ポートがループ検出部１５から入力されるポート閉塞指示が有意を示す、すなわちループ検出部１５からポート閉塞を指示されている場合には、受信フレームを廃棄する。フレーム受信部１２−１〜１２−Ｎがループ検出部１５からの閉塞指示に基づいて、このような動作を行うことにより、ループ経路上の閉塞ポートに対するフレームの送受信を避け、ストームを回避することが可能となる。
【００２３】
多重化部１３は、フレーム受信部１２−１〜１２−Ｎから入力されるポート数分のフレームのうち、ループ検出フレームを除くフレームである主信号フレームを多重化し、多重化したフレームを宛先のポート番号を示すポート情報とともに出力制御部１４へ転送する。また、多重化部１３は、フレーム受信部１２−１〜１２−Ｎから入力されるループ検出フレームを受信したポート番号と宛先のポート番号とを示すポート情報とともにループ検出部１５に転送する。
【００２４】
出力制御部１４は、多重化部１３から入力される主信号フレームとループ検出部１５から入力されるループ検出フレームとをポート情報に基づいて宛先のポートごとに振り分け、宛先のポート１０−１〜１０−Ｎへフレームを出力する。
【００２５】
ループ検出部１５では、図２に示すリンク監視部２１が、ポートごとにリンク確立の有無を検出し、リンク確立時に有意を示すリンク検出信号をループ検出フレーム生成部２３及び状態制御部２６へ出力する。なお、リンク確立の検出方法は、どのような方法を用いてもよいが、例えば、リンク監視部２１が、受信するフレームを監視し、通信プロトコルにしたがったリンク確立を示すフレームを受信することでリンクの確立を検出する。
【００２６】
ループ検出フレーム生成部２３は、リンク検出信号が有意を示す値に変化したことを契機として、リンクを確立したポートから送信するループ検出フレームを生成する。ループ検出フレーム生成部２３は、生成したループ検出フレームを宛先のポート番号すなわち上記のリンクを確立したポートのポート番号を示すポート情報とともに出力制御部１４へ出力する。なお、ループ検出フレーム生成部２３は、ポートごとに、リンク確立後、ループ経路の有無を定期的に確認するために、ループ検出フレームを定期的に生成する。
【００２７】
図６は、ループ検出フレームの構成例を示す図である。図６に示すように、ループ検出フレームには、宛先アドレスと、送信元アドレスと、ループ検出フレームを送信するポートを示す情報である送信ポート情報と、ループ経路内の最低優先度のポートの優先度を示す情報である優先度情報とが含まれる。ループ検出フレームの送信元の中継装置では、優先度情報の領域に特に有意な情報は挿入せずに送信する。そして、最初にループ検出フレームを受信した中継装置が、受信ポートまたは送信ポートのうちより低い優先度のポートの優先度を優先度情報の領域に格納して転送する。または、ループ検出フレームの送信元の中継装置が自身の送信ポートの優先度を優先度情報として格納して送信してもよい。なお、図６に示した構成例は一例であり、各情報の順序は図６の例に限定されない。ループ検出フレームの宛先アドレスには任意の値を設定可能であるが、ループ経路が発生した場合に自装置に戻ってくるような宛先アドレスである必要がある。例えば、ループ検出フレームの宛先アドレスとしてマルチキャストアドレスまたはブロードキャストアドレスを用いる。そして、中継装置は、マルチキャストアドレスまたはブロードキャストアドレスを宛先としてフレームを受信すると該フレームを受信したポート以外の全ポートへ該フレームを送信する。このため、ループ経路が形成されていると、該中継装置が送信したループ検出フレームは自装置に戻ってくる。このように、本実施の形態では、送信ポート情報とループ検出フレームにループ経路内の最低優先度のポートを示す優先度情報を格納する領域を設ける。送信ポート情報に格納する情報は、対応するポートを有する中継装置についても識別可能な情報であるとする。例えば、各中継装置の各ポートにポート固有の番号を割当てて、この番号を用いてもよいし、中継装置を示す情報と、該中継装置内でのポートの番号との組み合わせであってもよい。
【００２８】
フレーム識別部２２は、受信したループ検出フレームの送信元アドレスを確認し、送信元アドレスが自装置のアドレス以外の場合には受信したループ検出フレームを、該ループ検出フレームを受信したポートを示す情報とともに転送フレーム生成部２４へ転送し、送信元アドレスが自装置のアドレスの場合には受信したループ検出フレームを状態制御部２６に転送する。
【００２９】
ポート状態管理ステートマシン２８は、ポートごとにポート状態を管理する。本実施の形態では、ループ経路上で閉塞するポートを選出するため、３種類のポート状態を定義する。ポート状態管理ステートマシン２８は、状態制御部２６、転送フレーム生成部２４から優先度の問い合わせがあると、ポート状態に対応する優先度を問い合わせ元へ通知する。図７は、本実施の形態のポート状態の定義を示す図である。図７に示すように、本実施の形態では、ポートの状態として、第１の状態である運用、第２の状態である主信号フィルタ、第３の状態である閉塞の３つの状態を定義する。そして、これらの状態と優先度との対応を、優先度の高い順に運用＞主信号フィルタ＞閉塞として管理する。図７では、ポート状態と、優先度と、主信号転送と、ループ検出フレームとの４つの列を示している。図７のポート状態は、運用、主信号フィルタ、閉塞運用の３つの状態を示し、優先度は各状態に対応する優先度を示す。なお、優先度は値の小さいほど高優先度であることを示す。図７の主信号転送は、主信号フレームを転送するか否かを示しており、Ｙｅｓは主信号フレームを転送することを示し、Ｎｏは主信号フレームを転送しないことを示す。図７のループ検出フレームは、ループ検出フレームを転送するか否かとループ検出フレームを送信するか否かを示しており、Ｙｅｓはループ検出フレームを転送または送信することを示し、Ｎｏはループ検出フレームを転送または送信しないことを示す。また、中継装置内で同一のポート状態を有するポート間の優劣はポート番号の大小で判断する。例えば、若番ポートを優先とした場合、ポート１とポート２のポート状態が共に運用であればポート１の優先度が高いと判断する。一方、２台の中継装置間で同一のポート状態を有するポート間の優劣はＭＡＣアドレス等の装置固有の値の大小で判断する。上記に伴い、ネットワーク内のポートの優劣すなわちポートの優先度を判定することができる。
【００３０】
本実施の形態では、ポートの優先度を用いて、閉塞するポートを選出することでトポロジの変化を回避する。ポート状態管理ステートマシン２８は、状態制御部２６から入力されるリンク検出信号に基づいて、新たなリンク確立を検出すると、ポートの状態を主信号フィルタとする。ポート状態が主信号フィルタであるポートでは、主信号フレームの転送は行わずに、ループ検出フレームの送信および転送を実施する。これにより、新たなリンクが確立された場合に、主信号フレームを転送する前にループ経路の有無を確認することができる。その後、ポート状態管理ステートマシン２８は、リンク確立を検出してから、状態制御部２６から一定時間以上ループ経路の検出を通知されない場合、ポート状態を運用に遷移させる。なお、状態制御部２６は、フレーム識別部２２からフレームが入力されることによりループ経路を検出した場合、ループ経路を検出した情報をポート状態管理ステートマシン２８に通知する。状態制御部２６は、一定時間自装置が送信したループ検出フレームをポート１０−ｉで受信しない場合、または一定時間ポート１０−ｉから送信したループ検出フレームを自装置が受信しない場合、ポート１０−ｉではループ経路を検出していないと判断し、その旨をポート状態管理ステートマシン２８に通知する。また、ポート状態管理ステートマシン２８は、状態制御部２６から閉塞を通知された場合にポート状態を閉塞に遷移させる。また、ポート状態管理ステートマシン２８は、ポート状態が運用であるポートに接続するフレーム受信部１２−１〜１２−Ｎに対して無意すなわちポート閉塞しないことを示すポート閉塞指示を出力する。また、ポート状態管理ステートマシン２８は、全ポートのポート状態をフレーム受信部１２−１〜１２−Ｎに対して通知し、ポート状態が主信号フィルタまたは閉塞であるポートで主信号フレームが送受信されないように制御する。
【００３１】
状態制御部２６は、リンク監視部２１からリンク検出信号を受信すると、このリンク検出信号をポート状態管理ステートマシン２８へ転送する。また、状態制御部２６は、ループ検出フレームを送信したポートである送信ポートと、ループ検出フレームを受信したポートである受信ポートとの対応を示す情報をループ管理テーブルとしてループ管理テーブル記憶部２７に格納する。図８は、本実施の形態のループ管理テーブルの構成例を示す図である。図８に示すように、ループ管理テーブルには、ループ検出フレームを送信する送信ポートごとに、該送信ポートから送信したフレームを受信した受信ポートを示す情報が受信ポートビットマップとして格納される。受信ポートビットマップでは、０は受信していないことを示し、１は受信したことを示す。したがって、１が格納されている場合には、１に対応する組み合わせの経路でループ経路が生じていることを示す。例えば、図８の例では、送信ポートが１であり、受信ポートが２の組み合わせが１となっている。これは、ポート１０−１から送信したルート検出フレームがポート１０−２で受信されたことを示している。すなわち、図８に示す受信ポートビットマップで１が存在するエントリはループ経路が有るすなわちループ経路が生じているエントリである。
【００３２】
また、ループ管理テーブルには、ループ経路において、自装置が最低優先度の中継装置であるか否かを示す情報が格納される。状態制御部２６は、フレーム識別部２２からループ検出フレームが入力されると、自装置から送信されたループ検出フレームを自装置が受信したため、ループ経路が有るすなわちループ経路が生じていると判断し、入力されたループ検出フレームに基づいてループ管理テーブルを更新する。具体的には、受信したループ検出フレームに格納されている送信ポート情報とループ検出フレームを受信したポートの情報とに基づいてループ管理テーブルの受信ポートビットマップのうち対応するエントリを更新する。また、状態制御部２６は、上記に加えて、ポート状態管理ステートマシン２８に、受信したループ検出フレームの送受信ポートの優先度を問い合わせて該ポートの優先度を取得し、取得した優先度と、受信したループ検出フレームに格納された優先度情報とに基づいて、ループ経路上で自装置が最低優先の中継装置か否かを判断し、判断結果に基づいてループ管理テーブル内の最低優先の中継装置の情報を更新する。具体的には、状態制御部２６は、受信したループ検出フレームに格納された優先度情報が示す優先度よりポート状態管理ステートマシン２８から取得したポートすなわちループ検出フレームを送信したポートの優先度が低い場合に、自装置がループ経路内で最低優先すなわち低優先の装置であると判断する。また、状態制御部２６は、受信したループ検出フレームを送信したポートおよび受信したポートと、自装置がループ経路内での最低優先の装置であるか否かを示す情報とを対応付けてループ管理テーブルに記憶する。
【００３３】
また、状態制御部２６は、自装置が定期的に送信するループ検出フレームの送信タイミングで、ループ管理テーブルのうちループ検出フレームを送信するポートに対応するエントリを読み出すとともにループ管理テーブルの該エントリをクリアする。状態制御部２６は、読み出したエントリに基づいて、自装置がループ経路内で最低優先度の中継装置である場合に、ループ経路を構成する自装置が有するポートのうち最高優先度のポート以外を閉塞すると判断し、閉塞するポートを示す情報とともにポート閉塞をポート状態管理ステートマシン２８へ指示する。ポート状態管理ステートマシン２８は、この指示に基づいて対応するポートの状態を閉塞に変更する。なお、ループ検出部１５の状態制御部２６およびフレーム識別部２２は、ポートごとのループ検出フレームの送信タイミングを把握しているとする。例えば、状態制御部２６が、ポートごとのループ検出フレームの送信タイミングを管理して、ループ検出フレーム生成部２３およびフレーム識別部２２へ通知するようにしてもよいし、ループ検出フレーム生成部２３がポートごとのループ検出フレームの送信タイミングを管理して状態制御部２６およびフレーム識別部２２へ通知してもよい。状態制御部２６は、ポートごとに、該ポートからループ検出フレームを送信した後、次のループ検出フレームを送信するまでの間に、送信したループ検出フレームを受信しない場合、ループ経路を未検出であると判定する。
【００３４】
転送フレーム生成部２４は、ループ検出フレームが入力されると、ポート状態管理ステートマシン２８に自装置のポート状態を問い合わせてポート状態を取得し、該フレームの送受信ポートごとに、自装置のポート状態と、入力されたループ検出フレームに格納されている優先度情報とを比較する。そして、転送フレーム生成部２４は、該フレームの送受信ポートごとに、自装置のポートの優先度の方が低い場合に、入力されたフレームの優先度情報を、自装置のポートを示す情報に更新し、優先度情報を更新した後のフレームを宛先のポートを示す情報とともに多重部２５へ出力する。
【００３５】
多重部２５は、転送フレーム生成部２４から出力される転送フレームとループ検出フレーム生成部２３により生成されたループ検出フレームとを多重し、多重したフレームを宛先のポートを示す情報とともに出力制御部１４へ出力する。なお、多重とは、複数のフレームを１つの経路に集約することである。
【００３６】
図９は、ループ検出部１５におけるループ検出フレームの受信時の処理手順の一例を示すフローチャートである。図１０は、ループ検出部１５におけるループ検出フレーム送信およびポート閉塞処理手順の一例を示すフローチャートである。ループ検出部１５は、リンク確立を検出したポートごとに定期的にループ検出フレームを送信する。ループ検出フレーム送信後、ループ検出部１５は、図９に示す処理を実施する。フレーム識別部２２は、多重化部１３からループ検出フレームが入力されるか否かすなわちループ検出フレームを受信したか否かを判断する（ステップＳ１）。ループ検出フレームを受信していない場合（ステップＳ１  Ｎｏ）、フレーム識別部２２は、次回のループ検出フレームの送信タイミングであるか否かを判断する（ステップＳ２）。次回のループ検出フレームの送信タイミングでない場合（ステップＳ２  Ｎｏ）、ステップＳ１へ戻る。次回のループ検出フレームの送信タイミングである場合（ステップＳ２  Ｙｅｓ）、処理を終了する。
【００３７】
ループ検出フレームを受信した場合（ステップＳ１  Ｙｅｓ）、フレーム識別部２２は、受信したループ検出フレーム内の送信元アドレスが自装置のアドレスすなわち自アドレスと等しいか否かを判断する（ステップＳ３）。なお、図９では、送信元アドレスをＳＡ（Source  Address）と略している。受信したループ検出フレーム内の送信元アドレスが自装置のアドレスすなわち自アドレスと等しい場合（ステップＳ３  Ｙｅｓ）、状態制御部２６はループ管理テーブルを更新する（ステップＳ４）。具体的には、フレーム識別部２２から状態制御部２６にループ検出フレームが入力され、状態制御部２６は、上述したように、入力されたループ検出フレームに基づいて、上述の通りループ検出フレームを更新する。
【００３８】
その後、状態制御部２６は、次回のループ検出フレームの送信タイミングであるか否かを判断する（ステップＳ８）。次回のループ検出フレームの送信タイミングでない場合（ステップＳ８  Ｎｏ）、ステップＳ１へ戻り、次回のループ検出フレームの送信タイミングである場合（ステップＳ８  Ｙｅｓ）、処理を終了する。
【００３９】
一方、ステップＳ３で、受信したループ検出フレーム内の送信元アドレスが自装置のアドレスすなわち自アドレスと等しくない場合（ステップＳ３  Ｎｏ）、転送フレーム生成部２４は、自ポートすなわちループ検出フレームを送信したポートの優先度が、ループ検出フレームに格納されている優先度情報より低いか否かを判断する（ステップＳ５）。なお、上述したように、本実施の形態では、優先度の高いほど優先度の数値としては小さい値を用いているため、優先度として格納されている値が小さいほど優先度が高いことを示す。自ポートの優先度が、ループ検出フレームに格納されている優先度情報より低い場合（ステップＳ５  Ｙｅｓ）、受信したループ検出フレームの優先度情報を、自装置のポートの優先度を示す情報に更新し（ステップＳ６）、ステップＳ７へ進む。
【００４０】
自ポートの優先度が、ループ検出フレームに格納されている優先度情報より低くない場合（ステップＳ５  Ｎｏ）、転送フレーム生成部２４は、受信したループ検出フレームを多重部２５、出力制御部１４経由で転送し（ステップＳ７）、ステップＳ８へ進む。
【００４１】
次に、図１０を用いて、ポート検出フレームの送信とポート閉塞処理について説明する。ループ検出部１５は、リンク確立したポートごとに、図１０の処理を実施する。状態制御部２６は、ループ検出フレームの送信タイミングであるか否かを判断する（ステップＳ１１）。ループ検出フレームの送信タイミングでない場合（ステップＳ１１  Ｎｏ）、ステップＳ１１へ戻る。
【００４２】
ループ検出フレームの送信タイミングである場合（ステップＳ１１  Ｙｅｓ）、状態制御部２６は、ループ管理テーブルから、送信ポートのエントリすなわちルート検出フレームを送信するポートに対応するエントリを読み出すとともにループ管理テーブル内の該エントリをクリアする（ステップＳ１２）。次に、状態制御部２６は、送信ポートすなわちルート検出フレームを送信するポートがループ経路の最低優先ポートであるか否かを判断する（ステップＳ１３）。具体的には、状態制御部２６は、ステップＳ１２で読み出したエントリを参照して、受信ポートビットマップ部分に１がありすなわち自装置から送信したフレームを自装置が受信している状態であり、かつエントリの最低優先の中継装置の欄がループ経路内で最低の優先度の中継装置であることを示す値であった場合に、送信ポートが最低優先ポートであると判断する。
【００４３】
送信ポートが最低優先ポートである場合（ステップＳ１３  Ｙｅｓ）、ループ検出部１５は、ループ管理テーブルから読み出した送受信ポート受信ポートビットマップを参照して、ループ経路内の自装置が有するポートのうち最高優先ポート以外のポートを閉塞する（ステップＳ１４）。具体的には、状態制御部２６が、ループ検出フレームから読み出した送受信ポート受信ポートビットマップを参照して、ループ経路内の自装置が有するポートのうち最高優先のポート以外のポートを閉塞すると判断し、その旨をポート状態管理ステートマシン２８へ通知する。なお、最高優先のポートとは上述したポートの優先度の判定において優先度の最も高いポートである。なお、ループ経路内で最低の優先度の中継装置であったとしても、ループ経路が生じていると右回りと左回りとの２つの方向の経路があり、どちらかが運用に用いられていた経路である可能性がある。このため、運用に用いられていた経路に対応するポートを閉塞させないように、リンク確立直後のポートを主信号フィルタとすることで運用ポートと識別し、ステップＳ１４では最高優先ポートでないポートを閉塞するようにしている。ポート状態管理ステートマシン２８は、状態制御部２６からの通知に基づいて、管理しているポート状態を更新し、フレーム受信部１２−１〜１２−Ｎに全ポートのポート状態を通知する。
【００４４】
そして、ループ検出部１５は、ループ検出フレームを出力制御部１４経由で送信し（ステップＳ１５）、処理を終了する。また、ステップＳ１３で、送信ポートが最低優先ポートでない場合（ステップＳ１３  Ｎｏ）、ステップＳ１５へ進む。図１０のＡで示した部分がポートを閉塞する閉塞処理となる。
【００４５】
なお、本実施の形態では、ポート状態に基づいて優先度を決定するようにしたが、各中継装置のアドレスの大小により優先度を変更するようにしてもよい。例えば、アドレスに基づく重みをポート状態により定まる優先度に乗じたものを優先度として用いる。また、同一の中継装置内でポートごとに優先度を変えるようにしてもよい。例えば、ポート状態により定まる優先度に自装置内でのポート番号を乗じたもの優先度として用いてもよい。
【００４６】
次に、本実施の形態の中継装置の通信システムへの適用例について説明する。図１１は、本実施の形態の通信システムの構成例を示す図である。図１１に示すように、本実施の形態の通信システムは、時刻同期のマスタとなる親局装置２、それぞれが本実施の形態の中継装置１である中継装置１−１〜１−５と、時刻同期のスレーブである子局装置３とを備える。親局装置２は中継装置１−１に接続され、中継装置１−１は親局装置２および中継装置１−２に接続され、中継装置１−２は中継装置１−１、中継装置１−３および中継装置１−５に接続され、中継装置１−３は中継装置１−２および中継装置１−４に接続され、中継装置１−４は、子局装置３に接続されている。中継装置１−４と中継装置１−５との間は、はじめは接続されておらず、経路３００を用いた通信と経路３０１を用いた通信とが行われており、ループ経路は存在しない。この状態で、中継装置１−４と中継装置１−５とが接続され新規リンク４００が確立したとする。
【００４７】
ループ経路の形成前は、親局装置２と子局装置３とは、中継装置１−１〜１−４を経由した経路３００で通信を行っており、時刻同期もこの経路で行われる。新規リンク４００の追加によりループ経路が生じると、本実施の形態の中継装置１−４は、リンク確立を検出して中継装置１−４のポート１０−２のポート状態は主信号フィルタとなる。
【００４８】
図１２は、本実施の形態の閉塞処理によりループ経路を回避した例を示す図である。中継装置１−４及び中継装置１−５の新規リンク４００に接するポートのポート状態は主信号フィルタであるため、運用中の経路よりも優先度が低くなり、ループ検出フレームの送信および受信処理により、中継装置１−４と中継装置１−５の優先度の低い側のポートを閉塞する。したがって、ポート閉塞後の経路は、経路３０２となり、図１１の状態すなわちループ経路の形成前と同じ経路となる。一方、ＳＴＰによりループ経路の回避を行うことを仮定した場合、経路３０２より経路３０３のパスコストが小さいと、ループ回避後の経路は経路３０３となる。経路３０３では、親局装置２と子局装置３との間のトポロジの変化に伴い転送遅延時間が変化し、時刻同期精度に影響する。これに対し、本実施の形態では、運用状態のポートの優先度を高くし、優先度の低いポートを閉塞させているため、ループ経路の形成前に運用に用いられていたポートが閉塞されずに、優先度の低い新規リンク４００に接するポートが閉塞される。このため、本実施の形態では、親局装置２と子局装置３との間のループ回避後の経路がループ経路の形成前の経路と同じになり、親局装置２と子局装置３との間のトポロジが変化しないため、時刻同期精度に対する影響はない。また、管理者が、ループ経路を解消するための経路切替えを行う必要がなく、中継装置１が自律的にループ経路を解消できる。
【００４９】
以上のように、本実施の形態では、中継装置１が、ポートごとにポート状態を管理し、リンク確立すると、ポート状態を主信号フィルタすなわちループ検出フレームの送受信を行い主信号フレームの転送を行わない状態に遷移させ、自装置から送信したループ検出フレームを検出して一定時間以上自装置から送信したループ検出フレームを受信しない場合にポート状態を運用に遷移させ、自装置から送信するループ検出フレームを送信したポートを示す情報とポート状態に応じて決定される優先度を優先度情報として格納する。そして、自装置以外の中継装置からループ検出フレームを受信した場合、自装置のポートの優先度が低い場合に、受信したフレームの優先度情報を自装置のポートに対応する優先度で更新して転送する。また、受信したループ検出フレームに基づいて、自装置から送信したループ検出フレームの送信ポートと受信ポートとループ経路において自装置が最低の優先度の中継装置であるか否かを示す情報を格納したループ管理テーブルを更新する。そして、ループ管理テーブルに基づいて、自装置が最低の優先度の中継装置である場合に、自装置のポートを閉塞させるようにした。このため、接続形態を変化させずに自律的にループ経路を解消することができる。
【００５０】
実施の形態２．
図１３は、本発明にかかる実施の形態２の通信システム５００の構成例を示す図である。図１３に示すように、本実施の形態の通信システム５００は、実施の形態１で述べた中継装置１と同様の構成を有する中継装置１−１，１−２と、実施の形態１で述べた中継装置１としての機能を有しない中継装置４とを備える。本実施の形態では、中継装置１−１，１−２が図２に示すループ管理テーブル記憶部２７に記憶する情報が追加され、本実施の形態の中継装置がループ経路上に存在するか否かを判断する処理を追加する動作を行うが、これら以外の動作および構成は、実施の形態１と同様である。以下実施の形態１と異なる点を説明する。また、本実施の形態の中継装置１−１，１−２の構成は実施の形態１と同様であるため、実施の形態１と同様の機能を有する構成要素を用いて説明する場合には、実施の形態１と同一の符号を付す。
【００５１】
実施の形態１の中継装置は、ループ経路が形成された場合にループ形成前のトポロジを変化させずにループ経路を検出し、ループ経路上のポートを閉塞することでループ経路を解消した。しかしながら、このような機能を有する中継装置とこのような機能を備えない中継装置とが混在する場合もある。例えば、図１３に示すような構成の場合、中継装置４は自律的にループ経路を検出できないので、中継装置４を含むループが形成された場合に、ループ経路内に実施の形態１と同様の中継装置が存在しないとループ検出ができない。本実施の形態では、このような構成における、ループ検出処理について説明する。
【００５２】
図１３に示すように、中継装置４は、ポート４０−１，４０−２，４０−３を有する。中継装置４のポート４０−１は中継装置１−２のポート１０−２に接続されている。中継装置４のポート４０−２とポート４０−３の間でループ経路が形成されている。このような場合、ループ検出部１５を有していない中継装置４に代わり、ループ経路に最も近い、中継装置１−２がループを検出し、ポート１０−２を閉塞する必要がある。また、ループ経路との間に中継装置１−２が存在する中継装置１−１では、延伸先にループを検出しても、中継装置１−２に接続するポート１０−１を閉塞しないように制御する必要がある。以下、ループ検出部１５を有している中継装置１−１，１−２等を、ループ検出部を有する中継装置または本実施の形態の中継装置または優先度情報を更新可能な中継装置とよび、中継装置４を、ループ検出部を有していない中継装置とよぶ。
【００５３】
本実施の形態では、自装置が送信したループ検出フレームの送信ポートと受信ポートが同一の場合、自装置がループ検出部を有する中継装置のうちループ経路に最も近い中継装置であるのか否かを判別するために、ループ検出フレームに格納されているループ経路内の優先度情報を用いる。ループ経路内の優先度情報を更新できるのはループ検出部を有する中継装置のみであるため、優先度情報の更新の有無で延伸先にループ検出部を有する中継装置が存在するか否かの判別が可能である。
【００５４】
したがって、本実施の形態の中継装置１−１，１−２のループ検出部１５の状態制御部２６は、自装置が送信したループ検出フレームを受信した場合、該ループ検出フレームの優先度情報を参照し、優先度情報が更新されているか否かを判断する。なお、ループ管理部１５は、自装置が送信したループ検出フレームを送信したときに設定した優先度情報を保持しておく。または、優先度情報として実施の形態１の優先度と同様の情報に加え、更新したか否かを示す情報を格納するようにしてもよい。
【００５５】
図１４は、本実施の形態のループ検出部１５におけるループ検出フレームの受信時の処理手順の一例を示すフローチャートである。図１４に示すように、ステップＳ４をステップＳ４ａに替える以外は、実施の形態１の図９と同様である。ステップＳ４ａでは、状態制御部２６は、ループ管理テーブルの更新の際に、実施の形態１のステップＳ４と同様の更新を行うとともに、受信したループ検出フレームの優先度情報が更新されているか否かに基づいて本実施の形態の中継装置すなわち優先度情報を更新可能な中継装置の有無を示す情報も更新する。図１５は、本実施の形態のループ管理テーブルの構成例を示す図である。図１５に示すように、本実施の形態のループ管理テーブルには、本実施の形態の中継装置の有無の欄、すなわちループ経路上にループ検出部を有する中継装置があるか否かを示す情報が追加されている。
【００５６】
図１６は、本実施の形態のループ検出部１５におけるループ検出フレーム送信およびポート閉塞処理手順の一例を示すフローチャートである。本実施の形態のループ検出部１５におけるループ検出フレーム送信およびポート閉塞処理は、ステップＳ１２をステップＳ１２ａを替え、ステップＳ２１、ステップＳ２２、ステップＳ２３を追加する以外は、実施の形態１の本実施の形態のループ検出部１５におけるループ検出フレーム送信およびポート閉塞処理と同様である。ステップＳ１２ａでは、実施の形態１と同様に、ループ検出部１５が、送信ポートのエントリを読み出すとともにループ管理テーブル内の該エントリをクリアするが、このとき、上述したようにループ経路上に本実施の形態の中継装置があるか否かを示す情報も読み出される。ステップＳ１２ａの後、ステップＳ２１で、状態制御部２６は、読み出したエントリの受信ポートビットマップに基づいて、ループ検出フレームの送信ポートと受信ポートとが同一であるか否かを判断する（ステップＳ２１）。なお、ステップＳ２１において、ループ検出フレームの送信ポートと受信ポートが同一であるとは、自装置から送信したループ検出フレームを受信したポートと、該ループ検出フレームを送信したポートが同一であることを意味する。なお、ループ検出フレーム送信したポートを示す送信ポート情報はループ検出フレームに格納されており、この情報を用いて送信したポートを識別することができる。
【００５７】
ループ検出フレームの送信ポートと受信ポートとが同一である場合（ステップＳ２１  Ｙｅｓ）、状態制御部２６は、ループ経路上に本実施の形態の中継装置１が有るか否かをループ管理テーブルから読出したエントリに基づいて判断する（ステップＳ２２）。ループ経路上に本実施の形態の中継装置１が有る場合（ステップＳ２２  Ｙｅｓ）、ステップＳ１５へ進む。ループ経路上に本実施の形態の中継装置１が無い場合（ステップＳ２２  Ｎｏ）、ループ検出部１５は、ループ検出フレームの送信ポートを閉塞し（ステップＳ２３）、ステップＳ１５へ進む。ステップＳ２３では、具体的には、状態制御部２６が、ループ検出フレームの送信ポートを閉塞すると判断し、その旨をポート状態管理ステートマシン２８に通知する。その後、ポート状態管理ステートマシン２８は、状態制御部２６からの通知に基づいて、管理しているポート状態を更新し、閉塞するポートに対応するフレーム受信部１２−１〜１２−Ｎへ、ポート閉塞が有意であることを示すポート閉塞指示を送信する。これにより、ポートが閉塞状態となる。
【００５８】
ループ検出フレームの送信ポートと受信ポートが同一でない場合（ステップＳ２１  Ｎｏ）、ステップＳ１３へ進む。
【００５９】
以上のように、ループ検出フレームに格納された優先度情報の更新の有無に基づいて、ループ経路上に本実施の形態の中継装置が存在するか否かを判断し、ループ経路上に本実施の形態の中継装置が存在せずかつ自装置から送信したループ検出フレームを受信したポートと、該ループ検出フレームを送信したポートが同一である場合に、実施の形態１の優先度情報に基づくポート閉塞処理を行うようにした。このため、実施の形態１と同様の効果が得られるとともに、ループ経路内に本実施の形態の中継装置が存在しない場合にも、本実施の形態の中継装置のうちループ経路に最も近い中継装置がポートを閉塞することができる。
【００６０】
実施の形態３．
次に実施の形態３の中継装置について説明する。本実施の形態の中継装置１の構成は実施の形態との中継装置１と同様である。以下、実施の形態１と異なる点を説明する。実施の形態１および実施の形態２では、ポートを閉塞する処理について説明したが、ポートの閉塞後、ループ経路が解消されることも考えられる。この場合、閉塞ポートで一定時間の間、自装置が送信したループ検出フレームを未受信の場合には当該ポートを運用に遷移させることによりポート閉塞を解除し、不要なポート閉塞状態が発生しないようにする。
【００６１】
図１７は、本実施の形態のポート閉塞解除処理手順の一例を示すフローチャートである。図１７に示すように、ルート管理部１５の状態制御部２６は、閉塞ポートで、一定期間自装置から送信したループ検出フレームを未受信であるか否かを判断する（ステップＳ３１）。ポート閉塞の後、閉塞ポートで、一定期間自装置から送信したループ検出フレームを未受信である場合（ステップＳ３１  Ｙｅｓ）、閉塞ポートのポート状態を運用に変更し（ステップＳ３２）、処理を終了する。ポート閉塞の後、閉塞ポートで、一定期間経過するまでの間に自装置から送信したループ検出フレームを受信した場合（ステップＳ３１  Ｎｏ）、処理を終了する。以上述べた以外の本実施の形態の動作および構成は実施の形態１と同様である。また、実施の形態２の中継装置に、以上述べた本実施の形態の動作を追加してもよい。
【００６２】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００６３】
１，１−１〜１−Ｎ，４  中継装置、１０−１〜１０−Ｎ  ポート、１１  ＦＤＢテーブル記憶部、１２−１〜１２−Ｎ  フレーム受信部、１３  多重化部、１４  出力制御部、１５  ループ検出部、２１  リンク監視部、２２  フレーム識別部、２３  ループ検出フレーム生成部、２４  転送フレーム生成部、２５  多重部、２６  状態制御部、２７  ループ管理テーブル記憶部、２８  ポート状態管理ステートマシン、１００  制御回路、１０１  入力部、１０２  プロセッサ、１０３  メモリ、１０４  出力部、２００  通信制御回路。
【図１】
2016135828.tif 000003
【図２】
2016135828.tif 000004
【図３】
2016135828.tif 000005
【図４】
2016135828.tif 000006
【図５】
2016135828.tif 000007
【図６】
2016135828.tif 000008
【図７】
2016135828.tif 000009
【図８】
2016135828.tif 000010
【図９】
2016135828.tif 000011
【図１０】
2016135828.tif 000012
【図１１】
2016135828.tif 000013
【図１２】
2016135828.tif 000014
【図１３】
2016135828.tif 000015
【図１４】
2016135828.tif 000016
【図１５】
2016135828.tif 000017
【図１６】
2016135828.tif 000018
【図１７】
2016135828.tif 000019
【手続補正書】
【提出日】平成29年6月19日(2017.6.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のポートと、
前記ポートごとの優先度を管理し、送信するポートを示すポート情報が格納され優先度を示す優先度情報が格納されるための領域が設けられたループ検出フレームを定期的に生成して出力し、ループ検出フレームを受信すると、受信したループ検出フレームの優先度情報が示す優先度より前記ポートの優先度が低い場合に、受信したループ検出フレームの前記優先度情報を前記ポートの優先度で更新し、前記優先度情報を更新したループ検出フレームを出力し、自装置から送信したループ検出フレームを受信した場合、ループ検出フレームに格納された前記優先度情報と前記ポートごとの優先度に基づいて前記ポートを閉塞させるか否かを制御するループ検出部と、
前記ループ検出部から出力されるループ検出フレームを前記ポートへ送出する出力制御部と、
を備え、
前記ループ検出部は、自装置から送信したループ検出フレームを受信した場合、受信したループ検出フレームに格納された前記優先度情報が示す優先度より優先度が低い前記ポートであり、ループ経路内の自装置の前記ポートを閉塞させる中継装置。
【請求項２】
前記ループ検出部は、
自装置から送信したループ検出フレームを受信した場合に、ループ経路が生じていると判断し、受信したループ検出フレームに格納された前記優先度情報が示す優先度よりループ検出フレームを送信した前記ポートの優先度が低い場合に、自装置が前記ループ経路内で低優先の装置であると判断し、受信した前記ループ検出フレームを送信した前記ポートおよび受信した前記ポートと、自装置が前記低優先の装置であるか否かを示す情報とを対応付けてループ管理情報として記憶し、前記ループ管理情報に基づいて自装置が前記低優先の装置であると判断した場合に、前記ループ経路内の前記ポートを閉塞させることを特徴とする請求項１に記載の中継装置。
【請求項３】
前記ループ検出部は、
前記ループ経路が生じていると判断した場合に、自装置から送信したループ検出フレームを受信した際に、受信したループ検出フレームに格納された前記優先度情報に基づいて、前記ループ経路内に、前記優先度情報を更新可能な中継装置があるか否かを判断し、自装置から送信したループ検出フレームを受信したポートと該ループ検出フレームを送信した前記ポートが同一でありかつ前記ループ経路内に、前記優先度情報を更新可能な中継装置が無い場合に、該ループ検出フレームを送信した前記ポートを閉塞させることを特徴とする請求項１または２に記載の中継装置。
【請求項４】
前記ループ検出部は、
前記ポートを閉塞させてから一定時間自装置が送信したループ検出フレームを受信しない場合、前記ポートの閉塞を解除することを特徴とする請求項１、２または３に記載の中継装置。
【請求項５】
前記ループ検出部は、前記ポートごとに、前記ポートの状態が、全てのフレームの送受信を行う第１の状態と、ループ検出フレームの送受信を行いループ検出フレーム以外のフレームを送信しない第２の状態と、閉塞状態である第３の状態とのうちいずれの状態であるかを管理し、前記ポートの状態と優先度との対応を管理することを特徴とする請求項１から４のいずれか１つに記載の中継装置。
【請求項６】
前記第１の状態に対応する優先度は前記第２の状態に対応する優先度より高く、前記第２の状態に対応する優先度は前記第３の状態に対応する優先度より優先度が高いことを特徴とする請求項５に記載の中継装置。
【請求項７】
前記ループ検出部は、前記ポートごとに、リンク確立を検出すると前記ポートを前記第２の状態に遷移させ、前記第２の状態にさせた後、一定時間自装置が送信したループ検出フレームを前記ポートで受信しない場合、または一定時間前記ポートから送信したループ検出フレームを自装置が受信しない場合、前記ポートを前記第１の状態に遷移させることを特徴とする請求項５または６に記載の中継装置。
【請求項８】
前記ループ検出フレームの送信元の前記中継装置である場合、送信する前記ループ検出フレームの前記優先度情報の領域に有意な情報挿入せずに送信し、最初に前記ループ検出フレームを受信した前記中継装置である場合、前記優先度情報として受信ポートまたは送信ポートのうちより低い優先度のポートの優先度を格納して該ループ検出フレームを転送することを特徴とする請求項１から７のいずれか１つに記載の中継装置。
【請求項９】
請求項１から８のいずれか１つに記載の中継装置を複数備え、
親局装置と、
複数の前記中継装置を介して前記親局装置と通信を行う子局装置と
を備えることを特徴とする通信システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
上述した課題を解決し、目的を達成するために、本発明の中継装置は、複数のポートと、ポートごとの優先度を管理し、送信するポートを示すポート情報が格納され優先度を示す優先度情報が格納されるための領域が設けられたループ検出フレームを定期的に生成して出力し、ループ検出フレームを受信すると、受信したループ検出フレームの優先度情報が示す優先度よりポートの優先度が低い場合に、受信したループ検出フレームの優先度情報をポートの優先度で更新し、優先度を更新したループ検出フレームを出力し、自装置から送信したループ検出フレームを受信した場合、ループ検出フレームに格納された優先度情報とポートごとの優先度に基づいてポートを閉塞させるか否かを制御するループ検出部を備える。また、この中継装置は、ループ検出部から出力されるループ検出フレームをポートへ送出する出力制御部、を備える。ループ検出部は、自装置から送信したループ検出フレームを受信した場合、受信したループ検出フレームに格納された優先度情報が示す優先度より優先度が低いポートであり、ループ経路内の自装置のポートを閉塞させる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
実施の形態１．
図１は、本発明にかかる実施の形態１の中継装置１の構成例を示す図である。中継装置１は、送信ポートでありかつ受信ポートであるポート１０−１〜１０−Ｎを備える。なお、Ｎは２以上の整数である。中継装置１のＦＤＢテーブル記憶部１１は、受信したフレームの送信元アドレスと受信ポートの情報が関連付けて登録されるＦＤＢ（Forwarding  DataBase）テーブルを記憶する。フレーム受信部１２−１〜１２−Ｎは、ポート１０−１〜１０−Ｎのうち対応する１つのポートに接続し、接続したポートにより受信されたフレームから宛先アドレスに基づいて該フレームを送出する送信ポートを決定する。多重化部１３は、フレーム受信部１２−１〜１２−Ｎから入力されたフレームを多重化する。出力制御部１４は、受信フレームの宛先ポートごとにフレームを振り分けて、フレームを送出する。ループ検出部１５は、ポート１０−１〜１０−Ｎごとの優先度を管理し、送信するポート１０−１〜１０−Ｎを示すポート情報とループ経路上の最低優先ポート情報を更新するための優先度を示す優先度情報とを格納する領域を設けたループ検出フレームを定期的に生成して出力し、ループ検出フレームを受信すると、受信したループ検出フレームの優先度情報が示す優先度より該フレームの送受信ポートの優先度が低い場合に、受信したループ検出フレームの優先度情報を自身の優先度で更新し、更新したループ検出フレームを出力し、自装置から送信したループ検出フレームを受信した場合、ループ検出フレームに格納された優先度情報と該フレームの送受信ポートの優先度に基づいてポートを閉塞させるか否かを制御する。なお、図１では、受信側のポートと受信側のポートを分けて図示しているが、実際には、図１の左側のポート１０−ｉ（ｉ＝１，…，Ｎ）と右側のポート１０−ｉとは同一のポートである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
次に、本実施の形態の中継装置１の動作について説明する。図５は、ＦＤＢテーブル記憶部１１に記憶されるＦＤＢテーブルの構成例を示す図である。図５に示すように、ＦＤＢテーブルには、アドレスと該アドレスに対応するポート番号とが格納される。ポート番号は、ポート１０−１〜１０−Ｎの番号を示し、図５では、ポート１０−ｉのポート番号をポート＃ｉと記載している。ｉは１以上の整数である。なお、本実施の形態におけるアドレスとは、送信元および宛先の装置等を示す識別情報であり、例えば、ＭＡＣアドレスである。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
状態制御部２６は、リンク監視部２１からリンク検出信号を受信すると、このリンク検出信号をポート状態管理ステートマシン２８へ転送する。また、状態制御部２６は、ループ検出フレームを送信したポートである送信ポートと、ループ検出フレームを受信したポートである受信ポートとの対応を示す情報をループ管理テーブルとしてループ管理テーブル記憶部２７に格納する。図８は、本実施の形態のループ管理テーブルの構成例を示す図である。図８に示すように、ループ管理テーブルには、ループ検出フレームを送信する送信ポートごとに、該送信ポートから送信したループ検出フレームを受信した受信ポートを示す情報が受信ポートビットマップとして格納される。受信ポートビットマップでは、０は受信していないことを示し、１は受信したことを示す。したがって、１が格納されている場合には、１に対応する組み合わせの経路でループ経路が生じていることを示す。例えば、図８の例では、送信ポートが１であり、受信ポートが２の組み合わせが１となっている。これは、ポート１０−１から送信したループ検出フレームがポート１０−２で受信されたことを示している。すなわち、図８に示す受信ポートビットマップで１が存在するエントリはループ経路が有るすなわちループ経路が生じているエントリである。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
ループ検出フレームの送信タイミングである場合（ステップＳ１１  Ｙｅｓ）、状態制御部２６は、ループ管理テーブルから、送信ポートのエントリすなわちループ検出フレームを送信するポートに対応するエントリを読み出すとともにループ管理テーブル内の該エントリをクリアする（ステップＳ１２）。次に、状態制御部２６は、送信ポートすなわちループ検出フレームを送信するポートがループ経路の最低優先ポートであるか否かを判断する（ステップＳ１３）。具体的には、状態制御部２６は、ステップＳ１２で読み出したエントリを参照して、受信ポートビットマップ部分に１がありすなわち自装置から送信したフレームを自装置が受信している状態であり、かつエントリの最低優先の中継装置の欄がループ経路内で最低の優先度の中継装置であることを示す値であった場合に、送信ポートが最低優先ポートであると判断する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
送信ポートが最低優先ポートである場合（ステップＳ１３  Ｙｅｓ）、ループ検出部１５は、ループ管理テーブルから読み出した受信ポートビットマップを参照して、ループ経路内の自装置が有するポートのうち最高優先ポート以外のポートを閉塞する（ステップＳ１４）。具体的には、状態制御部２６が、ループ検出フレームから読み出した受信ポートビットマップを参照して、ループ経路内の自装置が有するポートのうち最高優先のポート以外のポートを閉塞すると判断し、その旨をポート状態管理ステートマシン２８へ通知する。なお、最高優先のポートとは上述したポートの優先度の判定において優先度の最も高いポートである。なお、ループ経路内で最低の優先度の中継装置であったとしても、ループ経路が生じていると右回りと左回りとの２つの方向の経路があり、どちらかが運用に用いられていた経路である可能性がある。このため、運用に用いられていた経路に対応するポートを閉塞させないように、リンク確立直後のポートを主信号フィルタとすることで運用ポートと識別し、ステップＳ１４では最高優先ポートでないポートを閉塞するようにしている。ポート状態管理ステートマシン２８は、状態制御部２６からの通知に基づいて、管理しているポート状態を更新し、フレーム受信部１２−１〜１２−Ｎに全ポートのポート状態を通知する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
なお、本実施の形態では、ポート状態に基づいて優先度を決定するようにしたが、各中継装置のアドレスの大小により優先度を変更するようにしてもよい。例えば、アドレスに基づく重みをポート状態により定まる優先度に乗じたものを優先度として用いる。また、同一の中継装置内でポートごとに優先度を変えるようにしてもよい。例えば、ポート状態により定まる優先度に自装置内でのポート番号を乗じたものを優先度として用いてもよい。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
以上のように、本実施の形態では、中継装置１が、ポートごとにポート状態を管理し、リンク確立すると、ポート状態を主信号フィルタすなわちループ検出フレームの送受信を行い主信号フレームの転送を行わない状態に遷移させ、自装置から送信したループ検出フレームを検出して一定時間以上自装置から送信したループ検出フレームを受信しない場合にポート状態を運用に遷移させ、自装置から送信するループ検出フレームを送信したポートを示す情報とポート状態に応じて決定される優先度を優先度情報として格納する。そして、ループ検出フレームを受信した場合、自装置のポートの優先度が低い場合に、受信したフレームの優先度情報を自装置のポートに対応する優先度で更新して転送する。また、受信したループ検出フレームに基づいて、自装置から送信したループ検出フレームの送信ポートと受信ポートとループ経路において自装置が最低の優先度の中継装置であるか否かを示す情報を格納したループ管理テーブルを更新する。そして、ループ管理テーブルに基づいて、自装置が最低の優先度の中継装置である場合に、自装置のポートを閉塞させるようにした。このため、接続形態を変化させずに自律的にループ経路を解消することができる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
したがって、本実施の形態の中継装置１−１，１−２のループ検出部１５の状態制御部２６は、自装置が送信したループ検出フレームを受信した場合、該ループ検出フレームの優先度情報を参照し、優先度情報が更新されているか否かを判断する。なお、ループ検出部１５は、自装置が送信したループ検出フレームを送信したときに設定した優先度情報を保持しておく。または、優先度情報として実施の形態１の優先度と同様の情報に加え、更新したか否かを示す情報を格納するようにしてもよい。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
図１６は、本実施の形態のループ検出部１５におけるループ検出フレーム送信およびポート閉塞処理手順の一例を示すフローチャートである。本実施の形態のループ検出部１５におけるループ検出フレーム送信およびポート閉塞処理は、ステップＳ１２をステップＳ１２ａを替え、ステップＳ２１、ステップＳ２２、ステップＳ２３を追加する以外は、実施の形態１のループ検出部１５におけるループ検出フレーム送信およびポート閉塞処理と同様である。ステップＳ１２ａでは、実施の形態１と同様に、ループ検出部１５が、送信ポートのエントリを読み出すとともにループ管理テーブル内の該エントリをクリアするが、このとき、上述したようにループ経路上に本実施の形態の中継装置があるか否かを示す情報も読み出される。ステップＳ１２ａの後、ステップＳ２１で、状態制御部２６は、読み出したエントリの受信ポートビットマップに基づいて、ループ検出フレームの送信ポートと受信ポートとが同一であるか否かを判断する（ステップＳ２１）。なお、ステップＳ２１において、ループ検出フレームの送信ポートと受信ポートが同一であるとは、自装置から送信したループ検出フレームを受信したポートと、該ループ検出フレームを送信したポートが同一であることを意味する。なお、ループ検出フレーム送信したポートを示す送信ポート情報はループ検出フレームに格納されており、この情報を用いて送信したポートを識別することができる。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
実施の形態３．
次に実施の形態３の中継装置について説明する。本実施の形態の中継装置１の構成は実施の形態１の中継装置１と同様である。以下、実施の形態１と異なる点を説明する。実施の形態１および実施の形態２では、ポートを閉塞する処理について説明したが、ポートの閉塞後、ループ経路が解消されることも考えられる。この場合、閉塞ポートで一定時間の間、自装置が送信したループ検出フレームを未受信の場合には当該ポートを運用に遷移させることによりポート閉塞を解除し、不要なポート閉塞状態が発生しないようにする。
【国際調査報告】
2016135828.tif 000020
2016135828.tif 000021