(57)【要約】【課題】単一点のサンプリング結果のみを用いる場合であっても、サンプリング手法を工夫することにより、他ネットワークに発生した品質異常やその影響範囲を把握することのできるパケットサンプリング方法を得る。【解決手段】ネットワークに流れる通信パケットを収集するパケット収集ステップと、パケット収集ステップで取得した通信パケットに基づきネットワークのトポロジーを推定するトポロジー推定ステップと、トポロジー推定ステップの推定結果を用いてネットワークに流れる通信パケットをサンプリングし、そのサンプリング結果を記憶手段１３０に格納するサンプリングステップと、を有し、トポロジー推定ステップでは、ネットワークのトポロジーの推定結果を記憶手段１３０に格納し、サンプリングステップでは、推定結果中の所定の項目毎にサンプリング結果を集約して記憶手段１３０に格納する。【選択図】図３
2009171194.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに流れる通信パケットをサンプリングする方法であって、
サンプリング結果を格納する記憶手段を設けておき、
前記ネットワークに流れる通信パケットを収集するパケット収集ステップと、
前記パケット収集ステップで取得した通信パケットに基づき前記ネットワークのトポロジーを推定するトポロジー推定ステップと、
前記トポロジー推定ステップの推定結果を用いて前記ネットワークに流れる通信パケットをサンプリングし、そのサンプリング結果を前記記憶手段に格納するサンプリングステップと、
を有し、
前記トポロジー推定ステップでは、
前記ネットワークのトポロジーの推定結果を前記記憶手段に格納し、
前記サンプリングステップでは、
前記推定結果中の所定の項目毎にサンプリング結果を集約して前記記憶手段に格納する
ことを特徴とするパケットサンプリング方法。
【請求項２】
前記トポロジー推定ステップでは、
前記通信パケットの送受信アドレスを元に前記ネットワークの構成要素をグループ化するとともに、
前記グループのトポロジーをツリー状に表したトポロジーツリーデータを前記推定結果として前記記憶手段に格納し、
前記サンプリングステップでは、
前記記憶手段より前記トポロジーツリーデータを取得し、
トポロジーツリーの枝毎にサンプリング結果を集約して前記記憶手段に格納する
ことを特徴とする請求項１に記載のパケットサンプリング方法。
【請求項３】
前記トポロジー推定ステップでは、
前記ネットワークの構成要素をＡＳ番号（Ａｕｔｏｎｏｍｏｕｓ  Ｓｙｓｔｅｍ  Ｎｕｍｂｅｒ）毎にグループ化するとともに、
ＡＳのトポロジーをツリー状に表したトポロジーツリーデータを前記推定結果として前記記憶手段に格納する
ことを特徴とする請求項１または請求項２に記載のパケットサンプリング方法。
【請求項４】
前記トポロジー推定ステップでは、
前記パケット収集ステップで収集した通信パケットのうち所定のＡＳ数以内にある通信機器が送受信するもののみを用いて前記ネットワークのトポロジーを推定する
ことを特徴とする請求項３に記載のパケットサンプリング方法。
【請求項５】
前記トポロジー推定ステップでは、
前記パケット収集ステップで収集した通信パケットが属するセッションを所定の基準で順位付けし、
一定の順位以上のセッションに属する通信パケットを用いて前記ネットワークのトポロジーを推定する
ことを特徴とする請求項１ないし請求項４のいずれかに記載のパケットサンプリング方法。
【請求項６】
前記トポロジー推定ステップでは、
前記パケット収集ステップで収集した通信パケットのうちトラフィック量が所定量以上のセッションのものを用いて前記ネットワークのトポロジーを推定する
ことを特徴とする請求項５に記載のパケットサンプリング方法。
【請求項７】
前記トポロジー推定ステップでは、
前記パケット収集ステップで収集した通信パケットのうちパケット数が所定数以上のセッションのものを用いて前記ネットワークのトポロジーを推定する
ことを特徴とする請求項５または請求項６に記載のパケットサンプリング方法。
【請求項８】
前記トポロジー推定ステップでは、
前記パケット収集ステップで収集した通信パケットのうち使用ポート数が所定数以上のセッションのものを用いて前記ネットワークのトポロジーを推定する
ことを特徴とする請求項５ないし請求項７のいずれかに記載のパケットサンプリング方法。
【請求項９】
前記トポロジー推定ステップでは、
前記ネットワークの経路情報を用いて前記ネットワークのトポロジーを推定する
ことを特徴とする請求項１ないし請求項８のいずれかに記載のパケットサンプリング方法。
【請求項１０】
前記トポロジー推定ステップでは、
前記パケット収集ステップで収集した通信パケットのうち所定のホップ数以内にある通信機器が送受信するものを用いて前記ネットワークのトポロジーを推定する
ことを特徴とする請求項１ないし請求項９のいずれかに記載のパケットサンプリング方法。
【請求項１１】
前記トポロジー推定ステップでは、
前記サンプリングステップでサンプリングする通信パケット量が前記推定結果毎に均一になるように、前記推定結果を調整した上で、前記記憶手段に格納する
ことを特徴とする請求項１ないし請求項１０のいずれかに記載のパケットサンプリング方法。
【請求項１２】
ネットワークに流れる通信パケットをサンプリングして当該ネットワークの異常を監視する装置であって、
サンプリング結果を格納する記憶手段と、
前記ネットワークに流れる通信パケットを収集するパケット収集部と、
前記パケット収集部が取得した通信パケットに基づき前記ネットワークのトポロジーを推定するトポロジー推定部と、
前記トポロジー推定部の推定結果を用いて前記ネットワークに流れる通信パケットをサンプリングし、そのサンプリング結果を前記記憶手段に格納するサンプリング部と、
を備え、
前記トポロジー推定部は、
前記ネットワークのトポロジーの推定結果を前記記憶手段に格納し、
前記サンプリング部は、
前記推定結果中の所定の項目毎にサンプリング結果を集約して前記記憶手段に格納する
ことを特徴とするパケットサンプリング装置。
【請求項１３】
前記トポロジー推定部は、
前記通信パケットの送受信アドレスを元に前記ネットワークの構成要素をグループ化するとともに、
前記グループのトポロジーをツリー状に表したトポロジーツリーデータを前記推定結果として前記記憶手段に格納し、
前記サンプリング部は、
前記記憶手段より前記トポロジーツリーデータを取得し、
トポロジーツリーの枝毎にサンプリング結果を集約して前記記憶手段に格納する
ことを特徴とする請求項１２に記載のパケットサンプリング装置。
【請求項１４】
前記トポロジー推定部は、
前記ネットワークの構成要素をＡＳ番号毎にグループ化するとともに、
ＡＳのトポロジーをツリー状に表したトポロジーツリーデータを前記推定結果として前記記憶手段に格納する
ことを特徴とする請求項１２または請求項１３に記載のパケットサンプリング装置。
【請求項１５】
前記トポロジー推定部は、
前記パケット収集部が収集した通信パケットのうち所定のＡＳ数以内にある通信機器が送受信するもののみを用いて前記ネットワークのトポロジーを推定する
ことを特徴とする請求項１４に記載のパケットサンプリング装置。
【請求項１６】
前記トポロジー推定部は、
前記パケット収集部が収集した通信パケットが属するセッションを所定の基準で順位付けし、
一定の順位以上のセッションに属する通信パケットを用いて前記ネットワークのトポロジーを推定する
ことを特徴とする請求項１２ないし請求項１５のいずれかに記載のパケットサンプリング装置。
【請求項１７】
前記トポロジー推定部は、
前記パケット収集部が収集した通信パケットのうちトラフィック量が所定量以上のセッションのものを用いて前記ネットワークのトポロジーを推定する
ことを特徴とする請求項１２ないし請求項１６のいずれかに記載のパケットサンプリング装置。
【請求項１８】
前記トポロジー推定部は、
前記パケット収集部が収集した通信パケットのうちパケット数が所定数以上のセッションのものを用いて前記ネットワークのトポロジーを推定する
ことを特徴とする請求項１２ないし請求項１７のいずれかに記載のパケットサンプリング装置。
【請求項１９】
前記トポロジー推定部は、
前記パケット収集部が収集した通信パケットのうち使用ポート数が所定数以上のセッションのものを用いて前記ネットワークのトポロジーを推定する
ことを特徴とする請求項１２ないし請求項１８のいずれかに記載のパケットサンプリング装置。
【請求項２０】
前記トポロジー推定部は、
前記ネットワークの経路情報を用いて前記ネットワークのトポロジーを推定する
ことを特徴とする請求項１２ないし請求項１９のいずれかに記載のパケットサンプリング装置。
【請求項２１】
前記トポロジー推定部は、
前記パケット収集部が収集した通信パケットのうち所定のホップ数以内にある通信機器が送受信するもののみを用いて前記ネットワークのトポロジーを推定する
ことを特徴とする請求項１２ないし請求項２０のいずれかに記載のパケットサンプリング装置。
【請求項２２】
前記トポロジー推定部は、
前記サンプリング部がサンプリングする通信パケット量が前記推定結果毎に均一になるように、前記推定結果を調整した上で、前記記憶手段に格納する
ことを特徴とする請求項１２ないし請求項２１のいずれかに記載のパケットサンプリング装置。
【請求項２３】
請求項１２ないし請求項２２のいずれかに記載のパケットサンプリング装置と、
前記サンプリング結果を用いて前記ネットワークの異常を監視する監視部と、
を備え、
前記監視部は、
前記サンプリング結果を時系列で集計して異常値を検出することで前記ネットワークの異常を検出する
ことを特徴とするネットワーク監視装置。
【請求項２４】
前記監視部は、
前記記憶手段に前記ネットワークの監視結果を格納しておき、
過去の監視結果を用いて前記ネットワークの品質を推定する
ことを特徴とする請求項２３に記載のネットワーク監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに流れる通信パケットをサンプリングする方法、その装置、これらを利用したネットワーク監視装置に関するものである。
【背景技術】
【０００２】
従来、トラフィック解析におけるパケットサンプリング手法は、パケットやフローをどのように統計情報として落とし込むかという観点で発達してきた。下記非特許文献１は、それらのサンプリング手法を標準化するための文書であり、世の中で主流となるサンプリング技術が５章に列挙されている。
これらによれば、サンプリング手法は大きく以下の２種類に分類される。
【０００３】
（１）Ｓｙｓｔｅｍａｔｉｃ  Ｓａｍｐｌｉｎｇ
システマティックに、時間あるいはパケット数を用いてパケットを抽出して統計情報を作る手法である。
（２）Ｒａｎｄｏｍ  Ｓａｍｐｌｉｎｇ
確率的にパケットを選ぶ、あるいはフローを元にパケットを抽出して統計情報を作る手法である。
【０００４】
また、『パケット網において品質低下の発生及び発生部位を特定できる品質状態監視方法を実現する。』ことを目的とした技術として、『本発明によるパケット網の品質状態監視方法は、監視対象パケットの送信状態と受信状態を比較することによりネットワーク品質を監視し、品質低下を発見した場合には品質低下発生区間を判定する方法であって、品質測定監視対象となる網に測定装置（１１，１２，１３）を複数台設置し、それぞれの測定装置においてパケットをプローブして得られたパケット通過時刻系列をもとにして、相互相関関数を計算して品質評価を行い（２１，２２）、品質低下が発生していると判断した場合（２３）には、予めパケット転送経路情報から木構造となる論理トポロジーを作成し（３０）、その論理トポロジーを利用して品質低下発生個所を判定する（４０）ことを特徴とする。』というものが提案されている（特許文献１）。
【０００５】
【特許文献１】特開２００３−３１８９８５号公報（要約）
【非特許文献１】「Sampling and Filtering Techniques for IP Packet Selection」，http://www.ietf.org/internet-drafts/draft-ietf-psamp-sample-tech-10.txt
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記非特許文献１に記載のサンプリング手法は、特定のルータ等に流れるパケットを、例えば１分間隔で観測して選択したパケットに関して、当該ルータまたは当該ルータが備えるネットワークインターフェース毎に、サンプリングにより選択したパケットがどのような種別のパラメータを含んでいるかを統計情報として保持するために利用される。
しかしながら、この手法で得られるのは、当該ルータ単体の統計情報のみであり、複数のルータを組み合わせたネットワーク全体としての統計情報は得られない。
【０００７】
また、上記特許文献１に記載の技術を用いる場合、各監視装置でパケットをプローブして得られたデータを集約してネットワーク全体の品質管理を行うことが考えられるが、品質管理の対象は、プローブを実施したネットワークに限定される。
セキュリティ管理を行う場合であれば、自網のプローブ結果に問題がなければそれで管理としては足りるが、品質管理を行う場合は、他網の影響を受け、あるいは他網が要因となって自網の品質劣化が生じることがあり、管理対象のネットワークが限定されると、自網の十分な品質管理を行うことができない場合がある。
また、自網の品質状態を他網に公開すると、他のネットワーク業者へ自網のネットワーク規模、設備、トポロジー情報などの秘密情報を公開してしまうことになりかねず、品質状態の公開を行いにくいということも、上記を助長する遠因となっている。
【０００８】
そのため、単一点のサンプリング結果のみを用いる場合であっても、サンプリング手法を工夫することにより、他ネットワークに発生した品質異常やその影響範囲を把握することのできるネットワーク監視装置、これに用いるパケットサンプリング方法および装置が望まれていた。
【課題を解決するための手段】
【０００９】
本発明に係るパケットサンプリング方法は、ネットワークに流れる通信パケットをサンプリングする方法であって、サンプリング結果を格納する記憶手段を設けておき、前記ネットワークに流れる通信パケットを収集するパケット収集ステップと、前記パケット収集ステップで取得した通信パケットに基づき前記ネットワークのトポロジーを推定するトポロジー推定ステップと、前記トポロジー推定ステップの推定結果を用いて前記ネットワークに流れる通信パケットをサンプリングし、そのサンプリング結果を前記記憶手段に格納するサンプリングステップと、を有し、前記トポロジー推定ステップでは、前記ネットワークのトポロジーの推定結果を前記記憶手段に格納し、前記サンプリングステップでは、前記推定結果中の所定の項目毎にサンプリング結果を集約して前記記憶手段に格納するものである。
【発明の効果】
【００１０】
本発明に係るパケットサンプリング方法によれば、ネットワークのトポロジーをあらかじめ推定しておくことにより、サンプリング対象を絞り込むとともに、他網との相関関係の中でパケットの挙動を把握することができる。
これにより、単一点のサンプリング結果のみを用いてネットワーク監視を行う場合であっても、自網と他網の障害を切り分けることが容易になる効果がある。
【発明を実施するための最良の形態】
【００１１】
実施の形態１．
図１は、本発明の実施の形態１に係るパケットサンプリング装置１００の機能ブロック図である。
パケットサンプリング装置１００は、通信パケットをサンプリングする対象のネットワークに接続され、後述の手法によりサンプリングを行う装置であり、パケット収集部１１０、トポロジー推定部１２０、記憶部１３０、ルール生成部１４０、パケットサンプリング部１５０を備える。
【００１２】
パケット収集部１１０は、ネットワークに接続され、当該ネットワークを流れる通信パケットを収集し、トポロジー推定部１２０とパケットサンプリング部１５０に出力する。
トポロジー推定部１２０は、パケット収集部１１０が収集したパケットを用いて、当該ネットワークおよび近隣のネットワークのトポロジーを推定し、推定結果を記憶部１３０に格納する。推定手法については後述する。
【００１３】
ルール生成部１４０は、ネットワークトポロジーの推定結果を記憶部１３０から読み出し、その推定結果に基づき、パケットのサンプリング規則を生成する。
パケットサンプリング部１５０は、ルール生成部１４０が生成したサンプリング規則に基づき、パケット収集部１１０が収集したパケットのサンプリングを行う。
ここでいうサンプリング規則とは、パケット収集部１１０が収集したパケットをどのようにサンプリングし、または集約するかの規則を表すものである。詳細は後述する。
【００１４】
パケット収集部１１０は、接続するネットワークに合わせたネットワークインターフェースを適宜備える。
トポロジー推定部１２０、ルール生成部１４０、パケットサンプリング部１５０は、これらの機能を実現する回路デバイスなどのハードウェアで構成することもできるし、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイコンなどの演算装置と、その動作を規定するソフトウェアとで構成することもできる。
記憶部１３０は、サンプリング容量の観点から、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）のような比較的大容量の記憶装置で構成することが好ましい。
【００１５】
以上、パケットサンプリング装置１００の構成について説明した。
次に、トポロジー推定部１２０が実施するネットワークトポロジーの推定手法、および推定結果の格納形式について説明する。
【００１６】
図２は、トポロジー推定部１２０が推定するネットワークトポロジーの格納形式を示すものである。図２（ａ）は実際のネットワークトポロジー例、図２（ｂ）はトポロジー推定部１２０の推定結果の格納形式を表す。
【００１７】
図２（ａ）において、Ｆ〜Ｑはネットワークトポロジーの構成要素を示す。また、ＩＸは「Ｉｎｔｅｒｎｅｔ  ｅＸｃｈａｎｇｅ」（インターネットプロバイダ同士の相互接続ポイント）である。
ここでいうネットワークトポロジーの構成要素は、個別の通信端末のような機器を単位とするのではなく、１つのネットワークセグメント、ＡＳ（Ａｕｔｏｎｏｍｏｕｓ  Ｓｙｓｔｅｍ）などの、ネットワークまたはこれに準ずるものを単位とする。
ただし、ネットワーク監視の便宜に資する場合など、必要に応じて重要なルータなどを構成要素に入れてもよい。
即ち、トポロジー推定部１２０が推定するネットワークトポロジーは、ネットワーク同士の接続関係を示すトポロジーを指すものであると言える。
【００１８】
なお、ＡＳとは、大規模ＩＰネットワーク内にある、インターネットプロバイダなどの組織が運用する自立したネットワークのことであり、日本国内では、ＪＰＮＩＣ（日本ネットワークインフォメーションセンター）が管理するＡＳ番号により識別される。
【００１９】
図２（ａ）のようなネットワークトポロジーは、図２（ｂ）のようなツリー状の形式で表すことができる。図２（ｂ）では、ネットワークＦを起点とした２ホップ以内の他ネットワークまでの経路を、ツリー形式で表現した。
例えば、ネットワークＦから１ホップ以内には、ネットワークＬ、Ｏ、Ｇ、Ｈ、Ｉが存在しているため、ネットワークＦの子ノードにこれらのネットワークを割り当てる。２ホップ先のネットワークが存在する場合は、孫ノードにそのネットワークを割り当てる。
このようにして、ネットワークＦをルートノードとしたツリーが構成され、このツリーにより、ネットワークＦと他ネットワークとの接続関係、およびホップ数を表現することができる。
以下、このようにツリー状に表現されたネットワークトポロジーのことを、「トポロジーツリー」と呼ぶことにする。
【００２０】
次に、トポロジー推定部１２０が図２（ｂ）の推定結果を得る手順を説明する。
【００２１】
まず、パケット収集部１１０が収集したパケットのうち、いずれを用いてトポロジーを推定するのが最も効率的あるいは推定精度が良いか、について考える。
単純には、パケット収集部１１０が収集した全てのパケットを用いてトポロジーを推定することも考えられるが、より効率的あるいは精度良く推定を行うためには、ネットワーク上を多く流れるパケット種別や、セッションが安定しているパケット種別に着目し、その挙動に基づき推定を行うことが好ましい。
そこで、本実施の形態１では、ネットワーク上を流れるＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）パケットに着目することにする。
【００２２】
Ｐ２Ｐに着目するのは、一般的なＰ２Ｐシステムでは独自のＰ２Ｐネットワークが形成され保持されることが多く、各々のセッション継続時間が長いため、それぞれのセッションの品質値の揺らぎを把握しやすい、という利点があることによる。
例えば、ファイル共有型のＰ２Ｐシステムであれば、ある特定のＩＰアドレスと複数のＩＰアドレスの間でセッションが張られることが多く、この特定のＩＰアドレスがコアノードとして振舞う。そのため、トラフィックの中心となるセッションを特定しやすく、トポロジーの推定に用いるのに好ましいのである。
【００２３】
次に、トポロジー推定部１２０の動作手順を、ステップを追って説明する。
【００２４】
（１）Ｐ２Ｐパケットの取得
トポロジー推定部１２０は、Ｐｏｒｔ番号で特定ができるようなＰ２Ｐプロトコルを推定に用いる場合は、パケット収集部１１０が収集したパケットのうち、そのＰｏｒｔ番号を用いるパケットを監視する。
Ｐｏｒｔ番号で特定ができないようなＰ２Ｐプロトコルを推定に用いる場合は、あらかじめ定義しておいた挙動パターンとのマッチングを行うことにより、当該Ｐ２Ｐプロトコルのパケットを特定し監視する。
後者の手法は、シグネチャ型のＩＤＳ（Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）が類似の手法を用いているので、これを参考にするとよい。
【００２５】
（２）Ｐ２Ｐセッションの順位付け
トポロジー推定部１２０は、監視したＰ２Ｐプロトコルに関して、トラフィック量を元に順位付けを行い、例えば上位５０セッションを抽出する。上位のセッションを採用するのは、パケットを安定して監視できるためである。
即ち、上位のセッションには、多くのネットワークセグメントからの通信が集まっているものと推測されるので、これに着目することにより、トポロジーの構成要素を網羅することができる可能性が高まることに鑑みたものである。
【００２６】
（３）グループ化
トポロジー推定部１２０は、抽出したセッションを送受信アドレス毎にマッピングし、同一のネットワークセグメントやＡＳに属するＩＰアドレスをグループ化する。
グループ化の手法は、例えば以下のようにすることができる。
【００２７】
（３．１）既存のトポロジー情報を含む経路情報が入手できるのであれば、これを使用してネットワークセグメントやＡＳのＩＰアドレス範囲を特定できるので、ステップ（２）で得た上位セッション中の各ＩＰアドレスの所属するグループが分かる。
【００２８】
（３．２）既存のトポロジー情報が得られない場合は、ＩＰアドレスからＡＳ番号を逆引きすることで、ステップ（２）で得た上位セッション中の各ＩＰアドレスを所属先のＡＳに集約してグループ化することができる。
【００２９】
（３．３）その他、ステップ（２）で得た上位セッション中の各ＩＰアドレスに対し、経路情報を逆引きし（例えばｔｒａｃｅｒｏｕｔｅを実行する）、途中で経由するネットワークをグループ化することで、当該ＩＰアドレスがネットワーク上のどの位置にあるかを概ね推定することができる。
【００３０】
以上のような手法でＩＰアドレスをグループ化していくと、各ＩＰアドレス単位の接続関係が、ネットワークセグメント単位やＡＳ単位の接続関係に集約されていく。最終的には、ネットワークセグメントやＡＳ同士の接続関係や隣接関係が判明し、図２（ｂ）のようなトポロジーツリーを得ることができる。
【００３１】
実際の各ＩＰアドレスの経路情報上では、複数のルータ等を経由するのが通常である。
しかし、これら各ルータがいずれのネットワークセグメントやＡＳに所属するかが判明すると、「どのルータを経由して当該ＩＰアドレスに到達できるか」という情報を、「どのネットワークセグメントやＡＳを経由して当該ＩＰアドレスに到達できるか」という情報に読み替えることができる。
即ち、ＩＰアドレスをグループ化していくと、ネットワークセグメント単位やＡＳ単位の接続関係が自動的に得られ、もってトポロジーの推定が可能となるのである。
【００３２】
例えば、ネットワークＦから、ネットワークＱに存在するＩＰアドレスに対してｔｒａｃｅｒｏｕｔｅを実行すると、途中の経路で、ネットワークＯに存在するルータを経由していることが判明したとする。
この場合、「Ｆ−＞Ｏ−＞Ｑ」というネットワークトポロジーが得られる。
【００３３】
同様に、ネットワークＦから、ネットワークＨに存在するＩＰアドレスに対してｔｒａｃｅｒｏｕｔｅを実行すると、途中の経路で、ネットワークセグメントＨのみを経由していることが判明したとする。
この場合、「Ｆ−＞Ｈ」というネットワークトポロジーが得られる。
【００３４】
（４）トポロジー推定の終了
図２（ｂ）のようなトポロジーツリーは、トポロジー推定部１２０が推定したものであるため、実際のトポロジーとずれている可能性がある。しかし、一般には、十分な数の枝が得られていれば、基礎となるセッションデータ数も十分であり、したがって推定精度も高いものと思われる。
そこで、トポロジー推定部１２０は、ＩＰアドレスをグループ化してトポロジーツリーを得た結果、所定の数以上の枝が得られているか否かなどを判定基準として、トポロジー推定を終了する。あるいは、処理時間やメモリ容量の観点から、一定時間経過後などに推定処理を終了してもよい。
【００３５】
トポロジー推定をできる限り精度良く行うためには、収集するセッションデータや推定処理時間を多くするほど好ましい。
しかし、上述のように途中で推定を終了したとしても、推定に用いるセッションデータは上位５０セッションを抽出したものであるため、これらのセッションはＰ２Ｐネットワークの中でコアノードとして動作している機器を多く含んでいるものと思われ、したがってセッションとして安定しており、トポロジーの推定には適していると言える。
そのため、上述のような手法でも、一定の精度でトポロジーを推定することができるものと予測される。
【００３６】
（５）トポロジー推定結果の出力
トポロジー推定部１２０は、以上のステップで得られたトポロジーツリーを、記憶部１３０に格納する。ルール生成部１４０は、これを読み出して、次の図３で説明するサンプリング規則を生成する。
【００３７】
以上、トポロジー推定部１２０の処理内容について説明した。
次に、ルール生成部１４０の処理について説明する。
【００３８】
図３は、ルール生成部１４０が生成するサンプリング規則とそのデータ例を説明するものである。
図３（ａ）は、図２（ｂ）で説明した、トポロジー推定部１２０が作成するトポロジーツリーである。
図３（ｂ）は、ルール生成部１４０が生成するサンプリング規則である。ルール生成部１４０は、記憶部１３０に格納されているトポロジーツリーを読み出して、これに基づきサンプリング規則を生成する。
このサンプリング規則は、パケットサンプリング部１５０がサンプリングを行う際の基準となるものである。サンプリングに関しては、後述の図４で説明する。
【００３９】
サンプリング規則は、トポロジーツリーの枝毎に少なくとも１行を割り当てた表形式のデータであり、「トポロジー」列、「監視ピア１」列、「監視ピア２」列、「監視ピア３」列、「プロトコル」列、「Ｐｏｒｔ」列を有する。
【００４０】
「トポロジー」列には、トポロジーツリーの１枝に相当するネットワーク経路が格納される。具体的には、ルートノードからリーフノードに到達するまでに経由するネットワーク名を、経由する順番に格納する。
【００４１】
「監視ピア１」列には、監視点となるルートノード（ここではネットワークＦ）が表すネットワーク内の監視対象ＩＰアドレスが格納される。
図３（ｂ）の例では、ルートノードに相当するネットワークＦは、ネットワークアドレス「１０．２０．３０．＊」に概ね相当し、同ネットワーク内に存在するいくつかのＩＰアドレスが、監視対象となっていることが分かる。
ここでの監視対象となるＩＰアドレスは、トポロジー推定部１２０が抽出した上位セッション５０以内に含まれるものでもあるため、対象のＰ２Ｐプロトコルを定常的に利用している、重点監視対象であるということもできる。
【００４２】
「監視ピア２」列には、図３（ａ）のトポロジーツリーの最も右側にあるノード（リーフノード）が表すネットワーク内の監視対象ＩＰアドレスが格納される。
図３（ｂ）の例では、例えば１行目のデータによると、ネットワークＦ内のＩＰアドレス「１０．２０．３０．１」と、ネットワークＬ内のＩＰアドレス「２０．１０．１０．１００」とが、通信を行っていることが分かる。
ここでの監視対象となるＩＰアドレスも、上位５０セッション内に含まれるものであるため、「監視ピア１」と同様に、重点監視対象であると言える。
【００４３】
「監視ピア３」列には、「監視ピア２」の通信相手が監視点の属するネットワークに含まれない場合の、ルートノード（ネットワークＦ）を中継した先のＩＰアドレスが格納される。
図３（ｂ）の例では、例えば２行目と４行目のデータによると、ネットワークＭ内にあるＩＰアドレス「３０．１０．１０．１」は、ネットワークＦを経由して、ネットワークＯ内のＩＰアドレス「５０．１０．１０．２」に宛てた通信を行っていることが分かる。
ここでの監視対象となるＩＰアドレスも、上位５０セッション内に含まれるものであるため、「監視ピア１」「監視ピア２」と同様に、重点監視対象であると言える。
【００４４】
「プロトコル」列には、サンプリングするプロトコルを限定する場合に、当該プロトコル名が格納される。
「Ｐｏｒｔ」列には、特定のサービスを監視する場合に，サンプリングするサービスのＰｏｒｔ番号を限定する場合に、当該Ｐｏｒｔ番号が格納される。
【００４５】
図３（ｂ）のデータ例では、ネットワークＦに存在するＩＰアドレス「１０．２０．３０．１」が多く出現するため、このＩＰアドレスを有する通信機器のユーザが、定常的に特定のＰ２Ｐプロトコルを使用している可能性がある。
【００４６】
なお、同一の「トポロジー」列の値に対して、複数の監視対象ＩＰアドレスが存在する場合には、監視対象ＩＰアドレス毎に別個の行を生成し、障害の切り分けなどを行いやすくするよう配慮する。
例えば、ネットワークＬ内に、ネットワークＦ内のＩＰアドレス「１０．２０．３０．１」と通信を行っているＩＰアドレス「２０．１０．１０．１０１」が存在する場合は、図３（ｂ）の１行目に加えて、新たに下記の行を生成しておく。
【００４７】
（ａ）「トポロジー」＝（Ｆ，Ｌ）
（ｂ）「監視ピア１」＝１０．２０．３０．１
（ｃ）「監視ピア２」＝２０．１０．１０．１０１
【００４８】
同様に、同一の「トポロジー」列の値に対して、監視対象のプロトコルやＰｏｒｔ番号を複数設定する場合は、別個の行を生成してもよい。
【００４９】
以上、ルール生成部１４０の処理内容について説明した。
次に、パケットサンプリング部１５０の処理について説明する。
【００５０】
図４は、パケットサンプリング部１５０が、サンプリング規則に基づきサンプリングを行って生成する統計情報を説明するものである。
統計情報は、ルール生成部１４０が生成するサンプリング規則に基づいて生成されるため、集計単位は図３（ｂ）で説明したサンプリング規則の行と同様である。
【００５１】
パケットサンプリング部１５０は、サンプリング規則で指定される集計単位毎に、パケットの品質指標となる値を集計する。図４では、品質指標として「Ｐａｃｋｅｔ  Ｌｏｓｓ」を用いた例を示した。
パケットサンプリング部１５０は、所定の時間間隔、例えば１分毎に、パケット収集部１１０が収集したパケットをサンプリングし、「Ｐａｃｋｅｔ  Ｌｏｓｓ」の値を集計しながら同列に格納する。
【００５２】
例えば、図４の５行目のデータによれば、ＩＰアドレス「１０．２０．３０．５０」と「６０．１０．１０．１１」の間の通信では、２００個のパケットロスが発生していることが分かる。
【００５３】
なお、図４において、記載の簡易の観点から、「プロトコル」列と「Ｐｏｒｔ」列を省略したことを付言しておく。
また、図４の統計情報は、記憶部１３０に格納するようにしておくと後の読み出しに便宜であるが、格納先はいずれでもよい。例えば、図示しないメモリ中に保持しておくようにしてもよい。
【００５４】
図４のような統計情報を参照することで、重点監視対象としたＩＰアドレスが存在するネットワークに異常が発生しているか否かを判定することができる。具体的な判定手法は後述の実施の形態２で説明する。
【００５５】
以上のように、本実施の形態１に係るパケットサンプリング装置１００では、トポロジー推定部１２０が推定したネットワークトポロジーに基づき、ルール生成部１４０がサンプリング規則を生成し、パケットサンプリング部１５０はそのサンプリング規則に基づきサンプリングを行って、品質指標の統計情報を生成する。
そのため、ネットワークトポロジーを構成する各ネットワーク単位で品質指標の統計が得られるので、単一点のサンプリング結果のみを用いる場合でも、他ネットワークで発生した障害の影響を、自ネットワークの障害と切り分けることができる。
【００５６】
即ち、単純にネットワークの品質指標を集計するのではなく、ネットワーク単位で集約されたネットワークトポロジーの構成要素毎に品質指標を集計するので、いずれかのネットワークに障害が発生した場合に、その障害の影響が品質指標の集計結果に反映されることになり、かかる切り分けが可能になるのである。
もちろん、その前提として、ネットワークトポロジーの推定を適切に行っていることが奏効していることは、言うまでもない。
【００５７】
実施の形態２．
図５は、本発明の実施の形態２に係るネットワーク監視装置２００の機能ブロック図である。
ネットワーク監視装置２００は、ネットワークに接続され、通信パケットのサンプリング結果に基づき、ネットワークの品質異常を監視する装置であり、実施の形態１で説明したパケットサンプリング装置１００の構成に加え、新たにネットワーク異常検知部２１０を備える。
【００５８】
ネットワーク異常検知部２１０は、パケットサンプリング部１５０が生成した、図４のような統計情報を受け取り、その統計情報に基づき、ネットワークの異常を検知する。検知手法については、改めて説明する。
ネットワーク異常検知部２１０は、その機能を実現する回路デバイスなどのハードウェアで構成することもできるし、ＣＰＵやマイコンなどの演算装置と、その動作を規定するソフトウェアとで構成することもできる。
【００５９】
本実施の形態２における「監視部」は、ネットワーク異常検知部２１０がこれに相当する。
【００６０】
以上、ネットワーク監視装置２００の構成について説明した。
次に、ネットワーク異常検知部２１０の動作について説明する。説明に際し、図４の統計情報を用いることにする。
【００６１】
ネットワーク異常検知部２１０は、図４の統計情報を、パケットサンプリング部１５０より取得し、以下のような手法により、ネットワークの品質異常を検知する。
【００６２】
（１）図４の５行目のデータによれば、トポロジー（Ｆ，Ｏ，Ｐ）にてパケットロスが多く発生しているため、このトポロジーを形成するいずれかの構成要素に品質異常が発生していることが分かる。
さらに、４行目のデータによれば、５行目の上位トポロジーである（Ｆ，Ｏ）のパケットロスは少ないことが分かる。
したがって、品質異常が発生しているのは、ネットワークＰか、もしくは５行目の「監視ピア２」で特定される機器か、のいずれかであることが分かる。
【００６３】
（２）また、図４の７〜９行目のデータによれば、トポロジー（Ｆ，Ｇ）（Ｆ，Ｇ，Ｊ）（Ｆ，Ｇ，Ｋ）にてパケットロスが多く発生している。
ネットワークＦを含む他のトポロジーではこのような多数のパケットロスは発生していないため、ネットワークＧで品質異常が発生している可能性が高いのではないかと推定することができる。
【００６４】
（３）なお、パケットロスが異常であるか否かは、同一行のデータを時系列で監視し、定常状態からの乖離度が大きくなったときに、異常値が発生しているものと判定する手法を用いることにする。
これは、定常的にパケットロスの多いネットワークや、定常的に遅延の大きいネットワークなどと比較すると、パケットロスが急激に大きくなっても異常と判定されない可能性があることによる。
この反対に、定常状態ではパケットロスの少ないネットワークを、定常的にパケットロスの多いネットワークとを比較すると、常時異常が発生しているかのように判定される可能性がある。
そのため、ネットワーク異常検知部２１０による異常値の検知は、同一行のデータを時系列で監視することで行うのが好ましいと言える。
【００６５】
このように、図４の統計情報では、ネットワークトポロジーの構成要素毎に品質指標が集計されているので、ネットワーク異常検知部２１０は、単に自ネットワーク（ここではＦ）に発生している品質異常を検知することができるのみならず、他ネットワークで発生した品質異常やその影響範囲を推定することができる。
【００６６】
以上のように、本実施の形態２に係るネットワーク監視装置２００では、ネットワーク異常検知部２１０は、ネットワークトポロジーの構成要素毎に品質指標を集計した統計情報を用いてネットワークの異常を検知する。
そのため、ネットワーク障害などが発生した際に、その障害がネットワークのどこで発生して、その結果として他ネットワークへ影響が出ているということを、時系列で素早く推定することができる。
また、その障害によって影響を受けるセッションをオペレータが素早く把握し、対応することができるので、ネットワーク全体の品質安定に資する。
【００６７】
実施の形態３．
図６は、本発明の実施の形態３に係るネットワーク監視装置２００の機能ブロック図である。
図６において、実施の形態２の図５で説明したネットワーク異常検知部２１０に代えて新たにネットワーク品質推定部２２０を備える。その他の構成は図５と同様であるため、説明を省略する。
【００６８】
ネットワーク品質推定部２２０は、図４の統計情報を時系列に監視し、学習機能により過去の品質指標から将来の品質指標を推定する。学習アルゴリズムは、公知の技術を用いることができる。
ネットワーク品質推定部２２０は、その機能を実現する回路デバイスなどのハードウェアで構成することもできるし、ＣＰＵやマイコンなどの演算装置と、その動作を規定するソフトウェアとで構成することもできる。
【００６９】
なお、実施の形態２の図５で説明したネットワーク異常検知部２１０と、ネットワーク品質推定部２２０とを双方備えるように構成してもよい。
例えば、現時点のネットワーク障害検知はネットワーク異常検知部２１０が担当し、将来的な障害発生の可能性の予測をネットワーク品質推定部２２０が担当するようにすることが考えられる。
【００７０】
本実施の形態３における「監視部」は、ネットワーク品質推定部２２０がこれに相当する。ネットワーク異常検知部２１０と、ネットワーク品質推定部２２０とを双方備える場合は、これら両者が「監視部」に相当する。
【００７１】
以上のように、本実施の形態３によれば、ネットワーク品質推定部２２０は、パケットの挙動の変化の傾向などに基づき、ネットワークに将来的に発生し得る障害の可能性を予測するので、障害発生後の事後的な措置のみならず、障害発生に先んじた事前の予防措置を取ることができ、安定したネットワーク運用に資する。
【００７２】
実施の形態４．
以上の実施の形態１〜３において、トポロジー推定部１２０がトポロジー推定を行う際に、起点となるネットワークＦの２ホップ先までのネットワークセグメントやＡＳを対象としたが、装置の処理能力やメモリ容量などの条件が許すのであれば、さらに先のホップ数にあるネットワークやＡＳをトポロジーツリーの対象としてもよい。
【００７３】
また、トポロジー推定部１２０がトポロジー推定を行う際に、特定のプロトコルやＰｏｒｔ番号を対象とする場合は、これをトポロジーツリーとセットにして記憶部１３０に格納しておき、後にルール生成部１４０がサンプリング規則を生成する際に用いてもよい。
【００７４】
また、トポロジー推定部１２０の処理上、トポロジーの枝の下限閾値を設けておき、トポロジーの枝の数がこの下限閾値を下回った際は、改めてトポロジーツリーを作り直すようにしてもよい。
あるいは、例えば１時間毎や１日毎など、所定の時間間隔毎にトポロジーツリーを作り直すようにしてもよい。
【００７５】
また、パケットサンプリング部１５０が生成する図４のような統計情報は、ネットワークの品質指標値を含むものであるため、汎用的な品質監視手段として、ＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）に格納するようにしてもよい。
これにより、パケットサンプリング装置１００やネットワーク監視装置２００の外部からでも、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）を用いてその統計情報を取得することができる。
【００７６】
実施の形態５．
実施の形態１では、トポロジー推定部１２０がトポロジー推定を行う際に、Ｐ２Ｐプロトコルに着目することを説明した。これは、Ｐ２Ｐプロトコルのセッションの安定性に着目し、トポロジー推定の精度向上を図ったものである。
同様の観点から、トラフィック量に着目してトポロジーを推定することもできる。ここでいうトラフィック量とは、以下のようなことを言う。
【００７７】
（１）ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）のトラフィック量の多さ
（２）特定の送信元アドレスに対する宛先アドレスの多さ
（３）Ｐ２Ｐのような定常的な通信を行うプロトコルを用いたトラフィック量の多さ
（４）特定のＷｅｂサイトに対するトラフィック量の多さ
（５）動画配信サイトのようなトラフィック量の多いサービス
（６）セッション継続時間の長さ
（７）ＩＰアドレスとして出現する回数の多さ
【００７８】
このような、トラフィック量の多いセッションに着目することにより、推定結果におけるトポロジーの網羅性や信頼性を高め、もってネットワーク異常の検知性能の向上を図ることができる。
【００７９】
実施の形態６．
トポロジー推定に関するその他の着目点として、パケット数の多さがある。ここでいうパケット数の多さとは、以下のようなことを言う。
【００８０】
（１）ＲＴＰのパケット数の多さ
（２）特定の送信元アドレスに対する宛先アドレスの多さ
（３）Ｐ２Ｐのような定常的な通信を行うプロトコルを用いたパケット数の多さ
（４）特定のＷｅｂサイトに対するパケット数の多さ
（５）動画配信サイトのようなパケット数の多いサービス
（６）セッション継続時間の長さ
（７）ＩＰアドレスとして出現する回数の多さ
【００８１】
実施の形態７．
トポロジー推定に関するその他の着目点として、使用Ｐｏｒｔ数の多さがある。ここでいう使用Ｐｏｒｔ数の多さとは、以下のようなことを言う。
【００８２】
（１）ＲＴＰの使用するＰｏｒｔ数の多さ
（２）Ｐ２Ｐのような定常的な通信を行うプロトコルが使用するＰｏｒｔ数の多さ
（３）使用Ｐｏｒｔ数の多いサービス
【００８３】
実施の形態８．
実施の形態１では、トポロジー推定部１２０は、既存のトポロジー情報を含む経路情報が入手できるのであれば、これを使用してトポロジー推定を行うことを説明した。
その具体例としては、ＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）のようにフルルートを得ることができるプロトコルを用いる場合に、その経路情報を利用して推定を行うことが考えられる。
あるいは、ＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）、ＲＩＰ（Ｒｏｕｔｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）などの経路変更メッセージから、トポロジーを推定することもできる。
【００８４】
実施の形態９．
以上の実施の形態１〜８において、ルール生成部１４０は、トポロジーツリーに基づきサンプリング規則を生成することを説明した。このとき、パケットサンプリング部１５０が行うサンプリングが、図４の各行毎に均一になるように、サンプリング規則をあらかじめ調整しておくようにしてもよい。
【００８５】
例えば、図４において、同じネットワークセグメントに複数の監視対象ＩＰアドレスが存在するため、同一のトポロジーに対し複数行を設けている場合は、そのトポロジーのみ他のトポロジーよりも多くのパケットをサンプリングすることになりがちである。
このような場合は、各トポロジー構成要素のサンプリング量が均一になるよう、同一トポロジーに対する行数を等しくするなど、ルール生成部１４０が適宜調整を行うとよい。
これにより、後に品質異常を監視する際に、各トポロジー構成要素を均等な基準で評価することができ、適切な監視に資する。
【図面の簡単な説明】
【００８６】
【図１】実施の形態１に係るパケットサンプリング装置１００の機能ブロック図である。
【図２】トポロジー推定部１２０が推定するネットワークトポロジーの格納形式を示すものである。
【図３】ルール生成部１４０が生成するサンプリング規則とそのデータ例を説明するものである。
【図４】パケットサンプリング部１５０が、サンプリング規則に基づきサンプリングを行って生成する統計情報を説明するものである。
【図５】実施の形態２に係るネットワーク監視装置２００の機能ブロック図である。
【図６】実施の形態３に係るネットワーク監視装置２００の機能ブロック図である。
【符号の説明】
【００８７】
１００  パケットサンプリング装置、１１０  パケット収集部、１２０  トポロジー推定部、１３０  記憶部、１４０  ルール生成部、１５０  パケットサンプリング部、２００  ネットワーク監視装置、２１０  ネットワーク異常検知部、２２０  ネットワーク品質推定部。
【図１】
2009171194.tif 000003
【図２】
2009171194.tif 000004
【図３】
2009171194.tif 000005
【図４】
2009171194.tif 000006
【図５】
2009171194.tif 000007
【図６】
2009171194.tif 000008