(57)【特許請求の範囲】
【請求項１】
データを送信および受信する複数のポートと、
ループ構成を検知するための、送信元ポート情報を含むループ検知データを前記複数のポートの各ポートから送信する送信部と、
前記複数のポートのうちの一のポートから送信されたループ検知データを他のポートで受信した場合に、前記ループ検知データを受信した前記他のポートが閉塞状態であるか否かを判定する判定部と、
前記ループ検知データを受信した前記他のポートが前記判定部による判定処理時に閉塞状態ではない場合には前記ループ検知データを送信した前記一のポートを閉塞状態とする処理を行い、前記他のポートが閉塞状態である場合には前記一のポートに対して処理を行わないポート制御部と、
を備える情報処理装置。
【請求項２】
前記他のポートで前記ループ検知データを受信してから、前記判定部により前記ループ検知データを受信した前記他のポートが閉塞状態であるか否かを判定するまでにタイムラグがある
請求項１に記載の情報処理装置。
【請求項３】
ルート選択アルゴリズムを用いたループ抑止機能が起動しているとき、前記ポート制御部は、前記複数のポートの状態を監視し、前記ループ抑止機能によってデータの転送が行われないブロッキング状態から非ブロッキング状態へと遷移したポートがある場合には、該当するポートから前記ループ検知データを送信する
請求項１又は２に記載の情報処理装置。
【請求項４】
前記送信部は、前記複数のポートのすべてのポートから前記ループ検知データをマルチキャスト送信する
請求項１に記載の情報処理装置。
【請求項５】
少なくとも第１の情報処理装置、第２の情報処理装置、および第３の情報処理装置を備えるネットワークシステムであって、
前記第１の情報処理装置は、前記第２の情報処理装置と接続するポートおよび前記第３の情報処理装置と接続するポートを有する、データを送信および受信する複数のポートと、
ループ構成を検知するための、送信元ポート情報を含むループ検知データを前記複数のポートの各ポートから送信する送信部と、
前記複数のポートのうちの一のポートから送信されたループ検知データを他のポートで受信した場合に、前記ループ検知データを受信した前記他のポートが閉塞状態であるか否かを判定する判定部と、
前記ループ検知データを受信した前記他のポートが前記判定部による判定処理時に閉塞状態ではない場合には前記ループ検知データを送信した前記一のポートを閉塞状態とする処理を行い、前記他のポートが閉塞状態である場合には前記一のポートに対して処理を行わないポート制御部と、
を備えるネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびネットワークシステムに関し、詳しくは、例えば基幹ネットワークのスイッチ装置およびそのスイッチ装置配下に配置されたスイッチ装置により構成されたネットワークシステムにおけるループを防止する技術に関する。
【背景技術】
【０００２】
ネットワーク上のループ抑止機能として、ＳＴＰ（Spanning Tree Protocol）やＲＳＴＰ(Rapid Spanning Tree Protocol)等のスパニングツリーが知られているが、一般的に基幹ネットワークに配置したスイッチ装置では、これらのループ抑止機能が起動している。スパニングツリーは、並列に接続された複数ブリッジ間のネットワーク内で、フレームが無限に循環すること（ループ）を抑止するためのルート選択アルゴリズムである。スパニングツリーのアルゴリズムは、ＩＥＥＥ  ８０２．１ｄとして標準化されている。
【０００３】
基幹ネットワークの配下に属しているスイッチ装置では、頻繁にポート増設が行われたり、一時的な目的で装置が設置されたりすることが多い。このような簡易的に配置したスイッチ装置でＳＴＰ等を起動するとトポロジ変更等が頻繁に発生し基幹ネットワークに影響を与えてしまうため、ＳＴＰ等のループ抑止機能を起動させていないことがある。このような環境では基幹ネットワークの配下でループ障害が発生した場合、その影響がネットワーク全体に波及してしまうため、基幹ネットワーク配下の各スイッチ装置でループ検知機能を起動する。
【０００４】
例えば、従来のループ検知機能として、基幹ネットワークのスイッチ装置のポートからループ検知フレームを定周期で送信し、このループ検知フレームを当該スイッチ装置で受信することで、ループ構成になっていることを検知する技術が存在する。
【０００５】
特許文献１には、ループ検知機能を備えたスイッチ装置であって、ループ検知機能を起動するポートに対してポート識別の設定を行うことが記載されている。このループ検知機能では、設定されたポート識別に基づいて、基幹ネットワークや上位スイッチ装置に接続されるスイッチ装置の上位ポートでは、ループ検知フレームの受信だけを行い、送信は行わない。また、スイッチ装置の上位ポートでループ検知フレームを受信した場合は、同スイッチ装置のループ検知フレームを送信した送信元の下位ポートの閉塞制御を行う。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２０７０２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ループ検知機能を有効にしているスイッチ装置において、定周期に複数のポートよりポート検知フレームを送信した際、ループが発生すると複数のポートでループ検知フレームが受信され、該当ポートが閉塞される。このように複数のポートが閉塞されると通信可能なポートが減少し、ネットワークの通信範囲（通信経路数）が大幅に縮小される。
【０００８】
また、特許文献１においては、一般ユーザによるポート識別の設定が難しく、ループ傷害の発生時に、ループ構成となっている部分を早急に切り離すことができない場合がある。
【０００９】
本発明は、上記の状況を考慮してなされたものであり、複雑なポート識別の設定を必要とせず、ネットワークの通信範囲をなるべく維持しつつ、ループを防止するためのポート閉塞を行うことを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様の情報処理装置は、データを送信および受信する複数のポートと、送信部と、判定部と、ポート制御部とを備える。
送信部は、ループ構成を検知するための、送信元ポート情報を含むループ検知データを複数のポートの各ポートから送信する。
判定部は、複数のポートのうちの一のポートから送信されたループ検知データを他のポートで受信した場合に、ループ検知データを受信した他のポートが閉塞状態であるか否かを判定する。
ポート制御部は、ループ検知データを受信した他のポートが判定部による判定処理時に閉塞状態ではない場合には一のポートを閉塞状態とする処理を行い、他のポートが閉塞状態である場合には一のポートに対して処理を行わない。
【００１１】
また、本発明の一態様のネットワークシステムは、少なくとも第１の情報処理装置、第２の情報処理装置、および第３の情報処理装置を備えるネットワークシステムである。
第１の情報処理装置は、第２の情報処理装置と接続するポート、および第３の情報処理装置と接続するポートを有する、データを送信および受信する複数のポートと、上記送信部と、上記判定部と、上記ポート制御部とを備える。
【発明の効果】
【００１２】
本発明の少なくとも一態様によれば、ループ検知データを受信した複数のポートが閉塞されることを防ぎ、ネットワークの通信を維持できる範囲（通信経路数）を広く保つことができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係るネットワークシステムの構成例を示すブロック図である。
【図２】図１のネットワークシステムにおいて、ループが発生した時のループ検知フレームの動きを示す図である。
【図３】ループ検知機能を備えるスイッチ装置の内部構成例を示すブロック図である。
【図４】ループ検知フレームのフレームフォーマットの例を示す説明図である。
【図５】本発明の第１の実施形態に係るループ検知判定処理を示すフローチャートである。
【図６】本発明の第１の実施形態に係るネットワーク誤接続時のループ発生の概要を示すシーケンス図である。
【図７】スイッチ装置のブロッキング状態が変化する前の状態を示す図である。
【図８】スイッチ装置のブロッキング状態が変化した後の状態を示す図である。
【図９】本発明の第２の実施形態に係るポート状態変化監視処理を示すフローチャートである。
【図１０】本発明の第３の実施形態に係るネットワークシステムの構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態の例について、添付図面を参照しながら説明する。説明は下記の順序で行う。なお、各図において実質的に同一の機能又は構成を有する構成要素については、同一の符号を付して重複する説明を省略する。
１．第１の実施形態（ループ検知判定処理の例）
２．第２の実施形態（ポート状態変化監視処理の例）
３．第３の実施形態（スイッチ装置のポート数が４個の例）
【００１５】
＜１．第１の実施形態＞
本実施形態は、ネットワークシステムの誤接続により、スイッチ装置からポート指定をせずに不特定多数の送信宛先に向かって送信されたフレーム（ブロードキャストフレーム）の無限の周回を防止し、これに起因するシステム全体のダウンを防止するものである。
【００１６】
図１は、本発明の第１の実施形態に係るネットワークシステムの構成例を示すブロック図である。
【００１７】
図１に示すネットワークシステム１では、基幹ネットワーク１００に通信線２０１を介して、スイッチ装置１０１（情報処理装置の一例）が接続されている。スイッチ装置１０１は、ループ検知機能を備えたスイッチ装置であり、所謂インテリジェンス型のスイッチングハブである。なお、ネットワークシステム１の通信線には、例えばイーサネット（登録商標）のカテゴリ５ｅのＵＴＰ（Unshielded Twist Pair）ケーブルを用いることができるが、ケーブルはこの例に限らない。
【００１８】
スイッチ装置１０１の第１ポートが、通信線２０２を介してスイッチ装置１０２と接続している。また、スイッチ装置１０１の第２ポートが、通信線２０３を介してスイッチ装置１０３と接続している。即ち、スイッチ装置１０２およびスイッチ装置１０３は、基幹ネットワーク１００に配置されたスイッチ装置１０１の配下に配置されている。スイッチ装置１０２およびスイッチ装置１０３は、ループ検知機能を備えていない。以下、このような基幹ネットワーク１００と接続するスイッチ装置１０１の配下に配置されたスイッチ装置１０２およびスイッチ装置１０３で構成されたネットワークを、「下位ネットワーク」と称する。
【００１９】
スイッチ装置１０２には、通信線２１１〜２１３を介して、３台の通信機器１１１〜１１３が接続されている。また、スイッチ装置１０３には、通信線２１４〜２１６を介して、３台の通信機器１１４〜１１６が接続されている。
【００２０】
スイッチ装置１０１は、ループ検知用のＬ２制御フレームであるループ検知フレーム２２１，２２２（ループ検知データの一例）を、第１ポートと第２ポートから定周期（例えば５秒間隔）で送信する。
【００２１】
図２は、図１のネットワークシステムにおいて、ループが発生した時のループ検知フレームの動きを示す図である。
図２に示すように、スイッチ装置１０１配下のスイッチ装置１０２とスイッチ装置１０３が誤って通信線２１０で直接接続されることにより、スイッチ装置１０１の第１ポートからスイッチ装置１０２へ送信されたループ検知フレーム２２１が、スイッチ装置１０２、１０３を経由して送信元であるスイッチ装置１０１の第２ポートへ入力するループ２３１が形成される。即ち、スイッチ装置１０１の第１ポートから送信されたループ検知フレーム２２１が、ループ２３１の経路を通って送信元であるスイッチ装置１０１の第２ポートで受信されるループ障害が発生する。
【００２２】
同様に、スイッチ装置１０２とスイッチ装置１０３が通信線２１０により誤接続されることにより、スイッチ装置１０１の第２ポートからスイッチ装置１０３へ送信されたループ検知フレーム２２２が、スイッチ装置１０３、１０２を経由して送信元であるスイッチ装置１０１の第１ポートへ入力するループ２３２が形成される。即ち、スイッチ装置１０１の第２ポートから送信されたループ検知フレーム２２２が、ループ２３２の経路を通って送信元であるスイッチ装置１０１の第１ポートで受信されるループ障害が発生する。
【００２３】
従来のスイッチ装置では、ループ検知フレームを受信したポートに対して閉塞処理（ポート閉塞）が実行される。そのため、図２のように基幹ネットワークに接続されたスイッチ装置が下位ネットワークと通信可能なポートを２つ持つ場合には、この２つのポートが閉塞される。したがって、基幹ネットワークと下位ネットワークが完全に切り離されてしまう。このように、ループが発生するとネットワーク傷害が甚大になる可能性がある。したがって、ループを早期に発見することで、ネットワーク傷害を防止することが求められる。
【００２４】
本実施形態では、ループ検知フレームに送信元ポート情報を付加し、スイッチ装置１０１のいずれかのポート３０１でループ検知フレームを受信した時に、スイッチ装置１０１において受信ポートの閉塞状態をチェックする。そして、チェックの結果、受信ポートが非閉塞状態であれば、スイッチ装置１０１はループ検知フレームより取得した送信元ポート情報に基づき、送信元ポートを閉塞状態に遷移させる。
【００２５】
なお、図１および図２では、スイッチ装置１０２とスイッチ装置１０３との間に誤接続された通信線２１０を介して、スイッチ装置１０１〜１０３にループが構成される例を説明したが、この例に限らないことは勿論である。例として、以下のようなループ構成が考えられる。
【００２６】
（１）スイッチ装置１０１の一のポートと他のポートを接続するケース（同一スイッチ装置内のケーブル誤接続）
（２）スイッチ装置１０１配下のスイッチ装置１０２又は１０３内でポート同士を誤接続した場合に、スイッチ装置１０１からスイッチ装置１０２又は１０３向けに送信したフレームが、スイッチ装置１０２又は１０３内のポート同士の誤接続によりスイッチ装置１０１向けに送信され、ループが構成されるケース
（３）スイッチ装置１０１からスイッチ装置１０２又は１０３向けに送信したフレームが、スイッチ装置１０２およびスイッチ装置１０３の配下のスイッチ装置（図示せず）を経由して、スイッチ装置１０３又はスイッチ装置１０２からスイッチ装置１０１向けに送信され、ループが構成されるケース
（４）スイッチ装置１０１から送信したフレームが、下位ネットワークのスイッチ装置１０２又はスイッチ装置１０３から基幹ネットワーク１００を経由して送信元であるスイッチ装置１０１で受信されるケース
【００２７】
図３は、ループ検知機能を備えるスイッチ装置１０１の内部構成例を示すブロック図であり、ループ検知データの一例であるループ検知フレームがスイッチ装置１０１の内部を伝達されていく経路を示している。
【００２８】
スイッチ装置１０１は、外部とデータを入出力するための複数のポート３０１−１〜３０１−３および複数の物理層３０２−１〜３０２−３を備える。また、スイッチ装置１０１は、フレーム転送・ポート制御部３０３、ループ検知フレーム受信制御部３０４−１、ループ検知フレーム送信制御部３０４−２、およびループ検知制御部３０５を備える。以降、ポート３０１−１、ポート３０１−２、およびポート３０１−３を特に区別しない場合もしくは総称する場合には、ポート３０１と記す。同様に、物理層３０２−１、物理層３０２−２、および物理層３０２−３を特に区別しない場合もしくは総称する場合には、物理層３０２と記す。
【００２９】
物理層３０２は、例えば国際標準化機構（OSI : Open Systems Interconnection）により制定されたＯＳＩ参照モデルにおける、ネットワークの物理的な接続および伝送方式を定めた第１層に相当する。
【００３０】
フレーム転送・ポート制御部３０３（送信部およびポート制御部の一例）は、ループ検知フレームを含むスイッチ装置１０１で処理するすべてのフレームの転送（入出力処理）を行うフレーム転送機能と、ポート３０１の閉塞処理および開放（非閉塞）処理を行うポート制御機能を有する。フレーム転送・ポート制御部３０３は、ポートを閉塞させる場合には、閉塞対象のポート３０１とリンクアップ（通信可能な状態）しない。即ち、フレーム転送・ポート制御部３０３は、閉塞対象のポート３０１と接続する物理層３０２を遮断処理することで、閉塞対象のポート３０１とリンクダウン（通信不可能な状態）する。これにより、物理層３０２がいずれかのポート３０１でフレームを受信した場合でも、受信したフレームはフレーム転送・ポート制御部３０３に転送されない。
【００３１】
ループ検知フレーム受信制御部３０４−１は、スイッチ装置１０１で処理する全フレームのうちループ検知フレームのみをフレーム転送・ポート制御部３０３から受信し、ループ検知制御部３０５へ伝達する。
【００３２】
ループ検知フレーム送信制御部３０４−２は、スイッチ装置１０１で処理する全フレームのうちループ検知フレームのみをループ検知制御部３０５から受信し、フレーム転送・ポート制御部３０３へ伝達する。
【００３３】
ループ検知制御部３０５（判定部の一例）は、ループ検知フレーム受信制御部３０４−１からループ検知フレームを受信し、またループ検知フレーム送信制御部３０４−２へループ検知フレームを送信する。
【００３４】
ループ検知フレームをポート３０１−１（一のポートの例）で受信した場合、ループ検知フレームは、信号線３１２を介して物理層３０２−１に伝達される。ループ検知フレームは、物理層３０２−１から信号線３２２を介して、スイッチ装置１０１における全フレームの送受信を制御するフレーム転送・ポート制御部３０３に伝達される。その後、ループ検知フレームは、信号線３３１を介して、ループ検知フレーム受信制御部３０４−１に伝達され、さらに信号線３４１を介して、ループ検知制御部３０５に伝達される。
【００３５】
また、ループ検知フレームをポート３０１−１から送信する場合には、ループ検知フレームは、ループ検知制御部３０５から信号線３４２を介して、ループ検知フレーム送信制御部３０４−２へ伝達され、さらに信号線３３２を介して、フレーム転送・ポート制御部３０３に伝達される。その後、ループ検知フレームは、信号線３２１を介して、物理層３０２−１に伝達され、信号線３１１を介してポート３０１−１へ伝達される。
【００３６】
ポート３０１−２（他のポートの例）でフレームの送信および受信を行う場合も同様に、信号線３１３，３１４を介して、ポート３０１−２と物理層３０２−２との間でフレームの送信および受信を行う。また、信号線３２３，３２４を介して、物理層３０２−２とフレーム転送・ポート制御部３０３との間でフレームの送信および受信を行う。
【００３７】
基幹ネットワーク１００と通信線２０１を介して接続しているポート３０１−３についても、フレームの伝達経路は同様である。信号線３１５，３１６を介して、ポート３０１−３と物理層３０２−３との間でフレームの送信および受信を行う。また、信号線３２５，３２６を介して、物理層３０２−３とフレーム転送・ポート制御部３０３との間でフレームの送信および受信を行う。
【００３８】
ポート３０１を閉塞する際は、ループ検知制御部３０５からポートクローズ指示３５０が発行され、フレーム転送・ポート制御部３０３においてポートクローズ指示を受け付ける。そして、フレーム転送・ポート制御部３０３は、該当する物理層３０２にポートクローズ制御を行い、該当ポート３０１が閉塞する仕組みとなっている。
【００３９】
なお、ループ検知時やループ検知によるポート閉塞を行った場合に、その情報をユーザや端末へ通知を行うようにしてもよい。例えば、ループ検知やポート閉塞についての情報をＭＩＢ（Management Information Base）に書き込むことによってユーザから見られるようにしてもよい。あるいは、該当するポートに設けられたＬＥＤに表示させたり、スイッチ装置１０１に接続される端末に表示させたりしてもよく、通知を行う手段は問わない。
【００４０】
以降の説明において、ループ検知制御部３０５とポート３０１との間でフレームの送信および受信を行う説明をする際には、二つの間に存在する物理層３０２、フレーム転送・ポート制御部３０３、ループ検知フレーム受信制御部３０４−１およびループ検知フレーム送信制御部３０４−２の記載を適宜省略する。
【００４１】
［ループ検知フレームのフレームフォーマット］
ここで、スイッチ装置１０１が送信および受信するループ検知フレームのフレームフォーマットについて説明する。
図４は、ループ検知フレームのフレームフォーマットの例を示す説明図である。
ループ検知フレームはＬ２制御フレームを使用し、フィールドとして、ＤＡ４０１、ＳＡ４０２、第１固定値４０３、第２固定値４０４、送信時刻４０５、ＭＡＣアドレス４０６、第３固定値４０７、送信元ポート番号４０８、第４固定値４０９、パディング４１０、ＦＣＳ（Frame Check Sequence）４１１を有する。なお、第２固定値４０４から第４固定値４０９までのフィールドは、ループ検知フレーム独自の情報である。
【００４２】
ＤＡ４０１は、宛先ＭＡＣアドレスであり、予め予約した独自ＭＡＣアドレスを使用する。ＳＡ４０２は、送信元ＭＡＣアドレスであり、自装置のＭＡＣアドレスを使用する。第１固定値４０３、第２固定値４０４、第３固定値４０７、および第４固定値４０９は、ループ検知フレームのデータ長を固定のデータ長とするために挿入されたビット列である。
【００４３】
送信時刻４０５は、自装置からループ検知フレームを送信した時刻である。ＭＡＣアドレス４０６は、ループ検知フレームを送信した送信元のポートのＭＡＣアドレスである。送信元ポート番号４０８は、ループ検知フレームを送信した送信元のポートのポート番号である。
【００４４】
さらに、パディング４１０は、ループ検知フレームを固定のデータ長（例えば６４ｂｙｔｅ）とするパディング処理のために挿入された、任意のデータ長（図４では１０ｂｙｔｅ）のフィールドである。ＦＣＳ４１１は、受信したフレームに誤りがないかを調べるために付加されるフィールドである。ＦＣＳとしては、例えばＣＲＣ(巡回冗長符号)などが使われる。
【００４５】
本実施形態では、ループ検知フレーム内の送信元ポート番号４０８を送信元ポート情報として使用し、受信ポートが閉塞状態ではない場合に、送信元のポートを閉塞する処理を行う。
【００４６】
［ループ検知判定処理］
図５は、本発明の第１の実施形態に係るループ検知判定処理を示すフローチャートである。ここでは、スイッチ装置１０１の下位ネットワークに接続する２つのポート（例えばポート３０１−１，３０１−２）によりループ検知フレームを受信する場合を例に説明する。
【００４７】
前提として、スイッチ装置１０１のループ検知制御部３０５は、デフォルトでポート３０１−１〜３０１−３を非閉塞状態（イネーブル）とし、ポート３０１−１〜３０１−３による通信が可能な状態にする（リンクアップ）。
【００４８】
ループ検知制御部３０５は定周期で、フレーム転送・ポート制御部３０３によりポート３０１−１〜３０１−３から不特定の複数の送信宛先に向かって同時にループ検知フレームを送信する（マルチキャスト送信）するよう制御する。実際には、フレーム転送・ポート制御部３０３の処理の都合上、ポート３０１−１〜３０１−３からループ検知フレームが僅かのタイム差をもって順次送信されていく。このとき送信されるループ検知フレームにはそれぞれ、ループ検知フレームを送信するポートに関する情報（送信元ポート情報）として、送信元ポート番号の情報が含まれている（図４参照）。なお、ループ検知フレーム（図４）のＤＡ４０１（宛先ＭＡＣアドレス）に、マルチキャストであることを示す情報が含まれる。
【００４９】
実際のネットワークシステムは、もっと複雑な経路によってループが形成される。送信および受信のポートを固定することなく、スイッチ装置１０１のすべてのポートからループ検知フレームを送信することでチェックの抜けがなくなる。少なくとも、より多くのポートからループ検知フレームを送信することが望ましい。
【００５０】
ループ検知制御部３０５は、いずれかのポート３０１でフレームが受信された場合、受信したフレームがループ検知フレームであるか否か、即ちループ検知フレームを受信したか否かを判定する（ステップＳ１）。ループ検知フレームを受信しなかった場合には（ステップＳ１のＮＯ）、ループ検知制御部３０５は、ループ検知フレームの監視を継続する。ループ検知フレームが一定時間検出されなかった場合には、ループ検知判定処理を終了するようにしてもよい。
【００５１】
一方、ステップＳ１の判定処理においてループ検知フレームを受信した場合には（ステップＳ１のＹＥＳ）、ループ検知制御部３０５は、いずれかのポート３０１でループ検知フレームを受信したこと、および該当するポート３０１のポート番号（受信ポート番号）を取得する（ステップＳ２）。
【００５２】
次に、ループ検知制御部３０５は、受信したループ検知フレームから送信元ポート番号４０８を取得する（ステップＳ３）。
【００５３】
その後、ループ検知制御部３０５は、受信ポート番号に該当するポート３０１のポートクローズのオン／オフ情報、即ち閉塞しているか否かの状態情報を取得する（ステップＳ４）。ポートクローズがオンのときそのポートは閉塞状態であり、オフのときそのポートは閉塞状態ではない。
【００５４】
次に、ループ検知制御部３０５は、受信ポート番号に該当するポート３０１のポートクローズがオフであるか否かを判定する（ステップＳ５）。ループ検知制御部３０５は、ループ検知フレームを受信したポートから順次この判定処理を行う。そして、この判定処理時に、そのポート３０１のポートクローズがオフである場合には（ステップＳ５のＹＥＳ）、ループ検知制御部３０５は、フレーム転送・ポート制御部３０３によって送信元ポートをクローズさせる処理を実行する（ステップＳ６）。この処理が終了した後、ループ検知制御部３０５は、ループ検知判定処理を終了する。
【００５５】
ステップＳ５の判定処理において受信ポート番号に該当するポート３０１のポートクローズがオンである場合には（ステップＳ５のＮＯ）、ループ検知制御部３０５は、当該ポート３０１に対して何も処理を行わずにループ検知判定処理を終了する。
【００５６】
［ループ検知判定処理の具体例］
上記のループ検知判定処理の具体例を、図６を参照して説明する。
図６は、本発明の第１の実施形態に係るネットワーク誤接続時のループ発生の概要を示すシーケンス図である。ここでは、スイッチ装置１０１のポート３０１−１，３０１−２からループ検知フレームを送信する場合を例に説明する。
【００５７】
まず、スイッチ装置１０１のループ検知制御部３０５は、ポート３０１−１（以下「第１ポート」と記す）およびポート３０１−２（以下「第２ポート」と記す）から、不特定の複数の送信宛先に向かってループ検知フレームを送信（マルチキャスト）する（ステップＳ１１，Ｓ１２）。このとき、第１ポートおよび第２ポートから送信されるループ検知フレームには、それぞれ送信元ポート情報が付加されている。
【００５８】
そして、スイッチ装置１０１のループ検知制御部３０５は、第１ポートから送信されたループ検知フレームを第２ポートで受信する（ステップＳ１３）。続いて、スイッチ装置１０１は、第２ポートから送信されたループ検知フレームを第１ポートで受信する（ステップＳ１４）。
【００５９】
スイッチ装置１０１は、第２ポートがループ検知フレームを受信してから所定のタイムラグ（時間のずれ）が経過後に、ループ検知フレームを先に受信した第２ポートの状態について判定処理を行う。タイムラグは、ループ検知制御部３０５の処理速度などによって変わる。そして、スイッチ装置１０１のループ検知制御部３０５は、第２ポートが閉塞状態ではない場合には、フレーム転送・ポート制御部３０３によって当該ループ検知フレームの送信元である第１ポートを閉塞する処理（ポートクローズ）を行う（ステップＳ１５）。
【００６０】
次に、スイッチ装置１０１のループ検知制御部３０５は、第２ポートから遅れてループ検知フレームを受信した第１ポートの状態についても判定処理を実行する（ステップＳ１６）。ここで、ループ検知制御部３０５が第１ポートでループ検知フレームを受信したことを検知してから、第１ポートの状態について判定するまでにタイムラグがある。そのため、この判定処理が実行されるときには第１ポートは既に閉塞されており、ループ検知制御部３０５は、第１ポートが閉塞されていると判定する。そして、ループ検知制御部３０５は、第１ポートで受信したループ検知フレームの送信元である第２ポートを閉塞せずにループ検知判定処理を終了する。
【００６１】
上記のように構成された第１の実施形態では、基幹ネットワーク１００に接続されたスイッチ装置１０１のポートから送信するループ検知フレームに送信元ポート番号を含める。そして、スイッチ装置１０１でループ検知フレームを検出したときに、ループ検知フレームを受信した受信ポートが閉塞状態ではない場合には送信元ポートを閉塞状態とする処理を行い、受信ポートが閉塞状態であるときには送信元ポートを閉塞状態とする処理を行わない。このループ検知判定処理により、ループ検知フレームを受信した全てのポートが閉塞される事態を防止することができる。それゆえ、従来のような複雑な設定を必要とせず、ループ検知フレームを使用したループ構成防止機能の動作時にネットワークの通信を維持できる範囲を広く保つことができ、通信範囲が縮小されることなくループ構成を防止することができる。
【００６２】
このようなループ検知判定処理により、ネットワークにおいてループが発生した際に、速やかに該当ポートを閉塞処理し、ブロードキャストフレームのループ（無限の周回）を防止することができる。それゆえ、ブロードキャストフレームのループに起因するネットワークシステム全体のダウンを防止することができる。
【００６３】
＜２．第２の実施形態＞
次に、本発明の第２の実施形態について図７〜図９を参照して説明する。
ＳＴＰ又はＲＳＴＰ(Rapid STP)等のスパニングツリー（ルート選択アルゴリズム）では、与えられた優先順位を元に、ブリッジ間でＢＰＤＵ（Bridge Protocol Data Unit）と呼ばれる制御情報をやり取りして、普段使う経路を一つ設定し、それ以外の経路は障害時の迂回経路として設定する。スパニングツリーでは、各ポートについてフレームを転送しないブロッキング状態と、フレームを転送する非ブロッキング状態（以下「フォワーディング状態」と称する）とを切り替えることによりフレームの経路を設定し、論理的にループ構成を防止する。ＲＳＴＰは、ＳＴＰを改良して、トポロジの変更があった場合に経路が完全に切り替わるまでの時間を短縮したものである。
【００６４】
ブロッキング状態では、ネットワークシステムの構成上はループが形成されていたとしても、ソフトウェアにより経路を設定することで、ループ検知制御部３０５がループ検知フレームを受信しないようにしている。そのため、何らかの理由でポートのブロッキング状態がフォワーディング状態に変化することにより、ループが形成されることがある。そこで、第２の実施形態では、スイッチ装置のポートのブロッキング状態の変化を監視し、その結果に応じて第１の実施の形態におけるループ検知判定処理（図５）を実行する。
【００６５】
図７は、スイッチ装置のブロッキング状態が変化する前の状態を示す図である。
図８は、スイッチ装置のブロッキング状態が変化した後の状態を示す図である。
図９は、本発明の第２の実施形態に係るポート状態変化監視処理を示すフローチャートである。
【００６６】
図７および図８に示すネットワークシステム１Ａの構成は、図２のネットワークシステム１の構成と同じである。すなわち、スイッチ装置１０２のポートとスイッチ装置１０３のポートが誤接続している。またネットワークシステム１Ａのスイッチ装置１０１Ａの構成も、図３のスイッチ装置１０１の構成と同じである。ただし、ネットワークシステム１Ａのスイッチ装置１０１Ａでは、ループ抑止機能の一種であるスパニングツリー（例えばＳＴＰ又はＲＳＴＰ）が起動している。スイッチ装置１０１Ａのポート３０１−１を第１ポート、ポート３０１−２を第２ポートとする。
【００６７】
図７に示すスイッチ装置１０１Ａの第２ポートは、ＳＴＰ／ＲＳＴＰ等の設定によりブロッキング状態に設定されている。スイッチ装置１０１Ａの第２ポートがブロッキング状態のときに、何らかの障害により第２ポートのブロッキング状態が解除され、図８に示すように第２ポートが非ブロッキング状態（フォワーディング状態）に遷移したことを想定する。スイッチ装置１０１Ａの第２ポートがフォワーディング状態に遷移することで、スイッチ装置１０１Ａ，１０２，１０３を経路とするループが形成され、ブロードキャストフレームが無限に周回する可能がある。これを防止するため、スイッチ装置１０１Ａにおいて、図９に示すポート状態変化監視処理を実行する。
【００６８】
［ポート状態変化監視処理］
まず、スイッチ装置１０１Ａのループ検知制御部３０５は、各ポートのブロッキング状態情報（ａ）を取得する（ステップＳ２１）。
【００６９】
さらに、ループ検知制御部３０５は、ステップＳ２１の処理を実施後に所定時間（例えば１秒）のディレイ（待ち時間）が経過した後（ステップＳ２２）、再度各ポートのブロッキング状態情報（ｂ）を取得する（ステップＳ２３）。
【００７０】
その後、ループ検知制御部３０５は、ステップＳ２１において取得した各ポートのブロッキング状態情報（ａ）と、ステップＳ２３において取得した各ポートのブロッキング状態情報（ｂ）とに基づいて、第２ポートの状態がブロッキング状態からフォワーディング状態に遷移しているか否かを判定する（ステップＳ２４）。各ポートの状態がブロッキング状態からフォワーディング状態に遷移していない場合には（ステップＳ２４のＮＯ）、ループ検知制御部３０５は、ポート状態変化監視処理を終了する。
【００７１】
ステップＳ２４の判定処理においてポートの状態がブロッキング状態からフォワーディング状態に遷移していた場合には（ステップＳ２４のＹＥＳ）、ループ検知制御部３０５は、ブロッキング状態からフォワーディング状態に遷移したポート（第２ポート）からループ検知フレームを送信する処理を行う（ステップＳ２５）。
【００７２】
その後、誤接続された通信線２１０によりループ構成が発生しているため、ループ検知フレームがスイッチ装置１０１Ａの別ポート（第１ポート）で受信され、図５のループ検知判定処理が動作する（ステップＳ２６）。
【００７３】
そして、ループ検知判定処理では、ループ検知フレームを受信したポート（第１ポート）が閉塞状態ではない場合には、ループ検知フレームの送信元である第２ポートに対する閉塞処理が行われる。したがって、スイッチ装置１０１Ａの第２ポートとスイッチ装置１０３との間でフレームの送信および受信を行うことができず、ネットワークシステムをフレームがループしない元の状態（図７）に戻る。
【００７４】
上述した構成の第２の実施形態によれば、従来のスパニングツリー等のループ抑止機能と第１の実施形態に係るループ検知判定処理とを組み合わせて、ループをより確実に防止することが可能である。
【００７５】
第２の実施の形態では、図９に示すポート状態変化監視処理により、ポートの状態がブロッキング状態からフォワーディング状態に遷移したときに、図５のループ検知判定処理が実行される。そのため、スイッチ装置のポートの状態がブロッキング状態からフォワーディング状態に遷移し、ループ検知フレームのループが発生した際に、速やかに該当ポートを閉塞処理し、ブロードキャストフレームのループ（無限の周回）が防止される。それゆえ、ブロードキャストフレームのループに起因するネットワークシステム全体のダウンを防止することができる。
【００７６】
＜３．第３の実施形態＞
次に、本発明の第３の実施形態について図１０を参照して説明する。
基幹ネットワークと接続するスイッチ装置のポート数は４個以上でもよい。第３の実施形態は、基幹ネットワークと接続するスイッチ装置のポート数が４以上である例を示したものである。
【００７７】
図１０は、本発明の第３の実施形態に係るネットワークシステムの構成例を示すブロック図である。図１０に示すネットワークシステム１Ｂにおいて、基幹ネットワーク１００と接続するスイッチ装置１０１Ｂは、ポート３０１−１〜３０１−３に加え、さらにポート３０１−４を備える。スイッチ装置１０１Ｂのポート３０１−４が、通信線２０４を介して下位ネットワークのスイッチ装置１０４と接続している。スイッチ装置１０４には、通信線２１７〜２１９を介して、３台の通信機器１１７〜１１９が接続されている。
【００７８】
ポート３０１−４は、信号線３１７，３１８、物理層３０２−４、及び信号線３２７，３２８を介して、フレーム転送・ポート制御部３０３との間でループ検知フレームの送信および受信を行う。
【００７９】
さらに、本発明は上述した各実施形態例に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、その他種々の応用例、変形例を取り得ることは勿論である。
【００８０】
例えば、上述した実施形態例は本発明を分かりやすく説明するために装置及びシステムの構成を詳細且つ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態例の構成の一部を他の実施形態例の構成に置き換えることは可能である。また、ある実施形態例の構成に他の実施形態例の構成を加えることも可能である。また、各実施形態例の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
【００８１】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、又はＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【００８２】
また、制御線や情報線等は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【００８３】
また、本明細書において、時系列的な処理を記述する処理ステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）をも含むものである。
【符号の説明】
【００８４】
１，１Ａ，１Ｂ…ネットワークシステム、  １０１，１０１Ａ，１０１Ｂ，１０２〜１０４…スイッチ装置、２１０…通信線、  ２２１，２２２…ループ検知フレーム、  ３０１−１〜３０１−４…ポート、  ３０２−１〜３０２−４…物理層、  ３０３…フレーム転送・ポート制御部、  ３０４−１…ループ検知フレーム受信制御部、  ３０４−２…ループ検知フレーム送信制御部、  ３０５…ループ検知制御部、  ４０８…送信元ポート番号
【図１】
0006272264.tif 000002
【図２】
0006272264.tif 000003
【図３】
0006272264.tif 000004
【図４】
0006272264.tif 000005
【図５】
0006272264.tif 000006
【図６】
0006272264.tif 000007
【図７】
0006272264.tif 000008
【図８】
0006272264.tif 000009
【図９】
0006272264.tif 000010
【図１０】
0006272264.tif 000011