(57)【要約】【課題】通信装置の接続関係が分かっていない場合でもネットワーク構成を可視化することを可能にすること。【解決手段】トポロジ決定装置１は、ネットワークに含まれる複数の中継装置の各々から、送信元の通信装置情報および宛先の通信装置情報を含むフロー情報を取得する取得部２と、フロー情報に含まれる通信装置情報が一致するフロー情報を有する中継装置が同一グループに属するように、複数の中継装置を複数のグループのいずれかに分類する分類部３と、各グループに属する中継装置の情報を示す中継装置情報をグループ間で比較し、グループ間の差分情報を算出する算出部４と、算出された差分情報を用いて、ネットワークに含まれる複数の通信装置の接続関係を決定する決定部５と、を備える。【選択図】図１
2019145893.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに含まれる複数の中継装置の各々から、送信元の通信装置情報および宛先の通信装置情報を含むフロー情報を取得する取得部と、
前記フロー情報に含まれる通信装置情報が一致するフロー情報を有する中継装置が同一グループに属するように、前記複数の中継装置を複数のグループのいずれかに分類する分類部と、
各グループに属する中継装置の情報を示す中継装置情報をグループ間で比較し、グループ間の差分情報を算出する算出部と、
前記算出された差分情報を用いて、前記ネットワークに含まれる複数の通信装置の接続関係を決定する決定部と、を備えるトポロジ決定装置。
【請求項２】
前記決定部は、
前記算出された差分情報のうち、差分数が１つである差分情報を選択し、前記選択された差分情報の算出元である第１のグループおよび第２のグループにおいて、差分として算出された中継装置が、前記第１のグループの中継装置が有するフロー情報に含まれる通信装置情報および前記第２のグループの中継装置が有するフロー情報に含まれる通信装置情報のうち、通信装置情報が一致しない通信装置に接続される中継装置と決定し、
前記算出された差分情報に接続関係が決定された通信装置情報が含まれている場合、当該通信装置情報を除外した差分情報であって、差分数が１つである差分情報を選択し、前記第１のグループおよび前記第２のグループにおいて、差分として算出された中継装置が、前記第１のグループおよび前記第２のグループにおいて接続関係が最後に決定された中継装置に接続される中継装置として決定することを繰り返し行う、請求項１に記載のトポロジ決定装置。
【請求項３】
前記決定部は、前記算出された差分情報のうち、各グループに属する中継装置が有するフロー情報に含まれる通信装置情報のうち、いずれか１つが同一であるグループ間の差分情報を用いて、前記ネットワークに含まれる複数の通信装置の接続関係を決定する、請求項１または２に記載のトポロジ決定装置。
【請求項４】
前記取得部は、前記複数の通信装置の各々から前記フロー情報を取得し、
前記分類部は、前記複数の通信装置のうち前記フロー情報に含まれる通信装置情報と同一の通信装置情報が設定されていない通信装置を前記複数のグループのいずれかに分類する、請求項１〜３のいずれか１項に記載のトポロジ決定装置。
【請求項５】
前記フロー情報は、フローデータおよびパケットキャプチャ情報の少なくとも１つを含む、請求項１〜４のいずれか１項に記載のトポロジ決定装置。
【請求項６】
前記フローデータは、ｓＦｌｏｗおよびＮｅｔＦｌｏｗの少なくとも１つを含む、請求項５に記載のトポロジ決定装置。
【請求項７】
ネットワークに含まれる複数の中継装置の各々から、送信元の通信装置情報および宛先の通信装置情報を含むフロー情報を取得し、
前記フロー情報に含まれる通信装置情報が一致するフロー情報を有する中継装置が同一グループに属するように、前記複数の中継装置を複数のグループのいずれかに分類し、
各グループに属する中継装置の情報を示す中継装置情報をグループ間で比較し、グループ間の差分情報を算出し、
前記算出された差分情報を用いて、前記ネットワークに含まれる複数の通信装置の接続関係を決定する、トポロジ決定方法。
【請求項８】
ネットワークに含まれる複数の中継装置の各々から、送信元の通信装置情報および宛先の通信装置情報を含むフロー情報を取得することと、
前記フロー情報に含まれる通信装置情報が一致するフロー情報を有する中継装置が同一グループに属するように、前記複数の中継装置を複数のグループのいずれかに分類することと、
各グループに属する中継装置の情報を示す中継装置情報をグループ間で比較し、グループ間の差分情報を算出することと、
前記算出された差分情報を用いて、前記ネットワークに含まれる複数の通信装置の接続関係を決定することと、をコンピュータに実行させるトポロジ決定プログラム。
【請求項９】
複数の中継装置を含む複数の通信装置と、前記複数の通信装置を含むネットワークのネットワークトポロジを決定するトポロジ決定装置とを備え、
前記トポロジ決定装置は、
前記複数の中継装置の各々から、送信元の通信装置情報および宛先の通信装置情報を含むフロー情報を取得する取得部と、
前記フロー情報に含まれる通信装置情報が一致するフロー情報を有する中継装置が同一グループに属するように、前記複数の中継装置を複数のグループのいずれかに分類する分類部と、
各グループに属する中継装置の情報を示す中継装置情報をグループ間で比較し、グループ間の差分情報を算出する算出部と、
前記算出された差分情報を用いて、前記複数の通信装置の接続関係を決定する決定部と、を備える通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、トポロジ決定装置、トポロジ決定方法、トポロジ決定プログラムおよび通信システムに関する。
【背景技術】
【０００２】
昨今、ネットワークは大規模化および複雑化しており、ネットワークの全容を把握することが難しくなっている。そのため、ネットワークにおいて障害が発生した場合の障害箇所の特定やネットワークの設定変更時の影響範囲の特定等、ネットワークの運用管理という観点においてネットワーク可視化が重要である。ネットワーク可視化の手段の一つとしてネットワークトポロジが挙げられる。
【０００３】
上記のように、ネットワーク可視化は重要であることから、種々の技術が検討されている（例えば、特許文献１）。特許文献１には、複数のルータが属するネットワークを複数のサブネットワークに分類する。上記ルータは、自装置が有する各インタフェースに対して、送信元アドレスおよび宛先アドレスとの関係が記憶された情報を有する。輻輳経路検出装置は、複数のルータの各々から各ルータが記憶した情報を取得して、取得した情報に基づいて、サブネットワーク同士の関連性を調査して、経路情報を決定することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２７８７１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された技術では、輻輳経路検出装置は、各ルータが有する各インタフェースに対して宛先アドレスが関連付けられた情報に基づいて経路情報を決定する。すなわち、特許文献１に開示された技術では、各ルータは、接続関係が予め分かっていることから、輻輳経路検出装置は、経路情報を決定することが可能である。しかしながら、特許文献１に開示された技術では、各ルータが、自装置に接続するルータの情報を記憶していない場合には、経路情報を決定することは難しい。すなわち、特許文献１に開示された技術を用いたとしても、ネットワーク構成の可視化を行うことが出来ない場合がある。
【０００６】
本開示の目的は、このような問題を解決するためになされたものであり、通信装置の接続関係が分かっていない場合でもネットワーク構成を可視化することが可能なトポロジ決定装置、トポロジ決定方法、トポロジ決定プログラムおよび通信システムを提供することである。
【課題を解決するための手段】
【０００７】
第１の態様にかかるトポロジ決定装置は、
ネットワークに含まれる複数の中継装置の各々から、送信元の通信装置情報および宛先の通信装置情報を含むフロー情報を取得する取得部と、
前記フロー情報に含まれる通信装置情報が一致するフロー情報を有する中継装置が同一グループに属するように、前記複数の中継装置を複数のグループのいずれかに分類する分類部と、
各グループに属する中継装置の情報を示す中継装置情報をグループ間で比較し、グループ間の差分情報を算出する算出部と、
前記算出された差分情報を用いて、前記ネットワークに含まれる複数の通信装置の接続関係を決定する決定部と、を備える。
【０００８】
第２の態様にかかるトポロジ決定方法は、
ネットワークに含まれる複数の中継装置の各々から、送信元の通信装置情報および宛先の通信装置情報を含むフロー情報を取得し、
前記フロー情報に含まれる通信装置情報が一致するフロー情報を有する中継装置が同一グループに属するように、前記複数の中継装置を複数のグループのいずれかに分類し、
各グループに属する中継装置の情報を示す中継装置情報をグループ間で比較し、グループ間の差分情報を算出し、
前記算出された差分情報を用いて、前記ネットワークに含まれる複数の通信装置の接続関係を決定する、トポロジ決定方法である。
【０００９】
第３の態様にかかるトポロジ決定プログラムは、
ネットワークに含まれる複数の中継装置の各々から、送信元の通信装置情報および宛先の通信装置情報を含むフロー情報を取得することと、
前記フロー情報に含まれる通信装置情報が一致するフロー情報を有する中継装置が同一グループに属するように、前記複数の中継装置を複数のグループのいずれかに分類することと、
各グループに属する中継装置の情報を示す中継装置情報をグループ間で比較し、グループ間の差分情報を算出することと、
前記算出された差分情報を用いて、前記ネットワークに含まれる複数の通信装置の接続関係を決定することと、をコンピュータに実行させるトポロジ決定プログラムである。
【００１０】
第４の態様にかかる通信システムは、
複数の中継装置を含む複数の通信装置と、前記複数の通信装置を含むネットワークのネットワークトポロジを決定するトポロジ決定装置とを備え、
前記トポロジ決定装置は、
前記複数の中継装置の各々から、送信元の通信装置情報および宛先の通信装置情報を含むフロー情報を取得する取得部と、
前記フロー情報に含まれる通信装置情報が一致するフロー情報を有する中継装置が同一グループに属するように、前記複数の中継装置を複数のグループのいずれかに分類する分類部と、
各グループに属する中継装置の情報を示す中継装置情報をグループ間で比較し、グループ間の差分情報を算出する算出部と、
前記算出された差分情報を用いて、前記複数の通信装置の接続関係を決定する決定部と、を備える通信システムである。
【発明の効果】
【００１１】
上述した態様によれば、通信装置の接続関係が分かっていない場合でもネットワーク構成を可視化することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態の概要にかかるトポロジ決定装置の構成例を示す構成図である。
【図２】実施の形態にかかる通信システムの概略を示す概略図である。
【図３】実施の形態にかかるトポロジ決定装置の構成例を示す構成図である。
【図４】フロー情報データベースを説明する図である。
【図５】グループ情報データベースを説明する図である。
【図６】トポロジデータベースを説明する図である。
【図７】実施の形態にかかるトポロジ決定装置の動作例を示すフローチャートである。
【図８】その他の実施の形態にかかるトポロジ決定装置の構成例を示す構成図である。
【図９】その他の実施の形態にかかるトポロジ決定装置の構成例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しつつ、実施形態について説明する。なお、実施形態において、同一の要素には、同一の符号を付し、重複する説明は省略される。
（実施の形態の概要）
まず、実施の形態に先立って、実施の形態の概要について説明する。図１を用いて、実施の形態の概要にかかるトポロジ決定装置１について説明する。図１は、実施の形態の概要にかかるトポロジ決定装置の構成例を示す構成図である。
【００１４】
トポロジ決定装置１は、ネットワークに接続された、複数の中継装置を含む複数の通信装置の接続関係を決定する通信装置である。トポロジ決定装置１は、例えば、サーバ、パーソナルコンピュータ等の通信装置であってもよい。トポロジ決定装置１は、取得部２と、分類部３と、算出部４と、決定部５と、を備える。
【００１５】
取得部２は、ネットワークに含まれる複数の中継装置の各々から、送信元の通信装置情報および宛先の通信装置情報を含むフロー情報を取得する。フロー情報は、フローデータであってもよい。もしくは、フロー情報は、例えば、通信において送受信されるパケットのフロー情報を取得するパケットキャプチャ等の情報であってもよい。また、フローデータは、ｓＦｌｏｗ、ＮｅｔＦｌｏｗであってもよい。
【００１６】
分類部３は、取得部２が取得したフロー情報に基づいて、フロー情報に含まれる通信装置情報が一致するフロー情報を有する中継装置が同一グループに属するように、複数の中継装置を複数のグループのいずれかに分類する。
【００１７】
算出部４は、各グループに属する中継装置の情報を示す中継装置情報をグループ間で比較し、グループ間の差分情報を算出する。
決定部５は、算出部４が算出した差分情報を用いて、ネットワークに含まれる複数の通信装置の接続関係を決定する。
【００１８】
以上説明したように、取得部２は複数の中継装置の各々からフロー情報を取得する。分類部３は、取得部２が取得したフロー情報に基づいて、複数の中継装置を複数のグループに分類する。算出部４は、分類されたグループに含まれる中継装置情報を用いて、グループ間の差分情報を算出する。決定部５は、算出された差分情報を用いて、複数の通信装置の接続関係を決定する。そのため、実施の形態の概要にかかるトポロジ決定装置１を用いることにより、通信装置の接続関係が分かっていない場合でもネットワーク構成を可視化することが可能となる。
【００１９】
（実施の形態）
以下、図面を参照して、本開示の実施の形態の詳細について説明する。
＜通信システムの構成例＞
まず、図２を用いて、実施の形態にかかる通信システム１００について説明する。図２は、実施の形態にかかる通信システムの概略を示す概略図である。
【００２０】
通信システム１００は、トポロジ決定装置１０と、計算機装置２１〜２８と、中継装置２９〜４５と、基幹サーバ５０と、ネットワーク６０および７０と、を備える。計算機装置２１〜２８、中継装置２９〜４５、および基幹サーバ５０は、他の装置と接続および通信を行う。そのため、計算機装置２１〜２８、中継装置２９〜４５、および基幹サーバ５０は、通信装置とも言える。なお、以降の説明において、計算機装置２１〜２８、中継装置２９〜４５、および基幹サーバ５０を総称して、通信装置と記載することがある。また、中継装置２９〜４５は、それぞれ、スイッチＥ〜スイッチＩまたはＳＷ  Ｅ〜ＳＷ  Ｉと称して記載することがある。中継装置４３〜４５は、それぞれ、ルータＡ、Ｑ、ＰまたはＲｏｕｔｅｒＡ、Ｑ、Ｐと称して記載することがある。
【００２１】
通信システム１００は、ルータＡを頂点とするツリー型ネットワークを形成している。ツリー型ネットワークにおいて、ルータＡは第１階層に存在し、スイッチＢ、Ｉは第２階層に存在する。スイッチＣ、Ｄ、ＪおよびＫは第３階層に存在し、スイッチＥ、Ｆ、Ｇ、Ｈ、Ｌ、Ｍ、ＮおよびＯは第４階層に存在する。さらに、計算機装置２１〜２８は、第５階層に存在する。
【００２２】
通信システム１００は、スイッチＢ〜Ｈ、および計算機装置２１〜２４から構成されるツリー型ネットワークを形成し、スイッチＩ〜Ｏ、および計算機装置２５〜２８から構成されるツリー型ネットワークを形成しているとも言える。つまり、通信システム１００は、２つのツリートポロジが連なっているネットワークを形成するとも言える。なお、通信システム１００が形成するネットワークは、ツリー型ネットワークに限られず、例えば、リング型、メッシュ型、スター型、フルコネクト型、バス型などのネットワークであってもよい。
【００２３】
図２に示すように、実線で記載されている通信装置は、接続関係にあることを示している。一例として、ルータＡには、ルータＱ、スイッチＢ、Ｉ、およびトポロジ決定装置１０が接続されていることを示している。また、スイッチＢは、ルータＡ、スイッチＣおよびＤと接続されていることを示している。ルータＱには基幹サーバ５０が接続されていることを示している。通信装置間の接続は、有線回線を介して接続されていてもよいし、無線回線により接続されていてもよいし、有線回線と無線回線との組み合わせにより接続されていてもよい。
【００２４】
トポロジ決定装置１０は、実施の形態の概要にかかるトポロジ決定装置１に対応する。トポロジ決定装置１０は、例えば、サーバ、パーソナルコンピュータ等の通信装置であってもよい。トポロジ決定装置１０は、通信システム１００が形成するネットワークに含まれる通信装置からフローデータを収集し、収集したフローデータを用いて、通信装置の接続関係を決定し、ネットワークトポロジを決定する。
【００２５】
トポロジ決定装置１０は、通信システム１００が形成するネットワークに新たな計算機装置または中継装置が接続された場合に、ネットワークトポロジを決定してもよい。もしくは、トポロジ決定装置１０は、通信システム１００が形成するネットワークに接続している計算機装置または中継装置が接続を解除した場合に、ネットワークトポロジを決定してもよい。もしくは、トポロジ決定装置１０は、定期的にネットワークトポロジを決定してもよい。もしくは、トポロジ決定装置１０は、通信システム１００の運用者または管理者からの要求に応じて、ネットワークトポロジを決定してもよい。
【００２６】
計算機装置２１〜２８は、自装置に接続する通信装置と通信を行う。また、計算機装置２１〜２８は、自装置に接続する通信装置を介して、他の通信装置と通信を行う。計算機装置２１〜２８は、例えば、パーソナルコンピュータ、サーバ、携帯電話、スマートフォン、タブレット型端末、サーバ等の通信装置であってもよい。図２に示すように、計算機装置２１〜２８には、ＩＰアドレスが設定されている。具体的には、計算機装置２１〜２８のそれぞれには、１９２．１６８．１０．２５〜１９２．１６８．１０．３８のＩＰアドレスが設定されている。
【００２７】
中継装置２９〜４５は、２つの通信装置の間の通信を中継する装置である。中継装置２９〜４５は、例えば、ルータ、スイッチ等であってもよい。本実施の形態においては、上述したように、中継装置２９〜４２はスイッチであり、中継装置４３〜４５はルータであるとして説明を行う。なお、中継装置２９〜４５のそれぞれにもＩＰアドレスが設定されているが、任意のＩＰアドレスが設定されていればよい。
【００２８】
基幹サーバ５０は、例えば、ＤＨＣＰ（Dynamic Host Configuration Protocol）サーバ、ＤＮＳ（Domain Name System）サーバ等の通信装置である。基幹サーバ５０は、計算機装置２１〜２８からアクセスが集中するサーバである。図２に示すように、基幹サーバ５０には、ＩＰアドレスが設定されており、１９２．１６８．２０．５０のＩＰアドレスが設定されている。
【００２９】
計算機装置２１〜２８、中継装置２９〜４５および基幹サーバ５０は、２つの通信装置間において通信が行われた場合、送信元の通信装置情報と、宛先（送信先）の通信装置情報と、を含むフロー情報を記録して保持する。通信装置情報は、例えば、ＩＰ（Internet Protocol）アドレス、ＭＡＣ（Media Access Control）アドレスであってもよい。もしくは、通信装置情報は、通信装置を識別するＩＤ（Identifier）等であってもよい。フロー情報は、例えば、フローデータであってもよいし、通信において送受信されるパケットのフロー情報を取得するパケットキャプチャ等の情報であってもよい。また、フローデータは、ｓＦｌｏｗであってもよく、ＮｅｔＦｌｏｗであってもよい。なお、以降の説明においては、通信装置情報はＩＰアドレスとし、フロー情報はフローデータであるとして説明を行う。
【００３０】
ネットワーク６０および７０は、ルータＡを頂点とするツリー型ネットワークに接続する外部ネットワークである。ネットワーク６０および７０は、例えば、インターネット、ＬＡＮ（Local Area Network）等であってもよい。通信システム１００に含まれる各通信装置は、他のネットワークに含まれる通信装置と通信を行う場合、ネットワーク６０および７０を介して通信を行う。
【００３１】
＜トポロジ決定装置の構成例＞
続いて、図３を用いて、トポロジ決定装置１０の構成例について説明する。図３は、実施の形態にかかるトポロジ決定装置の構成例を示す構成図である。トポロジ決定装置１０は、取得部１１と、分類部１２と、算出部１３と、決定部１４と、記憶部１５と、を備える。
【００３２】
取得部１１は、通信システム１００に含まれる通信装置と通信を行う通信インタフェースである。取得部１１は、通信システム１００に含まれる通信装置と通信を行う通信インタフェースであるので通信部とも言える。取得部１１は、各通信装置（計算機装置２１〜２８、中継装置２９〜４５および基幹サーバ５０）からフローデータを取得する。取得部１１は、取得したフローデータを、後述する記憶部１５のフロー情報データベースＤ１に格納する。フローデータには、現在までに送受信したフローデータの送信元ＩＰアドレスおよび宛先ＩＰアドレスが設定されている。
【００３３】
ここで、図４を用いて、フロー情報データベースＤ１について説明する。図４は、フロー情報データベースを説明する図である。フロー情報データベースＤ１には、取得部１１が取得したフローデータが記憶される。図４に示すように、フロー情報データベースＤ１には、装置情報、送信元ＩＰアドレスおよび宛先ＩＰアドレスが関連付けて設定される。
【００３４】
装置情報には、フローデータの取得元の通信装置を識別する情報が設定される。装置情報は、装置名であってもよいし、ＩＰアドレスであってもよいし、ＭＡＣアドレスであってもよい。もしくは、装置情報は、フローデータの取得元の通信装置を識別するＩＤであってもよい。本実施の形態においては、装置情報は、装置名として説明を行う。
【００３５】
送信元ＩＰアドレスには、フローデータに設定されている送信元ＩＰアドレスが設定される。
宛先ＩＰアドレスには、フローデータに設定されている宛先ＩＰアドレスが設定される。
【００３６】
図２に戻り、分類部１２について説明を行う。分類部１２は、送信元ＩＰアドレスおよび宛先ＩＰアドレスの２つのＩＰアドレスが同一であるフローデータを有する通信装置が同一グループに属するように、複数の通信装置をいずれかのグループに分類する。分類部１２は、いずれかのグループに分類する際、フローデータの送信元ＩＰアドレスおよび宛先ＩＰアドレスと同一のＩＰアドレスが設定されている通信装置を除外した通信装置をいずれかのグループに分類する。すなわち、分類部１２は、複数の通信装置をいずれかのグループに分類する際、フローデータの送信元ＩＰアドレスが設定された通信装置とフローデータの宛先ＩＰアドレスが設定された通信装置との間に配置される通信装置をいずれかのグループに分類する。
【００３７】
分類部１２は、取得したフローデータのうち、送信元ＩＰアドレスおよび宛先ＩＰアドレスの２つのＩＰアドレスが同一であるフローデータを検索する。分類部１２は、検索されたフローデータを有する通信装置を同一グループに属する通信装置として分類する。分類部１２は、各グループに対して、グループのＩＤを表すフローＩＤを設定し、検索されたフローデータを有する通信装置のうち、上記２つのＩＰアドレスと一致しない通信装置を通過装置として、フローＩＤと関連付けて分類する。すなわち、分類部１２は、検索されたフローデータを有する通信装置のうち、上記２つのＩＰアドレスに対応する通信装置の間に配置された通信装置を、いずれかのグループに分類する。また、分類部１２は、検索されたフローデータに含まれる送信元ＩＰアドレスおよび宛先ＩＰアドレスのそれぞれを、通信端点１および通信端点２としてフローＩＤと関連付ける。換言すると、通過装置は、通信端点１に対応する通信装置と、通信端点２に対応する通信装置との間に配置される通信装置である。ただし、この時点では、通過装置は、通信端点１と通信端点２との間に配置されることが分かるのみであり、通過装置の接続関係は分からない。つまり、この時点では、ネットワークトポロジを決定することが出来ない。分類部１２は、フローＩＤと、通信端点１と、通信端点２と、通過装置と、を関連付けて、後述する記憶部１５のグループ情報データベースＤ２に格納する。
【００３８】
ここで、図５を用いて、グループ情報データベースＤ２について説明を行う。図５は、グループ情報データベースを説明する図である。グループ情報データベースＤ２には、分類部１２が分類したグループＩＤを表すフローＩＤ、通信端点１、通信端点２および通過装置が関連付けて設定される。
【００３９】
フローＩＤには、分類部１２が分類したグループＩＤを表すフローＩＤが設定される。
通信端点１には、各グループに含まれる通信装置が有するフローデータの送信元ＩＰアドレスが設定される。
通信端点２には、各グループに含まれる通信装置が有するフローデータの宛先ＩＰアドレスが設定される。なお、通信端点１と通信端点２とに設定される情報は逆であってもよい。
通過装置には、各グループに含まれる通過装置が設定される。
【００４０】
次に、図４および図５を用いて、分類部１２が行う分類処理の具体例を説明する。取得部１１が取得したフローデータが図４に示す情報であったとする。分類部１２は、フロー情報データベースＤ１に格納されたフローデータのうち、送信元ＩＰアドレスおよび宛先ＩＰアドレスの２つのＩＰアドレスが同一であるフローデータを検索する。そうすると、図４に示すように、分類部１２は、実線で囲まれたフローデータの集合であるフローデータ群と、点線で囲われたフローデータの集合であるフローデータ群とを検索する。
【００４１】
実線で囲まれたフローデータに含まれる送信元ＩＰアドレスおよび宛先ＩＰアドレスの２つのＩＰアドレスは同一である。そのため、分類部１２は、実線で囲まれた通信装置である、計算機装置２１、ルータＡ、ルータＱ、スイッチＢ、スイッチＣおよびスイッチＥを１つのグループとして分類する。この際、分類部１２は、当該グループに対してフローＩＤを設定し、送信元ＩＰアドレスを通信端点１とし、宛先ＩＰアドレスを通信端点２と決定して関連付ける。また、分類部１２は、実線で囲まれた通信装置である、計算機装置２１、ルータＡ、ルータＱ、スイッチＢ、スイッチＣおよびスイッチＥのうち、通信端点１および通信端点２のＩＰアドレスと同一である計算機装置２１を除外する。すなわち、分類部１２は、通信端点１および通信端点２のＩＰアドレスと同一ではないＩＰアドレスであるルータＡ、ルータＱ、スイッチＢ、スイッチＣおよびスイッチＥを通過装置として設定して、フローＩＤと関連付ける。そして、分類部１２は、関連付けた情報をグループ情報データベースＤ２に記憶する。
【００４２】
同様に、点線で囲まれたフローデータに含まれる送信元ＩＰアドレスおよび宛先ＩＰアドレスの２つのＩＰアドレスは同一である。そのため、分類部１２は、点線で囲まれた通信装置である、計算機装置２２、ルータＡ、ルータＱ、スイッチＢ、スイッチＣおよびスイッチＦを１つのグループとして分類する。この際、分類部１２は、当該グループに対してフローＩＤを設定し、送信元ＩＰアドレスを通信端点１とし、宛先ＩＰアドレスを通信端点２と決定して関連付ける。また、分類部１２は、実線で囲まれた通信装置である、計算機装置２２、ルータＡ、ルータＱ、スイッチＢ、スイッチＣおよびスイッチＦのうち、通信端点１および通信端点２のＩＰアドレスと同一である計算機装置２２を除外する。すなわち、分類部１２は、通信端点１および通信端点２のＩＰアドレスと同一ではないＩＰアドレスであるルータＡ、ルータＱ、スイッチＢ、スイッチＣおよびスイッチＦを通過装置として設定して、フローＩＤと関連付ける。そして、分類部１２は、関連付けた情報をグループ情報データベースＤ２に記憶する。
【００４３】
そうすると、図５に示すように、複数の通信装置が複数のグループに分類される。各グループは、フローＩＤ、通信端点１、通信端点２および通過装置が関連付けられる。
ここで、分類部１２が、ルータＡ、ルータＱ、スイッチＢ、スイッチＣおよびスイッチＥのグループにフローＩＤ＃１を設定し、ルータＡ、ルータＱ、スイッチＢ、スイッチＣおよびスイッチＦのグループにフローＩＤ＃２を設定したとする。
【００４４】
そうすると、図５に示すように、フローＩＤ＃１には、通信端点１にフローデータ群の送信元ＩＰアドレスである１９２．１６８．１０．２５が設定され、通信端点２にフローデータ群の宛先ＩＰアドレスである１９２．１６８．２０．５が設定される。また、フローＩＤ＃１には、通過装置として、スイッチＥ、Ｃ、Ｂ、ＱおよびルータＡが設定される。
【００４５】
同様に、フローＩＤ＃２には、通信端点１にフローデータ群の送信元ＩＰアドレスである１９２．１６８．１０．２６が設定され、通信端点２にフローデータ群の宛先ＩＰアドレスである１９２．１６８．２０．５が設定される。また、フローＩＤ＃２には、通過装置として、スイッチＦ、Ｃ、Ｂ、ＱおよびルータＡが設定される。
【００４６】
なお、図５において、通信端点１および通信端点２には、装置名およびＩＰアドレスを記載しているが、説明を行う上で便宜的に装置名を記載している。実際は、通信端点１および通信端点２には、ＩＰアドレスのみが設定される。
【００４７】
図２に戻り、算出部１３の説明を行う。算出部１３は、各グループに設定された通過装置情報をグループ間で比較して、比較したグループ間の差分情報を算出する。具体的には、算出部１３は、通信端点１および２に設定した２つのＩＰアドレスのいずれかが同一であるグループを抽出し、抽出されたグループの通過装置をグループ間で比較して、比較したグループ間の差分情報を算出する。なお、算出部１３は、全てのグループに対して、通過装置情報をグループ間で比較して、比較したグループ間の差分情報を算出し、通信端点１および２に設定した２つのＩＰアドレスのいずれかが同一ではない差分情報を除外するようにしてもよい。
【００４８】
例えば、図５に示した例では、フローＩＤ＃１および＃２は、通信端点２のＩＰアドレスが１９２．１６８．２０．５０で同一であるため、算出部１３は、フローＩＤ＃１とフローＩＤ＃２の通過装置情報を比較して、差分情報を算出する。他のフローＩＤに対しても同様に、算出部１３は、通信端点１および２に設定した２つのＩＰアドレスのいずれかが同一であるグループを抽出し、抽出されたグループの通過装置をグループ間で比較して、比較したグループ間の差分情報を算出する。
【００４９】
決定部１４は、算出部１３が算出したグループ間の差分情報を用いて、通信システム１００が形成するネットワークのネットワークトポロジを決定する。
【００５０】
具体的には、決定部１４は、算出された差分情報のうち、差分数が１つである差分情報を選択する。決定部１４は、差分情報の算出元の２つのグループにおいて、差分として算出された通過装置が、２つのグループの通信端点１および通信端点２のＩＰアドレスのうち、ＩＰアドレスが一致しない通信装置に接続する通過装置と決定する。
【００５１】
次に、決定部１４は、算出された差分情報に接続関係が決定されたＩＰアドレスが含まれている場合、当該ＩＰアドレスを除外した差分情報であって、差分数が１つである差分情報を選択する。そして、決定部１４は、差分情報の算出元の２つのグループにおいて、差分として算出された通過装置が、当該２つのグループにおいて接続関係が最後に決定された通過装置に接続される通過装置として決定する。
【００５２】
決定部１４は、上記処理を繰り返し行うことにより、各グループにおいて、通信端点１および通信端点２のうち、一方の通信端点から他方の通信端点までの通信装置の接続関係を決定していく。決定部１４は、全ての差分情報を処理すると、全ての通信装置の接続関係を決定することが出来るので、通信システム１００のネットワークトポロジを決定することが出来る。決定部１４は、通信装置の接続関係を決定すると、トポロジデータベースＤ３に格納する。
【００５３】
ここで、図６を用いて、トポロジデータベースＤ３について説明する。図６は、トポロジデータベースを説明する図である。
図６に示すように、トポロジデータベースＤ３には、接続装置１および接続装置２が関連付けて設定される。
【００５４】
接続装置１および接続装置２には、装置名が設定され、接続装置１と接続装置２とが接続する装置であることを示す情報が設定される。例えば、２行目には接続装置１として計算機装置２０１が設定され、接続装置２にはスイッチＥが設定されており、計算機装置２０１とスイッチＥとが接続関係であることを示している。
【００５５】
なお、図６において、接続装置１および接続装置２には、装置名を記載しているが、説明を行う上で便宜的に装置名を記載している。実際は、接続装置１および接続装置２には、ＩＰアドレスが設定される。
【００５６】
次に、図２に戻り、記憶部１５について説明する。記憶部１５は、データの書き込みおよび読み込みを行い、データの管理を行う記憶部である。記憶部１５は、フロー情報データベースＤ１、グループ情報データベースＤ２およびトポロジデータベースＤ３を記憶する。
【００５７】
＜トポロジ決定装置の動作例＞
続いて、図７を用いて、トポロジ決定装置１０の動作例を説明する。図７は、実施の形態にかかるトポロジ決定装置の動作例を示すフローチャートである。なお、トポロジ決定装置の動作例を説明する際に、図４〜図６を用いて、具体例を挙げつつ説明する。また、前提として、図２の通信システム１００において、計算機装置（計算機装置２１〜２８）から基幹サーバ５０への通信が行われたと仮定して説明を行う。
【００５８】
まず、取得部１１は、各通信装置からフローデータを取得し、取得したフローデータをフロー情報データベースＤ１に格納し保存する（ステップＳ１）。
【００５９】
次に、分類部１２は、フロー情報データベースＤ１に格納されたフローデータを用いて、送信元ＩＰアドレスおよび宛先ＩＰアドレスの２つのＩＰアドレスが同一であるフローデータをグルーピングする（ステップＳ２）。
【００６０】
取得部１１が図４に示すフローデータを取得したとする。実線で示した枠内に設定された装置は、送信元ＩＰアドレスおよび宛先ＩＰアドレスの２つのＩＰアドレスが同一である。同様に、点線で示した枠内に設定された装置についても、送信元ＩＰアドレスおよび宛先ＩＰアドレスの２つのＩＰアドレスが同一である。そのため、分類部１２は、実線で示した枠内の情報を１つのグループに分類し、点線で示した枠内の情報を上記と異なるグループに分類する。そして、分類部１２は、各グループに対して、フローＩＤを設定する。さらに、分類部１２は、送信元ＩＰアドレスを通信端点１に設定し、宛先ＩＰアドレスを通信端点２に設定し、送信元ＩＰアドレスおよび宛先ＩＰアドレスの２つのＩＰアドレスが同一であるフローデータを有する通信装置を通過装置として設定する。なお、この際、分類部１２は、送信元ＩＰアドレスまたは宛先ＩＰアドレスと同一のＩＰアドレスを有する通信装置は、分類をする際に除外する。つまり、分類部１２は、送信元ＩＰアドレスおよび宛先ＩＰアドレスのいずれかと同一ではないＩＰアドレスを有する通信装置を分類する。図４に示した例では、計算機装置２１および計算機装置２２は、送信元ＩＰアドレスと同一のＩＰアドレスを有している。そのため、分類部１２は、計算機装置２１および計算機装置２２を除いた通信装置をグルーピングする。分類部１２は、グルーピングを行った結果を、グループ情報データベースＤ２に格納する。
【００６１】
分類部１２がグルーピングした結果が図５のようになったとする。そうすると、図５に示したように、図４における実線で示した情報をフローＩＤ＃１に設定し、図４における点線で示した情報をフローＩＤ＃２に設定する。このように分類することにより、ＩＰアドレス１９２．１６８．１０．２５から１９２．１６８．２０．５０への通信はルータＡ、ルータＱ、スイッチＢ、スイッチＣ、およびスイッチＥを通過しており、順番は不明であるが物理的に接続されていることが分かる。なお、図５において装置名が記載されているが、説明を行う上で便宜的に付与しており、実際はＩＰアドレスのみが設定される。
【００６２】
図７に戻り、トポロジ決定装置１０の動作例の説明を続ける。次に、トポロジ決定装置１０は、以降に説明するステップＳ３〜ステップＳ８を繰り返し実行する。トポロジ決定装置１０は、ステップＳ３〜ステップＳ８において、ステップＳ２で分類したグループ同士の通過装置の比較処理を行う。トポロジ決定装置１０は、分類された複数のグループのうちの１つを固定して、他の全てのグループと比較を繰り返し行う。トポロジ決定装置１０は、グループ同士の通過装置の比較をｎ回分行う。ここで、グループ同士の通過装置の比較の繰り返し数は、ステップＳ２において分類したグループのうち、通過装置情報数が一番多いグループの通過装置数になる。図５に示した一例では、通過装置の数が一番多いのは、フローＩＤが＃９であり、通過装置数は７であるので、トポロジ決定装置１０は、７回分の比較処理を行う。
【００６３】
ステップＳ３において、算出部１３は、比較する２つのグループの送信元および宛先ＩＰアドレスに注目し、２つのグループにおける２つの通信端点のＩＰアドレスのうちの１つが同一であるか否かを判定する（ステップＳ３）。ここで、２つの通信端点のいずれかが同一であることは、通信の末端に存在する通信装置のＩＰアドレスが同じであることを意味する。
【００６４】
ステップＳ４に進むグループは、送信元ＩＰアドレスがＸである２つのグループ、宛先ＩＰのＩＰアドレスがＸである２つのグループ、送信元ＩＰアドレスがＸのグループと宛先ＩＰアドレスがＸのグループとであるグループである。図５に示す一例においては、フローＩＤ＃１およびフローＩＤ＃とは、２つの通信端点のうち１つが同一ＩＰアドレス（１９２．１６８．２０．５０）である。そのため、フローＩＤ＃１およびフローＩＤ＃２を比較するとステップＳ３のＹＥＳに該当するのでステップＳ４に進む。
【００６５】
一方、２つの通信端点が異なるグループである場合（ステップＳ３のＮＯ）、ステップＳ４〜ステップＳ８は実行しない。
【００６６】
次に、算出部１３は、２つの通信端点のうちの１つが同一であるグループ同士に対して、通過装置情報の差分情報を算出する（ステップＳ４）。
図５に示すように、フローＩＤ＃１とフローＩＤ＃２とは２つの通信端点のうちの１つが同一であるので、算出部１３は、フローＩＤ＃１とフローＩＤ＃３との通過装置情報を比較し、通過装置情報の差分情報を算出する。フローＩＤ＃１とフローＩＤ＃２との通過装置情報を算出すると、差分数は１つとなり、差分情報は、フローＩＤ＃１ではスイッチＥとなり、フローＩＤ＃２ではスイッチＦとなる。
【００６７】
次に、決定部１４は、ステップＳ４において算出した通過装置情報の差分数が、グループ間の比較処理の回数と同じであるかを判定する（ステップＳ５）。例えば、グループ間の比較処理が１回目の比較処理である場合、決定部１４は、通過装置情報の差分数が１であるかを判定する。また、グループ間の比較処理が２回目の比較処理である場合、決定部１４は、通過装置情報の差分数が２であるかを判定する。
【００６８】
ステップＳ５において、通過装置情報の差分が、グループ間の通過装置情報の比較処理の回数と同じである場合（ステップＳ５のＹＥＳ）、ステップＳ６に進む。例えば、１回目の繰り返し処理（ｎ＝１）の場合であって、図５のフローＩＤ＃１およびフローＩＤ＃２の比較の場合、通過装置情報の差分数は１つとなるので、ステップＳ５のＹＥＳに該当し、ステップＳ６に進む。
【００６９】
一方、通過装置情報の差分が、グループ間の通過装置情報の比較処理の回数と同じでは無い場合（ステップＳ５のＮＯ）、ステップＳ６〜ステップＳ８は実行しない。
【００７０】
次に、決定部１４は、算出した差分情報の中に、接続関係が決定された通信装置がある場合は、算出された差分情報から除外する（ステップＳ６）。具体的には、決定部１４は、トポロジデータベースＤ３を参照して、２つの通信端点のうち同じＩＰアドレスではない通信端点から順に接続関係が決定された通信装置情報を取得する。そして、決定部１４は、ステップＳ５において算出した通過装置情報の差分情報に、接続関係が決定された通信装置が含まれる場合、接続関係が決定された通信装置を差分情報から除外する。この際、決定部１４は、比較対象の２つのグループのそれぞれに対して、接続関係が決定された通信装置情報のうち、最後に接続関係が決定された通信装置を保持しておく。接続関係が決定された通信装置が無い場合は、決定部１４は、２つの通信端点のうち、同じＩＰアドレスではない通信端点のＩＰアドレスの通信装置を、比較対象の２つのグループのそれぞれにおける、最後に接続関係が決定された通信装置として保持する。また、決定部１４は、差分情報として算出されなかった通信装置の接続関係は考慮しない。
【００７１】
次に、決定部１４は、ステップＳ６において、接続関係が決定された通信装置を除外したことにより、通過装置情報の差分数が１つであるかを判定する（ステップＳ７）。通過装置情報の差分数が１つである場合（ステップＳ７のＹＥＳ）、ステップＳ８に進む。一方、通過装置情報の差分数が１つではない場合（ステップＳ７のＮＯ）、ステップＳ８を実行しない。
【００７２】
ここで、ステップＳ７において比較をしている２つのグループの通信端点のうちの１つは同一である。そして、通過装置情報の差分が１つであるということは、差分情報として算出された通過装置は、最後に接続関係が決定された通信装置に接続される通信装置となる。
【００７３】
そのため、決定部１４は、差分情報として算出された通過装置が、最後に接続関係が決定された通信装置に接続される通信装置と決定する（ステップＳ８）。具体的には、決定部１４は、ステップＳ６において、トポロジデータベースＤ３を参照して、２つの通信端点のうち同じＩＰアドレスではない通信端点から順に接続関係が決定された通信装置を取得している。そのため、決定部１４は、差分情報として算出された通信装置が、最後に接続された通信装置に接続される通信装置と決定する。決定部１４は、接続関係を決定すると、トポロジデータベースＤ３の接続装置１および接続装置２に接続関係が決定された２つの通信装置のＩＰアドレスを設定する。
【００７４】
例えば、ｎ＝１の比較であって、フローＩＤ＃１とフローＩＤ＃２とを比較した場合、通過装置情報の差分は、フローＩＤ＃１においてはスイッチＥであり、フローＩＤ＃２においてはスイッチＦである。決定部１４は、ステップＳ６において、最後に接続関係が決定された通信装置として、フローＩＤ＃１においては計算機装置２１として、フローＩＤ＃２においては計算機装置２２として保持している。そのため、決定部１４は、フローＩＤ＃１において、スイッチＥが計算機装置２１に接続される通信装置であると決定し、トポロジデータベースＤ３に当該２つの通信装置の接続関係を格納する。同様に、決定部１４は、フローＩＤ＃２において、スイッチＦが計算機装置２２に接続される通信装置であると決定し、トポロジデータベースＤ３に当該２つの通信装置の接続関係を格納する。
【００７５】
グループ間の通過装置情報の１回目の比較処理（ｎ＝１）の場合、ステップＳ８までの処理が終了すると、以下の接続関係が決定される。ここで、「−（ハイフン）」で接続された通信装置は、接続関係にあるということを示している。
フローＩＤ＃１：計算機装置２１−ＳＷ  Ｅ
フローＩＤ＃２：計算機装置２２−ＳＷ  Ｆ
フローＩＤ＃３：計算機装置２３−ＳＷ  Ｇ
フローＩＤ＃４：計算機装置２４−ＳＷ  Ｈ
フローＩＤ＃５：計算機装置２５−ＳＷ  Ｌ
フローＩＤ＃６：計算機装置２６−ＳＷ  Ｍ
フローＩＤ＃７：計算機装置２７−ＳＷ  Ｎ
フローＩＤ＃８：計算機装置２８−ＳＷ  Ｏ
【００７６】
次に、トポロジ決定装置１０は、ｎの値を１つインクリメントして、２回目の比較処理を行う。ｎ＝２の場合、ステップＳ５において、決定部１４は、通過装置情報の差分数が２となるグループを選択する。図５に示した一例では、例えば、フローＩＤ＃１およびフローＩＤ＃３の通過装置情報の差分数が２であるため、決定部１４は、当該フローＩＤを選択する。また、フローＩＤ＃１およびフローＩＤ＃３の通過装置情報の差分情報は、フローＩＤ＃１においては、スイッチＥおよびスイッチＣであり、フローＩＤ＃３においては、スイッチＧおよびスイッチＤである。
【００７７】
次に、ステップＳ６において、決定部１４は、フローＩＤ＃１およびフローＩＤ＃３の接続関係をトポロジデータベースＤ３から取得して、接続関係が決定された通信装置情報を差分情報から除外する。フローＩＤ＃１において、計算機装置２１とスイッチＥとの接続関係が決定されている。また、フローＩＤ＃３においては、計算機装置２３とスイッチＧとの接続関係が決定されている。そのため、決定部１４は、フローＩＤ＃１においてはスイッチＥを差分情報から除外し、フローＩＤ＃３においてはスイッチＧを差分情報から除外する。そうすると、フローＩＤ＃１およびフローＩＤ＃３の通過装置情報の差分数は１つずつとなるため、ステップＳ７の判定はＹＥＳとなり、ステップＳ８に進む。
【００７８】
次に、ステップＳ８において、決定部１４は、差分情報として算出されたスイッチＣおよびスイッチＤの接続関係を決定する。具体的には、決定部１４は、フローＩＤ＃１においてスイッチＣはスイッチＥと接続されると決定し、フローＩＤ＃３においてスイッチＤはスイッチＧと接続されると決定する。
【００７９】
グループ間の通過装置情報の２回目の比較処理（ｎ＝２）の場合、ステップＳ８までの処理が終了すると、以下の接続関係が決定される。
フローＩＤ＃１：計算機装置２１−ＳＷ  Ｅ−ＳＷ  Ｃ
フローＩＤ＃２：計算機装置２２−ＳＷ  Ｆ−ＳＷ  Ｃ
フローＩＤ＃３：計算機装置２３−ＳＷ  Ｇ−ＳＷ  Ｄ
フローＩＤ＃４：計算機装置２４−ＳＷ  Ｈ−ＳＷ  Ｄ
フローＩＤ＃５：計算機装置２５−ＳＷ  Ｌ−ＳＷ  Ｊ
フローＩＤ＃６：計算機装置２６−ＳＷ  Ｍ−ＳＷ  Ｊ
フローＩＤ＃７：計算機装置２７−ＳＷ  Ｎ−ＳＷ  Ｋ
フローＩＤ＃８：計算機装置２８−ＳＷ  Ｏ−ＳＷ  Ｋ
【００８０】
次に、トポロジ決定装置１０は、ｎの値を１つインクリメントして、３回目の比較処理を行う。ｎ＝３の場合、例えば、フローＩＤ＃２およびフローＩＤ＃７は、３つの通過装置が差分となるため、比較を行うグループとして比較処理が行われる。
【００８１】
フローＩＤ＃２については、計算機装置２２−ＳＷ  Ｆ−ＳＷ  Ｃが接続されていることが決定されている。また、フローＩＤ＃７については、計算機装置２７−ＳＷ  Ｎ−ＳＷ  Ｋが接続されていることが決定されている。そのため、フローＩＤ＃２においては、スイッチＢが差分情報として算出され、フローＩＤ＃７においては、スイッチＩが差分情報として算出される。つまり、フローＩＤ＃１およびフローＩＤ＃７の差分数は１つずつであるため、決定部１４は、スイッチＢおよびスイッチＩの接続関係を決定する。
【００８２】
グループ間の通過装置情報の３回目の比較処理（ｎ＝３）の場合、ステップＳ８までの処理が終了すると、以下の接続関係が決定される。
フローＩＤ＃１：計算機装置２１−ＳＷ  Ｅ−ＳＷ  Ｃ−ＳＷ  Ｂ
フローＩＤ＃２：計算機装置２２−ＳＷ  Ｆ−ＳＷ  Ｃ−ＳＷ  Ｂ
フローＩＤ＃３：計算機装置２３−ＳＷ  Ｇ−ＳＷ  Ｄ−ＳＷ  Ｂ
フローＩＤ＃４：計算機装置２４−ＳＷ  Ｈ−ＳＷ  Ｄ−ＳＷ  Ｂ
フローＩＤ＃５：計算機装置２５−ＳＷ  Ｌ−ＳＷ  Ｊ−ＳＷ  Ｉ
フローＩＤ＃６：計算機装置２６−ＳＷ  Ｍ−ＳＷ  Ｊ−ＳＷ  Ｉ
フローＩＤ＃７：計算機装置２７−ＳＷ  Ｎ−ＳＷ  Ｋ−ＳＷ  Ｉ
フローＩＤ＃８：計算機装置２８−ＳＷ  Ｏ−ＳＷ  Ｋ−ＳＷ  Ｉ
【００８３】
トポロジ決定装置１０は、上記処理を、ｎを１ずつインクリメントして、通過装置数の最大値（図５の例ではｎ＝７）まで繰り返し行うことによって、通信システム１００が形成するネットワークのネットワークトポロジを決定する。
【００８４】
なお、接続順序が決定できない通信装置が含まれる場合は、接続順序が決定できない通信装置の集合をひとまとめにして接続関係を決定してもよい。例えば、計算機装置２１と基幹サーバ５０との間の通信において、ルータＡおよびルータＱの順番が確定できなかったとする。この場合、決定部１４は、計算機装置２１−ＳＷ  Ｅ−ＳＷ  Ｃ−ＳＷ  Ｂ−｛ＲｏｕｔｅｒＡ、ＲｏｕｔｅｒＱ｝−基幹サーバ５０のように、ひとまとめにして接続関係を決定してもよい。
【００８５】
以上説明したように、取得部１１は、複数の通信装置からフローデータを取得し、分類部１２が取得したフローデータを用いて、複数の通信装置を複数のグループのいずれかに分類する。算出部１３は、各グループの通過装置情報の差分情報を算出する。そして、決定部１４は、算出された差分情報を用いて、各グループにおける通信装置の接続関係を決定する。すなわち、実施の形態にかかるトポロジ決定装置１０を用いることにより、ネットワーク構成を可視化することが可能となる。
【００８６】
また、実施の形態にかかるトポロジ決定装置１０によれば、例えば、マルチベンダ環境においても適用することが可能となる。一般的に、ネットワーク構成を可視化する場合、ＬＬＤＰ（Link Layer Discovery Protocol）のような装置固有のプロトコルが用いられる。しかしながら、昨今の大規模ネットワークにおいては、マルチベンダのネットワーク装置により構成されることが想定される。そのため、ネットワークに含まれる通信装置の全てがＬＬＤＰに対応しているとは限らない。また、ネットワーク構成を可視化する場合、ネットワークトポロジを検出するための特殊なパケットを用いる技術も想定される。しかしながら、上記と同様の理由により、ネットワークに含まれる通信装置の全てが、ネットワークトポロジを検出するための特殊なパケットを用いる技術に対応しているとは限らない。一方、例えば、ｓＦｌｏｗやＮｅｔＦｌｏｗ等のフローデータおよびパケットキャプチャ情報は、どのベンダのネットワーク装置であっても対応している情報である。そのため、実施の形態にかかるトポロジ決定装置１０を用いることにより、ネットワークに含まれる通信装置に変更を加える必要がなく、ネットワーク構成を可視化することが可能となる。したがって、実施の形態にかかるトポロジ決定装置１０を用いることにより、開発費用を低減し、マルチベンダ環境にも適用が可能となる。
【００８７】
（変形例）
上述した実施の形態では、取得部１１は、ネットワークに含まれる通信装置からフローデータを取得する。そして、分類部１２が、複数の通信装置をいずれかのグループに分類する際に、フローデータの送信元ＩＰアドレスおよび宛先ＩＰアドレスと同一である通信装置を除外して分類を行うことで説明した。しかしながら、これに限られず、取得部１１は、ネットワークに含まれる通信装置のうち、中継装置のみからフローデータを取得するようにしてもよい。そして、分類部１２は、取得したフローデータに基づいて、複数の中継装置をいずれかのグループに分類するようにしてもよい。このようにしても、上述した実施の形態と同様の効果を有することが可能となる。
【００８８】
（その他の実施の形態）
（１）上述した実施の形態にかかるトポロジ決定装置１０は、表示部および配信部をさらに備えていてもよい。図８は、その他の実施の形態にかかるトポロジ決定装置の構成例を示す構成図である。トポロジ決定装置１０は、上述した実施の形態の構成に加えて、さらに表示部１６および配信部１７を備える。
【００８９】
表示部１６は、ディスプレイであり、決定部１４が決定したネットワークトポロジを表示する。表示部１６は、トポロジデータベースＤ３の内容を、そのまま表示してもよい。もしくは、表示部１６は、トポロジデータベースＤ３の内容に基づいて、図２に示したようなネットワーク構成図のようにネットワークトポロジを表示してもよい。
【００９０】
配信部１７は、通信インタフェースであって、決定部１４が決定したネットワークトポロジを配信する。配信部１７は、例えば、通信システム１００が形成するネットワークの管理者または運用者に定期的にネットワークトポロジを配信してもよい。
【００９１】
（２）上述した実施の形態にかかるトポロジ決定装置は、次のようなハードウェア構成を有していてもよい。図９は、上述した実施の形態において説明したトポロジ決定装置１および１０（以下、トポロジ決定装置１等と称する）の構成例を示すブロック図である。図９を参照すると、トポロジ決定装置１等は、ネットワーク・インターフェース１２０１、プロセッサ１２０２、及びメモリ１２０３を含む。ネットワーク・インターフェース１２０１は、通信システムを構成する他の通信装置と通信するために使用される。ネットワーク・インターフェース１２０１は、例えば、IEEE 802.11 seriesに準拠したネットワークインターフェースカード（NIC）を含んでもよい。
【００９２】
プロセッサ１２０２は、メモリ１２０３からソフトウェア（コンピュータプログラム）を読み出して実行することで、上述の実施形態においてフローチャートを用いて説明されたトポロジ決定装置１等の処理を行う。プロセッサ１２０２は、例えば、マイクロプロセッサ、MPU（Micro Processing Unit）、又はCPU（Central Processing Unit）であってもよい。プロセッサ１２０２は、複数のプロセッサを含んでもよい。
【００９３】
メモリ１２０３は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ１２０３は、プロセッサ１２０２から離れて配置されたストレージを含んでもよい。この場合、プロセッサ１２０２は、図示されていないI/Oインタフェースを介してメモリ１２０３にアクセスしてもよい。
【００９４】
図９の例では、メモリ１２０３は、ソフトウェアモジュール群を格納するために使用される。プロセッサ１２０２は、これらのソフトウェアモジュール群をメモリ１２０３から読み出して実行することで、上述の実施形態において説明されたトポロジ決定装置１等の処理を行うことができる。
【００９５】
図９を用いて説明したように、トポロジ決定装置１等が有するプロセッサの各々は、図面を用いて説明されたアルゴリズムをコンピュータに行わせるための命令群を含む１または複数のプログラムを実行する。
【００９６】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）を含む。さらに、非一時的なコンピュータ可読媒体の例は、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗを含む。さらに、非一時的なコンピュータ可読媒体の例は、半導体メモリを含む。半導体メモリは、例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory）を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００９７】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。
【００９８】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
ネットワークに含まれる複数の中継装置の各々から、送信元の通信装置情報および宛先の通信装置情報を含むフロー情報を取得する取得部と、
前記フロー情報に含まれる通信装置情報が一致するフロー情報を有する中継装置が同一グループに属するように、前記複数の中継装置を複数のグループのいずれかに分類する分類部と、
各グループに属する中継装置の情報を示す中継装置情報をグループ間で比較し、グループ間の差分情報を算出する算出部と、
前記算出された差分情報を用いて、前記ネットワークに含まれる複数の通信装置の接続関係を決定する決定部と、を備えるトポロジ決定装置。
（付記２）
前記決定部は、
前記算出された差分情報のうち、差分数が１つである差分情報を選択し、前記選択された差分情報の算出元である第１のグループおよび第２のグループにおいて、差分として算出された中継装置が、前記第１のグループの中継装置が有するフロー情報に含まれる通信装置情報および前記第２のグループの中継装置が有するフロー情報に含まれる通信装置情報のうち、通信装置情報が一致しない通信装置に接続される中継装置と決定し、
前記算出された差分情報に接続関係が決定された通信装置情報が含まれている場合、当該通信装置情報を除外した差分情報であって、差分数が１つである差分情報を選択し、前記第１のグループおよび前記第２のグループにおいて、差分として算出された中継装置が、前記第１のグループおよび前記第２のグループにおいて接続関係が最後に決定された中継装置に接続される中継装置として決定することを繰り返し行う、付記１に記載のトポロジ決定装置。
（付記３）
前記決定部は、前記算出された差分情報のうち、各グループに属する中継装置が有するフロー情報に含まれる通信装置情報のうち、いずれか１つが同一であるグループ間の差分情報を用いて、前記ネットワークに含まれる複数の通信装置の接続関係を決定する、付記１または２に記載のトポロジ決定装置。
（付記４）
前記取得部は、前記複数の通信装置の各々から前記フロー情報を取得し、
前記分類部は、前記複数の通信装置のうち前記フロー情報に含まれる通信装置情報と同一の通信装置情報が設定されていない通信装置を前記複数のグループのいずれかに分類する、付記１〜３のいずれか１項に記載のトポロジ決定装置。
（付記５）
前記フロー情報は、フローデータおよびパケットキャプチャ情報の少なくとも１つを含む、付記１〜４のいずれか１項に記載のトポロジ決定装置。
（付記６）
前記フローデータは、ｓＦｌｏｗおよびＮｅｔＦｌｏｗの少なくとも１つを含む、付記５に記載のトポロジ決定装置。
（付記７）
前記決定されたネットワークトポロジを表示する表示部をさらに備える、付記１〜６のいずれか１項に記載のトポロジ決定装置。
（付記８）
前記決定されたネットワークトポロジを所定の宛先に配信する配信部をさらに備える、付記１〜７のいずれか１項に記載のトポロジ決定装置。
（付記９）
ネットワークに含まれる複数の中継装置の各々から、送信元の通信装置情報および宛先の通信装置情報を含むフロー情報を取得し、
前記フロー情報に含まれる通信装置情報が一致するフロー情報を有する中継装置が同一グループに属するように、前記複数の中継装置を複数のグループのいずれかに分類し、
各グループに属する中継装置の情報を示す中継装置情報をグループ間で比較し、グループ間の差分情報を算出し、
前記算出された差分情報を用いて、前記ネットワークに含まれる複数の通信装置の接続関係を決定する、トポロジ決定方法。
（付記１０）
ネットワークに含まれる複数の中継装置の各々から、送信元の通信装置情報および宛先の通信装置情報を含むフロー情報を取得することと、
前記フロー情報に含まれる通信装置情報が一致するフロー情報を有する中継装置が同一グループに属するように、前記複数の中継装置を複数のグループのいずれかに分類することと、
各グループに属する中継装置の情報を示す中継装置情報をグループ間で比較し、グループ間の差分情報を算出することと、
前記算出された差分情報を用いて、前記ネットワークに含まれる複数の通信装置の接続関係を決定することと、をコンピュータに実行させるトポロジ決定プログラム。
（付記１１）
複数の中継装置を含む複数の通信装置と、前記複数の通信装置を含むネットワークのネットワークトポロジを決定するトポロジ決定装置とを備え、
前記トポロジ決定装置は、
前記複数の中継装置の各々から、送信元の通信装置情報および宛先の通信装置情報を含むフロー情報を取得する取得部と、
前記フロー情報に含まれる通信装置情報が一致するフロー情報を有する中継装置が同一グループに属するように、前記複数の中継装置を複数のグループのいずれかに分類する分類部と、
各グループに属する中継装置の情報を示す中継装置情報をグループ間で比較し、グループ間の差分情報を算出する算出部と、
前記算出された差分情報を用いて、前記複数の通信装置の接続関係を決定する決定部と、を備える通信システム。
（付記１２）
前記決定部は、
前記算出された差分情報のうち、差分数が１つである差分情報を選択し、前記選択された差分情報の算出元である第１のグループおよび第２のグループにおいて、差分として算出された中継装置が、前記第１のグループの中継装置が有するフロー情報に含まれる通信装置情報および前記第２のグループの中継装置が有するフロー情報に含まれる通信装置情報のうち、通信装置情報が一致しない通信装置に接続される中継装置と決定し、
前記算出された差分情報に接続関係が決定された通信装置情報が含まれている場合、当該通信装置情報を除外した差分情報であって、差分数が１つである差分情報を選択し、前記第１のグループおよび前記第２のグループにおいて、差分として算出された中継装置が、前記第１のグループおよび前記第２のグループにおいて接続関係が最後に決定された中継装置に接続される中継装置として決定することを繰り返し行う、付記１１に記載の通信システム。
【符号の説明】
【００９９】
１、１０  トポロジ決定装置
２、１１  取得部
３、１２  分類部
４、１３  算出部
５、１４  決定部
１５  記憶部
１６  表示部
１７  配信部
２１〜２８  計算機装置
２９〜４５  中継装置
５０  基幹サーバ
６０、７０  ネットワーク
１００  通信システム
１２０１  ネットワーク・インターフェース
１２０２  プロセッサ
１２０３  メモリ
【図１】
2019145893.tif 000003
【図２】
2019145893.tif 000004
【図３】
2019145893.tif 000005
【図４】
2019145893.tif 000006
【図５】
2019145893.tif 000007
【図６】
2019145893.tif 000008
【図７】
2019145893.tif 000009
【図８】
2019145893.tif 000010
【図９】
2019145893.tif 000011