(57)【特許請求の範囲】
【請求項１】
パケット解析装置と、パケットキャプチャー装置とからなるパケットキャプチャーシステムであって、
前記パケット解析装置は、閾値計算部を備え、ネットワーク上を流れるパケットを一定時間キャプチャーし、当該パケットを蓄積し、
前記閾値計算部は、パケットの類似性を測る関数を定義し、当該関数から頻度分布を作成し、当該頻度分布から閾値を求め、
前記パケット解析装置は、前記閾値に基づいて、当該パケットを分析することによってもっとも頻繁に現れたパケットのパターンを抽出し、
前記パケットキャプチャー装置は、当該パターンを元に、パケットをキャプチャーするパケットキャプチャーシステム。
【請求項２】
請求項１に記載のパケットキャプチャーシステムであって、
前記閾値計算部は、前記関数として、Ｚ値をとり、前記パケットのヘッダ情報を数値化したパラメータ間の近傍度を示す関数を採用することを特徴とするパケットキャプチャーシステム。
【請求項３】
請求項２に記載のパケットキャプチャーシステムであって、
前記閾値計算部は、前記パラメータの数をｎとして、前記関数のＺｎ個の頻度のそれぞれを頻度の総和で除して、前記頻度分布を得ることを特徴とするパケットキャプチャーシステム。
【請求項４】
請求項３に記載のパケットキャプチャーシステムであって、
前記閾値計算部は、キャプチャーしたパケット数をｍとして、頻度の最大値の出現確率とｎとｍとを乗算して小数点以下を繰り上げた値を前記閾値とすることを特徴とするパケットキャプチャーシステム。
【請求項５】
請求項２または請求項３に記載のパケットキャプチャーシステムであって、
前記Ｚは、３であることを特徴とするパケットキャプチャーシステム。
【請求項６】
ネットワーク上を流れるパケットを一定時間キャプチャーするステップと、
キャプチャーしたパケットを蓄積するステップと、
パケットの類似性を測る関数を定義するステップと、
蓄積した複数のパケットについて、前記関数から頻度分布を作成するステップと、
当該頻度分布から閾値を求めるステップと、
前記閾値に基づいて、もっとも頻繁に現れたパケットのパターンを抽出するステップと、
当該パターンを元に、ネットワーク上を流れるパケットをキャプチャーするステップと、を含むパケットキャプチャー方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットキャプチャーシステムおよびパケットキャプチャー方法に係り、特に通信ネットワーク上を流れるパケットをキャプチャーするパケットキャプチャーシステムおよびパケットキャプチャー方法に関する。
【背景技術】
【０００２】
スマートフォンユーザの急激な増大に比例して、通信ネットワークを流れるトラヒックも急激に増大した。通信ネットワークのオペレータは、スマートフォンユーザがどのようなアプリケーションを使い、どのようなサービスを受けているか、そのサービスを利用するに当たり満足しているか等のモバイルサービスの品質について興味がある。
【０００３】
従来のモバイルネットワークにおいて、ｉモード（登録商標）およびＥｚＷｅｂ（登録商標）に代表されるようにオペレータがサーバを立ち上げてサービスを提供していた。そのため、オペレータがユーザ動向を把握することが可能であった。しかし、スマートフォンの急増により、オペレータは、モバイルユーザに対して、Ｉｎｔｅｒｎｅｔ網のサーバを用いたサービスを提供し始めた。
【０００４】
そこで、オペレータは、パケットキャプチャー装置を用いて、サービスの品質を判断しなければならなくなった。従来、パケットキャプチャー装置は、通信ネットワーク上を流れるトラヒックを全てキャプチャーし、ハードディスク等のデータベース（ＤＢ）に書き込む。書き込まれたデータを解析者が解析し、サービスにどのような影響を与えているかを判断していた。
【０００５】
また、全てのパケットをキャプチャーすることなく、事前に取り決めたフィルタールールに基づき通信ネットワーク上を流れるパケットをフィルターしてからＤＢに書き込むｓＦｌｏｗおよびＮｅｔＦｌｏｗのような装置もある。これらの装置は、従来の１Ｇｂｉｔ／ｓの回線容量であれば問題なく使用することができた。しかし、上述のようにトラヒックの急増に伴いバックボーンの回線容量も１０Ｇｂｉｔ／ｓの高速の回線が必要になり、その結果、全てのパケットをキャプチャーすることが困難になってきた。
【０００６】
また、最近のスマートフォンでは、１台の端末で複数のセッションを用いるアプリケーションが多数存在する。そのため、１台の端末で複数のＩＰアドレスを使用することが頻繁に生じる。さらに、アプリケーションによっては、ＩＰアドレスだけではなくアプリケーションの版数の違いにより使用するポート番号を変更することもある。よって、端末のＩＰアドレスやポート番号によってパケットをフィルターし、キャプチャーしてもオペレータが必要とするパケットをキャプチャーすることが非常に困難になってきている。
【０００７】
オペレータが要求するパケットをキャプチャーすることが困難になっているにも関わらず、オペレータはユーザの利用状況を把握したいと考えている。特許文献１および特許文献２に開示された装置は、オペレータのニーズに対してある特定のパケットパターンを事前に決めてそのパターンにマッチしたデータを解析する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−０７４７４４号公報
【特許文献２】特開２０１０−０４５７０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来装置でパケットを取得もしくは廃棄する場合、パケットのパターンを事前に知って、それをパターン化する必要があった。そのため、パケットの中身がパターン化された内容と全く同じである場合以外、当該パケットを取得もしくは廃棄することができなかった。このようにパケットの中身をマッチングできなかった場合はその都度新しいパターンをキャプチャー装置にインプットしなければならなく非常に煩雑であった。つまり、パケットをフィルターする際、どのようなフィルターを適用するかどうかを解析者があらかじめトラフィックを分析する必要があった。従来のモバイルネットワークにおいては、サーバ自体をオペレータが管理していたため、サーバや移動体端末のＩＰアドレスやポート番号等のサービスを識別するパラメータを容易に知ることができ、そのＩＰアドレスを元にフィルターパターンを生成することは可能であった。しかし、一般的なインターネット網にあるサーバに対してオペレータは、パラメータを知ることが困難である。そのような状況において、解析者がパケットをキャプチャーするためにフィルターを生成することは非常に困難である。
【００１０】
そのために、本願発明者の一部は、ネットワーク上を流れているパケットを事前にキャプチャーし、当該パケットから最も頻繁に現れるパケットを抽出するアルゴリズムを先に出願した（出願番号２０１１―１３０２３８）。しかし、当該アルゴリズムを実装するに当たって、最頻度パターンを絞り込むために閾値を解析者自身が決めなければならなかった。また、当該閾値は、解析者自身が任意に決めるため、抽出された最頻度パケットのパターンに客観性が乏しかった。
【課題を解決するための手段】
【００１１】
本明細書において開示される発明の概要は、次のような態様である。ネットワーク上を流れるパケットを一定時間キャプチャーし、それらのパケットを蓄積するためのパケット解析ＤＢとパケット解析ＤＢに格納されたパケット内部の分析を行い、閾値を決めるために取得したパケットのパラメータと別のパケットのパラメータを比較し、類似性を測る関数を導入し、類似性の高いパケットをグループ化し、グループ内の頻度を計算し、当該頻度から閾値を求め、当該閾値を用いて、もっとも頻繁に現れたパケットの傾向を抽出するプレパケットキャプチャー部と、その抽出されたパケットの傾向を元に当該条件に該当するパケットのみをキャプチャーするパケットキャプチャー装置と有するパケットキャプチャーシステムおよび、これらの装置ならびに機能によって実行されるパケットキャプチャー方法である。
【００１２】
上述した課題は、パケット解析装置と、パケットキャプチャー装置とからなるパケットキャプチャーシステムであって、パケット解析装置は、閾値計算部を備え、ネットワーク上を流れるパケットを一定時間キャプチャーし、パケットを蓄積し、閾値計算部は、パケットの類似性を測る関数を定義し、関数から頻度分布を作成し、頻度分布から閾値を求め、パケット解析装置は、閾値に基づいて、パケットを分析することによってもっとも頻繁に現れたパケットのパターンを抽出し、パケットキャプチャー装置は、パターンを元に、パケットをキャプチャーするパケットキャプチャーシステムにより、達成できる。
【００１３】
また、ネットワーク上を流れるパケットを一定時間キャプチャーするステップと、キャプチャーしたパケットを蓄積するステップと、パケットの類似性を測る関数を定義するステップと、蓄積した複数のパケットについて、関数から頻度分布を作成するステップと、頻度分布から閾値を求めるステップと、閾値に基づいて、もっとも頻繁に現れたパケットのパターンを抽出するステップと、パターンを元に、ネットワーク上を流れるパケットをキャプチャーするステップと、を含むパケットキャプチャー方法により、達成できる。
【発明の効果】
【００１４】
モバイルネットワーク機器に対して大量の基地局が接続されるようなモバイル用サービスネットワークにおいて本発明のパケットキャプチャーシステムを用いることで、モバイルネットワーク管理者が想定していないパケット種別およびデータ量の増加したパケットの情報が収集可能となる。
【図面の簡単な説明】
【００１５】
【図１】パケットキャプチャーシステムを用いた通信システムのブロック図である。
【図２】プレキャプチャー機能に閾値計算機能を追加したパケットキャプチャーシステムのブロック図である。
【図３】パケット解析装置のフローチャートである。
【図４】閾値計算部の関数を計算するフローチャートである。
【図５Ａ】閾値計算部の分布を求めるフローチャート（その１）である。
【図５Ｂ】閾値計算部の分布を求めるフローチャート（その２）である。
【図６】閾値計算部で閾値を計算するためのサンプルパケットを説明する図である。
【図７】閾値計算部によって生成される分布の生成過程を説明する図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、実施例を用い図面を参照しながら詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
【００１７】
図１を参照して、キャプチャーシステムを説明する。図１において、キャプチャーシステムは、通信端末１００と、基地局３００と、パケットキャプチャーシステム２００と、通信機器４００と、インターネット網５００とから、構成されている。
【００１８】
図１において、無線通信ネットワークは、基地局３００と、通信機器４００とから、構成されている。通信機器４００は、呼処理と、ヘッダ変換等を行なう。通信機器４００は、Ｌ２ＳＷ、Ｌ３ＳＷおよびルータも含まれる。これらの通信機器４００によって無線端末１００から発信された通信が可能となる。
【００１９】
パケットキャプチャーシステム２００は、図１に示すように無線通信ネットワークにおいて、基地局３００と通信機器４００との間および通信機器４００と他の通信機器４００との間に配置される。
【００２０】
図２を参照して、パケットキャプチャーシステムの構成を説明する。図２において、パケットキャプチャーシステム２００は、パケット解析装置２１０と、パケットキャプチャー部２２０と、表示装置２５０とから構成されている。パケット解析装置２１０は、プレパケットキャプチャー部２１１と、パケット解析ＤＢ２１３と、閾値計算部２１６とから構成されている。
【００２１】
パケット解析装置２１０は、ネットワーク上を流れるパケットを一定時間キャプチャーし、当該パケットを蓄積し、当該パケットを分析することによってもっとも頻繁に現れたパケットのパターンを抽出する。パケットキャプチャー部２２０は、抽出パターンを元に、パケットをキャプチャーする。
【００２２】
基地局３００、通信機器４００から転送されたパケットについて、パケット解析装置２１０は、任意の時間、任意の数のパケットをサンプリングするためにキャプチャーする。パケット解析ＤＢ２１３は、取得したパケットを収集、格納する。閾値計算部２１６は、閾値を計算する。プレパケットキャプチャー部２１１は、サンプリングしたパケットを解析する。プレキャプチャーアルゴリズムは、最も頻繁に出現するパケット群を取得することが目的である。しかし、最も頻繁に現れるパケット群と僅かな違いしかないパケット群、例えばＩＰアドレスのアドレスが”１”だけ異なる場合や、ポート番号の値が”１”だけ異なる場合は取得されず廃棄されてしまう。これらのパケットを取得するためには、先の出願の第５図の最頻度の閾値Ｓの値を変えて再度プレキャプチャーアルゴリズムを実行させなければならない。第５図のアルゴリズムにおいては、最頻度のパターンを決める閾値Ｓの決め方が重要なポイントになる。一方で、閾値Ｓは、事前に解析者が任意に決めなければならない。そこで、新たに閾値Ｓを決める閾値計算部２１６をパケット解析装置２１０内のプレキャプチャー部２１１の前段に実装する。
【００２３】
なお、閾値Ｓは、取得したパケットの要素でＳ回以上現れている要素を抽出するための閾値である。つまりＳの値が大きければ、パケットキャプチャー装置２２０でキャプチャーするパケットは少なくすることができる。一方、Ｓの値が小さければパケットキャプチャー装置２２０でキャプチャーするパケットは多くなる。閾値Ｓはパケットキャプチャー部２２０でキャプチャーするパケットをどの程度に絞り込むかを決める値である。
【００２４】
図３を参照して、パケット解析装置の処理フローを説明する。図３において、パケット解析装置２１０は、まず、流れているパケットを閾値計算部２１６に取り込む（Ｓ３０１）。閾値計算部２１６は、取り込まれたパケットのヘッダ情報を数値化するためにパケット間の関数ｄ（ｘｉｊ，ｘｋｌ）を計算する（Ｓ３０２）。閾値計算部２１６は、この関数ｄ（ｘｉｊ，ｘｋｌ）を元に頻度分布を作成する。そのために、閾値計算部２１６は、｛ｄ（ｘｉ１，ｘｋ１），ｄ（ｘｉ２，ｘｋ２），…，ｄ（ｘｉｎ，ｘｋｎ）｝(ｉ＝１，２，…，ｍ，ｋ＝１，２，…，ｍ)の取りうる全ての集合Ｔlを作成する(Ｓ３０３)。
【００２５】
閾値計算部２１６は、｛ｄ（ｘｉ１，ｘｋ１），ｄ（ｘｉ２，ｘｋ２），…，ｄ（ｘｉｎ，ｘｋｎ）｝(ｉ＝１，２，…，ｍ，ｋ＝１，２，…，ｍ)の組合せの個数を数え、Ｔｌに格納し、Ｔｌの分布を作成する（Ｓ３０４）。Ｔｌの分布でもっとも高い出現確率を元に、閾値計算部２１６は、プレキャプチャー部２１１を実行させるための閾値Ｓを決定する（Ｓ３０５）。ここで決められた閾値Ｓを元に、プレキャプチャー部２１１は、稼働する（Ｓ３０６）。プレキャプチャー部２１１のアルゴリズムによって最頻度のパケットパターンが抽出され、終了する。
【００２６】
今パケットの内部のヘッダ情報としてｎ個のパラメータがあり、プレキャプチャーしたパケットｍ個あるとする。このとき、各パケットの情報を
｛ｘ１１，ｘ１２，…，ｘ１ｎ｝：１番目に取得したパケットのヘッダ情報の集合
｛ｘ２１，ｘ２２，…，ｘ２ｎ｝：２番目に取得したパケットのヘッダ情報の集合
｛ｘ３１，ｘ３２，…，ｘ３ｎ｝：３番目に取得したパケットのヘッダ情報の集合
…
｛ｘｍ１，ｘｍ２，…，ｘｍｎ｝：ｍ番目に取得したパケットのヘッダ情報の集合
と書くことができる。
【００２７】
各列には同じパラメータが格納されているのでパラメータ毎の値の書式は同一のものになっている。よって、パラメータの値はアドレスのように、１２３．２４４．２４０．２４と書くことができたり、通常の自然数の値であったりする。
【００２８】
ここで、各パラメータ毎にどの程度差異があるかを測るための関数を導入する。今、この関数ｄ（ｘｉｊ，ｘｋｊ）を以下に定義する。なお、図３の説明では一般的に関数ｄ（ｘｉｊ，ｘｋｌ）と記載したが、実際にはｌ＝jとなる。
ｄ（ｘｉｊ，ｘｋｊ）＝２  ｜ｘｉｊ − ｘｋｊ｜≦αｋ
＝１  αｋ＜｜ｘｉｊ − ｘｋｊ｜≦βｋ
＝０  ｜ｘｉｊ − ｘｋｊ｜＞βｋ
ここで、ｉ＝１，２，…，ｍ、ｊ＝１，２，…，ｍ、ｋ＝１，２，…，ｎである。
【００２９】
このように定義された関数は、ｘｉｊの値が自然数の場合にはそのままユークリッド距離(差)として計算され、ＩＰアドレスのようなものの場合は、アドレスのクラスによって分類されたものを数値化したものに変換できる。具体的にＩＰアドレスを分類するには、以下のように考えればよい。ここでは３つの値をとる関数にしたが、取り得る値はいくつでも良い。
ｄＩＰ（ｘｉｊ，ｘｋｊ）＝２  ＊１
＝１  ＊２
＝０  ＊３
＊１：ＩＰアドレスをａ．ｂ．ｃ．ｄと表現したとき、ｘｉｊとｘｋｊのＩＰアドレスがａ．ｂ．ｃまで一致したときには２の値をとる。
＊２：ＩＰアドレスをａ．ｂ．ｃ．ｄと表現したとき、ｘｉｊとｘｋｊのＩＰアドレスがａ．ｂ．まで一致したときには１の値をとる。
＊３：＊１、＊２のいずれにも属さない場合は、０の値をとる。
なお、ＩＰアドレスの距離に関してはＩＰアドレスのクラスによる分類を導入する方法もよい。
【００３０】
図４を参照して、このように定義されたｄ（ｘｉｊ，ｘｋｊ）に格納される値を計算するアルゴリズムを説明する。閾値計算部２１６は、まず、添え字のｉ，ｊ，ｋの値を１にセットする（Ｓ４０１）。閾値計算部２１６は、ｉ＝ｋか判定する（Ｓ４０２）。ＹＥＳならば、同じパケットの同じパラメータ間の近傍を計算することになるので、閾値計算部２１６は、この場合はｄ（ｘｉｊ，ｘｋｊ）を計算しないでステップ４０４に遷移する。ステップ４０２でｉ≠ｋならば（ＮＯ）、ｄ（ｘｉｊ，ｘｋｊ）を計算する（Ｓ４０３）。閾値計算部２１６は、ｋ＝ｍか判定する（Ｓ４０４）。ＮＯのとき、閾値計算部２１６は、ｋを加算して（ｋにｋ＋１を代入する）（Ｓ４０５）、ステップ４０２に戻る。
【００３１】
ステップ４０４でｋ＝ｍになった時点で、閾値計算部２１６は、ｉのループに移行する。すなわち、閾値計算部２１６は、ｉ＝ｍか判定する（Ｓ４０６）。ＮＯのとき、閾値計算部２１６は、ｉを加算して（ｉにｉ＋１を代入する）（Ｓ４０７）、ステップＳ４０２に戻る。ステップ４０６でｉ＝ｍならば（ＹＥＳ）、ｊのループに移行する。すなわち、閾値計算部２１６は、ｊ＝ｎか判定する（Ｓ４０８）。ＮＯのとき、閾値計算部２１６は、ｊを加算して（ｊにｊ＋１を代入する）（Ｓ４０７）、ステップＳ４０２に戻る。
【００３２】
ステップ４０８でｊ＝ｎならば（ＹＥＳ）、全てのｄ（ｘｉｊ，ｘｋｊ）を計算することができたので、閾値計算部２１６は、終了する。このようにして全てのパラメータ間の近傍度（パラメータ間の近さ加減）を示す関数を決めることができる。
【００３３】
ｄ（ｘｉｊ，ｘｋｊ）は３値をとる関数として定義しているが、一般には、Ｚｊ値を取ることができる。各パラメータの関数ｄ（ｘｉｊ，ｘｋｊ）がそれぞれ Ｚｊ個取りうるとき、考えられる｛ｄ（ｘｉ１，ｘｋ１），ｄ（ｘｉ２，ｘｋ２），…，ｄ（ｘｉｎ，ｘｋｎ）｝はΠＺｊ（ｊ＝１，２，…，ｎ）＝Ｌ個の組合せが生成される。この組合せをＴｈ（ｈ＝１，２，…，Ｈ）として定義する。
ｄ（ｘｉｊ，ｘｋｊ）では３値の関数のため、Ｈ＝３ｎとなる。
【００３４】
次に、図４で求めたｄ（ｘｉｊ，ｘｋｊ）の値を元に各Ｔｌに格納される個数を計算する。図５を参照して、そのアルゴリズムを説明する。図５において、Ｔｈの組にはそれぞれａｈ個が含まれることとする。しかし、初期値は０なので、閾値計算部２１６は、∀ｈ∈Ｎ（自然数）、ａｈ＝０とする（Ｓ５０１）。
【００３５】
｛ｄ（ｘｉ１，ｘｋ１），ｄ（ｘｉ２，ｘｋ２），…，ｄ（ｘｉｎ，ｘｋｎ）｝の組を各ｉ，ｋに対して計算するために、閾値計算部２１６は、ｉ，ｋのループ処理を行う（Ｓ５０２，Ｓ５０３，Ｓ５１１，Ｓ５１２，Ｓ５１３，Ｓ５１４）。このときｉ＝ｋの場合、ｄ（ｘｉｊ，ｘｋｊ）の場合も除いているので、閾値計算部２１６は、除外する（Ｓ５０４）。閾値計算部２１６は、各ｉ，ｋに対して｛ｄ（ｘｉ１，ｘｋ１），ｄ（ｘｉ２，ｘｋ２），…，ｄ（ｘｉｎ，ｘｋｎ）｝を計算し、それをＲと置く（Ｓ５０５）。そして、ＲがＴｈと一致した場合（Ｓ５０７）、閾値計算部２１６は、ａｌにａｌ＋１の値を代入する（Ｓ５０８）。閾値計算部２１６は、この処理をｈ＝１〜Ｌまで行う（Ｓ５０６，Ｓ５０９，Ｓ５１０）。この処理を全てのｉ，ｋに対して実行することによって、閾値計算部２１６は、Ｔｈの分布を計算することができる。
【００３６】
ｄ（ｘｉｊ，ｘｋｊ）の場合、閾値計算部２１６は、以下のように分布を計算することができる。
【００３７】
１，２，…，ｎ
１ ｛０，０，…，０｝＝ａ１ ＃１
２ ｛０，０，…，１｝＝ａ２ ＃２
３ ｛０，０，…，２｝＝ａ３ ＃３
…
Ｌ ｛２，２，…，２｝＝ａＬ ＃４
＃１：各パラメータ間の関数ｄが０の値をとる（ｘｉｋ，ｘｊｋ）の個数
＃２：各パラメータ間の関数ｄにおいて、１番目からｎ−１番目までのパラメータにおいては関数ｄの値が０で、ｎ番目のパラメータ間の関数ｄが１の値をとる（ｘｉｋ，ｘｊｋ）の個数
＃３：各パラメータ間の関数ｄにおいて、１番目からｎ−１番目までのパラメータにおいては関数ｄの値が０で、ｎ番目のパラメータ間の関数ｄが２の値をとる（ｘｉｋ，ｘｊｋ）の個数
＃４：各パラメータ間の関数ｄが全て２の値をとる（ｘｉｋ，ｘｊｋ）の個数
このとき、Ｈの値は３ｎ個になり、Σaｈ （ｌ＝１，２，…，３ｎ）＝ ｍＣ２ ＝Ａとなる。よって、各頻度ａｈ（ｈ＝１，２，…，３ｎ）をＡで割った値、ａｈ／Ａ（ｈ＝１，２，…，３ｎ）が頻度分布を表す。一般に取り得る値が各パラメータでそれぞれＺi（ｉ＝１，２，…，ｎ）のときにはＨ＝ΠＺi（ｉ＝１，２，…，ｎ）となる。
【００３８】
このａｈ／Ａ（ｈ＝１，２，…，３ｎ）を用いて、
Ｍａｘ（ａｌ／Ａ）×ｎ×ｍ
を繰り上げた値をＳと定義し、プレキャプチャーを行う。
【００３９】
図６、図７を参照して、具体的に説明する。図６において、パケットのヘッダ情報は、送信元ＩＰアドレス６１０と、送信先ＩＰアドレス６２０と、パケット長６３０との３つのパラメータを持っているとする。また、キャプチャーしたパケットが５つあるとする（６０１〜６０５）。図６は、キャプチャーしたパケットの集合６００である。
【００４０】
送信元ＩＰアドレス６１０、送信先ＩＰアドレス６２０に関しては関数ｄＩＰを適用し、関数を計算する。パケット長に関しては各パケット各パケット間のパケット長の差の絶対値を関数とし、その閾値α、βとして仮にαを１００、βを４００とする。
【００４１】
まず送信元ＩＰアドレス６１０に関して、１番目と２番目のパケットを比較する。この二つのパケットを比較したときＩＰアドレスが最初の３つの値が一致しているため、ｄ（ｘ１１，ｘ２１）＝２となる。次に１番目のパケットと３番目のパケットを比較するとｄ（ｘ１１，ｘ３１）＝１となる。以下同様にｄ（ｘｊ１，ｘｋ１）の値を計算すると
ｄ（ｘ１１，ｘ４１）＝０
ｄ（ｘ１１，ｘ５１）＝０
ｄ（ｘ２１，ｘ３１）＝１
ｄ（ｘ２１，ｘ４１）＝０
ｄ（ｘ２１，ｘ５１）＝０
ｄ（ｘ３１，ｘ４１）＝０
ｄ（ｘ３１，ｘ５１）＝０
ｄ（ｘ４１，ｘ５１）＝２となる。
【００４２】
同様に、送信先ＩＰアドレス６２０についても、ｄ（ｘ２ｊ，ｘ２ｋ）を計算すると、
ｄ（ｘ１２，ｘ２２）＝２
ｄ（ｘ１２，ｘ３２）＝２
ｄ（ｘ１２，ｘ４２）＝１
ｄ（ｘ１２，ｘ５２）＝０
ｄ（ｘ２２，ｘ３２）＝２
ｄ（ｘ２２，ｘ４２）＝１
ｄ（ｘ２２，ｘ５２）＝０
ｄ（ｘ３２，ｘ４２）＝１
ｄ（ｘ３２，ｘ５２）＝０
ｄ（ｘ４２，ｘ４２）＝０となる。
【００４３】
パケット長についてｄ（ｘ３ｊ，ｘ３，ｋ）を計算すると、パケット長の差が１００以下ならば２、１００より大きく４００以下ならば１、４００を越える場合は０をとるので、
ｄ（ｘ１３，ｘ２３）＝０
ｄ（ｘ１３，ｘ３３）＝０
ｄ（ｘ１３，ｘ４３）＝１
ｄ（ｘ１３，ｘ５３）＝０
ｄ（ｘ２３，ｘ３３）＝０
ｄ（ｘ２３，ｘ４３）＝２
ｄ（ｘ２３，ｘ５３）＝２
ｄ（ｘ３３，ｘ４３）＝１
ｄ（ｘ３３，ｘ５３）＝１
ｄ（ｘ４３，ｘ４３）＝２となる。
【００４４】
これを行ごとに表にしたものが、図７である。この行の値を｛ｐ，ｑ，ｒ｝と表記すると、一行目は｛２，２，０｝と書くことができ、二行目は｛１，２，０｝と書くことができる。
【００４５】
図７で取り得る、値の組合せは｛０，０，０｝から｛２，２，２｝までの２７（３３）通りある。それらを列挙し、同じ組合せになった個数を数えると、
｛０，０，０｝＝１→（７０４）
｛０，０，１｝＝１→（７０９）
｛０，０，２｝＝１→（７０７）
｛０，１，０｝＝０    
｛０，１，１｝＝２→（７０３，７０８）
｛０，１，２｝＝１→（７０５）
｛０，２，０｝＝０    ｛０，２，１｝＝０        ｛０，２，２｝＝０
｛１，０，０｝＝０    ｛１，０，１｝＝０        ｛１，０，２｝＝０
｛１，１，０｝＝０    ｛１，１，１｝＝０        ｛１，１，２｝＝０
｛１，２，０｝＝２→（７０２，７０６）
｛１，２，１｝＝０    ｛１，２，２｝＝０
｛２，０，０｝＝０    ｛２，０，１｝＝０        
｛２，０，２｝＝１→（７１０）
｛２，１，０｝＝０    ｛２，１，１｝＝０        ｛２，１，２｝＝０
｛２，２，０｝＝１→（７０１）
｛２，２，１｝＝０    ｛２，２，２｝＝０となる。
【００４６】
｛ｐ，ｑ，ｒ｝の値を全て足すと先に計算したｄ（ｘｉｊ，ｘｋｌ）の個数（この場合は１０個）に一致する。これらの値の中の最大値は、”２”である。母数Ａは、”１０”である。したがって、出現確率は２／１０＝１／５である。取得したパラメータの総数は、３（パラメータ数）×５（パケット数）＝１５となる。よって、求めるＳの値は１５／５＝３となる。この値を元にプレキャプチャーのアルゴリズムを実行する。
【００４７】
図３に示すフローに従ってプレキャプチャーの際に用いる閾値を計算し、その閾値を用いてプレキャキャプチャーを行う。プレキャプチャーは、先願（出願番号２０１１―１３０２３８）に従って行う。プレキャプチャーによって抽出されたパケットパターンを用いてキャプチャーされたパケットは、事前にオペレータが要求したカテゴリにおいて、ある一定時間キャプチャーしたパケットを元に、ネットワーク上で最も頻繁に流れたパケットの集合である。これらのパケットは、オペレータの主観によってフィルターしたパケットではなく、ネットワーク上の特性を元に抽出したパケットである。また、パケットをフィルターすることによって、トラヒック量を激減させることが可能であり、キャプチャーパケットが欠落する確率を下げることが可能となる。
【００４８】
さらに、プレキャプチャーする際に用いる閾値をネットワーク上に流れているパケットから計算することにより、より客観的にパケットのパターンを抽出することができる。この結果は、最も頻繁に使われた端末種別（例えばＡ社のＸＸＸという端末）であったり、最も頻繁にユーザ利用しているサービスやアプリケーション（例えばＶｏＩＰやＳＮＳへの書き込み）であったり、最も頻繁にネットワークを利用しているユーザであったりする。
【００４９】
キャプチャーされたパケットを表示した結果、ある特定の端末種別が頻繁に現れていれば、その端末種別の販売実績と照らし合わせることによって、その端末を利用しているユーザにデータに何らかの影響があることを予測できる。販売台数が極端に多くない端末がキャプチャーしたパケットによって頻出しているのであれば、端末のバグ等によって再送を繰り返す処理が行われていることが考えられる。
【００５０】
また、キャプチャーされたパケットを表示した結果、アプリケーションの種別が明示されると、そのアプリケーションのサービス品質を向上させることも逆に規制をかけることも可能となる。キャプチャーしたパケットの結果、ＶｏＩＰのパケットが多く流れていた場合、オペレータはそれらのパケットの遅延や揺らぎの統計データを取得し、実際のサービスの品質向上に役立てることが可能となる。また、災害時には逆にこれらのパケットを規制し、ネットワーク全体を安定運用させることも可能とある。
【００５１】
ユーザまたはユーザ所属しているグループによるパケットが多い場合、ごく少数の個人がネットワークを占有している可能性がる。その場合、当該ユーザを拒絶することも、料金を上げること可能である。逆に特定のグループのユーザを囲い込み、優先的に高品質のサービスを提供するプランを作ることも可能である。
【００５２】
本実施例のパケットキャプチャーシステムでは、パケットのパターンを予め設定する必要はなく、キャプチャーしたいデータのパターンを柔軟に変更修正すること可能である。また、事前に任意にキャプチャーしたパケットのヘッダ部にある情報を元に統計的に解析しているため、客観的な解析結果が得られる。従来のキャプチャー装置ではアプリケ-ションを特定するためにはアプリケーション側にアプリケーションを特定する識別子をつけなければならなかったが、本実施例においては、特定のアプリケーションや特定のユーザ等を固定せずに、必要なパケットをキャプチャーすることができる。
【００５３】
また、キャプチャーするパケットのパターンを求める際に必要となる閾値に関してもネットワーク上を流れるパケットを用いて求めることにより、プレキャプチャーによって抽出されたパケットパターンがより客観的なパケットパターンになる。
【００５４】
モバイルネットワークにおいては、非常に多くの端末が複数のセッションを張りながら、かつ移動しながら通信を行っている。そのため、端末の移動に伴い利用エリアの品質が変動する。家庭における光ネットワーク等の固定ネットワーク通信においても多数の端末は存在するが、端末が移動しないため、当該エリアの品質が極端に変動することもなく、ネットワークの品質を管理することは比較的容易である。しかしながら、モバイルネットワークは固定ネットワーク通信と異なり、エリアの品質を把握し、管理することは非常に困難である。そこで、本実施例によってキャプチャーされたパケットを元に、時々刻々変化するモバイルネットワークの品質を管理する指標、例えば、使用している端末や使用しているアプリケーションの遅延、レスポンスタイム、揺らぎ等の統計情報、特定ユーザの位置や平均スループットなどを把握することができる。
【００５５】
様々な収集したキャプチャー情報を元に通信端末毎のアプリケーション使用状況や使用時間帯・利用場所を把握することが可能となり、時間や場所によるアプリケーションサービス向上や利用形態による通信端末契約内容の調整に利用することが可能となる。
【００５６】
また、ネットワーク機器の輻輳状態となった場合でも、輻輳原因となるパケット種別を収集したキャプチャー情報から瞬時に特定することが可能となり早急なネットワークの復旧作業にも利用可能である。
【符号の説明】
【００５７】
１００…通信端末、２００…パケットキャプチャーシステム、２１０…パケット解析装置、２１１…プレパケットキャプチャー部、２１３…パケット解析ＤＢ、２１６閾値計算部、２２０…パケットキャプチャー部、２５０…表示装置、３００…基地局、４００…通信機器、５００…インターネット網。
【図１】
0005833934.tif 000002
【図２】
0005833934.tif 000003
【図３】
0005833934.tif 000004
【図４】
0005833934.tif 000005
【図５Ａ】
0005833934.tif 000006
【図５Ｂ】
0005833934.tif 000007
【図６】
0005833934.tif 000008
【図７】
0005833934.tif 000009