(57)【要約】【課題】少ないサンプルトラヒックを用いて、精度よく攻撃被疑の通信を検知すること。【解決手段】また、コントローラ１０は、トンネル内部のフローの帯域に関する情報と、各フローのポリシング又はシェーピング後の帯域を取得し、取得された帯域に関する情報を用いて、ポリシング又はシェーピング前のトラヒック量に対するポリシング又はシェーピング後のトラヒック量の割合を計算し、計算された割合と各フローのポリシング又はシェーピング後の帯域とを用いて、監視対象のフローのトンネル内部のトラヒック量を推定する。【選択図】図１
2020031394.tif 000002
【特許請求の範囲】
【請求項１】
推定装置で実行される推定方法であって、
トンネル内部のフローの帯域に関する情報と、各フローのポリシング又はシェーピング後の帯域とを取得する取得工程と、
前記取得工程によって取得された帯域に関する情報を用いて、ポリシング又はシェーピング前のトラヒック量に対するポリシング又はシェーピング後のトラヒック量の割合を計算する計算工程と、
前記計算工程によって計算された割合と前記ポリシング又はシェーピング後の帯域とを用いて、監視対象のフローのトンネル内部のトラヒック量を推定する推定工程と
を含むことを特徴とする推定方法。
【請求項２】
前記取得工程は、各フローのポリシング又はシェーピング後の帯域とトンネル内部のフローの帯域とポリシング又はシェーピング後のフローの帯域とを取得し、
前記計算工程は、前記取得工程によって取得された前記トンネル内部のフローの帯域と前記ポリシング又はシェーピング後のフローの帯域とを用いて、前記割合を計算することを特徴とする請求項１に記載の推定方法。
【請求項３】
前記取得工程は、各フローのポリシング又はシェーピング後の帯域とトンネル内部のフローの帯域を取得し、
前記計算工程は、前記取得工程によって取得された前記トンネル内部のフローの帯域と予め設定されたポリシング又はシェーピングの帯域とを用いて、前記割合を計算することを特徴とする請求項１に記載の推定方法。
【請求項４】
前記取得工程は、トンネル内部のフローのパケット数をカウントするコアルータからパケットカウンタを取得し、
前記計算工程は、前記パケットカウンタを用いて、トンネル内部のフローの帯域を計算し、該トンネル内部のフローの帯域と予め設定されたポリシング又はシェーピングの帯域とを用いて、前記割合を計算することを特徴とする請求項１に記載の推定方法。
【請求項５】
前記取得工程は、トンネル内部のフローのパケット数をカウントするコアルータからパケットカウンタとポリシング又はシェーピング後のフローの帯域とを取得し、
前記計算工程は、前記パケットカウンタを用いて、トンネル内部のフローの帯域を計算し、該トンネル内部のフローの帯域と前記ポリシング又はシェーピング後のフローの帯域とを用いて、前記割合を計算することを特徴とする請求項１に記載の推定方法。
【請求項６】
推定装置で実行される推定方法であって、
各フローのポリシング又はシェーピング後の帯域を取得する取得工程と、
前記取得工程によって取得された各フローのポリシング又はシェーピング後の帯域のうち、監視対象のフローのポリシング又はシェーピング後の帯域にサンプリングレートの逆数を乗算して、前記監視対象のフローのトンネル内部のトラヒック量を推定する推定工程と
を含むことを特徴とする推定方法。
【請求項７】
トンネル内部のフローの帯域に関する情報と、各フローのポリシング又はシェーピング後の帯域とを取得する取得部と、
前記取得部によって取得された帯域に関する情報を用いて、ポリシング又はシェーピング前のトラヒック量に対するポリシング又はシェーピング後のトラヒック量の割合を計算する計算部と、
前記計算部によって計算された割合と前記ポリシング又はシェーピング後の帯域とを用いて、監視対象のフローのトンネル内部のトラヒック量を推定する推定部と
を有することを特徴とする推定装置。
【請求項８】
トンネル内部のフローの帯域に関する情報と、各フローのポリシング又はシェーピング後の帯域とを取得する取得ステップと、
前記取得ステップによって取得された帯域に関する情報を用いて、ポリシング又はシェーピング前のトラヒック量に対するポリシング又はシェーピング後のトラヒック量の割合を計算する計算ステップと、
前記計算ステップによって計算された割合と前記ポリシング又はシェーピング後の帯域とを用いて、監視対象のフローのトンネル内部のトラヒック量を推定する推定ステップと
をコンピュータに実行させることを特徴とする推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推定方法、推定装置および推定プログラムに関する。
【背景技術】
【０００２】
従来、トンネリングを行っているネットワークにおいて、トンネル内で送受信されたパケットをコピーし、分析サイトでコピーパケットを収集させ、トンネル内部のフローのトラヒックを監視する技術が知られている。トンネリング技術を使用しているネットワークでは、トンネル単位でしかトラヒックを分析サイトへ引き込むことができず、帯域を圧迫したり、分析サイトが輻輳したりする場合があった。このため、トンネル単位のトラヒックを分析サイトに引き込む手法として、設定したサンプリングレートでパケットコピーを行う方式や帯域制御（ポリシング又はシェーピング）」を行う方式が存在する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】鈴木  裕志、林  裕平、西岡  孟朗、阪井  勝彦、工藤  伊知郎、“攻撃検知のためのサンプリングレート決定方法”、電子情報通信学会、2018年3月
【非特許文献２】林  裕平、工藤  伊知郎、阪井  勝彦、鈴木  裕志、西山  聡史、“多様なプロトコルスタック高速判別方式の計算量評価”、電子情報通信学会、2018年3月
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した従来のサンプリングレートでパケットコピーを行う方式や帯域制御（ポリシング又はシェーピング）」を行う方式では、本来のトラヒックよりも少ないトラヒックでの分析となるため、閾値等の設定によっては精度よく攻撃被疑の通信を検知することができないことがあるという課題があった。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明の推定方法は、推定装置で実行される推定方法であって、トンネル内部のフローの帯域に関する情報と、各フローのポリシング後の帯域とを取得する取得工程と、前記取得工程によって取得された帯域に関する情報を用いて、ポリシング前のトラヒック量に対するポリシング後のトラヒック量の割合を計算する計算工程と、前記計算工程によって計算された割合と前記ポリシング後の帯域とを用いて、監視対象のフローのトンネル内部のトラヒック量を推定する推定工程とを含むことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、少ないサンプルトラヒックを用いて、精度よく攻撃被疑の通信を検知することができるという効果を奏する。
【図面の簡単な説明】
【０００７】
【図１】図１は、第一の実施の形態に係る通信システムの構成の一例を示す図である。
【図２】図２は、第一の実施の形態に係るコントローラの構成例を示すブロック図である。
【図３】図３は、第一の実施の形態に係るフローコレクタがトンネルの帯域とコピー後の各フローの帯域を管理する処理を説明する図である。
【図４】図４は、第一の実施の形態に係るコントローラが監視対象フローのトラヒック量を推定する処理を説明する図である。
【図５】図５は、第一の実施の形態に係るコントローラによる処理を説明するフローチャートである。
【図６】図６は、第一の実施の形態に係る通信システムによる処理を説明するシーケンス図である。
【図７】図７は、第一の実施の形態に係る通信システムの効果を説明するための図である。
【図８】図８は、第一の実施の形態に係る通信システムの効果を説明するための図である。
【図９】図９は、第二の実施の形態に係るフローコレクタがトンネルの帯域とコピー後の各フローの帯域を管理する処理を説明する図である。
【図１０】図１０は、第二の実施の形態に係るコントローラが監視対象フローのトラヒック量を推定する処理を説明する図である。
【図１１】図１１は、第二の実施の形態に係る通信システムによる処理を説明するシーケンス図である。
【図１２】図１２は、第三の実施の形態に係るフローコレクタがコピー後の各フローの帯域を管理する処理を説明する図である。
【図１３】図１３は、第三の実施の形態に係るコントローラがＤＲＯＰカウンタを取得し、トンネルの帯域を計算する処理を説明する図である。
【図１４】図１４は、第三の実施の形態に係るコントローラが監視対象フローのトラヒック量を推定する処理を説明する図である。
【図１５】図１５は、第三の実施の形態に係るコントローラによる処理を説明するフローチャートである。
【図１６】図１６は、第三の実施の形態に係る通信システムによる処理を説明するシーケンス図である。
【図１７】図１７は、第四の実施の形態に係るフローコレクタがコピー後の各フローの帯域を管理する処理を説明する図である。
【図１８】図１８は、第四の実施の形態に係るコントローラが監視対象フローのトラヒック量を推定する処理を説明する図である。
【図１９】図１９は、第四の実施の形態に係るコントローラによる処理を説明するフローチャートである。
【図２０】図２０は、第四の実施の形態に係る通信システムによる処理を説明するシーケンス図である。
【図２１】図２１は、第五の実施の形態に係る通信システムによる処理の概要を説明する図である。
【図２２】図２２は、プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【０００８】
以下に、本願に係る推定方法、推定装置および推定プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る推定方法、推定装置および推定プログラムが限定されるものではない。
【０００９】
［第一の実施の形態］
以下の実施の形態では、第一の実施の形態に係る通信システムの構成、コントローラの構成、コントローラおよび通信システムにおける処理の流れを順に説明し、最後に第一の実施の形態による効果を説明する。
【００１０】
［通信システムの構成］
まず、図１を用いて、第一の実施の形態に係る通信システムについて説明する。図１は、第一の実施の形態に係る通信システムの構成の一例を示す図である。第一の実施の形態に係る通信システムは、分析サイト内に、コントローラ１０、フローコレクタ２０、フロー送出用ルータ３０、フォーマット変換装置４０、ルータ５０および複数のコアルータ６０ａ〜６０ｃを有する。なお、図１に示す構成は一例にすぎず、具体的な構成や各装置の数は特に限定されない。また、コアルータ６０ａ〜６０ｃについて、特に区別なく説明する場合には、コアルータ６０と記載する。
【００１１】
コントローラ１０は、通信システム内の各装置の制御を行う。例えば、コントローラ１０は、コアルータ６０における各トンネルのパケットのポリシング又はシェーピングの設定を行う。
【００１２】
また、コントローラ１０は、トンネル内部のフローの帯域に関する情報と、各フローのポリシング又はシェーピング後の帯域を取得し、取得された帯域に関する情報を用いて、ポリシング又はシェーピング前のトラヒック量に対するポリシング又はシェーピング後のトラヒック量の割合を計算し、計算された割合と各フローのポリシング又はシェーピング後の帯域とを用いて、監視対象のフローのトンネル内部のトラヒック量を推定する。
【００１３】
フローコレクタ２０は、フロー送出用ルータ３０等からネットワークのフロー情報を収集する。なお、以下の例では、主に、ネットワークのフロー情報であるｘＦｌｏｗを例として説明する。ｘＦｌｏｗは、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、プロトコル、フラグ等を含む。フローコレクタ２０は、フロー情報からトンネルの帯域とポリシング又はシェーピング後の各フローの帯域を管理する。
【００１４】
フロー送出用ルータ３０は、フォーマット変換装置４０から出力されたパケットの各フローのトラフィック情報（例えば、ｘＦｌｏｗ情報）をフローコレクタ２０へ出力する。フォーマット変換装置４０は、コアルータ６０ｂでサンプリングされた、トンネルのトンネルパケットをセキュリティ装置（図示せず）で解析可能なフォーマットに変換する。ルータ５０は、コアルータ６０ｂでサンプリングされた、トンネルのトンネルパケットを受信し、フォーマット変換装置４０に通知する。
【００１５】
コアルータ６０ａとコアルータ６０ｃとの間には、トンネルが設定される。そして、コアルータ６０ａとコアルータ６０ｃとの間には、トンネルを中継するコアルータ６０ｂが設置される。コアルータ６０ｂは、トンネル内部のフローのパケットを、ポリシング又はシェーピングし、ルータ５０にサンプリングしたパケットを通知する。
【００１６】
また、図１の例では、トンネル内部のフローの帯域をポリシング又はシェーピング前のトラヒックとし、コアルータ６０ｂからポリシング又はシェーピングの設定に従って出力されたコピーパケットの帯域をポリシング又はシェーピング後のトラヒックとする。
【００１７】
［コントローラの構成］
次に、図２を用いて、図１に示したコントローラ１０の構成を説明する。図２は、第一の実施の形態に係るコントローラの構成例を示すブロック図である。図２に示すように、このコントローラ１０は、通信処理部１１、制御部１２および記憶部１３を有する。以下にコントローラ１０が有する各部の処理を説明する。
【００１８】
通信処理部１１は、接続される装置との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部１１は、各フローのトラフィック情報をフローコレクタ２０から受信する。
【００１９】
また、記憶部１３は、制御部１２による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、トラヒック量記憶部１３ａを有する。例えば、記憶部１３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。トラヒック量記憶部１３ａは、例えば、フローコレクタ２０から取得したトンネル内部のフローのトラヒック量（帯域）に関する情報を記憶する。
【００２０】
制御部１２は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、取得部１２ａ、計算部１２ｂおよび推定部１２ｃを有する。ここで、制御部１２は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路やＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路である。
【００２１】
取得部１２ａは、トンネル内部のフローの帯域に関する情報と、各フローのポリシング又はシェーピング後の帯域を取得する。例えば、取得部１２ａは、各フローのポリシング又はシェーピング後の帯域をフローコレクタとトンネル内部のフローの帯域とポリシング又はシェーピング後のフローの帯域とをフローコレクタ２０から取得する。
【００２２】
図３に例示するように、フローコレクタ２０は、フロー送出用ルータ３０からの各フローのトラフィック情報（例えば、ｘＦｌｏｗ情報）を取得し、コピー後の各フローの帯域を管理している。図３の例では、ポリシング又はシェーピング後の各フローの帯域を「ｙｉ」と記載し、フローがｎ個あるものとしている。また、フローコレクタ２０は、コアルータ６０ｂからトンネル内部のフローのｘＦｌｏｗ情報を取得し、トンネル内部のフローのトラヒックの和として、トンネルの帯域「Ａ」を管理している。さらに、フローコレクタ２０は、ポリシング又はシェーピング後のコピーパケットのｘＦｌｏｗ情報をルータ５０から取得し、ポリシング又はシェーピング後のトラヒックの和として、ポリシング又はシェーピング後の帯域「ａ」を管理している。取得部１２ａは、コピー後の各フローの帯域「ｙｉ」、トンネルの帯域「Ａ」およびポリシング又はシェーピング後の帯域「ａ」を取得する。
【００２３】
計算部１２ｂは、取得部１２ａによって取得された帯域に関する情報を用いて、ポリシング又はシェーピング前のトラヒック量に対するポリシング又はシェーピング後のトラヒック量の割合を計算する。例えば、計算部１２ｂは、取得部１２ａによって取得されたトンネル内部のフローの帯域とポリシング又はシェーピング後のフローの帯域とを用いて、割合を計算する。
【００２４】
推定部１２ｃは、計算部１２ｂによって計算された割合と各フローのポリシング又はシェーピング後の帯域とを用いて、監視対象のフローのトンネル内部のトラヒック量を推定する。例えば、図４に例示するように、計算部１２ｂは、トンネルの帯域とコピー後の各フローの帯域からどれだけポリシング又はシェーピングによってパケットがロスしているかを計算する。図４の例では、トンネルの帯域「Ａ」をポリシング又はシェーピング後の帯域「ａ」で除算することで、パケットをロスしている割合を計算する。
【００２５】
そして、推定部１２ｃは、１〜ｎのうちのいずれかの監視対象のフローの帯域「ｙｉ」に、計算部１２ｂによって計算された割合を乗算することで、監視対象のフローのコピー元トラヒックの帯域「ｘｉ」を推定する。
【００２６】
［コントローラの処理の流れ］
次に、図５を用いて、第一の実施の形態に係るコントローラ１０の処理の流れを説明する。図５は、第一の実施の形態に係コントローラによる処理を説明するフローチャートである。
【００２７】
図５に示すように、コントローラ１０は、コピー設定中のトンネルのトラヒック量をフローコレクタから取得する（ステップＳ１０１）。コントローラ１０は、トンネル帯域とポリシング又はシェーピングの帯域（図５では、ポリシング・シェーピング帯域と記載）を比較する（ステップＳ１０２）。この結果、コントローラ１０は、ポリシング又はシェーピングの帯域よりトンネルの帯域が小さい場合には、フローコレクタ２０から受信した情報をそのまま用いてトラヒック量を算出する（ステップＳ１０３）。また、コントローラ１０は、ポリシング又はシェーピングの帯域よりトンネルの帯域が大きい場合には、フローコレクタ２０からトンネル内部のフローの領域とポリシング又はシェーピング後のフローの領域を取得する（ステップＳ１０４）。
【００２８】
そして、コントローラ１０は、取得した帯域からサンプリングされる割合を計算し（ステップＳ１０５）、サンプリングされた割合からコピー元のトラヒックを推定する（ステップＳ１０６）。
【００２９】
［通信システムの処理の流れ］
次に、図６を用いて、第一の実施の形態に係る通信システムの処理の流れを説明する。図６は、第一の実施の形態に係る通信システムによる処理を説明するシーケンス図である。
【００３０】
図６に示すように、コントローラ１０は、コアルータ６０に対して、コピー設定とポリシング又はシェーピングの設定を実施する（ステップＳ２０１）。そして、フローコレクタ２０は、ポリシング又はシェーピング後のコピーパケットのｘＦｌｏｗ情報をルータ５０から取得する（ステップＳ２０２）。また、フローコレクタ２０は、コアルータ６０ｂからトンネル内部のフローのｘＦｌｏｗ情報を取得する（ステップＳ２０３）。
【００３１】
また、フローコレクタ２０は、フロー送出用ルータ３０からの各フローのトラフィック情報（例えば、ｘＦｌｏｗ情報）を取得する（ステップＳ２０４）。そして、コントローラ１０は、フローコレクタ２０からフローの帯域を取得する（ステップＳ２０５）。つまり、コントローラ１０は、コピー後の各フローの帯域「ｙｉ」、トンネルの帯域「Ａ」およびポリシング又はシェーピング後の帯域「ａ」を取得する。
【００３２】
そして、コントローラ１０は、トンネルの帯域とコピー後の各フローの帯域からパケットをロスしている割合を計算する（ステップＳ２０６）。上述の例を用いて説明すると、例えば、コントローラ１０は、トンネルの帯域「Ａ」をポリシング又はシェーピング後の帯域「ａ」で除算することで、パケットをロスしている割合を計算する。その後、コントローラ１０は、監視対象のフローの帯域「ｙｉ」に、計算部１２ｂによって計算された割合を乗算することで、監視対象のフローのコピー元トラヒックの帯域「ｘｉ」を推定する。
【００３３】
［第一の実施の形態の効果］
このように、第一の実施の形態に係る通信システムのコントローラ１０は、トンネル内部のフローの帯域に関する情報と、各フローのポリシング又はシェーピング後の帯域を取得し、取得された帯域に関する情報を用いて、ポリシング又はシェーピング前のトラヒック量に対するポリシング又はシェーピング後のトラヒック量の割合を計算し、計算された割合と各フローのポリシング又はシェーピング後の帯域とを用いて、監視対象のフローのトンネル内部のトラヒック量を推定する。このため、第一の実施の形態に係る通信システムでは、少ないサンプルトラヒックを用いて、精度よく攻撃被疑の通信を検知することができる。
【００３４】
ここで、図７および図８を用いて、第一の実施の形態に係る通信システムの効果を説明するための図である。図７の例では、ポリシング又はシェーピングされたトラヒック量のままで攻撃被疑のトンネル内部の通信を検知する場合について説明する。つまり、従来では、特定の閾値を超えるような攻撃被疑のトンネル内部の通信を検知したいが、分析サイトまでの回線に十分な帯域がない場合にはコピーパケットを絞って送付するため、絶対値が少なく表示され、絶対値で怪しい通信を検知することができなかった。
【００３５】
これに対して、第一の実施の形態に係る通信システムでは、図８に例示するように、攻撃と思われるトンネル内部のフローを検知するために、フローコレクタで測定された値に対して補正して、コピー前のトラヒック量を推定するので、攻撃被疑通信の検知のロジックとしてコピー前のトラヒック量が一定時間閾値を超えた通信を攻撃被疑通信と判定することができる。
【００３６】
［第二の実施形態］
上述した第一の実施形態では、トンネル内部のフローの帯域とポリシング又はシェーピング後のフローの帯域とを用いて、パケットロスの割合を計算する場合を説明したが、これに限定されるものではない。例えば、トンネル内部のフローの帯域と予め設定されたポリシング又はシェーピングの帯域とを用いて、パケットロスの割合を計算するようにしてもよい。
【００３７】
そこで、以下では、第二の実施形態に係るコントローラ１０Ａが、トンネル内部のフローの帯域と予め設定されたポリシング又はシェーピングの帯域とを用いて、パケットロスの割合を計算する場合について説明する。なお、第一の実施形態に係る通信システムと同様の構成や処理については説明を省略する。
【００３８】
コントローラ１０Ａの取得部１２ａは、各フローのポリシング又はシェーピング後の帯域とトンネル内部のフローの帯域をフローコレクタ２０から取得する。ここで、図９を用いて、第二の実施の形態に係るフローコレクタがトンネルの帯域とコピー後の各フローの帯域を管理する処理を説明する。図９は、第二の実施の形態に係るフローコレクタがトンネルの帯域とコピー後の各フローの帯域を管理する処理を説明する図である。
【００３９】
図９に例示するように、フローコレクタ２０は、フロー送出用ルータ３０からの各フローのトラフィック情報（例えば、ｘＦｌｏｗ情報）を取得し、コピー後の各フローの帯域を管理している。また、フローコレクタ２０は、コアルータ６０ｂからトンネル内部のフローのｘＦｌｏｗ情報を取得し、トンネル内部のフローのトラヒックの和として、トンネルの帯域「Ａ」を管理している。取得部１２ａは、コピー後の各フローの帯域「ｙｉ」およびトンネルの帯域「Ａ」を取得する。また、コントローラ１０Ａは、事前に設定されたポリシング又はシェーピングの帯域「Ｂ」について把握しているものとする。
【００４０】
コントローラ１０Ａの計算部１２ｂは、取得部１２ａによって取得されたトンネル内部のフローの帯域と予め設定されたポリシング又はシェーピングの帯域とを用いて、ポリシング又はシェーピング前のトラヒック量に対するポリシング又はシェーピング後のトラヒック量の割合を計算する。
【００４１】
推定部１２ｃは、計算部１２ｂによって計算された割合と各フローのポリシング又はシェーピング後の帯域とを用いて、監視対象のフローのトンネル内部のトラヒック量を推定する。例えば、図１０に例示するように、計算部１２ｂは、トンネルの帯域とコピー後の各フローの帯域からどれだけポリシング又はシェーピングによってパケットがロスしているかを計算する。図４の例では、トンネルの帯域「Ａ」をポリシング又はシェーピングの帯域「Ｂ」で除算することで、パケットをロスしている割合を計算する。
【００４２】
そして、推定部１２ｃは、１〜ｎのうちのいずれかの監視対象のフローの帯域「ｙｉ」に、計算部１２ｂによって計算された割合を乗算することで、監視対象のフローのコピー元トラヒックの帯域「ｘｉ」を推定する。
【００４３】
次に、図１１を用いて、第二の実施の形態に係る通信システムの処理の流れを説明する。図１１は、第二の実施の形態に係る通信システムによる処理を説明するシーケンス図である。図１１に示すように、コントローラ１０Ａは、コアルータ６０に対して、コピー設定とポリシング又はシェーピングの設定を実施する（ステップＳ３０１）。そして、フローコレクタ２０は、コアルータ６０ｂからトンネル内部のフローのｘＦｌｏｗ情報を取得する（ステップＳ３０２）。
【００４４】
また、フローコレクタ２０は、フロー送出用ルータ３０からの各フローのトラフィック情報（例えば、ｘＦｌｏｗ情報）を取得する（ステップＳ３０３）。そして、コントローラ１０Ａは、フローコレクタ２０からフローの帯域を取得する（ステップＳ３０４）。つまり、コントローラ１０Ａは、コピー後の各フローの帯域「ｙｉ」およびトンネルの帯域「Ａ」を取得する。
【００４５】
そして、コントローラ１０Ａは、トンネルの帯域とコピー後の各フローの帯域からパケットをロスしている割合を計算する（ステップＳ３０５）。上述の例を用いて説明すると、例えば、コントローラ１０Ａは、トンネルの帯域「Ａ」をポリシングの帯域「Ｂ」で除算することで、パケットをロスしている割合を計算する。その後、コントローラ１０Ａは、監視対象のフローの帯域「ｙｉ」に、計算部１２ｂによって計算された割合を乗算することで、監視対象のフローのコピー元トラヒックの帯域「ｘｉ」を推定する。
【００４６】
［第三の実施形態］
上述した第二の実施形態では、コントローラ１０Ａが、コアルータ６０ｂからトンネル内部のフローのｘＦｌｏｗ情報を取得してポリシング前のトラヒックを取得する場合を説明したが、これに限定されるものではない。例えば、トンネル内部のフローのパケット数をカウントするコアルータからパケットカウンタを取得し、パケットカウンタを用いて、トンネル内部のフローの帯域を計算するようにしてもよい。
【００４７】
そこで、以下では、第三の実施形態に係るコントローラ１０Ｂが、トンネル内部のフローのパケット数をカウントするコアルータからパケットカウンタを取得し、パケットカウンタを用いて、トンネル内部のフローの帯域を計算する場合について説明する。なお、第一の実施形態に係る通信システムと同様の構成や処理については説明を省略する。
【００４８】
コントローラ１０Ｂの取得部１２ａは、トンネル内部のフローのパケット数をカウントするコアルータ６０ｂからパケットカウンタをフローコレクタ２０から取得する。また、コントローラ１０Ｂの計算部１２ｂは、パケットカウンタを用いて、トンネル内部のフローの帯域を計算し、該トンネル内部のフローの帯域と予め設定されたポリシングの帯域とを用いて、ポリシング前のトラヒック量に対するポリシング後のトラヒック量の割合を計算する。
【００４９】
ここで、図１３を用いて、第三の実施の形態に係るコントローラ１０ＢがＤＲＯＰカウンタを取得し、トンネルの帯域を計算する処理を説明する。図１３は、第三の実施の形態に係るコントローラがＤＲＯＰカウンタを取得し、トンネルの帯域を計算する処理を説明する図である。図１３に例示するように、コントローラ１０Ｂは、コアルータ６０ｂのコピーインタフェースのＤＲＯＰカウンタを取得し、トンネルの帯域を計算する。具体的には、コントローラ１０Ｂは、時刻ｔ１のパケット数（Ｂｙｔｅ数）Ｃ１と時刻ｔ２のパケット数Ｃ２を取得し、「Ｃ２−Ｃ１／ｔ２−ｔ１」を計算して、トンネル帯域Ａを計算する。
【００５０】
推定部１２ｃは、計算部１２ｂによって計算された割合と各フローのポリシング後の帯域とを用いて、監視対象のフローのトンネル内部のトラヒック量を推定する。例えば、図１４に例示するように、計算部１２ｂは、ＤＲＯＰカウンタを取得して計算したトンネルの帯域「Ａ」とポリシングの帯域「Ｂ」とから、どれだけポリシングによってパケットがロスしているかを計算する。図１４の例では、ＤＲＯＰカウンタを取得して計算したトンネルの帯域「Ａ」を事前に設定されたポリシングの帯域「Ｂ」で除算することで、パケットをロスしている割合を計算する。
【００５１】
そして、推定部１２ｃは、１〜ｎのうちのいずれかの監視対象のフローの帯域「ｙｉ」に、計算部１２ｂによって計算された割合を乗算することで、監視対象のフローのコピー元トラヒックの帯域「ｘｉ」を推定する。
【００５２】
次に、図１５を用いて、第三の実施の形態に係るコントローラ１０Ｂの処理の流れを説明する。図１５は、第三の実施の形態に係コントローラによる処理を説明するフローチャートである。
【００５３】
図１５に示すように、コントローラ１０Ｂは、ＳＮＭＰ（Simple  Network  Management  Protocol）にてパケットカウントを取得する（ステップＳ４０１）。コントローラ１０Ｂは、パケットカウンタからトンネル帯域を計算する（ステップＳ４０２）。そして、コントローラ１０Ｂは、トンネル帯域とポリシングの帯域（図１５では、ポリシング・シェーピング帯域と記載）を比較する（ステップＳ４０３）。
【００５４】
この結果、コントローラ１０Ｂは、ポリシングの帯域よりトンネルの帯域が小さい場合には、フローコレクタ２０から受信した情報をそのまま用いてトラヒック量を算出する（ステップＳ４０４）。また、コントローラ１０Ｂは、ポリシングの帯域よりトンネルの帯域が大きい場合には、トンネルの帯域とポリシング後の帯域からサンプリングされる割合を計算し（ステップＳ４０５）、サンプリングされた割合からコピー元のトラヒックを推定する（ステップＳ４０６）。
【００５５】
次に、図１６を用いて、第三の実施の形態に係る通信システムの処理の流れを説明する。図１６は、第三の実施の形態に係る通信システムによる処理を説明するシーケンス図である。図１６に示すように、コントローラ１０Ｂは、コアルータ６０に対して、コピー設定とポリシング又はシェーピングの設定を実施する（ステップＳ５０１）。そして、コントローラ１０Ｂは、ＳＮＭＰにてＤＲＯＰカウンタをコアルータ６０から取得する（ステップＳ５０２）。そして、コントローラ１０Ｂは、取得したＤＲＯＰカウンタを用いて、トンネル帯域を計算する。
【００５６】
また、フローコレクタ２０は、フロー送出用ルータ３０からの各フローのトラフィック情報（例えば、ｘＦｌｏｗ情報）を取得する（ステップＳ５０３）。そして、コントローラ１０Ｂは、フローコレクタ２０からフローの帯域を取得する（ステップＳ５０４）。つまり、コントローラ１０Ｂは、コピー後の各フローの帯域「ｙｉ」を取得する。
【００５７】
そして、コントローラ１０Ｂは、トンネルの帯域とコピー後の各フローの帯域からパケットをロスしている割合を計算する（ステップＳ５０５）。上述の例を用いて説明すると、例えば、コントローラ１０Ｂは、トンネルの帯域「Ａ」をポリシングの帯域「Ｂ」で除算することで、パケットをロスしている割合を計算する。その後、コントローラ１０Ｂは、監視対象のフローの帯域「ｙｉ」に、計算部１２ｂによって計算された割合を乗算することで、監視対象のフローのコピー元トラヒックの帯域「ｘｉ」を推定する。
【００５８】
［第四の実施形態］
上述した第三の実施形態では、コントローラ１０Ｂが、事前に設定されたポリシングの帯域「Ｂ」を用いて、パケットロスの割合を計算する場合を説明したが、これに限定されるものではない。例えば、コントローラが、ポリシング後のコピーパケットのｘＦｌｏｗ情報をルータから取得したフローコレクタ２０から、ポリシング後の帯域を取得するようにしてもよい。
【００５９】
そこで、以下では、第四の実施形態に係るコントローラ１０Ｃが、トンネル内部のフローのパケット数をカウントするコアルータからパケットカウンタを取得し、パケットカウンタを用いて、トンネル内部のフローの帯域を計算し、フローコレクタ２０から、ポリシング後の帯域を取得する場合について説明する。なお、第一の実施形態に係る通信システムと同様の構成や処理については説明を省略する。
【００６０】
コントローラ１０Ｃの取得部１２ａは、トンネル内部のフローのパケット数をカウントするコアルータ６０ａからパケットカウンタとポリシング後のフローの帯域とを取得する。また、計算部１２ｂは、パケットカウンタを用いて、トンネル内部のフローの帯域を計算し、該トンネル内部のフローの帯域と予め設定されたポリシングの帯域とを用いて、ポリシング前のトラヒック量に対するポリシング後のトラヒック量の割合を計算する。
【００６１】
図１７に例示するように、フローコレクタ２０は、フロー送出用ルータ３０からの各フローのトラフィック情報（例えば、ｘＦｌｏｗ情報）を取得し、コピー後の各フローの帯域を管理している。また、フローコレクタ２０は、ポリシング後のコピーパケットのｘＦｌｏｗ情報をルータ５０から取得し、ポリシング後のトラヒックの和として、ポリシング後の帯域「ａ」を管理している。コントローラ１０Ｃの取得部１２ａは、コピー後の各フローの帯域「ｙｉ」およびポリシング後の帯域「ａ」を取得する。
【００６２】
推定部１２ｃは、計算部１２ｂによって計算された割合と各フローのポリシング後の帯域とを用いて、監視対象のフローのトンネル内部のトラヒック量を推定する。例えば、図１８に例示するように、計算部１２ｂは、ＤＲＯＰカウンタを取得して計算したトンネルの帯域「Ａ」とｘＦＬＯＷで取得したポリシング後の帯域「ａ」とから、ポリシングによってパケットがロスしているかを計算する。図１８の例では、ＤＲＯＰカウンタを取得して計算したトンネルの帯域「Ａ」をポリシング後の帯域「ａ」で除算することで、パケットをロスしている割合を計算する。
【００６３】
そして、推定部１２ｃは、１〜ｎのうちのいずれかの監視対象のフローの帯域「ｙｉ」に、計算部１２ｂによって計算された割合を乗算することで、監視対象のフローのコピー元トラヒックの帯域「ｘｉ」を推定する。
【００６４】
次に、図１９を用いて、第四の実施の形態に係るコントローラ１０Ｂの処理の流れを説明する。図１９は、第四の実施の形態に係コントローラによる処理を説明するフローチャートである。
【００６５】
図１９に示すように、コントローラ１０Ｃは、ＳＮＭＰにてパケットカウントを取得する（ステップＳ６０１）。コントローラ１０Ｃは、パケットカウンタからトンネル帯域を計算する（ステップＳ６０２）。そして、コントローラ１０Ｃは、トンネル帯域とポリシングの帯域（図１９では、ポリシング・シェーピング帯域と記載）を比較する（ステップＳ６０３）。
【００６６】
この結果、コントローラ１０Ｃは、ポリシングの帯域よりトンネルの帯域が小さい場合には、フローコレクタ２０から受信した情報をそのまま用いてトラヒック量を算出する（ステップＳ６０４）。また、コントローラ１０Ｃは、ポリシングの帯域よりトンネルの帯域が大きい場合には、ポリシング後の帯域をｘＦｌｏｗで取得し（ステップＳ６０５）、トンネルの帯域とポリシング後の帯域からサンプリングされる割合を計算し（ステップＳ６０６）、サンプリングされた割合からコピー元のトラヒックを推定する（ステップＳ６０７）。
【００６７】
次に、図２０を用いて、第四の実施の形態に係る通信システムの処理の流れを説明する。図２０は、第四の実施の形態に係る通信システムによる処理を説明するシーケンス図である。図２０に示すように、コントローラ１０Ｃは、コアルータ６０に対して、コピー設定とポリシング又はシェーピングの設定を実施する（ステップＳ７０１）。そして、コントローラ１０Ｃは、ＳＮＭＰにてＤＲＯＰカウンタをコアルータ６０から取得する（ステップＳ７０２）。そして、コントローラ１０Ｃは、取得したＤＲＯＰカウンタを用いて、トンネル帯域を計算する。
【００６８】
そして、フローコレクタ２０は、ポリシング又はシェーピング後のコピーパケットのｘＦｌｏｗ情報をルータ５０から取得する（ステップＳ７０３）。また、フローコレクタ２０は、フロー送出用ルータ３０からの各フローのトラフィック情報（例えば、ｘＦｌｏｗ情報）を取得する（ステップＳ７０４）。そして、コントローラ１０Ｃは、フローコレクタ２０からフローの帯域を取得する（ステップＳ７０５）。つまり、コントローラ１０Ｃは、コピー後の各フローの帯域「ｙｉ」およびポリシング又はシェーピング後の帯域「ａ」を取得する。
【００６９】
そして、コントローラ１０Ｃは、トンネルの帯域とコピー後の各フローの帯域からパケットをロスしている割合を計算する（ステップＳ７０６）。上述の例を用いて説明すると、例えば、コントローラ１０Ｃは、トンネルの帯域「Ａ」をポリシング又はシェーピング後の帯域「ａ」で除算することで、パケットをロスしている割合を計算する。その後、コントローラ１０Ｃは、監視対象のフローの帯域「ｙｉ」に、計算部１２ｂによって計算された割合を乗算することで、監視対象のフローのコピー元トラヒックの帯域「ｘｉ」を推定する。
【００７０】
［第五の実施形態］
コアルータがサンプリングコピー機能を有する場合に、コントローラが設定したサンプリングレートを用いて、サンプリング前のトラヒック量を推定するようにしてもよい。そこで、以下では、第五の実施形態に係るコントローラ１０Ｄが、トンネル内部のフローの帯域と予め設定されたポリシング又はシェーピングの帯域とを用いて、設定したサンプリングレートを用いて、サンプリング前のトラヒック量を推定する場合について説明する。なお、第一の実施形態に係る通信システムと同様の構成や処理については説明を省略する。
【００７１】
図２１は、第五の実施の形態に係る通信システムによる処理の概要を説明するシーケンス図である。図２１に示すように、コアルータ６０ｂは、サンプリングレート「１／ｘ」でコピーし、ルータ５０にサンプリングしたパケットを通知する（図２１の（１）参照）。そして、フロー送出用ルータ３０は、送出レート「１／１」でｘＦｌｏｗをフローコレクタ２０へ送出する（図２１の（２）参照）。
【００７２】
フローコレクタ２０は、監視（調査）対象のフローが「１／ｘ」の倍率で観測される。コントローラ１０Ｄは、各フローのサンプリング後の帯域を取得し、取得した各フローのポリシング又はシェーピング後の帯域のうち、監視対象のフローのサンプリング後の帯域にサンプリングレートの逆数を乗算して、監視対象のフローのトンネル内部のトラヒック量を推定する。図２１の例では、コントローラ１０Ｄは、トラヒック量にｘ倍することでサンプリング前のトラヒック量を推定する（図２１の（３）参照）。このように、フローコレクタ２０で算出された帯域にサンプリングレート分をかけることでサンプリング前のトラヒック量を推定することができる。
【００７３】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７４】
また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７５】
［プログラム］
また、上記実施形態において説明した各装置が実行する処理について、コンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態及び変形例に係る通信システムにおける各装置が実行する処理について、コンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。以下に、プログラムを実行するコンピュータの一例を説明する。
【００７６】
図２２は、プログラムを実行するコンピュータを示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００７７】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１０６１に接続される。
【００７８】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち各装置の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、装置における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００７９】
また、上述した実施の形態の処理で用いられるデータは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００８０】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク、ＷＡＮを介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００８１】
１０、１０Ａ、１０Ｂ、１０Ｃ、１０Ｄ  コントローラ
１１  通信処理部
１２  制御部
１２ａ  取得部
１２ｂ  計算部
１２ｃ  推定部
１３  記憶部
１３ａ  トラヒック量記憶部
２０  フローコレクタ
３０  フロー送出用ルータ
４０  フォーマット変換装置
５０  ルータ
６０ａ、６０ｂ、６０ｃ  コアルータ
【図１】
2020031394.tif 000003
【図２】
2020031394.tif 000004
【図３】
2020031394.tif 000005
【図４】
2020031394.tif 000006
【図５】
2020031394.tif 000007
【図６】
2020031394.tif 000008
【図７】
2020031394.tif 000009
【図８】
2020031394.tif 000010
【図９】
2020031394.tif 000011
【図１０】
2020031394.tif 000012
【図１１】
2020031394.tif 000013
【図１２】
2020031394.tif 000014
【図１３】
2020031394.tif 000015
【図１４】
2020031394.tif 000016
【図１５】
2020031394.tif 000017
【図１６】
2020031394.tif 000018
【図１７】
2020031394.tif 000019
【図１８】
2020031394.tif 000020
【図１９】
2020031394.tif 000021
【図２０】
2020031394.tif 000022
【図２１】
2020031394.tif 000023
【図２２】
2020031394.tif 000024