(57)【要約】【課題】  通信ネットワークの下位レイヤと上位レイヤのトポロジを関連付けながら、複数の機器の間のトポロジを探索する。【解決手段】  トポロジ探索部１５１は、物理接続情報１５２と各機器の設定情報１５３を入力として、レイヤ別のトポロジ探索処理を行い、ＭＡＣレイヤのトポロジ１７１、ＩＰレイヤのトポロジ１７２、ＴＣＰ／ＵＤＰレイヤのトポロジ１７３、およびアプリケーションレイヤのトポロジ１７４からなる、複数レイヤにわたるトポロジ１５４を出力する。【選択図】図５
2005348051.tif 000002
【特許請求の範囲】
【請求項１】
複数のレイヤによる階層構成の通信機能を有する通信ネットワークを構成する複数の機器の間のトポロジを探索するトポロジ探索装置であって、
前記複数の機器の機器設定情報を格納する格納手段と、
前記機器設定情報を用いて前記複数のレイヤの中の下位レイヤのトポロジに含まれる接続をグループ化して、上位レイヤにおける情報到達範囲を生成し、該情報到達範囲から上位レイヤのトポロジを生成する生成手段と、
生成されたトポロジの情報を出力する出力手段と
を備えることを特徴とするトポロジ探索装置。
【請求項２】
通信ネットワークを構成する複数の機器の間のトポロジを探索するトポロジ探索装置であって、
前記複数の機器の機器設定情報を格納する格納手段と、
前記機器設定情報に含まれる、各機器の各インタフェースのメディアアクセス制御アドレスの情報を用いて、前記複数の機器の間の物理接続の情報を生成する生成手段と
を備えることを特徴とするトポロジ探索装置。
【請求項３】
複数のレイヤによる階層構成の通信機能を有する通信ネットワークを構成する複数の機器の間のトポロジを探索するコンピュータのためのプログラムであって、
格納手段に格納された前記複数の機器の機器設定情報を用いて前記複数のレイヤの中の下位レイヤのトポロジに含まれる接続をグループ化して、上位レイヤにおける情報到達範囲を生成し、
前記情報到達範囲から上位レイヤのトポロジを生成し、
生成されたトポロジの情報を出力する
処理を前記コンピュータに実行させることを特徴とするプログラム。
【請求項４】
前記複数のレイヤの中の最下位レイヤのトポロジの情報を入力し、該最下位レイヤのトポロジから順に上位レイヤのトポロジを生成する処理を繰り返して、該最下位レイヤの上位のレイヤから最上位レイヤまでの各レイヤのトポロジを生成する処理を、前記コンピュータに実行させることを特徴とする請求項３記載のプログラム。
【請求項５】
前記機器設定情報と前記下位レイヤおよび上位レイヤのトポロジの情報を用いて、前記通信ネットワーク内の２つの機器間において、指定されたアプリケーションサービスによるデータの通過経路を探索し、該データの通過経路の情報を出力する処理を、前記コンピュータに実行させることを特徴とする請求項３または４記載のプログラム。
【請求項６】
前記機器設定情報に含まれるリンクアグリゲーション情報を用いて、前記複数のレイヤの中の物理レイヤのトポロジに含まれる接続をグループ化して、該複数のレイヤの中のメディアアクセス制御レイヤの接続を生成し、該メディアアクセス制御レイヤの接続をまとめて情報到達範囲を生成し、該情報到達範囲からメディアアクセス制御レイヤのトポロジを生成する処理を、前記コンピュータに実行させることを特徴とする請求項３または４記載のプログラム。
【請求項７】
前記機器設定情報に含まれるインターネットプロトコルアドレスの情報を用いて、前記複数のレイヤの中のインターネットプロトコルレイヤのインタフェースをグループ化して、インターネットプロトコルレイヤの接続を生成し、該機器設定情報に含まれるルーティング情報を用いて該インターネットプロトコルレイヤの接続をグループ化して情報到達範囲を生成し、該情報到達範囲からインターネットプロトコルレイヤのトポロジを生成する処理を、前記コンピュータに実行させることを特徴とする請求項３または４記載のプログラム。
【請求項８】
前記複数のレイヤの中のインターネットプロトコルレイヤの情報到達範囲に含まれる機器の、該複数のレイヤの中のトランスミッション制御プロトコル／ユーザデータグラムプロトコルレイヤのインタフェースをまとめて、トランスミッション制御プロトコル／ユーザデータグラムプロトコルレイヤの接続を生成し、前記機器設定情報に含まれるパケットフィルタリング情報を用いて該トランスミッション制御プロトコル／ユーザデータグラムプロトコルレイヤの接続をグループ化して情報到達範囲を生成し、該情報到達範囲からトランスミッション制御プロトコル／ユーザデータグラムプロトコルレイヤのトポロジを生成する処理を、前記コンピュータに実行させることを特徴とする請求項３または４記載のプログラム。
【請求項９】
前記複数のレイヤの中のトランスミッション制御プロトコル／ユーザデータグラムプロトコルレイヤの情報到達範囲に含まれる機器の、該複数のレイヤの中のアプリケーションレイヤの通信可能なインタフェースをまとめて、アプリケーションレイヤの接続を生成し、前記機器設定情報に含まれるアプリケーション情報を用いて該アプリケーションレイヤの接続をグループ化して情報到達範囲を生成し、該情報到達範囲からアプリケーションレイヤのトポロジを生成する処理を、前記コンピュータに実行させることを特徴とする請求項３または４記載のプログラム。
【請求項１０】
通信ネットワークを構成する複数の機器の間のトポロジを探索するコンピュータのためのプログラムであって、
格納手段に格納された前記複数の機器の機器設定情報から、各機器の各インタフェースのメディアアクセス制御アドレスの情報を抽出し、
抽出されたメディアアクセス制御アドレスの情報を用いて、前記複数の機器の間の物理接続の情報を生成する
処理を前記コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機器から構成される通信ネットワークの運用管理に関し、特に、ネットワーク内に存在する機器の構成と、それらの機器同士の物理的・論理的な接続構成を探索する装置および方法に関する。
【背景技術】
【０００２】
大規模化が進む通信ネットワークの運用管理において、ネットワークを構成する機器同士の物理的・論理的な接続構成（以下、トポロジと記す）を把握・管理することは、重要な課題になっている。物理的な接続構成とは、通信機能の階層構成の物理レイヤにおける機器同士の接続状態を表し、論理的な接続構成とは、物理レイヤより上位のレイヤにおける機器同士の接続状態を表す。
【０００３】
従来より、トポロジ管理を行うための技術が開発されており、ネットワーク管理者は、一般にこれらの技術を用いたツールを利用して、ネットワーク内にある機器を把握している。これらのツールは、ネットワークのインターネットプロトコル（Internet Protocol，ＩＰ）レイヤにおいて、同一ネットワーク内にある機器を列挙し、各機器の設定等の情報を利用者に提供するものである。これらのツールによって管理が可能になる情報には、以下のようなものがある。
（１）ＩＰレイヤのサブネット単位に機器をグループ化したトポロジ
（２）物理レイヤでの機器同士のトポロジ
また、以下の特許文献１、２、および３は、ネットワーク管理のための技術を開示している。
【特許文献１】特開２００１−２１１１７８号公報
【特許文献２】特開２０００−０７８１３５号公報
【特許文献３】特開２００３−１１５８４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のネットワーク管理技術では、ネットワークの大規模化・複雑化、およびネットワーク技術の進歩に伴って、以下のような問題が顕在化している。
（１）従来、ネットワークの管理は、概ねデータの伝達を行うネットワーク機器の管理と、業務アプリケーションを提供するサーバ機器の管理に二分されていた。前者はデータ到達性を保証するためにそのトポロジを管理し、後者はアプリケーションの動作を保証するために負荷等を監視するものであった。
【０００５】
これまでのネットワーク機器は、主にネットワークのＩＰレイヤ以下のレイヤでデータを伝達していたため、前述のトポロジ管理においても、管理対象となるのはＩＰレイヤ以下のレイヤのトポロジであった。
【０００６】
また、ネットワーク機器管理ではＩＰレイヤのみを、サーバ機器管理ではアプリケーションレイヤのみを、それぞれ独立して管理していたため、両管理手段を関連付ける手段は存在しなかった。
【０００７】
しかしながら、近年の技術革新により、ネットワーク機器がＩＰレイヤ以下のレイヤにおけるデータの伝達のみならず、より上位のレイヤにおけるパケットフィルタリングや負荷分散等のサービスを提供するようになってきている。
【０００８】
また、サーバ機器の中には、従来よりも下位のレイヤまで制御を行って性能向上を図るものがあり、ネットワーク機器とサーバ機器の境界が、従来と比較して曖昧になってきている。
【０００９】
これらの機器については、従来の下位レイヤのみの管理でも、上位レイヤのみの管理でも不十分であり、新たに上位から下位までのレイヤを統合して管理する技術が必要である。
【００１０】
また、従来のトポロジ管理方法では、レイヤ毎に独立した管理を行っていたが、上位レイヤのデータの到達性を保証するためには、そのレイヤだけではなく、下位レイヤでのデータの到達性が保証されていなければならない。このため、レイヤ毎に別個のトポロジ管理を行うのではなく、上位と下位のレイヤ間を関連付ける管理方法が必要である。
（２）また、ネットワークにおいて、業務アプリケーション等のサービスは、スイッチ等の下位レイヤ機器を使用してデータの送受信を行う。このとき、従来の技術では上位レイヤと下位レイヤを関連付ける方法が確立されていないため、データの送受信に使用される機器、およびデータが通過する経路を把握することができなかった。また、ある機器に障害が発生した場合、その障害が影響するサービスを把握することもできなかった。
（３）さらに、従来のトポロジ管理技術では、あらかじめ管理者が、ネットワーク内の物理レイヤのトポロジを把握した上で、その情報を手作業で管理ツールに入力することを前提としている。大規模化したネットワークでは、この入力作業に多くの時間がかかる上に、これが人為的ミスの大きな要因ともなっていた。
【００１１】
本発明の課題は、複数のレイヤによる階層構成の通信機能を有する通信ネットワークにおいて、下位レイヤと上位レイヤのトポロジを関連付けながら、ネットワーク内に存在する複数の機器の間のトポロジを探索することである。
【００１２】
本発明のもう１つの課題は、複数のレイヤによる階層構成の通信機能を有する通信ネットワークにおいて、アプリケーションが通信に使用する機器および経路を把握することである。
【００１３】
本発明のさらに別の課題は、通信ネットワークにおける物理レイヤのトポロジの情報の入力に要する時間を削減することである。
【課題を解決するための手段】
【００１４】
図１は、本発明のトポロジ探索装置の原理図である。
本発明の第１の局面において、トポロジ探索装置は、格納手段１１、生成手段１２、および出力手段１３を備え、複数のレイヤによる階層構成の通信機能を有する通信ネットワークを構成する複数の機器の間のトポロジを探索する。格納手段１１は、複数の機器の機器設定情報を格納する。生成手段１２は、その機器設定情報を用いて複数のレイヤの中の下位レイヤのトポロジに含まれる接続をグループ化して、上位レイヤにおける情報到達範囲を生成し、その情報到達範囲から上位レイヤのトポロジを生成する。出力手段１３は、生成されたトポロジの情報を出力する。
【００１５】
本発明の第２の局面において、第１の局面におけるトポロジ探索装置は、入力手段１４をさらに備える。入力手段１４は、複数のレイヤの中の最下位レイヤのトポロジの情報を入力する。生成手段１２は、最下位レイヤのトポロジから順に上位レイヤのトポロジを生成する処理を繰り返して、最下位レイヤの上位のレイヤから最上位レイヤまでの各レイヤのトポロジを生成する。
【００１６】
本発明の第３の局面において、第１または第２の局面におけるトポロジ探索装置は、経路探索手段１５をさらに備える。経路探索手段１５は、上記機器設定情報と下位レイヤおよび上位レイヤのトポロジの情報を用いて、通信ネットワーク内の２つの機器間において、指定されたアプリケーションサービスによるデータの通過経路を探索する。出力手段１３は、そのデータの通過経路の情報を出力する。
【００１７】
本発明の第４の局面において、トポロジ探索装置は、格納手段１１および生成手段１２を備え、通信ネットワークを構成する複数の機器の間のトポロジを探索する。格納手段１１は、複数の機器の機器設定情報を格納する。生成手段１２は、機器設定情報に含まれる、各機器の各インタフェースのメディアアクセス制御アドレスの情報を用いて、複数の機器の間の物理接続の情報を生成する。
【００１８】
格納手段１１、出力手段１３、および入力手段１４は、例えば、後述する図４０のメモリ４００２、出力装置４００４、および入力装置４００３にそれぞれ対応し、生成手段１２は、例えば、後述する図５のトポロジ探索部１５１および図３５の物理接続探索部３５０１に対応し、経路探索手段１５は、例えば、後述する図２２の経路探索部２２０１に対応する。
【発明の効果】
【００１９】
本発明によれば、通信機能の階層構成において、従来表現できなかったＩＰレイヤより上位のレイヤを含めたすべてのレイヤについて、レイヤ間の関連を考慮した統合的なトポロジの把握が可能になる。また、上位レイヤにおいて、下位レイヤにおけるデータ到達性によって裏付けられた、確実なデータ到達性の検証が可能になる。
【００２０】
本発明によれば、アプリケーションが通信に使用する機器および経路を把握することが可能になる。これにより、ネットワーク内の機器に障害が発生した場合、その障害が影響するサービスの範囲を把握することも可能になる。
【００２１】
本発明によれば、大規模化したネットワークにおいても、構成管理に必要となる、機器間の物理接続の情報が自動的に生成されるので、その情報を手作業で入力する必要がなくなる。また、人為的ミスが防止され、より正確なネットワーク構成を把握することが可能になる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照しながら、本発明を実施するための最良の形態を詳細に説明する。
図２は、実施形態のトポロジ探索装置を示している。図２のトポロジ探索装置１０２は、管理対象であるネットワーク内の各機器から取得した設定情報１０１に基いてトポロジを探索し、複数のレイヤにわたって関連付けられたトポロジ１０３を出力する。このとき、トポロジ探索装置１０２は、設定情報１０１から、複数のレイヤのそれぞれについての機器間のトポロジと、それらのレイヤのトポロジ間の関連を求める。これにより、レイヤ間の関連を考慮した統合的なトポロジの把握が可能になる。
【００２３】
図３は、複数レイヤトポロジのモデルを示している。このモデルでは、ネットワークにおけるデータ送受信のレイヤが、下位から上位に向かって、物理レイヤ、メディアアクセス制御（Media Access Control，ＭＡＣ）レイヤ、ＩＰレイヤ、トランスミッション制御プロトコル／ユーザデータグラムプロトコル（Transmission Control Protocol/User Datagram Protocol，ＴＣＰ／ＵＤＰ）レイヤ、およびアプリケーションレイヤに分類される。
【００２４】
各レイヤにおいて、機器間の物理／論理接続は「リンク」で表され、リンクに使用される機器の物理／論理インタフェースは「コネクタ」で表され、通信の終端を行ったり、機器内の複数コネクタ間でデータの転送を行う機能は「サービス」で表される。各機器は「ノード」で表され、各レイヤにおけるトポロジは、リンク、コネクタ、およびサービスという３つの簡潔な要素で表現される。
【００２５】
図３のノード１１２のコネクタ１３１は、アプリケーションレイヤのコネクタであり、ノード１１１のコネクタ１２１および１２５とノード１１２のコネクタ１３２は、ＴＣＰ／ＵＤＰレイヤのコネクタである。ノード１１２のサービス１３６はアプリケーションレイヤにおいて通信の終端を行うサービスであり、ノード１１１のサービス１２９は、ＴＣＰ／ＵＤＰレイヤのコネクタ間でデータの転送を行うサービスである。また、ノード１１１のコネクタ１２２および１２６とノード１１２のコネクタ１３３は、ＩＰレイヤのコネクタである。
【００２６】
ノード１１１のコネクタ１２３および１２７とノード１１２のコネクタ１３４は、ＭＡＣレイヤのコネクタであり、コネクタ１２７とコネクタ１３４は、ＭＡＣレイヤのリンク１４１により論理的に接続されている。また、ノード１１１のコネクタ１２４および１２８とノード１１２のコネクタ１３５は、物理レイヤのコネクタであり、コネクタ１２８とコネクタ１３５は、リンク１４２により物理的に接続されている。
【００２７】
図４は、このようなモデルにおける上下のレイヤ間の関連を示している。図４の上位レイヤ（ａ）はノードＡおよびＣを有し、中位レイヤ（ｂ）はノードＡ、Ｂ、およびＣを有し、下位レイヤ（ｃ）はノードＡ、Ｂ、およびＣを有する。
【００２８】
上位レイヤ（ａ）では、ノードＡのコネクタＣAa1 とノードＣのコネクタＣCa1 がリンクＬa1により接続されている。中位レイヤ（ｂ）では、ノードＡのコネクタＣAb1 とノードＢのコネクタＣBb1 がリンクＬb1により接続されており、ノードＢのコネクタＣBb2 とノードＣのコネクタＣCb1 がリンクＬb2により接続されており、ノードＢのコネクタＣBb1 とコネクタＣBb2 の間にはサービスＳBbが介在している。
【００２９】
下位レイヤ（ｃ）では、ノードＡのコネクタＣAc1 とノードＢのコネクタＣBc1 がリンクＬC1により接続されており、ノードＢのコネクタＣBc2 とノードＣのコネクタＣCc1 がリンクＬc2により接続されている。この場合、上位レイヤ（ａ）のリンクＬa1は、中位レイヤ（ｂ）のリンクＬb1およびＬb2により表現される。
【００３０】
このように、あるレイヤにおける機器間の接続は、該当するレイヤにおける中継機器の設定と下位レイヤの接続の集合で表現することができる。この性質を利用して、最初に最下位レイヤのトポロジが与えられていれば、下位レイヤから上位レイヤまでのトポロジを順次求めていくことが可能である。こうして求められたトポロジでは、下位レイヤでのデータの到達性が保証されているので、利用者は機器間でデータが確実に到達することを容易に把握できる。
【００３１】
図５は、図２のトポロジ探索装置１０２の構成図である。図５のトポロジ探索装置１０２は、例えば、ＣＰＵ（中央処理装置）とメモリを備えた情報処理装置を用いて構成され、トポロジ探索部１５１を備える。
【００３２】
トポロジ探索部１５１は、物理レイヤのトポロジに対応する機器同士の物理接続情報１５２と、各機器の設定情報１５３を入力として、レイヤ別のトポロジ探索処理を行い、複数レイヤにわたるトポロジ１５４を出力する。設定情報１５３およびトポロジ１５４は、それぞれ図２の設定情報１０１およびトポロジ１０３に対応する。
【００３３】
設定情報１５３は、ネットワークを構成する複数の機器の機器設定情報からなり、機器設定情報は、図３のモデルに基いて各レイヤのコネクタおよびサービスの設定情報を含んでいる。トポロジ１５４は、ＭＡＣレイヤのトポロジ１７１、ＩＰレイヤのトポロジ１７２、ＴＣＰ／ＵＤＰレイヤのトポロジ１７３、およびアプリケーションレイヤのトポロジ１７４からなり、ディスプレイ等を介して出力される。
【００３４】
トポロジ探索部１５１は、ＭＡＣレイヤトポロジ探索部１６１、ＩＰレイヤトポロジ探索部１６２、ＴＣＰ／ＵＤＰレイヤトポロジ探索部１６３、およびアプリケーションレイヤトポロジ探索部１６４を備える。
【００３５】
ＭＡＣレイヤトポロジ探索部１６１は、物理接続情報１５２と設定情報１５３を入力として、ＭＡＣレイヤのトポロジ探索処理を行い、ＭＡＣレイヤのトポロジ１７１を出力する。ＩＰレイヤトポロジ探索部１６２は、ＭＡＣレイヤのトポロジ１７１と設定情報１５３を入力として、ＩＰレイヤのトポロジ探索処理を行い、ＩＰレイヤのトポロジ１７２を出力する。
【００３６】
ＴＣＰ／ＵＤＰレイヤトポロジ探索部１６３は、ＩＰレイヤのトポロジ１７２と設定情報１５３を入力として、ＴＣＰ／ＵＤＰレイヤのトポロジ探索処理を行い、ＴＣＰ／ＵＤＰレイヤのトポロジ１７３を出力する。アプリケーションレイヤトポロジ探索部１６４は、ＴＣＰ／ＵＤＰレイヤのトポロジ１７３と設定情報１５３を入力として、アプリケーションレイヤのトポロジ探索処理を行い、アプリケーションレイヤのトポロジ１７４を出力する。
【００３７】
次に、図６乃至１６を参照しながら、トポロジ探索装置の入出力データの具体例について説明する。図６乃至１０において、各機器の黒丸はコネクタを表し、黒丸間を繋ぐ太線はリンクを表す。
【００３８】
図６は、物理接続情報１５２として入力される物理レイヤのトポロジの例を示している。図６のトポロジを有するネットワークは、ファイヤウォール２０１（ＦｉｒｅＷａｌｌ）、ルータ２０２、２０３（Ｒｏｕｔｅｒ）、スイッチ２０４乃至２０８（Ｓｗｉｔｃｈ）、パーソナルコンピュータ２０９乃至２１１（ＰＣ）、およびサーバ２１２（Ｗｅｂ）、２１３（ＤＮＳ）、２１４（ＡＰＰ）、２１５（ＤＢ）、２１６（ＤＢ）の各機器で構成される。
【００３９】
ファイヤウォール２０１は、ＴＣＰ／ＵＤＰレイヤでパケットフィルタリングを行い、ルータ２０２および２０３は、ＩＰレイヤでパケット転送を行い、スイッチ２０４乃至２０８は、ＭＡＣレイヤでパケット転送を行う。パーソナルコンピュータ２０９乃至２１１は、ネットワークサービスを利用する端末であり、サーバ２１２は、アプリケーションレイヤでＷｅｂサービスを提供する端末である。
【００４０】
サーバ２１３は、ＩＰレイヤで名前解決サービスを提供し、サーバ２１４は、アプリケーションレイヤでミドルウェアサービスを提供し、サーバ２１５および２１６は、アプリケーションレイヤでデータベースサービスを提供する。
【００４１】
機器間を繋ぐ物理接続は、図６に示されるように、各機器の物理レイヤのコネクタ同士を接続するリンクとして表現される。パーソナルコンピュータ２０９はスイッチ２０４に接続されており、スイッチ２０４はルータ２０２に接続されている。パーソナルコンピュータ２１０および２１１はそれぞれスイッチ２０５および２０６に接続されており、スイッチ２０５はスイッチ２０６に接続されている。スイッチ２０６は２本のリンクでルータ２０２に接続されており、ルータ２０２はファイヤウォール２０１に接続されている。
【００４２】
サーバ２１２および２１３はスイッチ２０７に接続されており、スイッチ２０７はファイヤウォール２０１に接続されている。サーバ２１４および２１６はスイッチ２０８に接続されており、スイッチ２０８はルータ２０３に接続されている。サーバ２１５はルータ２０３に接続されており、ルータ２０３はファイヤウォール２０１に接続されている。
【００４３】
トポロジ探索装置２１７（ＭＧＲ）は、図５のトポロジ探索装置１０２に対応し、ネットワークの任意の位置に接続することができる。この例では、トポロジ探索装置２１７がスイッチ２０８に接続されている。トポロジ探索装置２１７は、ネットワークを介して各機器から設定情報１５３を収集することができ、自分自身を情報取得対象から外すことで、トポロジ探索装置２１７を含まないネットワークのトポロジを求めることが可能である。
【００４４】
図７は、ＭＡＣレイヤトポロジ探索部１６１が出力するＭＡＣレイヤのトポロジ１７１の例を示している。ＭＡＣレイヤトポロジ探索部１６１は、設定情報１５３の中のスイッチ２０４乃至２０８の機器設定情報に含まれるブリッジング情報、仮想ローカルエリアネットワーク（Virtual Local Area Network，ＶＬＡＮ）情報、およびリンクアグリゲーション情報に基き、ＭＡＣレイヤのみの情報で通信可能なコネクタを結ぶように、物理接続情報１５２をグループ化し、ＭＡＣレイヤのトポロジ１７１として出力する。
【００４５】
スイッチのブリッジング情報を参照すれば、そのスイッチ内でデータ転送可能な物理レイヤのコネクタの組み合わせが分かり、それらのコネクタを接続することで複数の物理接続を統合することができる。また、スイッチのリンクアグリゲーション情報を参照すれば、スイッチ内のコネクタを端点とする物理レイヤのリンクのうち、リンクアグリゲーションにより集約されているリンク同士を統合することができる。
【００４６】
さらに、スイッチのＶＬＡＮ情報を参照すれば、スイッチ内のコネクタを端点とする物理レイヤのリンクに割り当てられたＶＬＡＮの種別が分かり、そのリンクをＶＬＡＮの数だけのＭＡＣレイヤのリンクに分離することができる。
【００４７】
図７の例では、パーソナルコンピュータ２０９とスイッチ２０４の物理接続と、スイッチ２０４とルータ２０２の物理接続が、スイッチ２０４のブリッジング情報により統合され、１本のリンクで表されている。
【００４８】
同様に、パーソナルコンピュータ２１０および２１１からルータ２０２までの物理接続が、スイッチ２０５および２０６のブリッジング情報とスイッチ２０６のリンクアグリゲーション情報により統合されている。特に、物理レイヤにおいて２本のリンクにより表されているルータ２０２とスイッチ２０６の物理接続は、リンクアグリゲーション情報により統合され、１本のリンクで表されている。また、ルータ２０３とスイッチ２０８の物理接続は、スイッチ２０８のＶＬＡＮ情報により２本のリンクに分離されている。
【００４９】
図８は、ＩＰレイヤトポロジ探索部１６２が出力するＩＰレイヤのトポロジ１７２の例を示している。ＩＰレイヤトポロジ探索部１６２は、設定情報１５３の中のルータ２０２および２０３の機器設定情報に含まれるルーティング情報に基き、ＩＰレイヤの情報で通信可能なコネクタを結ぶように、ＭＡＣレイヤのトポロジ１７１をグループ化し、ＩＰレイヤのトポロジ１７２として出力する。
【００５０】
ルータのルーティング情報を参照すれば、そのルータ内でデータ転送可能なＭＡＣレイヤのコネクタの組み合わせが分かり、それらのコネクタを接続することで複数の論理接続を統合することができる。
【００５１】
図８の例では、パーソナルコンピュータ２０９とルータ２０２の論理接続と、パーソナルコンピュータ２１０、２１１、およびルータ２０２の論理接続と、ルータ２０２とファイヤウォール２０１の論理接続が、ルータ２０２のルーティング情報により統合されている。同様に、サーバ２１４とファイヤウォール２０１の論理接続と、サーバ２１５とサーバ２１６の論理接続が、ルータ２０３のルーティング情報により統合されている。
【００５２】
図９は、ＴＣＰ／ＵＤＰレイヤトポロジ探索部１６３が出力するＴＣＰ／ＵＤＰレイヤのトポロジ１７３の例を示している。ＴＣＰ／ＵＤＰレイヤトポロジ探索部１６３は、設定情報１５３の中のファイヤウォール２０１の機器設定情報に含まれるパケットフィルタリング情報に基き、ＩＰレイヤのトポロジ１７２をグループ化し、ＴＣＰ／ＵＤＰレイヤのトポロジ１７３として出力する。
【００５３】
ファイヤウォールのパケットフィルタリング情報を参照すれば、ＩＰレイヤのコネクタ間においてデータ転送が可能か否かを判定することができ、転送可能なコネクタ同士を接続するトポロジを求めることができる。ただし、ＴＣＰ／ＵＤＰレイヤでのサービスを行う機器はポート番号毎に異なる挙動を示すため、ＴＣＰ／ＵＤＰレイヤのトポロジもポート番号毎に求める必要がある。
【００５４】
図９では、ファイヤウォール２０１のパケットフィルタリング情報により、ＴＣＰ８０のポート番号についてトポロジを求める例が示されている。ＴＣＰ８０のトポロジは、パーソナルコンピュータ２０９、２１０、２１１、およびサーバ２１２の間の論理接続を表している。他のポート番号についても、同様にしてトポロジが求められる。
【００５５】
図１０は、アプリケーションレイヤトポロジ探索部１６４が出力するアプリケーションレイヤのトポロジ１７４の例を示している。アプリケーションレイヤトポロジ探索部１６４は、設定情報１５３の中のサーバ２１２乃至２１６の機器設定情報に含まれるアプリケーション情報に基き、ＴＣＰ／ＵＤＰレイヤのトポロジ１７３とアプリケーションの識別情報を関連付け、アプリケーションレイヤのトポロジ１７４として出力する。
【００５６】
サーバのアプリケーション情報を参照すれば、ＴＣＰ／ＵＤＰレイヤのコネクタ間において、そのサーバ上で動作しているアプリケーションによりデータ転送が可能か否かを判定することができ、転送可能なコネクタ同士を接続するトポロジを求めることができる。ただし、アプリケーションレイヤのトポロジは、起動しているサーバにより提供されるサービス毎に求める必要がある。
【００５７】
図１０では、サーバ２１２のアプリケーション情報により、Ｗｅｂサービスについてトポロジを求める例が示されている。このＷｅｂサービスのトポロジは、パーソナルコンピュータ２０９、２１０、およびサーバ２１２の間の論理接続を表している。ここでは、サーバ２１２は、Ｗｅｂサービスを提供するアプリケーションプログラムであるＷｅｂサーバＺを搭載しており、パーソナルコンピュータ２０９および２１０は、Ｗｅｂサービスを利用可能なアプリケーションプログラムであるブラウザＸおよびＹをそれぞれ搭載している。パーソナルコンピュータ２１１はブラウザを搭載していないので、この論理接続から除外されている。他のサービスについても、同様にしてトポロジが求められる。
【００５８】
図１１は、設定情報１５３に含まれる各機器の機器設定情報の例を示している。図１１の機器設定情報は、パーソナルコンピュータ２０９の機器設定情報を表しており、ノード名、機種、インタフェース、および経路表を含む。ノード名は機器の識別情報であり、機種は機器の種類を示す情報であり、インタフェースは、機器に設けられた通信インタフェースの情報であり、経路表は各インタフェースが通信に用いる経路の情報である。
【００５９】
パーソナルコンピュータ２０９にはインタフェースが１つ設けられており、インタフェースの情報には、その番号、名前、ＭＡＣアドレス、およびＩＰアドレスが含まれる。また、経路表には、宛先ＩＰアドレス、送出インタフェースの名前、次経路ＩＰアドレス、および優先度がエントリ毎に登録されている。
【００６０】
これらの情報の他に、スイッチの機器設定情報にはブリッジング情報、ＶＬＡＮ情報、およびリンクアグリゲーション情報が含まれており、ルータの機器設定情報にはルーティング情報が含まれており、ファイヤウォールの機器設定情報にはパケットフィルタリング情報が含まれている。また、サーバの機器設定情報にはアプリケーション情報が含まれている。
【００６１】
図１２、１３、１４、１５、および１６は、それぞれ図６、７、８、９、および１０に示した各レイヤのトポロジのデータを示している。図１２の物理レイヤのトポロジのデータは、トポロジ探索装置１０２の入力データであり、図１３乃至１６の各レイヤのトポロジのデータは、トポロジ探索装置１０２の出力データである。
【００６２】
各レイヤのトポロジのデータには、そのレイヤにおける物理／論理接続の識別情報（接続ＩＤ）毎に、接続されているノードの名前が記述されており、図１２乃至１５のトポロジのデータには、接続ＩＤ毎に、その接続に含まれるコネクタ（インタフェース）の名前が記述されている。
【００６３】
さらに、図１３のＭＡＣレイヤのトポロジのデータには、各コネクタのＭＡＣアドレスが記述されており、図１４のＩＰレイヤのトポロジのデータには、各コネクタのＩＰアドレスが記述されており、図１５のＴＣＰ／ＵＤＰレイヤのトポロジのデータには、各コネクタのポート番号の指定が記述されている。また、図１６のアプリケーションレイヤのトポロジのデータには、各ノードにおいて動作しているアプリケーションプログラムの識別情報が記述されている。
【００６４】
次に、図１７乃至２０を参照しながら、図５のトポロジ探索装置１０２によるトポロジ探索処理についてより詳細に説明する。
図１７は、ＭＡＣレイヤトポロジ探索部１６１によるＭＡＣレイヤトポロジ探索処理のフローチャートである。ＭＡＣレイヤトポロジ探索部１６１は、まず、外部記憶装置から物理接続情報１５２を読み込んで物理レイヤのトポロジ１７１１としてメモリに格納し、設定情報１５３を読み込んで、それに含まれる機器毎のＶＬＡＮ情報１７１２、機器毎のリンク冗長・リンク多重情報１７１３、および機器毎のＭＡＣレイヤのコネクタ１７１４を抽出してメモリに格納する（ステップ１７０１）。
【００６５】
リンク冗長・リンク多重情報１７１３およびＭＡＣレイヤのコネクタ１７１４は、上述したリンクアグリゲーション情報およびブリッジング情報にそれぞれ対応する。
次に、リンク冗長・リンク多重情報１７１３から物理レイヤのトポロジをグループ化して、ＭＡＣレイヤの隣接関係（リンク）１７１５を生成し、メモリに格納する（ステップ１７０２）。次に、ＶＬＡＮ情報１７１２を用いて各ＶＬＡＮに属するＭＡＣレイヤのコネクタをグループ化して、ＶＬＡＮ毎のＭＡＣレイヤのコネクタのグループ１７１６を生成し、メモリに格納する（ステップ１７０３）。
【００６６】
次に、ＭＡＣレイヤのコネクタのグループ毎にリンクをまとめて、ＭＡＣレイヤの情報到達範囲（リーチ）１７１７を生成し、メモリに格納する（ステップ１７０４）。次に、ＭＡＣレイヤのリンクとＭＡＣレイヤのリーチを結合して、ＭＡＣレイヤのトポロジ１７１８を生成し、メモリに格納する（ステップ１７０５）。そして、ＭＡＣレイヤのトポロジ１７１８を、ＭＡＣレイヤのトポロジ１７１として外部記憶装置に書き出す（ステップ１７０６）。
【００６７】
図１８は、ＩＰレイヤトポロジ探索部１６２によるＩＰレイヤトポロジ探索処理のフローチャートである。ＩＰレイヤトポロジ探索部１６２は、まず、外部記憶装置からＭＡＣレイヤのトポロジ１７１を読み込んでＭＡＣレイヤのトポロジ１８１１としてメモリに格納し、設定情報１５３を読み込んで、それに含まれる機器毎のＩＰフォワーディング設定１８１２、機器毎のＴＣＰ／ＵＤＰレイヤ以上のレイヤでのサービスの設定１８１３、および機器毎のＩＰレイヤのコネクタ１８１４を抽出してメモリに格納する（ステップ１８０１）。ＩＰフォワーディング設定１８１２は、上述したルーティング情報に対応する。
【００６８】
次に、ＩＰレイヤのコネクタ１８１４のＩＰアドレスから各コネクタが属するサブネットを算出し、サブネット毎にコネクタをグループ化して、ＩＰレイヤの隣接関係（リンク）１８１５を生成し、メモリに格納する（ステップ１８０２）。次に、ＩＰフォワーディングを行っており、かつ、ＴＣＰ／ＵＤＰレイヤでのサービスを提供していない機器について、機器が属するリンク同士をグループ化して、ＩＰレイヤのリーチ１８１６を生成し、メモリに格納する（ステップ１８０３）。ＩＰフォワーディングを行っている機器とは、ＩＰレイヤでのデータ中継を行っている機器を指す。
【００６９】
次に、ＩＰレイヤのリンクとＩＰレイヤのリーチを結合して、ＩＰレイヤのトポロジ１８１７を生成し、メモリに格納する（ステップ１８０４）。そして、ＩＰレイヤのトポロジ１８１７を、ＩＰレイヤのトポロジ１７２として外部記憶装置に書き出す（ステップ１８０５）。
【００７０】
図１９は、ＴＣＰ／ＵＤＰレイヤトポロジ探索部１６３によるＴＣＰ／ＵＤＰレイヤトポロジ探索処理のフローチャートである。ＴＣＰ／ＵＤＰレイヤトポロジ探索部１６３は、まず、外部記憶装置からＩＰレイヤのトポロジ１７２を読み込んでＩＰレイヤのトポロジ１９１１としてメモリに格納し、設定情報１５３を読み込んで、それに含まれる機器毎のフィルタ／ＮＡＴ（Network Address Translation ）設定１９１２および機器毎のＴＣＰ／ＵＤＰレイヤのコネクタ１９１３を抽出してメモリに格納する（ステップ１９０１）。フィルタ／ＮＡＴ設定１９１２は、上述したパケットフィルタリング情報に対応する。
【００７１】
次に、ＩＰレイヤのトポロジ１９１１のリーチ毎に、リーチに属するすべての機器の通信可能なＴＣＰ／ＵＤＰレイヤのコネクタをまとめて、ＴＣＰ／ＵＤＰレイヤの隣接関係（リンク）１９１４を生成し、メモリに格納する（ステップ１９０２）。次に、フィルタ／ＮＡＴサービスを提供している機器の設定ルール毎に、フィルタにより接続されるＴＣＰ／ＵＤＰレイヤのリンク同士をグループ化して、ＴＣＰ／ＵＤＰレイヤのリーチ１９１５を生成し、メモリに格納する（ステップ１９０３）。
【００７２】
次に、ＴＣＰ／ＵＤＰレイヤのリンクとＴＣＰ／ＵＤＰレイヤのリーチを結合して、ＴＣＰ／ＵＤＰレイヤのトポロジ１９１６を生成し、メモリに格納する（ステップ１９０４）。そして、ＴＣＰ／ＵＤＰレイヤのトポロジ１９１６を、ＴＣＰ／ＵＤＰレイヤのトポロジ１７３として外部記憶装置に書き出す（ステップ１９０５）。
【００７３】
図２０は、アプリケーションレイヤトポロジ探索部１６４によるアプリケーションレイヤトポロジ探索処理のフローチャートである。アプリケーションレイヤトポロジ探索部１６４は、まず、外部記憶装置からＴＣＰ／ＵＤＰレイヤのトポロジ１７１を読み込んでＴＣＰ／ＵＤＰレイヤのトポロジ２０１１としてメモリに格納し、設定情報１５３を読み込んで、それに含まれる機器毎のアプリケーションサービスの設定２０１２および機器毎のアプリケーションレイヤのコネクタ２０１３を抽出してメモリに格納する（ステップ２００１）。アプリケーションサービスの設定２０１２は、上述したアプリケーション情報に対応する。
【００７４】
次に、ＴＣＰ／ＵＤＰレイヤのトポロジ２０１１のリーチ毎に、リーチに属するすべての機器の通信可能なアプリケーションレイヤのコネクタをまとめて、アプリケーションレイヤの隣接関係（リンク）２０１４を生成し、メモリに格納する（ステップ２００２）。次に、アプリケーションサービスを提供している機器の設定ルール毎に、サービスにより接続されるアプリケーションレイヤのリンク同士をグループ化して、アプリケーションレイヤのリーチ２０１５を生成し、メモリに格納する（ステップ２００３）。
【００７５】
次に、アプリケーションレイヤのリンクとアプリケーションレイヤのリーチを結合して、アプリケーションレイヤのトポロジ２０１６を生成し、メモリに格納する（ステップ２００４）。そして、アプリケーションレイヤのトポロジ２０１６を、アプリケーションレイヤのトポロジ１７４として外部記憶装置に書き出す（ステップ２００５）。
【００７６】
このようなトポロジ探索処理によれば、物理レイヤからアプリケーションレイヤに向かって、下位のレイヤより順番に情報到達範囲が生成されていく。したがって、得られた各レイヤのトポロジは、それより下位のレイヤのデータ到達性により裏付けられたものとなっている。
【００７７】
次に、通信データの通過経路を探索するトポロジ探索装置について説明する。図２１は、このようなトポロジ探索装置を示している。図２１のトポロジ探索装置２１０２は、複数のレイヤにわたって関連付けられたトポロジ１０３、ネットワーク内の各機器から取得した設定情報１０１、および通信の始点と終点２１０１に基いて、通信データの通過経路２１０３を探索して出力する。
【００７８】
このとき、トポロジ探索装置２１０２は、ネットワーク内の任意の２点間について、指定されたアプリケーションによるデータの到達の可否と、到達可能な場合のデータの通過経路を判定し、ネットワークのデータ到達性を管理する。これにより、そのアプリケーションにおいて、任意のサービスのデータが通過する機器とその順序を求め、通過経路やその他のサービスが使用する機器を把握することが可能になる。
【００７９】
図２２は、図２１のトポロジ探索装置２１０２の構成図である。図２２のトポロジ探索装置２１０２は、例えば、ＣＰＵとメモリを備えた情報処理装置を用いて構成され、図５のトポロジ探索装置１０２に、経路探索部２２０１を追加した構成を有する。経路探索部２２０１は、次経路判定部２２１１および動的情報算出部２２１２を備え、探索対象情報２２１３および次探索対象情報２２１４をメモリ内に保持する。
【００８０】
経路探索部２２０１は、各機器の設定情報１５３、複数レイヤにわたるトポロジ２２０２、および探索条件２２０３を入力として経路探索処理を行い、データ通過経路２２０４をディスプレイ等を介して出力する。
【００８１】
トポロジ２２０２は、図５のトポロジ１５４に、物理接続情報１５２に対応する物理レイヤのトポロジ２２４１を追加した構成を有し、探索条件２２０３は、通信の始点と終点となるネットワーク内の２点２２５１およびサービスの種類２２５２の情報を含む。ネットワーク内の２点２２５１およびデータ通過経路２２０４は、それぞれ図２１の通信の始点と終点２１０１および通信データの通過経路２１０３に対応する。ネットワーク内の２点２２５１は、利用者により指定されるノード名やＩＰアドレス等である。
【００８２】
探索対象情報２２１３は、現在のコネクタ２２２１および直前のコネクタ２２２２の情報を含み、次探索対象情報２２１４は、上位レイヤのコネクタ２２３１および下位レイヤのコネクタ２２３２の情報を含む。また、データ通過経路２２０４は、データが通過したコネクタ２２４１−１乃至２２４１−ｎの情報を含む。
【００８３】
図２３は、現在のコネクタ２２２１、直前のコネクタ２２２２、上位レイヤのコネクタ２２３１、下位レイヤのコネクタ２２３２、およびデータが通過したコネクタ２２４１−１乃至２２４１−ｎの各コネクタ情報のデータ構造を示している。図２３のコネクタ情報２３０１は、該当するコネクタが属する機器名２３１１、レイヤの識別情報２３１２、および同一レイヤ内でコネクタを一意に識別するためのコネクタ識別子２３１３を含む。
【００８４】
図２４乃至２９は、次経路判定部２２１１による経路探索処理のフローチャートであり、図３０は、図２４のステップ２４０８および図２８のステップ２８１３において動的情報算出部２２１２が行う宛先探索処理のフローチャートである。経路探索処理では、２点間の任意のサービスにおけるデータ通過経路が求められる。
【００８５】
探索条件２２０３が入力されると、ネットワーク内の２点２２５１の情報は、図２４に示すように、探索始点２４１１（通信の始点）および探索終点２４１２（通信の終点）としてメモリに格納される。
【００８６】
次経路判定部２２１１は、まず、探索始点２４１１、探索終点２４１２、トポロジ２２０２、および設定情報１５３を参照して、初期化処理を行い（図２４のステップ２４０１）、始点・終点決定処理を行って（ステップ２４０２）、始点および終点が得られたか否かをチェックする（ステップ２４０３）。
【００８７】
ステップ２４０１の初期化処理では、設定情報１５３を機器設定情報２４２１としてメモリに格納し、現在のコネクタ２２２１、直前のコネクタ２２２２、上位レイヤのコネクタ２２３１、および下位レイヤのコネクタ２２３２を空にする。ステップ２４０２の始点・終点決定処理では、機器設定情報２４２１を参照し、サービスの種類２２５２により指定されたサービスの設定情報に基いて、探索始点２４１１および探索終点２４１２にそれぞれ対応する始点のコネクタおよび終点のコネクタを探索する。
【００８８】
始点および終点が得られなければ、探索が失敗したものとしてエラー表示を行い（ステップ２４１０）、処理を終了する。始点および終点が得られれば、始点のコネクタを現在のコネクタ２２２１に登録する（ステップ２４０４）。
【００８９】
次に、機器設定情報２４２１を参照して、始点のコネクタから終点のコネクタへの通信を行う際に必要な宛先を探索し（ステップ２４０５）、宛先が得られたか否かをチェックする（ステップ２４０６）。宛先が得られれば、機器設定情報２４２１を参照して、現在のコネクタ２２２１の下位レイヤのコネクタを抽出し、下位レイヤのコネクタ２２３２に登録する（ステップ２４０７）。
【００９０】
ステップ２４０６において宛先が得られない場合、または名前解決等の方法により宛先を動的に取得する必要がある場合（他の機器への問い合わせが必要な場合等）は、動的情報算出部２２１２に対して動的情報による宛先探索を依頼する（ステップ２４０８）。動的情報算出部２２１２は、ネットワークの他の機器の設定情報から宛先を調べ、得られた宛先を次経路判定部２２１１に返す。
【００９１】
次経路判定部２２１１は、宛先が得られたか否かをチェックし（ステップ２４０９）、得られない場合はステップ２４１０の処理を行って、処理を終了する。ステップ２４０９において宛先が得られれば、ステップ２４０７以降の処理を行う。
【００９２】
次に、得られた宛先に基いて、下位レイヤのコネクタ２２３２の中からデータ送信に使用されるコネクタを選定し（図２５のステップ２５０１）、コネクタを選定できたか否かをチェックする（ステップ２５０２）。コネクタを選定できない場合は、エラー表示を行って（ステップ２５０６）、処理を終了する。
【００９３】
ステップ２５０１の下位コネクタ選定処理では、機器設定情報２４２１を参照して、現在のレイヤと下位レイヤを関連付ける情報を利用する。例えば、現在のコネクタ２２２１がＩＰレイヤにあり、宛先となるＩＰアドレスが分かっているとすると、以下の手順で下位レイヤのコネクタが選定されるとともに、下位レイヤにおける宛先が決定される。
（１）機器設定情報２４２１から、現在のコネクタ２２２１を有する機器の、現在のレイヤに該当する図１１のような経路表を参照する。そして、現在の宛先に一致する宛先ＩＰアドレスを有するエントリの次経路ＩＰアドレスと送出インタフェースの名前を取得する。得られた送出インタフェースが下位レイヤのコネクタとなる。
（２）機器設定情報２４２１から、次経路ＩＰアドレスに該当するＩＰアドレスを持つインタフェースを探し、該当するインタフェースのＭＡＣアドレスを取得する。得られたＭＡＣアドレスが下位レイヤにおける宛先となる。
【００９４】
下位レイヤのコネクタを選定できた場合は、現在のコネクタ２２２１を直前のコネクタ２２２２へ複写し（ステップ２５０３）、選定された下位レイヤのコネクタを現在のコネクタ２２２１に複写する（ステップ２５０４）。そして、機器設定情報２４２１を参照して、現在のコネクタ２２２１の上位レイヤのコネクタを抽出し、上位レイヤのコネクタ２２３１に登録するとともに、現在のコネクタ２２２１の下位レイヤのコネクタを抽出し、下位レイヤのコネクタ２２３２に登録する（ステップ２５０５）。
【００９５】
次に、現在のコネクタ２２２１の属するレイヤを調べ（図２６のステップ２６０１）、そのレイヤが物理レイヤであるか否かをチェックする（ステップ２６０２）。現在のコネクタ２２２１のレイヤが物理レイヤである場合、現在のコネクタ２２２１の機器名と直前のコネクタ２２２２の機器名を比較する（図２７のステップ２７０１）。
【００９６】
現在のコネクタ２２２１の機器名と直前のコネクタ２２２２の機器名が等しくなければ、上位レイヤのコネクタ２２３１の中からコネクタを選定し（ステップ２７０９）、コネクタを選定できたか否かをチェックする（ステップ２７１０）。コネクタを選定できない場合は、エラー表示を行って（ステップ２７１４）、処理を終了する。
【００９７】
コネクタを選定できた場合は、現在のコネクタ２２２１を直前のコネクタ２２２２へ複写し（ステップ２７１１）、選定された上位レイヤのコネクタを現在のコネクタ２２２１に複写する（ステップ２７１２）。そして、機器設定情報２４２１を参照して、現在のコネクタ２２２１の上位レイヤのコネクタを抽出し、上位レイヤのコネクタ２２３１に登録するとともに、現在のコネクタ２２２１の下位レイヤのコネクタを抽出し、下位レイヤのコネクタ２２３２に登録する（ステップ２７１３）。
【００９８】
次に、現在のコネクタ２２２１のレイヤと直前のコネクタ２２２２のレイヤを比較する（図２８のステップ２８０１）。現在のコネクタ２２２１のレイヤより直前のコネクタ２２２のレイヤが上位であれば、機器設定情報２４２１を参照して、現在のコネクタ２２２１のレイヤにおけるサービスの設定情報に基いて宛先を求め、その宛先に該当する下位レイヤのコネクタを選定する（ステップ２８０２）。そして、宛先および下位レイヤのコネクタが得られたか否かをチェックする（ステップ２８０３）。宛先および下位レイヤのコネクタが得られない場合は、エラー表示を行って（ステップ２８０７）、処理を終了する。
【００９９】
例えば、現在の機器がスイッチであり、現在のコネクタ２２２１がＭＡＣレイヤのコネクタである場合、ステップ２８０２において、そのスイッチのＭＡＣレイヤにおけるサービスの設定情報であるＭＡＣ学習テーブルから、宛先に該当する物理レイヤのコネクタが決定される。このとき、図３１に示すようなスイッチのＶＬＡＮ設定が参照され、現在のコネクタ２２２１と宛先に該当する物理レイヤのコネクタが同じＶＬＡＮに属していない場合は、決定が無効化される。
【０１００】
宛先および下位レイヤのコネクタが得られた場合は、現在のコネクタ２２２１を直前のコネクタ２２２２へ複写し（ステップ２８０４）、得られた下位レイヤのコネクタを現在のコネクタ２２２１に複写する（ステップ２８０５）。そして、機器設定情報２４２１を参照して、現在のコネクタ２２２１の上位レイヤのコネクタを抽出し、上位レイヤのコネクタ２２３１に登録するとともに、現在のコネクタ２２２１の下位レイヤのコネクタを抽出し、下位レイヤのコネクタ２２３２に登録する（ステップ２８０６）。
【０１０１】
次に、現在のコネクタ２２２１と終点のコネクタを比較する（図２９のステップ２９０１）。現在のコネクタ２２２１が終点のコネクタと等しければ、これまでの探索処理の過程で辿ったコネクタの情報をデータ通過経路２２０４として出力し（ステップ２９０２）、処理を終了する。現在のコネクタ２２２１が終点のコネクタと等しくない場合は、図２６のステップ２６０１以降の処理を繰り返す。
【０１０２】
図２８のステップ２８０１において現在のコネクタ２２２１のレイヤより直前のコネクタ２２２２のレイヤが下位であれば、機器設定情報２４２１を参照して、現在のコネクタ２２２１のレイヤにおけるサービスの設定情報に基いて宛先を求め、その宛先に該当する下位レイヤのコネクタを選定する（ステップ２８０８）。そして、宛先および下位レイヤのコネクタが得られたか否かをチェックする（ステップ２８０９）。
【０１０３】
宛先および下位レイヤのコネクタが得られた場合、現在のコネクタ２２２１を直前のコネクタ２２２２へ複写し（ステップ２８１０）、得られたコネクタを現在のコネクタ２２２１に複写する（ステップ２８１１）。そして、機器設定情報２４２１を参照して、現在のコネクタ２２２１の上位レイヤのコネクタを抽出し、上位レイヤのコネクタ２２３１に登録するとともに、現在のコネクタ２２２１の下位レイヤのコネクタを抽出し、下位レイヤのコネクタ２２３２に登録する（ステップ２８１２）。その後、図２９のステップ２９０１以降の処理を行う。
【０１０４】
ステップ２８０９において宛先が得られない場合、または名前解決等の方法により宛先を動的に取得する必要がある場合は、動的情報算出部２２１２に対して動的情報による宛先探索を依頼する（ステップ２８１３）。そして、動的情報算出部２２１２から宛先が得られたか否かをチェックし（ステップ２８１４）、宛先が得られればステップ２８１０以降の処理を行う。
【０１０５】
宛先が得られない場合は、現在の宛先を変更せずに、現在のコネクタ２２２１と繋がっている上位レイヤのコネクタを選定し（ステップ２８１５）、コネクタを選定できたか否かをチェックする（ステップ２８１６）。コネクタを選定できた場合は、そのコネクタを宛先に設定して（ステップ２８１７）、ステップ２８１０以降の処理を行う。コネクタを選定できない場合は、エラー表示を行って（ステップ２８１８）、処理を終了する。
【０１０６】
図２７のステップ２７０１において現在のコネクタ２２２１の機器名と直前のコネクタ２２２２の機器名が等しければ、複数レイヤにわたるトポロジ２２０２を参照して、現在のコネクタ２２２１を含む物理接続の先にある機器のコネクタを選定し（ステップ２７０２）、コネクタが選定できたか否かをチェックする（ステップ２７０３）。コネクタを選定できない場合は、エラー表示を行って（ステップ２７０８）、処理を終了する。
【０１０７】
コネクタを選定できた場合、選定された物理レイヤのコネクタの１つを取り出し（ステップ２７０４）、現在のコネクタ２２２１を直前のコネクタ２２２２へ複写し（ステップ２７０５）、取り出されたコネクタを現在のコネクタ２２２１に複写する（ステップ２７０６）。そして、機器設定情報２４２１を参照して、現在のコネクタ２２２１の上位レイヤの１つ以上のコネクタを抽出し、上位レイヤのコネクタ２２３１に登録して（ステップ２７０７）、ステップ２７０１以降の処理を繰り返す。
【０１０８】
図２６のステップ２６０２において現在のコネクタ２２２１のレイヤが物理レイヤでない場合は、図２８のステップ２８０１以降の処理を行う。
次に、図３０を参照しながら、図２４のステップ２４０８および図２８のステップ２８１３において行われる宛先探索処理について説明する。次経路判定部２２１１は、動的情報算出部２２１２に対して宛先探索処理を依頼するときに、現在のコネクタのレイヤ３０１１および現在の宛先３０１２の情報を動的情報算出部２２１２に渡す。ステップ２４０８では、終点の宛先が現在の宛先３０１２として渡され、ステップ２８１３では、直前の宛先が現在の宛先３０１２として渡される。
【０１０９】
また、動的情報算出部２２１２は、あらかじめ設定情報１５３から機器毎の経路表３０２１、機器毎のＡＲＰ（Address Resolution Protocol ）テーブル３０２２、スイッチのＭＡＣ学習テーブル３０２３、機器毎のホスト名３０２４、機器毎のＩＰアドレス３０２５、および機器毎のＭＡＣアドレス３０２６を抽出し、メモリに格納しておく。ＡＲＰテーブル３０２２は、機器のＩＰアドレスとＭＡＣアドレスを対応付けるためのテーブルである。
【０１１０】
図６に示したネットワークの場合、スイッチのＭＡＣ学習テーブル３０２３および機器毎のＭＡＣアドレス３０２６は、例えば、図３２および３３に示すようなデータを含んでいる。図３２のＭＡＣ学習テーブルには、各ノードのポート毎に、学習されたＭＡＣアドレスが登録されており、図３３のＭＡＣアドレスには、各ノードのコネクタ毎に、コネクタ番号、コネクタ名、およびＭＡＣアドレスが登録されている。
【０１１１】
動的情報算出部２２１２は、まず、現在のコネクタのレイヤ３０１１、および現在の宛先３０１２を読み込む（ステップ３００１）。次に、機器毎の経路表３０２１、機器毎のＡＲＰテーブル３０２２、スイッチのＭＡＣ学習テーブル３０２３、機器毎のホスト名３０２４、機器毎のＩＰアドレス３０２５、および機器毎のＭＡＣアドレス３０２６を参照して、現在のコネクタのレイヤ３０１１における宛先と対応する下位レイヤの宛先を探索し（ステップ３００２）、宛先が得られたか否かをチェックする（ステップ３００３）。
【０１１２】
例えば、現在のコネクタのレイヤ３０１１がＩＰレイヤの場合、その下位レイヤであるＭＡＣレイヤの宛先が以下の手順で探索される。
（１）機器毎のＩＰアドレス３０２５から、現在の宛先３０１２のＩＰアドレスと同じＩＰアドレスを持つコネクタを探す。
（２）機器毎のＭＡＣアドレス３０２６から、（１）で求めたコネクタの下位に繋がっている、ＭＡＣレイヤのコネクタのＭＡＣアドレスを取得し、これを下位レイヤの宛先とする。
（３）機器毎の経路表３０２１から、宛先ＩＰアドレスに対応する下位のコネクタを求め、これを次のコネクタとする。
【０１１３】
また、現在のコネクタのレイヤ３０１１がＭＡＣレイヤの場合は、その下位レイヤである物理レイヤの宛先が以下の手順で探索される。
（１）スイッチのＭＡＣ学習テーブル３０２３から、現在の宛先３０１２のＭＡＣアドレスが学習されているコネクタを探す。
（２）（１）で求めたコネクタの下位に繋がっている、物理レイヤのコネクタを求め、これを次のコネクタとする。
（３）物理レイヤでは宛先を必要としないので、宛先は変更しない。
【０１１４】
下位レイヤの宛先が得られれば、その宛先およびコネクタの情報をメモリに書き出して次経路判定部２２１１に渡し（ステップ３００４）、処理を終了する。宛先が得られない場合は、その旨を次経路判定部２２１１に通知して、処理を終了する。
【０１１５】
次に、ネットワーク内の機器同士の物理接続を探索するトポロジ探索装置について説明する。図３４は、このようなトポロジ探索装置を示している。図３４のトポロジ探索装置３４０１は、ネットワーク内の各機器から取得した設定情報１０１に基いて、機器同士の物理接続情報１５２を探索して出力する。このようなトポロジ探索装置によれば、手作業によらずにすべての物理接続を求めることができるため、構成管理の際に物理接続情報１５２を入力する手間が省かれる。したがって、機器の検出からトポロジ探索までの処理を、管理者の手を煩わすことなく正確に実行することが可能になる。
【０１１６】
図３５は、図３４のトポロジ探索装置３４０１の構成図である。図３５のトポロジ探索装置３４０１は、例えば、ＣＰＵとメモリを備えた情報処理装置を用いて構成され、物理接続探索部３５０１を備える。物理接続探索部３５０１は、スイッチ間接続探索部３５１１およびスイッチ−端末間接続探索部３５１２を含み、各機器の設定情報１５３を入力として物理接続を探索し、機器同士の物理接続情報１５２をディスプレイ等を介して出力する。
【０１１７】
図３６は、探索対象のネットワークにおける物理接続の例を示している。このネットワークは、スイッチ３６０１乃至３６０３およびパーソナルコンピュータ３６０４乃至３６１５からなる。
【０１１８】
スイッチ３６０１（スイッチα）はコネクタ１乃至５を有し、コネクタ１、２、３、および４には、パーソナルコンピュータ３６０４、３６０５、３６０６、および３６０７がそれぞれ接続されており、コネクタ５にはスイッチ３６０２が接続されている。
【０１１９】
スイッチ３６０２（スイッチβ）はコネクタ１乃至６を有し、コネクタ１、２、３、および４には、パーソナルコンピュータ３６０８、３６０９、３６１０、および３６１１がそれぞれ接続されており、コネクタ５および６には、スイッチ３６０１および３６０３がそれぞれ接続されている。
【０１２０】
スイッチ３６０３（スイッチγ）はコネクタ１乃至５を有し、コネクタ１、２、３、および４には、パーソナルコンピュータ３６１２、３６１３、３６１４、および３６１５がそれぞれ接続されており、コネクタ５にはスイッチ３６０２が接続されている。
【０１２１】
パーソナルコンピュータ３６０４、３６０５、３６０６、３６０７、３６０８、３６０９、３６１０、３６１１、３６１２、３６１３、３６１４、および３６１５のＭＡＣアドレスは、それぞれＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉ、Ｊ、Ｋ、およびＬである。
【０１２２】
スイッチ３６０１、３６０２、および３６０３は、スイッチングサービスを行うために、図３７に示すようなＭＡＣ学習テーブル３７０１、３７０２、および３７０３をそれぞれ持っている。これらのＭＡＣ学習テーブルには、コネクタ毎に、学習されたパーソナルコンピュータ３６０４乃至３６１５のＭＡＣアドレスが登録されている。
【０１２３】
スイッチ３６０１乃至３６０３およびパーソナルコンピュータ３６０４乃至３６１５の機器設定情報が入力されたとき、物理接続探索部３５０１は、以下の手順で物理接続情報１５２を求める。
【０１２４】
スイッチ間接続探索部３５１１は、スイッチの機器設定情報からＭＡＣ学習テーブル３７０１、３７０２、および３７０３を抽出し、それらのＭＡＣ学習テーブルを参照してスイッチ同士の物理接続を探索する。
【０１２５】
隣接する２台のスイッチ間においては、互いを繋ぐコネクタについて学習されるＭＡＣアドレスは、隣接するスイッチの、互いを繋ぐコネクタ以外のコネクタについて学習されたＭＡＣアドレスの総和である。
【０１２６】
例えば、スイッチαの場合、図３７に示すように、スイッチαと隣接するスイッチβを接続しているコネクタ５については、スイッチβのコネクタ５以外のコネクタに学習されているＭＡＣアドレスＥ、Ｆ、Ｇ、Ｈ、Ｉ、Ｊ、Ｋ、およびＬが学習される。スイッチβとスイッチγについても同様にしてＭＡＣアドレスが学習される。
【０１２７】
スイッチ間接続探索部３５１１は、ネットワーク内の全スイッチのＭＡＣアドレス学習テーブルを調査し、スイッチの各コネクタについて学習されているＭＡＣアドレスのポートを単位とする、論理和での比較が成立するか否かを判定して、スイッチ同士の物理接続を求める。
【０１２８】
スイッチ−端末間接続探索部３５１２は、パーソナルコンピュータ３６０４乃至３６１５のＭＡＣアドレスと、スイッチ間接続探索部３５１１の探索結果から、スイッチと各パーソナルコンピュータの物理接続を探索する。このとき、スイッチ−端末間接続探索部４０４は、各スイッチのＭＡＣアドレス学習テーブル内の、スイッチ同士の接続に使用されていないコネクタのうち、ネットワーク内のスイッチ以外の機器（端末）のＭＡＣアドレスを学習しているコネクタを探索し、該当するコネクタと端末の間の物理接続を求める。
【０１２９】
物理接続は１対１の接続なので、上記探索の結果、１対多の接続が見つかった場合は、その接続の中に他の機器が存在するものと推定する。他の機器とは、管理対象ではないスイッチおよびリピータハブ等のＭＡＣレイヤ以下のサービスを提供する機器を指す。
【０１３０】
図３８は、スイッチ間接続探索部３５１１によるスイッチ間接続探索処理のフローチャートである。スイッチ間接続探索部３５１１は、あらかじめ設定情報１５３からブリッジ（スイッチ）のＭＡＣ学習テーブル３８１１および端末のＭＡＣアドレス３８１２を抽出し、メモリに格納しておく。そして、ステップ３８０１乃至３８０６のループ処理を繰り返す。
【０１３１】
スイッチ間接続探索部３５１１は、まず、ＭＡＣ学習テーブル３８１１を参照して、すべてのブリッジのＭＡＣ学習テーブルから、ＭＡＣアドレスの登録数が最も多いブリッジ・ポート（コネクタ）を探索し、そのポートを（Ａ）としてメモリに保存する（ステップ３８０１）。そして、ポート（Ａ）の登録数が１か否か、および、ポート（Ａ）が前回のループのときと同じポートか否かをチェックする（ステップ３８０２）。
【０１３２】
ポート（Ａ）の登録数が１ではなく、かつ、ポート（Ａ）が前回のループのときと同じポートでなければ、ポート（Ａ）に登録されているＭＡＣアドレスを取得し、そのＭＡＣアドレスを（Ｂ）としてメモリに保存する（ステップ３８０３）。
【０１３３】
そして、ＭＡＣ学習テーブル３８１１を参照して、ポート（Ａ）を有するブリッジ以外のブリッジのＭＡＣ学習テーブルから、登録されたＭＡＣアドレスの論理和がＭＡＣアドレス（Ｂ）と同一になるようなポートの組み合わせを探索し、その組み合わせを（Ｃ）としてメモリに保存する（ステップ３８０４）。
【０１３４】
次に、ポートの組み合わせ（Ｃ）を有するブリッジのＭＡＣ学習テーブルを参照して、（Ｃ）以外の１つのポート（Ｄ）に登録されているＭＡＣアドレスが、ポート（Ａ）を有するブリッジのＭＡＣ学習テーブルに登録された、ポート（Ａ）以外のポートのＭＡＣアドレスの組み合わせと等しいことを確認する（ステップ３８０５）。
【０１３５】
次に、ポート（Ａ）とポート（Ｄ）が接続されていると判断し、ポート（Ａ）とポート（Ｄ）のペア（Ｅ）を１つのリンクとして、メモリ内のリンクテーブル３８２１に登録して、ポート（Ａ）とポートの組み合わせ（Ｃ）を探索対象から除外する（ステップ３８０６）。そして、ステップ３８０１以降の処理を繰り返す。ステップ３８０２においてポート（Ａ）の登録数が１か、または、ポート（Ａ）が前回のループのときと同じポートであれば、処理を終了する。
【０１３６】
図３９は、スイッチ−端末間接続探索部３５１２によるスイッチ−端末間接続探索処理のフローチャートである。スイッチ−端末間接続探索部３５１２は、ステップ３９０１乃至３９０５のループ処理を繰り返す。
【０１３７】
スイッチ−端末間接続探索部３５１２は、まず、ＭＡＣ学習テーブル３８１１を参照して、すべてのブリッジのＭＡＣ学習テーブルから、ＭＡＣアドレスの登録数が１つのポートを探索し（ステップ３９０１）、ポート（Ａ）が得られたか否かをチェックする（ステップ３９０２）。
【０１３８】
ポート（Ａ）が得られれば、そのポートを（Ａ）としてメモリに保存し、ポート（Ａ）に登録されているＭＡＣアドレスを取得して、そのＭＡＣアドレスを（Ｂ）としてメモリに保存する（ステップ３９０３）。
【０１３９】
そして、端末のＭＡＣアドレス３８１２を参照して、ＭＡＣアドレスが（Ｂ）であるようなコネクタを有する端末を探索し、そのコネクタを（Ｃ）としてメモリに保存する（ステップ３９０４）。
【０１４０】
次に、ポート（Ａ）とコネクタ（Ｃ）が接続されていると判断し、ポート（Ａ）とコネクタ（Ｃ）のペア（Ｅ）を１つのリンクとしてリンクテーブル３８２１に登録して、ポート（Ａ）を探索対象から除外する（ステップ３９０５）。そして、ステップ３９０１以降の処理を繰り返す。ステップ３９０２においてポート（Ａ）が得られなければ、処理を終了する。
【０１４１】
物理接続探索部３５０１は、こうして生成されたリンクテーブル３８２１の情報を物理接続情報１５２として出力する。
このような物理接続探索部３５０１を図５のトポロジ探索装置１０２に設ければ、物理接続情報１５２を入力しなくても、複数レイヤにわたるトポロジ１５４を生成することができる。
【０１４２】
以上説明した実施形態では、通信機能の階層構成として図３に示したような５つのレイヤを用いているが、本発明はこの階層構成に限らず、他の階層構成にも同様に適用可能である。
【０１４３】
ところで、図５のトポロジ探索装置１０２、図２２のトポロジ探索装置２１０２、および図３５のトポロジ探索装置３４０１は、例えば、図４０に示すような情報処理装置（コンピュータ）を用いて構成される。図４０の情報処理装置は、ＣＰＵ４００１、メモリ４００２、入力装置４００３、出力装置４００４、外部記憶装置４００５、媒体駆動装置４００６、ネットワーク接続装置４００７を備え、それらはバス４００８により互いに接続されている。
【０１４４】
メモリ４００２は、例えば、ＲＯＭ（read only memory）、ＲＡＭ（random access memory）等を含み、処理に用いられるプログラムおよびデータを格納する。ＣＰＵ４００１は、メモリ４００２を利用してプログラムを実行することにより、必要な処理を行う。
【０１４５】
図５のトポロジ探索部１５１、ＭＡＣレイヤトポロジ探索部１６１、ＩＰレイヤトポロジ探索部１６２、ＴＣＰ／ＵＤＰレイヤトポロジ探索部１６３、アプリケーションレイヤトポロジ探索部１６４、図２２の経路探索部２２０１、次経路判定部２２１１、動的情報算出部２２１２、図３５の物理接続探索部３５０１、スイッチ間接続探索部３５１１、およびスイッチ−端末間接続探索部３５１２は、メモリ４００２に格納されたプログラムに対応する。
【０１４６】
入力装置４００３は、例えば、利用者からの指示や情報の入力に用いられる。出力装置４００４は、例えば、ディスプレイ、プリンタ、スピーカ等であり、利用者への問い合わせや処理結果等の出力に用いられる。
【０１４７】
外部記憶装置４００５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。情報処理装置は、この外部記憶装置４００５に、プログラムおよびデータを格納しておき、必要に応じて、それらをメモリ４００２にロードして使用する。
【０１４８】
媒体駆動装置４００６は、可搬記録媒体４００９を駆動し、その記録内容にアクセスする。可搬記録媒体４００９は、メモリカード、フレキシブルディスク、光ディスク、光磁気ディスク等の任意のコンピュータ読み取り可能な記録媒体である。オペレータは、この可搬記録媒体４００９にプログラムおよびデータを格納しておき、必要に応じて、それらをメモリ４００２にロードして使用する。
【０１４９】
ネットワーク接続装置４００７は、ＬＡＮ（local area network）やインターネット等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う。情報処理装置は、必要に応じて、プログラムおよびデータを外部の装置からネットワーク接続装置４００７を介して受け取り、それらをメモリ４００２にロードして使用する。
【０１５０】
図４１は、図４０の情報処理装置にプログラムおよびデータを提供する方法を示している。可搬記録媒体４００９やサーバ４１０１のデータベース４１１１に格納されたプログラムおよびデータは、情報処理装置４１０２のメモリ４００２にロードされる。サーバ４１０１は、そのプログラムおよびデータを搬送する搬送信号を生成し、ネットワーク上の任意の伝送媒体を介して情報処理装置４１０２に送信する。ＣＰＵ４００１は、そのデータを用いてそのプログラムを実行し、必要な処理を行う。
【０１５１】
（付記１）  複数のレイヤによる階層構成の通信機能を有する通信ネットワークを構成する複数の機器の間のトポロジを探索するトポロジ探索装置であって、
前記複数の機器の機器設定情報を格納する格納手段と、
前記機器設定情報を用いて前記複数のレイヤの中の下位レイヤのトポロジに含まれる接続をグループ化して、上位レイヤにおける情報到達範囲を生成し、該情報到達範囲から上位レイヤのトポロジを生成する生成手段と、
生成されたトポロジの情報を出力する出力手段と
を備えることを特徴とするトポロジ探索装置。
【０１５２】
（付記２）  前記複数のレイヤの中の最下位レイヤのトポロジの情報を入力する入力手段をさらに備え、前記生成手段は、該最下位レイヤのトポロジから順に上位レイヤのトポロジを生成する処理を繰り返して、該最下位レイヤの上位のレイヤから最上位レイヤまでの各レイヤのトポロジを生成することを特徴とする付記１記載のトポロジ探索装置。
【０１５３】
（付記３）  前記機器設定情報と前記下位レイヤおよび上位レイヤのトポロジの情報を用いて、前記通信ネットワーク内の２つの機器間において、指定されたアプリケーションサービスによるデータの通過経路を探索する経路探索手段をさらに備え、前記出力手段は、該データの通過経路の情報を出力することを特徴とする付記１または２記載のトポロジ探索装置。
【０１５４】
（付記４）  通信ネットワークを構成する複数の機器の間のトポロジを探索するトポロジ探索装置であって、
前記複数の機器の機器設定情報を格納する格納手段と、
前記機器設定情報に含まれる、各機器の各インタフェースのメディアアクセス制御アドレスの情報を用いて、前記複数の機器の間の物理接続の情報を生成する生成手段と
を備えることを特徴とするトポロジ探索装置。
【０１５５】
（付記５）  複数のレイヤによる階層構成の通信機能を有する通信ネットワークを構成する複数の機器の間のトポロジを探索するコンピュータのためのプログラムであって、
格納手段に格納された前記複数の機器の機器設定情報を用いて前記複数のレイヤの中の下位レイヤのトポロジに含まれる接続をグループ化して、上位レイヤにおける情報到達範囲を生成し、
前記情報到達範囲から上位レイヤのトポロジを生成し、
生成されたトポロジの情報を出力する
処理を前記コンピュータに実行させることを特徴とするプログラム。
【０１５６】
（付記６）  前記複数のレイヤの中の最下位レイヤのトポロジの情報を入力し、該最下位レイヤのトポロジから順に上位レイヤのトポロジを生成する処理を繰り返して、該最下位レイヤの上位のレイヤから最上位レイヤまでの各レイヤのトポロジを生成する処理を、前記コンピュータに実行させることを特徴とする付記５記載のプログラム。
【０１５７】
（付記７）  前記機器設定情報と前記下位レイヤおよび上位レイヤのトポロジの情報を用いて、前記通信ネットワーク内の２つの機器間において、指定されたアプリケーションサービスによるデータの通過経路を探索し、該データの通過経路の情報を出力する処理を、前記コンピュータに実行させることを特徴とする付記５または６記載のプログラム。
【０１５８】
（付記８）  前記通過経路を探索する過程における現在のインタフェースの情報と、該現在のインタフェースの上位レイヤおよび下位レイヤのインタフェースの情報を前記格納手段に格納し、該上位レイヤおよび下位レイヤのインタフェースを探索対象候補として用いて該通過経路を探索する処理を、前記コンピュータに実行させることを特徴とする付記７記載のプログラム。
【０１５９】
（付記９）  前記機器設定情報に含まれるリンクアグリゲーション情報を用いて、前記複数のレイヤの中の物理レイヤのトポロジに含まれる接続をグループ化して、該複数のレイヤの中のメディアアクセス制御レイヤの接続を生成し、該メディアアクセス制御レイヤの接続をまとめて情報到達範囲を生成し、該情報到達範囲からメディアアクセス制御レイヤのトポロジを生成する処理を、前記コンピュータに実行させることを特徴とする付記５または６記載のプログラム。
【０１６０】
（付記１０）  前記生成手段は、前記機器設定情報に含まれる仮想ローカルエリアネットワーク情報とブリッジング情報を用いて、各仮想ローカルエリアネットワークに属するメディアアクセス制御レイヤのインタフェースをグループ化し、メディアアクセス制御レイヤのインタフェースのグループ毎に前記メディアアクセス制御レイヤの接続をまとめて情報到達範囲を生成する処理を、前記コンピュータに実行させることを特徴とする付記９記載のプログラム。
【０１６１】
（付記１１）  前記機器設定情報を用いて前記物理レイヤのトポロジを生成する処理を、前記コンピュータに実行させることを特徴とする付記９記載のプログラム。
（付記１２）  前記機器設定情報に含まれるインターネットプロトコルアドレスの情報を用いて、前記複数のレイヤの中のインターネットプロトコルレイヤのインタフェースをグループ化して、インターネットプロトコルレイヤの接続を生成し、該機器設定情報に含まれるルーティング情報を用いて該インターネットプロトコルレイヤの接続をグループ化して情報到達範囲を生成し、該情報到達範囲からインターネットプロトコルレイヤのトポロジを生成する処理を、前記コンピュータに実行させることを特徴とする付記５または６記載のプログラム。
【０１６２】
（付記１３）  前記複数のレイヤの中のインターネットプロトコルレイヤの情報到達範囲に含まれる機器の、該複数のレイヤの中のトランスミッション制御プロトコル／ユーザデータグラムプロトコルレイヤのインタフェースをまとめて、トランスミッション制御プロトコル／ユーザデータグラムプロトコルレイヤの接続を生成し、前記機器設定情報に含まれるパケットフィルタリング情報を用いて該トランスミッション制御プロトコル／ユーザデータグラムプロトコルレイヤの接続をグループ化して情報到達範囲を生成し、該情報到達範囲からトランスミッション制御プロトコル／ユーザデータグラムプロトコルレイヤのトポロジを生成する処理を、前記コンピュータに実行させることを特徴とする付記５または６記載のプログラム。
【０１６３】
（付記１４）  前記複数のレイヤの中のトランスミッション制御プロトコル／ユーザデータグラムプロトコルレイヤの情報到達範囲に含まれる機器の、該複数のレイヤの中のアプリケーションレイヤの通信可能なインタフェースをまとめて、アプリケーションレイヤの接続を生成し、前記機器設定情報に含まれるアプリケーション情報を用いて該アプリケーションレイヤの接続をグループ化して情報到達範囲を生成し、該情報到達範囲からアプリケーションレイヤのトポロジを生成する処理を、前記コンピュータに実行させることを特徴とする付記５または６記載のプログラム。
【０１６４】
（付記１５）  通信ネットワークを構成する複数の機器の間のトポロジを探索するコンピュータのためのプログラムであって、
格納手段に格納された前記複数の機器の機器設定情報から、各機器の各インタフェースのメディアアクセス制御アドレスの情報を抽出し、
抽出されたメディアアクセス制御アドレスの情報を用いて、前記複数の機器の間の物理接続の情報を生成する
処理を前記コンピュータに実行させることを特徴とするプログラム。
【０１６５】
（付記１６）  前記メディアアクセス制御アドレスの情報として、前記複数の機器に含まれるスイッチのメディアアクセス制御学習テーブルの情報を抽出し、すべてのスイッチのメディアアクセス制御学習テーブルの中でメディアアクセス制御アドレスが最も多く登録されているポートを求め、得られたポートに登録された複数のメディアアクセス制御アドレスが、該得られたポートを有する第１のスイッチ以外の第２のスイッチのメディアアクセス制御学習テーブルにおける複数のポートに登録されたメディアアクセス制御アドレスの組み合わせと一致し、かつ、該第１のスイッチのメディアアクセス制御学習テーブルにおける該得られたポート以外の複数のポートに登録されたメディアアクセス制御アドレスの組み合わせが、該第２のスイッチのメディアアクセス制御学習テーブルにおける１つのポートに登録された複数のメディアアクセス制御アドレスと一致するとき、該第１のスイッチの該得られたポートと該第２のスイッチの該１つのポートのペアを１つの物理接続として前記格納手段に登録する処理を、前記コンピュータに実行させることを特徴とする付記１５記載のプログラム。
【０１６６】
（付記１７）  すべてのスイッチのメディアアクセス制御学習テーブルの中でメディアアクセス制御アドレスが１つだけ登録されているポートを求め、前記複数の機器のうち、得られたポートに登録されたメディアアクセス制御アドレスを持つインタフェースを有する端末を求め、得られた端末のインタフェースと該得られたポートのペアを１つの物理接続として前記格納手段に登録する処理を、前記コンピュータに実行させることを特徴とする付記１６記載のプログラム。
【０１６７】
（付記１８）  複数のレイヤによる階層構成の通信機能を有する通信ネットワークを構成する複数の機器の間のトポロジを探索するトポロジ探索方法であって、
生成手段が、格納手段に格納された前記複数の機器の機器設定情報を用いて前記複数のレイヤの中の下位レイヤのトポロジに含まれる接続をグループ化して、上位レイヤにおける情報到達範囲を生成し、
前記生成手段が、前記情報到達範囲から上位レイヤのトポロジを生成し、
出力手段が、生成されたトポロジの情報を出力する
ことを特徴とするトポロジ探索方法。
【０１６８】
（付記１９）  通信ネットワークを構成する複数の機器の間のトポロジを探索するトポロジ探索方法であって、
生成手段が、格納手段に格納された前記複数の機器の機器設定情報から、各機器の各インタフェースのメディアアクセス制御アドレスの情報を抽出し、
前記生成手段が、抽出されたメディアアクセス制御アドレスの情報を用いて、前記複数の機器の間の物理接続の情報を生成する
ことを特徴とするトポロジ探索方法。
【図面の簡単な説明】
【０１６９】
【図１】本発明のトポロジ探索装置の原理図である。
【図２】第１のトポロジ探索装置を示す図である。
【図３】複数レイヤトポロジのモデルを示す図である。
【図４】レイヤ間の関連を示す図である。
【図５】第１のトポロジ探索装置の構成図である。
【図６】物理レイヤのトポロジを示す図である。
【図７】ＭＡＣレイヤのトポロジを示す図である。
【図８】ＩＰレイヤのトポロジを示す図である。
【図９】ＴＣＰ／ＵＤＰレイヤのトポロジを示す図である。
【図１０】アプリケーションレイヤのトポロジを示す図である。
【図１１】機器設定情報を示す図である。
【図１２】物理レイヤのトポロジのデータを示す図である。
【図１３】ＭＡＣレイヤのトポロジのデータを示す図である。
【図１４】ＩＰレイヤのトポロジのデータを示す図である。
【図１５】ＴＣＰ／ＵＤＰレイヤのトポロジのデータを示す図である。
【図１６】アプリケーションレイヤのトポロジのデータを示す図である。
【図１７】ＭＡＣレイヤトポロジ探索処理のフローチャートである。
【図１８】ＩＰレイヤトポロジ探索処理のフローチャートである。
【図１９】ＴＣＰ／ＵＤＰレイヤトポロジ探索処理のフローチャートである。
【図２０】アプリケーションレイヤトポロジ探索処理のフローチャートである。
【図２１】第２のトポロジ探索装置を示す図である。
【図２２】第２のトポロジ探索装置の構成図である。
【図２３】コネクタのデータ構造を示す図である。
【図２４】経路探索処理のフローチャート（その１）である。
【図２５】経路探索処理のフローチャート（その２）である。
【図２６】経路探索処理のフローチャート（その３）である。
【図２７】経路探索処理のフローチャート（その４）である。
【図２８】経路探索処理のフローチャート（その５）である。
【図２９】経路探索処理のフローチャート（その６）である。
【図３０】宛先探索処理のフローチャートである。
【図３１】スイッチのＶＬＡＮ設定を示す図である。
【図３２】スイッチのＭＡＣ学習テーブルを示す図である。
【図３３】機器毎のＭＡＣアドレスを示す図である。
【図３４】第３のトポロジ探索装置を示す図である。
【図３５】第３のトポロジ探索装置の構成図である。
【図３６】物理接続を示す図である。
【図３７】物理接続探索処理を示す図である。
【図３８】スイッチ間接続探索処理のフローチャートである。
【図３９】スイッチ−端末間接続探索処理のフローチャートである。
【図４０】情報処理装置の構成図である。
【図４１】プログラムおよびデータの提供方法を示す図である。
【符号の説明】
【０１７０】
１１  格納手段
１２  格納手段
１３  出力手段
１４  入力手段
１５  経路探索手段
１０１  ネットワーク内の各機器の設定情報
１０２、２１７、２１０２、３４０１  トポロジ探索装置
１０３  複数レイヤにわたって関連付けられたトポロジ
１１１、１１２  ノード
１２１、１２２、１２３、１２４、１２５、１２６、１２７、１２８、１３１、１３２、１３３、１３４、１３５  コネクタ
１２９、１３６  サービス
１４１、１４２  リンク
１５１  トポロジ探索部
１５２  機器同士の物理接続情報
１５３  各機器の設定情報
１５４、２２０２  複数レイヤにわたるトポロジ
１６１  ＭＡＣレイヤトポロジ探索部
１６２  ＩＰレイヤトポロジ探索部
１６３  ＴＣＰ／ＵＤＰレイヤトポロジ探索部
１６４  アプリケーションレイヤトポロジ探索部
１７１、１７１８、１８１１  ＭＡＣレイヤのトポロジ
１７２、１８１７、１９１１  ＩＰレイヤのトポロジ
１７３、１９１６、２０１１  ＴＣＰ／ＵＤＰレイヤのトポロジ
１７４、２０１６  アプリケーションレイヤのトポロジ
２０１  ファイヤウォール
２０２、２０３  ルータ機器
２０４、２０５、２０６、２０７、２０８、３６０１、３６０２、３６０３  スイッチ
２０９、２１０、２１１、３６０４、３６０５、３６０６、３６０７、３６０８、３６０９、３６１０、３６１１、３６１２、３６１３、３６１４、３６１５  パーソナルコンピュータ
２１２、２１３、２１４、２１５、２１６  サーバ
１７１１、２２４１  物理レイヤのトポロジ
１７１２  機器毎のＶＬＡＮ情報
１７１３  機器毎のリンク冗長・リンク多重情報
１７１４  機器毎のＭＡＣレイヤのコネクタ
１７１５  ＭＡＣレイヤのリンク
１７１６  ＶＬＡＮ毎のＭＡＣレイヤのコネクタのグループ
１７１７  ＭＡＣレイヤのリーチ
１８１２  機器毎のＩＰフォワーディング設定
１８１３  機器毎のＴＣＰ／ＵＤＰレイヤ以上のレイヤでのサービスの設定
１８１４  機器毎のＩＰレイヤのコネクタ
１８１５  ＩＰレイヤのリンク
１８１６  ＩＰレイヤのリーチ
１９１２  機器毎のフィルタ／ＮＡＴ設定
１９１３  機器毎のＴＣＰ／ＵＤＰレイヤのコネクタ
１９１４  ＴＣＰ／ＵＤＰレイヤのリンク
１９１５  ＴＣＰ／ＵＤＰレイヤのリーチ
２０１２  機器毎のアプリケーションサービスの設定
２０１３  機器毎のアプリケーションレイヤのコネクタ
２０１４  アプリケーションレイヤのリンク
２０１５  アプリケーションレイヤのリーチ
２１０１  通信の始点と終点
２１０３  通信データの通過経路
２２０１  経路探索部
２２１１  次経路判定部
２２１２  動的情報算出部
２２１３  探索対象情報
２２１４  次探索対象候補
２２２１  現在のコネクタ
２２２２  直前のコネクタ
２２３１  上位レイヤのコネクタ
２２３２  下位レイヤのコネクタ
２２０３  探索条件
２２５１  ネットワーク内の２点
２２５２  サービスの種類
２２０４  データ通過経路
２２６１−１、２２６１−２、２２６１−ｎ  データが通過したコネクタ
２３０１  コネクタ情報
２３１１  機器名
２３１２  レイヤ
２３１３  コネクタ識別子
２４２１  機器設定情報
３０１１  現在のコネクタのレイヤ３０１１
３０１２  現在の宛先
３０２１  機器毎の経路表
３０２２  機器毎のＡＲＰテーブル
３０２３、３７０１、３７０２、３７０３  スイッチのＭＡＣ学習テーブル
３０２４  機器毎のホスト名
３０２５  機器毎のＩＰアドレス
３０２６  機器毎のＭＡＣアドレス
３５０１  物理接続探索部
３５１１  スイッチ間接続探索部
３５１２  スイッチ−端末間接続探索部
３８１１  ＭＡＣ学習テーブル
３８１２  端末のＭＡＣアドレス
３８２１  リンクテーブル
４００１  ＣＰＵ
４００２  メモリ
４００３  入力装置
４００４  出力装置
４００５  外部記憶装置
４００６  媒体駆動装置
４００７  ネットワーク接続装置
４００８  バス
４００９  可搬記録媒体
４１０１  サーバ
４１０２  情報処理装置
４１１１  データベース
【図１】
2005348051.tif 000003
【図２】
2005348051.tif 000004
【図３】
2005348051.tif 000005
【図４】
2005348051.tif 000006
【図５】
2005348051.tif 000007
【図６】
2005348051.tif 000008
【図７】
2005348051.tif 000009
【図８】
2005348051.tif 000010
【図９】
2005348051.tif 000011
【図１０】
2005348051.tif 000012
【図１１】
2005348051.tif 000013
【図１２】
2005348051.tif 000014
【図１３】
2005348051.tif 000015
【図１４】
2005348051.tif 000016
【図１５】
2005348051.tif 000017
【図１６】
2005348051.tif 000018
【図１７】
2005348051.tif 000019
【図１８】
2005348051.tif 000020
【図１９】
2005348051.tif 000021
【図２０】
2005348051.tif 000022
【図２１】
2005348051.tif 000023
【図２２】
2005348051.tif 000024
【図２３】
2005348051.tif 000025
【図２４】
2005348051.tif 000026
【図２５】
2005348051.tif 000027
【図２６】
2005348051.tif 000028
【図２７】
2005348051.tif 000029
【図２８】
2005348051.tif 000030
【図２９】
2005348051.tif 000031
【図３０】
2005348051.tif 000032
【図３１】
2005348051.tif 000033
【図３２】
2005348051.tif 000034
【図３３】
2005348051.tif 000035
【図３４】
2005348051.tif 000036
【図３５】
2005348051.tif 000037
【図３６】
2005348051.tif 000038
【図３７】
2005348051.tif 000039
【図３８】
2005348051.tif 000040
【図３９】
2005348051.tif 000041
【図４０】
2005348051.tif 000042
【図４１】
2005348051.tif 000043