(57)【特許請求の範囲】
【請求項１】
通信ネットワークに含まれる複数の通信装置の接続関係を推定するトポロジー推定装置であって、
前記各通信装置が、該各通信装置の備える送受信ポートと該送受信ポートを介して接続されるトポロジーの葉ノードに当たる通信装置又はトポロジーの根ノードに当たる通信装置のアドレスとを関連付ける送信先情報を保持する場合、
前記複数の通信装置それぞれが保持する前記送信先情報を取得し、該送信先情報と該送信先情報の取得元である通信装置とを関連付ける送信先情報一覧を生成する送信先情報一覧生成手段と、
前記送信先情報一覧に基づき、前記葉ノード及び前記根ノードを、該葉ノードから該根ノードに至る経路上に存在する前記通信装置の組合せを基準にしてグループ分けを行うグルーピング手段と、
前記各グループに対応する前記葉ノード及び根ノードの数と、該各グループに対応する前記通信装置の数とに関する所定の規則に合致する１以上の該グループを選択するグループ選択手段と、
選択された前記グループに対応する前記葉ノード及び根ノードに関するデータを除外した前記送信先情報一覧に基づき、前記通信装置の接続関係を推定するトポロジー推定手段と、を有することを特徴とするトポロジー推定装置。
【請求項２】
前記所定の規則は、前記葉ノード及び根ノードの数が所定のノード数以下であり、かつ、前記通信装置の数が所定の通信装置数以下である規則であることを特徴とする請求項１に記載のトポロジー推定装置。
【請求項３】
前記トポロジー推定手段は、通信ネットワークに含まれる複数の通信装置の接続関係が１対多のツリー構造であるネットワークトポロジーの推定を行う場合、前記通信装置毎に、前記通信装置の組合せの中で該各通信装置を要素として含む前記グループの数を算出し、算出した該通信装置毎の該グループの数に基づき前記通信装置の接続関係を推定することを特徴とする請求項１又は２に記載のトポロジー推定装置。
【請求項４】
通信ネットワークに含まれる複数の通信装置の接続関係が１対多のツリー構造であるネットワークトポロジーの推定を行う場合、前記葉ノード及び根ノードの数が所定のノード数以下であり、かつ、前記通信装置の数が所定の通信装置数以上である前記グループを選択する第２グループ選択手段を有し、
前記トポロジー推定手段は、前記第２グループ選択手段により選択された前記グループに対応する前記送受信ポートを、前記各通信装置における前記根ノード方向の送受信ポートと推定することを特徴とする請求項１乃至３の何れか一に記載のトポロジー推定装置。
【請求項５】
通信ネットワークに含まれる複数の通信装置の接続関係を推定するトポロジー推定方法であって、
前記各通信装置が、該各通信装置の備える送受信ポートと該送受信ポートを介して接続されるトポロジーの葉ノードに当たる通信装置又はトポロジーの根ノードに当たる通信装置のアドレスとを関連付ける送信先情報を保持する場合、
送信先情報一覧生成手段が、前記複数の通信装置それぞれが保持する前記送信先情報を取得し、該送信先情報と該送信先情報の取得元である通信装置とを関連付ける送信先情報一覧を生成するステップと、
グルーピング手段が、前記送信先情報一覧に基づき、前記葉ノード及び前記根ノードを、該葉ノードから該根ノードに至る経路上に存在する前記通信装置の組合せを基準にしてグループ分けを行うステップと、
グループ選択手段が、前記各グループに対応する前記葉ノード及び根ノードの数と、該各グループに対応する前記通信装置の数とに関する所定の規則に合致する１以上の該グループを選択するステップと、
トポロジー推定手段が、選択された前記グループに対応する前記葉ノード及び根ノードに関するデータを除外した前記送信先情報一覧に基づき、前記通信装置の接続関係を推定するステップと、を有することを特徴とするトポロジー推定方法。
【請求項６】
前記所定の規則は、前記葉ノード及び根ノードの数が所定のノード数以下であり、かつ、前記通信装置の数が所定の通信装置数以下である規則であることを特徴とする請求項５に記載のトポロジー推定方法。
【請求項７】
前記トポロジー推定手段は、通信ネットワークに含まれる複数の通信装置の接続関係が１対多のツリー構造であるネットワークトポロジーの推定を行う場合、前記通信装置毎に、前記通信装置の組合せの中で該各通信装置を要素として含む前記グループの数を算出し、算出した該通信装置毎の該グループの数に基づき前記通信装置の接続関係を推定することを特徴とする請求項５又は６に記載のトポロジー推定方法。
【請求項８】
通信ネットワークに含まれる複数の通信装置の接続関係が１対多のツリー構造であるネットワークトポロジーの推定を行う場合、第２グループ選択手段が、前記葉ノード及び根ノードの数が所定のノード数以下であり、かつ、前記通信装置の数が所定の通信装置数以上である前記グループを選択するステップを有し、
前記トポロジー推定手段は、前記第２グループ選択手段により選択された前記グループに対応する前記送受信ポートを、前記各通信装置における前記根ノード方向の送受信ポートと推定することを特徴とする請求項５乃至７の何れか一に記載のトポロジー推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを構成する通信装置間の接続関係を推定する技術に関する。
【背景技術】
【０００２】
ネットワーク運用を行うための業務システムを適正に稼働させるためには、品質の高いネットワークデータベースの構築が必要となる。近年、ネットワークが大規模、複雑化し、ネットワークを構成する機器間の物理的、論理的な接続構成（以下、トポロジーという。）を把握、管理することが難しくなっている。そのため、ネットワークの維持やメンテナンスに掛かる時間、コスト及び当該維持・メンテナンスの複雑さを最小限に抑えることが必要である。
【０００３】
そこで、ネットワークのトポロジーを自動的に作成する手段として、ネットワーク機器より収集したＭＡＣ（Media Access Control）学習テーブル内のＭＡＣアドレスの組合せの関係を利用する手法がある（特許文献１等）。
【０００４】
上記従来手法は、まず、ネットワーク機器より収集したＭＡＣ学習テーブルで学習するポートのうち、最も多く登録されているポートを求める。そして、得られたポートの複数のＭＡＣアドレスが、第２のスイッチのＭＡＣアドレスの複数のポートに登録されたＭＡＣアドレスの組合せと一致することを確認する。それに加え、第１のスイッチのＭＡＣ学習テーブルにおける得られたポート以外の複数ポートに登録されたＭＡＣアドレスの組合せが、第２のスイッチのＭＡＣ学習テーブルにおける１つのポートに登録された複数のＭＡＣアドレスと一致することを確認する。そして、上記従来手法は、これら２つの要件が満たされた場合、第１のスイッチと第２のスイッチとが接続するとみなす。
【０００５】
図１には、上記従来手法による例を示す。図１では、「ｍ１、ｍ２、…」は加入者装置のＭＡＣアドレスを示し、「ＳＷ−１、ＳＷ−２」はトポロジー作成対象となるＬａｙｅｒ２スイッチを示す。そして、各スイッチはＭＡＣ学習テーブルを保持するものとする。また、図１において、「ＩＦ１、ＩＦ２、…」はＬａｙｅｒ２スイッチのポートを示し、当該ポートに隣接して記載する四角囲みの中の「ｍ１、ｍ２、…」は各ポートで学習しているＭＡＣアドレスを示す。
【０００６】
そして、図１で示すように、上記手法は、ＭＡＣアドレスが最も多く登録されているＳＷ−１のポートＩＦ１が、ＳＷ−２のポートＩＦ１、ＩＦ２、ＩＦ３のＭＡＣアドレスの組合せ（ｍ１、ｍ２、ｍ３、ｍ４）と一致することを確認する。さらに、上記手法は、この要件に加え、ＳＷ−１のＩＦ１以外のポートＩＦ２、ＩＦ３のＭＡＣアドレスの組合せ（ｍ５、ｍ６）が、ＳＷ−２のＩＦ４のＭＡＣアドレスと一致することを確認し、ＳＷ−１とＳＷ−２とは接続しているとみなす。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４００８４３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上記従来手法の場合、通信キャリアなどの大規模ネットワークでは、（１）学習されたＭＡＣアドレスがエージングタイムアウトにより、消去される。（２）大規模ネットワークで採用される大型ＳＷでは、ＭＡＣ学習の高速化のため、ハッシュテーブルを使用することがあるが、ハッシュの重複により、学習されたＭＡＣアドレスが上書きされる（ハッシュが重複した古いＭＡＣアドレスが消去される）。スイッチの保有するＭＡＣ学習テーブルのMACアドレスが、エージング処理等によって、一部が欠落した場合、ＭＡＣアドレスの組合せが一致しなくなり、上記従来手法では、実際に物理接続されている機器でも、接続条件とみなされない。従って本来大規模ネットワークでこそネットワーク構成を自動で抽出したいにもかかわらず、実用上この手法を使えないという問題がある。ここで、通信キャリアなどの大規模ネットワークで学習されるＭＡＣアドレス数は加入者数に応じて多くなり、エイジング処理やハッシュテーブルでの重複が発生する結果ＭＡＣアドレスの欠落が発生し、この様な場合には、上記問題の発生が顕著となる。
【０００９】
図２には、図１におけるＳＷ−１のポートＩＦ１のＭＡＣアドレスｍ３がエイジング処理により欠落した場合の例を示す。この場合、ＭＡＣアドレスが最も多く登録されているＳＷ−１のポートＩＦ１が、ＳＷ−２の複数のポートとの組合せと一致しなくなるため、上記従来手法によれば、ＳＷ−１とＳＷ−２とは接続しているとみなされない。
【００１０】
また、例えば、インターネットへの接続を目的としたネットワークの場合、インターネットへの接続点を頂点とするツリートポロジーとするのが標準的である。しかし、上記従来手法は、１対多のツリー構造であるネットワークのトポロジー推定に適用することができないという問題点もある。
【００１１】
図３には、インターネットへの接続点を頂点とするツリートポロジーとなるネットワークの例を示す。図３において、葉ノードである加入者装置は、全て認証スイッチを経由してインターネット通信をしているものとする。この場合、ＳＷ−１のＩＦ１のＭＡＣアドレスの組合せは、ＳＷ−２のＩＦ１、ＩＦ２及びＩＦ３の組合せと一致するが、ＳＷ−１のＩＦ１以外のポートがポートＩＦ３のみとしか一致せず、複数ポートと一致しない。そのため、上記従来手法によれば、ＳＷ−１とＳＷ−２とは接続しているとみなされない。
【００１２】
そこで、本発明では、上記問題点に鑑み、トポロジーの解析対象となる装置が保持するＭＡＣ学習テーブルの一部に欠落がある場合でも、その欠落しているＭＡＣアドレスを解析対象から除外し解析の精度を高めること、及びそのネットワークトポロジーが１対多のツリー構造である場合でもネットワークのトポロジーを推定することができるトポロジー推定装置、及びトポロジー推定方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
開示のトポロジー推定装置の一形態では、通信ネットワークに含まれる複数の通信装置の接続関係を推定するトポロジー推定装置であって、前記各通信装置が、該各通信装置の備える送受信ポートと該送受信ポートを介して接続されるトポロジーの葉ノードに当たる通信装置又はトポロジーの根ノードに当たる通信装置のアドレスとを関連付ける送信先情報を保持する場合、前記複数の通信装置それぞれが保持する前記送信先情報を取得し、該送信先情報と該送信先情報の取得元である通信装置とを関連付ける送信先情報一覧を生成する送信先情報一覧生成手段と、前記送信先情報一覧に基づき、前記葉ノード及び前記根ノードを、該葉ノードから該根ノードに至る経路上に存在する前記通信装置の組合せを基準にしてグループ分けを行うグルーピング手段と、前記各グループに対応する前記葉ノード及び根ノードの数と、該各グループに対応する前記通信装置の数とに関する所定の規則に合致する１以上の該グループを選択するグループ選択手段と、選択された前記グループに対応する前記葉ノード及び根ノードに関するデータを除外した前記送信先情報一覧に基づき、前記通信装置の接続関係を推定するトポロジー推定手段と、を有することを特徴とする。
【発明の効果】
【００１４】
開示のトポロジー推定装置は、トポロジーの解析対象となる装置が保持するＭＡＣ学習テーブルの一部に欠落がある場合でも、その欠落している部分を解析対象から除外し解析の精度を高めることができる。また、そのネットワークトポロジーが１対多のツリー構造である場合でも、ネットワークのトポロジーを推定することができる。
【図面の簡単な説明】
【００１５】
【図１】従来技術を説明する図である。
【図２】従来技術の問題点を説明する図（その１）である。
【図３】従来技術の問題点を説明する図（その２）である。
【図４】本実施の形態に係るトポロジー推定装置の機能ブロック図である。
【図５】本実施の形態に係るトポロジー推定装置による処理の流れを説明する図である。
【図６】本実施の形態に係る分析ＭＡＣ学習テーブルの構成例を示す図である。
【図７】本実施の形態に係るＭＡＣ毎パターンテーブルの構成例を示す図である。
【図８】本実施の形態に係るパターン信頼度テーブルの構成例を示す図である。
【図９】本実施の形態に係る装置毎パターン集計テーブルの構成例を示す図である。
【図１０】本実施の形態に係るポート毎パターンテーブルの構成例を示す図である。
【図１１】本実施の形態に係る接続先テーブルの構成例を示す図である。
【図１２】本実施の形態に係るＭＡＣ学習テーブル分析処理部による処理の流れを示すフローチャートである。
【図１３】本実施の形態に係るＭＡＣ学習テーブル補正処理部による処理の流れを示すフローチャートである。
【図１４】本実施の形態に係るトポロジー作成処理部による処理の流れを示すフローチャートである。
【図１５】本実施の形態に係るトポロジー推定装置の処理例において解析対象とするネットワークの構成を説明する図である。
【図１６】本実施の形態に係るトポロジー推定装置の処理例における分析ＭＡＣ学習テーブル（その１）を示す図である。
【図１７】本実施の形態に係るトポロジー推定装置の処理例におけるＭＡＣ毎パターンテーブル（その１）を示す図である。
【図１８】本実施の形態に係るトポロジー推定装置の処理例におけるパターン信頼度テーブル（その１）を示す図である。
【図１９】本実施の形態に係るトポロジー推定装置の処理例におけるパターン信頼度テーブル（その２）を示す図である。
【図２０】本実施の形態に係るトポロジー推定装置の処理例におけるＭＡＣ毎パターンテーブル（その２）を示す図である。
【図２１】本実施の形態に係るトポロジー推定装置の処理例における分析ＭＡＣ学習テーブル（その２）を示す図である。
【図２２】本実施の形態に係るトポロジー推定装置の処理例におけるパターン信頼度テーブル（その３）を示す図である。
【図２３】本実施の形態に係るトポロジー推定装置の処理例におけるＭＡＣ毎パターンテーブル（その３）を示す図である。
【図２４】本実施の形態に係るトポロジー推定装置の処理例における分析ＭＡＣ学習テーブル（その３）を示す図である。
【図２５】本実施の形態に係るトポロジー推定装置の処理例におけるポート毎パターンテーブルを示す図である。
【図２６】本実施の形態に係るトポロジー推定装置の処理例における装置毎パターン集計テーブルを示す図である。
【図２７】本実施の形態に係るトポロジー推定装置の処理例における接続トポロジー作成処理のフローチャートである。
【図２８】本実施の形態に係るトポロジー推定装置の処理例における接続トポロジー作成処理を説明する図である。
【図２９】本実施の形態に係るトポロジー推定装置の処理例における接続先テーブルを示す図である。
【発明を実施するための形態】
【００１６】
図面を参照しながら、本発明を実施するための最良の形態について説明する。
（本実施の形態に係るトポロジー推定装置の動作原理）
図４乃至図１４を用いて、本実施の形態に係るトポロジー推定装置１００の動作原理について説明する。図４は、本実施の形態に係るトポロジー推定装置１００の機能ブロック図である。図４で示すように、トポロジー推定装置１００は、ＭＡＣ学習テーブル分析処理部１１０、ＭＡＣ学習テーブル補正処理部１２０、トポロジー作成処理部１３０を有する。さらに、トポロジー推定装置１００は、分析ＭＡＣ学習テーブル１４０、ＭＡＣ毎パターンテーブル１５０、パターン信頼度テーブル１６０、装置毎パターン集計テーブル１７０、ポート毎パターンテーブル１８０、接続先テーブル１９０を有する。
【００１７】
なお、特許請求の範囲における送信先情報一覧生成手段は、ＭＡＣ学習テーブル分析処理部１１０に含まれ、特許請求の範囲におけるグルーピング手段は、ＭＡＣ学習テーブル分析処理部１１０に含まれる。また、特許請求の範囲におけるグループ選択手段は、ＭＡＣ学習テーブル補正処理部１２０に含まれ、特許請求の範囲におけるトポロジー推定手段は、トポロジー作成処理部１３０に含まれる。そして、特許請求の範囲における第２グループ選択手段は、トポロジー作成処理部１３０に含まれる。
【００１８】
図５で示すように、トポロジー推定装置１００は、はじめにトポロジー推定処理の対象となるネットワークを構成する通信装置（例えば、Ｌａｙｅｒ２スイッチ）それぞれが保持するＭＡＣ学習テーブルを収集し、収集した全てのＭＡＣ学習テーブルを分析する。これは、ＭＡＣ学習テーブル分析処理部１１０による処理に該当する。
【００１９】
次に、トポロジー推定装置１００は、ＭＡＣ学習テーブル分析処理部１１０による分析結果に基づき信頼度の低いＭＡＣアドレスを抽出し、抽出したＭＡＣアドレスをトポロジー推定処理から除外する。これは、ＭＡＣ学習テーブル補正処理部１２０による処理に該当する。
【００２０】
さらに、トポロジー推定装置１００は、ＭＡＣ学習テーブル補正処理部１２０により信頼度の低いものが除外されたデータを利用して、通信装置間の接続関係を推定する。これは、トポロジー作成処理部１３０による処理に該当する。ここで、トポロジー推定装置１００によるトポロジー推定処理の対象となるネットワークは、１対多のツリー構造となる通信ネットワークであるものとする。
【００２１】
ここで、図６乃至図１１を用いて、トポロジー推定装置１００が備える各テーブルの構成について説明する。図６で示すように、分析ＭＡＣ学習テーブル１４０は、項目として「学習グループ」、「装置」、「ポート」、「学習ＭＡＣアドレス」、「ＩＦ分類」を備える。「学習グループ」は、トポロジー推定装置１００による処理対象となる通信装置が備えるポートの学習単位をさらにグループ分けする情報であり、ＶＬＡＮ（Virtual Local Area Network）  ＩＤが該当する。「装置」は、トポロジー推定装置１００による処理対象となる各通信装置であり、各通信装置はＭＡＣ学習テーブルを保持する。「ポート」は、トポロジー推定装置１００による処理対象となる通信装置が備えるポートである。「学習ＭＡＣアドレス」は、通信装置毎及びポート毎に学習しているＭＡＣアドレスである。「ＩＦ分類」は、ネットワークの根ノード方向にある（上位装置向け）ポートを識別するための情報である。
【００２２】
図７で示すように、ＭＡＣ毎パターンテーブル１５０は、項目として「学習グループ」、「学習ＭＡＣアドレス」、「経由スイッチパターン」、「パターン番号」、「分析有無」、「ＭＡＣ分類」を備える。「学習グループ」は、トポロジー推定装置１００による処理対象となる通信装置（例えば、Ｌａｙｅｒ２スイッチ）が備えるポートの学習単位をさらにグループ分けする情報である。「学習ＭＡＣアドレス」は、分析ＭＡＣ学習テーブル１４０で保持される学習ＭＡＣアドレスである。「経由スイッチパターン」は、学習ＭＡＣアドレスが経由する通信装置群である。「パターン番号」は、学習ＭＡＣアドレスと経由スイッチに付した通番である。「分析有無」は、ＭＡＣアドレスについて、トポロジー推定装置１００による処理対象とするか否かを識別する情報である。「ＭＡＣ分類」は、ネットワークの根ノード方向にある（上位装置向け）ＭＡＣアドレスを識別するための情報である。
【００２３】
図８で示すように、パターン信頼度テーブル１６０は、項目として「パターン番号」、「保有ＭＡＣ数」、「経由接続スイッチ数」、「分析有無」、「パターン分類」を備える。「パターン番号」は、学習ＭＡＣアドレスと経由スイッチに付した通番である。「保有ＭＡＣ数」は、ＭＡＣ毎パターンテーブルのパターン番号毎のＭＡＣ数である。「経由接続スイッチ数」は、パターン番号に対応する経由スイッチパターン内のスイッチ数である。「分析有無」は、パターンについて、トポロジー推定装置１００による処理対象とするか否かを識別する情報である。「パターン分類」は、ネットワークの根ノード方向に関連する（上位装置向け）パターンを識別するための情報である。
【００２４】
図９で示すように、装置毎パターン集計テーブル１７０は、項目として「装置」、「パターン数」を備える。「装置」は、トポロジー推定装置１００による処理対象となる各通信装置である。「パターン数」は、ＭＡＣ毎パターンテーブル１５０に含まれる装置毎のパターン数である。
【００２５】
図１０で示すように、ポート毎パターンテーブル１８０は、項目として「学習グループ」、「経由ポートパターン」、「パターン番号」、「パターンの種類」を備える。「学習グループ」は、トポロジー推定装置１００による処理対象となる通信装置が備えるポートの学習単位をさらにグループ分けする情報である。「経由ポートパターン」は、学習ＭＡＣアドレスが経由する通信装置、及び当該通信装置のポートである。「パターン番号」は、学習ＭＡＣアドレスと経由スイッチとに付した通番である。「パターンの種類」は、「パターン番号」がネットワークの根ノード方向に関連するパターンであるか否かを識別するための情報である。
【００２６】
図１１で示すように、接続先テーブル１９０は、項目として「接続元装置」、「接続元ポート」、「接続先装置」、「接続先ポート」を備える。「接続元装置」は、接続元となる通信装置である。「接続元ポート」は、接続元装置が備え、接続元となるポートである。「接続先装置」は、接続先となる通信装置である。「接続先ポート」は、接続先装置が備え、接続先となるポートである。
【００２７】
次に図１２を用いて、ＭＡＣ学習テーブル分析処理部１１０による処理を説明する。Ｓ１２００でＭＡＣ学習テーブル分析処理部１１０は、処理対象であるネットワーク内の各通信装置からＭＡＣ学習テーブルを読み出し、読み出した各通信装置の識別情報と読み出したＭＡＣ学習テーブルとを関連付けて、分析ＭＡＣ学習テーブル１４０に保存する。
【００２８】
Ｓ１２０２でＭＡＣ学習テーブル分析処理部１１０は、分析ＭＡＣ学習テーブル１４０を参照して、葉ノードから根ノードまでの経路上に存在する通信装置を、該葉ノードに対応するＭＡＣアドレス毎に抽出し、ＭＡＣ毎パターンテーブル１５０を作成する。さらに、ＭＡＣ学習テーブル分析処理部１１０は、ＭＡＣ毎パターンテーブル１５０内の「経由スイッチパターン」の欄に含まれる通信装置の組合せが同一のものに対し、同じパターン番号を割り当て、ＭＡＣ毎パターンテーブル１５０内の「パターン番号」の欄に記入する。
【００２９】
Ｓ１２０４でＭＡＣ学習テーブル分析処理部１１０は、ＭＡＣ毎パターンテーブル１５０を参照して、「パターン番号」毎に、対応する学習ＭＡＣアドレスの数と「経由スイッチパターン」の欄に含まれる通信装置の数とを算出する。そして、ＭＡＣ学習テーブル分析処理部１１０は、算出した「パターン番号」と、学習ＭＡＣアドレスの数と、通信装置の数とを関連付けて、パターン信頼度テーブル１６０に格納する。
【００３０】
さらに、Ｓ１２０６でＭＡＣ学習テーブル分析処理部１１０は、パターン信頼度テーブル１６０を、トポロジー推定装置１００が備える表示装置に表示する。
【００３１】
次に図１３を用いて、ＭＡＣ学習テーブル補正処理部１２０による処理を説明する。Ｓ１３００でＭＡＣ学習テーブル補正処理部１２０は、ユーザから、保有ＭＡＣ数の下限数ｎと経由スイッチ数の上限数ｏとを受け付ける。
【００３２】
Ｓ１３０２でＭＡＣ学習テーブル補正処理部１２０は、パターン信頼度テーブル１６０を参照し、保有ＭＡＣ数が“ｎ”以下であり、かつ、経由接続スイッチ数が“ｏ”以下であるパターンを抽出し、抽出したパターンに対応する「分析有無」の欄を分析対象外とする。これは、保有ＭＡＣ数が少ないパターンについては、エイジング処理等によるデータ欠落が生じた可能性があると推定され、また、経由接続スイッチ数が多いパターンについては、根ノードに関連するデータであると推定されることによる。つまり、ＭＡＣ学習テーブル補正処理部１２０は、これら２つの要件を同時に満たすパターンを、信頼度が低いデータと判断し、分析対象外とする。
【００３３】
そして、Ｓ１３０２でＭＡＣ学習テーブル補正処理部１２０は、ＭＡＣ毎パターンテーブル１５０を参照し、分析対象外と判断されたパターンに対応する学習ＭＡＣアドレスを、分析ＭＡＣ学習テーブル１４０内から消去する。このようにして、トポロジー推定装置１００は、分析ＭＡＣ学習テーブル１４０の補正を可能とし、エイジング処理等によりＭＡＣアドレスが欠落した場合のトポロジー推定の精度を向上させる。
【００３４】
次は図１４を用いて、トポロジー作成処理部１３０による処理を説明する。トポロジー作成処理部１３０は、ツリー構造のトポロジーとなっているネットワーク構成を推定する。Ｓ１４００でトポロジー作成処理部１３０は、ユーザから、保有ＭＡＣ数の下限数ｐと経由スイッチ数の下限数ｑとを受け付ける。そして、トポロジー作成処理部１３０は、パターン信頼度テーブル１６０を参照し、保有ＭＡＣ数が“ｐ”以下であり、かつ、経由接続スイッチ数が“ｑ”以上であるパターンを抽出する。そして、トポロジー作成処理部１３０は、抽出したパターンに対応する「パターン分類」の欄に上位装置向けポートの識別子を格納する。ここで、上位装置向けポートとは、各通信装置が備えるポートであって、根ノード方向にある他の通信装置と接続しているポートのことをいう。
【００３５】
そして、Ｓ１４００でトポロジー作成処理部１３０は、パターン信頼度テーブル１６０を参照し、ＭＡＣ毎パターンテーブル１５０の「ＭＡＣ分類」の欄及び分析ＭＡＣ学習テーブル１４０の「ＩＦ分類」の欄に上位向けポートの識別子を格納する。
【００３６】
Ｓ１４０２でトポロジー作成処理部１３０は、分析ＭＡＣ学習テーブル１４０を参照し、各葉ノードから根ノードに至る経路上の通信装置及び該通信装置で利用するポートの組合せを、ポート毎パターンテーブル１８０の「経由ポートパターン」の欄に格納する。そして、トポロジー作成処理部１３０は、「経由ポートパターン」における組合せが同一のものに対し、同じパターン番号を付与し、ポート毎パターンテーブル１８０の「パターン番号」の欄に格納する。
【００３７】
Ｓ１４０４でトポロジー作成処理部１３０は、ＭＡＣ毎パターンテーブル１５０を参照し、各通信装置に対応しているパターン番号の数を集計し、集計結果を装置毎パターン集計テーブル１７０に格納する。ここで、トポロジー推定装置１００の解析対象はツリー構造であるため、装置毎パターン集計テーブル１７０における「パターン数」が多い通信装置ほど、ネットワーク内で根ノードに近い階層に存在することを示している。
【００３８】
Ｓ１４０６でトポロジー作成処理部１３０は、通信装置間の接続関係を推定する。トポロジー作成処理部１３０は、ポート毎パターンテーブル１８０の「経由ポートパターン」欄に含まれる各通信装置に対し、装置毎パターン集計テーブル１７０における「パターン数」が多い順に通信装置が接続していると推定する。そして、トポロジー作成処理部１３０は、上位装置の下位装置向けポートは、ポート毎パターンテーブル１８０の「上位向け」ポートでないパターンに含まれる装置のポートと接続するものと推定する。また、トポロジー作成処理部１３０は、下位装置の上位装置向けポートは、ポート毎パターンテーブル１８０の上位装置向けポートで接続しているものと推定する。そして、トポロジー作成処理部１３０は、推定した通信装置の接続関係を接続先テーブル１９０に格納する。
【００３９】
上で説明した動作原理に基づき、トポロジー推定装置１００は、ＭＡＣ学習テーブルに学習されている各ＭＡＣアドレスの信頼度を数値化し、信頼度の低いＭＡＣアドレスを除外することで、精度の高いネットワークトポロジーを推定することが出来る。
【００４０】
（本実施の形態に係るトポロジー推定装置による処理例）
図１５乃至図２９を用いて、トポロジー推定装置１００による処理例を説明する。図１５で示すように、本処理例においてトポロジー推定装置１００は、１対多のツリー構造をなす通信ネットワークの構成を推定する。ここで、通信ネットワークの構成とは、通信ネットワークに含まれる通信装置（Ｌａｙｅｒ２スイッチ）の接続関係である。
【００４１】
図１５において、通信ネットワークの葉ノードは加入者装置であり、各加入者装置の下部に記載されるｍ１、ｍ２、ｍ３、ｍ４、ｍ５、ｍ６及びｍ７は各加入者装置のＭＡＣアドレスである。また、通信ネットワークの根ノードは認証ルータであり、当該認証ルータのＭＡＣアドレスはｍｒである。さらに、ＳＷ−１、ＳＷ−２、ＳＷ−３、ＳＷ−４及びＳＷ−５はＬａｙｅｒ２スイッチであり、各スイッチはＭＡＣ学習テーブルを保持する。また、ＩＦ１、ＩＦ２及びＩＦ３は各スイッチの送受信ポートであり、ＩＦ１、ＩＦ２及びＩＦ３の近傍に記載されるｍ１、ｍ２、ｍ３、ｍ４、ｍ５、ｍ６、ｍ７及びｍｒは、ＭＡＣ学習テーブル上で各ポートと関連付けて学習されたＭＡＣアドレスである。
【００４２】
また、図１５で示すように、スイッチＳＷ−２のＭＡＣ学習テーブルにおいて、ｍ４のＭＡＣアドレスがエイジング処理により欠落しているものとする。
【００４３】
（１）ＭＡＣ学習テーブル分析処理部１１０による処理
ここでは再度、図１２で示すフローチャートを用いて、本処理例を説明する。Ｓ１２００でＭＡＣ学習テーブル分析処理部１１０が、トポロジー解析対象であるスイッチＳＷ−１、ＳＷ−２、ＳＷ−３、ＳＷ−４、ＳＷ−５それぞれが保持するＭＡＣ学習テーブルを読み出し、分析ＭＡＣ学習テーブル１４０に格納する。図１６で示すように、分析ＭＡＣ学習テーブル１４０において、ＭＡＣ学習テーブルを読み出したスイッチと当該スイッチが保持するＭＡＣ学習テーブルの内容とが関連付けて保持される。
【００４４】
次に、Ｓ１２０２でＭＡＣ学習テーブル分析処理部１１０が、分析ＭＡＣ学習テーブル１４０に基づいて、ＭＡＣ毎パターンテーブル１５０の各項目を格納する。つまり、ＭＡＣ毎パターンテーブル１５０では、分析ＭＡＣ学習テーブル１４０上で各ＭＡＣアドレスと関連付けて保持されているスイッチを全て抽出し、ＭＡＣアドレス毎に抽出したスイッチを列挙している。そして、Ｓ１２０２でＭＡＣ学習テーブル分析処理部１１０が、ＭＡＣ毎パターンテーブル１５０の「経由スイッチパターン」内の組合せ毎にパターン番号を付与し、「パターン番号」欄に格納する。すると、図１７で示すように、ＭＡＣ学習テーブル分析処理部１１０によって、５つのパターン番号が付与される。
【００４５】
さらに、Ｓ１２０４でＭＡＣ学習テーブル分析処理部１１０が、ＭＡＣ毎パターンテーブル１５０に基づいて、パターン信頼度テーブル１６０の各項目を格納する。例えば、パターン１については、学習ＭＡＣアドレスｍ１及びｍ２と対応するため、保有ＭＡＣ数は２となり、経由スイッチパターンにはＳＷ−１、ＳＷ−２及びＳＷ−３が格納されているため、経由接続スイッチ数は３となる。一方、パターン３については、学習ＭＡＣアドレスｍ３のみと対応するため、保有ＭＡＣ数は１となり、経由スイッチパターンにはＳＷ−１及びＳＷ−４が格納されているため、経由接続スイッチ数は２となる。図１８には、Ｓ１２０４で生成されるパターン信頼度テーブル１６０を示す。
【００４６】
そして、Ｓ１２０６でＭＡＣ学習テーブル分析処理部１１０が、図１８に示すパターン信頼度テーブル１６０を表示装置に表示し、ＭＡＣ学習テーブル分析処理部１１０による処理が終了する。
【００４７】
（２）ＭＡＣ学習テーブル補正処理部１２０による処理
ここでは再度、図１３で示すフローチャートを用いて、本処理例を説明する。Ｓ１３００でＭＡＣ学習テーブル補正処理部１２０が、ユーザから分析ＭＡＣ学習テーブル１４０の補正条件“ｎ”及び“ｏ”を受け付ける。本処理例においては、“ｎ＝２”、“ｏ＝５”とする。
【００４８】
Ｓ１３０２でＭＡＣ学習テーブル補正処理部１２０が、パターン信頼度テーブル１６０において、保有ＭＡＣ数が“ｎ＝２”以下であり、かつ、経由接続スイッチ数が“ｏ＝５”以下であるパターンを抽出する。すると、図１９で示すように、ＭＡＣ学習テーブル補正処理部１２０はパターン３を抽出し、パターン３の「分析有無」欄にトポロジー推定装置１００の分析対象外とする識別子を格納する。ＭＡＣ学習テーブル補正処理部１２０は、パターン信頼度テーブル１６０において、保有ＭＡＣ数が小さいほどデータ欠落に関連するパターンであると推定し、また、経由接続スイッチ数が大きいほど認証ルータに関連するパターンであると推定する。
【００４９】
Ｓ１３０２でＭＡＣ学習テーブル補正処理部１２０が、図２０で示すようにＭＡＣ毎パターンテーブル１５０におけるパターン３の「分析有無」欄に分析対象外とする識別子を格納する。次いで、ＭＡＣ毎パターンテーブル１５０でパターン３はＭＡＣアドレスｍ４に対応するため、Ｓ１３０２でＭＡＣ学習テーブル補正処理部１２０が、図２１で示すように分析ＭＡＣ学習テーブル１４０からＭＡＣアドレスｍ４を消去する。つまり、ＭＡＣ学習テーブル補正処理部１２０はパターン３について信頼度が低いと判断し、これによりトポロジー推定装置１００はエイジング処理により欠落しているＭＡＣアドレスｍ４を処理対象データから除外することができる。
【００５０】
（３）トポロジー作成処理部１３０による処理
ここでは再度、図１４で示すフローチャートを用いて、本処理例を説明する。Ｓ１４００でトポロジー作成処理部１３０が、ユーザから、上位装置向けポートの判定条件“ｐ”及び“ｑ”を受け付ける。本処理例においては、“ｐ＝１”、“ｑ＝５”とする。ツリートポロジーの場合、上位装置向けポートは、パターン（保有ＭＡＣ数）が少なく、経由接続スイッチ数がネットワーク内の総スイッチ数に近い値になるという性質がある。
【００５１】
そして、Ｓ１４００でトポロジー作成処理部１３０が、パターン信頼度テーブル１６０において、保有ＭＡＣ数が“ｐ＝１”以下であり、かつ、経由接続スイッチ数が“ｑ＝５”以上であるパターンを抽出する。すると、図２２で示すように、トポロジー作成処理部１３０はパターン５を抽出し、パターン５の「パターン分類」欄に上位装置向けポートである旨の識別子を格納する。トポロジー作成処理部１３０は、パターン信頼度テーブル１６０において、保有ＭＡＣ数が小さいほど上位装置向けポートに関連するパターンであると推定し、また、経由接続スイッチ数（ホップ数）が多いほど上位装置向けポートに関連するパターンであると推定する。
【００５２】
次いで、Ｓ１４００でトポロジー作成処理部１３０が、図２３で示すようにＭＡＣ毎パターンテーブル１５０におけるパターン５の「ＭＡＣ分類」欄に上位装置向けポートとする識別子を格納する。さらに、パターン５はＭＡＣアドレスｍｒに対応するため、Ｓ１４００でトポロジー作成処理部１３０が、図２４で示すように分析ＭＡＣ学習テーブル１４０のＭＡＣアドレスｍｒに対応する「ＩＦ分類」欄に上位装置向けポートとする識別子を格納する。
【００５３】
Ｓ１４０２でトポロジー作成処理部１３０が、図２４で示す分析ＭＡＣ学習テーブル１４０に基づいて、ポート毎パターンテーブル１８０の各項目を格納する。例えば、ＭＡＣアドレスｍ１については、「ＳＷ−１  ＩＦ１」、「ＳＷ−２  ＩＦ１」及び「ＳＷ−３  ＩＦ１」と対応するため、「経由ポートパターン」欄は「ＳＷ−１  ＩＦ１、ＳＷ−２  ＩＦ１、ＳＷ−３  ＩＦ１」となる。また、ＭＡＣアドレスｍ６については、「ＳＷ−１  ＩＦ２」及び「ＳＷ−５  ＩＦ１」と対応するため、「経由ポートパターン」欄は「ＳＷ−１  ＩＦ２、ＳＷ−５  ＩＦ１」となる。図２５には、Ｓ１４０２で生成されるポート毎パターンテーブル１８０を示す。
【００５４】
Ｓ１４０４でトポロジー作成処理部１３０が、図２３で示すＭＡＣ毎パターンテーブル１５０に基づいて、装置毎パターン集計テーブル１７０の各項目を格納する。この際、トポロジー作成処理部１３０は、分析対象外の識別子が付されたパターン３に対応するデータ及び上位装置向けポートである旨の識別子が付されたパターン５に対応するデータを除いて、装置毎パターン集計テーブル１７０の各項目を格納する。例えば、スイッチＳＷ−１については、パターン１、パターン２及びパターン４の３パターンあるため、装置毎パターン集計テーブル１７０の「パターン数」欄には３と格納される。また、スイッチＳＷ−４については、パターン２のみであるため、装置毎パターン集計テーブル１７０の「パターン数」欄には１と格納される。図２６には、Ｓ１４０４で生成される装置毎パターン集計テーブル１７０を示す。
【００５５】
次に、Ｓ１４０６でトポロジー作成処理部１３０が、装置毎パターン集計テーブル１７０及びポート毎パターンテーブル１８０に基づいて、Ｌａｙｅｒ２スイッチ間の接続関係を推定する。ここで、図２７で示すフローチャートを用いて、Ｓ１４０６におけるトポロジー作成処理部１３０による接続トポロジー作成処理の詳細を説明する。
【００５６】
トポロジー作成処理部１３０は、Ｓ２７００−１で始まりからＳ２７００−２で終わる処理を、ポート毎パターンテーブル１８０におけるパターン番号毎に繰り返す。ここで、トポロジー作成処理部１３０により当該処理が行われているパターン番号をｉとすると、本処理例ではｉ＝１〜７（ｉは自然数である。）となる。また、トポロジー作成処理部１３０は、Ｓ２７０２−１で始まりからＳ２７０２−２で終わる処理を、ポート毎パターンテーブル１８０における各パターンに含まれるスイッチ毎に繰り返す。ここで、トポロジー作成処理部１３０により当該処理が行われているスイッチをｊとすると、本処理例ではｉ＝１の場合スイッチｊ＝ＳＷ−１、ＳＷ−２、ＳＷ−３となり、ｉ＝５の場合スイッチｊ＝ＳＷ−１、ＳＷ−５となる。
【００５７】
Ｓ２７０４でトポロジー作成処理部１３０は、装置毎パターン集計テーブル１７０を参照して、パターンｉに含まれるスイッチであり、スイッチｊのパターン数より大きく、かつ、最小のパターン数であるスイッチＸを抽出する。Ｓ２７０４においてスイッチＸが抽出できた場合はＳ２７０６に移行し、Ｓ２７０４においてスイッチＸが抽出できない場合はＳ２７０２−２に移行する。
【００５８】
Ｓ２７０６でトポロジー作成処理部１３０は、スイッチｊとスイッチＸとがポート毎パターンテーブル１８０の上位装置向けパターンに含まれる場合、Ｓ２７０８に移行する。一方、Ｓ２７０６でトポロジー作成処理部１３０は、スイッチｊとスイッチＸとがポート毎パターンテーブル１８０の上位装置向けパターンに含まれない場合、Ｓ２７０２−２に移行する。
【００５９】
Ｓ２７０８でトポロジー作成処理部１３０は、以下の＜１＞から＜４＞までの処理を実行することで、接続先テーブル１９０の各項目を格納する。＜１＞トポロジー作成処理部１３０は、スイッチｊを「接続元装置」欄に格納する。＜２＞トポロジー作成処理部１３０は、上位装置向けパターンに含まれるスイッチｊのポートを「接続元ポート」欄に格納する。＜３＞トポロジー作成処理部１３０は、スイッチＸを「接続先装置」欄に格納する。＜４＞トポロジー作成処理部１３０は、パターンｉに含まれるスイッチＸのポートを「接続先ポート」欄に格納する。
【００６０】
ここで、図２８を用いて、本処理例における接続トポロジー作成処理（Ｓ１４０６）の一部を説明する。なお、ここではパターン番号ｉ＝１である場合の処理について具体的に説明するが、パターン番号ｉ＝２〜７である場合の処理も同様に行われる。
【００６１】
ポート毎パターン１（ｉ＝１）のＳＷ−１については、装置毎パターン集計テーブル１７０を参照すると、ポート毎パターン１に含まれるＳＷ−１、ＳＷ−２、ＳＷ−３の中でパターン数が最大となる。したがって、ＳＷ−１については上位の接続対象は無いこととなる（Ｓ２７０４で「抽出できない」場合に該当）。
【００６２】
ポート毎パターン１（ｉ＝１）のＳＷ−２については、装置毎パターン集計テーブル１７０を参照すると、ＳＷ−１がＳ２７０４の条件に合致するため、スイッチＸとしてＳＷ−１が抽出される。次に、スイッチＳＷ−２及びＳＷ−１（スイッチＸ）は、ポート毎パターンテーブル１８０を参照すると、上位装置向けパターンに含まれるため（Ｓ２７０６で「含まれる場合」に該当）、Ｓ２７０８に移行する。そして、Ｓ２７０８においてポート毎パターンテーブル１８０を参照して、「接続元装置」欄にはＳＷ−２を格納し、「接続元ポート」欄にはＩＦ３を格納し、「接続先装置」欄にはＳＷ−１を格納し、「接続先ポート」欄にはＩＦ１を格納する。
【００６３】
ポート毎パターン１（ｉ＝１）のＳＷ−３については、装置毎パターン集計テーブル１７０を参照すると、ＳＷ−２がＳ２７０４の条件に合致するため、スイッチＸとしてＳＷ−２が抽出される。次に、スイッチＳＷ−３及びＳＷ−２（スイッチＸ）は、ポート毎パターンテーブル１８０を参照すると、上位装置向けパターンに含まれるため（Ｓ２７０６で「含まれる場合」に該当）、Ｓ２７０８に移行する。そして、Ｓ２７０８においてポート毎パターンテーブル１８０を参照して、「接続元装置」欄にはＳＷ−３を格納し、「接続元ポート」欄にはＩＦ３を格納し、「接続先装置」欄にはＳＷ−２を格納し、「接続先ポート」欄にはＩＦ１を格納する。
【００６４】
図２９には、上記で説明した接続トポロジー作成処理（Ｓ１４０６）を、全てのポート毎パターン番号ｉ（＝１〜７）について実行した結果を示す。つまり、トポロジー作成処理部１３０は、図１５で示すネットワークを構成するスイッチＳＷ−１、ＳＷ−２、ＳＷ−３、ＳＷ−４及びＳＷ−５の接続関係を、図２９で示す接続先テーブル１９０のように推定する。
【００６５】
このように、トポロジー推定装置１００は、上記（１）、（２）、（３）で説明した処理を行うことで、トポロジーの解析対象となる通信装置のＭＡＣ学習テーブルの一部に欠落がある場合でも、１対多のツリー構造であるネットワークのトポロジーを推定するができる。
【００６６】
以上、本発明の実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲において、種々の変形・変更が可能である。
【符号の説明】
【００６７】
１００  トポロジー推定装置
１１０  ＭＡＣ学習テーブル分析処理部
１２０  ＭＡＣ学習テーブル補正処理部
１３０  トポロジー作成処理部
１４０  分析ＭＡＣ学習テーブル
１５０  ＭＡＣ毎パターンテーブル
１６０  パターン信頼度テーブル
１７０  装置毎パターン集計テーブル
１８０  ポート毎パターンテーブル
１９０  接続先テーブル
【図４】
0005405265.tif 000002
【図５】
0005405265.tif 000003
【図６】
0005405265.tif 000004
【図７】
0005405265.tif 000005
【図８】
0005405265.tif 000006
【図９】
0005405265.tif 000007
【図１０】
0005405265.tif 000008
【図１１】
0005405265.tif 000009
【図１２】
0005405265.tif 000010
【図１３】
0005405265.tif 000011
【図１４】
0005405265.tif 000012
【図１５】
0005405265.tif 000013
【図１６】
0005405265.tif 000014
【図１７】
0005405265.tif 000015
【図１８】
0005405265.tif 000016
【図１９】
0005405265.tif 000017
【図２０】
0005405265.tif 000018
【図２１】
0005405265.tif 000019
【図２２】
0005405265.tif 000020
【図２３】
0005405265.tif 000021
【図２４】
0005405265.tif 000022
【図２５】
0005405265.tif 000023
【図２６】
0005405265.tif 000024
【図２７】
0005405265.tif 000025
【図２８】
0005405265.tif 000026
【図２９】
0005405265.tif 000027
【図１】
0005405265.tif 000028
【図２】
0005405265.tif 000029
【図３】
0005405265.tif 000030