(57)【特許請求の範囲】
【請求項１】
レイヤ２またはレイヤ３で所定の転送単位でデータの中継を行う中継装置であって、
前記中継装置が受信した前記データが、ネットワークの接続状態の監視主体である第１の通信装置が自機を送信元とし、監視対象である第２の通信装置を宛先として送信した監視データであるか否かと、前記中継装置が受信したデータが、前記第２の通信装置が前記監視データを受信した際に、該監視データへの応答として、前記監視データの送信元アドレスと宛先アドレスとを入れ替えて送信する監視応答データであるか否かとを判定するデータ種別判定部と、
前記監視データを受信して、該監視データの宛先に向けて第１の物理リンクを介して転送する転送処理部と、
前記転送した監視データに対応する前記監視応答データの所定期間内での第２の物理リンクを介する受信を監視する監視部と、
前記所定期間内に前記監視応答データを受信しない場合に、通信障害の発生を通知する障害通知データを生成して、所定の宛先に送信する障害通知データ送信部と、
前記受信した監視データに含まれる送信元アドレスに少なくとも基づいて、前記障害通知データを送信する所定の宛先を学習する学習部と、
を備えた中継装置。
【請求項２】
請求項１記載の中継装置であって、
前記学習部は、
前記受信した監視データの各々について、該監視データに含まれる前記送信元アドレスと前記宛先アドレスとの対応関係を記録し、
前記記録した対応関係のうちの、前記所定期間内に対応する前記監視応答データを受信しなかった前記監視データの前記宛先アドレスに対応する前記送信元アドレスを前記所定の宛先として学習する
中継装置。
【請求項３】
前記学習部は、前記受信した監視データの各々に含まれる送信元アドレスを、前記所定の宛先として学習する請求項１記載の中継装置。
【請求項４】
前記障害通知データ送信部は、前記所定期間内に対応する監視応答データを受信しなかった前記監視データの前記宛先アドレスを、前記障害通知データに含ませて、該障害通知データを送信する請求項１ないし請求項３のいずれか記載の中継装置。
【請求項５】
前記障害通知データ送信部は、前記所定期間内に対応する監視応答データを受信しなかった監視データの宛先アドレスを、前記障害通知データのペイロードに含ませる請求項４記載の中継装置。
【請求項６】
前記障害通知データ送信部は、所定の識別子を付したデータであって、前記所定期間内に対応する監視応答データを受信しなかった監視データの前記宛先アドレスを送信元アドレスとしたデータを、前記障害通知データとして送信する請求項４記載の中継装置。
【請求項７】
請求項１ないし請求項６のいずれか記載の中継装置であって、
前記受信した監視データに、前記第１の通信装置から前記第２の通信装置までの中継経路情報が付与されている場合に、前記障害通知データ送信部は、前記所定期間内に対応する監視応答データを受信しなかった前記監視データに付与された前記中継経路情報を前記障害通知データに含ませて、該障害通知データを送信する
中継装置。
【請求項８】
前記データ種別判定部は、前記中継装置が受信したデータに付与された識別子に基づいて、前記判定を行う請求項１ないし請求項７のいずれか記載の中継装置。
【請求項９】
前記データ種別判定部は、前記中継装置が受信したデータに含まれる前記送信元アドレスおよび前記宛先アドレスの少なくとも一方が、所定のアドレスである場合に、前記受信したデータが前記監視データである、または、前記受信したデータが前記監視応答データであると判定する請求項１ないし請求項８のいずれか記載の中継装置。
【請求項１０】
ネットワークの接続状態の監視主体である第１の通信装置と、監視対象である第２の通信装置と、該第１の通信装置と該第２の通信装置との間の通信経路上に設けられた中継装置とを備えるネットワークシステムであって、
前記第１の通信装置は、自機を送信元とし、前記第２の通信装置を宛先として、前記中継装置を介して監視パケットを送信する監視パケット送信部を備え、
前記第２の通信装置は、前記中継装置を介して前記監視パケットを受信して、該受信した監視パケットへの応答として、該監視パケットの送信元アドレスと宛先アドレスとを入れ替えた監視応答パケットを、前記中継装置を介して、前記第１の通信装置を宛先として送信する監視応答パケット送信部を備え、
前記中継装置は、
前記中継装置が受信したパケットが、前記監視パケットであるか否かと、前記監視応答パケットであるか否かとを判定するパケット種別判定部と、
前記監視パケットを受信して、該監視パケットの宛先に向けて第１の物理リンクを介して転送する転送処理部と、
前記転送した監視パケットに対応する前記監視応答パケットの所定期間内での第２の物理リンクを介する受信を監視する監視部と、
前記所定期間内に前記監視応答パケットを受信しない場合に、通信障害の発生を通知する障害通知パケットを生成して、所定の宛先に送信する障害通知パケット送信部と、
前記受信した監視データに含まれる送信元アドレスに少なくとも基づいて、前記障害通知データを送信する所定の宛先を学習する学習部と、
を備えた
ネットワークシステム。
【請求項１１】
ネットワークの接続状態の監視主体である第１の通信装置と、監視対象である第２の通信装置と、該第１の通信装置と該第２の通信装置との間の通信経路上に設けられた中継装置とを備えるネットワークシステムにおいて、前記第１の通信装置と前記第２の通信装置との間を接続するネットワークの障害を検出するネットワーク障害検出方法であって、
第１の通信装置が、自機を送信元とし、前記第２の通信装置を宛先として、前記中継装置を介して監視パケットを送信する工程と、
前記中継装置が、前記監視パケットを受信して、前記第２の通信装置に向けて転送する工程と、
前記第２の通信装置が前記監視パケットを受信した際に、該監視パケットへの応答として、前記監視パケットの送信元アドレスと宛先アドレスとを入れ替えて送信する監視応答パケットの所定期間内での受信を前記中継装置が監視する工程と、
前記中継装置が、前記所定期間内に前記監視応答パケットを受信しない場合に、通信障害の発生を通知する障害通知パケットを生成して、所定の宛先に送信する工程と、
前記所定の宛先としての通信装置が、前記障害通知パケットを受信して、前記通信障害の発生を検出する工程と、
前記中継装置が、前記受信した監視データに含まれる送信元アドレスに少なくとも基づいて、前記障害通知データを送信する所定の宛先を学習する工程と、
を備えたネットワーク障害検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおける障害検出技術に関する。
【背景技術】
【０００２】
２台の通信装置（例えば、レイヤ２スイッチ）を、互いにネットワークを介して接続する場合、２台の通信装置間に双方向の２つのパス（通信経路）が設定される。一方のパスに障害（「片方向パス障害」と呼ぶ）が発生すると、ネットワーク上で、フレームがループする等の種々の問題が発生する。そこで、片方向パス障害を検出するために、ＵＤＬＤ（Uni-Directional Link Detction ）プロトコルが提案されている（非特許文献１）。
【０００３】
ＵＤＬＤでは、各通信装置が、それぞれ他方の通信装置に対してリンク正常性確認フレームを送信し、他方の通信装置から送信されるリンク正常性通知フレームの受信の有無により、片方向リンク障害の発生の有無を検出する。
【０００４】
しかしながら、ＵＤＬＤでは、受信したフレームに含まれる様々なパラメータの解析をソフトウェアによって行い、その解析結果に基づいて片方向パス障害の有無を検出するため、障害検出までに長期間を要するという問題があった。このため、片方向パス障害の検出時間の短縮化が望まれていた。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Cisco System UniDirectional Link (UDLD) Protocol (RFC:5171). Cisco Systems, April 2008. Retrieved from the Internet: on 2010-06-20.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の問題の少なくとも一部を考慮し、本発明が解決しようとする課題は、通信装置間における片方向パス障害を短期間で検出することである。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
［形態１］  レイヤ２またはレイヤ３で所定の転送単位でデータの中継を行う中継装置であって、前記中継装置が受信した前記データが、ネットワークの接続状態の監視主体である第１の通信装置が自機を送信元とし、監視対象である第２の通信装置を宛先として送信した監視データであるか否かと、前記中継装置が受信したデータが、前記第２の通信装置が前記監視データを受信した際に、該監視データへの応答として、前記監視データの送信元アドレスと宛先アドレスとを入れ替えて送信する監視応答データであるか否かとを判定するデータ種別判定部と、前記監視データを受信して、該監視データの宛先に向けて第１の物理リンクを介して転送する転送処理部と、前記転送した監視データに対応する前記監視応答データの所定期間内での第２の物理リンクを介する受信を監視する監視部と、前記所定期間内に前記監視応答データを受信しない場合に、通信障害の発生を通知する障害通知データを生成して、所定の宛先に送信する障害通知データ送信部と、前記受信した監視データに含まれる送信元アドレスに少なくとも基づいて、前記障害通知データを送信する所定の宛先を学習する学習部と、を備えた中継装置。
かかる構成の中継装置によれば、第１の通信装置と第２の通信装置との間でやりとりされる監視データと監視応答データとを利用して、中継装置と第２の通信装置との間に発生した片方向パス障害を、所定の宛先に早期に通知することができる。例えば、所定の宛先として、第１の通信装置および第２の通信装置以外の通信装置を設定しておけば、当該通信装置においても、中継装置と第２の通信装置との間に発生した片方向パス障害を短期間で検出することができる。加えて、監視データに含まれる送信元アドレスは、ネットワークの接続状態の監視主体であることを意味する。このため、上記構成の中継装置によれば、監視主体を、障害通知データの宛先として自動学習することができる。その結果、ユーザの利便性が向上する。なお、本願において、データとは、レイヤ２で扱われるフレームと、レイヤ３で扱われる狭義のパケットとを含む、転送単位の総称である。
［形態２］  ネットワークの接続状態の監視主体である第１の通信装置と、監視対象である第２の通信装置と、該第１の通信装置と該第２の通信装置との間の通信経路上に設けられた中継装置とを備えるネットワークシステムであって、前記第１の通信装置は、自機を送信元とし、前記第２の通信装置を宛先として、前記中継装置を介して監視パケットを送信する監視パケット送信部を備え、前記第２の通信装置は、前記中継装置を介して前記監視パケットを受信して、該受信した監視パケットへの応答として、該監視パケットの送信元アドレスと宛先アドレスとを入れ替えた監視応答パケットを、前記中継装置を介して、前記第１の通信装置を宛先として送信する監視応答パケット送信部を備え、前記中継装置は、前記中継装置が受信したパケットが、前記監視パケットであるか否かと、前記監視応答パケットであるか否かとを判定するパケット種別判定部と、前記監視パケットを受信して、該監視パケットの宛先に向けて第１の物理リンクを介して転送する転送処理部と、前記転送した監視パケットに対応する前記監視応答パケットの所定期間内で第２の物理リンクを介する受信を監視する監視部と、前記所定期間内に前記監視応答パケットを受信しない場合に、通信障害の発生を通知する障害通知パケットを生成して、所定の宛先に送信する障害通知パケット送信部と、前記受信した監視データに含まれる送信元アドレスに少なくとも基づいて、前記障害通知データを送信する所定の宛先を学習する学習部と、を備えたネットワークシステム。
【０００８】
［適用例１］レイヤ２またはレイヤ３でパケットの中継を行う中継装置であって、
前記中継装置が受信した前記パケットが、ネットワークの接続状態の監視主体である第１の通信装置が自機を送信元とし、監視対象である第２の通信装置を宛先として送信した監視パケットであるか否かと、前記中継装置が受信したパケットが、前記第２の通信装置が前記監視パケットを受信した際に、該監視パケットへの応答として、前記監視パケットの送信元アドレスと宛先アドレスとを入れ替えて送信する監視応答パケットであるか否かとを判定するパケット種別判定部と、
前記監視パケットを受信して、該監視パケットの宛先に向けて転送する転送処理部と、
前記転送した監視パケットに対応する前記監視応答パケットの所定期間内での受信を監視する監視部と、
前記所定期間内に前記監視応答パケットを受信しない場合に、通信障害の発生を通知する障害通知パケットを生成して、所定の宛先に送信する障害通知パケット送信部と
を備えた中継装置。
【０００９】
かかる構成の中継装置によれば、第１の通信装置と第２の通信装置との間でやりとりされる監視パケットと監視応答パケットとを利用して、中継装置と第２の通信装置との間に発生した片方向パス障害を、所定の宛先に早期に通知することができる。例えば、所定の宛先として、第１の通信装置および第２の通信装置以外の通信装置を設定しておけば、当該通信装置においても、中継装置と第２の通信装置との間に発生した片方向パス障害を短期間で検出することができる。なお、本願において、パケットとは、レイヤ２で扱われるフレームと、レイヤ３で扱われる狭義のパケットとを含む、データの転送単位の総称である。
【００１０】
［適用例２］更に、前記受信した監視パケットに含まれる送信元アドレスに少なくとも基づいて、前記障害通知パケットを送信する所定の宛先を学習する学習部を備えた適用例１記載の中継装置。
【００１１】
監視パケットに含まれる送信元アドレスは、ネットワークの接続状態の監視主体であることを意味する。適用例２の中継装置によれば、監視主体を、障害通知パケットの宛先として自動学習することができる。その結果、ユーザの利便性が向上する。
【００１２】
［適用例３］適用例２記載の中継装置であって、前記学習部は、前記受信した監視パケットの各々について、該監視パケットに含まれる前記送信元アドレスと前記宛先アドレスとの対応関係を記録し、前記記録した対応関係のうちの、前記所定期間内に対応する前記監視応答パケットを受信しなかった前記監視パケットの前記宛先アドレスに対応する前記送信元アドレスを前記所定の宛先として学習する中継装置。
【００１３】
監視パケットに含まれる宛先アドレスは、ネットワークの接続状態の監視対象であることを意味する。適用例３の中継装置によれば、障害が発生したパスを形成する通信装置を監視対象としていた監視主体のみに、障害通知パケットを送信することができる。したがって、処理が効率的であり、障害通知に係るネットワーク負荷も抑制できる。
【００１４】
［適用例４］前記学習部は、前記受信した監視パケットの各々に含まれる送信元アドレスを、前記所定の宛先として学習する適用例２記載の中継装置。
【００１５】
かかる構成の中継装置によれば、送信元アドレスのみに基づいて、所定の宛先を学習するので、構成が簡単である。しかも、全ての監視主体が早期に障害を検出することができる。
【００１６】
［適用例５］前記障害通知パケット送信部は、前記所定期間内に対応する監視応答パケット受信しなかった前記監視パケットの前記宛先アドレスを、前記障害通知パケットに含ませて、該障害通知パケットを送信する適用例１ないし適用例４のいずれか記載の中継装置。
【００１７】
所定期間内に対応する監視応答パケットを受信しなかった監視パケットの宛先アドレスは、障害が発生したパスを形成する通信装置を意味する。適用例５の中継装置によれば、いずれのパスで障害が発生したかを簡単に通知することができる。その結果、障害通知パケットを受信した通信装置は、障害が発生したパスを簡単に検出することができる。
【００１８】
［適用例６］前記障害通知パケット送信部は、前記所定期間内に対応する監視応答パケット受信しなかった監視パケットの宛先アドレスを、前記障害通知パケットのペイロードに含ませる適用例５記載の中継装置。
【００１９】
かかる構成の中継装置によれば、いずれのパスで障害が発生したかを好適に通知することができる。例えば、第１の通信装置および第２の通信装置以外の通信装置は、障害が発生したパスを好適に検出することができる。
【００２０】
［適用例７］前記障害通知パケット送信部は、所定の識別子を付したパケットであって、前記所定期間内に対応する監視応答パケット受信しなかった監視パケットの前記宛先アドレスを送信元アドレスとしたパケットを、前記障害通知パケットとして送信する適用例５記載の中継装置。
【００２１】
かかる構成の中継装置によれば、いずれのパスで障害が発生したかを、障害通知パケットのヘッダ部の情報のみに基づいて通知することができる。その結果、障害通知パケットを受信した通信装置は、障害が発生したパスの検出を高速化することができる。
【００２２】
［適用例８］適用例１ないし適用例７のいずれか記載の中継装置であって、前記受信した監視パケットに、前記第１の通信装置から前記第２の通信装置までの中継経路情報が付与されている場合に、前記障害通知パケット送信部は、前記所定期間内に対応する監視応答パケットを受信しなかった前記監視パケットに付与された前記中継経路情報を前記障害通知パケットに含ませて、該障害通知パケットを送信する中継装置。
【００２３】
かかる構成の中継装置によれば、いずれのパスで障害が発生したかを、中継経路情報に基づいて通知することができる。その結果、障害通知パケットを受信した通信装置は、障害が発生したパスを容易に検出することができる。
【００２４】
［適用例９］前記パケット種別判定部は、前記中継装置が受信したパケットに付与された識別子に基づいて、前記判定を行う適用例１ないし適用例８のいずれか記載の中継装置。
【００２５】
かかる構成の中継装置によれば、監視パケットおよび監視応答パケットを容易に判別することができる。
【００２６】
［適用例１０］前記パケット種別判定部は、前記中継装置が受信したパケットに含まれる前記送信元アドレスおよび前記宛先アドレスの少なくとも一方が、所定のアドレスである場合に、前記受信したパケットが前記監視パケットである、または、前記受信したパケットが前記監視応答パケットであると判定する適用例１ないし適用例９のいずれか記載の中継装置。
【００２７】
かかる構成の中継装置によれば、監視パケットおよび監視応答パケットを容易に判別することができる。
【００２８】
また、本発明は、中継装置のほか、適用例１１のネットワークシステム、適用例１２のネットワーク障害検出方法、中継装置用のプログラム、当該プログラムを記録した記憶媒体等としても実現することができる。
【００２９】
［適用例１１］ネットワークの接続状態の監視主体である第１の通信装置と、監視対象である第２の通信装置と、該第１の通信装置と該第２の通信装置との間の通信経路上に設けられた中継装置とを備えるネットワークシステムであって、前記第１の通信装置は、自機を送信元とし、前記第２の通信装置を宛先として、前記中継装置を介して監視パケットを送信する監視パケット送信部を備え、前記第２の通信装置は、前記中継装置を介して前記監視パケットを受信して、該受信した監視パケットへの応答として、該監視パケットの送信元アドレスと宛先アドレスとを入れ替えた監視応答パケットを、前記中継装置を介して、前記第１の通信装置を宛先として送信する監視応答パケット送信部を備え、前記中継装置は、前記中継装置が受信したパケットが、前記監視パケットであるか否かと、前記監視応答パケットであるか否かとを判定するパケット種別判定部と、前記監視パケットを受信して、該監視パケットの宛先に向けて転送する転送処理部と、前記転送した監視パケットに対応する前記監視応答パケットの所定期間内での受信を監視する監視部と、前記所定期間内に前記監視応答パケットを受信しない場合に、通信障害の発生を通知する障害通知パケットを生成して、所定の宛先に送信する障害通知パケット送信部とを備えたネットワークシステム。
【００３０】
［適用例１２］ネットワークの接続状態の監視主体である第１の通信装置と、監視対象である第２の通信装置と、該第１の通信装置と該第２の通信装置との間の通信経路上に設けられた中継装置とを備えるネットワークシステムにおいて、前記第１の通信装置と前記第２の通信装置との間を接続するネットワークの障害を検出するネットワーク障害検出方法であって、第１の通信装置が、自機を送信元とし、前記第２の通信装置を宛先として、前記中継装置を介して監視パケットを送信する工程と、前記中継装置が、前記監視パケットを受信して、前記第２の通信装置に向けて転送する工程と、前記第２の通信装置が前記監視パケットを受信した際に、該監視パケットへの応答として、前記監視パケットの送信元アドレスと宛先アドレスとを入れ替えて送信する監視応答パケットの所定期間内での受信を前記中継装置が監視する工程と、前記中継装置が、前記所定期間内に前記監視応答パケットを受信しない場合に、通信障害の発生を通知する障害通知パケットを生成して、所定の宛先に送信する工程と、前記所定の宛先としての通信装置が、前記障害通知パケットを受信して、前記通信障害の発生を検出する工程とを備えたネットワーク障害検出方法。
【図面の簡単な説明】
【００３１】
【図１】本発明の中継装置の実施例としての第２スイッチＳＷ２を用いて構成したネットワークシステム１００の概略構成を示す説明図である。
【図２】第１スイッチＳＷ１〜第４スイッチＳＷ４間のパスを示す説明図である。
【図３】第１スイッチＳＷ１および第４スイッチＳＷ４の構成を示す説明図である。
【図４】第４スイッチＳＷ４のフレーム転送処理部２０ｄの構成を示す説明図である。
【図５】パス障害の監視を行うための設定用ウィンドウＷ１を示す説明図である。
【図６】パス障害の監視を行うための設定用ウィンドウＷ２を示す説明図である。
【図７】パス障害監視開始処理の手順を示すフローチャートである。
【図８】ＬＨＣフレームおよびＬＨＣＢフレームのフレームフォーマットを示す説明図である。
【図９】第１スイッチＳＷ１のポートが監視対象ポートとして設定された場合における初期状態のポート状態管理テーブルの例を示す説明図である。
【図１０】受信フレーム処理の手順を示すフローチャートである。
【図１１】受信フレーム処理の手順を示すフローチャートである。
【図１２】受信フレーム処理の手順を示すフローチャートである。
【図１３】受信フレーム処理の手順を示すフローチャートである。
【図１４】受信フレーム処理の手順を示すフローチャートである。
【図１５】受信フレーム処理の手順を示すフローチャートである。
【図１６】ＬＨＣＢフレーム監視処理の手順を示すフローチャートである。
【図１７】パス障害発生が発生している状態におけるポート状態管理テーブルの例を示す説明図である。
【図１８】ＬＨＣＢフレーム監視処理の実行によるポートの監視状態および論理状態の状態遷移の例を示す説明図である。
【図１９】第２スイッチＳＷ２の構成を示す説明図である。
【図２０】受信フレーム処理の手順を示すフローチャートである。
【図２１】受信フレーム処理の手順を示すフローチャートである。
【図２２】受信フレーム処理の手順を示すフローチャートである。
【図２３】受信フレーム処理の手順を示すフローチャートである。
【図２４】監視リストテーブル４９の具体例を示す説明図である。
【図２５】障害通知処理の手順を示すフローチャートである。
【図２６】障害通知フレームのフレームフォーマットを示す説明図である。
【発明を実施するための形態】
【００３２】
Ａ．実施例：
Ａ−１．システム構成：
本発明の中継装置の実施例としての第２スイッチＳＷ２を用いて構成したネットワークシステム１００の概略構成を図１に示す。図示するように、ネットワークシステム１００は、６台のスイッチである第１スイッチＳＷ１〜第６スイッチを備えている。本実施例においては、各スイッチＳＷ１〜ＳＷ６は、レイヤ２、すなわち、ＯＳＩ参照モデルにおける第２層（データリンク層）でフレームを中継するレイヤ２スイッチである。各スイッチＳＷ１〜ＳＷ６は、いずれも図示しない複数のポートを備えており、ポートに接続された端末（パーソナルコンピュータやサーバなど）から受信するフレームを中継する。
【００３３】
本実施例では、ネットワークシステム１００が中継するフレームとして、イーサネットフレーム（「イーサネット」は登録商標）を採用するが、イーサネットフレームに代えて、ＦＤＤＩ（Fiber-Distributed Data Interface）や、ＡＴＭ（Asynchronous Transfer Mode）など、任意のレイヤ２プロトコルで規定されているフレーム（パケット，セル）を採用することができる。なお、第１スイッチＳＷ１には、レイヤ２アドレスとして、ＭＡＣ（Media Access Control）アドレス「ｍ１」が予め設定されている。同様に、スイッチＳＷ２，ＳＷ４〜ＳＷ６には、レイヤ２アドレスとして、ＭＡＣアドレス「ｍ２」，「ｍ４」〜「ｍ６」が予め設定されている。これらＭＡＣアドレス「ｍ２」，「ｍ４」〜「ｍ６」は、いずれも、パス障害監視用に割り当てられた専用のＭＡＣアドレスである。
【００３４】
図１に示すように、ネットワークシステム１００では、第１スイッチＳＷ１〜第４スイッチＳＷ４は、直列的に配置されている。また、第２スイッチＳＷ２には、第１スイッチＳＷ１と並列して、第５スイッチＳＷ５および第６スイッチＳＷ６が直列的に接続されている。
【００３５】
本実施例では、スイッチＳＷ１，ＳＷ４〜ＳＷ６は、相互に、ネットワークの接続状態を監視する機能を有している。かかる接続状態の監視の仕組みについて、第１スイッチＳＷ１が監視主体となって、第４スイッチＳＷ４が監視対象となるものとして以下に説明する。第１スイッチＳＷ１〜第４スイッチＳＷ４の間のパスを図２に示す。図２において、上段は、第１スイッチＳＷ１と第４スイッチＳＷ４との間のパスが正常である状態を示し、下段は、第１スイッチＳＷ１と第４スイッチＳＷ４との間のパスにおいて障害が発生した状態を示している。
【００３６】
第１スイッチＳＷ１と第２スイッチＳＷ２とは、互いに２つの物理リンクＬ１２１，Ｌ２１１により接続されている。同様に、第２スイッチＳＷ２と第３スイッチＳＷ３とは物理リンクＬ１２２，Ｌ２１２により、第３スイッチＳＷ３と第４スイッチＳＷ４とは物理リンクＬ１２３，Ｌ２１３により、それぞれ接続されている。かかる構成により、第１スイッチＳＷ１から第４スイッチＳＷ４に向かうパスとして、第１スイッチＳＷ１，物理リンクＬ１２１，第２スイッチＳＷ２，物理リンクＬ１２２，第３スイッチＳＷ３、物理リンクＬ１２３、第４スイッチＳＷ４の順序でフレームが中継されるパスＰＡ１２が形成されている。また、第４スイッチＳＷ４から第１スイッチＳＷ１に向かうパスとして、第４スイッチＳＷ４，物理リンクＬ２１３，第３スイッチＳＷ３，物理リンクＬ２１２，第２スイッチＳＷ２、物理リンクＬ２１１、第１スイッチＳＷ１の順序でフレームが中継されるパスＰＡ２１が形成されている。
【００３７】
ネットワークシステム１００では、２つのパスＰＡ１２，ＰＡ２１のいずれかにおける障害発生の有無を監視するために、第１スイッチＳＷ１は、監視用のフレーム（以下、「ＬＨＣフレーム」と呼ぶ）を送信する。図２上段に示すように、２つのパスＰＡ１２，ＰＡ２１において障害が発生していない場合、第１スイッチＳＷ１から送出されたＬＨＣフレームは、パスＰＡ１２を通って第４スイッチＳＷ４に中継される。第４スイッチＳＷ４は、ＬＨＣフレームを受信すると、監視応答用のフレーム（以下、「ＬＨＣＢフレーム」を送信する。後述するように、ＬＨＣＢフレームは、ＬＨＣフレームを折り返したフレームであり、第４スイッチＳＷ４では、ＬＨＣＢフレームの生成を、ハードウェア処理化している。第４スイッチＳＷ４から送出されたＬＨＣＢフレームは、パスＰＡ２１を通って第１スイッチＳＷ１に中継される。第１スイッチＳＷ１では、ＬＨＣＢフレームの受信の有無を監視しており、ＬＨＣＢフレームを所定期間内において受信した場合には、両方のパスＰＡ１２，ＰＡ２１は正常であると判断する。
【００３８】
これに対し、図２下段に示すように、例えば、物理リンクＬ１２３において障害（片方向パス障害）が発生した場合、ＬＨＣフレームは第４スイッチＳＷ４に中継されない。この場合、第４スイッチＳＷ４はＬＨＣＢフレームを送信しないため、第１スイッチＳＷ１は、所定期間内にＬＨＣＢフレームを受信せず、２つのパスＰＡ１２，ＰＡ２１の少なくとも一方において障害が発生したと判断する。
【００３９】
このような片方向パス障害監視を実現するために、第１スイッチＳＷ１および第４スイッチＳＷ４は、図示しない端末から送信されるフレームの中継処理に加えて、ＬＨＣフレームの送受信や、ＬＨＣＢフレームの送受信等の処理を実行する。かかるケースにおいて、第１スイッチＳＷ１は、請求項における第１の通信装置に相当し、第４スイッチＳＷ４は、請求項における第２の通信装置に相当する。
【００４０】
第２スイッチＳＷ２は、第１スイッチＳＷ１と第４スイッチＳＷ４との間のＬＨＣフレームおよびＬＨＣＢフレームのやり取りを監視して、片方向パス障害が生じた場合に、第１スイッチＳＷ１以外のスイッチ、例えば、第５スイッチＳＷ５および第６スイッチＳＷ６に通知する。以下では、まず、第１スイッチＳＷ１および第４スイッチＳＷ４の詳細について説明し、次に、第２スイッチＳＷ２の詳細について説明する。なお、第３スイッチＳＷ３は、汎用のレイヤ２スイッチである。すなわち、第３スイッチＳＷ３は、受信したフレームを、フレームに設定されている宛先ＭＡＣアドレスに基づき、図示しない宛先テーブル（ＭＡＣアドレスと出力ポートとを対応付けた中継用テーブル）に従って中継する。
【００４１】
Ａ−２．第１スイッチＳＷ１および第４スイッチＳＷ４の詳細：
Ａ−２−１．第１スイッチＳＷ１および第４スイッチＳＷ４の構成：
図３は、第１スイッチＳＷ１および第４スイッチＳＷ４の詳細構成を示す説明図である。第１スイッチＳＷ１と第４スイッチＳＷ４とは同一の構成である。図３では、第１スイッチＳＷ１と第４スイッチＳＷ４との同じ構成要素を区別するために、第１スイッチＳＷ１の各構成要素には「ａ」の符号を、第４スイッチＳＷ４の各要素には「ｂ」の符号を、それぞれ付している。以下、第１スイッチＳＷ１と第４スイッチＳＷ４とを代表して、第４スイッチＳＷ４の構成について説明する。第４スイッチＳＷ４は、複数のポートＰ４１，Ｐ４２，・・・，Ｐ４ｎ（ｎは２以上の整数）と、フレーム転送処理部２０ｄと、宛先判定部４０ｄと、ＬＨＣフレーム送信部３０ｄと、管理部１０ｄと、管理用インタフェース１１ｄとを備えている。
【００４２】
複数のポートＰ４１，Ｐ４２，・・・，Ｐ４ｎは、それぞれ送信側の物理リンクと受信側の物理リンクを終端している。例えば、図３に示すように、ポートＰ４１は、送信側の物理リンクＬ１２３と、受信側の物理リンクＬ２１３とを終端している。
【００４３】
図４は、図３に示すフレーム転送処理部２０ｄの詳細構成を示す説明図である。フレーム転送処理部２０ｄは、レイヤ１制御部２１ｄと、レイヤ２制御部２２ｄと、受信フレームバッファ２３ｄと、送信フレームバッファ２４ｄとを備えている。各機能部は、記憶素子や、ＡＳＩＣ（Application Specific Integrated Circuit）等の回路により構成されており、ハードウェア処理が可能である。
【００４４】
レイヤ１制御部２１ｄは、レイヤ１（ＯＳＩ参照モデルの第１層（物理層））の処理を行う機能部であり、各ポートＰ４１，Ｐ４２，・・・，Ｐ４ｎおよびレイヤ２制御部２２ｄと、それぞれ接続されている。レイヤ１制御部２１ｄは、各ポートＰ４１，Ｐ４２，・・・，Ｐ４ｎにおいて受信される信号からレイヤ２のフレームを生成してレイヤ２制御部２２ｄに出力し、また、レイヤ２制御部２２ｄから受信するレイヤ２フレームに基づき信号を生成して各ポートＰ４１，Ｐ４２，・・・，Ｐ４ｎに出力する。
【００４５】
レイヤ２制御部２２ｄは、レイヤ２の処理を行う機能部であり、レイヤ１制御部２１ｄ、受信フレームバッファ２３ｄおよび送信フレームバッファ２４ｄと接続されている。また、レイヤ２制御部２２ｄは、後述のＬＨＣフレーム送信部３０ｄ，判定結果生成部４６ｄ，フレーム種別判定部４１ｄと接続されている。レイヤ２制御部２２ｄは、レイヤ１制御部２１ｄから受信したフレームを、受信フレームバッファ２３ｄに記憶させ、また、受信フレームバッファ２３ｄからフレームを読み出して他の機能部に送信する。加えて、レイヤ２制御部２２ｄは、他の機能部からの指示に従って、フレームを生成して送信フレームバッファ２４ｄに記憶させ、また、送信フレームバッファ２４ｄからフレームを読み出してレイヤ１制御部２１ｄに出力する。
【００４６】
受信フレームバッファ２３ｄは、第４スイッチＳＷ４が受信したフレームを記憶する。図４では、受信フレームバッファ２３ｄにはＬＨＣフレームｆｃ１が記憶されている。送信フレームバッファ２４ｄは、第４スイッチＳＷ４が送信しようとするフレームを記憶する。図４では、送信フレームバッファ２４ｄにはＬＨＣＢフレームｆｂ１が記憶されている。
【００４７】
図３に戻って、宛先判定部４０ｄは、フレーム種別判定部４１ｄと、宛先テーブル４３ｄと、宛先検索部４２ｄと、ポート状態管理テーブル４５ｄと、ポート状態判定部４４ｄと、判定結果生成部４６ｄと、ＬＨＣＢフレーム監視部４７ｄとを備えている。
【００４８】
フレーム種別判定部４１ｄは、受信したフレームの種類を判定する。宛先テーブル４３ｄは、フレームを中継する際に参照されるテーブルであり、フレームに設定されている宛先ＭＡＣアドレスやＶＬＡＮ−ＩＤ等の識別子と、フレームの出力ポートとを対応付けたテーブルである。宛先検索部４２ｄは、宛先テーブル４３ｄを参照して、受信フレームを中継するための出力ポートを決定する。ポート状態管理テーブル４５ｄは、各ポートの論理状態を管理するためのテーブルである。ポート状態判定部４４ｄは、ポート状態管理テーブル４５ｄを参照して出力ポートの状態を決定する。判定結果生成部４６ｄは、廃棄指示等の後述する各種指示や、出力ポートをフレーム転送処理部２０ｄに通知する。ＬＨＣＢフレーム監視部４７ｄは、監視対象のスイッチから送信されるＬＨＣＢフレームの受信を監視する。
【００４９】
管理部１０ｄは、管理用インタフェース１１ｄと、ＬＨＣフレーム送信部３０ｄと、宛先判定部４０ｄと、それぞれ接続されており、各構成要素を制御する。管理用インタフェース１１ｄは、破線で示す管理用端末ＰＣ４と接続するためのインタフェースを提供する機能部である。このインタフェースとしては、例えば、ＵＳＢ（Universal Serial Bus）インタフェースや、ＲＳ２３２Ｃ等のシリアルインタフェースや、ＩＥＥＥ８０２．３ｕなどを採用することができる。ＬＨＣフレーム送信部３０ｄは、管理部１０ｄからの指示に従って、ＬＨＣフレームの生成をフレーム転送処理部２０ｄに指示する。
【００５０】
第１スイッチＳＷ１および第４スイッチＳＷ４は、ネットワークシステム１００では、後述するパス障害監視の開始処理，受信フレーム処理，ＬＨＣＢフレーム監視処理を実行することにより、パス障害の発生を短期間で検出することができる。
【００５１】
なお、上述のＬＨＣフレームは、請求項における監視パケットに相当する。ＬＨＣＢフレームは、請求項における監視応答パケットに相当する。また、ＬＨＣフレーム送信部３０ａおよびフレーム転送処理部２０ａは、請求項における監視パケット送信部に、フレーム転送処理部２０ｄは、請求項における監視応答パケット送信部にそれぞれ相当する。
【００５２】
Ａ−２−２．パス障害監視の開始処理：
図５は、パス障害の監視を行うための設定用ウィンドウＷ１を示す説明図である。図６は、パス障害の監視を行うための設定用ウィンドウＷ２を示す説明図である。図２に示したパスＰＡ１２，ＰＡ２１を監視する場合、ユーザ（ネットワークシステム１００のシステム管理者など）は、予め、これらのパスＰＡ１２，ＰＡ２１を終端するスイッチ、つまり、監視主体と監視対象のスイッチ（第１スイッチＳＷ１および第４スイッチＳＷ４）において、所定の設定を行う。
【００５３】
具体的には、ユーザは、図３に示すように管理用端末ＰＣ１を第１スイッチＳＷ１に接続して、図５に示す監視設定用ウィンドウＷ１を管理用端末ＰＣ１に表示させ、各種パラメータを入力する。図５に示すように、監視設定用ウィンドウＷ１は、監視対象スイッチ（監視対象のパスにおける他端側のスイッチ），監視対象ポート，フレーム送信間隔，およびフレーム監視時間の各パラメータを設定するフィールドと、ＯＫボタンＢ１とを備えている。図５では、監視対象スイッチとして「第４スイッチＳＷ４」が、監視対象ポートとして「第１ポート（ポートＰ１１）」が、フレーム送信間隔として「１（ｍｓ）」が、フレーム監視時間として「１０（ｍｓ）」が、それぞれ入力されている。フレーム送信間隔とは、ＬＨＣフレームを送信してから次のＬＨＣフレームを送信するまでの時間的間隔を意味する。フレーム監視時間とは、パス障害発生の有無を判断する際に基準となる時間的間隔であり、第１スイッチＳＷ１は、このフレーム監視時間を超えても次のＬＨＣＢフレームを受信しない場合に、パス障害が発生したと判断する。ＯＫボタンＢ１が押されると、入力された各パラメータが第１スイッチＳＷ１内の図示しないメモリに記憶されると共に、パス監視の開始指示が管理用端末ＰＣ１から第１スイッチＳＷ１に送信される。
【００５４】
また、ユーザは、図３に示すように管理用端末ＰＣ４を第４スイッチＳＷ４に接続して、図６に示す監視フレーム折り返し設定用ウィンドウＷ２を管理用端末ＰＣ２に表示させる。図６に示すように、設定用ウィンドウＷ２は、折り返し対象ポートを設定するフィールドと、ＯＫボタンＢ３とを備えている。折り返し対象ポートとは、監視用フレーム（ＬＨＣフレーム）を受信した場合に、ＬＨＣフレームの送信元に対して監視応答用フレーム（ＬＨＣＢフレーム）を送信する処理（フレームを折り返す処理）を実行する対象ポートを意味し、図６では、第１ポート（ポートＰ２１）が入力されている。ユーザが折り返し対象ポートを入力しＯＫボタンＢ１を押すと、入力された折り返し対象ポートが第４スイッチＳＷ４に設定される。
【００５５】
図７は、パス障害監視開始処理の手順を示すフローチャートである。図７に示すパス障害監視開始処理は、ユーザによる監視設定がされたスイッチにおいて実行される。前述のように、第１スイッチＳＷ１において監視設定がされた場合には、第１スイッチＳＷ１において、パス障害監視開始処理が実行される。
【００５６】
第１スイッチＳＷ１の管理部１０ａは、管理用インタフェース１１ａを介して管理用端末ＰＣ１からパス監視開始指示を受信し（ステップＳ１１０）、ＬＨＣフレーム送信部３０ａに対して、監視対象ポートからのＬＨＣフレームの送信を指示する（ステップＳ１２０）。
【００５７】
ＬＨＣフレーム送信部３０ａは、設定されたフレーム送信間隔毎に、フレーム転送処理部２０ａに対して、設定された監視対象ポートから設定された監視対象スイッチ宛にＬＨＣフレームを送信するように指示する（ステップＳ１３０）。フレーム転送処理部２０ａは、ＬＨＣフレーム送信部３０ａからの指示に従って、ＬＨＣフレームを生成して監視対象ポートから送信する（ステップＳ１４０）。
【００５８】
図８は、ＬＨＣフレームおよびＬＨＣＢフレームのフレームフォーマットを示す説明図である。ＬＨＣフレームおよびＬＨＣＢフレームは、通常のイーサネットフレームと同様に、レイヤ２ヘッダフィールドおよびデータフィールドにより構成される。ＬＨＣフレームおよびＬＨＣＢフレームの場合、宛先ＭＡＣアドレスフィールドには、監視用に割り当てられた専用のＭＡＣアドレスが挿入される。従って、通常フレームと他のフレーム（ＬＨＣフレームおよびＬＨＣＢフレーム）との区別は、宛先ＭＡＣアドレスに基づいて行うことができる。また、ＬＨＣフレームおよびＬＨＣＢフレームのデータフィールドには、折り返し識別子フィールドが設けられており、この折り返し識別子フィールドに基づいてＬＨＣフレームとＬＨＣＢフレームとを区別することができる。図５に示すように監視対象スイッチとして第４スイッチＳＷ４が設定された場合、宛先ＭＡＣアドレスには、監視対象スイッチである第４スイッチＳＷ４のＭＡＣアドレス「ｍ４」が設定され、ＬＨＣフレームの送信元ＭＡＣアドレスには、第１スイッチＳＷ１のＭＡＣアドレス「ｍ１」が設定される。また、ＬＨＣフレームの折り返し識別子フィールドには、ＬＨＣフレームであることを示す値が設定される。
【００５９】
第１スイッチＳＷ１から送出されたＬＨＣフレームは、図１に示した第２スイッチＳＷ２および第３スイッチＳＷ３において、宛先テーブル（宛先ＭＡＣアドレスと出力ポートとを対応付けた中継用テーブル）に従って中継され、第４スイッチＳＷ４に向けて送信される。
【００６０】
図７に示すように、第１スイッチＳＷ１の管理部１０ａは、ＬＨＣフレームを送信した後、ユーザが設定したフレーム監視時間を図示しないメモリから読み出し、かかるフレーム監視時間に基づき、ポート状態管理テーブル４５ａにおける監視対象ポートのエントリを更新する（ステップＳ１５０）。
【００６１】
図９は、第１スイッチのポートが監視対象ポートとして設定された場合における初期状態のポート状態管理テーブルの例を示す説明図である。
【００６２】
図９に示すように、ポート状態管理テーブル４５ａには、ポート毎に、論理状態，監視状態，監視時間，および監視タイマが設定されている。論理状態は、各ポートにおけるフレームの送受信に関する状態を示し、パス障害が発生していない状態を示す「フレーム送受信可（ＦＷＤ）」又はパス障害が発生している状態を示す「フレーム送受信不可（ＢＬＫ）」が設定され得る。監視状態は、各ポートの監視に関する状態を示し、パス障害を監視する状態を示す「障害監視」又はパス障害発生後の復旧を監視する状態を示す「復旧監視」が設定され得る。監視時間は、図７のステップＳ１５０により設定されたフレーム監視時間を示す。監視タイマは、前回ＬＨＣフレームを送信してからの経過時間を示す。
【００６３】
図９では、ポートＰ１２，Ｐ１ｎについては、既にパス障害監視が実行されており、ポートＰ１１について、パス障害監視開始処理が実行されてエントリが更新された後のポート状態管理テーブル４５ａの状態を示している。ポートＰ１１の更新直後の初期状態には、論理状態「ＢＬＫ」，監視状態「復旧監視」，監視時間「１０ｍｓ」，監視タイマ「０ｍｓ」が設定される。
【００６４】
前述のステップＳ１５０において、監視対象ポートのエントリが更新されると、図７に示すように、管理部１０ａは、ＬＨＣＢフレーム監視部４７ａに対してＬＨＣＢフレーム監視の開始を指示する（ステップＳ１６０）。ＬＨＣＢフレーム監視の開始が指示されたＬＨＣＢフレーム監視部４７ａでは、後述のＬＨＣＢフレーム監視処理が実行される。
【００６５】
Ａ−２−３．受信フレーム処理：
図１０〜図１５は、受信フレーム処理の手順を示すフローチャートである。この受信フレーム処理は、第１スイッチＳＷ１および第４スイッチＳＷ４のいずれにおいても、起動後にいずれかのポートにフレームが到着することにより開始される。第１スイッチＳＷ１と第４スイッチＳＷ４との間において、前述のＬＨＣフレームおよびＬＨＣＢフレームに加えて、通常フレームが送受信される。したがって、これらいずれかのフレームの受信により、受信フレーム処理が開始される。以下では、ＬＨＣフレームおよび通常フレームについては、第４スイッチＳＷ４側で受信するケースを説明し、ＬＨＣＢフレームについては、第１スイッチＳＷ１側で受信するケースを説明する。なお、以下では、図１に示したように、ＬＨＣフレームはパスＰＡ１２を介して、ＬＨＣＢフレームはパスＰＡ２１を介して、それぞれ中継される。
【００６６】
Ａ−２−３−１．ＬＨＣフレームの受信：
図１０に示すように、第４スイッチＳＷ４において、レイヤ２制御部２２ｄは、到着したフレームを受信フレームバッファ２３ｄに格納する（ステップＳ２１０）。レイヤ２制御部２２ｄは、受信フレームバッファ２３ｄに格納した受信フレームから、宛先ＭＡＣアドレスおよび折り返し識別子を抽出して、フレーム種別判定部４１ｄに通知する（ステップＳ２２０）。
【００６７】
フレーム種別判定部４１ｄは、レイヤ２制御部２２ｄから通知された宛先ＭＡＣアドレスおよび折り返し識別子に基づき、フレーム種別を判定する（ステップＳ２３０）。宛先ＭＡＣアドレスが監視用のＭＡＣアドレスであり、折り返し識別子がＬＨＣフレームであることを示す値である場合には、受信フレームはＬＨＣフレームであると判定される。
【００６８】
ＬＨＣフレームであると判定された場合、図１１に示すように、フレーム種別判定部４１ｄは、受信ポートを宛先検索部４２ｄに通知する（ステップＳ３１０）。宛先検索部４２ｄは、折り返し識別子の書き換え指示と、出力ポートとをポート状態判定部４４ｄに通知する（ステップＳ３２０）。このステップＳ３２０において通知する出力ポートは、後述するＬＨＣＢフレームの出力ポートを意味し、ステップＳ３１０において宛先検索部４２ｄから通知された受信ポートと同じポートである。
【００６９】
ステップ３２０が実行された後、図１２に示すように、ポート状態判定部４４ｄは、受信フレームが通常フレームであるか否かを判定する（ステップＳ４１０）。ＬＨＣフレームを受信した場合、通常フレームでないと判定され（ステップＳ４１０：ＮＯ）、この場合、ポート状態判定部４４ｄは、宛先検索部４２ｄから通知された折り返し識別子書き換え指示および出力ポート、または、廃棄指示および受信ポートを、判定結果生成部４６ｄに通知する（ステップＳ４６０）。前述のように、ＬＨＣフレームを受信した場合、折り返し識別子および出力ポートが宛先検索部４２ｄから通知されるので、ポート状態判定部４４ｄは、これら折り返し識別子および出力ポートを、判定結果生成部４６ｄに通知する。なお、廃棄指示および受信ポートは、後述するように、受信フレームがＬＨＣＢフレームである場合に通知される。
【００７０】
判定結果生成部４６ｄは、通知された折り返し識別子書き換え指示および出力ポート、または、廃棄指示および受信ポートを含む宛先判定結果をレイヤ２制御部２２ｄに通知する（ステップＳ４７０）。前述のように、ＬＨＣフレームを受信した場合、判定結果生成部４６ｄは、折り返し識別子書き換え指示および出力ポート含む宛先判定結果を、レイヤ２制御部２２ｄに通知する。
【００７１】
ステップＳ４７０が実行された後、図１３に示すように、レイヤ２制御部２２ｄは、判定結果生成部４６ｄから通知された宛先判定結果を解析し（ステップＳ５１０）、宛先判定結果に廃棄指示が含まれているか否かを判定する（ステップＳ５２０）。上述したように、受信フレームがＬＨＣフレームである場合には、廃棄指示が含まれていない。この場合、レイヤ２制御部２２ｄは、宛先判定結果に折り返し識別子書き換え指示が含まれているか否かを判定する（ステップＳ５４０）。
【００７２】
受信フレームがＬＨＣフレームである場合には、宛先判定結果に折り返し識別子書き換え指示が含まれている。この場合、レイヤ２制御部２２ｄは、受信フレームの宛先ＭＡＣアドレスを送信元ＭＡＣアドレスに、受信フレームの送信元ＭＡＣアドレスを宛先ＭＡＣアドレスに、それぞれ入れ替えると共に、折り返し識別子を、ＬＨＣＢフレームを示す値に書き換えてＬＨＣＢフレームを生成し、レイヤ１制御部２１ｄを介して指示された出力ポートから送信する（ステップＳ５５０）。
【００７３】
具体的には、図４に示すように、ＬＨＣフレームｆｃ１が受信フレームバッファ２３ｄに記憶されている状態において、レイヤ２制御部２２ｄは、ＬＨＣフレームｆｃ１の宛先ＭＡＣアドレス（Ｄ）に設定されている「ｍ４」を読み出して、ＬＨＣＢフレームｆｂ１の送信元ＭＡＣアドレス（Ｓ）に設定する。また、ＬＨＣフレームｆｃ１の送信元ＭＡＣアドレス（Ｓ）に設定されている「ｍ１」を読み出して、ＬＨＣＢフレームｆｂ１の宛先ＭＡＣアドレス（Ｄ）に設定する。また、ＬＨＣフレームｆｃ１の折り返し識別子（Ｒ）に設定されている「Ｃ」（ＬＨＣフレームを示す）を、「Ｂ」（ＬＨＣＢフレームを示す）に書き換えてＬＨＣＢフレームｆｂ１の折り返し識別子に設定する。なお、他のフィールドの値は、ＬＨＣフレームｆｃ１の値を、そのままコピーしてＬＨＣＢフレームｆｂ１の他のフィールドの値に設定する。このようにして生成されたＬＨＣＢフレームｆｂ１は、ＬＨＣフレームの受信ポートと同じポートであるポートＰ４１から出力される。
【００７４】
以上のように、ＬＨＣフレームを受信した場合に、宛先ＭＡＣアドレスを送信元ＭＡＣアドレスに、送信元ＭＡＣアドレスを宛先ＭＡＣアドレスに、それぞれ入れ替え、かつ、折り返し識別子を書き換えるだけでＬＨＣＢフレームが生成されて、ＬＨＣフレームの受信ポート（ポートＰ４１）から出力される。このように、ＬＨＣフレームの一部のフィールドの値を入れ替える、または、書き換えるといった、簡単な処理によりＬＨＣＢフレームが生成されるので、かかる処理を容易にハードウェア処理化でき、処理の高速化が実現できる。ＬＨＣＢフレームでは、宛先ＭＡＣアドレスとして第１スイッチＳＷ１のＭＡＣアドレスが設定されている。したがって、第４スイッチＳＷ４から出力されたＬＨＣＢフレームは、第３スイッチＳＷ３および第２スイッチＳＷ２により、第１スイッチＳＷ１に中継される。なお、上述したＬＨＣフレームの受信フローから理解できるように、第４スイッチＳＷ４では、ＬＨＣフレームを受信しない限り、ＬＨＣＢフレームを第１スイッチＳＷ１宛に送信しない。
【００７５】
Ａ−２−３−２．ＬＨＣＢフレームの受信：
第１スイッチＳＷ１において、第４スイッチＳＷ４から送信されたＬＨＣＢフレームが到着すると、上述した図１０に示すステップＳ２１０〜Ｓ２３０が実行され、フレーム種別判定部４１ａは、レイヤ２制御部２２ａから通知された宛先ＭＡＣアドレスおよび折り返し識別子に基づき、フレーム種別を判定する（ステップＳ２４０）。ＬＨＣＢフレームでは、監視用のＭＡＣアドレスが宛先ＭＡＣアドレスに設定されており、かつ、折り返し識別子としてＬＨＣＢフレームであることを示す値が設定されている。したがって、ステップＳ２４０において、受信フレームはＬＨＣＢフレームであると判定される。
【００７６】
ＬＨＣＢフレームであると判定された場合、図１４に示すように、フレーム種別判定部４１ａは、ＬＨＣＢフレームを受信したことと、受信ポートとを、ＬＨＣＢフレーム監視部４７ａに通知する（ステップＳ６１０）。ＬＨＣＢフレーム監視部４７ａは、通知された受信ポートを検索キーとして、ポート状態管理テーブル４５ａを検索し（ステップＳ６２０）、受信ポートの監視状態が障害監視状態であるか否かを判定する（ステップＳ６３０）。
【００７７】
監視状態が「障害監視」状態である場合には（ステップＳ６３０：ＹＥＳ）、ポート状態管理テーブル４５ａの受信ポートに対応する監視タイマを「０」に設定（クリア）する（ステップＳ６４０）。一方、監視状態が「障害監視」状態でない場合には（ステップＳ６３０：ＮＯ）、すなわち、「復旧監視」状態である場合には、受信ポートに対応する論理状態を「ＦＷＤ（フレーム送受信可））に書き換えると共に、監視状態を「障害監視」に書き換える（ステップＳ６５０）。
【００７８】
最初のＬＨＣＢフレームを受信する際には、図９に示すように、ポートＰ１１について監視状態が「復旧監視」状態であるので、ステップＳ６５０が実行されて、論理状態が「ＦＷＤ」に、監視状態が「障害監視」に、それぞれ書き換えられる。また、２つ目以降のＬＨＣＢフレームを受信する際には、既に監視状態が「障害監視」となっているので、ステップＳ６４０が実行され、監視タイマが０にリセットされる。
【００７９】
図１４に示すステップＳ６４０又はＳ６５０が実行された後、フレーム種別判定部４１ａは、受信ポートを宛先検索部４２ａへ通知する（ステップＳ６６０）。宛先検索部４２ａは、受信ポートおよび受信フレームの廃棄指示をポート状態判定部４４ａへ送信する（ステップＳ６７０）。
【００８０】
ステップＳ６７０が実行された後、図１２に示すステップＳ４１０が実行される。受信フレームがＬＨＣＢフレームであるため（ステップＳ４１０：ＮＯ）、その後、ステップＳ４６０が実行される。前述のＬＨＣフレームの場合とは異なり、ポート状態判定部４４ａは、宛先検索部４２ａから廃棄指示および受信ポートが通知されるので、ステップＳ４６０では、廃棄指示および受信ポートを判定結果生成部４６ａに通知する。判定結果生成部４６ａは、廃棄指示および受信ポートを含む宛先判定結果をレイヤ２制御部２２ａに通知する（ステップＳ４７０）。
【００８１】
続いて図１３に示すステップＳ５１０，Ｓ５２０が実行され、宛先判定結果に廃棄指示が含まれているので、レイヤ２制御部２２ａは、図示しない受信フレームバッファ（図４に示す受信フレームバッファ２３ｄに相当）に格納されているフレーム（ＬＨＣＢフレーム）を廃棄する（ステップＳ５３０）。
【００８２】
Ａ−２−３−３．通常フレームの受信：
第４スイッチＳＷ４において、通常フレームが到着すると、まず、上述した図１０に示すステップＳ２１０〜Ｓ２４０が実行され、フレーム種別が「通常フレーム」であると判定される。この場合、図１５に示すように、フレーム種別判定部４１ｄは、受信フレームの宛先ＭＡＣアドレスを宛先検索部４２ｄに通知する（ステップＳ７１０）。
【００８３】
宛先検索部４２ｄは、通知された宛先ＭＡＣアドレスを検索キーとして宛先テーブル４３ｄを検索し、対応するエントリが存在しない場合には、宛先テーブル４３ｄに新規にエントリを登録する（ステップＳ７２０）。なお、この処理は一般に「学習処理」と呼ばれる。
【００８４】
宛先検索部４２ｄは、ステップＳ７２０により見つかったエントリ（又は新規エントリ）に基づき、受信フレームを中継するための出力ポートを決定し、決定した出力ポートを、ポート状態判定部４４ｄに通知する（ステップＳ７３０）。
【００８５】
ステップＳ７３０が実行された後、図１２に示すステップＳ４１０が実行される。受信フレームが通常フレームであるため（ステップＳ４１０：ＹＥＳ）、ポート状態判定部４４ｄは、通知された出力ポートを検索キーとしてポート状態管理テーブル４５ｄを検索し、出力ポートの論理状態を取得する（ステップＳ４２０）。ポート状態判定部４４ｄは、出力ポートの論理状態がＢＬＫ（フレーム送受信不可）であるか否かを判定し（ステップＳ４３０）、出力ポートの論理状態がＢＬＫである場合には、判定結果生成部４６ｄに対して廃棄指示および受信ポートを通知する（ステップＳ４４０）。廃棄指示および受信ポートを通知した後の処理については、上述したＬＨＣＢフレームの場合と同様、ステップＳ４７０，および図１３のステップＳ５１０，Ｓ５２０，Ｓ５３０が、この順序で実行される。
【００８６】
これに対し、出力ポートの論理状態がＢＬＫでない場合（すなわち、ＦＷＤである場合）、ポート状態判定部４４ｄは、出力ポートを判定結果生成部４６ｄに通知する（ステップＳ４５０）。ステップＳ４７０では、判定結果生成部４６ｄは、通知された出力ポートを含む判定結果をレイヤ２制御部２２ｄに通知する。その後、図１３に示すステップＳ５１０，Ｓ５２０が実行される。ステップＳ５２０において、判定結果には廃棄指示が含まれていないので、ステップＳ５４０が実行される。このステップＳ５４０では、判定結果に折り返し識別子書き換え指示がないため、指示された出力ポートからフレームを送信（中継）する（ステップＳ５６０）。具体的には、レイヤ２制御部２２ｄは、受信フレームバッファ２３ｄに格納されているフレームを、そのまま送信フレームバッファ２４ｄにコピーして、かかるフレームを、レイヤ１制御部２１ｄを介して指示された出力ポートから送信する。
【００８７】
Ａ−２−４．ＬＨＣＢフレーム監視処理：
図１６は、ＬＨＣＢフレーム監視処理の手順を示すフローチャートである。ＬＨＣＢフレーム監視の開始を指示された第１スイッチＳＷ１のＬＨＣＢフレーム監視部４７ａは、監視対象ポートの監視状態が「復旧監視」から「障害監視」に変わった場合に、ＬＨＣＢフレーム監視処理を開始する。監視状態の変化は、上述したように、最初のＬＨＣＢフレームを受信した場合等に起こり得る。
【００８８】
ＬＨＣＢ監視部４７ａは、ポート状態管理テーブル４５ａの監視対象ポートに対応するポートの監視タイマに、一定時間間隔で、前回更新時刻からの経過時間を加算し、加算後の監視タイマと監視時間とを比較する（ステップＳ８１０）。前述のように、第１スイッチＳＷ１においてポートＰ１１が監視対象ポートに設定された場合、図９に示すポートＰ１１のエントリの監視タイマフィールドの値が、０ｍｓから一定時間間隔ごとに増加していく。なお、この一定時間間隔は、監視時間（図９のポートＰ１１の例では「１０ｍｓ」）よりも短い時間に設定される。
【００８９】
ＬＨＣＢ監視部４７ａは、監視タイマの値が、監視時間以上であるか否かを判定する（ステップＳ８２０）。ＬＨＣＢ監視部４７ａは、監視タイマの値が監視時間以上となるまで、ステップＳ８１０，Ｓ８２０の処理を繰り返す。そして、監視タイマの値が監視時間以上となった場合（ステップＳ８２０：ＹＥＳ）、ＬＨＣＢ監視部４７ａは、当該ポートは障害発生と判断し、監視対象ポートの論理状態を「ＢＬＫ」に、監視状態を「復旧監視」にそれぞれ変更する（ステップＳ８３０）。
【００９０】
例えば、図２に示したように、物理リンクＬ１２３が故障して、パスＰＡ１２に障害が発生した場合、上述したように、第４スイッチＳＷ４にＬＨＣフレームは届かない。この場合、第４スイッチＳＷ４は、ＬＨＣＢフレームを第１スイッチＳＷ１宛に送信しない。したがって、ポートＰ１１に設定された監視タイマのリセット（図１４に示すステップＳ６４０）は実行されない。それゆえ、図１６に示すステップＳ８１０を繰り返す結果、監視タイマの値は徐々に増加していって監視タイマの値以上となり、パス障害の発生が検出されることとなる。この場合、ステップＳ８３０を実行することにより、監視対象ポートでは、フレーム送受信不可（ＢＬＫ）に設定される。
【００９１】
図１７は、パス障害発生が発生している状態におけるポート状態管理テーブルの例を示す説明図である。図２に示したようにパスＰＡ１２において障害が発生した場合、図１７に示すように、ポートＰ１１のエントリにおいて、監視タイマが監視時間と一致してパス障害の発生が検出されると、論理状態が「ＦＷＤ」から「ＢＬＫ」に、監視状態が「障害監視」から「復旧監視」に、それぞれ書き換わることとなる。
【００９２】
この状態において、パス障害が復旧すると、第１スイッチＳＷ１においてＬＨＣＢフレームが再び到着することとなるので、前述した図１４に示すステップ６５０が実行され、ポートＰ１１のエントリにおいて、論理状態が「ＦＷＤ」に、監視状態が「障害監視」に、それぞれ書き換わることとなる。
【００９３】
図１８は、ＬＨＣＢフレーム監視処理の実行によるポートの監視状態および論理状態の状態遷移の例を示す説明図である。なお、図１８は、第１スイッチＳＷ１のＬＨＣＢフレーム監視部４７ａにおけるＬＨＣＢフレーム監視動作によって発生するポートＰ１１の状態遷移を例示している。
【００９４】
ポートＰ１１においてＬＨＣＢフレームが未受信状態である場合には、ポートＰ１１に接続されているパスＰＡ１２またはパスＰＡ２１には障害が発生しており、ポートＰ１１の物理状態は「障害」と判断される。このとき、ポート状態管理テーブル４５ａの、ポートＰ１１の監視状態は「復旧監視」状態、ポートＰ１１の論理状態は「ＢＬＫ」の状態に設定され、ポートＰ１１はフレーム送受信不可となる。そして、ＬＨＣＢフレームを受信するまで、この状態（「状態Ａ」と呼ぶ）が維持される。
【００９５】
状態Ａが維持されている場合においてＬＨＣＢフレームを受信すると、ポートＰ１１の物理状態は「正常」と判断される。このとき、ポート状態管理テーブル４５ａの、ポートＰ１１の監視状態は「障害監視」に、ポートＰ１１の論理状態は「ＦＷＤ」に、それぞれ変更され、ポートＰ１１はフレーム送受信可となる。そして、監視時間内にＬＨＣＢフレームの受信を繰り返している間、この状態（「状態Ｂ」と呼ぶ）が維持される。
【００９６】
状態Ｂが維持されている状態において、監視時間内にＬＨＣＢフレームが未受信となった場合には、状態Ａに変化し、ポートＰ１１はフレーム送受信不可となる。
【００９７】
このように、送信したＬＨＣフレームの折り返しであるＬＨＣＢフレームの受信を監視することによって、監視状態が「復旧監視」である状態Ａあるいは監視状態が「障害監視」である状態Ｂに自動的に変化することができる。この結果、片方向パス障害発生時におけるポートの遮断（閉塞）および障害解消時におけるポートの復旧を自動的に行うことができる。
【００９８】
以上説明したように、本実施例のネットワークシステム１００では、監視対象のパスを終端するスイッチ（第４スイッチＳＷ４）において、ＬＨＣフレームを受信した場合に、宛先ＭＡＣアドレスを送信元ＭＡＣアドレスに、送信元ＭＡＣアドレスを宛先ＭＡＣアドレスに、それぞれ入れ替え、かつ、折り返し識別子を書き換えるだけでＬＨＣＢフレームが生成される。したがって、レイヤ２制御部２２ｄによるハードウェア処理が可能となり、処理の高速化が実現できる。それゆえ、２つのスイッチＳＷ１，ＳＷ４間における片方向パス障害を短期間で検出することができる。
【００９９】
加えて、ＬＨＣフレームとＬＨＣＢフレームとは、Ｌ２ヘッダにおいては、通常フレームと同様である。したがって、第１スイッチＳＷ１と第４スイッチＳＷ４との間に、第２スイッチＳＷ２および第３スイッチＳＷ３が存在しても、第２スイッチＳＷ２および第３スイッチＳＷ３において、通常フレームと同様に、ＬＨＣフレームおよびＬＨＣＢフレームを中継させることができる。それゆえ、監視対象とならないスイッチを介して、監視対象のスイッチを監視することができ、比較的大規模なシステムにおいてパスの障害発生を監視することができる。
【０１００】
また、第１スイッチＳＷ１は、ＬＨＣＢフレームを監視時間内に受信している場合には、リンクは正常であると判断し、ポートＰ１１の論理状態をフレーム送受信可（ＦＷＤ）に設定し、監視時間内に受信しない場合には、リンクは障害発生であると判断し、ポートＰ１１の論理状態をフレーム送受信不可（ＢＬＫ）に設定する。これにより、ポートＰ１１に接続されているパスＰＡ１２およびパスＰＡ２１の少なくとも一方にパス障害が発生していることを検出できると共に、ポートＰ１１によるフレーム送受信を遮断することができる。
【０１０１】
ここで、従来のＵＤＬＤは、リンクの障害を検出するために、受信したフレームに含まれる種々のパラメータの解析をソフトウェアによって行い、その解析結果に基づいて障害検出することになるため、障害検出時間が長いという問題があった。しかしながら、本実施例のパス障害検出では、送信したＬＨＣフレームを折り返したＬＨＣＢフレームを監視時間内に受信できるか否かでリンク障害を検出することができる。また、受信したフレームがＬＨＣフレームおよびＬＨＣＢフレームであるか否かを、宛先ＭＡＣアドレスに基づいて容易に判断することができる。従って、従来技術に比べて、パス障害検出時間を短縮化できる。このため、パス障害が発生した場合において、対応するポートを遮断し、パスを切り換えるのに要する時間を短縮化することが可能である。
【０１０２】
また、パス障害が解消された場合に、第１スイッチＳＷ１は、監視時間内にＬＨＣＢフレームの受信を再開する。これにより、障害が発生していたパスを終端するポートの論理状態をフレーム送受信不可（ＢＬＫ）からフレーム送受信可（ＦＷＤ）に自動的に切り替えるので、パスの障害監視を自動的に再開させることができる。
【０１０３】
Ａ−３．第２スイッチＳＷ２の詳細：
Ａ−３−１．第２スイッチＳＷ２の構成：
図１９は、第２スイッチＳＷ２の詳細構成を示す説明図である。図１９に示す第２スイッチＳＷ２の構成要素のうち、第４スイッチＳＷ４（図３）と同一の構成要素については、第４スイッチＳＷ４の構成要素に付した符号の末尾を「ｄ」から「ｂ」に代えて表示し、詳しい説明を省略する。第２スイッチＳＷ２は、複数のポートＰ２１，Ｐ２２，・・・，Ｐ２ｎと、フレーム転送処理部２０ｂと、宛先判定部４０ｂと、障害通知フレーム送信部５０と、管理部１０ｂと、管理用インタフェース１１ｂとを備えている。
【０１０４】
ポートＰ２１は、第１スイッチＳＷ１との間で、物理リンクＬ１２１，Ｌ２１１を形成している。ポートＰ２２は、第３スイッチＳＷ３との間で、物理リンクＬ１２２，Ｌ２１２を形成している。第１スイッチＳＷ１が送信したＬＨＣフレームは、ポートＰ２１で受信され、ポートＰ２２から第３スイッチＳＷ３側へ転送される。また、第４スイッチＳＷ４が送信したＬＨＣＢフレームは、ポートＰ２２で受信され、ポートＰ２１から第１スイッチＳＷ１側へ転送される。フレーム転送処理部２０ｂは、基本的には、第４スイッチＳＷ４のフレーム転送処理部２０ｄと同一の構成である。ただし、フレーム転送処理部２０ｂは、ＬＨＣＢフレームの生成は行わない。
【０１０５】
宛先判定部４０ｂは、フレーム種別判定部４１ｂと、宛先テーブル４３ｂと、宛先検索部４２ｂと、監視リストテーブル４９と、監視部４８とを備えている。フレーム種別判定部４１ｂ、宛先テーブル４３ｂおよび宛先検索部４２ｂは、第４スイッチＳＷ４と同一の構成である。監視リストテーブル４９は、ネットワークシステム１００における監視主体と監視対象主体とを管理するとともに、転送したＬＨＣフレームに対する応答としてのＬＨＣＢフレームの受信状態を管理する。監視部４８は、監視リストテーブル４９を用いて、転送した各々のＬＨＣフレームへの応答としてのＬＨＣＢフレームの受信を監視する。また、監視部４８は、受信したＬＨＣフレームに基づいて、ネットワークシステム１００における監視主体と監視対象主体とを自動学習して、監視リストテーブル４９に記録する。
【０１０６】
障害通知フレーム送信部５０は、所定期間内にＬＨＣＢフレームを受信しない場合に、障害通知パケットを生成して、所定の宛先に送信することをフレーム転送処理部２０ｂに指示する。管理部１０ｂと、管理用インタフェース１１ｂとは、第４スイッチＳＷ４と同一の構成である。
【０１０７】
上述のフレーム種別判定部４１ｂは、請求項におけるパケット種別判定部に相当する。同様に、フレーム転送処理部２０ｂ、監視部４８は、請求項における転送処理部、監視部にそれぞれ相当する。監視部４８は、請求項における学習部にも相当する。勿論、監視部４８は、監視部に相当する機能部と、学習部に相当する機能部とに分離して構成されてもよい。また、障害通知フレーム送信部５０およびフレーム転送処理部２０ｂは、請求項における障害通知パケット送信部に相当する。
【０１０８】
Ａ−３−２．受信フレーム処理：
第２スイッチＳＷ２における受信フレーム処理について説明する。図２０〜図２３は、第２スイッチＳＷ２における受信フレーム処理の手順を示すフローチャートである。受信フレーム処理は、第２スイッチＳＷ２のポートＰ２１〜Ｐ２ｎのいずれかでフレームを受信するたびに実行される。受信フレーム処理が第２スイッチＳＷ２で開始されると、レイヤ２制御部２２ｂは、到着したフレームを受信フレームバッファ２３ｂに格納する（ステップＳ８１０）。レイヤ２制御部２２ｂは、受信フレームバッファ２３ｂに格納した受信フレームから、宛先ＭＡＣアドレスならびに送信元ＭＡＣアドレスおよび折り返し識別子を抽出して、フレーム種別判定部４１ｂに通知する（ステップＳ８２０）。
【０１０９】
フレーム種別判定部４１ｂは、レイヤ２制御部２２ｂから通知された宛先ＭＡＣアドレスおよび折り返し識別子に基づき、フレーム種別を判定する（ステップＳ８３０）。ここでの判定手法は、上記ステップＳ２３０と同様である。本実施例では、監視専用のｍ１，ｍ４〜ｍ６は、第２スイッチＳＷ２に事前登録されており、フレーム種別判定部４１ｂは、この登録されたＭＡＣアドレスと、宛先ＭＡＣアドレスとを照合して、フレーム種別を判定する。判定の結果、受信したフレームが通常フレームであれば（ステップＳ８４０：通常フレーム）、第２の通常フレーム処理が実行される。また、受信したフレームがＬＨＣフレームであれば（ステップＳ８４０：ＬＨＣフレーム）、第２の通常フレーム処理と、第２のＬＨＣフレーム処理とが並行的に実行される。また、受信したフレームがＬＨＣＢフレームであれば（ステップＳ８４０：ＬＨＣＢフレーム）、第２の通常フレーム処理と、第２のＬＨＣＢフレーム処理とが並行的に実行される。
【０１１０】
第２の通常フレーム処理、第２のＬＨＣフレーム処理、第２のＬＨＣＢフレーム処理について、以下に説明する。第２の通常フレーム処理の流れを図２１に示す。第２の通常フレーム処理では、図２１に示すように、フレーム種別判定部４１ｂは、受信フレームの宛先ＭＡＣアドレスを宛先検索部４２ｂに通知する（ステップＳ９１０）。宛先検索部４２ｂは、通知された宛先ＭＡＣアドレスを検索キーとして宛先テーブル４３ｂを検索し、対応するエントリが存在しない場合には、宛先テーブル４３ｂに新規にエントリを登録する（ステップＳ９２０）。
【０１１１】
宛先検索部４２ｂは、ステップＳ９２０により見つかったエントリ（又は新規エントリ）に基づき、受信フレームを中継するための出力ポートを決定し、決定した出力ポートを、フレーム転送処理部２０ｂのレイヤ２制御部２２ｂに通知する（ステップＳ９３０）。レイヤ２制御部２２ｄは、出力ポートの通知を受けると、指示された出力ポートからフレームを送信（中継）する（ステップＳ９４０）。具体的には、レイヤ２制御部２２ｄは、受信フレームバッファ２３ｂに格納されているフレームを、そのまま送信フレームバッファ２４ｂにコピーして、かかるフレームを、レイヤ１制御部２１ｂを介して指示された出力ポートから送信する。こうして、第２の通常フレーム処理は終了となる。
【０１１２】
第２のＬＨＣフレーム処理の流れを図２２に示す。第２のＬＨＣフレーム処理では、図２２に示すように、フレーム種別判定部４１ｂは、ＬＨＣフレームを受信したことと、当該ＬＨＣフレームの宛先ＭＡＣアドレスおよび送信元ＭＡＣアドレスとを監視部４８に通知する（ステップＳ１０１０）。監視部４８は、監視リストテーブル４９を検索して、通知された宛先ＭＡＣアドレスと送信元ＭＡＣアドレスとの組み合わせが監視リストテーブル４９に登録されているか否かを判断する（ステップＳ１０２０）。
【０１１３】
判断の結果、登録済みでなければ（ステップＳ１０２０：ＮＯ）、監視リストテーブル４９は、通知された宛先ＭＡＣアドレスと送信元ＭＡＣアドレスとの組み合わせを新たなエントリとして監視リストテーブル４９に登録する（ステップＳ１０３０）。監視リストテーブル４９では、ＬＨＣフレームの送信元ＭＡＣアドレスが監視主体として登録され、宛先ＭＡＣアドレスが監視対象として登録される。
【０１１４】
監視リストテーブル４９の具体例を図２４に示す。監視リストテーブル４９は、後述する障害通知フレームを送信する宛先を自動学習により管理するテーブルである。また、監視リストテーブル４９は、第２スイッチＳＷ２が転送したＬＨＣフレームの応答としてのＬＨＣＢフレームの受信を監視するためにも用いられる。図２４に示すように、監視リストテーブル４９には、監視主体のＭＡＣアドレスと、監視対象のＭＡＣアドレスと、監視時間と、監視タイマとが対応付けて記録される。図示する例では、監視主体ＭＡＣアドレスと監視対象ＭＡＣアドレスとの組み合わせとして、（ｍ１，ｍ４）、（ｍ１，ｍ６）、（ｍ５，ｍ４）、（ｍ６，ｍ４）が登録されている。つまり、監視主体としての第１スイッチＳＷ１は、第４スイッチＳＷ４および第６スイッチＳＷ６を監視対象としている。また、監視主体としての第５スイッチＳＷ５および第６スイッチＳＷ６は、それぞれ、第４スイッチＳＷ４を監視対象としている。
【０１１５】
監視時間は、パス障害発生の有無を判断する際に基準となる時間的間隔であり、第２スイッチＳＷ２は、ＬＨＣフレームを転送した後、この監視時間を超えても当該ＬＨＣフレームに対応するＬＨＣＢフレームを受信しない場合に、パス障害が発生したと判断する。この監視時間は、図１９に示したように、管理用端末ＰＣ２を管理用インタフェース１１ｂに接続して、所望の値に設定することが可能である。本実施例では、監視時間は、第１スイッチＳＷ１に設定された監視時間（１０ｍｓ）よりも短い８ｍｓに設定されている。こうすれば、第１スイッチＳＷ１は、後述する障害通知処理によって、第１スイッチＳＷ１でのＬＨＣＢフレームの監視と同等、または、それよりも早いタイミングで、障害を検出することも可能となる。
【０１１６】
監視タイマは、第２スイッチＳＷ２がＬＨＣフレームを転送した後の経過時間を計測した値である。本実施例では、上記ステップＳ１０３０で新たなエントリが登録されると、監視タイマのカウントが開始される。なお、より正確に経過時間を計測するために、監視タイマのカウントの開始と、ＬＨＣフレームの転送とを同期させてもよい。
【０１１７】
こうして、新たなエントリを登録すると（ステップＳ１０３０）、あるいは、登録済みであれば（ステップＳ１０２０：ＹＥＳ）、第２のＬＨＣフレーム処理は終了となる。
【０１１８】
第２のＬＨＣＢフレーム処理の流れを図２３に示す。第２のＬＨＣＢフレーム処理では、図２３に示すように、フレーム種別判定部４１ｂは、ＬＨＣＢフレームを受信したことと、当該ＬＨＣＢフレームの宛先ＭＡＣアドレスおよび送信元ＭＡＣアドレスとを監視部４８に通知する（ステップＳ１１１０）。
【０１１９】
監視部４８は、監視リストテーブル４９を検索して、通知された宛先ＭＡＣアドレスと送信元ＭＡＣアドレスとの組み合わせに一致するエントリを特定し、当該エントリの監視タイマをリセットする（ステップＳ１１２０）。こうして、第２のＬＨＣＢフレーム処理は、終了となる。
【０１２０】
Ａ−３−３．障害通知処理：
第２スイッチＳＷ２における障害通知処理について説明する。障害通知処理とは、スイッチＳＷ２が転送するＬＨＣフレームに対するＬＨＣＢフレームの受信を監視して、障害の発生を検知した場合に、他の通信装置に障害の発生を通知する処理である。障害通知処理の流れを図２５に示す。障害通知処理は、監視リストテーブル４９に少なくとも１つのエントリが登録されることで開始され、その後、上述した受信フレーム処理と並行して、繰り返し実行される。
【０１２１】
図２５に示すように、障害通知処理が開始されると、監視部４８は、監視リストテーブル４９の各エントリの監視タイマに、一定時間間隔で、前回更新時刻からの経過時間を加算し、加算後の監視タイマと監視時間とを比較する（ステップＳ１２１０）。なお、この一定時間間隔は、監視時間（図２４の例では「８ｍｓ」）よりも短い時間に設定される。
【０１２２】
監視部４８は、監視タイマの値が、監視時間以上であるか否かを判定する（ステップＳ１２１０）。監視部４８は、監視タイマの値が監視時間以上となるまで、ステップＳ１２１０，Ｓ１２２０の処理を繰り返す。そして、監視タイマの値が監視時間以上となった場合（ステップＳ１２２０：ＹＥＳ）、監視部４８は、当該エントリの監視対象ＭＡＣアドレスに対応するポートは障害発生と判断する。そして、監視部４８は、障害通知フレーム送信部５０に対して、障害ポートに対応する監視対象ＭＡＣアドレスと、当該監視対象ＭＡＣアドレスと対応付けられた監視主体ＭＡＣアドレスとを通知する（ステップＳ１２３０）。障害通知フレーム送信部５０は、通知された監視主体ＭＡＣアドレスを宛先とした障害通知フレームの生成をフレーム転送処理部２０ｂに指示する（ステップＳ１２３０）。例えば、図２４の例において、監視対象ＭＡＣアドレス「ｍ４」のポートに障害が発生したと判断した場合、監視部４８は、監視主体ＭＡＣアドレスとして、監視対象ＭＡＣアドレス「ｍ４」に対応付けられた「ｍ１」，「ｍ５」，「ｍ６」を通知する。
【０１２３】
フレーム転送処理部２０ｂは、障害通知フレーム送信部５０からの指示に従って、障害通知フレームを生成して、送信する（ステップＳ１２４０）。例えば、図２４の例において、監視対象ＭＡＣアドレス「ｍ４」のポートに障害が発生したと判断された場合、第１スイッチＳＷ１、第５スイッチＳＷ５および第６スイッチＳＷ６に、それぞれ障害通知フレームが送信される。
【０１２４】
本実施例においては、この障害通知フレームは、障害発生と判断されたポートの監視対象ＭＡＣアドレスを障害通知フレームのペイロードに含めて生成される。障害通知フレームのフレームフォーマットの具体例を図２６に示す。この例では、データフィールドは、フレームタイプと、障害ポートに対応するＭＡＣアドレスとを含んで構成される。フレームタイプは、障害通知フレームであることを示す識別子である。障害ポートに対応するＭＡＣアドレスは、図２４の例において、監視対象ＭＡＣアドレス「ｍ４」のポートに障害が発生したと判断された場合、「ｍ４」となる。なお、フレームタイプは、必須ではなく、レイヤ２ヘッダ内のタイプフィールドを利用して、障害通知フレームの通知を行ってもよい。もとより、障害通知フレームの送信専用のＭＡＣアドレスを予め他の通信装置に登録しておき、当該ＭＡＣアドレスを送信元アドレスとし使用して、障害通知フレームを送信する場合には、識別子は不要となる。
【０１２５】
また、障害ポートに対応するＭＡＣアドレスは、ペイロードに含めることで通知する構成に限られるものではない。例えば、障害発生と判断されたポートの監視対象ＭＡＣアドレスを送信元ＭＡＣアドレスとして、障害通知フレームを生成してもよい。この場合、障害通知フレームの信元ＭＡＣアドレスが、障害発生と判断されたポートに対応していることを示す識別子を障害通知フレームに付与すればよい。当該識別子をレイヤ２ヘッダ内のタイプフィールドを利用して付与すれば、障害通知フレームを受信した通信装置は、ヘッダ情報のみに基づいて、障害が発生したパスを検出することが可能である。
【０１２６】
これらのように、障害発生と判断されたポートの監視対象ＭＡＣアドレスを障害通知フレームに含ませることで、障害通知フレームを受信した通信装置は、障害が発生したパスを簡単に検出することができる。なお、障害通知フレームを受信して、障害を検出した通信装置は、当該障害が生じたポートを閉じて、中継経路を他のパスに切り替えることとなる。
【０１２７】
こうして障害通知フレームを送信すると、監視部４８は、監視リストテーブル４９から、障害発生と判断されたポートの監視対象ＭＡＣアドレスに対応するエントリを削除する（ステップＳ１２５０）。図２４の例において、監視対象ＭＡＣアドレス「ｍ４」のポートに障害が発生したと判断された場合、監視主体ＭＡＣアドレスと監視対象ＭＡＣアドレスとの組み合わせとして、（ｍ１，ｍ４）、（ｍ５，ｍ４）、（ｍ６，ｍ４）のエントリが削除される。こうすれば、同一のパスの障害を通知する障害通知フレームが、同一の監視主体の通信装置に複数回送信されることがない。例えば、図２４の例において、監視主体ＭＡＣアドレスと監視対象ＭＡＣアドレスとの組み合わせとして、（ｍ１，ｍ４）のエントリの監視タイマに基づいて、第１スイッチＳＷ１，第５スイッチＳＷ５、第６スイッチＳＷ６に障害通知フレームが送信された後に、（ｍ５，ｍ４）のエントリの監視タイマに基づいて、第１スイッチＳＷ１，第５スイッチＳＷ５、第６スイッチＳＷ６に障害通知フレームが送信されることがない。こうして、障害通知処理は、終了となる。
【０１２８】
かかる構成の第２スイッチＳＷ２は、第１スイッチＳＷ１と第４スイッチＳＷ４との間でやりとりされるＬＨＣフレームとＬＨＣＢフレームとを利用して、第２スイッチＳＷ２と第４スイッチＳＷ４との間に発生した片方向パス障害を、障害通知フレームによって、第４スイッチＳＷ４を監視対象とする第１スイッチＳＷ１，第５スイッチＳＷ５，第６スイッチＳＷ６に通知する。したがって、例えば、第１スイッチＳＷ１以外の通信装置、つまり、第５スイッチＳＷ５，第６スイッチＳＷ６において、第５スイッチＳＷ５および第６スイッチＳＷ６が送信したＬＨＣフレームに基づく監視のタイミングよりも早期に発生した片方向パス障害を検出することができる。
【０１２９】
また、監視主体、例えば、第１スイッチＳＷ１は、２つの手法、つまり、自機が送信したＬＨＣフレームの監視と、第２スイッチＳＷ２による通知との２つの手法で、障害を検出できる。その結果、第１スイッチＳＷ１は、障害が発生したパスをより詳細に検出することができる。例えば、自機が送信したＬＨＣフレームへの応答としてのＬＨＣＢフレームを受信せず、かつ、障害通知フレームも受信していない場合には、第１スイッチＳＷ１と第２スイッチＳＷ２との間で障害が発生したことを検出することができる。
【０１３０】
また、第２スイッチＳＷ２は、受信したＬＨＣフレームの各々について、それに含まれる送信元アドレスと宛先アドレスとの対応関係を監視リストテーブル４９に記録する。そして、監視リストテーブル４９において、所定期間内にＬＨＣＢフレームを受信しなかったＬＨＣフレームの宛先アドレスに対応付けられた送信元アドレスを、障害通知フレームの宛先として学習する。このため、第２スイッチＳＷ２は、障害が発生したポートに係る通信装置を監視対象としていた監視主体のみに、障害通知フレームを送信することになる。したがって、処理が効率的であり、障害通知に係るネットワーク負荷も抑制できる。しかも、障害通知フレームの送信先を自動学習するので、ユーザが、手動操作によって送信先を入力する必要がない。このため、ユーザの利便性が向上する。
【０１３１】
Ｂ．変形例：
上記の実施例は、例えば、次のような変形も可能である。
【０１３２】
Ｂ−１．変形例１：
上述の実施形態においては、スイッチＳＷ１，ＳＷ４〜ＳＷ６が、相互に、監視主体および監視対象となる構成について示したが、監視主体および監視対象は、適宜設定すればよい。また、第２スイッチＳＷ２の障害通知機能を有するスイッチも適宜設定すればよい。例えば、ネットワークシステム１００を構成する各スイッチが、監視主体の機能と、監視対象の機能と、障害通知機能とを併せ持っていてもよい。
【０１３３】
Ｂ−２．変形例２：
上述の実施形態においては、第２スイッチＳＷ２は、受信したＬＨＣフレームの送信元ＭＡＣアドレスと、宛先ＭＡＣアドレスとの組み合わせに基づいて、障害通知フレームの宛先を学習する構成について示したが、宛先の学習は、少なくとも、受信したＬＨＣフレームの送信元ＭＡＣアドレスに基づくものであればよい。例えば、受信したＬＨＣフレームの送信元ＭＡＣアドレスを記録しておき、その全てを障害通知フレームの宛先として学習してもよい。こうすれば、送信元ＭＡＣアドレスのみに基づいて、所定の宛先を学習するので、構成が簡単である。しかも、全ての監視主体が早期に障害を検出することができる。
【０１３４】
もとより、障害通知フレームの宛先は、自動学習する構成に限らない。例えば、障害通知フレームの宛先は、図１９に示したように、管理用インタフェース１１ｂに管理用端末ＰＣ２を接続して、手動操作によって第２スイッチＳＷ２に登録してもよい。あるいは、第２スイッチＳＷ２が障害通知フレームをブロードキャストまたはマルチキャストで送信する構成としてもよい。
【０１３５】
Ｂ−３．変形例３：
上述の実施形態においては、障害が発生したと判断されたポートに対応するスイッチのＭＡＣアドレスを、障害通知フレームに含めることによって、スイッチＳＷ１，スイッチＳＷ５，ＳＷ６に、障害発生パスを通知する構成としたが、障害発生パスの通知の態様は、上述の例に限るものではない。例えば、監視主体としての第１スイッチＳＷ１が、監視対象の第４スイッチＳＷ４に至るまでの中継経路情報を付与したＬＨＣフレームを送信する構成としてもよい。この場合、第２スイッチＳＷ２は、所定期間内にＬＨＣＢフレームを受信しなかったＬＨＣフレームに付与された中継経路情報を障害通知フレームに付与してもよい。こうしても、障害通知フレームを受信したスイッチ、例えば、第６スイッチＳＷ６は、障害通知フレームに付与された中継経路情報と、障害通知フレームの送信元ＭＡＣアドレスとに基づいて、第２スイッチＳＷ２と第４スイッチＳＷ４との間で障害が発生したことを容易に検出できる。
【０１３６】
Ｂ−４．変形例４：
上述の実施形態においては、送信元ＭＡＣアドレス、宛先ＭＡＣアドレスおよび折り返し識別子に基づいて、第２スイッチＳＷ２が、受信したフレームの種別判定を行う構成について示したが、種別判定の方法は、上述した態様に限られるものではない。例えば、ＬＨＣフレームとＬＨＣＢフレームとに、ＬＨＣフレームと、ＬＨＣＢフレームと、通常フレームとを識別可能な識別子を付与する場合には、当該識別子のみに基づいて種別判定を行ってもよい。
【０１３７】
あるいは、ＬＨＣフレーム専用のＭＡＣアドレスと、ＬＨＣＢフレーム専用のＭＡＣアドレスとを各スイッチに付与する場合には、ＭＡＣアドレスのみに基づいて種別判定を行ってもよい。専用のＭＡＣアドレスは、スイッチＳＷ２に予め登録しておいてもよい。あるいは、専用のＭＡＣアドレスを構成する値の配列ルールを予め決めておき、そのルールを第２スイッチＳＷ２に記憶させておいてもよい。こうすれば、ユーザが手動登録しなくても、第２スイッチＳＷ２は、当該ルールを満たすか否かによって、専用のＭＡＣアドレスであるか否かを判断することができる。
【０１３８】
また、ネットワークシステム１００においてＶＬＡＮ（Virtual LAN）を設定可能であれば、通常フレーム送受信用のＶＬＡＮと、ＬＨＣフレーム送受信用のＶＬＡＮと、ＬＨＣＢフレーム送受信用のＶＬＡＮとを、それぞれ設定しておき、フレームに設定されたＶＬＡＮ−ＩＤにより各フレーム種別を判別することもできる。
【０１３９】
Ｂ−５．変形例５：
上述の実施形態においては、各スイッチＳＷ１〜ＳＷ６は、レイヤ２スイッチとして例示したが、これに代えて、いずれもレイヤ３スイッチを採用することもできる。この場合、監視対象のスイッチは、受信したＬＨＣパケットのレイヤ３の宛先アドレスと、レイヤ３の送信元アドレスとを入れ替え、また、レイヤ３のデータフィールドに含まれる折り返し識別子の書き換えを行うことで、ＬＨＣＢパケットを生成すればよい。また、第２スイッチＳＷ２は、レイヤ３のアドレスに基づいて、ＬＨＣパケットおよびＬＨＣＢパケットの判別や、障害通知パケットの宛先の学習を行えばよい。
【０１４０】
また、上述の実施形態においては、スイッチ間のパス障害を監視する構成について示したが、監視主体や監視対象は、スイッチに限定されるものではない。例えば、サーバとストレージ（例えば、ＮＡＳ（Network Attached Storage）との間におけるレイヤ２のパスの障害を監視することもできる。この構成においては、サーバおよびストレージに、２つのスイッチＳＷ１，ＳＷ４が有する各機能部が配置される。また、例えば、サーバとクライアント（例えば、パーソナルコンピュータ）との間におけるレイヤ２のパスの障害を監視することもできる。つまり、監視主体や監視対象は、互いにレイヤ２またはレイヤ３での通信が可能な任意の通信装置とすることができる。
【０１４１】
以上、本発明の実施形態について説明したが、上述した実施形態における構成要素のうち、独立クレームに記載された要素に対応する要素以外の要素は、付加的な要素であり、適宜省略、または、組み合わせが可能である。また、本発明はこうした実施形態に限られるものではなく、本発明の要旨を脱しない範囲において、種々なる態様で実施できることは勿論である。例えば、本発明は、中継装置やネットワークシステムとしての構成のほか、ネットワーク障害検出方法、中継装置の障害通知プログラム、当該プログラムを記録した記憶媒体等としても実現することができる。
【符号の説明】
【０１４２】
１００…ネットワークシステム
ＳＷ１…第１スイッチ（レイヤ２スイッチ）
ＳＷ２…第２スイッチ（レイヤ２スイッチ）
ＳＷ３…第３スイッチ（レイヤ２スイッチ）
ＳＷ４…第４スイッチ（レイヤ２スイッチ）
ＳＷ５…第５スイッチ（レイヤ２スイッチ）
ＳＷ６…第６スイッチ（レイヤ２スイッチ）
Ｌ１２１，Ｌ１２２，Ｌ１２３，Ｌ２１１，Ｌ２１２，Ｌ２１３…物理リンク
１０ａ，１０ｂ，１０ｄ…管理部
１１ａ，１１ｂ，１１ｄ…管理用インタフェース
２０ａ，２０ｂ，２０ｄ…フレーム転送処理部
２１ｄ…レイヤ１制御部
２２ｄ…レイヤ２制御部
２３ｄ…受信フレームバッファ
２４ｄ…送信フレームバッファ
３０ａ，３０ｄ…ＬＨＣフレーム送信部
４０ａ，４０ｂ，４０ｄ…宛先判定部
４１ａ，４１ｂ，４１ｄ…フレーム種別判定部
４２ａ，４２ｂ，４２ｄ…宛先検索部
４３ａ，４３ｂ，４３ｄ…宛先テーブル
４４ａ，４４ｄ…ポート状態判定部
４５ａ，４５ｄ…ポート状態管理テーブル
４６ａ，４６ｄ…判定結果生成部
４７ａ，４７ｄ…ＬＨＣＢフレーム監視部
４８…監視部
４９…監視リストテーブル
５０…障害通知フレーム送信部
Ｐ１１，Ｐ１２，Ｐ１ｎ，Ｐ２１，Ｐ２２，Ｐ２ｎ，Ｐ４１，Ｐ４２，Ｐ４ｎ…ポート
ＰＡ１２，ＰＡ２１…パス
ＰＣ１，ＰＣ２，ＰＣ４…管理用端末
Ｗ１…監視設定用ウィンドウ
Ｗ２…監視フレーム折り返し設定用ウィンドウ
Ｂ１，Ｂ３…ＯＫボタン
【図１】
0005558404.tif 000002
【図２】
0005558404.tif 000003
【図３】
0005558404.tif 000004
【図４】
0005558404.tif 000005
【図５】
0005558404.tif 000006
【図６】
0005558404.tif 000007
【図７】
0005558404.tif 000008
【図８】
0005558404.tif 000009
【図９】
0005558404.tif 000010
【図１０】
0005558404.tif 000011
【図１１】
0005558404.tif 000012
【図１２】
0005558404.tif 000013
【図１３】
0005558404.tif 000014
【図１４】
0005558404.tif 000015
【図１５】
0005558404.tif 000016
【図１６】
0005558404.tif 000017
【図１７】
0005558404.tif 000018
【図１８】
0005558404.tif 000019
【図１９】
0005558404.tif 000020
【図２０】
0005558404.tif 000021
【図２１】
0005558404.tif 000022
【図２２】
0005558404.tif 000023
【図２３】
0005558404.tif 000024
【図２４】
0005558404.tif 000025
【図２５】
0005558404.tif 000026
【図２６】
0005558404.tif 000027