(57)【要約】【課題】L2ループの発生及びその発生箇所を検出するネットワーク障害検出装置を提供する。【解決手段】ネットワーク障害検出装置は、ネットワーク内の端末の一つの機能として実現され、ネットワーク内の探索対象端末に対して疎通確認パケットを送信し、その応答パケットの受信状況に基づいた疎通の有無により、探索対象端末までの経路上にレイヤ２ループがあるか否かについて判定する。【選択図】図４
2006352259.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末のうちの第一の端末であって、各端末は複数の中継装置のうちの少なくとも一つの中継装置を介して別の端末と接続するネットワークの障害を検出するネットワーク障害検出装置において、
前記複数の端末のうちの第二の端末に疎通確認データを送信する送信部と、
前記疎通確認データに対する前記第二の端末からの応答データを受信する受信部と、
前記応答データの受信状況に基づいて、前記第二の端末までの経路上に存在する中継装置に、所定のネットワーク障害を引き起こすループが発生しているか否かを判定する判定部とを備えることを特徴とするネットワーク障害検出装置。
【請求項２】
請求項１において、
前記判定部は、前記応答データの受信状況に基づいて、前記第二の端末との疎通の有無を判定し、疎通なしと判定した場合、前記ループが発生していると判定し、疎通有りと判定した場合、前記ループが発生していないと判定することを特徴とするネットワーク障害検出装置。
【請求項３】
請求項１において、
前記判定部は、前記疎通確認データの送信数より前記応答データの受信数が多い場合、前記ループが発生していると判定することを特徴とするネットワーク障害検出装置。
【請求項４】
請求項１において、
前記第二の端末のアドレス及び前記ネットワーク障害検出装置以外のアドレスを発信元アドレスとする複数のデータをブロードキャスト送信する通信回復処理部を備え、
前記通信回復処理部は、前記送信部が前記第二の端末に前記疎通確認データを送信する前に、前記複数のデータをブロードキャスト送信することを特徴とするネットワーク障害検出装置。
【請求項５】
請求項１において、
前記ループ発生時において前記ループ内を周回するデータのデータ長よりも長いデータ長を有する複数のデータをブロードキャスト送信する負荷低減処理部を備え、
前記負荷低減処理部は、前記送信部が前記第二の端末に前記疎通確認データを送信する前に、前記複数のデータをブロードキャスト送信することを特徴とするネットワーク障害検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上で発生する障害を検出するネットワーク障害検出装置及びネットワーク障害検出方法に関し、特に、ネットワークを構成する中継装置で発生する障害であるレイヤ２ループを検出するネットワーク障害検出装置及びネットワーク障害検出方法に関する。
【背景技術】
【０００２】
ＬＡＮなどのネットワークを構成するレイヤ２（L2）スイッチと呼ばれる中継装置は、ネットワークの中継装置の一つで、OSI参照モデルのデータリンク層（第２層）のデータでパケットの行き先を判断して転送を行なう機能を有する。データリンク層のプロトコルには、EthernetなどにおけるMAC (メディアアクセス制御)があり、MACアドレスを見てデータの行き先を決定するEthernetの中継装置はスイッチングハブとも呼ばれる。IPやTCP、HTTPなどのプロトコルはネットワーク層（第３層）以上に位置するため、レイヤ2スイッチは第３層以上のプロトコルが異なる場合であってもパケットの転送が可能である。
【０００３】
複数の端末がレイヤ２スイッチにより接続されるネットワークにおいては、ケーブルの誤接続やレイヤ２スイッチの故障などにより、ネットワーク全域において、レイヤ２ループと呼ばれる障害が発生する。レイヤ２ループの発生により、ネットワーク全域において、端末の高負荷状態を招き、また、ネットワーク通信不能状態に陥る。
【０００４】
図１乃至図３は、レイヤ２ループによるネットワーク障害を説明する図である。図１において、ネットワークは、レイヤ２スイッチ（以下、「スイッチ」と称す）SW1の配下にスイッチSW2、SW3、SW4が接続され、スイッチSW2、SW3、SW4の配下にそれぞれスイッチSW5、SW6、SW7が接続し、スイッチSW5、SW6、SW7にそれぞれ端末Y1、Y2、Xが接続して構成される。そして、スイッチSW2におけるケーブル誤接続により、スイッチSW2はループ接続され、ここでレイヤ２ループが発生するものとする。
【０００５】
端末Xがブロードキャストパケットを送信する場合を例について説明する。端末Xからブロードキャストパケットが送信されると、ブロードキャストパケットは、スイッチSW7、SW4、SW1を経由して、L2ループが発生しているスイッチSW2に到達する。ブロードキャストパケットは、スイッチSW2でループを周回するたびに、ネットワーク（サブネット）全域に送出される。ループ周回は、ワイヤースピードで行われるため、結果として、スイッチSW2からネットワーク全域にワイヤースピードでブロードキャストパケットが送出され続け（ブロードキャストストームと呼ばれる）、ネットワーク内の端末は高負荷状態となってしまう。
【０００６】
また、各スイッチの複数のポートのうちの一つにブロードキャストパケットが入力されると、スイッチは、そのブロードキャストパケットに含まれる発信元端末のMACアドレスを記憶するとともに、ブロードキャストパケットの発信端末が存在する方向をその入力ポートの方向であると認識する（以下、これを「アドレスを学習する」と表現する場合がある）するため、上記ブロードキャストストームにより、発信元端末のアドレスを誤学習するスイッチが現れる。すなわち、各スイッチは、ブロードキャストパケットの発信元アドレスがL2ループ発生箇所（スイッチSW2）の方向にあると認識するため、端末XとL2ループ発生箇所間の経路上の各スイッチにおいて、発信元端末のアドレスの誤学習が発生する。具体的には、L2ループが発生しているスイッチSW2にあたかもブロードキャストパケットを送出した端末Xの虚像があるように端末Xがアドレスを学習するため、図中、端末XとL2ループ発生箇所間の経路上にあるスイッチSW7、SW4、SW1、SW2において、端末Xのアドレスを誤学習する。このように、L2ループが発生している状態で、端末からブロードキャストパケットが送信されると、その端末とL2ループが発生している箇所までの経路上のスイッチは、その端末のアドレスを誤学習する。
【０００７】
スイッチSW3、SW5、SW6については、実在の端末Xからパケットが送信された場合とL2ループ発生箇所からパケットが送信された場合におけるパケット受信方向が一致するため、結果的に誤学習しなかったに過ぎない。
【０００８】
上述のように端末Xのアドレスが誤学習された状態において、図２に示すように、端末Y１が端末X宛てにユニキャストパケットを送信する。ユニキャストパケットは、スイッチSW5を経由してスイッチSW２に到達する。スイッチSW2は、端末Xのアドレスを誤学習しており、ユニキャストパケットは、スイッチSW2で発生しているL2ループ内を周回し続け、端末Xまで到達せず、端末Xとの通信が不能となる。また、スイッチSW2は、あたかもL2ループ内に端末Y1が存在するかのように、端末Y1のアドレスを誤学習してしまう。このように、L2ループ発生箇所に到達するように誤学習されたアドレスへユニキャストパケットが送信されると、L2ループ発生スイッチSW2において、ユニキャストパケットの発信元端末のアドレスは、L2ループ方向に誤学習される。なお、他のスイッチSW５は、端末Y1のアドレスを正常に学習する。
【０００９】
同様に、端末Xのアドレスが上述のように誤学習された状態において、図３に示すように、端末Y２が端末X宛てにユニキャストパケットを送信する。ユニキャストパケットは、スイッチSW6、SW3、SW1を経由してスイッチSW2に到達する。スイッチSW2は、端末Xのアドレスを誤学習しており、ユニキャストパケットは、スイッチSW2で発生しているL2ループ内を周回し続け、端末Xまで到達せず、端末Xとの通信が不能となる。また、スイッチSW2は、あたかもL2ループ内に端末Y2が存在するかのように、端末Y2のアドレスを誤学習してしまう。なお、他のスイッチSW6、SW3、SW1は、端末Y2のアドレスを正常に学習する。
【００１０】
ネットワーク障害を引き起こすレイヤ２ループを検出する技術として、例えば、下記特許文献１は、受信フレームの解析によりフレームの無限ループを判断し、L2ループを検出する方法について開示している。
【特許文献１】特開２００１−１９７１１４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
L2ループが発生した場合、従来、人手によりレイヤ２スイッチのケーブルの抜き差しを行う、あるいは、被疑スイッチから接続状態に関する情報を取得する手順を繰り返し行うことにより、L2ループ発生箇所を絞りこんでいた。そのため、L2ループ箇所の発見に至るまでに、多くの時間(数時間〜数日)と労力が必要であった。
【００１２】
また、上記特許文献１によれば、ネットワーク（サブネット）内のどこかでL2ループが発生していることは検出することができるが、サブネット内のどこでL2ループが発生しているかまでは特定することができない。
【００１３】
そこで、本発明の目的は、L2ループの発生及びその発生箇所を素早く且つ容易に検出することができるネットワーク障害検出装置及びネットワーク障害検出方法を提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するための本発明のネットワーク障害検出装置の第一の構成は、複数の端末のうちの第一の端末であって、各端末は複数の中継装置のうちの少なくとも一つの中継装置を介して別の端末と接続するネットワークの障害を検出するネットワーク障害検出装置において、前記複数の端末のうちの第二の端末に疎通確認データを送信する送信部と、前記疎通確認データに対する前記第二の端末からの応答データを受信する受信部と、前記応答データの受信状況に基づいて、前記第二の端末までの経路上に存在する中継装置に、所定のネットワーク障害を引き起こすループが発生しているか否かを判定する判定部とを備えることを特徴とする。
【００１５】
本発明のネットワーク障害検出装置の第二の構成は、上記第一の構成において、前記判定部が、前記応答データの受信状況に基づいて、前記第二の端末との疎通の有無を判定し、疎通なしと判定した場合、前記ループが発生していると判定し、疎通有りと判定した場合、前記ループが発生していないと判定することを特徴とする。
【００１６】
本発明のネットワーク障害検出装置の第三の構成は、上記第二の構成のおいて、前記判定部が、前記疎通確認データの送信数に対する前記応答データの受信数の割合である疎通率を求め、当該疎通率が所定値未満である場合、疎通無しと判定し、前記疎通率が所定値以上の場合は、疎通有りと判定することを特徴とする。
【００１７】
本発明のネットワーク障害検出装置の第四の構成は、上記第一の構成において、前記判定部が、前記疎通確認データの送信数より前記応答データの受信数が多い場合、前記ループが発生していると判定することを特徴とする。
【００１８】
本発明のネットワーク障害検出装置の第五の構成は、上記第一の構成において、前記第二の端末のアドレス及び前記ネットワーク障害検出装置以外のアドレスを発信元アドレスとする複数のデータをブロードキャスト送信する通信回復処理部を備え、前記通信回復処理部は、前記送信部が前記第二の端末に前記疎通確認データを送信する前に、前記複数のデータをブロードキャスト送信することを特徴とする。
【００１９】
本発明のネットワーク障害検出装置の第六の構成は、上記第五の構成において、前記送信部が前記疎通確認データを送信し、前記受信部が前記応答データを受信している間、前記ネットワーク障害検出装置又は前記第二の端末のアドレスを発信元アドレスとするブロードキャストデータの受信を検出する監視部を備え、前記監視部が前記ブロードキャストデータの受信を検出した場合、再度、前記通信回復処理部は前記複数のデータをブロードキャスト送信し、前記送信部は前記疎通確認データを送信し、前記判定部は前記受信部における前記応答データの受信状況に基づいて前記ループが発生しているか否かを判定することを特徴とする。
【００２０】
本発明のネットワーク障害検出装置の第七の構成は、上記第一の構成において、前記ループ発生時において前記ループ内を周回するデータのデータ長よりも長いデータ長を有する複数のデータをブロードキャスト送信する負荷低減処理部を備え、前記負荷低減処理部は、前記送信部が前記第二の端末に前記疎通確認データを送信する前に、前記複数のデータをブロードキャスト送信することを特徴とする。
【００２１】
本発明のネットワーク障害検出装置の第八の構成は、上記第五の構成において、前記複数のデータが、前記ループ発生時において前記ループ内を周回するデータのデータ長よりも長いデータ長を有することを特徴とする。
【００２２】
本発明のネットワーク障害検出装置の第九の構成は、上記第一の構成において、前記疎通確認データがARPデータであり、前記第二の端末にユニキャスト送信されることを特徴とする。
【００２３】
本発明のネットワーク障害検出装置の第十の構成は、上記第一の構成において、前記疎通確認データがPingデータであり、前記第二の端末にユニキャスト送信されることを特徴とする。
【００２４】
本発明のネットワーク障害検出装置の第十一の構成は、上記第一の構成において、前記ネットワーク障害が、前記ループを周回するデータが前記ループからブロードキャスト送信され続けるレイヤ２ループ障害であることを特徴とする。
【００２５】
本発明の第一のネットワーク障害検出方法は、複数の端末のうちの第一の端末により実施され、各端末が複数の中継装置のうちの少なくとも一つの中継装置を介して別の端末と接続するネットワークの障害を検出するネットワーク障害検出方法において、前記複数の端末のうちの第二の端末に疎通確認データを送信する送信ステップと、前記疎通確認データに対する前記第二の端末からの応答データを受信する受信ステップと、前記応答データの受信状況に基づいて、前記第二の端末までの経路上に存在する中継装置に、所定のネットワーク障害を引き起こすループが発生しているか否かを判定する判定ステップとを備えることを特徴とする。
【００２６】
本発明の第二のネットワーク障害検出方法は、上記第一のネットワーク障害検出方法において、前記判定ステップでは、前記応答データの受信状況に基づいて、前記第二の端末との疎通の有無を判定し、疎通なしと判定した場合、前記ループが発生している判定し、疎通有りと判定した場合、前記ループが発生していないと判定することを特徴とする。
【００２７】
本発明の第三のネットワーク障害検出方法は、上記第二のネットワーク障害検出方法において、前記判定ステップでは、前記疎通確認データの送信数に対する前記応答データの受信数の割合である疎通率を求め、当該疎通率が所定値未満である場合、疎通無しと判定し、前記疎通率が所定値以上の場合は、疎通有りと判定することを特徴とする。
【００２８】
本発明の第四のネットワーク障害検出方法は、上記第一のネットワーク障害検出方法において、前記判定ステップでは、前記疎通確認データの送信数より前記応答データの受信数が多い場合、前記ループが発生していると判定することを特徴とする。
【００２９】
本発明の第五のネットワーク障害検出方法は、上記第一のネットワーク障害検出方法において、前記送信ステップの前に、前記第二の端末のアドレス及び前記ネットワーク障害検出装置以外のアドレスを発信元アドレスとする複数のデータをブロードキャスト送信する通信回復ステップを備えることを特徴とする。
【００３０】
本発明の第六のネットワーク障害検出方法は、上記第五のネットワーク障害検出方法において、前記受信ステップの間、前記ネットワーク障害検出装置又は前記第二の端末のアドレスを発信元アドレスとするブロードキャストデータの受信を監視する受信監視ステップを備え、前記受信監視ステップにより前記ブロードキャストデータの受信が検出された場合、再度、前記送信ステップ、前記受信ステップ及び前記判定ステップが繰り返されることを特徴とする。
【００３１】
本発明の第七のネットワーク障害検出方法は、上記第一のネットワーク障害検出方法において、前記送信ステップの前に、前記ループ発生時において前記ループ内を周回するデータのデータ長よりも長いデータ長を有する複数のデータをブロードキャスト送信する負荷低減ステップを備えることを特徴とする。
【００３２】
本発明の第八のネットワーク障害検出方法は、上記第五のネットワーク障害検出方法において、前記複数のデータが、前記ループ発生時において前記ループ内を周回するデータのデータ長よりも長いデータ長を有することを特徴とする。
【００３３】
本発明の第九のネットワーク障害検出方法は、上記第一のネットワーク障害検出方法において、前記ネットワーク障害が、前記ループを周回するデータが前記ループからブロードキャスト送信され続けるレイヤ２ループ障害であることを特徴とする。
【発明の効果】
【００３４】
本発明によれば、ネットワーク内に障害を引き起こすループの発生及びその発生箇所を検出することができる。
【００３５】
また、ネットワークを構成する端末の処理によりループを検出することができ、ネットワークを構成する中継装置の処理を必要とせずにループを検出することができる。すなわち、中継装置に新たな機能を実装させるには比較的大きな労力と時間がかかるが、本発明はそれを必要とせず、アプリケーションプログラムをインストールするだけで容易に新たな機能を付加できる端末で実行する処理であるので、端末に本発明の処理を実施するためのアプリケーションプログラムをインストールし、それを実行することで容易、簡便、汎用的に本発明を実現することができる。
【発明を実施するための最良の形態】
【００３６】
以下、図面を参照して本発明の実施の形態について説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。
本発明の実施の形態例におけるネットワーク障害検出装置は、ネットワーク内の端末の一つの機能として実現される。ネットワーク障害検出装置は、探索対象の端末に対して疎通確認パケットを送信し、その応答パケットの受信状況に基づいた疎通の有無により、探索対象端末までの経路上にレイヤ２ループがあるか否かについて判定する。
【００３７】
図４は、本発明の実施の形態におけるネットワーク障害検出装置の原理構成図である。図４において、ネットワークは、レイヤ２スイッチSW1の配下にスイッチSW2、SW3、SW4が接続され、スイッチSW2、SW3、SW4にそれぞれ端末１０、２０、３０が接続して構成される。端末１０がネットワーク障害検出装置であって、ネットワーク障害検出装置の機能として、パケット送受信部１１、データ解析部１２、通信回復処理部１３及び負荷低減処理部１４を備える。通信回復処理部１３及び負荷低減処理部１４の処理については、後述する。端末２０、３０は、探索対象端末であって、端末１０と端末２０又は端末１０と端末３０との間の経路におけるL2ループの有無が探索される。図４の例では、スイッチSW2でL2ループが発生しており、L2ループの発生により、スイッチSW2は、探索対象端末２０、３０のMACアドレスを誤学習している。なお、スイッチSW2以外のスイッチSW1、SW3、SW4は、探索対象端末２０、３０のMACアドレスを正しく学習している。
【００３８】
図５は、本発明の実施の形態におけるネットワーク障害検出装置の概略処理フローチャートである。パケット送受信部１１は、探索対象端末に疎通確認パケットを送信し（Ｓ１０）、その応答パケットをの受信する（Ｓ１１）。なお、本明細書では、「受信する」には、０個の応答パケットを受信する、すなわち、応答パケットを受信しない意味も含まれるものとする。データ解析部１２は、応答パケットの受信状況に基づいて、探索対象端末への疎通状況を判定し、L2ループ箇所を検出する（Ｓ１２）。疎通確認パケットは、例えば、ユニキャストのARP(Address Resolution Protocol)パケット又はPing(Packet INternet Groper)パケットである。以下、本発明の実施の形態例についてさらに詳しく説明する。
【００３９】
図６は、本発明の第一の実施の形態例におけるネットワーク障害検出装置の疎通確認処理フローチャートである。第一の形態例では、疎通確認パケットの送信数に対する応答パケットの受信数の割合である疎通率に基づいて、疎通の有無を判定し、L2ループの発生及びその発生箇所を検出する。
【００４０】
ステップＳ１００において、疎通の有無を判定するための疎通率のしきい値があらかじめ設定される。しきい値は例えば９５％である。理論上、疎通有りの場合、疎通確認パケットの送信数と同数の応答パケットが戻ってくるが、ネットワーク上のさまざまな要因により、ごく少数の疎通確認パケット又は応答パケットが送信先に到達しない状況があり得ることを想定し、疎通率のしきい値は１００％よりわずかに小さい値に設定されることが好ましい。
【００４１】
パケット送受信部１１は、探索対象端末に対してあらかじめ決められた複数（例えば、１００個）の疎通確認パケットを送信する（Ｓ１０１）。疎通確認パケットが探索対象端末に正常に到達すれば、探索対象端末は、疎通確認パケットに応答する応答パケットを送信する。パケット送受信部１１は、疎通確認パケットを送信してから所定時間の間、応答パケットを受信し（Ｓ１０２）、その応答パケットの数をカウントする。
【００４２】
データ解析部１２は、パケット送受信部１１が受信した応答パケットの数に基づいて疎通率を算出する（Ｓ１０３）。ステップＳ１０４において、疎通率がしきい値以上の場合は、探索対象端末と疎通があると判定し、探索対象端末との間の経路上にあるスイッチにループは発生していないと判定する（Ｓ１０５）。一方、疎通率がしきい値未満の場合は、探索対象端末と疎通がないと判定し、探索対象端末との間の経路上にあるスイッチにループが発生していると判定する（Ｓ１０６）。
【００４３】
図７及び図８は、本発明の第一の実施の形態例の処理を説明する図である。図７は、ネットワーク障害検出装置１０から端末３０に疎通確認パケットを送信する例であり、図８は、ネットワーク障害検出装置１０から端末２０に疎通確認パケットを送信する例を示す。
【００４４】
図７において、ネットワーク障害検出装置１０から端末３０に向けて疎通確認パケットが送信される。疎通確認パケットは、スイッチSW4、SW1を経由してスイッチSW2に到達する。本例では、スイッチSW4、SW1ではL2ループは発生しておらず、端末３０のMACアドレスを正しく学習しているため、疎通確認パケットは、スイッチSW4、SW1を経由する段階では正しく端末３０に向けて送信され、スイッチSW2まで到達する。スイッチSW2ではL2ループが発生しており、L2ループの発生により、スイッチSW2は、探索対象端末３０のMACアドレスをL2ループの出力ポート方向に誤学習しているため、疎通確認パケットは、L2ループを周回する。従って、疎通確認パケットは端末３０に到達せず、端末３０は応答パケットを送信しない。そのため、ネットワーク障害検出装置１０も、端末３０からの応答パケットを受信しない。ネットワーク障害検出装置１０は、疎通確認パケットを送信してから所定時間経過しても端末３０から応答パケットを受信しないと、疎通率が０％と算出し、しきい値（９５％）未満であることから、端末３０との経路上にループ発生箇所があると判定する。すなわち、スイッチSW4、SW1、SW2のいずれかでL2ループが発生していることが判明する。
【００４５】
続いて、図８において、ネットワーク障害検出装置１０から端末２０に向けて疎通確認パケットが送信される。疎通確認パケットは、スイッチSW4、SW1、SW3を経由して端末２０に到達する。スイッチSW4、SW1、SW3ともにL2ループが発生しておらず、端末２０のMACアドレスを正しく学習しているので、疎通確認パケットは、正常に端末２０に到達し、受信される。端末２０は、疎通確認パケットに応答するための応答パケットをネットワーク障害検出装置に向けて送信する。応答パケットは、スイッチSW3、SW1、SW4を経由してネットワーク障害検出装置１０に到達し、ネットワーク障害検出装置１０により受信される。１００個の疎通確認パケットが送信された場合において、９９個の応答パケットが戻ってきた場合、ネットワーク障害検出装置１０は疎通率９９％と算出し、しきい値（９５％）以上であることから、端末２０との経路上にループ発生箇所はないと判定する。スイッチSW4、SW1、SW3のいずれにもL2ループは発生していないことが判定する。
【００４６】
上記図７の端末３０に対する処理から、スイッチSW4、SW1、SW2のいずれかでL2ループが発生していることが判明し、上記図８の端末２０に対する処理から、SW4、SW1、SW3のいずれにもL2ループが発生していないことが判明し、この２つの処理結果から、スイッチSW2でL2ループが発生していると判定することができる。
【００４７】
図９は、本発明の第二の実施の形態例におけるネットワーク障害検出装置の疎通確認処理フローチャートである。第二の実施の形態例では、第一の実施の形態例の処理において、疎通率がしきい値以上の場合、さらに疎通率が１００％超えているかどうかを判定して、１００％を超えている場合は、L2ループ発生箇所があると判定する。例えば、探索対象端末に対して１００個の疎通確認パケットを送信し、それに対応する応答パケットを１０５個受信するような場合、探索対象端末との経路にL2ループがあると判定する。
【００４８】
L2ループが発生しているスイッチは、探索対象端末のアドレスを誤学習しているが、スイッチの動作が一時的に不安定になり、記憶した探索対象端末のアドレスが一時的に消えたり、アドレスが時間的に変動する場合があり得る。アドレスが一時的に消えると、スイッチは、受信した疎通確認パケットをブロードキャスト送信するため、探索対象端末にも疎通確認パケットが到達する。また、ブロードキャスト送信のため、疎通確認パケットはL2ループにも送出され、周回する。さらに、アドレスが時間的に変動し、探索対象端末のアドレスがL2ループへの出力ポートから正しい出力ポートに変化すると、L2ループを周回していた疎通確認パケットが探索対象端末に到達する場合がある。このように、学習していたアドレスが一時的に消えて、疎通確認パケットがブロードキャスト送信され、さらに、アドレスが変動して、L2ループを周回していた疎通確認パケットが探索対象端末に到達してしまうような場合、探索対象端末には、ネットワーク障害検出装置からの送信数より多い疎通確認パケットを受信する。そして、それに対応する応答パケットが、ネットワーク障害検出装置に到達すると、ネットワーク障害検出装置は、疎通確認パケットの送信数より多い応答パケットを受信する（これを重複受信と呼ぶ）。上述したように、L2ループが発生している場合に、このような重複受信が起きるので、ネットワーク障害検出装置は、重複受信と判定した場合は、探索対象端末との経路上にL2ループが発生していると判定する。
【００４９】
図９に関し、図６の第一の実施の形態例の処理に追加された処理について説明する。
【００５０】
データ解析部１２は、パケット送受信部１１が受信した応答パケットの数に基づいて疎通率を算出し（Ｓ１０３）、ステップＳ１０４において、疎通率がしきい値以上の場合は、さらに、疎通率が１００％以下かどうか判定する（Ｓ１１０）。疎通率１００以下の場合は、探索対象端末と疎通があると判定し、探索対象端末との間の経路上にあるスイッチにループは発生していないと判定する（Ｓ１０５）。一方、疎通率が１００％を超えている場合、すなわち、重複受信の場合は、探索対象端末と疎通がないと判定し、探索対象端末との間の経路上にあるスイッチにループが発生していると判定する（Ｓ１０６）。もちろん、疎通率がしきい値未満の場合も、探索対象端末と疎通がないと判定し、探索対象端末との間の経路上にあるスイッチにループが発生していると判定する（Ｓ１０６）。疎通率の算出にかかわらず、送信パケット数より受信パケット数の方が多い場合、直接L2ループ発生と判定してもよい。
【００５１】
しきい値は疎通率に限らず、応答パケットの受信数をしきい値として用いてもよい。例えば、１００個の疎通確認パケットを送信する場合、しきい値として９５個の応答パケットの受信数が設定される。
【００５２】
図１０は、本発明の第二の実施の形態例（重複受信の場合）を説明する図である。ネットワーク障害検出装置１０から端末３０に向けて疎通確認パケットが送信される。疎通確認パケットは、スイッチSW4、SW1を経由してL2ループが発生しているスイッチSW2に到達する。スイッチSW2では、端末３０のアドレスが一時的に消えたり、アドレスが時間的に変動している。そのため、疎通確認パケットは、端末３０に到達するとともに、ブロードキャスト送信によりL2ループを周回した疎通確認パケットも端末３０に到達し、結果、送信された疎通確認パケットの数より多くの疎通確認パケットが端末３０により受信される。端末３０は、受信した疎通確認パケットに対する応答パケットをネットワーク障害検出装置１０に対して送信する。ネットワーク障害検出装置１０は、疎通確認パケットの送信数より多い応答パケットを受信すると、端末３０との経路上にループ発生箇所があると判定する。すなわち、スイッチSW4、SW1、SW2のいずれかでL2ループが発生していることが判明する。
【００５３】
ネットワーク障害検出装置から送信される疎通確認パケットには、例えば、Ping(Packet INternet Groper)パケットやARP(Address Resolution Protocol)パケットが用いられる。PINGパケットは、OSI参照モデルのネットワーク層（第３層）を診断するためのものであり、診断対象のIPアドレスを指定して送信され、端末からの返信の有無、返信までの時間などに基づいて、ネットワーク層を診断する。探索対象端末のIPアドレスを指定してPINGパケットを探索対象端末あてに送信することで、PINGパケットを本発明の疎通確認パケットとして用いることができる。また、ARPパケットは、データリンク層（第２層）のMACアドレスを求めるためのパケットであり、通常、IPアドレスを指定し、MACアドレスをブロードキャストアドレスに指定してブロードキャスト送信すると、そのIPアドレスの端末は、自己のMACアドレスを返信する。探索対象端末のIPアドレス、および、MACアドレスを指定してARPパケットを探索対象端末あてにユニキャストで送信することで、ARPパケットを本発明の疎通確認パケットとして用いることができる。もちろん、本発明に専用の疎通確認パケットが生成されてもよい。
【００５４】
また、本発明の実施の形態における処理を行う前に、疎通確認パケットを探索対象端末に送信するために、探索対象端末のMACアドレスを取得する必要がある。
【００５５】
図１１は、探索対象端末のMACアドレスを取得するための第一の処理フローチャートである。例えば、上記Pingパケットをブロードキャスト送信すると（Ｓ２００）、それを受信した各端末は自己のMACアドレスを含むPing応答を返信するので、それを受信し、受信したPing応答から発信元端末のMACアドレスを抽出する（Ｓ２０１）。これにより、各端末のアドレスを取得することができ、抽出したアドレスの探索対象端末のアドレスに設定する（Ｓ２０２）。Pingパケットのブロードキャスト送信に対して、L2ループが発生していると、ネットワーク（サブネット）内の全ての端末から応答が行われないので、例えば、ネットワーク内の通信が正常であることが明らかな場合（L2ループが発生していないことが明らかな場合）に、MACアドレス取得処理が行われるのが好ましい。ただし、全端末のMACアドレスを取得できずとも、本実施の形態例にかかるL2ループ発生検出処理は実施可能なので、必ずしも全端末からの応答が必要なわけではない。
【００５６】
図１２は、探索対象端末のMACアドレスを取得するための第二の処理フローチャートである。MACアドレスを取得する別の手法として、他の端末が送信したブロードキャストパケット（例えばARPパケット）を受信し、それに含まれるMACアドレスを抽出することで（Ｓ２１０）、サブネット内に存在する端末のMACアドレスを取得することもできる。抽出したアドレスは探索対象端末のアドレスに設定される（Ｓ２１１）。
【００５７】
ところで、「背景技術」の項で説明したように、L2ループが発生している状態で、端末からブロードキャストパケットが送信されると、その端末とL2ループが発生している箇所までの経路上のスイッチは、その端末のアドレスを誤学習する。従って、例えば、スイッチSW2でl2ループが発生している状態で、端末２０からなんらかのブロードキャストパケットが送信されると、端末２０のアドレスもL2ループ方向に誤学習されてしまう。そうすると、ネットワーク障害検出装置１０から端末２０に対して疎通確認パケットが送信された場合、疎通確認パケットは、スイッチSW2に到達してしまい、実在する端末２０までの経路にL2ループを有するスイッチが存在しないにもかかわらず、端末２０に疎通確認パケットが到達しない状況が起こりうる。当然、端末２０は疎通確認パケットに対する応答パケットを送信しないので、ネットワーク障害検出装置１０は、端末２０との間の経路にもL2ループが発生していると誤検出するおそれがある。
【００５８】
そこで、本発明の実施の形態例では、ネットワーク障害検出装置と探索対象端末の経路の間にL2ループが発生しているスイッチがないにもかかわらず、その探索対象端末に疎通確認パケットが到達しないという不都合な状況を回避するため、通信回復処理部１３がネットワーク障害検出装置との経路の間にL2ループを有するスイッチがない探索対象端末との通信をあらかじめ回復させるための処理（通信回復処理）を実施する。
【００５９】
ネットワーク障害検出装置の通信回復処理部１３は、探索対象端末のMACアドレス以外のMACアドレスを送信元アドレスとするブロードキャストパケット（以下、ダミーパケットと称す）を連続的に複数送信する。ダミーパケットがブロードキャスト送信されると、L2ループに到達し、周回し始める。L2ループが発生しているスイッチSW2の入力ポートには、このダミーパケットが入力されるとともに、すでに周回し続けている既存のブロードキャストパケットも入力されるため、１出力２入力状態となる。そして、このダミーパケットを連続的且つ大量に送信することで、出力キュー又は入力キューが許容値を超え、パケットが廃棄されるようになり、さらに、ダミーパケットを送り続けることにより、探索対象端末を発信元とするブロードキャストパケットがダミーパケットに置き換えられていき、最終的に、探索対象端末を発信元とするブロードキャストパケットは全てダミーパケットに置き換えられる。これにより、L2ループから探索対象端末を発信元とするブロードキャストパケットが送信されなくなる。また、本ブロードキャストパケットが探索対象がユニキャストで応答するようなブロードキャストである場合、ネットワーク内の全スイッチにおける探索対象端末のアドレスの誤学習が解消し、探索対象端末との通信を回復することができる。
【００６０】
また、L2ループが発生している状況で、ネットワーク障害検出装置自身がブロードキャストパケットを送信する場合がある。この場合、ネットワーク障害検出装置のアドレスもネットワーク内のスイッチで誤学習されるため、疎通確認処理において、疎通確認パケットが探索対象端末に到達しても、その応答パケットは、L2ループに到達してしまい、ネットワーク障害検出装置に到達しない。ネットワーク障害検出装置１０は、応答パケットを受信しないので、探索対象端末との間の経路にL2ループが発生していると誤検出するおそれがある。従って、ネットワーク検出処理装置のMACアドレス以外のMACアドレスを発信元とするダミーパケットを用いた通信回復処理も行う必要がある。
【００６１】
ダミーパケットの送信元アドレスは、探索対象端末のMACアドレス以外のMACアドレスであればよく、実在しない架空のアドレスでもよいし、他の実在する端末のMACアドレスでもよい。ただし、この場合、この実在する端末と通信する場合は、再度、上記通信回復処理を行う必要が生じる。
【００６２】
ネットワーク障害検出装置は、上記通信回復処理を行った後、探索対象端末に対して疎通確認パケットを送信し、L2ループの有無を判定する上記疎通確認処理を実施する。
【００６３】
さらに、上記通信回復処理を行った後、疎通確認処理を実施している間に、探索対象端末又はネットワーク障害検出装置が、疎通確認処理と並行した別処理の実行によりブロードキャストパケットを送信する可能性がある。疎通確認処理中のブロードキャストパケットの送信により、再度、探索対象端末又はネットワーク障害検出装置のアドレスは誤学習されてしまい、L2ループがない経路に対してL2ループ有りの誤検出するおそれがある。そこで、好ましくは、疎通確認処理中においては、ネットワーク障害検出装置は、受信するブロードキャストパケットの発信元アドレスを監視する。
【００６４】
図１３は、疎通確認処理中にブロードキャストパケットの発信元アドレスを監視する場合の処理フローチャートである。
【００６５】
通信回復処理部１３が通信回復処理を実行し（Ｓ３００）、探索対象端末との疎通を確保する。受信するブロードキャストの発信元アドレスの抽出を開始する（Ｓ３０１）。探索対象端末に対する疎通確認処理を実行する（Ｓ３０２）。疎通確認処理の終了とともに、受信するブロードキャストの発信元アドレスの抽出を終了する（Ｓ２０３）。ステップ３０４において、受信したブロードキャストパケットに、ネットワーク障害検出装置自身及び探索対象端末のアドレスが含まれている場合は、ステップ３００に戻り、処理をやり直す。含まれていない場合は、疎通確認処理が正しく行われたので、処理は終了する。
【００６６】
また、「背景技術」の項で説明したように、L2ループが発生すると、L2ループが発生しているスイッチからブロードキャストパケットが送信され続けるブロードキャストストーム現象が生じ、ネットワーク内の全ての端末は高負荷状態となる。高負荷状態において本実施の形態例における疎通確認処理を実施すると、ネットワーク障害検出装置及び探索対象端末それぞれの処理速度が遅延し、又は処理が停止し、さらにパケットの伝送速度も遅延するおそれがある。
【００６７】
ブロードキャストパケットの受信は、ネットワーク上の端末やスイッチで割り込み処理を発生させるため、CPU利用率が高負荷状態となり、他の処理が行われない又は処理速度が遅延するなどの重大な障害が発生する。特に、ブロードキャストパケットは、ARPのように、特定の端末からの応答を要求するパケットであることが多く、応答すべき端末に大量のブロードキャストパケットが到達すると、応答処理の負荷も加わるため、さらに高負荷状態になる。
【００６８】
そのため、例えば、疎通確認パケットに対する探索対象端末からの応答パケットの送信処理が遅延したり、又は応答パケットが送信されず、ネットワーク障害検出装置の応答パケット受信期間内に応答パケットがネットワーク障害検出装置に到達しない可能性が生じる。すなわち、探索対象端末との経路上にL2ループは存在せず、疎通があるにもかかわらず、高負荷の影響により、ネットワーク障害検出装置による応答パケットの受信数が減少し、疎通率がしきい値未満になると、ネットワーク障害検出装置は、疎通無し、すなわち、L2ループの発生を誤検出するおそれがある。
【００６９】
そこで、本発明の実施の形態例では、高負荷の影響により疎通確認ができないという不都合な状況を回避するため、負荷低減処理部１４がネットワークの負荷を低減させるための処理（負荷低減処理）を実施する。
【００７０】
L2ループに伴うブロードキャストストームによるネットワーク内の各端末（探索対象端末及びネットワーク障害検出装置を含む）の高負荷の原因は、ブロードキャストパケットの単位時間あたりの受信数が、各端末の処理能力の限界に近い又は限界を超えるほど膨大となることが原因であり、単位時間あたりのブロードキャストパケットの受信数を減少させることで、各端末の負荷を低減させることができる。
【００７１】
そのために、ネットワーク障害検出装置の負荷低減処理部１４は、パケット長が長いロングパケットをブロードキャストパケットとして連続的に送信し続ける。ネットワーク内では、ARP、RIP、NetBIOSなどのブロードキャストパケットが頻繁に送信されており、L2ループ発生にL2ループ内の周回するパケットも、これらのパケットが支配的である。特に、ARPは、パケット長６４バイト程度、NetBIOSでもパケット長２００バイト程度と短い。L2ループが発生すると、L2ループを構成している伝送路速度でこれらのショートパケットがネットワーク全域にブロードキャストされる。例えば、ARPパケットのみが１００MbpsのL2ループで周回した場合、理論上１秒間に１４万パケットがL2ループからネットワーク全域に対してブロードキャスト送信される。
【００７２】
負荷低減処理部１４は、例えば１５００バイト程度のロングパケットを連続的に送信する。L2ループ内では、６４バイト程度のパケットが入力されるとともに、１５００バイトのパケットも入力され、これが連続的に入力されるため、入力キュー又は出力キューが許容値を超える。そうなると、６４バイト程度のショートパケットが廃棄されていき、最終的に６４バイトのパケット全てが廃棄され、１５００バイトのパケットのみが周回する状態にすることができる。１５００バイトのパケットのみが周回する状態では、L2ループからブロードキャスト送信されるパケットは、１秒間に８０００パケットとなり、６４バイトの場合と比べて、単位時間当たりのパケット受信数を約１／２０程度に減少させることができる。この結果、各端末の負荷は低減され、疎通確認処理が行える程度に負荷状態を回復させることができる。
【００７３】
ネットワーク障害検出装置は、上記負荷低減処理を行った後、探索対象端末に対して疎通確認パケットを送信し、L2ループの有無を判定する上記疎通確認処理を実施する。
【００７４】
さらに、上記通信回復処理と負荷低減処理とを同時に行うために、通信回復処理として用いる探索対象端末のMACアドレス以外のMACアドレスを送信元アドレスとするブロードキャストパケット（ダミーパケット）をロングパケット化して連続的に複数送信することで、負荷低減処理も同時に行うことができる。
【００７５】
（付記１）
複数の端末のうちの第一の端末であって、各端末は複数の中継装置のうちの少なくとも一つの中継装置を介して別の端末と接続するネットワークの障害を検出するネットワーク障害検出装置において、
前記複数の端末のうちの第二の端末に疎通確認データを送信する送信部と、
前記疎通確認データに対する前記第二の端末からの応答データを受信する受信部と、
前記応答データの受信状況に基づいて、前記第二の端末までの経路上に存在する中継装置に、所定のネットワーク障害を引き起こすループが発生しているか否かを判定する判定部とを備えることを特徴とするネットワーク障害検出装置。
【００７６】
（付記２）
付記１において、
前記判定部は、前記応答データの受信状況に基づいて、前記第二の端末との疎通の有無を判定し、疎通なしと判定した場合、前記ループが発生していると判定し、疎通有りと判定した場合、前記ループが発生していないと判定することを特徴とするネットワーク障害検出装置。
【００７７】
（付記３）
付記２において、
前記判定部は、前記疎通確認データの送信数に対する前記応答データの受信数の割合である疎通率を求め、当該疎通率が所定値未満である場合、疎通無しと判定し、前記疎通率が所定値以上の場合は、疎通有りと判定することを特徴とするネットワーク障害検出装置。
【００７８】
（付記４）
付記１において、
前記判定部は、前記疎通確認データの送信数より前記応答データの受信数が多い場合、前記ループが発生していると判定することを特徴とするネットワーク障害検出装置。
【００７９】
（付記５）
付記１において、
前記第二の端末のアドレス及び前記ネットワーク障害検出装置以外のアドレスを発信元アドレスとする複数のデータをブロードキャスト送信する通信回復処理部を備え、
前記通信回復処理部は、前記送信部が前記第二の端末に前記疎通確認データを送信する前に、前記複数のデータをブロードキャスト送信することを特徴とするネットワーク障害検出装置。
【００８０】
（付記６）
付記５において、
前記送信部が前記疎通確認データを送信し、前記受信部が前記応答データを受信している間、前記ネットワーク障害検出装置又は前記第二の端末のアドレスを発信元アドレスとするブロードキャストデータの受信を検出する監視部を備え、
前記監視部が前記ブロードキャストデータの受信を検出した場合、再度、前記通信回復処理部は前記複数のデータをブロードキャスト送信し、前記送信部は前記疎通確認データを送信し、前記判定部は前記受信部における前記応答データの受信状況に基づいて前記ループが発生しているか否かを判定することを特徴とするネットワーク障害検出装置。
【００８１】
（付記７）
付記１において、
前記ループ発生時において前記ループ内を周回するデータのデータ長よりも長いデータ長を有する複数のデータをブロードキャスト送信する負荷低減処理部を備え、
前記負荷低減処理部は、前記送信部が前記第二の端末に前記疎通確認データを送信する前に、前記複数のデータをブロードキャスト送信することを特徴とするネットワーク障害検出装置。
【００８２】
（付記８）
付記５において、
前記複数のデータは、前記ループ発生時において前記ループ内を周回するデータのデータ長よりも長いデータ長を有することを特徴とするネットワーク障害検出装置。
【００８３】
（付記９）
付記１において、
前記疎通確認データはARPデータであり、前記第二の端末にユニキャスト送信されることを特徴とするネットワーク障害検出装置。
【００８４】
（付記１０）
付記１において、
前記疎通確認データはPingデータであり、前記第二の端末にユニキャスト送信されることを特徴とするネットワーク障害検出装置。
【００８５】
（付記１１）
付記１において、
前記ネットワーク障害は、前記ループを周回するデータが前記ループからブロードキャスト送信され続けるレイヤ２ループ障害であることを特徴とするネットワーク障害検出装置。
【００８６】
（付記１２）
複数の端末のうちの第一の端末により実施され、各端末が複数の中継装置のうちの少なくとも一つの中継装置を介して別の端末と接続するネットワークの障害を検出するネットワーク障害検出方法において、
前記複数の端末のうちの第二の端末に疎通確認データを送信する送信ステップと、
前記疎通確認データに対する前記第二の端末からの応答データを受信する受信ステップと、
前記応答データの受信状況に基づいて、前記第二の端末までの経路上に存在する中継装置に、所定のネットワーク障害を引き起こすループが発生しているか否かを判定する判定ステップとを備えることを特徴とするネットワーク障害検出方法。
【００８７】
（付記１３）
付記１２において、
前記判定ステップでは、前記応答データの受信状況に基づいて、前記第二の端末との疎通の有無を判定し、疎通なしと判定した場合、前記ループが発生していると判定し、疎通有りと判定した場合、前記ループが発生していないと判定することを特徴とするネットワーク障害検出方法。
【００８８】
（付記１４）
付記１３において、
前記判定ステップでは、前記疎通確認データの送信数に対する前記応答データの受信数の割合である疎通率を求め、当該疎通率が所定値未満である場合、疎通無しと判定し、前記疎通率が所定値以上の場合は、疎通有りと判定することを特徴とするネットワーク障害検出方法。
【００８９】
（付記１５）
付記１２において、
前記判定ステップでは、前記疎通確認データの送信数より前記応答データの受信数が多い場合、前記ループが発生していると判定することを特徴とするネットワーク障害検出方法。
【００９０】
（付記１６）
付記１２において、
前記送信ステップの前に、前記第二の端末のアドレス及び前記ネットワーク障害検出装置以外のアドレスを発信元アドレスとする複数のデータをブロードキャスト送信する通信回復ステップを備えることを特徴とするネットワーク障害検出方法。
【００９１】
（付記１７）
付記１６において、
前記受信ステップの間、前記ネットワーク障害検出装置又は前記第二の端末のアドレスを発信元アドレスとするブロードキャストデータの受信を監視する受信監視ステップを備え、
前記受信監視ステップにより前記ブロードキャストデータの受信が検出された場合、再度、前記送信ステップ、前記受信ステップ及び前記判定ステップが繰り返されることを特徴とするネットワーク障害検出方法。
【００９２】
（付記１８）
付記１２において、
前記送信ステップの前に、前記ループ発生時において前記ループ内を周回するデータのデータ長よりも長いデータ長を有する複数のデータをブロードキャスト送信する負荷低減ステップを備えることを特徴とするネットワーク障害検出方法。
【００９３】
（付記１９）
付記１６において、
前記複数のデータは、前記ループ発生時において前記ループ内を周回するデータのデータ長よりも長いデータ長を有することを特徴とするネットワーク障害検出方法。
【００９４】
（付記２０）
付記１２において、
前記ネットワーク障害は、前記ループを周回するデータが前記ループからブロードキャスト送信され続けるレイヤ２ループ障害であることを特徴とするネットワーク障害検出方法。
【図面の簡単な説明】
【００９５】
【図１】レイヤ２ループによるネットワーク障害を説明する図である。
【図２】レイヤ２ループによるネットワーク障害を説明する図である。
【図３】レイヤ２ループによるネットワーク障害を説明する図である。
【図４】本発明の実施の形態におけるネットワーク障害検出装置の原理構成図である。
【図５】本発明の実施の形態におけるネットワーク障害検出装置の概略処理フローチャートである。
【図６】本発明の第一の実施の形態例におけるネットワーク障害検出装置の処理フローチャートである。
【図７】本発明の第一の実施の形態例の処理を説明する図である。
【図８】本発明の第一の実施の形態例の処理を説明する図である。
【図９】本発明の第二の実施の形態例におけるネットワーク障害検出装置の疎通確認処理フローチャートである。
【図１０】本発明の第二の実施の形態例（重複受信の場合）を説明する図である。
【図１１】探索対象端末のMACアドレスを取得するための第一の処理フローチャートである。
【図１２】探索対象端末のMACアドレスを取得するための第二の処理フローチャートである。
【図１３】疎通確認処理中にブロードキャストパケットの発信元アドレスを監視する場合の処理フローチャートである。
【符号の説明】
【００９６】
１０：ネットワーク障害検出装置、２０、３０：端末、ＳＷ１〜ＳＷ７：レイヤ２スイッチ、１１：パケット送受信部、１２：データ解析部、１３：通信回復処理部、１４：負荷低減処理部
【図１】
2006352259.tif 000003
【図２】
2006352259.tif 000004
【図３】
2006352259.tif 000005
【図４】
2006352259.tif 000006
【図５】
2006352259.tif 000007
【図６】
2006352259.tif 000008
【図７】
2006352259.tif 000009
【図８】
2006352259.tif 000010
【図９】
2006352259.tif 000011
【図１０】
2006352259.tif 000012
【図１１】
2006352259.tif 000013
【図１２】
2006352259.tif 000014
【図１３】
2006352259.tif 000015