IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アラクサラネットワークス株式会社の特許一覧

特許7287852監視システム、収集装置、アナライザ、監視方法、および監視プログラム
<>
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図1
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図2
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図3
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図4
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図5
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図6
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図7
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図8
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図9
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図10
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図11
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図12
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図13
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図14
  • 特許-監視システム、収集装置、アナライザ、監視方法、および監視プログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-29
(45)【発行日】2023-06-06
(54)【発明の名称】監視システム、収集装置、アナライザ、監視方法、および監視プログラム
(51)【国際特許分類】
   H04L 43/00 20220101AFI20230530BHJP
【FI】
H04L43/00
【請求項の数】 15
(21)【出願番号】P 2019125773
(22)【出願日】2019-07-05
(65)【公開番号】P2021013081
(43)【公開日】2021-02-04
【審査請求日】2022-02-08
(73)【特許権者】
【識別番号】504411166
【氏名又は名称】アラクサラネットワークス株式会社
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】佐藤 佳祐
(72)【発明者】
【氏名】三成 琢也
【審査官】大石 博見
(56)【参考文献】
【文献】特開2006-352831(JP,A)
【文献】特開2009-231890(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-69/00
(57)【特許請求の範囲】
【請求項1】
ネットワークを流れるパケットのフロー情報を収集する収集装置と、前記収集装置によって収集されたフロー情報を分析するアナライザと、を有する監視システムであって、
前記収集装置は、
前記パケットの識別情報ごとに前記パケットのフロー情報を登録し、動作レベルに基づいて前記フロー情報を制御する登録制御部と、
前記フロー情報を収集する期間の経過後に前記フロー情報を前記アナライザに送信する第1送信部と、
前記アナライザからの前記動作レベルの変更指示に基づいて、前記動作レベルを変更する第1動作レベル制御部と、を有し、
前記アナライザは、
前記第1送信部から送信されてくる前記フロー情報に基づいて、前記動作レベルの変更指示を前記収集装置に送信する第2送信部と、を有し、
前記登録制御部は、特定のフロー情報を規定する前記パケットの識別情報の一部を無効にする、
ことを特徴とする監視システム。
【請求項2】
ネットワークを流れるパケットのフロー情報を収集する収集装置と、前記収集装置によって収集されたフロー情報を分析するアナライザと、を有する監視システムであって、
前記収集装置は、
前記パケットの識別情報ごとに前記パケットのフロー情報を登録し、動作レベルに基づいて前記フロー情報を制御する登録制御部と、
前記フロー情報を収集する期間の経過後に前記フロー情報を前記アナライザに送信する第1送信部と、
前記アナライザからの前記動作レベルの変更指示に基づいて、前記動作レベルを変更する第1動作レベル制御部と、を有し、
前記アナライザは、
前記アナライザの負荷を監視する負荷監視部と、
前記負荷監視部による決定結果から、前記動作レベルの変更の必要性を判定する第2動作レベル制御部と、
前記第2動作レベル制御部によって前記動作レベルの変更の必要ありと判定された場合、前記動作レベルの変更指示を前記収集装置に送信する第2送信部と、を有する、
ことを特徴とする監視システム。
【請求項3】
請求項2に記載の監視システムであって、
前記第2動作レベル制御部は、前記アナライザ内のプロセッサの使用率に基づいて、前記動作レベルの変更の必要性を判定する、
ことを特徴とする監視システム。
【請求項4】
請求項2に記載の監視システムであって、
前記第2動作レベル制御部は、前記アナライザ内の前記フロー情報に関する受信キュー長に基づいて、前記動作レベルの変更の必要性を判定する、
ことを特徴とする監視システム。
【請求項5】
請求項2に記載の監視システムであって、
前記第2動作レベル制御部は、前記収集装置から前記アナライザへの前記フロー情報を含む一連のパケットのシーケンス番号の欠落に基づいて、前記動作レベルの変更の必要性を判定する、
ことを特徴とする監視システム。
【請求項6】
請求項2に記載の監視システムであって、
前記第2動作レベル制御部は、前記収集装置から前記アナライザへの前記フロー情報を含む一連のパケットの受信レートに基づいて、前記動作レベルの変更の必要性を判定する、
ことを特徴とする監視システム。
【請求項7】
請求項1または2に記載の監視システムであって、
前記登録制御部は、前記収集装置が特定のフロー情報を収集する期間を増減する、
ことを特徴とする監視システム。
【請求項8】
請求項1または2に記載の監視システムであって、
前記収集装置は、複数の前記アナライザと通信可能に接続されている、
ことを特徴とする監視システム。
【請求項9】
請求項8に記載の監視システムであって、
前記第1送信部は、前記フロー情報の内容に基づいて、前記フロー情報を前記複数のアナライザのいずれか1つに送信する、
ことを特徴とする監視システム。
【請求項10】
請求項8に記載の監視システムであって、
前記複数のアナライザは、前記フロー情報の利用目的が異なる、
ことを特徴とする監視システム。
【請求項11】
請求項1または2に記載の監視システムであって、
前記アナライザは、複数の前記収集装置と通信可能に接続されている、
ことを特徴とする監視システム。
【請求項12】
ネットワークを流れるパケットのフロー情報を収集する収集装置であって、
前記パケットの識別情報ごとに前記パケットのフロー情報を登録し、動作レベルに基づいて前記フロー情報を制御する登録制御部と、
前記フロー情報を収集する期間の経過後に前記フロー情報を、前記収集装置と通信可能なアナライザに送信する第1送信部と、
前記動作レベルの変更指示に基づいて、前記動作レベルを変更する動作レベル制御部と、を有し、
前記登録制御部は、特定のフロー情報を規定する前記パケットの識別情報の一部を無効にする、
ことを特徴とする収集装置。
【請求項13】
フロー情報を収集する収集装置と通信可能なアナライザであって、
前記収集装置によって収集されたネットワークを流れるパケットのフロー情報を受信する受信部と、
前記アナライザの負荷を監視する負荷監視部と、
前記負荷監視部による決定結果から、前記収集装置の動作レベルの変更の必要性を判定する動作レベル制御部と、
前記動作レベル制御部によって前記動作レベルの変更の必要ありと判定された場合、前記動作レベルの変更指示を前記収集装置に送信する送信部と、
を有することを特徴とするアナライザ。
【請求項14】
フロー情報を収集する収集装置と通信可能なアナライザが実行する監視方法であって、
前記監視方法は、
前記収集装置によって収集されたネットワークを流れるパケットのフロー情報を受信する受信処理と、
前記アナライザの負荷を監視する負荷監視処理と、
前記負荷監視処理による決定結果から、前記収集装置の動作レベルの変更の必要性を判定する動作レベル制御処理と、
前記動作レベル制御処理によって前記動作レベルの変更の必要ありと判定された場合、前記動作レベルの変更指示を前記収集装置に送信する送信処理と、
を含むことを特徴とする監視方法。
【請求項15】
フロー情報を収集する収集装置と通信可能なアナライザに、
前記収集装置によって収集されたネットワークを流れるパケットのフロー情報を受信する受信処理と、
前記アナライザの負荷を監視する負荷監視処理と、
前記負荷監視処理による決定結果から、前記収集装置の動作レベルの変更の必要性を判定する動作レベル制御処理と、
前記動作レベル制御処理によって前記動作レベルの変更の必要ありと判定された場合、前記動作レベルの変更指示を前記収集装置に送信する送信処理と、
を実行させることを特徴とする監視プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、監視対象ネットワークのフローを監視する監視システム、収集装置、アナライザ、監視方法、および監視プログラムに関する。
【背景技術】
【0002】
通信装置が中継するトラフィックを、NetFlowのモニタリング機能を備えたフロー情報収集装置によって収集し、収集したフロー情報をネットワークフロー解析装置(以下、アナライザと呼ぶ)宛に送信し、アナライザによってネットワークフローを解析するネットワーク監視方法がある。近年、トラフィック量の増加に伴いアナライザの処理性能も向上しているが、アナライザが受信できる単位時間あたりのフロー情報量には上限があり、フロー情報収集装置からアナライザに送信するフロー情報を効率的に選択する必要がある。
【0003】
また、特許文献1は、クラスに応じて抽出するパケット長や配信方法を変更可能とするNW機器を開示する。このNW機器は、分類手段とクラス別処理手段とトラフィック情報配信データ作成配信手段とを有する。分類手段が、受信したパケットを各クラスに分類する。クラス別処理手段が、各クラスに定められたトラフィック情報の配信手法に基づいて、パケットの一部を抽出するパケット抽出手法又はフローを集約するフロー集約手法のいずれかの配信手法を選択する。トラフィック情報配信データ作成配信手段が、クラス別処理手段で選択された配信手法による各トラフィック情報により構成されたトラフィック情報配信プロトコルパケットを作成し、トラフィック情報収集機器に配信する。また、クラス別処理手段はクラス毎にサンプリングや配信限度量のチェックもおこなう。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2008-193628号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
一般的に、通信装置が中継するデータ量は多く、通信装置が中継するデータをNetFlowによりモニタリングしてフロー情報を収集し、全てのデータをアナライザに送信すると、フロー情報収集装置とアナライザの通信回線帯域やアナライザの性能から定まるアナライザの許容受信レートを超過しデータを喪失してしまう可能性が高い。
【0006】
上記問題の解決策として特許文献1があるが、フロー情報収集装置がアナライザに送信するデータ量に応じて設置するアナライザの性能スペックと設置数を決定するため、アナライザに送信するデータ量が増加した場合、アナライザの受信許容レートを超過して情報が欠落してしまう可能性がある、という課題がある。
【0007】
そこで本発明の一態様は、アナライザの許容受信レートを超えないように、フロー情報収集装置がアナライザに送信するデータを動的に決定することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、第1開示技術の監視システムは、ネットワークを流れるパケットのフロー情報を収集する収集装置と、前記収集装置によって収集されたフロー情報を分析するアナライザと、を有する監視システムであって、前記収集装置は、前記パケットの識別情報ごとに前記パケットのフロー情報を登録し、動作レベルに基づいて前記フロー情報を制御する登録制御部と、前記フロー情報を収集する期間の経過後に前記フロー情報を前記アナライザに送信する第1送信部と、前記アナライザからの前記動作レベルの変更指示に基づいて、前記動作レベルを変更する第1動作レベル制御部と、を有し、前記アナライザは、前記第1送信部から送信されてくる前記フロー情報に基づいて、前記動作レベルの変更指示を前記収集装置に送信する第2送信部と、を有し、前記登録制御部は、特定のフロー情報を規定する前記パケットの識別情報の一部を無効にする、ことを特徴とする。
第2開示技術の監視システムは、ネットワークを流れるパケットのフロー情報を収集する収集装置と、前記収集装置によって収集されたフロー情報を分析するアナライザと、を有する監視システムであって、前記収集装置は、前記パケットの識別情報ごとに前記パケットのフロー情報を登録し、動作レベルに基づいて前記フロー情報を制御する登録制御部と、前記フロー情報を収集する期間の経過後に前記フロー情報を前記アナライザに送信する第1送信部と、前記アナライザからの前記動作レベルの変更指示に基づいて、前記動作レベルを変更する第1動作レベル制御部と、を有し、前記アナライザは、前記アナライザの負荷を監視する負荷監視部と、前記負荷監視部による決定結果から、前記動作レベルの変更の必要性を判定する第2動作レベル制御部と、前記第2動作レベル制御部によって前記動作レベルの変更の必要ありと判定された場合、前記動作レベルの変更指示を前記収集装置に送信する第2送信部と、を有する、ことを特徴とする。
第3開示技術の収集装置は、ネットワークを流れるパケットのフロー情報を収集する収集装置であって、前記パケットの識別情報ごとに前記パケットのフロー情報を登録し、動作レベルに基づいて前記フロー情報を制御する登録制御部と、前記フロー情報を収集する期間の経過後に前記フロー情報を、前記収集装置と通信可能なアナライザに送信する第1送信部と、前記動作レベルの変更指示に基づいて、前記動作レベルを変更する動作レベル制御部と、を有し、前記登録制御部は、特定のフロー情報を規定する前記パケットの識別情報の一部を無効にする、ことを特徴とする。
第4開示技術のアナライザは、フロー情報を収集する収集装置と通信可能なアナライザであって、前記収集装置によって収集されたネットワークを流れるパケットのフロー情報を受信する受信部と、前記アナライザの負荷を監視する負荷監視部と、前記負荷監視部による決定結果から、前記収集装置の動作レベルの変更の必要性を判定する動作レベル制御部と、前記動作レベル制御部によって前記動作レベルの変更の必要ありと判定された場合、前記動作レベルの変更指示を前記収集装置に送信する送信部と、を有することを特徴とする。
【発明の効果】
【0009】
本発明の代表的な実施の形態によれば、アナライザの受信許容レートを超えないように、収集装置が送信するデータ量を決定することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0010】
図1図1は、本実施例のネットワークフロー監視システムの構成例を示す説明図である。
図2図2は、フロー情報収集装置の構成例を示すブロック図である。
図3図3は、情報記録部で保持するフロー情報の一例を示す説明図である。
図4図4は、動作レベル情報の一例を示す説明図である。
図5図5は、フロー情報記録制御部が、動作レベル制御部から動作レベルの変更通知を受信した時のフロー情報記録処理の一例を示すフローチャートである。
図6図6は、フロー情報記録制御部が、ミラーリングパケット受信インタフェースで受信したパケットをフロー情報に記録するまでのフロー情報記録処理の一例を説明したフローチャートである。
図7図7は、動作レベル制御部が、アナライザから制御パケットにより動作レベル変更指示を受信してからフロー情報記録制御部へ動作レベル情報の変更を通知するまでの変更通知処理の一例を示すフローチャートである。
図8図8は、アナライザの構成例を示すブロック図である。
図9図9は、監視条件テーブルの一例を示す説明図である。
図10図10は、動作レベル変更指示契機テーブルの一例を示す説明図である。
図11図11は、負荷監視部の負荷監視処理の一例を示すフローチャートである。
図12図12は、動作レベル制御部の動作レベル制御処理の一例を示すフローチャートである。
図13図13は、実施例2にかかるネットワークフロー監視システムの構成例を示すブロック図である。
図14図14は、実施例2にかかる情報記録部の記憶内容例を示す説明図である。
図15図15は、実施例3にかかるネットワークフロー監視システムの構成例を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例にすぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
【実施例1】
【0012】
<ネットワークフロー監視システムの構成例>
図1は、本実施例のネットワークフロー監視システムの構成例を示す説明図である。ネットワークフロー監視システム100は、フロー情報収集装置101と、アナライザ102と、を有する。
【0013】
フロー情報収集装置101は、監視対象ネットワーク103を流れるパケットを複製したミラーリングパケット120を受信する。監視対象ネットワーク103は、たとえば、中継装置110を経由してネットワーク111、112、113、…とWAN114との間を流れるパケットである。
【0014】
フロー情報収集装置101は、ミラーリングパケット120からフロー情報を抽出し、フロー情報をNetFlowパケット130としてアナライザ102に送信する。アナライザ102は、受信したフロー情報からネットワークを流れるフローのフロー情報を分析し、監視対象ネットワーク103を監視する。なお、フロー情報収集装置101が中継装置110を兼ねてもよい。
【0015】
このような構成により、アナライザ102の許容受信レートを超えないように、フロー情報収集装置101がアナライザ102に送信するフロー情報の量を動的に決定することが可能となる。このため、アナライザ102の性能リソースを有効活用することができる。また、重要度の低いフロー情報から削減することにより、フロー情報の量を削減しつつ、重要度が高い情報を確実にアナライザ102に送信することが可能となる。
【0016】
<フロー情報収集装置101の構成例>
図2は、フロー情報収集装置101の構成例を示すブロック図である。まず、ハードウェアの構成要素について説明する。ハードウェアの構成要素は、バス200に接続されている。中央演算装置201は、プログラムを実行するCPU(Central Processing Unit)である。単に演算装置ともいう。補助記憶装置202は、たとえばROM(Read Only Memory)やフラッシュメモリ、ハードディスクである。主記憶装置203は、RAM(Random Access Memory)である。リアルタイムクロック204は、時刻を計時する。
【0017】
ネットワークインタフェース205は、通信装置である。ミラーリングパケット受信インタフェース251は、中継装置110が送信するミラーリングパケットを受信するための専用インタフェースである。アナライザ間通信インタフェース252は、アナライザ102とパケットを送受信するためのインタフェースである。
【0018】
入出力装置206は、たとえばキーボード、ディスプレイ等である。フロー情報収集装置101をネットワークインタフェース205経由で制御する場合、入出力装置206は無くてもよい。
【0019】
つぎに、ソフトウェアの構成要素について説明する。BOOT221は、フロー情報収集装置101を起動して最初に実行されるソフトウェアである。BOOT221は、補助記憶装置202に格納されたプログラム230を主記憶装置203に展開することで実行される。プログラム230は、BOOT221がネットワークインタフェース205を使いFTP(File Transfer Protocol)等により外部の装置から取得されてもよい。
【0020】
コンフィグレーション222は、プログラム230を決定する設定情報であり、たとえば、動作レベル情報400の初期値が格納され、プログラム230起動時に、中央演算装置201によって、動作レベル情報400にロードされる。コンフィグレーション222は、たとえば、アナライザ102からネットワークインタフェース205経由で取得してもよい。
【0021】
プログラム230は、NetFlowによりフロー情報を収集するソフトウェアである。プログラム230は、中央演算装置201に実行される。これにより、フロー情報収集装置101は、パケット受信部231、パケット判定部232、フロー情報記録制御部233、動作レベル制御部234、フロー情報監視部236、NetFlowパケット作成部237、およびパケット送信部238の機能ブロックと、情報記録部235のデータストアとして機能する。情報記録部235には、フロー情報テーブル300、動作レベル情報400が格納されている。情報記録部235は、補助記憶装置202にあってもよい。
【0022】
パケット受信部231は、ネットワークインタフェース205に到達したパケットの受信をおこなう。パケット判定部232は、パケットを受信したインタフェースがミラーリングパケット受信インタフェース251と、アナライザ間通信インタフェース252の、いずれであるかを、当該パケットを受信したポートに基づいて判定する。フロー情報収集装置101は、複数のポートを有する。各ポートは、ミラーリングパケット受信インタフェース251と、アナライザ間通信インタフェース252とのいずれかに対応する。
【0023】
パケット判定部232は、パケットを受信したインタフェースがミラーリングパケット受信インタフェース251である場合には、フロー情報記録制御部233に、パケットを受信したインタフェースがアナライザ間通信インタフェース252である場合には、動作レベル制御部234に、受信データを渡す。
【0024】
フロー情報記録制御部233は、パケット判定部232からの受信パケットからフロー情報を抽出する。フロー情報記録制御部233は、抽出したフロー情報に対しておこなう制御処理内容を動作レベル情報400から取得し、抽出したフロー情報に対し制御処理を実行する。その後、フロー情報記録制御部233は、抽出したフロー情報を情報記録部235のフロー情報テーブル300に記録する。
【0025】
フロー情報記録制御部233は、動作レベル制御部234から動作レベル情報の変更通知を受けた場合、動作レベル情報400からフロー情報に対する制御処理内容を取得し、フロー情報に対し制御処理を実行する。
【0026】
動作レベル制御部234は、アナライザ102から制御パケットによる指示を受けて動作レベル情報400を更新し、動作レベル情報400の変更をフロー情報記録制御部233に通知する。
【0027】
フロー情報監視部236は、モニタリング期間がタイムアウト(タイムアウト期間306が経過)したフロー情報をフロー情報テーブル300から取り出し、NetFlowパケット作成部237にフロー情報を渡す。
【0028】
NetFlowパケット作成部237は、フロー情報監視部236から受けたフロー情報を梱包したNetFlowパケット130を作成し、アナライザ102宛てに送信する。パケット送信部238は、アナライザ間通信インタフェース252からNetFlowパケット130を送信する。
【0029】
<フロー情報テーブル300の一例>
図3は、情報記録部235で保持するフロー情報テーブル300の一例を示す説明図である。フロー情報テーブル300とは、n個のフローエントリの集合である。フローエントリとは、エントリ番号301ごとに、一意のフロー識別子302と、受信したパケットの受信パケット数303と、受信したパケットの受信バイト数304と、タイムアウト時間305と、を記録したフロー情報である。フロー情報は、フローエントリのうち少なくともフロー識別子302を含む。
【0030】
フロー識別子302は、フロー情報を規定する識別情報であり、たとえば、受信したパケットに含まれる宛先IPアドレス321、送信元IPアドレス322、プロトコル番号323、宛先ポート番号324、および送信元ポート番号325(5タプル)を有する。フロー識別子302は一例であり、通常はネットワークフロー監視システム100を導入するネットワーク環境に合わせて選択される。
【0031】
受信パケット数303は、フロー識別子302で特定されるパケットを受信した数である。受信バイト数304は、フロー識別子302で特定されるパケットごとのバイト数を加算した値である。
【0032】
タイムアウト時間305は、同一フロー識別子302のミラーリングパケットを受信する期間である。あるフロー識別子302のミラーリングパケット120が最初に受信されると、当該フロー識別子302のフローエントリが作成され、タイムアウト時間305(たとえば、30秒)が設定されて、カウントダウンが開始される。その間に、同一フロー識別子302のミラーリングパケット120が受信されると、受信パケット数303および受信バイト数304が更新される。タイムアウト時間305が「0」秒になると、そのフローエントリは、NetFlowパケット130としてアナライザ102に送信され、フロー情報テーブル300から消去される。
【0033】
<動作レベル情報の一例>
図4は、動作レベル情報400の一例を示す説明図である。動作レベル情報400は、制御内容情報410と、現在の動作レベル420と、処理内容情報430と、を有する。
【0034】
制御内容情報410は、動作レベル411に対応するフロー情報記録制御部233の動作内容を規定する情報である。動作レベル411と、動作内容412と、を対応付けた情報である。動作レベル411とは、たとえば、0から始まる数値情報であって、アナライザ102からの制御パケットによって、増加または減少する情報である。動作内容412は、フロー情報記録制御部233が動作レベル411に応じて動作する内容を示す。動作内容412は、少なくとも1つの制御番号431により決定される。
【0035】
制御内容情報410には、現在の動作レベル420の値が高いほど、アナライザ102へ送信するNetFlowパケット130に梱包されたフロー情報のデータ量が小さくなるように動作内容412が設定される。
【0036】
現在の動作レベル420は、フロー情報記録制御部233が現在動作中の動作内容412に対応する動作レベル411である。現在の動作レベル420の初期値は「0」である。すなわち、制御内容情報410は、フロー情報記録制御部233が、現在の動作レベル420の値に応じて、ミラーリングパケット受信インタフェース251で受信したパケットから抽出したフロー情報に対して実行する動作内容412を規定する。
【0037】
処理内容情報430は、制御対象であるフロー条件に対応する処理内容を示す情報である。処理内容情報430は、制御番号431と、対象フロー432と、処理内容433と、を有する。制御番号431は、対象フロー432および処理内容433を一意に特定する識別情報である。対象フロー432は、処理内容433の処理対象となるフローを示す。処理内容433は、フロー情報記録制御部233が動作する処理の内容を示す。
【0038】
たとえば、制御番号431が「1」の処理内容は、『タイムアウト時間を2倍に延長する』であるため、対象フロー432のタイムアウト時間305が(カウントダウン中であっても)2倍になる。これにより、対象フロー432のフロー情報の送信タイミングを遅延させることができ、アナライザ102の受信キュー長の増加を抑制して、アナライザ102の負荷軽減を図ることができる。なお、アナライザ102の負荷に余裕がある場合には、処理内容433は、『タイムアウト時間を0.5倍にする』のように、タイムアウト時間305を短縮してもよい。
【0039】
また、制御番号431が「2」の処理内容は、『送信元ポート番号の値を0に変更する』であるため、対象フロー432の送信元ポート番号325の値「49152~65535」が「0」に変更される。このように、送信元ポート番号325の値を無効な値に変更することにより、送信元ポート番号325の値が「49152~65535」である複数のフローエントリが1つのフローエントリに集約される。したがって、NetFlowパケット130のパケット数を抑制することができ、アナライザ102の受信キュー長の増加を抑制して、アナライザ102の負荷軽減を図ることができる。
【0040】
なお、制御番号431が「2」の処理内容は、『送信元ポート番号の値を0に変更する』としたが、送信元ポート番号325ではなく、宛先IPアドレス321、送信元IPアドレス322、宛先ポート番号324でもよい。また、宛先IPアドレス321、送信元IPアドレス322、宛先ポート番号324および送信元ポート番号325のうち2以上の組み合わせでもよい。
【0041】
また、制御番号431が「3」の処理内容は、『フロー識別子からプロトコル番号を除外する』である。このように、プロトコル番号323を無効化することにより、宛先IPアドレス321、送信元IPアドレス322、宛先ポート番号324、および送信元ポート番号325が一致するがプロトコル番号323が異なる複数のフローエントリは、1つのフローエントリに集約される。したがって、プロトコルに依存することなく、NetFlowパケット130のパケット数を抑制することができ、アナライザ102の受信キュー長の増加を抑制して、アナライザ102の負荷軽減を図ることができる。
【0042】
たとえば、現在の動作レベル420が「2」の状態のとき、ミラーリングパケット受信インタフェース251からパケットを受信すると、フロー情報記録制御部233は、制御内容情報410を参照し、制御番号431が「1」および「2」の処理を実行する。
【0043】
制御番号431が「1」の処理としては、具体的には、たとえば、フロー情報記録制御部233は、処理内容情報430において制御番号431が「1」の対象フロー432である「受信パケット数が上位10%」と処理内容433の「タイムアウト時間を2倍に延長する」に従い、受信したパケットのフローエントリにおける受信パケット数303がフロー情報テーブル300内の総パケット数の上位10%を占める場合には、当該フローエントリのタイムアウト時間305を2倍に延長する。
【0044】
タイムアウト時間305は、たとえば、初期値の「30」秒からカウントダウンされるが、カウントダウン中の「10」秒の時点で制御番号431が「1」の処理が実行されると、「10」秒が「20」秒に変更され、カウントダウンが継続する。
【0045】
また、制御番号431が「2」の処理としては、具体的には、たとえば、フロー情報記録制御部233は、処理内容情報430において制御番号431が「2」の対象フロー432である「送信元ポート番号が49152~65535」と処理内容433の「送信元ポート番号の値を0に変更する」に従い、受信したパケットの送信元ポート番号を対象フロー432の値「49152~65535」と比較し、「49152~65535」に該当する場合には、受信パケットの送信元ポート番号を「0」に書き換えて、フロー情報テーブル300に記録する。
【0046】
実施例1では、制御内容情報410はコンフィグレーション222より与えられることを想定しているが、アナライザ102からの制御パケットによって与えられてもよい。
【0047】
<フロー情報記録処理の一例>
図5は、フロー情報記録制御部233が、動作レベル制御部234から動作レベル411の変更通知を受信した時のフロー情報記録処理の一例を示すフローチャートである。フロー情報記録制御部233は、動作レベル制御部234から動作レベル411の変更通知を受信する(ステップS501)。動作レベル411の変更通知は、たとえば、アナライザ102からアナライザ間通信インタフェース252、パケット受信部231、パケット判定部232および動作レベル制御部234を介して、フロー情報記録制御部233に送信される。
【0048】
なお、動作レベル411の変更通知を受信した時点では、現在の動作レベル420は、後述する図7の処理で最新の値に更新されている。動作レベル情報400の現在の動作レベル420の値を動作レベル411とした場合の動作内容412を特定し(ステップS502)、特定した動作内容412に規定される制御番号431に対応する処理内容433を対象フロー432のフローエントリに対して実行する(ステップS503)。そして、フロー情報記録制御部233は、処理を終了する。
【0049】
図6は、フロー情報記録制御部233が、ミラーリングパケット受信インタフェース251で受信したパケットをフロー情報テーブル300に記録するまでのフロー情報記録処理の一例を説明したフローチャートである。
【0050】
フロー情報記録制御部233は、パケット判定部232から受信したパケットを取得する(ステップS601)。と、フロー情報記録制御部233は、当該パケットからフロー識別子302と受信バイト数304とを抽出する(ステップS602)。フロー情報記録制御部233は、動作レベル情報400の現在の動作レベル420の値を動作レベル411とした場合の動作内容412を特定し(ステップS603)、特定した動作内容412に規定される制御番号431に対応する処理内容433を、抽出したフロー識別子302のフローエントリに対して実行する(ステップS604)。
【0051】
その後、フロー情報記録制御部233は、抽出したフロー識別子302が一致するフローエントリをフロー情報テーブル300から探索する(ステップS605)。一致したフローエントリがある場合(ステップS606:Yes)、フロー情報記録制御部233は、当該フローエントリの受信パケット数303と、受信バイト数304との値をそれぞれ更新する(ステップS607)。たとえば、ステップS601でパケット判定部232から受信した1パケット取得した場合、受信パケット数303の値が1加算され、受信バイト数304の値に当該1パケット分のバイト数が加算される。
【0052】
一方、一致するフローエントリがない場合(ステップS606:No)、フロー情報記録制御部233は、フロー情報テーブル300に、新規フローエントリとしてエントリ番号301を発行し、フロー識別子302、受信パケット数303、受信バイト数304、タイムアウト時間305を登録する(ステップS608)。そして、フロー情報記録制御部233は、処理を終了する。なお、タイムアウト時間305の値は、コンフィグレーション222によって与えられる。また、タイムアウト時間305の値は、たとえば、リアルタイムクロック204から取得した現在時刻からn秒後の時刻でもよい。
【0053】
図7は、動作レベル制御部234が、アナライザ102から制御パケットにより動作レベル変更指示を受信してからフロー情報記録制御部233へ動作レベルの変更を通知するまでの変更通知処理の一例を示すフローチャートである。
【0054】
動作レベル制御部234は、アナライザ102から受信した制御パケットをパケット判定部232から取得する(ステップS701)と、現在の動作レベル420をアナライザ102の指示通りに変更可能であるか判定する(ステップS702)。
【0055】
具体的には、たとえば、現在の動作レベル420が「3」であり、動作レベル411の変更指示内容が現在の動作レベル420を1つ上昇させる指示である場合、これ以上動作レベル411を上げられないため、指示通りの変更は不可となる。同様に、現在の動作レベル420が「0」であり、動作レベル411の変更指示内容が現在の動作レベル420を1つ下降させる指示である場合、これ以上動作レベル411を下げられないため、指示通りの変更は不可となる。
【0056】
動作レベル411の変更が不可能な場合(ステップS702:No)、動作レベル制御部234は、処理を終了する。動作レベル411の変更が可能な場合(ステップS702:Yes)、動作レベル411の変更指示が動作レベル上昇の場合(ステップS703:動作レベル上昇)は、動作レベル制御部234は、現在の動作レベル420の値を1つ増加する(ステップS704)。
【0057】
動作レベル411の変更指示が動作レベル下降の場合(ステップS703:動作レベル下降)、現在の動作レベル420の値を1つ減少する(ステップS705)。動作レベル制御部234は、フロー情報記録制御部233に動作レベル411の変更通知を送信する(ステップS706)。そして、動作レベル制御部234は、処理を終了する。
【0058】
<アナライザの一例>
図8は、アナライザ102の構成例を示すブロック図である。まず、ハードウェアの構成要素について説明する。ハードウェアの構成要素は、バス801に接続されている。中央演算装置802は、201と同等である。補助記憶装置803は202と同等である。ネットワークインタフェース805は204と同等である。リアルタイムクロック806は205と同等である。入出力装置807は入出力装置206と同等である。
【0059】
つぎに、ソフトウェアの構成要素について説明する。BOOT831はBOOT221と同等である。コンフィグレーション832は、負荷監視部8424と動作レベル制御部8425の動作を決定する設定情報であり、たとえば、ネットワーク管理者によって、入出力装置807から与えられる。
【0060】
OS(Operationg System)841は、補助記憶装置803に格納されており、BOOT831によって主記憶装置203に展開されて実行される。プログラム842は、フロー情報収集装置101から受信したフロー情報を解析するソフトウェアである。プログラム842は、補助記憶装置803に格納されており、OS841によって主記憶装置804に展開されて実行される。プログラム842は、BOOT831によって主記憶装置804に展開されて、実行されてもよい。
【0061】
プログラム842は、中央演算装置802に実行される。これにより、アナライザ102は、パケット受信部8421、NetFlow情報記録制御部8422、負荷監視部8424、動作レベル制御部8425、パケット送信部8426の機能ブロックと、情報記録部8423のデータストアとして機能する。情報記録部8423は、補助記憶装置803にあってもよい。
【0062】
パケット受信部8421は、ネットワークインタフェース805に到達した、フロー情報収集装置101が送信したNetFlowパケット130を受信し、NetFlow情報記録制御部8422に受信したNetFlowパケット130を渡す。
【0063】
NetFlow情報記録制御部8422は、受信したNetFlowパケット130からNetFlowのシーケンス番号、フロー識別子302、受信パケット数303、受信バイト数304を抽出し、情報記録部8423に記録する。
【0064】
負荷監視部8424は、フロー情報収集装置101が送信するNetFlowパケット130を受信可能な状態であるか定期的に判定を行い、判定結果を動作レベル制御部8425に通知する。
【0065】
動作レベル制御部8425は、負荷監視部8424の判定結果から、フロー情報収集装置101の動作レベル411の上昇または下降の変更が必要か判定し、変更が必要と判定した場合は、フロー情報収集装置101に、制御パケットで動作レベル411の変更を指示する。
【0066】
図9は、監視条件テーブルの一例を示す説明図である。監視条件テーブル900は、アナライザ102のNetFlowパケット130の受信許容レートが超えないようにアナライザ102の動作を監視するためのテーブルである。監視条件テーブル900は、負荷監視部8424が監視をおこなう項目と監視をおこなうための条件を規定する。監視条件テーブル900は、たとえば、主記憶装置804または補助記憶装置803に記憶される。
【0067】
監視条件テーブル900は、項番901ごとに、監視項目902と、動作レベル下降の要因となる第1監視条件903と、動作レベル上昇の要因となる第2監視条件904と、を有する。負荷監視部8424は、監視項目902が第1監視条件903、第2監視条件904を満たしているか定期的に判定する。監視項目902、第1監視条件903、第2監視条件904は一例であり、アナライザ102の性能や監視対象ネットワーク103のネットワーク環境によって、アナライザ102のNetFlowパケット130の受信許容レートが超えないように、最適な監視項目902、監視条件903,904が選択される。
【0068】
図10は、動作レベル変更指示契機テーブルの一例を示す説明図である。動作レベル変更指示契機テーブル1000は、動作レベル制御部8425がフロー情報収集装置101に動作レベル変更を指示する契機を規定する。動作レベル変更指示契機テーブル1000は、たとえば、主記憶装置804または補助記憶装置803に記憶される。
【0069】
動作レベル変更指示契機テーブル1000は、動作レベル変更種別1001と契機1002とを有する。動作レベル変更種別1001は、現在の動作レベル420の変更種別として、動作レベル上昇または動作レベル下降を規定する。契機1002は、対応する動作レベル変更種別1001の動作レベル変更を指示するタイミングを規定する。契機1002は、コンフィグレーション832によって与えられる。
【0070】
動作レベル制御部8425は、負荷監視部8424の判定結果から、8425Aの契機に該当するか判定し、該当する場合はフロー情報収集装置101に、動作レベルの上昇、または下降を制御パケットで指示する。
【0071】
図11は、負荷監視部8424の負荷監視処理の一例を示すフローチャートである。図11は、監視項目902毎に実行される。負荷監視部8424は、監視条件テーブル900の監視項目902が第1監視条件903または第2監視条件904のいずれかに到達しているか確認する(ステップS1101)。
【0072】
第1監視条件903または第2監視条件904のいずれか一方に到達した場合(ステップS1102:Yes)、負荷監視部8424は、動作レベル制御部8425に監視結果(監視項目902と到達した監視条件の組み合わせ)を通知して(ステップS1103)、ステップS1104に移行する。一方、条件に到達していない場合(ステップS1102:No)も、ステップS1104に移行する。ステップS1104では、負荷監視部8424は、次回の監視周期まで待機して(ステップS1104)、監視周期に到達するとステップS1101に戻る。
【0073】
図12は、動作レベル制御部8425の動作レベル制御処理の一例を示すフローチャートである。動作レベル制御部8425は、負荷監視部8424から監視結果(ステップS704)を受信する(ステップS1201)。動作レベル制御部8425は、監視結果が、動作レベル変更指示契機テーブル1000の契機1002に該当するか否かを判断する(ステップS1202)。契機1002に該当しない場合(ステップS1202:No)、動作レベル制御部8425は、動作レベル制御処理を終了する。
【0074】
一方、契機1002に該当する場合(ステップS1202:Yes)、動作レベル制御部8425は、フロー情報収集装置101に、該当した契機1002に対応する動作レベル変更種別1001の動作レベル変更指示を示す制御パケットを送信する(ステップS1203)。そして、動作レベル制御部8425は、動作レベル制御処理を終了する。
【0075】
このように、実施例1によれば、アナライザ102の許容受信レートを超えないように、フロー情報収集装置がアナライザ102に送信するデータを動的に決定することができる。したがって、アナライザ102の許容受信レートの超過によるデータ喪失を抑制することができる。
【0076】
また、アナライザ102の受信レートを動的に変更するため、アナライザ102のリソースを有効活用することができ、アナライザ102の性能を最大限に活用することができる。また、アナライザ102へ送信するデータのトラフィック量が急増した場合でも、アナライザ102の受信レートを動的に変更可能であるため、アナライザ102が必要とする情報を得ることができる。
【実施例2】
【0077】
実施例2は、ネットワークフロー監視システム100において、実施例1のアナライザ102を複数設けた構成である。なお、実施例2では、実施例1との相違点を中心に説明するため、実施例1と同一構成については同一符号を付し、その説明を省略する。
【0078】
図13は、実施例2にかかるネットワークフロー監視システム100の構成例を示すブロック図である。フロー情報収集装置101は、複数(図13では例として3台)のアナライザ102A、102B、102Cと通信可能に接続される。アナライザ102A、102B、102Cを区別しない場合は、単に、アナライザ102と表記する。
【0079】
図14は、実施例2にかかる情報記録部235の記憶内容例を示す説明図である。フロー情報収集装置101は、NetFlowパケット130を送信するアナライザ102に毎に、情報記録部235A~235Cを保持する。情報記録部235Aは、フロー情報テーブル300Aと動作レベル情報400Aとを保持する。
【0080】
情報記録部235Bは、フロー情報テーブル300Bと動作レベル情報400Bとを保持する。情報記録部235Cは、フロー情報テーブル300Cと動作レベル情報400Cとを保持する。情報記録部235Aはアナライザ102A、情報記録部235Bはアナライザ102B、情報記録部235Cはアナライザ102Cに対応している。
【0081】
フロー情報収集装置101は、アナライザ102から動作レベル変更指示の制御パケットを受信すると、動作レベル制御部234は、制御パケットの送信元のアナライザ102に対応する動作レベル情報を更新する。
【0082】
このように、実施例2では、フロー情報収集装置101は、複数(図13では例として3台)のアナライザ102A、102B、102Cと通信可能に接続されることとしたため、アナライザ102A、102B、102Cの冗長化を図ることができる。また、パケットのフロー情報の一部である送信元や宛先の情報ごとにアナライザ102A、102B、102Cを設定することにより、アナライザ102A、102B、102Cの負荷分散を図ることができる。
【0083】
また、アナライザ102A、102B、102Cの各々についてフロー情報の利用目的が異なっていてもよい。たとえば、アナライザ102Aは、マルウェアの検出に特化したアナライザ102とし、アナライザ102Bは、電子メールの監視に特化したアナライザ102としてもよい。これにより、利用目的に特化した分析を各アナライザ102で実行することができる。
【実施例3】
【0084】
実施例3は、ネットワークフロー監視システム100において、実施例1のフロー情報収集装置101を複数設けた構成である。なお、実施例3では、実施例1との相違点を中心に説明するため、実施例1と同一構成については同一符号を付し、その説明を省略する。
【0085】
図15は、実施例3にかかるネットワークフロー監視システム100の構成例を示すブロック図である。アナライザ600は、複数のフロー情報収集装置101A、101B、101Cと通信可能に接続される。フロー情報収集装置101A、101B、101Cを区別しない場合は、単に、フロー情報収集装置101と表記する。
【0086】
複数のフロー情報収集装置101A、101B、101Cには優先度が設定されていてもよい。この場合、アナライザ102は、優先度が高いフロー情報収集装置101から順に現在の動作レベル420の変更をおこなってもよい。優先度は、たとえば、アナライザ102に送信するフロー情報の情報量が多い順に決定される。
【0087】
フロー情報の情報量とは、フロー情報、すなわち、フローエントリの数でもよく、フロー情報テーブル300における全フローエントリの受信パケット数303の総和でもよく、受信バイト数304の総和でもよい。このように、優先度順に現在の動作レベル420を変更することにより、許容受信レートを超えそうなアナライザ102から順に、アナライザ102に送信するデータを動的に決定することが可能となる。
【符号の説明】
【0088】
100 ネットワークフロー監視システム
101 フロー情報収集装置
102 アナライザ
103 監視対象ネットワーク
110 中継装置
120 ミラーリングパケット
130 NetFlowパケット
205 ネットワークインタフェース
231 パケット受信部
232 パケット判定部
233 フロー情報記録制御部
234 動作レベル制御部
235 情報記録部
236 フロー情報監視部
237 NetFlowパケット作成部
238 パケット送信部
251 ミラーリングパケット受信インタフェース
252 アナライザ間通信インタフェース
300 フロー情報テーブル
301 エントリ番号
302 フロー識別子
303 受信パケット数
304 受信バイト数
305 タイムアウト時間
400 動作レベル情報
410 制御内容情報
411 動作レベル
412 動作内容
420 現在の動作レベル
430 処理内容情報
431 制御番号
432 対象フロー
433 処理内容
900 監視条件テーブル
902 監視項目
903 第1監視条件
904 第2監視条件
1000 動作レベル変更指示契機テーブル
1001 動作レベル変更種別
1002 契機
8421 パケット受信部
8422 情報記録制御部
8423 情報記録部
8424 負荷監視部
8425 動作レベル制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15