JP2017103674A - パケット収集方法、パケット収集プログラム及びパケット収集装置 - Google Patents

パケット収集方法、パケット収集プログラム及びパケット収集装置 Download PDF

Info

Publication number
JP2017103674A
JP2017103674A JP2015236728A JP2015236728A JP2017103674A JP 2017103674 A JP2017103674 A JP 2017103674A JP 2015236728 A JP2015236728 A JP 2015236728A JP 2015236728 A JP2015236728 A JP 2015236728A JP 2017103674 A JP2017103674 A JP 2017103674A
Authority
JP
Japan
Prior art keywords
connection
packet
abnormality
unit
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015236728A
Other languages
English (en)
Other versions
JP6672751B2 (ja
Inventor
飯塚 史之
Fumiyuki Iizuka
史之 飯塚
祐士 野村
Yuji Nomura
祐士 野村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015236728A priority Critical patent/JP6672751B2/ja
Priority to US15/343,581 priority patent/US10305754B2/en
Publication of JP2017103674A publication Critical patent/JP2017103674A/ja
Application granted granted Critical
Publication of JP6672751B2 publication Critical patent/JP6672751B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Abstract

【課題】異常コネクションに係るパケットを、より少ない資源で収集する。【解決手段】パケット収集方法は、ネットワークからキャプチャしたパケットの各々に第1識別子を割り当て、当該パケットの各々をバッファに格納し、第1識別子の各々に、当該パケットのコネクションを特定する第2識別子を対応付け、バッファに格納したパケットの各々を解析して一次異常が生じているコネクションを検出し、一次異常が生じたコネクション毎に、当該コネクションの第2識別子が対応付けられた第1識別子が割り当てられたパケットのグループを第1記憶領域に記憶し、サンプリング期間にキャプチャしたパケットの解析結果に関する統計値に基づき、二次異常が生じているコネクションを検出し、第1記憶領域に記憶されたグループのうち、二次異常が生じたコネクションに係るグループを第2記憶領域に書き込む処理を含む。【選択図】図25

Description

本発明は、ネットワークからキャプチャしたPDU(Protocol Data Unit)の収集技術に関する。
ある特許文献には、スイッチを通過するパケットをミラーリングによってキャプチャし、ネットワークの状態を監視するネットワーク監視装置が開示されている。
このネットワーク監視装置は、キャプチャしたパケットの各々に対して、ISO(International Organization for Standardization)のOSI(Open Systems Interconnection)参照モデルにおける第4層(以下、L4という。)に関する解析を行い、L4の解析で異常であると判定されたコネクションに係るパケットを収集する。
しかし、このように異常コネクションに係るパケットを収集するためには、多くの資源を要する。仮に不要なパケットも記憶すると、記憶領域を無駄遣いすることになる。
特開2006−261804号公報 特開2015−95785号公報 特開2015−115842号公報
本発明の目的は、一側面では、異常コネクションに係るパケットを、より少ない資源で収集することである。
一態様に係るパケット収集方法は、(A)ネットワークからキャプチャしたパケットの各々に第1識別子を割り当てると共に、当該パケットの各々をバッファに格納し、(B)第1識別子の各々に、当該第1識別子に係るパケットのコネクションを特定する第2識別子を対応付け、(C)バッファに格納したパケットの各々を解析して一次異常が生じているコネクションを検出し、(D)一次異常が生じたコネクション毎に、当該コネクションの第2識別子が対応付けられた第1識別子が割り当てられたパケットのグループを第1記憶領域に記憶し、(E)サンプリング期間にキャプチャしたパケットの解析結果に関する統計値に基づき、二次異常が生じているコネクションを検出し、(F)第1記憶領域に記憶されたグループのうち、二次異常が生じたコネクションに係るグループを第2記憶領域に書き込む処理を含む。
一側面としては、異常コネクションに係るパケットを、より少ない資源で収集することができる。
図1は、バッファリングの例を示す図である。 図2は、一次異常が発生する例を示す図である。 図3は、オブジェクトを生成する例を示す図である。 図4は、オブジェクトを生成する例を示す図である。 図5は、二次異常が発生する例を示す図である。 図6は、一次異常が発生し、二次異常が発生しない例を示す図である。 図7は、一次異常が発生しない例を示す図である。 図8は、ネットワーク監視システムの構成例を示す図である。 図9は、コネクションテーブルの例を示す図である。 図10は、インデックステーブルの例を示す図である。 図11は、一次異常テーブルの例を示す図である。 図12は、テーブルリスト及び二次異常テーブルの例を示す図である。 図13は、割り当て処理フローを示す図である。 図14は、解析部のモジュール構成例を示す図である。 図15は、解析処理フローを示す図である。 図16は、解析処理フローを示す図である。 図17Aは、一次異常登録処理フローを示す図である。 図17Bは、一次異常登録処理フローを示す図である。 図18は、格納処理部のモジュール構成例を示す図である。 図19は、オブジェクトの構成例を示す図である。 図20は、メタデータの例を示す図である。 図21は、収集データの例を示す図である。 図22は、生成処理フローを示す図である。 図23は、分別処理フローを示す図である。 図24は、統計部のモジュール構成例を示す図である。 図25は、統計処理フローを示す図である。 図26は、保存データの例を示す図である。 図27Aは、書き込み処理フローを示す図である。 図27Bは、書き込み処理フローを示す図である。 図28は、コンピュータの機能ブロック図である。
本実施の形態に係るネットワーク監視装置は、監視対象ネットワークで伝送されるパケットをキャプチャし、バッファリングする。図1に、バッファリングの例を示す。横軸は、パケットをキャプチャした受信時刻を示している。この例は、パケットA乃至パケットNがキャプチャされる様子を示している。時刻Ta乃至時刻Tnは、パケットA乃至パケットNの受信時刻である。
キャプチャされたパケットは、ネットワーク監視装置のパケットバッファに格納される。この例では、パケットLをキャプチャした時刻Tlに、パケットLがパケットバッファに格納される。このとき、パケットバッファには、パケットA乃至パケットLが格納されている。
次に、パケットMをキャプチャした時刻Tmに、パケットMがパケットバッファに格納される。このとき、パケットバッファの容量を超えるので、最も古いパケットAが削除される。
次に、パケットNをキャプチャした時刻Tnに、パケットNがパケットバッファに格納される。このとき、パケットバッファの容量を超えるので、最も古いパケットBが削除される。このように、パケットバッファの容量を超える場合には、最も古いパケットが破棄される。
図2に、パケットバッファに格納されているパケットとコネクションの関係を示す。図示したパケットのうち、パケットA、パケットC、パケットG、パケットI、パケットL、パケットN、パケットQ及びパケットSは、コネクションXに係るパケットである。同じく、パケットB、パケットH、パケットM及びパケットRは、コネクションYに係るパケットである。
コネクションは、パケットのヘッダに含まれる送信元IP(Internet Protocol)アドレス、送信元ポート番号、送信先IPアドレス及び送信先ポート番号によって特定される。
そして、本実施の形態では、各パケットについてL4解析を行う。L4解析は、L4に関する解析である。L4解析によって、例えばロス増加、RTT(Round Trip Time)増加又はサーバ遅延増加などの異常が生じたコネクションが検出される。本実施の形態では、L4解析によって検出された異常を、一次異常ということがある。
この例では、コネクションYに係るパケットについては、いずれもL4解析において異常は検出されない。また、コネクションXに係るパケットのうちパケットA乃至パケットLについては、いずれもL4解析において異常は検出されない。但し、同じくパケットN乃至パケットSについては、いずれもL4解析において異常が検出される。
本実施の形態では、L4解析で異常が検出されたパケットが収集され、これらのパケットを含むオブジェクトが生成される。これらのパケットは、事後的にコネクションの異常を分析する際に用いられる。
図3及び図4に、オブジェクトを生成する例を示す。図2に示したように時刻TlにキャプチャしたパケットLに対するL4解析結果は、正常である。L4解析結果が正常であれば、当該パケットを含むオブジェクトは生成されない。
同じく時刻TmにキャプチャしたパケットMに対するL4解析結果も正常であるので、オブジェクトは生成されない。
一方、時刻TnにキャプチャしたパケットNに対するL4解析結果は、異常である。パケットNによって特定されるコネクションXが、一次異常コネクションとして登録される。そして、一次異常コネクションであるコネクションXに関するオブジェクトが生成される。このオブジェクトには、コネクションXに係るパケットが順次加えられる。このように、オブジェクトは、一次異常コネクション毎に生成され、一次異常コネクションに係るパケットをグループとしてまとめる。
図示するように、パケットNよりも前にキャプチャされたパケットCがオブジェクトに加えられる。つまり、一次異常を検出したパケットから遡って同じコネクションに係るパケットが記録される。このように、異常が発生した時点よりも前のパケットを保存すれば、異常の前兆を分析することができる。尚、遡る時間を、以下では所定時間或いは遅延時間ということがある。
図4の説明に移る。時刻TqにキャプチャしたパケットQに対するL4解析結果も、異常である。前述の通り、所定時間だけ遡ってパケットGがオブジェクトに加えられる。
時刻TrにキャプチャしたパケットRに対するL4解析結果は、正常であるので、オブジェクトは生成されない。
時刻TsにキャプチャしたパケットSに対するL4解析結果は、異常である。前述の通り、所定時間だけ遡ってパケットIがオブジェクトに加えられる。
この後も、最後に異常が検出されたパケットSがオブジェクトに加えられるまで、コネクションXを一次異常コネクションとして管理する。そして、パケットSがオブジェクトに加えられると、コネクションXは一次異常コネクションから外される。このようにすれば、一次異常が発生したパケットを残らずオブジェクトに含めることができる。
上述したオブジェクトは、一時的にメモリ領域に設けられる。次に、メモリ領域に生成されたオブジェクトを、保存領域に書き込む動作について説明する。
本実施の形態では、L4解析処理とは別にL4統計処理を行う。L4統計処理は、周期的に行われる。L4統計処理では、周期をサンプリング期間として、同じコネクションに係るパケットについて、送受信パケット数及びバイト数、パケットのロス数、RTT等の統計処理を行う。本実施の形態では、L4統計処理によって検出される異常を、二次異常ということがある。二次異常を検出した場合に、当該二次異常を起こしたコネクションに関するオブジェクトを保存領域に書き込む。
図5に、二次異常が発生する例を示す。この例では、L4統計処理の周期は、1分である。具体的には、10:00:00、10:01:00及び10:02:00に、L4統計処理が行われる。
10:00:00におけるL4統計処理で、異常は検出されない。その後、図2乃至図4に示したように、コネクションXに係るパケットのうちパケットN乃至パケットSにおいて一次異常が発生する。上述した通り、パケットNが一次異常となった時点で、パケットCを含むコネクションXのオブジェクトが生成される。パケットNは、遅延時間だけ経過した時点でオブジェクトに加えられる。
10:01:00におけるL4統計処理で、コネクションXに関する異常が検出される。但し、二次異常を検出した時点では、未だオブジェクトを書き込まない。10:01:00にキャプチャされたパケットOがオブジェクトに加えられた時点で、オブジェクトを書き込む。つまり、L4統計処理から遅延時間だけ経過した後に、オブジェクトの書き込みを行う。
このように、オブジェクトは周期単位で書き込まれる。この例では、10:00:00乃至10:01:00の周期に対応する、コネクションXのオブジェクトを、オブジェクトX1と記す。10:01:00乃至10:02:00の周期に対応する、コネクションXのオブジェクトを、オブジェクトX2と記す。
10:02:00におけるL4統計処理でも、コネクションXに関する異常が検出される。そして、同様に遅延時間が経過した時点で、コネクションXのオブジェクトX2の書き込みが行われる。
尚、保存領域に対するオブジェクトの書き込みが済むと、メモリ領域の当該オブジェクトは消去される。この例では、オブジェクトX1の書き込みが行われた時点でメモリ領域のオブジェクトX1は消される。そして、新たにオブジェクトX2が生成される。オブジェクトX2の書き込みが行われた時点でメモリ領域のオブジェクトX2は消される。このようにすれば、メモリ領域の容量は少なくて済む。
図6に、一次異常が発生し、二次異常が発生しない例を示す。本実施の形態では、二次異常が発生しなければ、オブジェクトの書き込みを行わない。
図5の場合と同様に、コネクションXに係るパケットに関して一次異常が検出される。但し、10:01:00におけるL4統計処理で、コネクションXについて二次異常が検出されない。L4解析処理における異常が誤りであれば、L4統計処理において同じコネクションに関して異常が検出されないことがある。
L4統計処理におけるサンプル数が、L4解析処理におけるサンプル数よりも多ければ、このような現象が生じることがある。また、L4統計処理における判定の種類や基準が、L4解析処理における判定の種類や基準と異なる場合にも、このような現象が生じることがある。この例では、L4統計処理による異常判定の確度の方が、L4解析処理による異常判定の確度よりも高いものと想定する。そして、二次異常が生じたコネクションに関して、事後的な分析を行うことを想定する。従って、一次異常のみに係るコネクションについてのオブジェクトは、不要であるものとする。
図示したように、10:01:00におけるL4統計処理においてコネクションXは正常であると判定される。従って、遅延時間が経過した時点でオブジェクトX1の書き込みは行われない。そして、メモリ領域のオブジェクトX1は、そのまま破棄される。
同じく10:02:00におけるL4統計処理においてもコネクションXは正常であると判定される。この場合も、遅延時間が経過した時点でオブジェクトX2の書き込みは行われない。そして、メモリ領域のオブジェクトX2も、そのまま破棄される。
このようにすれば、メモリ領域及び保存領域の使用量が抑制される。
次に、一次異常が発生しない場合について説明する。図7に、一次異常が発生しない例を示す。図2に示したように、コネクションYに係るパケットについてはL4解析において異常が検出されない。従って、コネクションYに関するオブジェクトは、生成されない。
また、10:01:00におけるL4統計処理によってコネクションYに関する異常は検出されない。従って、10:01:00から遅延時間だけ経過した時点で、コネクションYに関する処理は行われない。
同じく10:02:00におけるL4統計処理によってコネクションYに関する異常は検出されない。同じく、10:01:00から遅延時間だけ経過した時点で、コネクションYに関する処理は行われない。
このようにすれば、メモリ領域の使用量が抑制される。以上で、本実施の形態における概要の説明を終える。
図8に、ネットワーク監視システムの構成例を示す。ネットワーク監視装置801は、ネットワークタップ805を介して監視対象ネットワーク803に接続している。監視対象ネットワーク803は、例えばLAN(Local Area Network)である。ネットワーク監視装置801は、監視対象ネットワーク803で伝送されているパケットをキャプチャする。例えば、監視対象ネットワーク803のスイッチを通過するパケットをミラーポートに複製してキャプチャする。あるいは、タップを使用してキャプチャするようにしてもよい。尚、パケットは、PDUの例である。
ネットワーク監視装置801は、NIC(Network Interface Card)811、ドライバ813、パケットバッファ815、解析部817、統計部819、コネクションテーブル記憶部821、インデックスバッファ823、一次異常記憶部825、格納処理部827及び二次異常記憶部829を有している。
NIC811は、ネットワークに接続するためのインターフェースカードである。ドライバ813は、パケットを抽出し、抽出したパケットをパケットバッファ815に格納すると共に、抽出したパケットに識別子(ID)を割り当てる。パケットバッファ815は、パケットを格納する。
解析部817は、主にパケットを解析し、異常が発生したコネクションを特定するとともに、パケットをコネクション毎に分別するためのインデックスレコードを生成する。インデックスレコードを設けることによって、パケットを収集する処理の負荷が軽減される。解析部817は、L4解析部831とL7解析部833とを有している。L4解析部831は、ISOのOSI参照モデルにおける第4層に関する解析を行う。L7解析部833は、ISOのOSI参照モデルにおける第7層(以下、L7という。)に関する解析を行う。
統計部819は、解析結果に基づき統計処理を行う。統計部819は、L4統計部835とL7統計部837とを有している。L4統計部835は、L4に関する統計処理を行う。具体的には、L4統計部835は、送受信パケット数及びバイト数、パケットのロス数、RTT等の統計値によりネットワーク状態を診断する。L7統計部837は、L7に関する統計処理を行う。
コネクションテーブル記憶部821は、パケットから抽出したコネクションに関するコネクションテーブルを記憶する。インデックスバッファ823は、パケットとコネクションとを対応付けるインデックステーブルを記憶する。インデックステーブルは、例えばリングバッファ形式でインデックスレコードを管理する。一次異常記憶部825は、一次異常が発生しているコネクションを特定するための一次異常テーブルを記憶する。二次異常記憶部829は、二次異常が発生しているコネクションを特定するための二次異常テーブル及び二次異常テーブルを管理するテーブルリストを記憶する。
ネットワーク監視装置801は、伝送ネットワーク807を介してストレージ装置809に接続している。ストレージ装置809は、統計データ記憶部841と保存データ記憶部843とを有している。統計データ記憶部841は、統計部819における統計処理の結果を記憶する。保存データ記憶部843は、ネットワーク監視装置801から送られる保存データを記憶する。伝送ネットワーク807は、監視対象ネットワーク803と同じネットワークであってもよい。
上述したドライバ813、解析部817、統計部819、格納処理部827、L4解析部831、L7解析部833、L4統計部835及びL7統計部837は、ハードウエア資源(例えば、図28)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述したパケットバッファ815、コネクションテーブル記憶部821、インデックスバッファ823、一次異常記憶部825及び二次異常記憶部829は、ハードウエア資源(例えば、図28)を用いて実現される。
次に、コネクションテーブルについて説明する。図9に、コネクションテーブルの例を示す。コネクションテーブルには、コネクション毎に、コネクションを定義するデータが設定されている。
コネクションテーブルは、コネクション毎のレコードを有している。レコードは、コネクションIDを設定するためのフィールドと、送信元IPアドレスを設定するためのフィールドと、送信元ポート番号を設定するためのフィールドと、送信先IPアドレスを設定するためのフィールドと、送信先ポート番号を設定するためのフィールドと、プロトコル番号を設定するためのフィールドとを有している。
コネクションIDは、コネクションを特定するための識別子である。送信元IPアドレスは、当該パケットの送信元であるホスト装置のIPアドレスである。送信元ポート番号は、当該パケットの送信元であるホスト装置において当該パケットを送出するポートの番号である。送信先IPアドレスは、当該パケットの送信先に相当するホスト装置のIPアドレスである。送信先ポート番号は、当該パケットの送信先に相当するホスト装置において当該パケットを受け入れるポートの番号である。プロトコル番号は、ISOのOSI参照モデルにおける第4層のプロトコルを識別する番号である。プロトコル番号「6」は、TCP(Transmission Control Protocol)を示し、プロトコル番号「17」は、UDP(User Datagram Protocol)を示している。
この例における第1レコードは、コネクションID「CN−0001」が割り振られたコネクションについて、IPアドレス「10.20.30.40」のホスト装置におけるポート番号「2000」が送信元に相当し、IPアドレス「10.20.30.50」のホスト装置におけるポート番号「20」が送信先に相当することを示している。また、第1レコードは、このコネクションにおける第4層のプロトコルが、TCPであることも示している。
この例における第2レコードは、コネクションID「CN−0002」が割り振られたコネクションについて、IPアドレス「20.30.40.50」のホスト装置におけるポート番号「3000」が送信元に相当し、IPアドレス「10.20.30.60」のホスト装置におけるポート番号「80」が送信先に相当することを示している。また、第2レコードは、このコネクションにおける第4層のプロトコルが、TCPであることも示している。
この例における第3レコードは、コネクションID「CN−0003」が割り振られたコネクションについて、IPアドレス「30.40.50.60」のホスト装置におけるポート番号「4000」が送信元に相当し、IPアドレス「40.50.60.70」のホスト装置におけるポート番号「3000」が送信先に相当することを示している。また、第3レコードは、このコネクションにおける第4層のプロトコルが、UDPであることも示している。
次に、インデックステーブルについて説明する。図10に、インデックステーブルの例を示す。インデックステーブルは、ヘッダ部を有している。ヘッダ部には、ライトポインタを設定するためのフィールドと、リードポインタを設定するためのフィールドとが設けられている。ライトポインタは、書き込まれるインデックスレコードを特定する。リードポインタは、読み取られるインデックスレコードを特定する。
インデックステーブルのデータ本体は、パケット毎のインデックスレコードを有している。レコードは、パケットIDを設定するためのフィールドと、コネクションIDを設定するためのフィールドと、受信日時を設定するためのフィールドとを有している。パケットIDは、キャプチャされたパケットにシーケンシャルに付与される識別子である。コネクションIDは、パケットのヘッダによって特定されるコネクションを識別する。受信日時は、キャプチャした時点を特定する。これらのインデックスレコードは、最後のインデックスレコードの次に最初のインデックスレコードへ続くように環状で管理される。
この例は、次に7番目のインデックスレコードに新たなデータが設定される状態を示している。同じく、次に5番目のインデックスレコードに設定されているデータが読み取られる状態を示している。
次に、一次異常テーブルについて説明する。図11に、一次異常テーブルの例を示す。この例で、一次異常テーブルは、例えばロス増加、RTT増加又はサーバ遅延増加などの異常が発生しているコネクション毎のレコードを有している。レコードは、一次異常が発生しているコネクションに係るコネクションIDを設定するためのフィールドと、最終日時を設定するためのフィールドとを有している。最終日時は、当該コネクションにおける一次異常が最後に検出された時点を特定する。
この例における第1レコードは、コネクションID「CN−0001」で特定されるコネクションにおいて一次異常が発生し、最後に一次異常が検出された時点が4月1日の10時00分00.000秒であることを示している。
同様にこの例における第2レコードは、コネクションID「CN−0004」で特定されるコネクションにおいても一次異常が発生し、最後に一次異常が検出された時点が4月1日の10時00分01.000秒であることを示している。
次に、テーブルリスト及び二次異常テーブルについて説明する。図12に、テーブルリスト及び二次異常テーブルの例を示す。二次異常テーブルは、各周期において生成される。テーブルリストは、各周期における二次異常テーブルに対応するレコードを有している。テーブルポインタは、当該二次異常テーブルの格納位置を特定する。二次異常テーブルには、当該周期におけるL4統計処理で二次異常を検出したコネクションのIDが設定される
以下、ネットワーク監視装置801における処理について説明する。まず、ドライバ813による割り当て処理について説明する。図13に、割り当て処理フローを示す。ドライバ813は、監視対象ネットワーク803からキャプチャしたパケットの各々にパケットIDを割り当てると共に、受信日時を付して当該パケットの各々をパケットバッファ815に格納する。
具体的には、ドライバ813は、待機して、NIC811からパケットを受ける(S1301)。NIC811からパケットを受けると、ドライバ813は受けたパケットにパケットIDを割り当てる(S1303)。パケットIDは、シーケンシャルに割り当てられる。そして、ドライバ813は、受信日時を付してパケットをパケットバッファ815に格納する(S1305)。また、ドライバ813は、パケットIDとパケットヘッダのアドレスと受信日時とを含む通知を解析部817に渡す(S1307)。そして、S1301の処理に戻る。
次に、解析部817のモジュール構成について説明する。図14に、解析部817のモジュール構成例を示す。解析部817は、L4解析部831とL7解析部833との他に、記憶部1401、受付部1403、コネクションテーブル生成部1405、インデックス生成部1407及び第1登録部1409を有している。
記憶部1401は、解析部817の内部で用いるデータを記憶する。受付部1403は、ドライバ813から通知を受け付ける。コネクションテーブル生成部1405は、コネクションテーブルを生成する。インデックス生成部1407は、インデックステーブルを生成する。第1登録部1409は、一次異常テーブルに一次異常コネクションを登録する。
上述した受付部1403、コネクションテーブル生成部1405、インデックス生成部1407及び第1登録部1409は、ハードウエア資源(例えば、図28)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した記憶部1401は、ハードウエア資源(例えば、図28)を用いて実現される。
次に、解析部817による解析処理について説明する。図15及び図16に、解析処理フローを示す。受付部1403がドライバ813から通知を受けると(S1501)、インデックス生成部1407は、通知から得られるパケットIDと受信日時とを、ライトポインタが指すインデックスレコードに書く(S1503)。尚、インデックス生成部1407は、パケットバッファ815においてパケットに付されている受信日時を読み取るようにしてもよい。
L4解析部831は、通知に含まれるアドレスによってパケットヘッダを特定する(S1505)。L4解析部831は、当該パケットのプロトコルが所定のプロトコルに該当するか否かを判定する(S1507)。所定のプロトコルは、例えばTCP及びUDPである。所定のプロトコルは、例えば記憶部1401に記憶されるプロトコルテーブルに設定されるようにしてもよい。当該パケットのプロトコルが所定のプロトコルに該当しないと判定した場合には、端子Bを介して図16のS1517の処理に移る。このとき、新しいレコードにおけるコネクションIDのフィールドは、未設定のままである。
一方、当該パケットのプロトコルが所定のプロトコルに該当すると判定した場合には、L4解析部831は、パケットヘッダからコネクションデータを抽出する(S1509)。コネクションデータには、送信元IPアドレス、送信元ポート番号、送信先IPアドレス、送信先ポート番号及びプロトコル番号が含まれる。コネクションテーブル生成部1405は、コネクションデータが既にコネクションテーブルに登録されているか否かを判定する(S1511)。コネクションデータが既にコネクションテーブルに登録されていると判定した場合には、端子Aを介して図16のS1515の処理に移る。
コネクションデータが未だコネクションテーブルに登録されていないと判定した場合には、コネクションテーブル生成部1405は、コネクションテーブルにレコードを追加する(S1513)。新たなレコードには、新たなコネクションIDと当該コネクションデータが設定される。具体的には、コネクションID、送信元IPアドレス、送信元ポート番号、送信先IPアドレス、送信先ポート番号及びプロトコル番号が設定される。S1513の処理を終えると、端子Aを介して図16のS1515の処理に移る。
図16の処理に移って、インデックス生成部1407は、当該インデックスレコードにコネクションIDを書く(S1515)。コネクションIDは、コネクションテーブルに基づいて特定される。
インデックス生成部1407は、ライトポインタに1を加える(S1517)。ライトポインタが最終のレコード番号を指している場合には、インデックス生成部1407は、ライトポインタを先頭のレコード番号に戻す。
続いて、L4解析部831は、L4解析処理を実行する(S1519)。L4解析処理において、L4解析部831は、異常が生じているコネクションを検出する。この例のL4解析部831は、ロス増加が生じたコネクション、RTT増加が生じたコネクション及びサーバ遅延増加が生じたコネクションを検出する。L4解析部831は、検出結果として異常が生じているコネクションのIDを出力する。L4解析処理は、従来の処理と同様であるので、これ以上説明しない。
第1登録部1409は、一次異常登録処理を実行する(S1521)。図17A及び図17Bに、一次異常登録処理フローを示す。第1登録部1409は、一次異常テーブルに一次異常コネクションが登録されているか否かを判定する(S1701)一次異常テーブルに一次異常コネクションが登録されていないと判定した場合には、端子Dを介して図17BのS1711に示した処理に移る。
一方、一次異常テーブルに一次異常コネクションが登録されていると判定した場合には、第1登録部1409は、一次異常テーブルに登録されている一次異常コネクションのうち、未処理の一次異常コネクションを1つ特定する(S1703)。第1登録部1409は、一次異常テーブルに設定されているコネクションIDを順次特定するようにしてもよい。
第1登録部1409は、最終日時(当該一次異常が最後に検出された日時)から所定時間(遅延時間に相当する。)が経過したか否かを判定する(S1705)。
最終日時から所定時間が経過したと判定した場合には、第1登録部1409は、当該一次異常コネクションをクリアする(S1707)。具体的には、一次異常テーブルのレコードにおける各フィールドを未設定の状態にする。そして、S1709に示した処理に移る。
一方、最終日時から所定時間が経過していないと判定した場合には、そのままS1709の処理に移る。
第1登録部1409は、未処理の一次異常コネクションがあるか否かを判定する(S1709)。未処理の一次異常コネクションがあると判定した場合には、S1703に戻って、第1登録部1409は、上述した処理を繰り返す。
未処理の一次異常コネクションがないと判定した場合には、端子Dを介して図17BのS1711に示した処理に移る。
図17Bの説明に移る。図15のS1519に示したL4解析処理において一次異常コネクションを検出したか否かを判定する(S1711)。一次異常コネクションを検出していないと判定した場合には、そのまま一次異常登録処理を終える。
一方、一次異常コネクションを検出したと判定した場合には、第1登録部1409は、検出された一次異常コネクションが登録されているか否かを判定する(S1713)。第1登録部1409は、一次異常コネクションのIDが既に一次異常テーブルに設定されている場合に、当該一次異常コネクションが登録されていると判定する。当該一次異常コネクションが登録されていると判定した場合には、S1717に示した処理に移る。
当該一次異常コネクションが登録されていないと判定した場合には、第1登録部1409は、当該一次異常コネクションを一次異常テーブルに登録する(S1715)。具体的には、第1登録部1409は、一次異常テーブルにおいて未設定のレコードを特定し、当該レコードに当該一次異常コネクションのIDを設定する。
第1登録部1409は、当該レコードの最終日時を更新する(S1717)。具体的には、更に、第1登録部1409は、当該レコードの最終日時のフィールドに、当日の日付と現在時刻とを設定する。そして、一次異常登録処理を終え、図16に示したS1523の処理に移る。
図16の説明に戻る。L7解析部833は、L7解析処理を実行する(S1523)。L7解析処理は、従来の処理と同様であるので、これ以上説明しない。
図16に示した処理を終えると、端子Cを介して図15に示したS1501の処理に戻って、上述した処理を繰り返す。
続いて、格納処理部827について説明する。図18に、格納処理部827のモジュール構成例を示す。格納処理部827は、生成部1800、オブジェクト記憶部1807及び書き込み部1811を有している。生成部1800は、オブジェクトを生成する。生成部1800は、読み込み部1801、記憶部1803及び分別部1805を有している。読み込み部1801は、インデックスバッファ823からインデックスを読み込む。記憶部1803は、読み込まれたインデックスを一時的に記憶する。分別部1805は、インデックスに基づいて、パケットを分別する。
オブジェクト記憶部1807は、オブジェクト(収集データ及び収集データに関するメタデータ)を記憶する。書き込み部1811は、保存データ(テーブルリスト、二次異常テーブル及びオブジェクト)を保存データ記憶部843に書き込む。
上述した読み込み部1801、分別部1805及び書き込み部1811は、ハードウエア資源(例えば、図28)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した記憶部1803及びオブジェクト記憶部1807は、ハードウエア資源(例えば、図28)を用いて実現される。
次に、オブジェクト記憶部1807に記憶されるオブジェクトについて説明する。図19に、オブジェクトの構成例を示す。この例におけるオブジェクト1901は、メタデータ1903と収集データ1905とを含んでいる。収集データ1905は、分別されたパケットを収集したデータである。メタデータ1903は、分別のキーとなったコネクションに関するデータ及び収集データ1905に関するデータを含んでいる。
図20に、メタデータ1903の例を示す。メタデータ1903は、収集データ1905に対応付けて設けられる。メタデータ1903は、ヘッダ部とテーブル部とを有している。
ヘッダ部には、コネクションIDを設定するためのフィールドと、コネクションデータを設定するためのフィールドとが設けられている。コネクションデータを設定するためのフィールドには、送信元IPアドレスを設定するためのフィールドと、送信元ポート番号を設定するためのフィールドと、送信先IPアドレスを設定するためのフィールドと、送信先ポート番号を設定するためのフィールドと、プロトコル番号を設定するためのフィールドとが含まれている。
この例のヘッダ部は、このメタデータ1903が、コネクションID「CN−0001」のコネクションに係るパケットの収集データ1905に対応することを示している。また、この例のヘッダ部は、このコネクションについて、IPアドレス「10.20.30.40」のホスト装置におけるポート番号「2000」が送信元に相当し、IPアドレス「10.20.30.50」のホスト装置におけるポート番号「20」が送信先に相当することを示している。また、この例のヘッダ部は、このコネクションにおける第4層のプロトコルは、TCPであることも示している。
テーブル部には、収集データ1905に含まれるパケット毎のレコードが設けられている。レコードには、パケットIDを設定するためのフィールドと、オフセットを設定するためのフィールドとが設けられている。この例のテーブル部において、1番目のパケットは、パケットID「PC−000001」で特定され、オフセット「0」を先頭に格納されている。2番目のパケットは、パケットID「PC−000006」で特定され、オフセット「624」を先頭に格納されている。
図21に、収集データ1905の例を示す。この例における収集データ1905は、同じコネクションに係るパケットを連結している。収集データ1905は、コネクションID「CN−0001」に係るパケットを3個連結している。1番目のパケットの先頭オフセットが「0」であり、2番目のパケットの先頭オフセットが「624」である。
次に、生成部1800による生成処理について説明する。図22に、生成処理フローを示す。読み込み部1801は、インデックステーブルにおいて、リードポインタが指すインデックスレコードを特定する(S2201)。読み込み部1801は、インデックスレコードに設定されている受信日時から所定時間(遅延時間に相当する。)を経過しているか否かを判定する(S2203)。
受信日時から所定時間を経過していないと判定した場合には、読み込み部1801は、受信日時から所定時間だけ経過するタイミングを待つ(S2205)。そして、当該タイミングに至ると、S2201に示した処理に移る。
一方、受信日時から所定時間を経過していると判定した場合には、読み込み部1801は、インデックスレコードをリードして(S2207)、リードポインタに1を加える(S2209)。リードポインタが最終のレコード番号を指している場合には、読み込み部1801は、リードポインタを先頭のレコード番号に戻す。
分別部1805は、インデックスレコードに設定されているコネクションIDが、一次異常コネクションに該当するか否かを判定する(S2211)。具体的には、分別部1805は、当該コネクションIDが、一次異常テーブルに設定されているいずれかの一次異常コネクションのIDと一致する場合に、一次異常コネクションに該当すると判定する。
当該コネクションIDが一次異常コネクションに該当しないと判定した場合には、S2201に示した処理に戻って上述した処理を繰り返す。
一方、当該コネクションIDが一次異常コネクションに該当すると判定した場合には、分別部1805は、分別処理を実行する(S2213)。
図23に、分別処理フローを示す。分別部1805は、インデックスレコードに設定されているパケットIDで特定されるパケットをパケットバッファ815から取得する(S2301)。更に、分別部1805は、インデックスレコードのコネクションIDを読む(S2303)。
分別部1805は、当該コネクションIDに相当するメタデータ1903が設定済みであるか否かを判定する(S2305)。具体的には、分別部1805は、オブジェクト記憶部1807に記憶されているメタデータ1903のいずれかに当該コネクションIDが設定されているか否かを判定する。
当該コネクションIDに相当するメタデータ1903が設定されていないと判定した場合に、分別部1805は、まずオブジェクト記憶部1807に新たな収集データ1905の予約領域を設定し、その領域の先頭に当該パケットを格納する(S2307)。
続いて、分別部1805は、オブジェクト記憶部1807に当該収集データ1905のメタデータ1903を生成する。メタデータ1903のヘッダ部には、当該コネクションIDと、コネクションテーブルから取得されたコネクションデータが設定される。また、分別部1805は、メタデータ1903のテーブル部に最初のレコードを設定する(S2309)。レコードには、パケットIDと当該パケットの先頭を指すオフセットとが設定される。分別処理を終えると、生成処理に復帰する。
一方、S2305に示した処理において、当該コネクションIDに相当するメタデータ1903が設定されていると判定した場合には、既に当該コネクションIDに係る収集データ1905とメタデータ1903が存在する。この場合、分別部1805は、既存の収集データ1905の予約領域にパケットを追加する(S2311)。また、既存のメタデータ1903のテーブル部にレコードを追加する(S2313)。レコードには、パケットIDと当該パケットの先頭を指すオフセットとが設定される。分別処理を終えると、生成処理に復帰する。
書き込み部1811について説明する前に、統計部819について説明する。図24に、統計部819のモジュール構成例を示す。統計部819は、L4統計部835とL7統計部837との他に、制御部2401、第2登録部2403及び記憶部2405を有している。
制御部2401は、統計部819における制御を行う。第2登録部2403は、二次異常コネクションを二次異常テーブルに登録する。記憶部2405は、統計部819の内部で用いるデータを記憶する。
上述した制御部2401及び第2登録部2403は、ハードウエア資源(例えば、図28)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した記憶部2405は、ハードウエア資源(例えば、図28)を用いて実現される。
統計部819による統計処理について説明する。図25に、統計処理フローを示す。制御部2401は、L4統計処理のタイミングを待つ(S2501)。つまり、制御部2401は、周期に相当する時間の経過を待つ。L4統計部835は、L4統計処理を実行する(S2503)。L4統計処理では、前回のL4統計処理の時点以降にキャプチャしたパケットをサンプルとして、送受信パケット数及びバイト数、パケットのロス数、RTT等の統計値によりネットワーク状態を診断する。尚、各パケットに対する解析結果は、L4解析部831から得られる。L4統計処理では、各パケットに対する解析結果を統計的に処理し、統計値に基づいてより確度の高い異常判定を行う。
第2登録部2403は、当該周期に対応する二次異常テーブルを生成する(S2505)。上述したように、周期毎に二次異常テーブルが設けられる。
第2登録部2403は、一次異常テーブルに設定されている一次異常コネクションを1つ特定する(S2507)。尚、一次異常テーブルに一次異常コネクションが設定されていない場合には、そのままS2515に示した処理に移る。
第2登録部2403は、当該一次異常コネクションがL4統計処理において異常と判定されたか否かによって処理を分岐させる(S2509)。当該一次異常コネクションがL4統計処理において異常と判定されていない場合には、S2513に示した処理に移る。
一方、当該一次異常コネクションがL4統計処理においても異常と判定されている場合には、第2登録部2403は、当該一次異常コネクションを二次異常コネクションとして二次異常テーブルに登録する(S2511)。
第2登録部2403は、未処理の一次異常コネクションがあるか否かを判定する(S2513)。未処理の一次異常コネクションがあると判定した場合には、S2507に示した処理に戻って、上述した処理を繰り返す。
一方、未処理の一次異常コネクションがないと判定した場合には、第2登録部2403は、二次異常テーブルをテーブルリストの管理対象に加える(S2515)。具体的には、第2登録部2403は、テーブルリストの新たなレコードに、L4統計処理の日時と、二次異常テーブルのアドレスを設定する。L4統計処理の日時は、周期を特定する。但し、L4統計処理の日時に代えて、周期番号によって周期を特定するようにしてもよい。
L7統計部837は、L7統計処理を実行する(S2517)。L7統計処理は、従来技術と同様であるので、説明を省く。そして、S2501に示した処理に戻る。以上で、統計処理についての説明を終える。
最後に、書き込み部1811について説明する。図26に、書き込み部1811によって書き込まれる保存データの例を示す。保存データには、図12に例示したテーブルリスト及び二次異常テーブルが含まれる。但し、テーブルポインタは、書き換えられる場合もある。また、二次異常テーブルには、二次異常コネクションのオブジェクト1901の格納位置を特定するオブジェクトポインタのためのフィールドが付加される。図示したように、保存データは、各周期における二次異常コネクションに関するオブジェクト1901も含んでいる。
図27A及び図27Bに、書き込み処理フローを示す。書き込み部1811は、未だ特定対象となっていないL4統計処理の時点を特定する。具体的には、書き込み部1811は、現在から所定時間(遅延時間に相当する)だけ遡った時以後に行われたL4統計処理の時点を特定する(S2701)。
そして、書き込み部1811は、L4統計処理の時点から上記所定時間だけ経過するまで待つ(S2703)。
L4統計処理の時点から上記所定時間だけ経過すると、書き込み部1811は、更に、インデックステーブルにおけるリードポインタが指すインデックスレコードに設定されている受信日時がL4統計処理の時点を超えたか否かを判定する(S2705)。
当該受信日時がL4統計処理の時点を超えていないと判定した場合には、S2705に示した処理を繰り返す。
当該受信日時がL4統計処理の時点を超えたと判定した場合には、書き込み部1811は、オブジェクト記憶部1807に記憶しているテーブルリストと二次異常テーブルとを保存データ記憶部843に書き込む(S2707)。このとき、書き込み部1811は、更新された内容のみを書き込むようにしてもよい。
端子Eを介して、図27BのS2709に示した処理に移る。書き込み部1811は、オブジェクト記憶部1807に記憶されているオブジェクト1901を1つ特定する(S2709)。
書き込み部1811は、特定されたオブジェクト1901のコネクションが、今回のL4統計処理における二次異常コネクションに該当するか否かを判定する(S2711)。具体的には、書き込み部1811は、当該オブジェクト1901のメタデータ1903のヘッダに設定されているコネクションIDが、最新の二次異常テーブルにおけるいずれかの二次異常コネクションのIDと一致する場合に、特定されたオブジェクト1901のコネクションが、今回のL4統計処理における二次異常コネクションに該当すると判定する。
S2709において特定されたオブジェクト1901のコネクションが、今回のL4統計処理における二次異常コネクションに該当すると判定した場合には、S2715に示した処理に移る。
一方、S2709において特定されたオブジェクト1901のコネクションが、今回のL4統計処理における二次異常コネクションに該当しないと判定した場合には、書き込み部1811は、更に、当該コネクションが、前回のL4統計処理における二次異常コネクションに該当するか否かを判定する(S2713)。具体的には、書き込み部1811は、当該オブジェクト1901のメタデータ1903のヘッダに設定されているコネクションIDが、最新の一つ前の二次異常テーブルにおけるいずれかの二次異常コネクションのIDと一致する場合に、特定されたオブジェクト1901のコネクションが、前回のL4統計処理における二次異常コネクションに該当すると判定する。
S2709において特定されたオブジェクト1901のコネクションが、前回のL4統計処理における二次異常コネクションに該当すると判定した場合には、S2715に示した処理に移る。S2709において特定されたオブジェクト1901のコネクションが、前回のL4統計処理における二次異常コネクションに該当しないと判定した場合には、S2719に示した処理に移る。
S2715において、書き込み部1811は、当該オブジェクト1901を保存データ記憶部843に書き込む。書き込み部1811は、書き込んだオブジェクト1901へのポインタを、該当回(最新回又は前回)の二次異常テーブルの該当二次異常コネクションのレコードに設定する(S2717)。
S2719において、書き込み部1811は、オブジェクト記憶部1807に記憶している当該オブジェクト1901を消去する。
書き込み部1811は、未処理のオブジェクト1901があるか否かを判定する(S2721)。未処理のオブジェクト1901があると判定した場合には、S2709に示した処理に戻って上述した処理を繰り返す。一方、未処理のオブジェクト1901がないと判定した場合には、端子Fを介して、図27AのS2701に示した処理に戻って、次の周期における処理を行う。
このように、前回のL4統計処理における二次異常コネクションのオブジェクト1901も書き込むようにすれば、二次異常が途中で解消した場合であっても、二次異常を最後に検出した周期におけるパケットも収集することができる。但し、前回のL4統計処理における二次異常コネクションのオブジェクト1901を書き込まないようにしてもよい。
本実施の形態によれば、異常コネクションに係るパケットを、より少ない資源で収集できる。
また、一旦オブジェクト記憶部1807にオブジェクト1901を生成するので、パケットバッファ815の容量が少なくて済むという面がある。
また、不要になったオブジェクト1901を消去するので、オブジェクト記憶部1807の容量が少なくて済むという面がある。
また、二次異常が生じていないコネクションのオブジェクト1901を保存しないので、保存データ記憶部843の容量が少なくて済むという面がある。
更に、データの書き込み、読み取り及び消去などの処理に係る負荷が少ないという面もある。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
なお、上で述べたネットワーク監視装置801は、コンピュータ装置であって、図28に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係るパケット収集方法は、(A)ネットワークからキャプチャしたパケットの各々に第1識別子を割り当てると共に、当該パケットの各々をバッファに格納し、(B)第1識別子の各々に、当該第1識別子に係るパケットのコネクションを特定する第2識別子を対応付け、(C)バッファに格納したパケットの各々を解析して一次異常が生じているコネクションを検出し、(D)一次異常が生じたコネクション毎に、当該コネクションの第2識別子が対応付けられた第1識別子が割り当てられたパケットのグループを第1記憶領域に記憶し、(E)サンプリング期間にキャプチャしたパケットの解析結果に関する統計値に基づき、二次異常が生じているコネクションを検出し、(F)第1記憶領域に記憶されたグループのうち、二次異常が生じたコネクションに係るグループを第2記憶領域に書き込む処理を含む。
このようにすれば、異常コネクションに係るパケットを、より少ない資源で収集できる。
更に、二次異常が生じたコネクションに係るグループ及び二次異常が生じなかったコネクションに係るグループを、第1記憶領域から消去する処理を含むようにしてもよい。
このようにすれば、第1記憶領域の容量が少なくて済む。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
ネットワークからキャプチャしたパケットの各々に第1識別子を割り当てると共に、当該パケットの各々をバッファに格納し、
前記第1識別子の各々に、当該第1識別子に係るパケットのコネクションを特定する第2識別子を対応付け、
前記バッファに格納した前記パケットの各々を解析して一次異常が生じているコネクションを検出し、
前記一次異常が生じたコネクション毎に、当該コネクションの前記第2識別子が対応付けられた前記第1識別子が割り当てられたパケットのグループを第1記憶領域に記憶し、
サンプリング期間にキャプチャしたパケットの解析結果に関する統計値に基づき、二次異常が生じているコネクションを検出し、
前記第1記憶領域に記憶された前記グループのうち、前記二次異常が生じたコネクションに係るグループを第2記憶領域に書き込む
処理を含み、コンピュータにより実行されるパケット収集方法。
(付記2)
更に、
前記二次異常が生じたコネクションに係る前記グループ及び前記二次異常が生じなかったコネクションに係るグループを、前記第1記憶領域から消去する
処理を含む、付記1記載のパケット収集方法。
(付記3)
前記一次異常は、同一のコネクションに関して、前記二次異常の検出より前に検出される異常である
付記1又は2記載のパケット収集方法。
(付記4)
ネットワークからキャプチャしたパケットの各々に第1識別子を割り当てると共に、当該パケットの各々をバッファに格納し、
前記第1識別子の各々に、当該第1識別子に係るパケットのコネクションを特定する第2識別子を対応付け、
前記バッファに格納した前記パケットの各々を解析して一次異常が生じているコネクションを検出し、
前記一次異常が生じたコネクション毎に、当該コネクションの前記第2識別子が対応付けられた前記第1識別子が割り当てられたパケットのグループを第1記憶領域に記憶し、
サンプリング期間にキャプチャしたパケットの解析結果に関する統計値に基づき、二次異常が生じているコネクションを検出し、
前記第1記憶領域に記憶された前記グループのうち、前記二次異常が生じたコネクションに係るグループを第2記憶領域に書き込む
処理をコンピュータに実行させるパケット収集プログラム。
(付記5)
ネットワークからキャプチャしたパケットの各々に第1識別子を割り当てると共に、当該パケットの各々をバッファに格納する格納処理部と、
前記第1識別子の各々に、当該第1識別子に係るパケットのコネクションを特定する第2識別子を対応付ける対応付け部と、
前記バッファに格納した前記パケットの各々を解析して一次異常が生じているコネクションを検出する第1検出部と、
前記一次異常が生じたコネクション毎に、当該コネクションの前記第2識別子が対応付けられた前記第1識別子が割り当てられたパケットのグループを第1記憶領域に記憶する記憶処理部と、
サンプリング期間にキャプチャしたパケットの解析結果に関する統計値に基づき、二次異常が生じているコネクションを検出する第2検出部と、
前記第1記憶領域に記憶された前記グループのうち、前記二次異常が生じたコネクションに係るグループを第2記憶領域に書き込む書き込み部と
を有するパケット収集装置。
801 ネットワーク監視装置 803 監視対象ネットワーク
805 ネットワークタップ 807 伝送ネットワーク
809 ストレージ装置 811 NIC
813 ドライバ 815 パケットバッファ
817 解析部 819 統計部
821 コネクションテーブル記憶部 823 インデックスバッファ
825 一次異常記憶部 827 格納処理部
829 二次異常記憶部 831 L4解析部
833 L7解析部 835 L4統計部
837 L7統計部 841 統計データ記憶部
843 保存データ記憶部 1401 記憶部
1403 受付部 1405 コネクションテーブル生成部
1407 インデックス生成部 1409 第1登録部
1800 生成部 1801 読み込み部
1803 記憶部 1805 分別部
1807 オブジェクト記憶部 1811 書き込み部
1901 オブジェクト 1903 メタデータ
1905 収集データ 2401 制御部
2403 第2登録部 2405 記憶部

Claims (5)

  1. ネットワークからキャプチャしたパケットの各々に第1識別子を割り当てると共に、当該パケットの各々をバッファに格納し、
    前記第1識別子の各々に、当該第1識別子に係るパケットのコネクションを特定する第2識別子を対応付け、
    前記バッファに格納した前記パケットの各々を解析して一次異常が生じているコネクションを検出し、
    前記一次異常が生じたコネクション毎に、当該コネクションの前記第2識別子が対応付けられた前記第1識別子が割り当てられたパケットのグループを第1記憶領域に記憶し、
    サンプリング期間にキャプチャしたパケットの解析結果に関する統計値に基づき、二次異常が生じているコネクションを検出し、
    前記第1記憶領域に記憶された前記グループのうち、前記二次異常が生じたコネクションに係るグループを第2記憶領域に書き込む
    処理を含み、コンピュータにより実行されるパケット収集方法。
  2. 更に、
    前記二次異常が生じたコネクションに係る前記グループ及び前記二次異常が生じなかったコネクションに係るグループを、前記第1記憶領域から消去する
    処理を含む、請求項1記載のパケット収集方法。
  3. 前記一次異常は、同一のコネクションに関して、前記二次異常の検出より前に検出される異常である
    請求項1又は2記載のパケット収集方法。
  4. ネットワークからキャプチャしたパケットの各々に第1識別子を割り当てると共に、当該パケットの各々をバッファに格納し、
    前記第1識別子の各々に、当該第1識別子に係るパケットのコネクションを特定する第2識別子を対応付け、
    前記バッファに格納した前記パケットの各々を解析して一次異常が生じているコネクションを検出し、
    前記一次異常が生じたコネクション毎に、当該コネクションの前記第2識別子が対応付けられた前記第1識別子が割り当てられたパケットのグループを第1記憶領域に記憶し、
    サンプリング期間にキャプチャしたパケットの解析結果に関する統計値に基づき、二次異常が生じているコネクションを検出し、
    前記第1記憶領域に記憶された前記グループのうち、前記二次異常が生じたコネクションに係るグループを第2記憶領域に書き込む
    処理をコンピュータに実行させるパケット収集プログラム。
  5. ネットワークからキャプチャしたパケットの各々に第1識別子を割り当てると共に、当該パケットの各々をバッファに格納する格納処理部と、
    前記第1識別子の各々に、当該第1識別子に係るパケットのコネクションを特定する第2識別子を対応付ける対応付け部と、
    前記バッファに格納した前記パケットの各々を解析して一次異常が生じているコネクションを検出する第1検出部と、
    前記一次異常が生じたコネクション毎に、当該コネクションの前記第2識別子が対応付けられた前記第1識別子が割り当てられたパケットのグループを第1記憶領域に記憶する記憶処理部と、
    サンプリング期間にキャプチャしたパケットの解析結果に関する統計値に基づき、二次異常が生じているコネクションを検出する第2検出部と、
    前記第1記憶領域に記憶された前記グループのうち、前記二次異常が生じたコネクションに係るグループを第2記憶領域に書き込む書き込み部と
    を有するパケット収集装置。
JP2015236728A 2015-12-03 2015-12-03 パケット収集方法、パケット収集プログラム及びパケット収集装置 Active JP6672751B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015236728A JP6672751B2 (ja) 2015-12-03 2015-12-03 パケット収集方法、パケット収集プログラム及びパケット収集装置
US15/343,581 US10305754B2 (en) 2015-12-03 2016-11-04 Apparatus and method to collect packets related to abnormal connection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015236728A JP6672751B2 (ja) 2015-12-03 2015-12-03 パケット収集方法、パケット収集プログラム及びパケット収集装置

Publications (2)

Publication Number Publication Date
JP2017103674A true JP2017103674A (ja) 2017-06-08
JP6672751B2 JP6672751B2 (ja) 2020-03-25

Family

ID=58799963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015236728A Active JP6672751B2 (ja) 2015-12-03 2015-12-03 パケット収集方法、パケット収集プログラム及びパケット収集装置

Country Status (2)

Country Link
US (1) US10305754B2 (ja)
JP (1) JP6672751B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021022759A (ja) * 2019-07-24 2021-02-18 富士通株式会社 ネットワーク分析プログラム、ネットワーク分析装置及びネットワーク分析方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100258075B1 (ko) * 1997-12-09 2000-06-01 이계철 영구가상연결을 이용한 프레임 릴레이 연동 서비스 제어방법
JP4317828B2 (ja) 2005-03-15 2009-08-19 富士通株式会社 ネットワーク監視装置およびネットワーク監視方法
US20160277261A9 (en) * 2006-12-29 2016-09-22 Prodea Systems, Inc. Multi-services application gateway and system employing the same
JP5251538B2 (ja) * 2009-01-20 2013-07-31 富士通株式会社 異常箇所特定プログラム、異常箇所特定装置、異常箇所特定方法
US9203728B2 (en) * 2011-03-09 2015-12-01 lxia Metadata capture for testing TCP connections
EP2692092B1 (en) * 2011-03-28 2014-12-17 Citrix Systems Inc. Systems and methods for tracking application layer flow via a multi-connection intermediary device
US9432269B2 (en) * 2013-04-06 2016-08-30 Citrix Systems, Inc. Systems and methods for exporting application details using appflow
JP6179354B2 (ja) * 2013-10-31 2017-08-16 富士通株式会社 解析プログラム、解析方法、および解析装置
JP2015095785A (ja) 2013-11-12 2015-05-18 富士通株式会社 パケット保存方法、パケット保存プログラム及びパケット保存装置
JP6287154B2 (ja) 2013-12-12 2018-03-07 富士通株式会社 パケット保存方法、パケット保存プログラム及びパケット保存装置
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system
US10263833B2 (en) * 2015-12-01 2019-04-16 Microsoft Technology Licensing, Llc Root cause investigation of site speed performance anomalies
US10389606B2 (en) * 2016-03-25 2019-08-20 Cisco Technology, Inc. Merging of scored records into consistent aggregated anomaly messages
US10009364B2 (en) * 2016-03-25 2018-06-26 Cisco Technology, Inc. Gathering flow characteristics for anomaly detection systems in presence of asymmetrical routing
US20170279685A1 (en) * 2016-03-25 2017-09-28 Cisco Technology, Inc. Adjusting anomaly detection operations based on network resources
US10581901B2 (en) * 2016-03-25 2020-03-03 Cisco Technology, Inc. Increased granularity and anomaly correlation using multi-layer distributed analytics in the network
US10333958B2 (en) * 2016-07-19 2019-06-25 Cisco Technology, Inc. Multi-dimensional system anomaly detection
US10404728B2 (en) * 2016-09-13 2019-09-03 Cisco Technology, Inc. Learning internal ranges from network traffic data to augment anomaly detection systems
US9584381B1 (en) * 2016-10-10 2017-02-28 Extrahop Networks, Inc. Dynamic snapshot value by turn for continuous packet capture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021022759A (ja) * 2019-07-24 2021-02-18 富士通株式会社 ネットワーク分析プログラム、ネットワーク分析装置及びネットワーク分析方法
JP7235967B2 (ja) 2019-07-24 2023-03-09 富士通株式会社 ネットワーク分析プログラム、ネットワーク分析装置及びネットワーク分析方法

Also Published As

Publication number Publication date
US20170163499A1 (en) 2017-06-08
JP6672751B2 (ja) 2020-03-25
US10305754B2 (en) 2019-05-28

Similar Documents

Publication Publication Date Title
JP4479459B2 (ja) パケット解析システム
US9665420B2 (en) Causal engine and correlation engine based log analyzer
KR100965452B1 (ko) 인터넷 응용 트래픽 분류법의 비교평가를 위한 벤치마크 장치
KR100895102B1 (ko) 파일 탐색 시스템 및 방법
WO2016017208A1 (ja) 監視システム、監視装置、および検査装置
EP3282643A1 (en) Method and apparatus of estimating conversation in a distributed netflow environment
JP2009017298A (ja) データ分析装置
US9201753B2 (en) Integrated circuit and method for monitoring bus status in integrated circuit
US10862807B2 (en) Packet telemetry data via first hop node configuration
CN113225339B (zh) 网络安全监测方法、装置、计算机设备及存储介质
JP6179354B2 (ja) 解析プログラム、解析方法、および解析装置
CN111565127B (zh) 用于网络地址转换的测试方法、系统、设备及介质
US20170126550A1 (en) Selecting a flow data source
US10009151B2 (en) Packet storage method, information processing apparatus, and non-transitory computer-readable storage medium
JP6672751B2 (ja) パケット収集方法、パケット収集プログラム及びパケット収集装置
JP2017060074A (ja) ネットワーク分析装置、ネットワーク分析システム、及びネットワークの分析方法
WO2021240634A1 (ja) トラフィック監視装置、トラフィック監視方法およびトラフィック監視プログラム
CN111737155B (zh) 一种芯片调试系统、方法、装置、设备及存储介质
US20080189410A1 (en) Directing a network transaction to a probe
US20200296189A1 (en) Packet analysis apparatus, packet analysis method, and storage medium
JP2018137590A (ja) パケット解析プログラム、パケット解析方法、およびパケット解析装置
US10902027B2 (en) Generation of category information for measurement value
Watanabe et al. Performance of network intrusion detection cluster system
US20140226678A1 (en) Communication apparatus and frame processing method
WO2015093345A1 (ja) 通信装置、パケット監視方法及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190625

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200217

R150 Certificate of patent or registration of utility model

Ref document number: 6672751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150