(57)【特許請求の範囲】
【請求項１】
ブリッジ装置を含んだネットワークの転送経路に発生したループを検出するループ検出装置であって、
前記ブリッジ装置によって転送されたフレームの受信ポート、送信ポート、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスを含んだフロー情報を単数又は複数のフレームごとに前記ブリッジ装置から収集して記憶部に蓄積する収集部と、
前記記憶部に蓄積されたフロー情報を参照して、送信先ＭＡＣアドレスがブロードキャスト用又はマルチキャスト用のアドレスであるフロー情報を集計することで、ブロードキャストフレーム又はマルチキャストフレームのトラフィック量を受信ポートごとに算出し、算出したトラフィック量が第１の閾値を超えた受信ポートがあるか否かを判定する第１の判定部と、
前記記憶部に蓄積されたフロー情報を参照して、全てのフレームに関するフロー情報を集計することで、同じ受信ポートで受信され、かつ、複数の送信ポートで送信されたフレームのトラフィック量を受信ポートごとに算出し、算出したトラフィック量が第２の閾値を超えた受信ポートがあるか否かを判定する第２の判定部と、
前記記憶部に蓄積されたフロー情報を参照して、送信元ＭＡＣアドレスが同じフロー情報ごとに受信ポートを比較することで、送信元ＭＡＣアドレスが同じであって異なる受信ポートで受信されたフレームについて第１の期間内で受信ポートが変わった回数を送信元ＭＡＣアドレスごとに算出し、算出した回数が第３の閾値を超えた送信元ＭＡＣアドレスがあるか否かを判定する第３の判定部と、
前記記憶部に蓄積されたフロー情報を参照して、送信先ＭＡＣアドレスが同じフロー情報ごとに送信ポートを比較することで、送信先ＭＡＣアドレスが同じであって異なる送信ポートで送信されたユニキャストフレームについて第２の期間内で送信ポートが変わった回数を送信先ＭＡＣアドレスごとに算出し、算出した回数が第４の閾値を超えた送信元ＭＡＣアドレスがあるか否かを判定する第４の判定部と、
前記第１の判定部による判定結果、前記第２の判定部による判定結果、前記第３の判定部の判定結果、及び、前記第４の判定部による判定結果の和集合をもとに、前記ネットワークの転送経路にループが発生していることを検出する検出部と
を備えたことを特徴とするループ検出装置。
【請求項２】
前記検出部は、前記第１の判定部によって前記トラフィック量が前記第１の閾値を超えた受信ポートがあると判定された場合、又は、前記第２の判定部によって前記トラフィック量が前記第２の閾値を超えた受信ポートがあると判定された場合には、前記ネットワーク、又は、前記ネットワークに隣接する他のネットワークにおいてループが発生していることを検出することを特徴とする請求項１に記載のループ検出装置。
【請求項３】
前記検出部は、更に、前記第３の判定部によって前記第１の期間内で前記受信ポートが変わった回数が前記第３の閾値を超えた送信元ＭＡＣアドレスがあると判定された場合、又は、前記第４の判定部によって前記第２の期間内で前記送信ポートが変わった回数が前記第４の閾値を超えた送信元ＭＡＣアドレスがあると判定された場合には、前記ネットワークにおいてループが発生していることを検出することを特徴とする請求項２に記載のループ検出装置。
【請求項４】
前記検出部は、更に、前記第３の判定部によって前記第１の期間内で前記受信ポートが変わった回数が前記第３の閾値を超えた送信元ＭＡＣアドレスがないと判定され、かつ、前記第４の判定部によって前記第２の期間内で前記送信ポートが変わった回数が前記第４の閾値を超えた送信元ＭＡＣアドレスがないと判定された場合には、前記他のネットワークにおいてループが発生していることを検出することを特徴とする請求項２に記載のループ検出装置。
【請求項５】
前記第１の判定部は、あらかじめ設定された係数を過去の同じ時間におけるブロードキャストフレーム又はマルチキャストフレームのトラフィック量に乗じて得られる値を前記第１の閾値として用いることを特徴とする請求項１〜４のいずれか一つに記載のループ検出装置。
【請求項６】
前記第２の判定部は、あらかじめ設定された係数を過去の同じ時間におけるブロードキャストフレーム及びマルチキャストフレーム以外のフレームのトラフィック量に乗じて得られる値を前記第２の閾値として用いることを特徴とする請求項１〜５のいずれか一つに記載のループ検出装置。
【請求項７】
ブリッジ装置を含んだネットワークの転送経路に発生したループを検出するループ検出装置で実行されるループ検出方法であって、
前記ブリッジ装置によって転送されたフレームの受信ポート、送信ポート、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスを含んだフロー情報を単数又は複数のフレームごとに前記ブリッジ装置から収集して記憶部に蓄積する収集工程と、
前記記憶部に蓄積されたフロー情報を参照して、送信先ＭＡＣアドレスがブロードキャスト用又はマルチキャスト用のアドレスであるフロー情報を集計することで、ブロードキャストフレーム又はマルチキャストフレームのトラフィック量を受信ポートごとに算出し、算出したトラフィック量が第１の閾値を超えた受信ポートがあるか否かを判定する第１の判定工程と、
前記記憶部に蓄積されたフロー情報を参照して、全てのフレームに関するフロー情報を集計することで、同じ受信ポートで受信され、かつ、複数の送信ポートで送信されたフレームのトラフィック量を受信ポートごとに算出し、算出したトラフィック量が第２の閾値を超えた受信ポートがあるか否かを判定する第２の判定工程と、
前記記憶部に蓄積されたフロー情報を参照して、送信元ＭＡＣアドレスが同じフロー情報ごとに受信ポートを比較することで、送信元ＭＡＣアドレスが同じであって異なる受信ポートで受信されたフレームについて第１の期間内で受信ポートが変わった回数を送信元ＭＡＣアドレスごとに算出し、算出した回数が第３の閾値を超えた送信元ＭＡＣアドレスがあるか否かを判定する第３の判定工程と、
前記記憶部に蓄積されたフロー情報を参照して、送信先ＭＡＣアドレスが同じフロー情報ごとに送信ポートを比較することで、送信先ＭＡＣアドレスが同じであって異なる送信ポートで送信されたユニキャストフレームについて第２の期間内で送信ポートが変わった回数を送信先ＭＡＣアドレスごとに算出し、算出した回数が第４の閾値を超えた送信元ＭＡＣアドレスがあるか否かを判定する第４の判定工程と、
前記第１の判定工程による判定結果、前記第２の判定工程による判定結果、前記第３の判定工程の判定結果、及び、前記第４の判定工程による判定結果の和集合をもとに、前記ネットワークの転送経路にループが発生していることを検出する検出工程と
を含んだことを特徴とするループ検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の開示する技術は、ループ検出装置及びループ検出方法に関する。
【背景技術】
【０００２】
従来、ブリッジ装置を用いて構築されるネットワークでは、複数のブリッジ装置を接続することによって転送経路にループが発生する場合がある。このループを解消するための技術として、例えば、ループのないトポロジを手作業で構成することによって、ループのない転送経路を実現する方法が知られている。このように手作業でトポロジを構成する方法では、操作者が誤ってケーブルを接続することによって、ループが発生する場合があった。
【０００３】
そこで、例えば、ネットワークに生じているループを自動的に検出するための技術として、ＯＡＭ（Operation  Administration  and  Maintenance）フレームを用いる方法が知られている。この方法では、ブリッジ装置から送信されるＯＡＭフレームを用いてループを検出し、検出したループに関連するポートを閉塞することによって、ループのない転送経路が実現される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４２０１２７０号明細書
【非特許文献】
【０００５】
【非特許文献１】Ｒｉｃｈ  Ｓｅｉｆｅｒｔ著、間宮あきら訳、「ＬＡＮスイッチング徹底解説」、日経ＢＰ社、２００１年、ｐｐ．１８７−１９０
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したＯＡＭフレームを用いた方法では、ループを検出するための専用機能をブリッジ装置に搭載する必要があった。ここでいう専用機能とは、例えば、ＯＡＭフレームを送信するための機能や、受信したＯＡＭフレームに基づいてループを検出するための機能などである。このため、ＯＡＭフレームを用いた方法では、ネットワーク構築のコストが高くなったり、ＯＡＭフレームによってネットワークの帯域が浪費されたりする場合があった。
【０００７】
このようなことから、ブリッジ装置にループ検出用の専用機能を追加することなく、ネットワークに発生したループを検出することが求められていた。
【０００８】
本願の開示する技術は、上記に鑑みてなされたものであって、ブリッジ装置にループ検出用の専用機能を追加することなく、ネットワークに発生したループを検出することが可能なループ検出装置及びループ検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本願の開示するループ検出装置は、ブリッジ装置を含んだネットワークの転送経路に発生したループを検出するループ検出装置であって、前記ブリッジ装置によって転送されたフレームの受信ポート、送信ポート、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスを含んだフロー情報を単数又は複数のフレームごとに前記ブリッジ装置から収集して記憶部に蓄積する収集部と、前記記憶部に蓄積されたフロー情報を参照して、送信先ＭＡＣアドレスがブロードキャスト用又はマルチキャスト用のアドレスであるフロー情報を集計することで、ブロードキャストフレーム又はマルチキャストフレームのトラフィック量を受信ポートごとに算出し、算出したトラフィック量が第１の閾値を超えた受信ポートがあるか否かを判定する第１の判定部と、前記記憶部に蓄積されたフロー情報を参照して、全てのフレームに関するフロー情報を集計することで、同じ受信ポートで受信され、かつ、複数の送信ポートで送信されたフレームのトラフィック量を受信ポートごとに算出し、算出したトラフィック量が第２の閾値を超えた受信ポートがあるか否かを判定する第２の判定部と、前記記憶部に蓄積されたフロー情報を参照して、送信元ＭＡＣアドレスが同じフロー情報ごとに受信ポートを比較することで、送信元ＭＡＣアドレスが同じであって異なる受信ポートで受信されたフレームについて第１の期間内で受信ポートが変わった回数を送信元ＭＡＣアドレスごとに算出し、算出した回数が第３の閾値を超えた送信元ＭＡＣアドレスがあるか否かを判定する第３の判定部と、前記記憶部に蓄積されたフロー情報を参照して、送信先ＭＡＣアドレスが同じフロー情報ごとに送信ポートを比較することで、送信先ＭＡＣアドレスが同じであって異なる送信ポートで送信されたユニキャストフレームについて第２の期間内で送信ポートが変わった回数を送信先ＭＡＣアドレスごとに算出し、算出した回数が第４の閾値を超えた送信元ＭＡＣアドレスがあるか否かを判定する第４の判定部と、前記第１の判定部による判定結果、前記第２の判定部による判定結果、前記第３の判定部の判定結果、及び、前記第４の判定部による判定結果の和集合をもとに、前記ネットワークの転送経路にループが発生していることを検出する検出部とを備えたことを特徴とする。
【００１１】
また、本願の開示するループ検出方法は、ブリッジ装置を含んだネットワークの転送経路に発生したループを検出するループ検出装置で実行されるループ検出方法であって、前記ブリッジ装置によって転送されたフレームの受信ポート、送信ポート、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスを含んだフロー情報を単数又は複数のフレームごとに前記ブリッジ装置から収集して記憶部に蓄積する収集工程と、前記記憶部に蓄積されたフロー情報を参照して、送信先ＭＡＣアドレスがブロードキャスト用又はマルチキャスト用のアドレスであるフロー情報を集計することで、ブロードキャストフレーム又はマルチキャストフレームのトラフィック量を受信ポートごとに算出し、算出したトラフィック量が第１の閾値を超えた受信ポートがあるか否かを判定する第１の判定工程と、前記記憶部に蓄積されたフロー情報を参照して、全てのフレームに関するフロー情報を集計することで、同じ受信ポートで受信され、かつ、複数の送信ポートで送信されたフレームのトラフィック量を受信ポートごとに算出し、算出したトラフィック量が第２の閾値を超えた受信ポートがあるか否かを判定する第２の判定工程と、前記記憶部に蓄積されたフロー情報を参照して、送信元ＭＡＣアドレスが同じフロー情報ごとに受信ポートを比較することで、送信元ＭＡＣアドレスが同じであって異なる受信ポートで受信されたフレームについて第１の期間内で受信ポートが変わった回数を送信元ＭＡＣアドレスごとに算出し、算出した回数が第３の閾値を超えた送信元ＭＡＣアドレスがあるか否かを判定する第３の判定工程と、前記記憶部に蓄積されたフロー情報を参照して、送信先ＭＡＣアドレスが同じフロー情報ごとに送信ポートを比較することで、送信先ＭＡＣアドレスが同じであって異なる送信ポートで送信されたユニキャストフレームについて第２の期間内で送信ポートが変わった回数を送信先ＭＡＣアドレスごとに算出し、算出した回数が第４の閾値を超えた送信元ＭＡＣアドレスがあるか否かを判定する第４の判定工程と、前記第１の判定工程による判定結果、前記第２の判定工程による判定結果、前記第３の判定工程の判定結果、及び、前記第４の判定工程による判定結果の和集合をもとに、前記ネットワークの転送経路にループが発生していることを検出する検出工程とを含んだことを特徴とする。
【発明の効果】
【００１３】
本願の開示するループ検出装置及びループ検出方法によれば、ブリッジ装置にループ検出用の専用機能を追加することなく、ネットワークに発生したループを検出することが可能になるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、本実施例に係るループ検出装置の概要及び構成を示す図である。
【図２】図２は、本実施例に係るＬ２レイヤネットワークで転送されるフレームの一例を示す図である。
【図３】図３は、本実施例に係るＬ２レイヤネットワークの転送経路に発生したループにおけるフレームの流れを説明するための図である。
【図４】図４は、本実施例に係るループ検出装置によって実行されるループ検出処理の処理手順を示すフローチャートである。
【図５】図５は、本実施例に係るループ検出プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１５】
以下に、本願の開示するループ検出装置及びループ検出方法の実施例を図面に基づいて詳細に説明する。なお、ループ検出装置及びループ検出方法の実施例は、以下で説明する実施例に限定されるものではない。
【実施例】
【００１６】
まず、本実施例に係るループ検出装置の概要について説明する。図１は、本実施例に係るループ検出装置の概要及び構成を示す図である。図１に示すように、本実施例に係るループ検出装置１０は、例えば、Ｌ２レイヤネットワーク２０に接続され、ネットワークの転送経路に発生したループを検出する。
【００１７】
Ｌ２レイヤネットワーク２０は、例えば、複数のブリッジ装置２１〜２６を含んで構成される。ここで、例えば、図１の上段に示すブリッジ装置２１〜２３は、ブリッジ装置２１を頂点とする正常なツリー状に接続されている。また、例えば、図１の下段に示すブリッジ装置２４〜２６は、ループ状に接続されている。これらブリッジ装置２４〜２６のうち、ブリッジ装置２６は、ＰＣ２７から送信されるフレーム３０を受信してＬ２レイヤネットワーク２０内に転送する。
【００１８】
かかるＬ２レイヤネットワーク２０では、例えば、イーサネット（登録商標）のフレーム３０が転送される。イーサネット（登録商標）による通信では、ＭＡＣアドレスによってフレームの転送先が決められる。このＭＡＣアドレスは、ネットワークに接続された各種の装置が有するネットワークインタフェースに固有のアドレスである。
【００１９】
図２は、本実施例に係るＬ２レイヤネットワーク２０で転送されるフレーム３０の一例を示す図である。図２に示すように、例えば、Ｌ２レイヤネットワーク２０で転送されるフレームは、送信先ＭＡＣアドレス３１、送信元ＭＡＣアドレス３２、タイプ３３、ペイロード３４及びＦＣＳ（Flame  Check  Sequence）３５の各フィールドを有する。
【００２０】
送信先ＭＡＣアドレス３１は、６バイトのフィールドであり、フレーム３０の送信先となる装置のＭＡＣアドレスが設定される。送信元ＭＡＣアドレス３２は、６バイトのフィールドであり、フレーム３０の送信元となる装置のＭＡＣアドレスが設定される。タイプ３３は、２バイトのフィールドであり、上位のネットワーク層のプロトコルを識別するための識別番号が設定される。ペイロード３４は、４６〜１５００バイトの可変長のフィールドであり、フレーム３０によって転送されるデータが設定される。ＦＣＳ３５は、４バイトのフィールドであり、データのチェックを行うための情報が設定される。
【００２１】
そして、イーサネット（登録商標）による通信では、フレームを転送するブリッジ装置は、受信したフレームの送信元ＭＡＣアドレスと、そのフレームを受信した受信ポートとを学習するＭＡＣテーブルを保持する。ブリッジ装置は、このＭＡＣテーブルによって、どのポートの先にどのＭＡＣアドレスを有する装置が存在するかを把握することで、効率的にフレームを転送することができる。
【００２２】
そして、本実施例では、Ｌ２レイヤネットワーク２０を構成するブリッジ装置のうち、監視対象のブリッジ装置には、あらかじめフロー計測機能が搭載されたものが用いられる。例えば、監視対象のブリッジ装置は、フロー計測のためのフロー情報配信プロトコルに対応し、ネットワークを介してループ検出装置１０にフロー情報を配信する機能を備える。この機能により、監視対象のブリッジ装置は、所定のサンプリング間隔及び所定のタイマの一部又は全部に基づいて、フロー情報を配信する。なお、ここでいうフロー情報配信プロトコルとは、例えば、ｓＦｌｏｗ（ＲＦＣ３１７６）やＮｅｔＦｌｏｗ（ＲＦＣ３９５４）、ＩＰＦＩＸ（ＲＦＣ５１０１）などである。
【００２３】
ここで、ネットワークの転送経路にループが発生していた場合には、ループによって同じフレームが延々と転送されるため、ネットワーク内の各ブリッジ装置において、同じ送信元ＭＡＣアドレスのフレームを受信する受信ポートが頻繁に変動する事象が発生する。この結果、受信ポートが変動するたびにＭＡＣテーブルに変更が生じることになり、これにともなって、フレームの送信ポートも頻繁に変動することになる。この受信ポートや送信ポートの変動は、ブリッジ装置から配信されるフロー情報に反映されることになる。また、ループ発生時には、ブロードキャストフレームやマルチキャストフレームが延々とループ内を流れるためこれらのトラフィック量が増加する。このトラフィック量の増加も、フロー情報に反映されることになる。
【００２４】
そこで、本実施例では、ループ検出装置１０が、ネットワークを介して監視対象のブリッジ装置からフロー情報を収集し、収集したフロー情報を解析することによって、ネットワークの転送経路に発生したループを検出する。このように、ループ検出装置１０は、監視対象のブリッジ装置にあらかじめ搭載されたフロー計測機能によって配信されるフロー情報に基づいてループを検出するので、ブリッジ装置にループ検出用の専用機能を追加することなく、ネットワークに発生したループを検出することが可能になる。なお、本実施例では、ブリッジ装置２１及び２４が監視対象である場合について説明する。
【００２５】
次に、本実施例に係るループ検出装置１０の構成について説明する。図１に示すように、本実施例に係るループ検出装置１０は、フロー情報ＤＢ（Data  Base）１１と、フロー情報収集部１２と、ブロードキャスト・マルチキャスト異常判定部１３と、非ユニキャスト異常判定部１４と、受信ポート異常判定部１５と、送信ポート異常判定部１６と、ループ検出部１７とを有する。
【００２６】
フロー情報ＤＢ１１は、監視対象のブリッジ装置２１及び２４から収集されたフロー情報を時系列に蓄積する記憶部である。例えば、フロー情報ＤＢ１１は、ハードディスクドライブやメモリなどを用いて実現される。
【００２７】
フロー情報収集部１２は、ブリッジ装置２１及び２４によって転送されたフレームのフロー情報を単数又は複数のフレームごとにブリッジ装置２１及び２４から収集してフロー情報ＤＢ１１に蓄積する。ここで、ブリッジ装置２１及び２４から収集されるフロー情報には、ブリッジ装置２１及び２４によって転送されたフレームの受信ポート、送信ポート、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスが含まれている。
【００２８】
ブロードキャスト・マルチキャスト異常判定部１３は、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、ブロードキャストフレーム又はマルチキャストフレームのトラフィック量を受信ポートごとに算出する。具体的には、ブロードキャスト・マルチキャスト異常判定部１３は、送信先ＭＡＣアドレスがブロードキャスト用又はマルチキャスト用のアドレスであるフロー情報を集計することで、受信ポートごとにトラフィック量を算出する。このとき、例えば、ブロードキャスト・マルチキャスト異常判定部１３は、フレームの数やフレームの長さなどの情報を用いてトラフィック量を算出する。
【００２９】
そして、ブロードキャスト・マルチキャスト異常判定部１３は、算出したトラフィック量が第１の閾値を超えた受信ポートがあるか否かを判定する。さらに、ブロードキャスト・マルチキャスト異常判定部１３は、算出したトラフィック量が第１の閾値を超えた受信ポートを抽出する。このとき、例えば、ブロードキャスト・マルチキャスト異常判定部１３は、あらかじめ設定された係数を過去の同じ時間におけるブロードキャストフレーム又はマルチキャストフレームのトラフィック量に乗じて得られる値を第１の閾値として用いる。ここでいう過去の同じ時間とは、例えば、１日前の同じ時間や１週間前の同じ時間、過去の同じ月日の同じ時間などである。または、ブロードキャスト・マルチキャスト異常判定部１３は、あらかじめ決められたトラフィック量を第１の閾値として用いてもよい。
【００３０】
非ユニキャスト異常判定部１４は、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、全てのフレームに関するフロー情報を集計することで、同じ受信ポートで受信され、かつ、複数の送信ポートで送信されたフレームのトラフィック量を受信ポートごとに算出する。具体的には、非ユニキャスト異常判定部１４は、ブロードキャストフレーム、マルチキャストフレーム、ユニキャストフレームのいずれであるかに関わらず、全てのフレームに関するフロー情報を集計することで、受信ポートごとにトラフィック量を算出する。このとき、例えば、非ユニキャスト異常判定部１４は、フレームの数やフレームの長さなどの情報を用いてトラフィック量を算出する。
【００３１】
そして、非ユニキャスト異常判定部１４は、算出したトラフィック量が第２の閾値を超えた受信ポートがあるか否かを判定する。さらに、非ユニキャスト異常判定部１４は、算出したトラフィック量が第２の閾値を超えた受信ポートを抽出する。このとき、例えば、非ユニキャスト異常判定部１４は、ブロードキャスト・マルチキャスト異常判定部１３と同様に、あらかじめ設定された係数を過去の同じ時間におけるブロードキャストフレーム及びマルチキャストフレーム以外のフレームのトラフィック量に乗じて得られる値を第２の閾値として用いる。ここでいう過去の同じ時間とは、例えば、１日前の同じ時間や１週間前の同じ時間、過去の同じ月日の同じ時間などである。または、非ユニキャスト異常判定部１４は、あらかじめ決められたトラフィック量を第２の閾値として用いてもよい。
【００３２】
受信ポート異常判定部１５は、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、送信元ＭＡＣアドレスが同じであって異なる受信ポートで受信されたフレームについて第１の期間内で受信ポートが変わった回数を送信元ＭＡＣアドレスごとに算出する。具体的には、受信ポート異常判定部１５は、送信元ＭＡＣアドレスが同じフロー情報ごとに受信ポートを比較することで、送信元ＭＡＣアドレスごとに、あらかじめ決められた短い期間内で受信ポートが変わった回数を算出する。なお、このとき、受信ポート異常判定部１５は、ブロードキャストフレーム、マルチキャストフレーム、ユニキャストフレームのいずれであるかに関わらず、全ての種類のフレームを処理の対象とする。
【００３３】
そして、受信ポート異常判定部１５は、算出した回数が第３の閾値を超えた送信元ＭＡＣアドレスがあるか否かを判定する。さらに、受信ポート異常判定部１５は、算出した回数が第３の閾値を超えたフレームの受信ポートを抽出する。例えば、Ｌ２レイヤネットワーク２０内で装置が移動した場合には、各ブリッジ装置が有するＭＡＣテーブルにおいて、その装置のＭＡＣアドレスに対応するポートが変わることになる。しかし、この場合には、比較的長い間隔でポートが変化する。本実施例では、受信ポート異常判定部１５は、短期間内で受信ポートが変わったフレームを対象にするので、このような装置の移動にともなう受信ポートの変化を除外することができ、より精度よくループを検出することができる。
【００３４】
送信ポート異常判定部１６は、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、送信先ＭＡＣアドレスが同じであって異なる送信ポートで送信されたユニキャストフレームについて第２の期間内で送信ポートが変わった回数を送信先ＭＡＣアドレスごとに算出する。具体的には、送信ポート異常判定部１６は、送信先ＭＡＣアドレスが同じフロー情報ごとに送信ポートを比較することで、送信先ＭＡＣアドレスごとに、あらかじめ決められた短い期間内で送信ポートが変わった回数を算出する。
【００３５】
そして、送信ポート異常判定部１６は、算出した回数が第４の閾値を超えた送信元ＭＡＣアドレスがあるか否かを判定する。さらに、送信ポート異常判定部１６は、算出した回数が第４の閾値を超えたフレームの送信ポートを抽出する。前述したように、例えば、Ｌ２レイヤネットワーク２０内で装置が移動した場合には、各ブリッジ装置が有するＭＡＣテーブルにおいて、その装置のＭＡＣアドレスに対応するポートが比較的長い間隔で変化する。本実施例では、送信ポート異常判定部１６は、短期間内で送信ポートが変わったフレームを対象にするので、このような装置の移動にともなう受信ポートの変化を除外することができ、より精度よくループを検出することができる。
【００３６】
ループ検出部１７は、ブロードキャスト・マルチキャスト異常判定部１３、非ユニキャスト異常判定部１４、受信ポート異常判定部１５、及び送信ポート異常判定部１６による判定結果に基づいて、ネットワークの転送経路にループが発生していることを検出する。
【００３７】
具体的には、ループ検出部１７は、ブロードキャスト・マルチキャスト異常判定部１３によってトラフィック量が第１の閾値を超えた受信ポートがあると判定された場合に、ネットワークの転送経路にループが発生していることを検出する。また、ループ検出部１７は、非ユニキャスト異常判定部１４によってトラフィック量が第２の閾値を超えた受信ポートがあると判定された場合に、ネットワークの転送経路にループが発生していることを検出する。また、ループ検出部１７は、受信ポート異常判定部１５によって第１の期間内で受信ポートが変わった回数が第３の閾値を超えた送信元ＭＡＣアドレスがあると判定された場合に、ネットワークの転送経路にループが発生していることを検出する。また、ループ検出部１７は、送信ポート異常判定部１６によって第２の期間内で送信ポートが変わった回数が第４の閾値を超えた送信元ＭＡＣアドレスがあると判定された場合に、ネットワークの転送経路にループが発生していることを検出する。
【００３８】
さらに、ループ検出部１７は、ブロードキャスト・マルチキャスト異常判定部１３、非ユニキャスト異常判定部１４、受信ポート異常判定部１５、及び送信ポート異常判定部１６によって抽出された受信ポート又は送信ポートの和集合を求める。そして、ループ検出部１７は、求めたポートの和集合をネットワークの転送経路に発生したループに関連する異常ポートとして検出する。
【００３９】
ここで、ブロードキャスト・マルチキャスト異常判定部１３によってトラフィック量が第１の閾値を超えた受信ポートがあると判定された場合、又は、非ユニキャスト異常判定部１４によってトラフィック量が第２の閾値を超えた受信ポートがあると判定された場合には、Ｌ２レイヤネットワーク２０、又は、Ｌ２レイヤネットワーク２０に隣接する他のネットワークにおいてループが発生したと判定できる。
【００４０】
そして、このような場合において、受信ポート異常判定部１５によって第１の期間内で受信ポートが変わった回数が第３の閾値を超えた送信元ＭＡＣアドレスがあると判定された場合、又は、送信ポート異常判定部１６によって第２の期間内で送信ポートが変わった回数が第４の閾値を超えた送信元ＭＡＣアドレスがあると判定された場合には、監視対象のブリッジ装置２１及び２４がループ経路上に存在していると判定できる。すなわち、この場合には、Ｌ２レイヤネットワーク２０内でループが発生していると判定できる。
【００４１】
これに対し、受信ポート異常判定部１５によって第１の期間内で受信ポートが変わった回数が第３の閾値を超えた送信元ＭＡＣアドレスがないと判定され、かつ、送信ポート異常判定部１６によって第２の期間内で送信ポートが変わった回数が第４の閾値を超えた送信元ＭＡＣアドレスがないと判定された場合には、監視対象のブリッジ装置２１及び２４がループ経路上に存在していないと判定できる。すなわち、この場合には、Ｌ２レイヤネットワーク２０に隣接する監視対象外のネットワークでループが発生していると判定できる。
【００４２】
なお、ループ検出部１７は、ループ検出部１７によってネットワークの転送経路にループが発生していることが検出された場合には、例えば、ループ検出装置１０が有する表示部に警告メッセージを出力したり、スピーカーから警告を発したりする。また、例えば、ループ検出部１７は、ループ検出部１７によって検出された異常ポートを示す情報を警告メッセージとともに表示部に出力する。
【００４３】
次に、本実施例に係るループ検出装置１０によるループ検出処理について、より具体的に説明する。まず、Ｌ２レイヤネットワーク２０の転送経路に発生したループにおけるフレームの流れについて説明する。図３は、本実施例に係るＬ２レイヤネットワーク２０の転送経路に発生したループにおけるフレームの流れを説明するための図である。図３は、図１に示したブリッジ装置２４〜２６からなるループを示している。
【００４４】
なお、ここでは一例として、ＭＡＣアドレスとしてＡＡ：ＡＡ：ＡＡ：ＡＡ：ＡＡ：ＡＡが付与されたネットワークインタフェースを有するＰＣ２７からＭＡＣアドレスとしてＸＸ：ＸＸ：ＸＸ：ＸＸ：ＸＸ：ＸＸが付与されたネットワークインタフェースを有する装置Ｘ（図示せず）宛にユニキャストフレームが転送される場合について説明する。また、ここでは、各ブリッジ装置のＭＡＣテーブルには、装置ＸのＭＡＣアドレスがまだ学習されていないこととする。また、図３において、ユニキャストフレームであるフレーム３０ａ〜３０ｄは、説明の便宜上異なる符合を付しているが、各フレームに設定されている内容は全て同じであるものとする。
【００４５】
まず、ＰＣ２７からフレーム３０ａが送信されると、送信されたフレーム３０ａは、Ｌ２レイヤネットワーク２０における直近のブリッジ装置２６のポートＡに転送される。ここで、例えば、ブリッジ装置２６は、ＢＢ：ＢＢ：ＢＢ：ＢＢ：ＢＢ：ＢＢが付与されたネットワークインタフェースを有する。
【００４６】
ブリッジ装置２６は、ポートＡでフレーム３０ａを受信すると、自身が学習済みのＭＡＣテーブルに装置ＸのＭＡＣアドレスが保持されているか否かを判定する。ここで、例えば、装置ＸのＭＡＣアドレスがＭＡＣテーブルに保持されていた場合には、ブリッジ装置２６は、ＭＡＣテーブルにおいてそのＭＡＣアドレスに対応付けられているポートからフレームを転送する。
【００４７】
しかし、ここでは、装置ＸのＭＡＣアドレスがまだＭＡＣテーブルに学習されていないこととしたので、ブリッジ装置２６は、自身が有するポートのうち、フレーム３０ａを受信したポートＡ以外の全てのポートにフレーム３０ｂを転送する。図３に示す例では、ブリッジ装置２６は、ポートＢ及びポートＣそれぞれから、装置ＸのＭＡＣアドレスが送信先ＭＡＣアドレスとして設定されたフレーム３０ｂを転送する。
【００４８】
ブリッジ装置２６のポートＢから転送されたフレーム３０ｂは、ブリッジ装置２６に隣接するブリッジ装置２４によって受信される。このとき、ブリッジ装置２４は、例えば、自身が有するポートＥでフレーム３０ｂを受信する。また、ブリッジ装置２６のポートＣから転送されたフレーム３０ｂは、ブリッジ装置２６に隣接するブリッジ装置２５によって受信される。このとき、ブリッジ装置２５は、例えば、自身が有するポートＤでフレーム３０ｂを受信する。
【００４９】
そして、ブリッジ装置２４及び２５もブリッジ装置２６と同様に、自身のＭＡＣテーブルにまだ装置ＸのＭＡＣアドレスを保持していないので、自身が有するポートのうち、フレーム３０ｂを受信したポート以外の全てのポートにフレームを転送する。これにより、ブリッジ装置２４のポートＧからブリッジ装置２５へフレーム３０ｃが転送され、ブリッジ装置２５のポートＦからブリッジ装置２４へフレーム３０ｃが転送される。
【００５０】
この後は、ブリッジ装置２４及び２５によって同様の動作が繰り返され、ブリッジ装置２４及び２５それぞれからブリッジ装置２６にフレーム３０ｄが転送される。この結果、ブリッジ装置２６から転送されたフレームは、ブリッジ装置２４及び２５を介して、ブリッジ装置２６に戻ってくることになる。このように、ネットワークの転送経路にループが発生した場合には、ループ内で同じフレームが延々と転送されることになる。
【００５１】
図３に示す例では、ループ検出装置１０は、ブリッジ装置２４からフロー情報を収集する。そして、ループ検出装置１０は、収集したフロー情報を用いて、ブリッジ装置２４〜２６によって形成されるループを検出する。
【００５２】
以下では、本実施例に係るループ検出装置１０によって実行されるループ検出処理の処理手順について説明する。図４は、本実施例に係るループ検出装置１０によって実行されるループ検出処理の処理手順を示すフローチャートである。ループ検出装置１０は、図４に示す一連の処理手順を所定の周期で繰り返し実行する。
【００５３】
図４に示すように、本実施例では、まず、ブロードキャスト・マルチキャスト異常判定部１３が、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、ブロードキャストフレーム又はマルチキャストフレームのトラフィック量を受信ポートごとに算出し、算出したトラフィック量が第１の閾値を超えた受信ポートがあるか否かを判定する（ステップＳ１０１）。
【００５４】
そして、トラフィック量が第１の閾値を超えた受信ポートがあった場合には（ステップＳ１０１，Ｙｅｓ）、ブロードキャスト・マルチキャスト異常判定部１３は、ブロードキャスト・マルチキャスト異常フラグに「１」を設定し、さらに、トラフィック量が第１の閾値を超えた受信ポートを抽出する（ステップＳ１０２）。一方、トラフィック量が第１の閾値を超えた受信ポートがなかった場合には（ステップＳ１０１，Ｎｏ）、ブロードキャスト・マルチキャスト異常判定部１３は、ブロードキャスト・マルチキャスト異常フラグへの値の設定や受信ポートの抽出を行わずに、非ユニキャスト異常判定部１４に制御を移す。
【００５５】
続いて、非ユニキャスト異常判定部１４が、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、ブロードキャストフレーム及びマルチキャストフレーム以外のフレームであって、同じ受信ポートで受信され、かつ、異なる送信ポートで送信されたフレームのトラフィック量を受信ポートごとに算出し、算出したトラフィック量が第２の閾値を超えた受信ポートがあるか否かを判定する（ステップＳ１０３）。
【００５６】
そして、トラフィック量が第２の閾値を超えた受信ポートがあった場合には（ステップＳ１０３，Ｙｅｓ）、非ユニキャスト異常判定部１４は、非ユニキャスト異常フラグに「１」を設定し、さらに、トラフィック量が第２の閾値を超えた受信ポートを抽出する（ステップＳ１０４）。一方、トラフィック量が第２の閾値を超えた受信ポートがなかった場合には（ステップＳ１０３，Ｎｏ）、非ユニキャスト異常判定部１４は、非ユニキャスト異常フラグへの値の設定や受信ポートの抽出を行わずに、受信ポート異常判定部１５に制御を移す。
【００５７】
続いて、受信ポート異常判定部１５が、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、送信元ＭＡＣアドレスが同じであって異なる受信ポートで受信されたフレームについて、あらかじめ決められた短い期間（第１の期間）内で受信ポートが変わった回数を送信元ＭＡＣアドレスごとに算出し、算出した回数が第３の閾値を超えた送信元ＭＡＣアドレスがあるか否かを判定する（ステップＳ１０５）。
【００５８】
そして、あらかじめ決められた短い期間（第１の期間）内で受信ポートが変わった回数が第３の閾値を超えた送信元ＭＡＣアドレスがあった場合には（ステップＳ１０５，Ｙｅｓ）、受信ポート異常判定部１５は、受信ポート異常フラグに「１」を設定し、さらに、受信ポートが変わった回数が第３の閾値を超えたフレームの受信ポートを抽出する（ステップＳ１０６）。
【００５９】
例えば、図３に示した例では、ループが発生した際に、特に、未学習のユニキャストフレームが転送される場合では、ＰＣ２７のＭＡＣアドレスが送信元ＭＡＣアドレスに設定されたフレーム３０ｂが、ブリッジ装置２６からブリッジ装置２４及び２５それぞれに転送される。このとき、ブリッジ装置２４は、ポートＥでフレーム３０ｂを受信する。また、ブリッジ装置２５は、ポートＤでフレーム３０ｂを受信する。
【００６０】
そして、次の段階に進むと、ブリッジ装置２４が、ブリッジ装置２６から受信したフレーム３０ｂをフレーム３０ｃとしてブリッジ装置２５へ転送する。このとき、ブリッジ装置２５は、ブリッジ装置２４から転送されたフレーム３０ｃをポートＦで受信する。また、この一方で、ブリッジ装置２５も、ブリッジ装置２６から受信したフレーム３０ｂをフレーム３０ｃとしてブリッジ装置２４へ転送する。このとき、ブリッジ装置２４は、ブリッジ装置２５から転送されたフレーム３０ｃをポートＧで受信する。
【００６１】
すなわち、図３に示した例では、ループが発生した場合に、ブリッジ装置２４及び２５それぞれが有するＭＡＣテーブルにおいて、ＰＣ２７のＭＡＣアドレスが送信元ＭＡＣアドレスに設定されたフレームの受信ポートが変更されることになる。受信ポート異常判定部１５は、このようにして受信ポートが変動する場合に、変動の前後における各受信ポートを抽出する。例えば、図３に示した例では、受信ポート異常判定部１５は、ブリッジ装置２４のポートＥ及びＧを抽出する。
【００６２】
一方、あらかじめ決められた短い期間（第１の期間）内で受信ポートが変わった回数が第３の閾値を超えた送信元ＭＡＣアドレスがなかった場合には（ステップＳ１０５，Ｎｏ）、受信ポート異常判定部１５は、受信ポート異常フラグへの値の設定や受信ポートの抽出を行わずに、送信ポート異常判定部１６に制御を移す。
【００６３】
続いて、送信ポート異常判定部１６が、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、送信先ＭＡＣアドレスが同じであって異なる送信ポートで送信されたユニキャストフレームについて、あらかじめ決められた短い期間（第２の期間）内で送信ポートが変わった回数を送信先ＭＡＣアドレスごとに算出し、算出した回数が第４の閾値を超えた送信元ＭＡＣアドレスがあるか否かを判定する（ステップＳ１０７）。
【００６４】
そして、あらかじめ決められた短い期間（第２の期間）内で送信ポートが変わった回数が第４の閾値を超えた送信元ＭＡＣアドレスがあった場合には（ステップＳ１０７，Ｙｅｓ）、送信ポート異常判定部１６は、送信ポート異常フラグに「１」を設定し、さらに、送信ポートが変わった回数が第４の閾値を超えたフレームの送信ポートを抽出する（ステップＳ１０８）。
【００６５】
例えば、図３に示した例では、ループが発生した際に、特に、未学習のユニキャストフレームが転送される場合では、ＰＣ２７のＭＡＣアドレスが送信元ＭＡＣアドレスに設定されたフレーム３０ｃが、ブリッジ装置２４からブリッジ装置２５に転送され、ブリッジ装置２５からブリッジ装置２４に転送される。このとき、ブリッジ装置２４は、ポートＧからフレーム３０ｃを送信する。また、ブリッジ装置２５は、ポートＦからフレーム３０ｃを送信する。
【００６６】
そして、次の段階に進むと、フレーム３０ｃと同じフレームであるフレーム３０ｄが、ブリッジ装置２４からブリッジ装置２６に転送され、ブリッジ装置２５からブリッジ装置２６に転送される。このとき、ブリッジ装置２４は、ポートＥからフレーム３０ｄを送信する。また、ブリッジ装置２５は、ポートＤからフレーム３０ｄを送信する。
【００６７】
すなわち、図３に示した例では、ループが発生した場合に、同じ送信先ＭＡＣアドレスが設定されたフレームの送信ポートが変動することになる。送信ポート異常判定部１６は、このようにして送信ポートが変動する場合に、変動の前後における各送信ポートを抽出する。例えば、図３に示した例では、送信ポート異常判定部１６は、ブリッジ装置２４のポートＥ及びＧを抽出する。
【００６８】
なお、送信ポートは、ループ検出装置１０における処理の負荷や実装によってＭＡＣテーブルの更新のタイミングがずれる可能性がある受信ポートに比べて、変動がフロー情報にすぐに反映される。したがって、受信ポートの変動チェックでループ関連ポートを抽出できなかった場合でも、異常ポートの抽出に失敗する可能性を減らすことができる。
【００６９】
一方、あらかじめ決められた短い期間（第２の期間）内で送信ポートが変わった回数が第４の閾値を超えた送信元ＭＡＣアドレスがなかった場合には（ステップＳ１０７，Ｎｏ）、送信ポート異常判定部１６は、送信ポート異常フラグへの値の設定や送信ポートの抽出を行わずに、ループ検出部１７に制御を移す。
【００７０】
なお、上述した処理の中で用いられるブロードキャスト・マルチキャスト異常フラグ、非ユニキャスト異常フラグ、受信ポート異常フラグ、及び、送信ポート異常フラグそれぞれに設定された値は、例えば、ループ検出装置１０が有するメモリなどに保持される。また、各フラグには、上述した処理が開始される前に、初期値として「０」が設定される。
【００７１】
続いて、ループ検出部１７が、ブロードキャスト・マルチキャスト異常判定部１３、非ユニキャスト異常判定部１４、受信ポート異常判定部１５、及び送信ポート異常判定部１６による判定結果に基づいて、ネットワークの転送経路にループが発生していることを検出する。
【００７２】
具体的には、ループ検出部１７は、メモリなどに保持されているブロードキャスト・マルチキャスト異常フラグ、非ユニキャスト異常フラグ、受信ポート異常フラグ、及び、送信ポート異常フラグそれぞれに設定された値を合計する。そして、各フラグに設定された値の合計が「０」を超えていた場合には（ステップＳ１０９，Ｙｅｓ）、ループ検出部１７は、ネットワークの転送経路にループが発生していることを検出し、さらに、ブロードキャスト・マルチキャスト異常判定部１３、非ユニキャスト異常判定部１４、受信ポート異常判定部１５、及び送信ポート異常判定部１６によって抽出された受信ポート又は送信ポートの和集合をネットワークの転送経路に発生したループに関連する異常ポートとして検出する（ステップＳ１１０）。一方、各フラグに設定された値の合計が「０」であった場合には（ステップＳ１０９，Ｎｏ）、ループ検出部１７は、Ｌ２レイヤネットワーク２０にループが発生しないことを検出し、ループ検出処理を終了する（ステップＳ１１１）。
【００７３】
なお、図３に示した例では、未学習ユニキャストフレームが転送される場合を示したが、ブロードキャストフレーム又はマルチキャストフレームが転送される場合も、ネットワークの転送経路に発生したループを同様に検出することができる。
【００７４】
また、ブロードキャスト・マルチキャスト異常判定部１３による判定処理、非ユニキャスト異常判定部１４による判定処理、受信ポート異常判定部１５による判定処理、及び、送信ポート異常判定部１６による判定処理が実行される順序は、必ずしも図４に示したものに限られない。４つの判定処理が実行される順序は、適宜に入れ替わってもよい。
【００７５】
また、ループ検出装置１０が複数の処理を並列に実行することが可能な場合には、４つの判定処理の一部又は全部が並列に実行されてもよい。その場合には、ループ検出部１７は、４つの判定処理の実行が全て完了した時点で、それぞれの判定結果に基づいて、ネットワークの転送経路にループが発生していることを検出する。
【００７６】
上述したように、本実施例では、フロー情報収集部１２が、ブリッジ装置２１及び２４によって転送されたフレームの受信ポート、送信ポート、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスを含んだフロー情報を単数又は複数のフレームごとにブリッジ装置２１及び２４から収集してフロー情報ＤＢ１１に蓄積する。また、ブロードキャスト・マルチキャスト異常判定部１３が、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、送信先ＭＡＣアドレスがブロードキャスト用又はマルチキャスト用のアドレスであるフロー情報を集計することで、ブロードキャストフレーム又はマルチキャストフレームのトラフィック量を受信ポートごとに算出し、算出したトラフィック量が第１の閾値を超えた受信ポートがあるか否かを判定する。そして、ループ検出部１７が、ブロードキャスト・マルチキャスト異常判定部１３によってトラフィック量が第１の閾値を超えた受信ポートがあると判定された場合に、ネットワークの転送経路にループが発生していることを検出する。すなわち、本実施例では、監視対象のブリッジ装置にあらかじめ搭載されたフロー計測機能によって配信されるフロー情報に基づいてループが検出される。したがって、本実施例によれば、ブリッジ装置にループ検出用の専用機能を追加することなく、ネットワークに発生したループを検出することが可能になる。
【００７７】
また、本実施例では、非ユニキャスト異常判定部１４が、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、全てのフレームに関するフロー情報を集計することで、同じ受信ポートで受信され、かつ、異なる送信ポートで送信されたフレームのトラフィック量を受信ポートごとに算出し、算出したトラフィック量が第２の閾値を超えた受信ポートがあるか否かを判定する。そして、ループ検出部１７が、非ユニキャスト異常判定部１４によってトラフィック量が第２の閾値を超えた受信ポートがあると判定された場合に、ネットワークの転送経路にループが発生していることを検出する。すなわち、本実施例では、ブロードキャストフレーム及びマルチキャストフレームのトラフィック量だけでなく、それ以外のフレームのトラフィック量に基づいて、ループが検出される。したがって、本実施例によれば、ネットワークに発生したループをより高い精度で検出することが可能になる。
【００７８】
また、本実施例では、受信ポート異常判定部１５が、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、送信元ＭＡＣアドレスが同じフロー情報ごとに受信ポートを比較することで、送信元ＭＡＣアドレスが同じであって異なる受信ポートで受信されたフレームについて第１の期間内で受信ポートが変わった回数を送信元ＭＡＣアドレスごとに算出し、算出した回数が第３の閾値を超えた送信元ＭＡＣアドレスがあるか否かを判定する。そして、ループ検出部１７が、受信ポート異常判定部１５によって第１の期間内で受信ポートが変わった回数が第３の閾値を超えた送信元ＭＡＣアドレスがあると判定された場合に、ネットワークの転送経路にループが発生していることを検出する。すなわち、本実施例では、監視対象のブリッジ装置が有する受信ポートの変動に基づいてループが検出される。したがって、本実施例によれば、監視対象のブリッジ装置がループ経路上にあることを検出することができる。
【００７９】
また、本実施例では、送信ポート異常判定部１６が、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、送信先ＭＡＣアドレスが同じフロー情報ごとに送信ポートを比較することで、送信先ＭＡＣアドレスが同じであって異なる送信ポートで送信されたユニキャストフレームについて第２の期間内で送信ポートが変わった回数を送信先ＭＡＣアドレスごとに算出し、算出した回数が第４の閾値を超えた送信元ＭＡＣアドレスがあるか否かを判定する。そして、ループ検出部１７が、送信ポート異常判定部１６によって第２の期間内で送信ポートが変わった回数が第４の閾値を超えた送信元ＭＡＣアドレスがあると判定された場合に、ネットワークの転送経路にループが発生していることを検出する。すなわち、本実施例では、監視対象のブリッジ装置が有する送信ポートの変動に基づいてループが検出される。したがって、本実施例によれば、監視対象のブリッジ装置がループ経路上にあることを検出することができる。
【００８０】
また、本実施例では、ブロードキャスト・マルチキャスト異常判定部１３が、あらかじめ設定された係数を過去の同じ時間におけるブロードキャストフレーム又はマルチキャストフレームのトラフィック量に乗じて得られる値を第１の閾値として用いる。すなわち、本実施例によれば、ブロードキャストフレーム又はマルチキャストフレームのトラフィック量が過去の同じ時間と比べて著しく増加した場合に、ループが検出される。したがって、本実施例によれば、ネットワークの転送経路にループが発生していることをより確実に検出することができる。
【００８１】
また、本実施例では、非ユニキャスト異常判定部１４が、あらかじめ設定された係数を過去の同じ時間におけるブロードキャストフレーム及びマルチキャストフレーム以外のフレームのトラフィック量に乗じて得られる値を第２の閾値として用いる。すなわち、本実施例によれば、ブロードキャストフレーム及びマルチキャストフレーム以外のフレームのトラフィック量が過去の同じ時間と比べて著しく増加した場合に、ループが検出される。したがって、本実施例によれば、ネットワークの転送経路にループが発生していることをより確実に検出することができる。
【００８２】
また、本実施例では、ブロードキャスト・マルチキャスト異常判定部１３が、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、送信先ＭＡＣアドレスがブロードキャスト用又はマルチキャスト用のアドレスであるフロー情報を集計することで、ブロードキャストフレーム又はマルチキャストフレームのトラフィック量を受信ポートごとに算出し、算出したトラフィック量が第１の閾値を超えた受信ポートを抽出する。また、非ユニキャスト異常判定部１４が、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、全てのフレームに関するフロー情報を集計することで、同じ受信ポートで受信され、かつ、複数の送信ポートで送信されたフレームのトラフィック量を受信ポートごとに算出し、算出したトラフィック量が第２の閾値を超えた受信ポートを抽出する。また、受信ポート異常判定部１５が、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、送信元ＭＡＣアドレスが同じであって異なる受信ポートで受信されたフレームについて第１の期間内で受信ポートが変わった回数を送信元ＭＡＣアドレスごとに算出し、算出した回数が第３の閾値を超えたフレームの受信ポートを抽出する。また、送信ポート異常判定部１６が、フロー情報ＤＢ１１に蓄積されたフロー情報を参照して、送信先ＭＡＣアドレスが同じフロー情報ごとに送信ポートを比較することで、送信先ＭＡＣアドレスが同じであって異なる送信ポートで送信されたユニキャストフレームについて第２の期間内で送信ポートが変わった回数を送信先ＭＡＣアドレスごとに算出し、算出した回数が第４の閾値を超えたフレームの送信ポートを抽出する。そして、ループ検出部１７が、ブロードキャスト・マルチキャスト異常判定部１３、非ユニキャスト異常判定部１４、受信ポート異常判定部１５及び送信ポート異常判定部１６によって抽出された受信ポート及び送信ポートの和集合をネットワークの転送経路に発生したループに関連する異常ポートとして検出する。したがって、本実施例によれば、ネットワークの転送経路に発生したループによって異常が発生しているループが検出されるので、操作者が迅速にループを解消することができるようになる。
【００８３】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８４】
例えば、本実施例では、Ｌ２レイヤネットワーク２０に含まれる各ブリッジ装置がそれぞれポートを有することとしたが、このポートは物理ポートに限られない。例えば、各ブリッジ装置が有するポートは、論理ポートや仮想ポートであってもよい。ここでいう論理ポートとは、例えば、ＶＬＡＮ  ＩＤを用いて論理的に実現されるポートである。
【００８５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８６】
例えば、本実施例では、ループ検出装置１０が、ブロードキャスト・マルチキャスト異常判定部１３による判定処理、非ユニキャスト異常判定部１４による判定処理、受信ポート異常判定部１５による判定処理、及び、送信ポート異常判定部１６による判定処理の全てを行うこととしたが、必ずしもこれら４つの判定処理の全てが行われなくてもよい。すなわち、ループ検出装置１０は、４つの判定処理のうち少なくとも１つを行えば、Ｌ２レイヤネットワークに発生したループを検出することができる。
【００８７】
また、上記実施例で説明したループ検出方法は、あらかじめ用意されたプログラムをコンピュータで実行することで実現することもできる。そこで、以下では、上記実施例で説明したループ検出方法を実現するループ検出プログラムを実行するコンピュータの一例を説明する。
【００８８】
図５は、本実施例に係るループ検出プログラムを実行するコンピュータ４０を示す図である。図５に示すように、コンピュータ４０は、例えば、メモリ４１と、ＣＰＵ（Central  Processing  Unit）４２と、ハードディスクドライブインタフェース４３と、ディスクドライブインタフェース４４と、シリアルポートインタフェース４５と、ビデオアダプタ４６と、ネットワークインタフェース４７とを有する。これらの各部は、バス４８によって接続される。
【００８９】
メモリ４１は、ＲＯＭ（Read  Only  Memory）４１ａおよびＲＡＭ（Random  Access  Memory）４１ｂを含む。ＲＯＭ４１ａは、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース４３は、ハードディスクドライブ４９に接続される。ディスクドライブインタフェース４４は、ディスクドライブ４４ａに接続される。ディスクドライブ４４ａには、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース４５には、例えば、マウス４５ａおよびキーボード４５ｂが接続される。ビデオアダプタ４６には、例えば、ディスプレイ４６ａが接続される。
【００９０】
ここで、図５に示すように、ハードディスクドライブ４９は、例えば、ＯＳ（Operating  System）４９ａ、アプリケーションプログラム４９ｂ、プログラムモジュール４９ｃおよびプログラムデータ４９ｄを記憶する。本実施例に係るループ検出プログラムは、例えば、コンピュータ４０によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ４９に記憶される。具体的には、上記実施例で説明したクラスタ形成部と同様の情報処理を実行するクラスタ分類手順、および、孤立データ組込部と同様の情報処理を実行する孤立データ組込手順が記述されたプログラムモジュールが、ハードディスクドライブ４９に記憶される。
【００９１】
また、上記実施例で説明したフロー情報ＤＢ１１などに記憶されるデータのように、ループ検出プログラムによる情報処理に用いられるデータは、例えば、ハードディスクドライブ４９に記憶される。そして、ＣＰＵ４２が、ハードディスクドライブ４９に記憶されたプログラムモジュールやプログラムデータを必要に応じてＲＡＭ４１ｂに読み出して、情報収集手順およびサービス決定手順を実行する。
【００９２】
なお、ループ検出プログラムに係るプログラムモジュールやプログラムデータは、ハードディスクドライブ４９に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ４４ａ等を介してＣＰＵ４２によって読み出されてもよい。あるいは、ループ検出プログラムに係るプログラムモジュールやプログラムデータは、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース４７を介してＣＰＵ４２によって読み出されてもよい。
【符号の説明】
【００９３】
１０  ループ検出装置
１１  フロー情報ＤＢ
１２  フロー情報収集部
１３  ブロードキャスト・マルチキャスト異常判定部
１４  非ユニキャスト異常判定部
１５  受信ポート異常判定部
１６  送信ポート異常判定部
１７  ループ検出部
【図１】
0005508310.tif 000002
【図２】
0005508310.tif 000003
【図３】
0005508310.tif 000004
【図４】
0005508310.tif 000005
【図５】
0005508310.tif 000006