(57)【特許請求の範囲】
【請求項１】
前記複数の端末及び複数の中継装置を含む複数のノードで構成され且つL3ブリッジ接続を含むネットワークの障害を検出するネットワーク障害検出装置において、
前記複数のノードのうちの第一のノード及び第二のノードのネットワークアドレスに対応する物理アドレスを含むパケットを受信する通信部と、
前記第一のノード及び第二のノードそれぞれのネットワークアドレスに対して複数種類の物理アドレスの存在を検出し、さらにその中に各ネットワークアドレスに共通する物理アドレスの存在を検出することにより、ネットワーク障害を引き起こすL3ブリッジ接続によるL2ループを検出する検出部とを備えることを特徴とするネットワーク障害検出装置。
【請求項２】
請求項１において、
前記検出部は、前記共通する物理アドレスをL3ブリッジ接続端末の物理アドレスと特定することを特徴とするネットワーク障害検出装置。
【請求項３】
請求項１において、
前記検出部は、前記共通する物理アドレス以外の物理アドレスをそれぞれ前記第一のノード及び第二のノードの物理アドレスと特定することを特徴とするネットワーク障害検出装置。
【請求項４】
請求項２において、
前記通信部は、前記複数の中継装置それぞれから、各ポートの前記L3ブリッジ接続端末の物理アドレスの学習方向に関する情報を取得し、
前記検出部は、当該情報に基づいて、前記L3ブリッジ接続端末の方向を判定することを特徴とするネットワーク障害検出装置。
【請求項５】
請求項２において、
前記通信部は、前記複数の中継装置それぞれから、各ポートのブロードキャストパケットのトラフィック量に関する情報を取得し、
前記検出部は、当該情報に基づいて、前記L3ブリッジ接続端末の方向を判定することを特徴とするネットワーク障害検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上で発生する障害を検出するネットワーク障害検出装置及びネットワーク障害検出方法に関し、特に、L3（レイヤ３）ブリッジ接続によるL2（レイヤ２）ループを検出するネットワーク障害検出装置及びネットワーク障害検出方法に関する。
【背景技術】
【０００２】
ＬＡＮなどのネットワークを構成するレイヤ２（L2）スイッチと呼ばれる中継装置は、ネットワークの中継装置の一つで、OSI参照モデルのデータリンク層（第２層）のデータでパケットの行き先を判断して転送を行なう機能を有する。データリンク層のプロトコルには、Ethernet（登録商標）などにおけるMAC (メディアアクセス制御)があり、MACアドレスを見てデータの行き先を決定するEthernet（登録商標）の中継装置はスイッチングハブとも呼ばれる。IPやTCP、HTTPなどのプロトコルはネットワーク層（第３層）以上に位置するため、レイヤ2スイッチは第３層（レイヤ３）以上のプロトコルが異なる場合であってもパケットの転送が可能である。
【０００３】
複数の端末がレイヤ２スイッチにより接続されるネットワークにおいては、ケーブルの誤接続やレイヤ２スイッチの故障などにより、ネットワーク全域において、レイヤ２ループと呼ばれる障害が発生する。レイヤ２ループの発生により、ネットワーク全域において、端末の高負荷状態を招き、また、ネットワーク通信不能状態に陥る。
【０００４】
ところで、ブリッジ接続とは、端末において2つ以上のインターフェース（IF）をブリッジ接続することにより、端末を中継装置（リピータ）のように動作させる機能のことをいう。Windows XP（登録商標）においては、通常、ブリッジ接続はL2レベルでブリッジ動作するが、NIC(Network Interface Card)がpromiscuousモード(無作為検出モード)をサポートしていない場合、L3（レイヤ３）ブリッジとして動作する。一般的に、無線IFは、promiscuousモードをサポートしていないため、無線IFを含んだブリッジ接続はL3ブリッジ動作となる。L3ブリッジ接続によるパケット転送では、ブリッジを経由する際に、L2レベルで一旦終端するため、パケット送信元の物理アドレス付け替えを伴って転送される。なお、ブリッジ接続は、Windows（登録商標）系ではXP以降に備わった機能である。
【０００５】
このL3ブリッジ接続によりL2ループが発生する場合がある。L3ブリッジ接続によるL2ループとは、L2ループ内にL3ブリッジ接続の端末が存在する形態を指す。L3ブリッジ接続によるL2ループについて、以下に説明する。
【０００６】
図１は、L3ブリッジ接続によるL2ループの発生形態を説明する図である。図１（ａ）に示すように、有線IFと無線IFの両方を配備している端末（ノートPC）は、通常、片側のIFのみを利用して通信を行う。ここで、例えば、WindowsXP（登録商標）のブリッジ接続機能を用いて両IF間をブリッジ接続すると、図１（ｂ）に示すようにL2ループ障害(L3ブリッジ接続によるL2ループ障害)が発生し、その影響範囲はサブネット内全域で、かつ、サブネット内の端末間では通信が不可能になるという、非常に重大な影響を引き起こす。
【０００７】
有線IFと無線IF間のみならず、複数の無線IF間をブリッジ接続することによりループ状にパケット転送経路ができる場合も同様に、L3ブリッジ接続によるL2ループが発生する。
【０００８】
昨今、ノートPCには、有線IFと無線IFの両方を配備しているものが主流であり、今後ますます、このようなL3ブリッジ接続によるL2ループ障害が発生する割合が高くなると考えられる。
【０００９】
図２は、L3ブリッジ接続によるL2ループの発生原因を説明する図である。図２では、端末CがL3ブリッジ接続端末であって、有線IFを介してスイッチSWと通信し、無線IFを介して無線アクセスポイント（AP）と通信する。また、スイッチSWには、端末Ａ、Ｂが有線IFを介して接続している。端末Ａが、端末ＢのMACアドレスを取得するために、ＡＲＰ(Address Resolution Protocol)要求を送信する場合を考える。ここで、図示されているように、端末Ａ、ＢのMACアドレスをそれぞれａ、ｂ、端末Ｃの有線IF用のMACアドレスをｐ、無線IF用のMACアドレスをｑとする。
【００１０】
端末Ａからブロードキャストアドレス（ＢＣ）宛てにARP要求が送信される。ARP要求は、スイッチSWを介して、端末B、端末C、無線APに送られる。端末Cは、L3ブリッジ接続端末なので、受信したARP要求を無線IFを介して無線APに送信する。このとき、端末Ｃは、ARP要求の送信元MACアドレスを付け替える。ARP要求の最初の送信元アドレスは端末AのMACアドレスａであるが、端末Ｃを経由して無線IF側から出力される場合、送信元アドレスは端末Ｃの無線IF用MACアドレスｑに付け替えられる。送信元アドレスｑのARP要求は、無線IPを経由して、スイッチSWに到達し、スイッチSWのブロードキャスト送信により、端末Bに送信されるとともに、再度端末Cにも送信され、L2ループが形成される。従って、端末Ｂには、送信元MACアドレスｑのARP要求が大量に送信される状態となる。
【００１１】
一方、端末ＡからのARP要求は、スイッチSWのブロードキャスト送信により無線APにも送信され、端末Cは、無線AP側からも端末ＡからのARP要求を受信する。この場合、L3ブリッジ接続端末である端末Ｃは、受信したARP要求を有線IFを介してスイッチSWに送信する。このとき、端末Cは、上記同様に、ARP要求の送信元MACアドレスを付け替える。ただし、この場合は、ARP要求の流れるルートが反対回りであり、ARP要求は有線IF側から出力されるので、ARP要求の送信元アドレス（初期値はａ）は、有線IF側MACアドレスｐに付け替えられる。送信元アドレスｐのARP要求は、スイッチSWに到達し、スイッチSWのブロードキャスト送信により、端末Bに送信されるとともに、再度無線IPにも送信され、ここでもL2ループが形成される。従って、端末Ｂには、送信元MACアドレスｐのARP要求が大量に送信される状態となる。
【００１２】
端末Bは、上述のように、送信元アドレスａ、ｑ、ｐのARP要求を受信し、それに対するARP応答をユニキャスト送信により返信する。図示される経路（１）は、送信元アドレスａのARP要求に対するARP応答であり、端末BのMACアドレスを有する正しいARP応答が端末Ａに送信される。
【００１３】
図示される経路（２）は、送信元アドレスｐのARP要求に対するARP応答である。ARP応答は、端末Bから端末ＣのMACアドレスｐ宛てに送信されてしまうため（ｂ→ｐ）、端末Cの有線IFで受信される。そして、端末CにおけるL3ブリッジ接続により、MACアドレスの付け替えが発生し、端末Cの無線IF側から端末Ａ宛てに送信される（ｑ→ａ）。しかし、端末Cにおいて、ARP応答に含まれる端末ＢのMACアドレスも正しいアドレスｂからアドレスｐに付け替えられてしまうため、誤ったMACアドレスが端末Aに届けられる。
【００１４】
図示される経路（３）は、送信元アドレスｑのARP要求に対するARP応答である。ARP応答は、端末Bから無線ＡＰを経由して端末ＣのMACアドレスｑ宛てに送信されてしまうため（ｂ→ｑ）、端末Cの無線IFで受信される。そして、端末CにおけるL3ブリッジ接続により、MACアドレスの付け替えが発生し、端末Cの有線IF側から端末Ａ宛てに送信される（ｐ→ａ）。しかし、端末Cにおいて、ARP応答に含まれる端末ＢのMACアドレスも正しいアドレスｂからアドレスｑに付け替えられてしまうため、誤ったMACアドレスが端末Aに届けられる。
【００１５】
端末ＡのARPテーブルには、最後に受信したARP応答のMACアドレスが登録されるため、ARPテーブルには、通信対象の端末BのMACアドレスとして、端末Ｃの有線IFのMACアドレスｐ又は無線IFのMACアドレスｑのいずれかが登録されてしまう。従って、端末Ａは、端末Ｂと通信できない状態に陥る。
【００１６】
このように、通信が不可能となる原因は、L3ブリッジ接続によるL2ループでは、ブリッジ接続端末（端末C）において、パケット送信元の物理アドレス付け替えを伴いながらループするため、通信を行う両エンドノードにおいて、ブリッジ接続端末の物理アドレスを通信対象の物理アドレスとしてARPテーブルに誤登録してしまうことによる。具体的には、通信を行う両エンドノードのARPテーブル上の通信対象のMACアドレスが登録されるはずのところが、ブリッジ接続端末のMACアドレスが登録される(ARPテーブルとは、IPアドレスに対して、対応するMACアドレスを管理するテーブルである。)。
【００１７】
ネットワーク障害を引き起こすレイヤ２ループを検出する技術として、例えば、下記特許文献１は、受信フレームの解析によりフレームの無限ループを判断し、L2ループを検出する方法について開示している。しかし、L3ブリッジ接続によるL2ループを検出することはできない。
【特許文献１】特開２００１−１９７１１４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
従来、L3ブリッジ接続によるL2ループの発生箇所を特定するには、ケーブルの抜き差しを行う、無線アクセスポイントなどの装置の電源のON/OFFを繰り返すなどして、箇所を絞り込んでいた。そのため、原因箇所の発見に至るまでに、多くの時間と労力が必要であった。また、L3ブリッジ接続によるL2ループは、ケーブル配線上はループしていないため、原因・箇所特定が困難であった。更に、ケーブル誤接続等によるL2ループは、端末・ネットワークが高負荷になるのに対し、L3ブリッジ接続によるL2ループは、端末・ネットワーク自体の負荷は低く、そのために、原因・箇所特定には、より時間を要する場合が多かった。
【００１９】
そこで、本発明の目的は、既存の中継装置に手を加えることなく、L3ブリッジ接続によるL2ループを検出し、箇所を素早く特定することができるネットワーク障害検出装置及びネットワーク障害検出方法を提供することにある。
【課題を解決するための手段】
【００２０】
上記目的を達成するための本発明のネットワーク障害検出装置の第一の構成は、前記複数の端末及び複数の中継装置を含む複数のノードで構成され且つL3ブリッジ接続を含むネットワークの障害を検出するネットワーク障害検出装置において、前記複数のノードのうちの第一のノード及び第二のノードのネットワークアドレスに対応する物理アドレスを含むパケットを受信する通信部と、前記第一のノード及び第二のノードそれぞれのネットワークアドレスに対して複数種類の物理アドレスの存在を検出し、さらにその中に各ネットワークアドレスに共通する物理アドレスの存在を検出することにより、ネットワーク障害を引き起こすL3ブリッジ接続によるL2ループを検出する検出部とを備えることを特徴とする。
【００２１】
本発明のネットワーク障害検出装置の第二の構成は、上記第一の構成において、前記検出部は、前記共通する物理アドレスをL3ブリッジ接続端末の物理アドレスと特定することを特徴とする。
【００２２】
本発明のネットワーク障害検出装置の第三の構成は、上記第一の構成において、前記検出部は、前記共通する物理アドレス以外の物理アドレスをそれぞれ前記第一のノード及び第二のノードの物理アドレスと特定することを特徴とする。
【００２３】
本発明のネットワーク障害検出装置の第四の構成は、上記第一の構成において、前記通信部は、前記第一のノード及び第二のノードそれぞれのネットワークアドレスに対応する物理アドレスを含むパケットの要求する要求パケットをブロードキャスト送信し、当該要求パケットの応答として、前記物理アドレスを含むパケットを受信することを特徴とする。
【００２４】
本発明のネットワーク障害検出装置の第五の構成は、上記第一の構成において、前記通信部は、前記ネットワーク内を流れるパケットの中から前記第一のノード及び第二のノードそれぞれのネットワークアドレスに対応する物理アドレスを含むパケットをキャプチャすることを特徴とする。
【００２５】
本発明のネットワーク障害検出装置の第六の構成は、上記第三の構成において、前記通信部は、前記検出部により特定された前記第一のノードの物理アドレスを用いて、前記第一のノードに対して、前記第一のノードのネットワークアドレスに対応する物理アドレスを含むパケットの要求する要求パケットをユニキャスト送信し、当該要求パケットに対する応答パケットを受信することにより、前記第一のノードとの通信を回復させることを特徴とする。
【００２６】
本発明のネットワーク障害検出装置の第七の構成は、上記第一の構成において、前記通信部は、前記第一のノードのネットワークアドレスに対応する物理アドレスを含むパケットの要求する要求パケットを一定時間ブロードキャスト送信し続け、当該要求パケットに対する応答パケットを受信することにより、前記第一のノードと通信することを特徴とする。
【００２７】
本発明のネットワーク障害検出装置の第八の構成は、上記第二の構成において、前記通信部は、前記複数の中継装置それぞれから、前記L3ブリッジ接続端末の物理アドレスの学習方向に関する情報を取得し、前記検出部は、当該情報に基づいて、前記L3ブリッジ接続端末の方向を判定することを特徴とする。
【００２８】
本発明のネットワーク障害検出装置の第九の構成は、上記第二の構成において、前記通信部は、前記複数の中継装置それぞれから、各ポートのブロードキャストパケットのトラフィック量に関する情報を取得し、前記検出部は、当該情報に基づいて、前記L3ブリッジ接続端末の方向を判定することを特徴とする。
【００２９】
本発明のネットワーク障害検出方法は、前記複数の端末及び複数の中継装置を含む複数のノードで構成され且つL3ブリッジ接続を含むネットワークの障害を検出するネットワーク障害検出方法において、前記複数のノードのうちの第一のノード及び第二のノードのネットワークアドレスに対応する物理アドレスを含むパケットを受信するステップと、
前記第一のノード及び第二のノードそれぞれのネットワークアドレスに対して複数種類の物理アドレスの存在を検出し、さらにその中に各ネットワークアドレスに共通する物理アドレスの存在を検出することにより、ネットワーク障害を引き起こすL3ブリッジ接続によるL2ループを検出するステップとを備えることを特徴とする。
【発明の効果】
【００３０】
本発明によれば、L3ブリッジ接続によるL2ループ特有の現象を捉えることで、ネットワーク内に障害を引き起こすL3ブリッジ接続によるL2ループを検出し、さらにその発生箇所を特定することができる。
【００３１】
また、本発明のネットワーク障害検出装置は、ネットワークを構成する端末であり、一つ端末の処理によりL3ブリッジ接続によるL2ループを検出することができ、ネットワークを構成する中継装置の処理を必要とせずに当該ループを検出することができる。すなわち、中継装置に新たな機能を実装させるには比較的大きな労力と時間がかかるが、本発明はそれを必要とせず、アプリケーションプログラムをインストールするだけで容易に新たな機能を付加できる端末で実行する処理であるので、端末に本発明の処理を実施するためのアプリケーションプログラムをインストールし、それを実行することで容易、簡便、汎用的に本発明を実現することができる。
【発明を実施するための最良の形態】
【００３２】
以下、図面を参照して本発明の実施の形態について説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。
【００３３】
本発明の実施の形態例におけるネットワーク障害検出装置は、ネットワーク内の端末の一つの機能として実現される。ネットワーク障害検出装置は、複数の端末にアドレス解決要求（ARP）パケットを送信し、その応答パケットを受信し、複数種類の物理アドレス（例えばMACアドレス）を有する応答パケットを受信するか否かにより、L3ブリッジ接続によるL2ループの有無を判定する。すなわち、L3ブリッジ接続によるL2ループが発生している場合は、ARP応答として、通信対象のMACアドレスのほかに、ブリッジ接続端末の有線IF用MACアドレス及び無線IF用MACアドレスの有する応答パケットを受信する。このように、異なるMACアドレスを有する複数種類の応答パケットの受信を捉えることで、L3ブリッジ接続によるL2ループの発生を検出することができる。
【００３４】
またアクティブにARP要求を送信しなくとも、パッシブにブロードキャストパケットをキャプチャし、同一発信元ネットワークアドレス（例えばIPアドレス）に対して、複数種類の異なる発信元のMACアドレスを有するパケットを検出することにより、L3ブリッジ接続によるL2ループの発生を検出することができる。
【００３５】
ネットワーク障害検出装置のARPテーブルに通信対象端末のMACアドレスを正しく再登録するためには、通信を行う両エンドノード間でブリッジ接続端末を経由せずにアドレス解決要求/応答をやりとりできればよく、通信対象端末に対してユニキャストでアドレス解決要求（ARP）を送出/応答受信することにより、これを実現できる。
【００３６】
ユニキャストでアドレス解決要求（ARP）を送信するというのは、具体的には、通常のARP要求パケットは、発信先MACアドレスをブロードキャストアドレスに設定して送信するのに対し、発信先MACアドレスを通信対象端末のMACアドレスに設定して送信することを指す。
【００３７】
ユニキャストで送信するためには、通信対象端末のMACアドレスを予め取得しておく必要がある。ユニキャストアドレスを特定しているため、自ノードのARPテーブルの再登録だけであればARP要求/応答を送出/応答受信しなくとも再登録することが可能であるが、通信対象端末のARPテーブルの再登録にはARP要求/応答の送出/応答受信が必要となる。
【００３８】
また、ブロードキャストでアドレス解決要求（ARP）を送出する場合においても、通信対象ノードからの正しいMACアドレスが到達し、次の間違ったMACアドレスが到達するまでの間は、ARP要求を発信した端末のARPテーブルにおいて、MACアドレスが正しく登録される。そこで、通信対象端末に対してブロードキャストでアドレス解決要求（ARP）を送出/応答受信し続けながら通信を行うことにより、正しく登録された期間を利用して通信対象ノードとの通信を実現できる（発信元端末は、MACアドレスの正誤の見分けはつけられないが、正しいときにのみ、正常な応答を受信することで、結果的に通信が可能となる）。
【００３９】
これらの通信回復処理を施した後、最後に、実際にブリッジ箇所を特定するためには、ブリッジ接続端末の物理アドレスの接続方向を探索する方式と、L2ループがブロードキャストパケットの大量発信源であるというL2ループトラヒックの特性を利用して探索する方式が考えられる。
【００４０】
ブリッジ接続端末の物理アドレスの接続方向を探索する方式は、L2ループサブネット内の探索対象装置(スイッチ等)からブリッジ接続端末の物理アドレスが学習されている方向の情報を取得し、その方向を辿ることで、ブリッジ接続端末の箇所を特定することが可能となる。本方式はブリッジ接続端末のMACアドレスを予め知っておく必要があるが、L3ブリッジ接続によるL2ループを検出する段階で、該MACアドレスを抽出することが可能である。
【００４１】
L2ループトラヒックの特性を利用して探索する方式では、L2ループ発生時はループを構成している中継装置がある方向の1ポートから大量にブロードキャストパケットを受信するのに対し、ループを構成している中継装置(ブリッジ接続端末も含まれる)では、ループ右周りと左周りが存在するため、2ポートで大量のブロードキャストパケットを受信するという特性を利用し、中継装置のポートごとのパケット受信統計情報を取得し、単位時間あたりのブロードキャストパケット受信量が大きいポートを抽出することで、ループ箇所(ブリッジ接続端末も含まれる)を特定することが可能となる。
【００４２】
図３は、本発明の実施の形態におけるネットワーク障害検出装置を含むネットワーク構成例を示す図である。図３において、ネットワークは、スイッチSW1の配下にスイッチSW2、SW3、SW4が接続され、スイッチSW2、SW3、SW4にそれぞれ端末A、B、Xが接続して構成される。端末Xがネットワーク障害検出装置であって、ネットワーク障害検出装置の機能として、パケット送受信部１１、データ解析部１２を備える。端末A、Bは、通信対象端末であって、MACアドレスはそれぞれａ、ｂである。端末Cは、L3ブリッジ接続端末であり、有線IF用MACアドレスｐと無線IF用MACアドレスｑを有する。端末Cは、有線IFを介してスイッチSW2の５番ポートに接続し、無線IFを介して無線AP（アクセスポイント）と接続する。無線APは、スイッチSW1の４番ポートと接続し、端末C−スイッチSW2−スイッチSW1−無線AP−端末CでL3ブリッジ接続によるL2ループが発生している。
【００４３】
（第一の実施の形態例）
図４は、本発明の実施の形態におけるネットワーク障害検出装置のL3ブリッジ接続によるL2ループの第一の検出処理フローチャートである。また、図５は、図４の第一の検出処理に基づいて、通信対象端末のMACアドレスを特定するための第一の特定処理フローチャートである。
【００４４】
図３のネットワーク構成例を参照して、ネットワーク障害検出装置（端末X）は、端末A、Bに対してＡＲＰ要求を行って、L3ブリッジ接続によるL2ループを検出するとともに、端末A、BのMACアドレス及びブリッジ接続端末（端末C）の有線用MACアドレスと無線用MACアドレスを特定する例について説明する。なお、端末A、BのIPアドレスは既知である。
【００４５】
図４において、まず、ネットワーク障害検出装置（端末X）のパケット送受信部１１は、サブネット内の複数の通信対象端末A、BのMACアドレスを要求するＡＲＰ要求パケットをブロードキャスト送信する（S10）。パケット送受信部１１は、複数の通信対象端末A、BからのＡＲＰ応答パケットを受信する(S11)。
【００４６】
ネットワーク障害検出装置（端末X）のデータ解析部１２は、受信したＡＲＰ応答パケットに、複数の通信対象端末A、Bに共通のMACアドレスがあるかどうか解析する（S12）。
【００４７】
図６は、端末A、Bそれぞれからの応答結果例であり、端末A、BそれぞれからのＡＲＰ応答パケットに含まれるMACアドレスが示される。図６に示されるように、端末A、Bに共通のMACアドレスｐ、ｑが存在する。
【００４８】
図４に戻って、ステップS13において、共通のMACアドレスが存在する場合は、データ解析部１２は、L3ブリッジ接続によるL2ループが発生していると判定し（S14）、共通のMACアドレスが存在しない場合は、L3ブリッジ接続によるL2ループは発生していないと判定する（S15）。すなわち、図６に示すように、共通のMACアドレスが存在する場合は、L3ブリッジ接続によるL2ループが発生していると判定される。共通のMACアドレスｐ、ｑが存在せず、各通信対象端末のMACアドレスａ、ｂのみの応答パケットを受信した場合は、L3ブリッジ接続によるL２ループは発生していないと判定される。
【００４９】
そして、図５において、データ解析部１２は、端末ごとに、受信した応答パケットに含まれる各MACアドレスが共通のMACアドレスであるかどうか解析する（S20）。ステップS21において、共通のMACアドレスであると判定した場合は、そのMACアドレスを、ブリッジ接続端末のMACアドレスと特定し（S22）、共通のMACアドレスでないと判定した場合は、そのMACアドレスを当該通信対象端末のMACアドレスと特定する（S23）。
【００５０】
図６において、MACアドレスａ、ｂは端末A、Bからの応答パケットに共通のMACアドレスでないため、MACアドレスａは端末AのMACアドレス、そして、MACアドレスｂは端末BのMACアドレスと特定される。MACアドレスｐ、ｑについては、端末A、Bからの応答パケット両方に含まれる共通のMACアドレスのため、ブリッジ接続端末のMACアドレスと特定される。
【００５１】
（第二の実施の形態例）
図７は、本発明の実施の形態におけるネットワーク障害検出装置のL3ブリッジ接続によるL2ループの第二の検出処理フローチャートである。また、図８は、図７の第二の検出処理に基づいて、通信対象端末のMACアドレスを特定するための第二の特定処理フローチャートである。
【００５２】
図７において、まず、ネットワーク障害検出装置（端末X）のパケット送受信部１１は、ネットワーク内を流れるブロードキャストパケットを指定時間の間キャプチャする（S30）。指定キャプチャ時間はあらかじめ設定される。
【００５３】
指定キャプチャ時間経過するまでの間（S31）、パケット送受信部１１は、ブロードキャストパケットをキャプチャするごとに、ブロードキャストパケットの発信元IPアドレスと発信元MACアドレスを発信元アドレス管理テーブルに登録する（S32）。
【００５４】
図９は、発信元アドレス管理テーブルの例を示す図である。図９の例では、発信元IPアドレスが登録されている端末A、B及びスイッチSW1に対する発信元MACアドレスが登録され、それぞれ共通のMACアドレスを含む複数のMACアドレスが登録されている。
【００５５】
図７に戻って、データ解析部１２は、発信元アドレス管理テーブルにおいて、
発信元IPアドレスに対して異なる複数の発信元MACアドレスをもち、
該発信元MACアドレスが異なる発信元IPアドレスに対しても
重複しているものがあるかを解析する（S33）。
すなわち、登録されたすべてのMACアドレスについて、複数の発信元IPアドレスに共通のMACアドレスが存在するかどうかを解析する。
【００５６】
ステップS34において、共通のMACアドレスが存在する場合、データ解析部１２は、L3ブリッジ接続によるL2ループが発生していると判定し（S35）、共通のMACアドレスが存在しない場合は、ステップS30に戻り、指定キャプチャ時間が経過するまで、ステップS31乃至S34の処理を繰り返す。指定キャプチャ時間を経過した時に共通のMACアドレスが存在しない場合は、L3ブリッジ接続によるL2ループは発生していないと判定する（S36）。すなわち、図９に示すように、各発信元IPアドレスに対して、共通のMACアドレスｐ、ｑが存在する場合は、L3ブリッジ接続によるL2ループが発生していると判定される。共通のMACアドレスｐ、ｑが存在せず、各発信元IPアドレスに対するMACアドレスがそれぞれ固有のアドレスである場合は、L3ブリッジ接続によるL２ループは発生していないと判定される。
【００５７】
そして、図８において、データ解析部１２は、発信元アドレス管理テーブルにおいて、
各発信元IPアドレスごとに、対応する発信元MACアドレスが
複数の発信元IPアドレスに共通の発信元MACアドレスかどうかを解析する(S40)。ステップS41において、共通のMACアドレスであると判定した場合は、そのMACアドレスを、ブリッジ接続端末のMACアドレスと特定し（S42）、共通のMACアドレスでないと判定した場合は、そのMACアドレスを当該発信元IPアドレスに対応する通信対象端末のMACアドレスと特定する（S43）。
【００５８】
図９において、MACアドレスａ、ｂ、ｓ１は共通のMACアドレスではなく、各発信元IPアドレスに固有のMACアドレスであるため、各発信元IPアドレスに対応するノード（端末、スイッチ）のMACアドレスと特定される。MACアドレスｐ、ｑについては、各発信元IPアドレスに対して共通のMACアドレスのため、ブリッジ接続端末のMACアドレスと特定される。
【００５９】
（第三の実施の形態例）
上記第一及び第二の実施の形態例により、L3ブリッジ接続によるL2ループの発生が検出することができ、さらに、各ノード（端末、スイッチ）のMACアドレスを特定し、また、ブリッジ接続端末のMACアドレスも特定することができる。以下に述べる第三及び第四の実施の形態例では、第一又は第二の実施の形態例の処理により、L3ブリッジ接続によるL2ループの発生が検出された場合に、その発生箇所すなわちブリッジ接続端末の位置を特定する処理について、図３のネットワーク構成例を参照しつつ説明する。L3ブリッジ接続によるL2ループが発生すると、従来技術の項で述べたように、間違ったMACアドレスをＡＲＰテーブルに登録するため、各端末（ネットワーク障害検出装置を含む）は通信不能状態に陥っている。
【００６０】
図１０は、L3ブリッジ接続によるL2ループの発生箇所を特定する第一の特定処理のフローチャートである。ネットワーク内の各スイッチについて以下の処理を行う。ネットワーク障害検出装置（端末X）のパケット送受信部１１は、未探索のスイッチがある場合（S50）は、そのうちの一つのスイッチを選択し、探索対象スイッチに対してＡＲＰ要求をユニキャストで送信し、そのＡＲＰ応答を受信する(S51)。これにより、端末XのＡＲＰテーブルに探索対象スイッチのMACアドレスが正しく登録され、探索対象スイッチと通信可能となる。上記第一又は第二の実施の形態例の処理により、各ノード（スイッチを含む）の正しいMACアドレスを特定することができるので、その特定されたMACアドレスを用いてステップS51の処理を行うことにより、探索対象スイッチとの通信が回復する。
【００６１】
続いて、パケット送受信部１１は、探索対象スイッチに対して、ブリッジ接続端末のMACアドレス（図３では、ｐとｑの二つのアドレス）の学習IF状況を示すMIB情報(dotldTpFdbPort)を取得するためのSNMP要求を送信し、それに対するSNMP応答を受信する（S52）。
【００６２】
スイッチは、通常運用状態において、ネットワーク内を流れるブロードキャストパケットに含まれる発信元端末のMACアドレスを記憶するとともに、ブロードキャストパケットの発信端末が存在する方向をその入力ポートの方向であると認識している（これを「アドレス学習」と表現する場合がある）。学習IF状況とは、指定されたMACアドレスの端末が存在する方向の入力ポートのポート番号を有する情報である。
【００６３】
図１１は、各スイッチにおけるブリッジ接続端末のMACアドレスｐ、ｑの学習IF状況（ポート番号）を示す図である。例えば、スイッチSW１から取得したSNMP応答では、スイッチSW1は、IF（ポート）２の方向にMACアドレスｐを学習し、IF４の方向にMACアドレスｑを学習している。
【００６４】
データ解析部１２は、受信したSNMP応答から、探索対象スイッチにおけるブリッジ接続端末のMACアドレスの学習方向を特定する(S53)。例えば、スイッチSW1が探索対象スイッチの場合、図１１から明らかなように、MACアドレスｐは、IF２の下流方向に存在し、MACアドレスｑは、IF４の下流方向に存在すると認識する。
【００６５】
ネットワーク内の全てのスイッチについて、ステップS51乃至S53の処理を行った後（S50）、データ解析部１２は、各スイッチにおける学習IF状況を辿ることで、ブリッジ接続端末の箇所を特定する（S54）。例えば、ネットワーク障害検出装置（端末X）から辿っていくと、MACアドレスｐについては、スイッチSW4のIF１−スイッチSW1のIF２−スイッチSW2のIF５となり、その先にスイッチが接続されていないので、MACアドレスｐを有するブリッジ接続端末Cの箇所をスイッチSW2のポート番号５の方向と特定することができる。また、MACアドレスｑについても同様に、スイッチSW4のポート番号１−スイッチSW1のポート番号４となり、その先にスイッチが接続されていないので、MACアドレスｑを有するブリッジ接続端末Cの箇所をスイッチSW1のポート番号４の方向と特定することができる。なお、MACアドレスｐ、ｑについては、どちらが有線IF用MACアドレス又は無線IF用MACアドレスかの区別はできない。
【００６６】
（第四の実施の形態例）
L3ブリッジ接続によるL2ループが発生すると、L2ループ内を大量のブロードキャストパケットが流れるので、L2ループを形成しているスイッチのポートは、他のポートと比較して大量のパケットを送受信する。第四の実施の形態例では、各スイッチの各ポートのトラフィック量を取得し、それに基づいて、L3ブリッジ接続によるL2ループの発生箇所すなわちブリッジ接続端末の位置を特定する。
【００６７】
図１２は、L3ブリッジ接続によるL2ループの発生箇所を特定する第二の特定処理のフローチャートである。パケット送受信部１１は、未探索のスイッチがある場合（S60）は、そのうちの一つのスイッチを選択し、探索対象スイッチに対してＡＲＰ要求をブロードキャストで送信し、そのＡＲＰ応答を受信する(S61)。このブロードキャストによるＡＲＰ要求の送受信は、周期的に複数回一定時間連続的に行われる。上述の第三の実施の形態例では、未探索スイッチのMACアドレスが既知であることを前提とした処理であるが、第四の実施の形態例では、未探索スイッチのMACアドレスが特定されていないことを前提としている。この場合、ブロードキャストでＡＲＰ要求を送信すると、従来技術で説明したように、ＡＲＰ応答として、間違ったMACアドレスを大量に受信するが、１つのＡＲＰ要求に対して正しいMACアドレスも１つ受信する。この正しいMACアドレスを受信し、次の間違ったMACアドレスを受信するまでの間は、ＡＲＰテーブルには正しいMACアドレスが登録された状態であり、その間に、スイッチの各IF（ポート）におけるブロードパケット受信カウントを有するMIB情報(ifInNUcastPkts)を取得するためのSNMP要求を送信し、SNMP応答として、当該ブロードキャスト受信カウントの情報を有するMIB情報(ifInNUcastPkts)を取得する（S62）。
【００６８】
SNMP要求は連続的に複数回送信され、間違ったMACアドレスが登録されている期間であっても、送信されるが、正しいMACアドレスが登録されている期間中に送信されたSNMP要求に対してのみ、その応答が戻ってくる。すなわち、スイッチは、正しいMACアドレスを有するSNMP要求に対してのみ応答することができる。このように、スイッチのMACアドレスが不明の場合でも、ＡＲＰ要求の送信を一定時間繰り返し、それに同期してSNMP要求も繰り返し送信することで、スイッチからのSNMP応答を得ることができる。
【００６９】
受信したMIB情報(ifInNUcastPkts)を基準値として記憶し、一定時間の経過が経過すると(S63)、再度、スイッチの各ポート（IF）におけるブロードパケット受信カウントを示すMIB情報(ifInNUcastPkts)を取得するためのSNMP要求を送信する。今回もSNMP要求は繰り返し送信され、SNMP応答であるブロードキャスト受信カウントを有するMIB情報(ifInNUcastPkts)が得られるまで続けられる。(S64)。SNMP応答を受信すると、ブロードキャストによるＡＲＰ要求の送信を停止する(S65)。
【００７０】
データ解析部１２は、SNMP応答結果から探索対象スイッチにおける各IF毎の単位時間当たりのブロードキャストパケットのデータ受信カウントを算出する（S66）。すなわち、ステップS62とS64で取得したブロードキャスト受信カウントの差分値を求める。そして、スイッチごとに、単位時間当たりの受信カウントが所定のしきい値を超えるIFを抽出する(S67)。
【００７１】
図１３は、スイッチごとの受信カウントがしきい値を超えるIFの例を示す図である。例えば、スイッチSW１では、ポート２、４がしきい値を超える受信カウントでブロードキャストパケットを受信しており、スイッチSW2では、ポート１、５の受信カウントがしきい値を超えている。同様に、スイッチSW3、SW4では、ポート１の受信カウントがしきい値を超えている。
【００７２】
ネットワーク内の全てのスイッチについて、ステップS61乃至S67の処理を行った後（S60）、データ解析部１２は、スイッチごとに受信カウントがしきい値を超えるIFを辿ることで、ブリッジ接続端末の箇所を特定する（S68）。図１３の例では、SW1、SW2は、ブロードキャストパケットを大量に受信するIFが２つ（右回り、左回り）抽出され、一方はブリッジ接続端末に、もう一方は無線ＡＰに辿り着く。具体的には、SW4のIF１−SW1のIF2−SW2のIF5と辿ることができ、その先にスイッチが接続されていないので、ブリッジ接続端末Cの箇所をスイッチSW2のIF５の方向と特定することができる。また、SW4のIF１−SW1のIF4と辿ることもでき、この場合もその先はスイッチではなく、無線ＡＰなので、ブリッジ接続端末Cの箇所をスイッチSW1のIF４の方向と特定することができる。この場合も、MACアドレスｐ、ｑについては、どちらが有線IF用MACアドレス又は無線IF用MACアドレスかの区別はできない。
【００７３】
上記第三の実施の形態例において、学習IF状況を示すMIB情報(dotldTpFdbPort)を取得したが、それに代わって、ブロードキャストパケット受信カウントを示すのMIB情報(ifInNUcastPkts)を取得し、第四の実施の形態例により、単位時間当たりに受信カウントがしきい値を超えるIFを抽出して、ブリッジ接続端末の位置を特定してもよい。
【００７４】
また、第四の実施の形態例において、スイッチのMACアドレスが既知の場合は、第三の実施の形態例で述べたように、探索対象スイッチに対してARP要求をユニキャストで送信し、通信を回復してから、ブロードキャストパケット受信カウントを示すのMIB情報(ifInNUcastPkts)を取得するようにしてもよい。
【００７５】
（付記１）
前記複数の端末及び複数の中継装置を含む複数のノードで構成され且つL3ブリッジ接続を含むネットワークの障害を検出するネットワーク障害検出装置において、
前記複数のノードのうちの第一のノード及び第二のノードのネットワークアドレスに対応する物理アドレスを含むパケットを受信する通信部と、
前記第一のノード及び第二のノードそれぞれのネットワークアドレスに対して複数種類の物理アドレスの存在を検出し、さらにその中に各ネットワークアドレスに共通する物理アドレスの存在を検出することにより、ネットワーク障害を引き起こすL3ブリッジ接続によるL2ループを検出する検出部とを備えることを特徴とするネットワーク障害検出装置。
【００７６】
（付記２）
付記１において、
前記検出部は、前記共通する物理アドレスをL3ブリッジ接続端末の物理アドレスと特定することを特徴とするネットワーク障害検出装置。
【００７７】
（付記３）
付記１において、
前記検出部は、前記共通する物理アドレス以外の物理アドレスをそれぞれ前記第一のノード及び第二のノードの物理アドレスと特定することを特徴とするネットワーク障害検出装置。
【００７８】
（付記４）
付記１において、
前記通信部は、前記第一のノード及び第二のノードそれぞれのネットワークアドレスに対応する物理アドレスを含むパケットの要求する要求パケットをブロードキャスト送信し、当該要求パケットの応答として、前記物理アドレスを含むパケットを受信することを特徴とするネットワーク障害検出装置。
【００７９】
（付記５）
付記１において、
前記通信部は、前記ネットワーク内を流れるパケットの中から前記第一のノード及び第二のノードそれぞれのネットワークアドレスに対応する物理アドレスを含むパケットをキャプチャすることを特徴とするネットワーク障害検出装置。
【００８０】
（付記６）
付記３において、
前記通信部は、前記検出部により特定された前記第一のノードの物理アドレスを用いて、前記第一のノードに対して、前記第一のノードのネットワークアドレスに対応する物理アドレスを含むパケットの要求する要求パケットをユニキャスト送信し、当該要求パケットに対する応答パケットを受信することにより、前記第一のノードとの通信を回復させることを特徴とするネットワーク障害検出装置。
【００８１】
（付記７）
付記１において、
前記通信部は、前記第一のノードのネットワークアドレスに対応する物理アドレスを含むパケットの要求する要求パケットを一定時間ブロードキャスト送信し続け、当該要求パケットに対する応答パケットを受信することにより、前記第一のノードと通信することを特徴とするネットワーク障害検出装置。
【００８２】
（付記８）
付記２において、
前記通信部は、前記複数の中継装置それぞれから、各ポートの前記L3ブリッジ接続端末の物理アドレスの学習方向に関する情報を取得し、
前記検出部は、当該情報に基づいて、前記L3ブリッジ接続端末の方向を判定することを特徴とするネットワーク障害検出装置。
【００８３】
（付記９）
請求項２において、
前記通信部は、前記複数の中継装置それぞれから、各ポートのブロードキャストパケットのトラフィック量に関する情報を取得し、
前記検出部は、当該情報に基づいて、前記L3ブリッジ接続端末の方向を判定することを特徴とするネットワーク障害検出装置。
【００８４】
（付記１０）
前記複数の端末及び複数の中継装置を含む複数のノードで構成され且つL3ブリッジ接続を含むネットワークの障害を検出するネットワーク障害検出方法において、
前記複数のノードのうちの第一のノード及び第二のノードのネットワークアドレスに対応する物理アドレスを含むパケットを受信するステップと、
前記第一のノード及び第二のノードそれぞれのネットワークアドレスに対して複数種類の物理アドレスの存在を検出し、さらにその中に各ネットワークアドレスに共通する物理アドレスの存在を検出することにより、ネットワーク障害を引き起こすL3ブリッジ接続によるL2ループを検出するステップとを備えることを特徴とするネットワーク障害検出方法。
【図面の簡単な説明】
【００８５】
【図１】L3ブリッジ接続によるL2ループの発生形態を説明する図である。
【図２】L3ブリッジ接続によるL2ループの発生原因を説明する図である。
【図３】本発明の実施の形態におけるネットワーク障害検出装置を含むネットワーク構成例を示す図である。
【図４】本発明の実施の形態におけるネットワーク障害検出装置のL3ブリッジ接続によるL2ループの第一の検出処理フローチャートである。
【図５】通信対象端末のMACアドレスを特定するための第一の特定処理フローチャートである。
【図６】端末A、Bそれぞれからの応答結果例を示す図である。
【図７】本発明の実施の形態におけるネットワーク障害検出装置のL3ブリッジ接続によるL2ループの第二の検出処理フローチャートである。
【図８】通信対象端末のMACアドレスを特定するための第二の特定処理フローチャートである。
【図９】発信元アドレス管理テーブルの例を示す図である。
【図１０】L3ブリッジ接続によるL2ループの発生箇所を特定する第一の特定処理のフローチャートである。
【図１１】各スイッチにおけるブリッジ接続端末のMACアドレスｐ、ｑの学習IF状況（ポート番号）を示す図である。
【図１２】L3ブリッジ接続によるL2ループの発生箇所を特定する第二の特定処理のフローチャートである。
【図１３】スイッチごとの受信カウントがしきい値を超えるIFの例を示す図である。
【符号の説明】
【００８６】
Ａ、Ｂ：端末
Ｃ：Ｌ３ブリッジ接続端末
Ｘ：ネットワーク障害検出装置
ＳＷ１、ＳＷ２、ＳＷ３、ＳＷ４：スイッチ（中継装置）
【図１】
0004510751.tif 000002
【図２】
0004510751.tif 000003
【図３】
0004510751.tif 000004
【図４】
0004510751.tif 000005
【図５】
0004510751.tif 000006
【図６】
0004510751.tif 000007
【図７】
0004510751.tif 000008
【図８】
0004510751.tif 000009
【図９】
0004510751.tif 000010
【図１０】
0004510751.tif 000011
【図１１】
0004510751.tif 000012
【図１２】
0004510751.tif 000013
【図１３】
0004510751.tif 000014