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

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

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

特許7535951コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム
<>
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図1
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図2
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図3
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図4
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図5
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図6
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図7
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図8
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図9
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図10
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図11
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図12
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図13
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図14
  • 特許-コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-08
(45)【発行日】2024-08-19
(54)【発明の名称】コレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システム
(51)【国際特許分類】
   H04L 43/00 20220101AFI20240809BHJP
【FI】
H04L43/00
【請求項の数】 11
(21)【出願番号】P 2021000720
(22)【出願日】2021-01-06
(65)【公開番号】P2022106040
(43)【公開日】2022-07-19
【審査請求日】2023-07-28
(73)【特許権者】
【識別番号】504411166
【氏名又は名称】アラクサラネットワークス株式会社
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】青木 圭佑
【審査官】小林 義晴
(56)【参考文献】
【文献】米国特許出願公開第2018/0020015(US,A1)
【文献】特開2015-106349(JP,A)
【文献】特開2018-007203(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/00
(57)【特許請求の範囲】
【請求項1】
NetFlow情報を用いてネットワークトラフィックを監視するコレクタ装置であって、
ネットワークトラフィックを受信してNetFlow情報を生成するセンサ装置からNetFlow情報を取得するNetFlow情報受信部と、
前記センサ装置から判定用情報として前記センサ装置の死活情報を受信する情報受信部と
前記受信した死活情報を用いて、前記受信したNetFlow情報の統計値が正しいかを判定し、前記受信したNetFlow情報の統計値が正しくないと判定された場合、前記センサ装置毎に定められたセンサ閾値情報を用いて、ネットワークトラフィックの監視に用いる閾値情報を更新する閾値情報修正部と、
前記更新された閾値情報を用いてネットワークトラフィックが正常かを判定する閾値判定部とを備えることを特徴とするコレクタ装置。
【請求項2】
NetFlow情報を用いてネットワークトラフィックを監視するコレクタ装置であって、
ネットワークトラフィックを受信してNetFlow情報を生成するセンサ装置からNetFlow情報を取得するNetFlow情報受信部と、
前記センサ装置から判定用情報としてネットワークトラフィックのデータ量を示す統計情報を受信する情報受信部と、
前記受信した統計情報を用いて、前記受信したNetFlow情報の統計値が正しいかを判定し、前記受信したNetFlow情報の統計値が正しくないと判定された場合、前記受信したNetFlow情報を修正するNetFlow情報修正部と、
前記修正されたNetFlow情報を蓄積する補正NetFlow情報補正部と、
前記修正されたNetFlow情報を用いてネットワークトラフィックが正常かを判定する閾値判定部とを備えることを特徴とするコレクタ装置。
【請求項3】
請求項1に記載のコレクタ装置であって、
前記センサ装置毎にセンサ閾値情報が定められており、
前記閾値情報修正部は、前記死活情報によって正常でないと判定されたセンサ装置のセンサ閾値情報の分だけ前記監視に用いる閾値情報を減少することを特徴とするコレクタ装置。
【請求項4】
請求項3に記載のコレクタ装置であって、
前記センサ装置毎及びフロー条件毎の上限閾値及び下限閾値を含むセンサ閾値情報を保持するセンサ/閾値関連情報保持部と、
前記ネットワークトラフィックの監視に用いる上限閾値及び下限閾値を含む閾値情報を保持する閾値情報保持部とを備え、
前記閾値情報修正部は、前記センサ/閾値関連情報保持部を参照して、前記閾値情報保持部に保持された閾値情報を更新することを特徴とするコレクタ装置。
【請求項5】
請求項2に記載のコレクタ装置であって、
前記補正NetFlow情報補正部は、
前記センサ装置から受信したNetFlow情報の合計値と前記受信した統計情報の差を計算し、
前記受信したNetFlow情報の比に従って、前記計算された差を各センサ装置から受信したNetFlow情報に分配して、前記NetFlow情報を修正することを特徴とするコレクタ装置。
【請求項6】
NetFlow情報を用いてネットワークトラフィックを監視するコレクタ装置が実行するネットワーク監視方法であって、
ネットワークトラフィックを受信してNetFlow情報を生成するセンサ装置からNetFlow情報を取得するNetFlow情報受信手順と、
前記センサ装置から判定用情報として前記センサ装置の死活情報を受信する情報受信手順と、
前記受信した死活情報を用いて、前記受信したNetFlow情報の統計値が正しいかを判定し、前記受信したNetFlow情報の統計値が正しくないと判定された場合、前記センサ装置毎に定められたセンサ閾値情報を用いて、ネットワークトラフィックの監視に用いる閾値情報を更新する閾値情報修正手順と、
前記更新された閾値情報を用いてネットワークトラフィックが正常かを判定する閾値判定手順とを備えることを特徴とするネットワーク監視方法。
【請求項7】
NetFlow情報を用いてネットワークトラフィックを監視するコレクタ装置が実行するネットワーク監視方法であって、
ネットワークトラフィックを受信してNetFlow情報を生成するセンサ装置からNetFlow情報を取得するNetFlow情報受信手順と、
前記センサ装置から判定用情報としてネットワークトラフィックのデータ量を示す統計情報を受信する情報受信手順と、
前記受信した統計情報を用いて、前記受信したNetFlow情報の統計値が正しいかを判定し、前記受信したNetFlow情報が正しくないと判定された場合、前記受信したNetFlow情報を修正するNetFlow情報修正手順と、
前記修正されたNetFlow情報を蓄積する補正NetFlow情報補正部と、
前記修正されたNetFlow情報を用いてネットワークトラフィックが正常かを判定する閾値判定手順とを備えることを特徴とするネットワーク監視方法。
【請求項8】
コレクタ装置に、NetFlow情報を用いてネットワークトラフィックを監視させるためのプログラムであって、
ネットワークトラフィックを受信してNetFlow情報を生成するセンサ装置からNetFlow情報を取得するNetFlow情報受信手順と、
前記センサ装置から判定用情報として前記センサ装置の死活情報を受信する情報受信手順と、
前記受信した死活情報を用いて、前記受信したNetFlow情報の統計値が正しいかを判定し、前記受信したNetFlow情報の統計値が正しくないと判定された場合、前記センサ装置毎に定められたセンサ閾値情報を用いて、ネットワークトラフィックの監視に用いる閾値情報を更新する閾値情報修正手順と、
前記更新された閾値情報を用いてネットワークトラフィックが正常かを判定する閾値判定手順とをコレクタ装置に実行させるためのプログラム。
【請求項9】
コレクタ装置に、NetFlow情報を用いてネットワークトラフィックを監視させるためのプログラムであって、
ネットワークトラフィックを受信してNetFlow情報を生成するセンサ装置からNetFlow情報を取得するNetFlow情報受信手順と、
前記センサ装置から判定用情報としてネットワークトラフィックのデータ量を示す統計情報を受信する情報受信手順と、
前記受信した統計情報を用いて、前記受信したNetFlow情報の統計値が正しいかを判定し、前記受信したNetFlow情報の統計値が正しくないと判定された場合、前記受信したNetFlow情報を修正するNetFlow情報修正手順と、
前記修正されたNetFlow情報を蓄積する補正NetFlow情報補正部と、
前記修正されたNetFlow情報を用いてネットワークトラフィックが正常かを判定する閾値判定手順とをコレクタ装置に実行させるためのプログラム。
【請求項10】
ネットワークの状態を監視するネットワーク監視システムであって、
ネットワークトラフィックを受信してNetFlow情報を生成するセンサ装置と、
前記NetFlow情報を用いてネットワークトラフィックを監視するコレクタ装置とを備え、
前記センサ装置は、
センサ装置自身の死活情報を所定のタイミングで生成する死活情報生成部と、
前記生成された死活情報を所定のタイミングでコレクタ装置へ送信する死活情報送信部とを有し、
前記コレクタ装置は、
ネットワークトラフィックを受信してNetFlow情報を生成するセンサ装置からNetFlow情報を取得するNetFlow情報受信部と、
前記センサ装置から判定用情報として前記センサ装置の死活情報を受信する情報受信部と、
前記受信した死活情報を用いて、前記受信したNetFlow情報の統計値が正しいかを判定し、前記受信したNetFlow情報の統計値が正しくないと判定された場合、前記センサ装置毎に定められたセンサ閾値情報を用いて、ネットワークトラフィックの監視に用いる閾値情報を更新する閾値情報修正部と、
前記更新された閾値情報を用いてネットワークトラフィックが正常かを判定する閾値判定部とを有することを特徴とするネットワーク監視システム。
【請求項11】
ネットワークの状態を監視するネットワーク監視システムであって、
ネットワークトラフィックを受信してNetFlow情報を生成するセンサ装置と、
前記NetFlow情報を用いてネットワークトラフィックを監視するコレクタ装置とを備え、
前記センサ装置は、前記センサ装置からトラフィック量を示す統計情報を所定のタイミングでコレクタ装置へ送信する統計送信部を有し、
前記コレクタ装置は、
ネットワークトラフィックを受信してNetFlow情報を生成するセンサ装置からNetFlow情報を取得するNetFlow情報受信部と、
前記センサ装置から判定用情報として前記統計情報を受信する情報受信部と、
前記受信した統計情報を用いて、前記受信したNetFlow情報の統計値が正しいかを判定し、前記受信したNetFlow情報の統計値が正しくないと判定された場合、前記受信したNetFlow情報を修正するNetFlow情報修正部と、
前記修正されたNetFlow情報を蓄積する補正NetFlow情報補正部と、
前記修正されたNetFlow情報を用いてネットワークトラフィックが正常かを判定する閾値判定部とを備えを有することを特徴とするネットワーク監視システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを監視するコレクタ装置、ネットワーク監視方法、プログラム、及びネットワーク監視システムに関する。
【背景技術】
【0002】
複雑化するネットワークを運用及び管理するためには、ネットワークを流れるトラフィックの状況を常に監視して、問題が発生した場合に即座に対応することが重要である。ネットワークトラフィックの状況や正常性を確認するために、NetFlow(非特許文献1参照)などの技術が用いられる。
【0003】
NetFlowとは、ルータやスイッチなどのネットワーク中継装置、又は、ネットワーク中継装置からミラーリングされたトラフィックを受信する専用装置(以降、「センサ」と呼ぶ)によってネットワークトラフィックのフロー統計情報を取得し、トラフィック分析装置(以降、「コレクタ」と呼ぶ)に送信するための通信プロトコルである。フローチャート統計情報を受信したコレクタは、種々の目的に応じてトラフィックの可視化や分析ができる。このようなフロー統計情報を収集して分析するシステムは、特許文献1や特許文献2に開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-38062号公報
【文献】特開2016-144153号公報
【非特許文献】
【0005】
【文献】RFC3954 ”Cisco Systems NetFlow Services Export Version 9”,Cisco Systems,2004年10月
【発明の概要】
【発明が解決しようとする課題】
【0006】
NetFlowのようなプロトコルを用いてセンサが取得したフロー統計情報をコレクタが収集して分析する方法では、センサから収集されるフロー統計が現実のトラフィックの状況を表さない状態が生じることがある。例えば、センサが故障などの不具合によって統計情報を送信できなくなる、又は、ネットワークトラフィックの増加や統計情報の収集ポイントの増加によって、フロー統計情報を格納するパケットを組み立てて送信する処理が追いつかなくなり、フロー統計情報が欠損することがある。その結果、コレクタは、正確な監視や分析が不可能になるという課題がある。
【0007】
具体的には、例えば、ネットワーク内のいくつかのフロー統計情報取得ポイントに設置された複数のセンサと、それらのセンサからフロー統計情報を収集する一つのコレクタで構成されたネットワークシステムにおいて、一部のセンサが不具合等で停止すると、停止したセンサからのフロー統計情報が欠落する。しかし、コレクタではフロー統計情報が届かないことが、実際にネットワークトラフィックが流れなくなったことを意味するのか、センサに問題が発生していることを意味するのかの区別が困難である。従って、コレクタがトラフィックを分析し、トラフィック量に基づいてアラームを発する監視を行う場合、実際のトラフィック量は変化していないにもかかわらず、トラフィックが減少したと誤って判定され、不要なアラームを発するという課題がある。
【0008】
また、監視対象のネットワークトラフィックの量が何らかの問題(例えば、外部からのネットワーク攻撃や、ネットワーク内端末のマルウェア感染による異常トラフィックの発生など)で増加したにもかかわらず、フロー統計情報を取得するセンサの処理性能を超えたことによって、正しいフロー統計情報をコレクタに送信できなかった場合、トラフィックを分析し、トラフィック量に基づいてアラームを発する監視を行うコレクタにおいて、本来アラームを発するべき事象に対してアラームを発しないという課題がある。
【0009】
本発明の目的は、NetFlow情報を用いたネットワークトラフィックの監視において、アラームを適切に生成することにある。すなわち、トラフィックのフロー統計情報をセンサで取得し、そのフロー統計情報をコレクタが収集して分析等を行うネットワーク監視システムにおいて、センサの異常やフロー統計情報取得能力の限界によってコレクタが収集するフロー統計情報と実際のトラフィックの状況とに乖離が発生した場合でも、コレクタが不要なアラームを発する、又は、必要なアラームを発することができないといった状況を抑制するネットワーク監視システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、NetFlow情報を用いてネットワークトラフィックを監視するコレクタ装置であって、ネットワークトラフィックを受信してNetFlow情報を生成するセンサ装置からNetFlow情報を取得するNetFlow情報受信部と、前記センサ装置から判定用情報として前記センサ装置の死活情報を受信する情報受信部と、前記受信した死活情報を用いて、前記受信したNetFlow情報の統計値が正しいかを判定し、前記受信したNetFlow情報の統計値が正しくないと判定された場合、前記センサ装置毎に定められたセンサ閾値情報を用いて、ネットワークトラフィックの監視に用いる閾値情報を更新する閾値情報修正部と、前記更新された閾値情報を用いてネットワークトラフィックが正常かを判定する閾値判定部とを備えることを特徴とする。
【発明の効果】
【0011】
本発明の一態様によれば、センサの不具合や能力を超える過剰なトラフィックが発生した場合でも適切にアラームを生成できる。
【図面の簡単な説明】
【0012】
図1】第一の実施形態におけるネットワーク監視システムの構成例を示す図である。
図2】第一の実施形態におけるセンサの構成例を示すブロック図である。
図3】第一の実施形態におけるコレクタの構成例を示すブロック図である。
図4】第一の実施形態におけるコレクタの動作シーケンスを示す図である。
図5】第一の実施形態における死活情報蓄積部の構成例を示す図である。
図6】第一の実施形態におけるセンサ/閾値関連情報保持部の構成例を示す図である。
図7】第一の実施形態における閾値情報保持部の構成例を示す図である。
図8】第一の実施形態において、全てのセンサが正常に稼働している状態のNetFlow情報に基づいて導出されたトラフィックのトラフィック量の一例を示す図である。
図9】第一の実施形態において、一部のセンサが停止した状態のNetFlow情報に基づいて導出されたトラフィックのトラフィック量の一例を示す図である。
図10】第二の実施形態におけるセンサの構成例を示すブロック図である。
図11】第二の実施形態におけるコレクタの構成例を示すブロック図である。
図12】第二の実施形態におけるコレクタの動作シーケンスを示す図である。
図13】第二の実施形態におけるNetFlow情報蓄積部の構成例を示す図である。
図14】第二の実施形態におけるパケット統計蓄積部の構成例を示す図である。
図15】第二の実施形態における補正後NetFlow情報蓄積部の構成例を示す図である。
【発明を実施するための形態】
【0013】
<実施形態1>
図1は、第一の実施形態におけるネットワーク監視システムの構成例を示す図である。
【0014】
ネットワーク監視システムは、監視対象のネットワーク100と、監視対象のネットワーク100に含まれるネットワーク機器200と、トラフィックの統計情報を取得するセンサ300と、統計情報を収集し分析するコレクタ400と、管理端末500とから構成される。ネットワーク機器200は、監視対象のネットワーク100に含まれ、監視対象のネットワーク100においてデータを転送する。センサ300は、各監視対象のネットワーク機器200に接続されて、ネットワーク100を流れるトラフィックの統計情報を取得する。コレクタ400は、センサ300に接続されて、センサ300が生成した統計情報を収集し分析する。管理端末500は、コレクタ400から出力される分析情報を管理者が参照等を行うために操作される計算機である。
【0015】
第一の実施形態は、コレクタ400がセンサ300の異常(例えば、故障による停止など)を認識できるようにした上で、不要なアラームの発生の抑制を目的とした構成の一例である。
【0016】
なお、ネットワーク機器200、センサ300、及びコレクタ400は1台以上の任意の台数でよく、これらの間も任意の接続手段によって構成できる。ネットワーク機器200、センサ300、及びコレクタ400が複数存在し、説明の中でそれらを区別する必要がある場合は、例えばネットワーク機器200であればネットワーク機器200-1のように、数字を付加した符号により区別する。図1の構成例は、ネットワーク機器200とセンサ300がそれぞれn台あり、コレクタ400が1台あるシステムの例を示している。
【0017】
図2は、第一の実施形態におけるセンサ300の構成例を示すブロック図である。
【0018】
センサ300は、CPU340、メモリ310、記憶部320、及び複数のネットワークインタフェース330-1、330-2(図中では、ネットワークインタフェースをNW-IFと略して記載)を有する。ネットワークインタフェース330-1はネットワーク機器200に接続され、ネットワークインタフェース330-2はコレクタ400に接続される。
【0019】
CPU340は、メモリ310に格納されたプログラムを実行する演算装置である。なお、CPU340がプログラムを実行して行う処理の一部を、他の演算装置(例えば、FPGAやASICなどのハードウェアによる演算装置)で実行してもよい。
【0020】
メモリ310は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU340が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。具体的には、メモリ310には、CPU330によって実行されるプログラム、すなわちトラフィック受信部311、NetFlow情報生成部312、NetFlow情報送信部313、死活情報生成部314、死活情報送信部315、MIB(Management Information Base)応答部316、及びMIB要求受信/応答送信部317を構成するためのプログラムが格納される。
【0021】
記憶部320は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置である。また、記憶部320は、CPU340がプログラムの実行時に使用するデータ(例えば、取得したトラフィックの統計情報を保持するフロー情報蓄積部321)、及びCPU340が実行するプログラムを格納する。すなわち、プログラムは、記憶部320から読み出されて、メモリ310にロードされて、CPU340によって実行されることによって、センサ300の各機能を実現する。
【0022】
図2の構成において、センサ300がネットワーク100のトラフィックに関する統計情報を取得してコレクタ400に送信する処理を説明する。
【0023】
ネットワーク機器200は、ネットワーク100を流れるトラフィックデータをミラーリングして、その複製をセンサ300に送信する。センサ300は、ネットワークインタフェース330-1で、ネットワーク機器200から送信されたデータを受信する。
【0024】
トラフィック受信部311は、ネットワークインタフェース330-1が受信したトラフィックデータを受け取り、そのトラフィックの統計情報の一種であるフロー情報を生成し、生成されたフロー情報をフロー情報蓄積部321に蓄積する。ここで、フロー情報とは、例えば、受信したトラフィックを構成するパケットのヘッダ部分に含まれる送信元アドレスや送信先アドレス等で識別されるフロー毎に観測されたパケットの数やデータ量(観測された個々のパケットの長さの総和)などである。
【0025】
NetFlow情報生成部312は、フロー情報蓄積部321に蓄積されたフロー情報を、一定時間毎にまとめ、NetFlowプロトコルで規定されるパケットフォーマットに準拠したNetFlow情報に変換する。NetFlow情報送信部313は、変換されたNetFlow情報をNetFlow情報生成部312から受け取り、NetFlowプロトコルの規定に従ってネットワークインタフェース330-2からコレクタ400に送信する。
【0026】
次に、コレクタ400がセンサ300の異常を認識するために必要なセンサ300側の処理を説明する。
【0027】
まず、死活情報生成部314が、センサ300の動作状況を示す死活情報を生成する。ここで死活情報とは、センサ300が正常に稼働しているかを示す情報である。死活情報生成部314は、例えば、センサ300自身の故障監視機能によって正常稼働を認識した場合は、正常を意味する情報を生成し、部分的な故障により統計情報取得やコレクタ400に対するNetFlow情報の送信不能を認識した場合は、NetFlow情報の送信停止を意味する情報を生成する。
【0028】
死活情報送信部315は、死活情報生成部314が生成した死活情報を所定フォーマットのパケットに格納して、ネットワークインタフェース330-2を通してコレクタ400に送信する。なお、死活情報は、死活状態の変化にかかわらず所定の時間間隔で定期的に送信するとよい。もし、センサ300全体が停止して死活情報を送信不可能になった場合、コレクタ400は死活情報の受信を監視し、死活情報パケットが一定時間以上届かなくなったことによって、センサ300の異常を認識可能となる。
【0029】
あるいは、死活情報は死活情報送信部315から自発的に送信するのではなく、コレクタ400が死活情報を取得するために送信したMIB要求に応答して送信してもよい。この場合、MIB要求受信/応答送信部317が、コレクタ400からSNMP(Simple Network Management Protocol)などのプロトコルによるMIB要求をネットワークインタフェース330-2経由で受信し、受信したMIB要求をMIB応答部316に伝える。MIB応答部316は、MIB要求の内容が死活情報取得であることを認識して、死活情報生成部314から死活情報を取得する。MIB要求受信/応答送信部317は、死活情報生成部314が取得した死活情報をMIB要求への応答としてネットワークインタフェース330-2からコレクタ400に送信する。MIB要求/応答による方法においても、コレクタ400は、要求に対する応答が無い場合に、センサ300の異常を認識できる。
【0030】
以上が本実施例におけるセンサ300の構成と動作である。
【0031】
次に、本実施例におけるコレクタ400の構成と動作を説明する。
【0032】
図3は、第一の実施形態におけるコレクタ400の構成例を示すブロック図である。
【0033】
コレクタ400は、CPU440、メモリ410、例えばハードディスクやSSDなどの記憶部420、及び複数のネットワークインタフェース430-1、430-2(図中では、ネットワークインタフェースをNW-IFと略して記載)を有する。ネットワークインタフェース430-1はセンサ300に接続され、ネットワークインタフェース430-2は管理端末500に接続される。
【0034】
CPU440は、メモリ410に格納されたプログラムを実行する演算装置である。なお、CPU440がプログラムを実行して行う処理の一部を、他の演算装置(例えば、FPGAやASICなどのハードウェアによる演算装置)で実行してもよい。
【0035】
メモリ410は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU440が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。具体的には、メモリ410には、CPU440が実行するプログラム、すなわちNetFlow情報受信部411、死活情報受信部412、MIB要求送信/応答受信部413、閾値情報修正部414、NetFlow閾値判定部415、及びSyslog/Trap送信部416を構成するためのプログラムが格納される。
【0036】
記憶部420は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置である。また、記憶部420は、CPU440がプログラムの実行時に使用するデータ(例えば、NetFlow情報蓄積部421、死活情報蓄積部422、センサ/閾値関連情報保持部423、閾値情報保持部424)、及びCPU440が実行するプログラムを格納する。すなわち、プログラムは、記憶部420から読み出されて、メモリ410にロードされて、CPU440によって実行されることによって、コレクタ400の各機能を実現する。
【0037】
図3の構成において、コレクタ400がセンサ300から受信したNetFlow情報を分析する処理を説明する。
【0038】
まず、ネットワークインタフェース430-1は、センサ300から送信されたNetFlow情報を含むパケットを受信する。そして、NetFlow情報受信部411は、ネットワークインタフェース430-1が受信したパケットからNetFlow情報を取り出し、NetFlow情報蓄積部421に蓄積する。
【0039】
次に、コレクタ400は、受信したNetFlow情報を分析する。本実施例では、予め指定された閾値に基づいてトラフィック量の増減を監視する分析処理を例に説明する。
【0040】
NetFlow閾値判定部415は、NetFlow情報蓄積部421に蓄積されたNetFlow情報からフロー毎のトラフィック量を導出し、導出されるフロー毎のトラフィック量と閾値情報保持部424に格納された閾値情報とを比較する。なお、閾値情報保持部424に設定される閾値情報の例については後述する。
【0041】
比較の結果、トラフィック量が所定の上限閾値を超えた、又は、トラフィック量が所定の下限閾値を下回った等のトラフィックが異常と判定された場合、判定結果をSyslog/Trap送信部416に送信する。Syslog/Trap送信部416は、ネットワークインタフェース430-2を通して管理端末500に異常発生を示す情報を送信する。管理端末500は、異常発生を示す情報に含まれる判定結果を、例えばディスプレイ等の管理画面に表示する等によって、異常の発生を管理者に認識させる。
【0042】
ここで、本実施例においてトラフィック分析処理に用いている閾値情報について、さらに説明する。
【0043】
図6は、センサ/閾値関連情報保持部423の構成例を示す図である。
【0044】
センサ/閾値関連情報保持部423は、トラフィックの正常性を判定する際に参照される閾値情報を保持するテーブルで構成される。
【0045】
センサ/閾値関連情報保持部423は複数のエントリを有し、各エントリは、監視対象とするトラフィック中のフローを指定する対象フロー条件4231、統計情報の送信元となるセンサ300の識別子であるセンサ情報4232、及びセンサ情報4232が示すセンサ300で取得された対象フロー条件4231のフローに対するトラフィック量の上限閾値4233と下限閾値4234が関連付けられた情報を含む。
【0046】
対象フロー条件4231は、例えば、監視対象のトラフィックが標準的なTCP/IPプロトコルに準拠する場合、IPヘッダ内の送信元IPアドレスが特定の値である、又は、アプリケーションサービスの種類を示すTCPヘッダ内の宛先ポート番号が特定の値である等の条件である。センサ情報4232は、例えばセンサ300のIPアドレスである。上限閾値4233及び下限閾値4234は、分析対象とする統計情報の正常動作と判定される値の範囲であり、例えばbyte/secを単位とする時間当たりのトラフィック量などで表される。
【0047】
センサ/閾値関連情報保持部423には、監視対象とするネットワークの規模、利用されているアプリケーションの種類、センサ300の配置などの、ネットワークで転送される情報や監視の目的に基づいて、管理者が管理端末500を通して適切な値が予め設定される。図6では、同一の対象フロー条件「条件A」に対して、センサ情報で識別される3台のセンサ300毎に異なる上限閾値と下限閾値を設定している例を示す。
【0048】
図7は、閾値情報保持部424の構成例を示す図である。
【0049】
閾値情報保持部424は、前述した通り、NetFlow閾値判定部415が判定する際に直接参照する閾値情報を格納するテーブルで構成される。
【0050】
閾値情報保持部424は複数のエントリを有し、各エントリは、分析対象とするトラフィックを指定する対象フロー条件4241、対象フロー条件4241のフローに対するトラフィック量の上限閾値4243と下限閾値4244が関連付けられた情報を含む。
【0051】
閾値情報保持部424には、対象フロー条件4241を満たすフローを計測する複数のセンサ300で計測されるトラフィック量の合計値に対する閾値が保持される。
【0052】
図6図7に示される実際の数値例を用いて対象フロー条件が「条件A」の場合を例に説明する。「条件A」を満たすトラフィックは、図6に示すとおり、3台のセンサ300で計測され、それぞれの上限閾値4233の値の合計値である21,000,000と下限閾値4234の値の合計値である12,000,000が、図7の閾値情報保持部424の対象フロー条件4241が「条件A」であるエントリの上限閾値4243と下限閾値4244にそれぞれ格納される。これらの値は、センサ/閾値関連情報保持部423に値が設定された段階で、まず初期値として算出、格納されている。
【0053】
さらに、コレクタ400は、センサ300の停止などの不具合が発生した際に、トラフィック異常を誤って判定しないように、閾値情報保持部424に保持される閾値を再計算して補正する。以下に、閾値補正のためのコレクタ400の動作を説明する。なお、ここで説明する処理は、前述したNetFlow受信部441及びNetFlow閾値判定部415によるNetFlow情報の受信処理と閾値判定処理とは独立して並列に実行される。
【0054】
図4は、第一の実施形態におけるコレクタ400において、センサ300から死活情報を受信してから閾値情報保持部424の補正した閾値情報を格納するまでの動作シーケンスを示す図である。
【0055】
まず、センサ300がコレクタ400に死活情報を送信する。コレクタ400の死活情報受信部412は、ネットワークインタフェース430-1を通して、その死活情報を受信し(ステップS601)、受信した死活情報に基づいて死活情報蓄積部422を更新する(ステップS602)。なお、センサ300の動作状況を収集する死活監視装置を設け、死活情報受信部412は、センサ300から死活情報を受信せず、当該死活監視装置からセンサ300の死活情報を受信してもよい。
【0056】
図5は、死活情報蓄積部422の構成例を示す図である。死活情報蓄積部422は複数のエントリを有し、各エントリは、死活情報送信元センサ300の識別子であるセンサ情報4221と、センサ情報4221が示すセンサ300の状態を示す死活状況4222と、センサ情報4221が示すセンサ300から最新の死活情報を受信した時刻である最新受信時刻4223が関連付けられた情報を含む。本実施例では、センサ情報4221はセンサ300のIPアドレス、死活状況4222はセンサ情報4221が示すセンサ300が正常動作している場合には「1」を、異常が発生してNetFlow情報を送信できない状態である場合には「0」を格納している。
【0057】
ステップS602において、死活情報蓄積部422は次のように更新される。
【0058】
まず、死活情報受信部412は、受信した死活情報の送信元IPアドレスとセンサ情報4221が同じ死活情報蓄積部422のエントリを検索し、そのエントリの死活状況4222に「0」又は「1」を設定し、該死活情報の受信時刻を最新受信時刻4223に格納する。なお、受信した死活情報の送信元IPアドレスとセンサ情報4221が同じ死活情報蓄積部422のエントリが見つからない場合は、新規にエントリを作成する。
【0059】
また、ステップS602において、死活情報受信部412は、死活情報蓄積部422の各エントリの最新受信時刻4223の値を確認し、最新受信時刻4223の値と現在時刻の差が所定値以上であるエントリがある場合、該エントリの死活状況4222を「0」に設定する。これは、定期的な死活情報の送信が停止したことによるセンサ300の異常を認識するための処理である。
【0060】
図4のシーケンス図に戻り説明を続ける。次に、死活情報受信部412は、ステップ602で死活情報蓄積部422の更新によって死活状況4222の値が変化したエントリがある場合、すなわち、死活状況が変化したセンサ300がある場合、死活情報の変化を閾値情報修正部414に通知する(ステップS603)。
【0061】
閾値情報修正部414は、ステップ603において通知を受け取ると、死活情報蓄積部422から死活情報を取得し(ステップS604)、さらに、センサ/閾値関連情報保持部423の各エントリに格納されたセンサ300の閾値情報を取得する(ステップS605)。
【0062】
次に、閾値情報修正部414は、ステップS604で取得した死活情報に基づいて、受信したNetFlow情報が正しいか(すなわち、センサ300が動作していないので、NetFlow情報が誤っている可能性があるか)を判定し、NetFlow情報が誤っている可能性がある場合、ステップS605で取得した閾値情報に基づいて、センサ300の死活状況に基づいた適切な閾値情報を再計算する(ステップS606)。
【0063】
ここで、閾値情報の再計算の一例として、図5及び図6に示される各種情報の数値例に基づいて具体的に計算した例を示す。
【0064】
まず、ステップS602の処理によって死活情報蓄積部422が更新された結果、図5に示すようにエントリ番号1のセンサ300(IPアドレス192.168.0.1)の死活状況4222が「0」、すなわち、NetFlow情報が送信できない状態に変化した場合を考える。
【0065】
この状態で、閾値情報修正部414はステップS606において、死活情報蓄積部422の死活状況4222が「1」となっているセンサ300だけの閾値を用いて、上限閾値と下限閾値を再計算する。図5及び図6に示される数値例の場合、死活情報蓄積部422のエントリ#2と#3のセンサ300だけが正常稼働しているので、それらを対象とした「条件A」を満たすトラフィックの新たな閾値情報は、センサ/閾値関連情報保持部423のエントリ#2と#3のセンサ300の閾値を用いて、上限閾値が15,000,000、下限閾値が9,000,000と再計算される。
【0066】
次に、閾値情報修正部414は、ステップS606で再計算された閾値情報を上書きして、閾値情報保持部424を更新する(ステップ607)。
【0067】
なお、閾値情報修正部414は、センサ300に異常が発生したこと、及び、その異常発生に伴い異常判定の閾値を再計算したことを管理者に通知するため、これらの通知情報を含むパケットを、ネットワークインタフェース430-2を通して管理端末500に送信してもよい。管理端末500は、受信した通知情報をディスプレイ等の管理画面に表示する。
【0068】
以上のように、個々のセンサ300で期待されるNetFlow情報の上限閾値と下限閾値を予めセンサ/閾値関連情報保持部423に設定しておくことによって、閾値情報修正部414の処理によりセンサ300の死活状況に応じて通信の正常性を適切に判断するための上限閾値、下限閾値を得られるようになる。
【0069】
図8及び図9は、本実施例により閾値を再計算する効果を分かりやすく説明するために、コレクタ400が収集した統計情報に基づく単位時間あたりのトラフィック量の変化と閾値の関係を模式的に表した図である。
【0070】
図8は、全てのセンサ300が正常に稼働している状態で、第一の実施形態のコレクタ400が受信したNetFlow情報に基づいて導出された「条件A」を満たすトラフィックのトラフィック量の一例を示す図である。
【0071】
図は、時間により変化するトラフィック量612と、図7に示す初期設定された状態で閾値情報保持部424が保持する「条件A」を満たすトラフィック量の上限閾値611と下限閾値613を表す。トラフィック量612が上限閾値611と下限閾値613の間に収まっており、トラフィック量612に異常が発生していない。
【0072】
図9は、一部のセンサ300が動作を停止してNetFlow情報の一部が受信できなくなった状態で、第一の実施形態のコレクタ400が受信したNetFlow情報に基づいて導出された「条件A」を満たすトラフィックのトラフィック量の一例を示す図である。
【0073】
図中、時間により変化するトラフィック量622と、閾値情報修正部414がセンサ300の死活状況に基づく閾値情報の再計算前のトラフィック量の上限閾値611と下限閾値613と、閾値情報修正部414がセンサ300の死活状況に基づく閾値情報の再計算後のトラフィック量の上限閾値621と下限閾値623を表す。トラフィック量622は、停止しているセンサ300からの情報が含まれないため、実際のトラフィック量より少ない値となっている。同様に、再計算後の上限閾値621と下限閾値623は、再計算前の上限閾値611と下限閾値613より停止しているセンサ300の分少なくなっている。
【0074】
図9に示すように、一部のセンサ300の停止によってコレクタ400が統計情報に基づいて算出するトラフィック量が実際のトラフィック量より小さくなった場合に、上限閾値及び下限閾値を再計算しないとトラフィック量が正常でも異常とする誤判定が発生し得る。しかし、センサ300の停止を考慮して上限閾値及び下限閾値を再計算すれば、そのような誤検知を抑制できることがわかる。
【0075】
以上に説明したように、本実施例によれば、統計情報を取得するセンサ300とその統計情報を収集して分析するコレクタ400から構成されるネットワーク監視システムにおいて、一部のセンサ300が故障等で停止した場合でも、コレクタ400が実行する分析処理におけるトラフィック異常の誤判定を抑制できる。このため、ネットワーク管理者が不要な対処作業を行ってしまう、又は、必要な問題対応の作業を行えないといったネットワーク管理上の問題発生を低減できる。
【0076】
<実施形態2>
第二の実施形態におけるネットワーク監視システムの構成例は、図1に示した第一の実施形態のネットワーク監視システムにおいて、センサ300を後述する第二の実施形態によるセンサ350に、コレクタ400を後述する第二の実施形態によるコレクタ450にそれぞれ置き換えたものである。なお、第二の実施形態において、第一の実施形態と同じ構成及び機能については同じ符号を付し、それらの説明は省略する。
【0077】
第二の実施形態では、センサ350又はコレクタ450の性能不足等の問題でフロー統計情報の送信に欠落が発生した場合でも、コレクタ450がパケット統計情報を併用して本来のフロー統計情報を推定して補正することによって、本来発生すべきアラームの未発生などの問題を抑制する。ここで、パケット統計情報とは、NetFlowが扱うフロー統計のようにフローの区別を行わず、単純に単位時間あたりに受信したトラフィック全体のパケット数や総バイト数(各パケットの長さの総和)などが計測された、ネットワークトラフィックのデータ量を示す統計情報である。
【0078】
図10は、第二の実施形態におけるセンサ350の構成例を示すブロック図である。
【0079】
センサ350は、CPU340、メモリ310、記憶部320、及び複数のネットワークインタフェース330-1、330-2(図中では、ネットワークインタフェースをNW-IFと略して記載)を有する。ネットワークインタフェース330-1はネットワーク機器200に接続され、ネットワークインタフェース330-2はコレクタ400に接続される。
【0080】
メモリ310には、CPU330によって実行されるプログラム、すなわちトラフィック受信部311、NetFlow情報生成部312、NetFlow情報送信部313、MIB(Management Information Base)応答部316、MIB要求受信/応答送信部317、パケット統計生成部318、及びパケット統計送信部319を構成するためのプログラムが格納される。センサ350は、死活情報生成部314、及び死活情報送信部315を有してもよい。
【0081】
記憶部320は、CPU340がプログラムの実行時に使用するデータ(例えば、取得したトラフィックの統計情報を保持するフロー情報蓄積部321、パケット統計蓄積部322)、及びCPU340が実行するプログラムを格納する。
【0082】
図10の構成において、センサ350がネットワーク100のトラフィックに関する統計情報を取得してコレクタ450にNetFlow情報として送信する処理は、第一の実施形態のセンサ300が統計情報をコレクタ400に送信する処理と同じなので、説明を省略する。
【0083】
さらに、センサ350は、トラフィック受信部311がネットワーク機器200から受信したトラフィックに関する情報をパケット統計生成部318に転送する。パケット統計生成部318が、トラフィックに関する情報に基づいてパケット統計情報を生成し、生成したパケット統計情報をパケット統計蓄積部322に格納する。パケット統計情報の生成は、計測時にフローの識別が不要となることから処理負荷が小さく、計測対象のトラフィック量が増えた場合でも、高精度に計測できる。
【0084】
さらに、パケット統計蓄積部322に格納された内容は、パケット統計送信部319が所定のフォーマットのパケットに格納し、所定の時間間隔でネットワークインタフェース330-2を通してコレクタ450に送信する。又は、コレクタ450からパケット統計情報の取得を目的に送信されたSNMPなどのプロトコルによるMIB要求をネットワークインタフェース330-2経由でMIB応答部316が受信し、MIB応答部316が受信したMIB要求の内容を解釈してMIB要求受信/応答送信部317に応答の送信を指示し、MIB要求受信/応答送信部317がパケット統計蓄積部322から取得したパケット統計情報をMIB要求へ応答としてネットワークインタフェース330-2経由でコレクタ450に送信してもよい。
【0085】
図11は、第二の実施形態におけるコレクタ450の構成例を示すブロック図である。
【0086】
コレクタ450は、CPU440、メモリ410、例えばハードディスクやSSDなどの記憶部420、及び複数のネットワークインタフェース430-1、430-2(図中では、ネットワークインタフェースをNW-IFと略して記載)を有する。ネットワークインタフェース430-1はセンサ300に接続され、ネットワークインタフェース430-2は管理端末500に接続される。
【0087】
メモリ410には、CPU440が実行するプログラム、すなわちNetFlow情報受信部411、MIB要求送信/応答受信部413、NetFlow閾値判定部415、Syslog/Trap送信部416、パケット統計受信部417、及びNetFlow情報修正部418を構成するためのプログラムが格納される。コレクタ450は、死活情報受信部412、及び閾値情報修正部414を有してもよい。
【0088】
記憶部420は、CPU440がプログラムの実行時に使用するデータ(例えば、NetFlow情報蓄積部421、閾値情報保持部424、パケット統計蓄積部425、補正NetFlow情報蓄積部426)、及びCPU440が実行するプログラムを格納する。
【0089】
図11の構成において、センサ350からNetFlow情報を受信して、NetFlow情報蓄積部421に格納する処理は、第一の実施形態によるコレクタ400の処理と同じなので、説明を省略する。
【0090】
さらに、コレクタ450は、センサ350からパケット統計情報を取得して、既に受信済みのNetFlow情報蓄積部421内のフロー情報を補正する。この補正処理は、センサ350のNetFlow処理能力を超えるトラフィックがネットワーク100で発生し、そのトラフィックに関してコレクタ450が受信したNetFlow情報に誤差が含まれると予想される場合に、NetFlow情報を補正し、コレクタ450による異常の誤判定の可能性を低減する。NetFlow情報に誤差が含まれているかを推定する際にセンサ350が取得して格納したパケット統計蓄積部322の情報を利用する。以下に、そのためのコレクタ450の動作を説明する。
【0091】
図12は、第二の実施形態におけるコレクタ450がセンサ350からパケット統計情報を受信してから補正したNetFlow情報を補正NetFlow情報蓄積部426へ格納するまでの動作シーケンスを示す図である。なお、ここで説明する処理は、NetFlow受信部441によるNetFlow情報の受信処理や、NetFlow閾値判定部415による閾値判定処理とは独立して並列に実行される。
【0092】
まず、センサ350がコレクタ450にパケット統計情報を送信する。コレクタ450のパケット統計受信部417は、ネットワークインタフェース430-1を通して、そのパケット統計情報を受信し(ステップS701)、受信したパケット統計情報をパケット統計蓄積部425へ格納する(ステップS702)。
【0093】
図14は、パケット統計蓄積部425の構成例を示す図である。パケット統計蓄積部425は、複数のエントリを有し、各エントリは、単位時間ごとに計測されたパケット統計情報として、統計取得時刻を示す時刻4251と、単位時間中に計測されたパケット数4252と、単位時間中に計測された全パケットのパケット長の総和であるバイト数4253が関連付けられた情報を含む。図示した統計情報は一例であり、他の統計情報を格納してもよい。
【0094】
図12のシーケンス図に戻り説明を続ける。NetFlow情報修正部418は、パケット統計受信部417の処理と並行して、所定のタイミングで(例えば、周期的に)パケット統計蓄積部425からパケット統計情報を取得し(ステップS703)、さらに、NetFlow情報蓄積部421からNetFlow情報を取得する(S704)。
【0095】
図13は、NetFlow情報蓄積部421の構成例を示す図である。NetFlow情報蓄積部421は複数のエントリを有し、各エントリは、NetFlow情報が取得された時刻4211と、フローを識別する情報である送信元アドレス4212及び送信先アドレス4213と、フロー毎のパケット数4214と、フロー毎のパケット長の総和であるバイト数4215を関連付けた情報を含む。なお、フローを識別する情報は一例であり、例えばパケットのヘッダに含まれるTCPやUDPのポート番号などを含んでもよい。また、パケット数やバイト数以外の統計情報を含んでもよい。
【0096】
図12のシーケンス図に戻り説明を続ける。NetFlow情報修正部418は、取得したパケット統計情報とNetFlow情報を比較し、この比較結果に基づいて受信済みのNetFlow情報を補正する(ステップS705)。そして、補正後のNetFlow情報を補正NetFlow情報蓄積部426に格納する(S706)。
【0097】
図15は、補正後NetFlow情報蓄積部426の構成例を示す図である。補正後NetFlow情報蓄積部426の構成は、NetFlow情報蓄積部421と同じなので、その説明は省略する。
【0098】
ここで、図13図14図15に示す具体的な数値例を用いて、NetFlow情報の補正を行う処理(ステップS705)の一例を説明する。
【0099】
NetFlow情報修正部418は、ステップS705において、ステップS703で取得したパケット統計情報とステップ704で取得したNetFlow情報内の統計情報を時刻ごとに比較して、受信したNetFlow情報が正しいか(すなわち、センサ350が動作していないので、NetFlow情報が誤っている可能性があるか)を判定する。もし、同一時刻に異なるフローに関する複数のNetFlow情報が存在する場合、それらのフローの各統計情報の合計値と比較し、判定する。
【0100】
例えば、時刻「2020/1/1 09:59」におけるパケット統計情報のパケット数4252は「3」、バイト数4253は「384」であり(図14のエントリ#1)、同時刻に取得されたNetFlow情報の合計も、パケット数4214は「3」、バイト数4215は「384」である(図13のエントリ#1)。この統計値が一致する場合、NetFlow情報修正部418はこの時刻におけるNetFlow情報が正しく、補正は不要と判定する。
【0101】
一方、時刻「2020/1/1 10:00」におけるパケット統計情報のパケット数4252は「10,000」、バイト数4253は「1,280,000」であり(図14のエントリ#2)、同時刻に取得されたNetFlow情報の合計は、パケット数4214は「5,000」、バイト数4215は「640,000」である(図13のエントリ#2からエントリ#6までのパケット数とバイト数それぞれの合計値)。前述した通り、パケット統計情報は誤差が極めて少ない統計値が期待できるが、NetFlow情報はセンサ350やコレクタ450の処理能力を超えるトラフィックのタイミングでは精度良く計測できないことがあり、この差分は、このような理由によって発生した誤差であると考えられる。このような差分が発生した場合、NetFlow情報修正部418は、NetFlow情報を補正する。
【0102】
補正の方法はいくつかあるが、例えば、パケット統計情報の統計値を、各フローに均等に配分し、均等配分された統計値を各NetFlow情報に加算して、補正後のNetFlow情報を算出してもよい。また、パケット統計情報の統計値を、NetFlow情報の統計値の比率で各フローに案分し、按分された統計値を各NetFlow情報に加算して、補正後のNetFlow情報を算出してもよい。図13の例で説明すると、時刻「2020/1/1 10:00」における5個のNetFlow情報(図13のエントリ#2からエントリ#6)は、エントリ#3のパケット数4214が2,000で、バイト数4215が256,000であり、他のエントリのパケット数4214が1,000で、バイト数4215が128,000である。このため、NetFlow情報修正部418は、同時刻のパケット統計情報の統計値であるパケット数4252「12,000」と、バイト数4253「7,680,000」を、それぞれパケット数4214及びバイト数4215の比で5個のフローに配分した値をNetFlow情報の補正値として算出する。図15は、その算出結果を補正後NetFlow情報蓄積部に格納した状態を表している。なお、前述の方法は、センサ350又はコレクタ450の性能不足等によるフロー統計情報の欠落が、各フローにおいて均等な確率で発生すると期待できる場合に効果的な推定方法の一例である。パケット統計情報の統計値から各フローの統計値を推定する方法は、上記に限定されるものではない。
【0103】
以上の処理によって、補正したNetFlow情報が補正NetFlow情報蓄積部426に格納される。第二の実施形態では、NetFlow閾値判定部415(図11では図示省略)は、NetFlow情報蓄積部421ではなく、補正NetFlow情報蓄積部426の値と閾値とを比較して、トラフィックの異常を判定する。
【0104】
なお、NetFlow情報修正部418は、パケット統計情報に基づいてNetFlow情報の修正が行われたことを管理者に通知するため、これらの通知情報を含むパケットを、ネットワークインタフェース430-2を通して管理端末500に送信してもよい。管理端末500は、ディスプレイ等の管理画面に受信した通知情報を表示する。
【0105】
以上に説明したように、本実施例によれば、フロー単位の統計情報を取得するセンサ300とその統計情報を収集して分析するコレクタ400から構成されるネットワーク監視システムにおいて、センサ300やコレクタ400の性能不足によってコレクタ400が収集するフロー単位の統計情報に誤差が含まれる場合でも、パケット単位の統計情報を併用してフロー単位の統計情報を推定して補正でき、コレクタ400が実行する分析処理におけるトラフィック異常の誤判定を抑制できる。
【0106】
以上に第二の実施形態の特有の機能について説明したが、第一の実施形態のコレクタ400と第二の実施形態のコレクタ450を組み合わせて、両方の機能を有するコレクタを構成してもよい。
【0107】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【0108】
100 監視対象のネットワーク
200 ネットワーク機器
300、350 センサ
310 メモリ
311 トラフィック受信部
312 NetFlow情報生成部
313 NetFlow情報送信部
314 死活情報生成部
315 死活情報送信部
316 MIB応答部
317 MIB要求受信/応答送信部
318 パケット統計生成部
319 パケット統計送信部
320 記憶部
321 フロー情報蓄積部
322 パケット統計蓄積部
330 ネットワークインタフェース
340 CPU
400、450 コレクタ
410 メモリ
411 NetFlow受信部
412 死活情報を死活情報受信部
413 MIB要求送信/応答受信部
414 閾値情報修正部
415 NetFlow閾値判定部
416 Syslog/Trap送信部
417 パケット統計受信部
418 NetFlow情報修正部
420 記憶部
421 NetFlow情報蓄積部
422 死活情報蓄積部
423 センサ/閾値関連情報保持部
424 閾値情報保持部
425 パケット統計蓄積部
426 補正NetFlow情報蓄積部
430 ネットワークインタフェース
440 CPU
500 管理端末
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15