JP4594258B2 - システム分析装置およびシステム分析方法 - Google Patents

システム分析装置およびシステム分析方法 Download PDF

Info

Publication number
JP4594258B2
JP4594258B2 JP2006065446A JP2006065446A JP4594258B2 JP 4594258 B2 JP4594258 B2 JP 4594258B2 JP 2006065446 A JP2006065446 A JP 2006065446A JP 2006065446 A JP2006065446 A JP 2006065446A JP 4594258 B2 JP4594258 B2 JP 4594258B2
Authority
JP
Japan
Prior art keywords
packet
server
section
client
unit
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.)
Expired - Fee Related
Application number
JP2006065446A
Other languages
English (en)
Other versions
JP2007241805A (ja
Inventor
敏彦 栗田
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 JP2006065446A priority Critical patent/JP4594258B2/ja
Priority to US11/475,956 priority patent/US7509408B2/en
Publication of JP2007241805A publication Critical patent/JP2007241805A/ja
Application granted granted Critical
Publication of JP4594258B2 publication Critical patent/JP4594258B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は,例えば1Gbpsを超えるような高速なネットワークに接続された多層構成のサーバシステムにおいて,流れるパケットをキャプチャしてトランザクション解析を行うシステム分析装置およびシステム分析方法に関する。多層サーバシステムは,例えば,Webサーバ,アプリケーションサーバ(APサーバ),データベースサーバ(DBサーバ)の3層に構成されたサーバが所定の処理を各層で分散して行うシステムなどである。
多層サーバシステムにおけるシステム分析では,流れるパケットをキャプチャし,パケット解析やトランザクション解析を行い,解析結果を分析または可視化して,システム性能を分析する。
パケット解析では,キャプチャしたパケットを用いて,TCP,アプリケーションプロトコル(HTTP等)などのメッセージレベルでの解析が行われる。トランザクション解析では,キャプチャしたパケットを用いて,業務A,業務Bなどのトランザクション単位で,各サーバでの処理時間や,各サーバ内の処理オブジェクト(OBJ)間の呼び出し関係などの解析が行われる。ここで,トランザクションとは,クライアントからのリクエストに対する一連の処理の結びつきをいう。
そして,パケット解析またはトランザクション解析の結果を,分析または可視化する。例えば,システム性能として,各サーバでの処理時間,各サーバ内の処理オブジェクト間の呼び出し関係などを可視化する。なお,ボトルネック分析,傾向予測なども,分析または可視化の処理の範疇にはいる。
このようなシステム分析によって,システムにおける問題箇所の把握,必要リソースの追加やネットワーク切り換えなどの対応策の提案に利用することが可能となる。
システム分析の手法として,2つ手法がある。1つめの手法は,キャプチャしたパケットをいったんディスクなどに保存し,それを後から読み出してパケット解析,トランザクション解析,分析/可視化を行う方法であって,「蓄積型分析」と呼ばれる。2つめの手法は,キャプチャしたパケットをリアルタイムでパケット解析,トランザクション解析,分析または可視化まで処理を行い,解析結果を表示する方法であって,「リアルタイム型分析」と呼ばれる。
パケットをキャプチャしてトランザクション解析を行う従来技術として,プロトコルとアプリケーションを意識することなく,通信回線上から採取した通信情報から希望するトランザクションのアプリケーションログを簡単に抽出して解析できるトランザクションのトレース装置に関する技術が記載されている(例えば,特許文献1を参照)。
特開平9−128342号公報
多層サーバシステムにおけるシステム分析の例を,より詳細に説明する。
図15は,システム分析装置が適用されるシステムの例を示す図である。このシステムは,Webサーバ131,APサーバ132,DBサーバ133からなる多層サーバシステムであって,ネットワーク150を介して,クライアント140と通信を行うことができるとする。
システム分析装置110は,クライアント140−Webサーバ131間,Webサーバ131−APサーバ132間,APサーバ132−DBサーバ133間の各区間を流れるパケットをキャプチャする。キャプチャしたパケットに対してトランザクション解析を行い,業務A,業務Bなどのトランザクション単位で,各サーバでの処理時間や,各サーバ内の処理オブジェクト(OBJ)間の呼び出し関係などを解析する。トランザクションは,クライアント140からのリクエストに対する一連の処理の結びつきとする。
図16は,システム分析の処理の流れを示す図である。
システム分析装置110は,クライアント140−Webサーバ131間,Webサーバ131−APサーバ132間,APサーバ132−DBサーバ133間の各区間でパケットをキャプチャする(P100)。キャプチャしたパケットに対して,パケット解析を行う(P101)。パケット解析は,TCP,アプリケーションプロトコル(HTTP等)などのメッセージレベルでの解析処理である。パケット解析の結果は,プロトコルログ200として記録される。
次に,キャプチャしたパケットに対して,トランザクション解析を行う(P102)。トランザクション解析は,メッセージの入れ子関係の特定,マッチングなどを使ったトランザクション抽出,オブジェクトの関連付けなどの解析処理である。トランザクション解析の結果は,プロトコル相関ログ/トランザクションデータ210として記録される。
最後に,パケット解析またはトランザクション解析の結果を,分析または可視化する(P103)。ここでは,システム性能として,各サーバでの処理時間,各サーバ内の処理オブジェクト間の呼び出し関係などを可視化する。
図17は,解析結果の可視化出力の例を示す図である。図17(A)は,トランザクション単位の情報として,業務トランザクションの全処理時間,各サーバごとのサーバ時間,各区間のネットワーク時間を可視化したものである。図17(B)は,オブジェクト単位の情報として,オブジェクトの呼び出し関係,各オブジェクトの処理時間を可視化したものである。
図15のシステム分析装置110において,流れるすべてのパケットをソフトウェアでキャプチャする場合に,パケット通信速度が1Gbps程度に近づくとシステム的に限界となる。通信速度が1Gbps以上となるシステムについて,単一のシステム分析装置で直接パケットをキャプチャすることは困難である。また,市販されているパケットのキャプチャ処理の製品で,キャプチャ性能が1Gbpsを超える能力を持つものはない。
そのため,1Gbps超の高速なネットワーク・システムに対して,パケットをキャプチャしてトランザクション解析する方法として,図18に示すように,用途に応じた次の2つの手法が考えられる。
第1の手法は,図18(A)に示すように,複数装置へ処理を負荷分散し,または処理のハード化などによって,すべてのパケットをキャプチャして解析する方法である。この方法は,処理負荷は大きくなるが,全現象を確実に捉えて解析したい場合に有効である。
第2の手法は,図18(B)に示すように,トランザクション単位でパケットをサンプリングし,キャプチャおよび解析の処理量を減らして統計的に解析する方法である。この方法は,処理負荷を軽くして,例えば,コネクション時間などの統計情報によって,傾向をつかみたい場合に有効である。
図18(A)に示す第1の手法では,前段の振分装置300により,後段の複数のキャプチャ/解析装置310にパケットを振り分ける。これによって,全体の処理性能を向上させている。振分装置300の処理は,事前に定義した振分ロジックに従ってパケットを振り分ける判定機能であり,メモリコピーやディスクへの書き込み処理などを伴うキャプチャ/解析装置310より処理は軽い。キャプチャ/解析装置310の処理上限が1Gbps程度であるのに対し,振分装置300は市販のアプライアンス製品などでは4Gbps程度の処理能力が得られている。また,振分装置300を,ASICなどを使ってハード化し,後段のキャプチャ/解析装置310の台数を増やすことで,さらに高速な処理が可能である。
図18(B)に示す第2の手法では,所定の規則にもとづいて入力パケットを間引いて全体の処理量を減らし,収集した入力パケットの部分集合から全体の傾向を推定する。統計的に解析を行うことによって,処理能力を向上させている。これらは,すべて単一のキャプチャ/解析装置320内で行うことが可能である。サンプリング部321は,処理量的には図18(A)の前段の振分装置300とほぼ同等と考えられるので,処理性能としては4Gbps程度が目安となる。サンプリング後のキャプチャ/解析部322での処理は,サンプリングするレートにも依存するが,レートを落とすほど軽くすることができる。例えば,4Gbpsの入力パケットをサンプリングで10%に落とすと,400Mbpsとなる。処理能力は,サンプリングした後のパケットに対し,1Gbpsが目安となる。図18(A)の場合と同じく,サンプリング処理の部分をハード化することで,さらに高速な処理が可能である。
ここでは,上記の第2の手法について考える。システム分析で上記第2の手法を実現するには,サンプリング処理をトランザクションの単位で実施する必要がある。すなわち,パケットキャプチャ時に,リアルタイムに近い処理で,トランザクション単位でパケットをサンプリングすることが理想的である。しかし,以下の(a)〜(d)のような問題があるため実現できていない。
(a) サンプリング技術としてIETFのsFlowなどがある。しかし,これは,パケット単位のサンプリングであり,トランザクション単位,すなわち,一連の処理の流れを含むパケットの集合単位でサンプリングすることはできない。
(b) トランザクション解析の仕様上,全パケットあるいは一定量のパケットをキャプチャした後,トランザクション解析,すなわちキャプチャしたパケットを一括して解析するところまでを行わないと,トランザクションを判定することができない。
(c) 異なるTCPコネクションでも,1つのトランザクションに属する場合があるため,TCPコネクションの単位でトランザクションを定義することはできない。
(d) 送信元IPアドレス(以下,SrcIPとする),宛先IPアドレス(以下,DstIPとする)は,それぞれ各サーバのIPアドレスであり,全トランザクションですべて共通であるため,Webサーバ−APサーバ間,APサーバ−DBサーバ間では,IPアドレスでトランザクションを分離することができない。
本発明は,上記の問題点の解決を図り,多層サーバシステムのシステム分析において,膨大な量の装置を用意することなく,トランザクション単位でのパケットのサンプリングを可能とすることにより,軽い処理負荷でのトランザクション単位のシステム分析が可能となる技術を提供することを目的とする。
本発明は,上記の課題を解決するため,クライアントからのリクエストに応じた所定の処理を複数の層に構成されたサーバで分散して行う多層サーバシステムにおいて,クライアント−多階層サーバシステム区間では,クライアントからのリクエストパケットの送信元IPアドレス(SrcIP)単位,すなわちクライアントのIPアドレスの単位でのサンプリングを行い,多層サーバシステム内のサーバ−サーバ区間では,前の区間がリクエスト待ちの状態である場合にのみサンプリングを行うことを特徴とする。
具体的には,本発明のシステム分析装置は,1)クライアントと前記クライアントのリクエスト送信先となる前記多層サーバシステムのサーバとのデータ通信区間であるクライアント−サーバ区間または前記多層サーバシステム内で隣接する層のサーバ同士のデータ通信区間であるサーバ−サーバ区間を流れるパケットからミラーリングされたパケットを区間ごとに分別して取得するネットワークインタフェース部と,2)前記クライアント−サーバ区間を流れるパケットを,前記パケットの送信元であるクライアントのアドレス情報をもとにフィルタリングする第1のフィルタリング部と,3)外部からの制御信号によって,前記サーバ−サーバ区間を流れるパケットを取得するオン期間または前記パケットを廃棄するオフ期間とが切り替え可能に設定され,前記オン期間またはオフ期間の設定に応じて前記パケットをフィルタリングする第2のフィルタリング部と,4)前記クライアント−サーバ区間または前記サーバ−サーバ区間のうち予め対応付けられた一つの区間から取得されたパケットを判定し,当該パケットのメッセージ状態から当該区間のリクエスト送信側がレスポンス待ちである期間を特定し,前記期間に連動させて当該区間の次のサーバ−サーバ区間のパケットをフィルタリングする前記第2のフィルタリング部の前記オン期間または前記オフ期間の設定を制御するリクエスト/レスポンス分析部と,5)前記第1のフィルタリング部または前記第2のフィルタリング部において通過したパケットを取得するパケットキャプチャ部とを備える。
本発明のシステム分析装置は,ネットワークインタフェース部によって,クライアント−サーバ区間(クライアントと多層サーバシステムのサーバとの区間)またはサーバ−サーバ区間(多層サーバシステム内で隣接する層のサーバ同士の区間)を流れるパケットからミラーリングされたパケットを区間ごとに分別して取得する。そして,第1フィルタリング部によって,クライアント−サーバ区間を流れるパケットを,パケットの送信元であるクライアントのアドレス情報をもとにフィルタリングする。
リクエスト/レスポンス分析部によって,クライアント−サーバ区間またはサーバ−サーバ区間のうち予め対応付けられた一つの区間から取得されたパケットを判定し,このパケットのメッセージ状態から自己が対応付けられた区間のリクエスト送信側がレスポンス待ちである期間を特定し,この期間に連動させて当該区間の次のサーバ−サーバ区間のパケットをフィルタリングする第2のフィルタリング部のオン期間またはオフ期間の設定を制御する。
第2のフィルタリング部は,外部からの制御信号によって,前記サーバ−サーバ区間を流れるパケットを取得するオン期間または前記パケットを廃棄するオフ期間とが切り替え可能に設定され,前記オン期間またはオフ期間の設定に応じて前記パケットをフィルタリングする。
そして,パケットキャプチャ部によって,第1のフィルタリング部または第2のフィルタリング部において通過したパケットを取得する。
これにより,トランザクション単位でのパケットのサンプリングが可能となり,その後のシステム分析において,トランザクション単位の解析処理が実現できる。特に,必要なトランザクションのパケットを確実にキャプチャしながらも,不必要なパケットのサンプリングの量を減らすことが可能となる。
また,本発明の前記ネットワークインタフェース部は,クライアント−サーバ区間とサーバ−サーバ区間の各区間に対応した複数の構成部として備えられ,各ネットワークインタフェース部は,対応する区間でミラーリングされたパケットを取得することができる。
さらに,本発明は,前記ネットワークインタフェース部によって取得されたパケットを当該パケットが流れていた各区間に分離する区間分離部を備え,前記ネットワークインタフェース部は,単一の構成部として備えられ,前記クライアント−サーバ区間と前記サーバ−サーバ区間とを流れるパケットからミラーリングされたパケットを集約して取得して,前記区間分離部へ送出することができる。これにより,システム分析装置にネットワークインタフェースが1つしかないような場合でも,トランザクション単位でのパケットのサンプリングが可能となる。
また,本発明の前記第1のフィルタリング部は,前記クライアント−サーバ区間を流れるパケットを,当該パケットの送信元IPアドレスごとに所定の割合で取得することができる。これにより,パケットのサンプリングの割合を,任意または動的に指定することが可能となる。
さらに,本発明は,前記第1のフィルタリング部によって通過されたパケットのメッセージ状態をもとに,前記クライアント側のレスポンス待ちの期間と当該レスポンス待ち以外の期間とを特定し,前記2つの期間が所定の比率となるように,前記第1のフィルタリング部におけるフィルタリングの前記所定の割合を変更する範囲制御部を備えることができる。これにより,クライアントのIPアドレスの範囲,クライアントのIPアドレスに対して行ったハッシュ演算の結果の範囲などを変えることで,パケットのサンプリングの割合を自動的に調整することが可能となる。
また,本発明の前記第1のフィルタリング部は,パケットを取得するクライアントの範囲を前記クライアントのIPアドレスの全部または一部を用いて特定するフィルタリングポリシを備えて,前記クライアント−サーバ区間を流れるパケットのなかから,前記フィルタリングポリシに合致する送信元IPアドレスを持つパケットを取得することができる。これにより,サンプリングを行うクライアントのIPアドレスの範囲を任意に指定することが可能となる。
さらに,前記第1のフィルタリング部は,前記クライアント−サーバ区間を流れるパケットの送信元IPアドレスにハッシュ演算を行い,ハッシュ演算結果が所定の範囲となるパケットを取得することができる。これにより,サンプリングを行うクライアントのIPアドレスの偏りをなくすことが可能となる。
以上のシステム分析装置が行う処理は,コンピュータとソフトウェアプログラムとによって実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも,ネットワークを通して提供することも可能である。
本発明によって,1Gbpsを超える高速なネットワークに対してトランザクション単位のサンプリングを実現することにより,軽い処理負荷でのトランザクション解析が可能となる。また,少ない装置量でのトランザクション解析が可能となるため,コストの削減が期待できる。また,ゲートウェイ,ルータなどの中継装置に本発明のシステム分析装置の機能を組み込んだ場合でも,ルーティングやQoSなどの中継処理に与える影響を最小限にしたトランザクション解析を行うことが可能となる。
以下,本発明を実施するための最良の形態について,図を用いて説明する。本形態において,セッションは,送受信のIPアドレスとポート番号によって定まる通信路上で送受信されるデータの集合をいう。また,メッセージは,TCPセッション上で複数の機器がやりとりするデータの最小単位のことをいう。例えば,HTTPでのリクエストやそれに対するレスポンスのことをいう。さらに,トランザクションは,システムに対する要求によって発生する各サーバでの処理,すなわちサーバがメッセージを受信してからレスポンスを送信するまでに行う単一または複数の処理の集合をいう。
まず,本発明の原理について説明する。
図1は,本発明の第1の原理を説明する原理説明図である。本発明の第1の原理によるシステム分析装置10は,ネットワークインタフェース部(Net−IF部)11,ソースIP単位フィルタ部(SrcIP単位フィルタ部)12,オン/オフ・フィルタ部(ON/OFFフィルタ部)13(13a,13b),リクエスト/レスポンス分析部14(14a,14b),範囲制御部15,パケットキャプチャ部16,パケット解析/トランザクション解析部17を備える。
システム分析装置10のシステム分析の対象は,Webサーバ31,APサーバ32,DBサーバ33からなる3層で分散して処理を行うサーバシステムである。クライアント40は,ネットワーク50を介してWebサーバ31にリクエストを送信し,Webサーバ31からレスポンスを受信する。Webサーバ31は,APサーバ32にリクエストを送信し,APサーバ32からレスポンスを受信する。APサーバ32は,DBサーバ33にリクエストを送信し,DBサーバ33からレスポンスを受信する。
システム分析装置10のSrcIP単位フィルタ部12,ON/OFFフィルタ部13(13a,13b),リクエスト/レスポンス分析部14(14a,14b),範囲制御部15によって,パケットのサンプリングを行い,キャプチャすべき総パケット量を軽減させることができる。
Net−IF部11は,予め対応付けられた区間(例えば,クライアント40−Webサーバ31間,Webサーバ31−APサーバ32間,APサーバ32−DBサーバ33間)を流れるパケットからミラーリングされたパケットを取得する処理手段である。
SrcIP単位フィルタ部12は,Net−IF11から入力されたパケットについて,所定のソースIP単位(SrcIP単位)でフィルタリングを行う手段である。SrcIP単位のフィルタリングとは,クライアント40からのリクエストのSrcIP単位,すなわち,クライアント40のIPアドレス単位でフィルタリングを行うことである。
図1では,クライアント40−Webサーバ31間でミラーリングされたパケットは,Net−IF11を介してSrcIP単位フィルタ部12に送られる。SrcIP単位フィルタ部12は,受け取ったパケットに対してSrcIP単位のフィルタリングを行う。
クライアント40−Webサーバ31間では,1つのトランザクションは同一のクライアント40から出た複数のTCPコネクションとなる。そのため,SrcIP単位のフィルタリングを行うことにより,同じトランザクションに属するパケットをすべてキャプチャすることができる。
また,SrcIP単位フィルタ部12は,設定された一定の割合,例えば,1/10の割合などで,SrcIP単位のサンプリングを行うことができる。
また,フィルタリングでは,例えば,SrcIPが一定の範囲内であるパケットのみをキャプチャしてもよい。または,SrcIPに対してハッシュ演算を行い,そのハッシュ演算の結果が一定の範囲内にあるパケットのみをキャプチャしてもよい。ハッシュ演算の結果を用いてサンプリングする場合には,キャプチャするパケットのSrcIPの偏りをなくすことができる。
ON/OFFフィルタ部13(13a,13b)は,外部からの制御信号によって,前記サーバ−サーバ区間を流れるパケットを取得するオン期間(ON期間)または前記パケットを廃棄するオフ期間(OFF期間)とが切り替え可能に設定され,前記オン期間またはオフ期間(ON/OFF)の設定に応じて前記パケットをフィルタリングする処理手段である。
フィルタリングのON/OFFによって,Net−IF11から入力されたパケットを通過させるか否かが決定される。
ON/OFFフィルタ部13(13a,13b)は,外部からの制御信号によって設定されるON/OFFフラグを備え,このON/OFFフラグが“ON”であるときをON期間とし,“OFF”であるときをOFF期間とする。そして,ON期間中では,入力されたパケットを通過させ,OFF期間中では,入力されたパケットを廃棄する。
図1では,Webサーバ31−APサーバ32間,APサーバ32−DBサーバ33間でミラーリングされたパケットは,それぞれに対応付けられたNet−IF11を介してON/OFFフィルタ部13(13a,13b)に送られる。ON/OFFフィルタ部13(13a,13b)では,ON/OFFフラグが“ON”であれば,入力されたパケットを通過させる。
リクエスト/レスポンス分析部14(14a,14b)は,予め対応付けられた区間から取得されたパケットのメッセージ状態から,その区間のリクエスト送信側がレスポンス待ちである期間を特定し,前記期間に連動させて当該区間の次のサーバ−サーバ区間のパケットをフィルタリングするON/OFFフィルタ部13(13a,13b)のON/OFFフラグの切り替えを制御する処理手段である。ON/OFFフィルタ部13(13a,13b)のフィルタリングのON/OFFフラグの切り替えは,リクエスト/レスポンスの包含関係を利用して行う。
図2は,各区間のリクエスト/レスポンスの期間の包含関係を説明するための図である。図2に示すように,ある層のサーバがリクエスト発行してレスポンスを待つ期間(リクエスト発行/レスポンス待ち期間)は,その前段のサーバにおけるリクエスト発行/レスポンス待ち期間内に包含される。したがって,自己層(現段階)がリクエスト発行/レスポンス待ちの期間でのみ,次層(次段階)でも,現段階でキャプチャされたパケットと同一のトランザクションに属するパケットがキャプチャされる可能性がある。
リクエスト/レスポンス分析部14(14a,14b)は,このようなリクエスト/レスポンスの包含関係とリクエスト/レスポンス分析の結果とを利用して,自層(現段階)がリクエスト発行/レスポンス待ちのときのみ次の区間(自己とその次層のサーバ間)でパケットをキャプチャするように,次の区間に対応するON/OFFフィルタ部13(13a,13b)のON/OFFフラグを切り替える制御信号を送る。
例えば,リクエスト/レスポンス分析部14aは,クライアント40−Webサーバ31間でキャプチャされたパケットを用いてリクエストまたはレスポンスを分析し,リクエスト(Webリクエスト)発行を検出すると,次の区間に対応するON/OFFフィルタ部13aに対してONフラグ設定の制御信号を送る。また,レスポンス(APレスポンス)を検出すると,ON/OFFフィルタ部13aに対してOFFフラグ設定の制御信号を送る。
図2に示すように,リクエスト/レスポンス分析部14aから制御信号を受け取るON/OFFフィルタ部13aは,ON/OFFフラグが“ON”に書き換えられ,次にON/OFFフラグが“OFF”に書き換えられるまでのON期間中に,キャプチャされたパケットを通過させる。
また,同様に,リクエスト/レスポンス分析部14bは,ON/OFFフィルタ部13aが通過させたパケット(Webサーバ31−APサーバ32間でキャプチャされたパケット)を用いてリクエストまたはレスポンスを分析し,リクエスト(APリクエスト)発行を検出すると,次の区間のON/OFFフィルタ部13bに対してONフラグ設定の制御信号を送る。また,レスポンス(APレスポンス)を検出すると,OFFフラグ設定の制御信号を送る。ON/OFFフィルタ部13bは,ON期間中のみ,キャプチャされたパケットを通過させる。
その結果,パケットキャプチャ部16は,クライアント40−Webサーバ31間でWebレスポンス待ちの間だけ,Webサーバ31−APサーバ32間でのパケットのキャプチャを行い,Webサーバ31−APサーバ32間でAPレスポンス待ちの間だけ,APサーバ32−DBサーバ33間でのパケットのキャプチャを行うことになる。これにより,キャプチャすべき総パケット量を大きく減らすことができる。
ただし,パケットキャプチャ部16でキャプチャされるパケットには,他のトランザクションに属するパケットも含まれる可能性がある。このような他のトランザクションに属するパケットは,パケット解析/トランザクション解析部17でフィルタリングする。
範囲制御部15は,SrcIP単位フィルタ部12においてパケットをキャプチャするSrcIPの範囲を制御する手段である。クライアント40−Webサーバ31間におけるON期間/OFF期間,すなわちレスポンス待ちの期間/レスポンス待ちでない期間の比率が所望のもの(例えば,1:9など)になるように,パケットのフィルタリングの割合を,例えばキャプチャするパケットのSrcIPの範囲,SrcIPにハッシュ演算した結果の範囲などをもとに調整する。
パケットキャプチャ部16は,フィルタリングを通過したパケットのキャプチャ処理を行う手段である。このとき,パケットキャプチャ部16は,キャプチャしたパケットを蓄積してもよく,キャプチャと同時にパケット解析/トランザクション解析部17に渡してもよい。パケット解析,トランザクション解析の手法には,いったんキャプチャしたパケットをディスクなどに蓄積して後から解析を行う蓄積型処理と,キャプチャしながら解析を行うリアルタイム型処理とがある。なお,パケットキャプチャ部16,パケット解析/トランザクション解析部17については,従来通りのものであるので,詳細な説明を省略する。
このようなシステム分析装置10によって,総キャプチャ量を削減した上で,同一のトランザクションに属するパケットをすべてキャプチャすることができる。したがって,キャプチャしたパケットを統計的に解析することにより,軽い処理負荷でのトランザクション解析(例えば,オブジェクトの呼び出し関係や処理時間などの分析)が可能となる。これにより,1Gbpsを超える高速なネットワークのシステム分析が可能となる。
図3は,本発明の第2の原理を説明する原理説明図である。本発明の第2の原理によるシステム分析装置20は,Net−IF11,SrcIP単位フィルタ部12,ON/OFFフィルタ部13(13a,13b),リクエスト/レスポンス分析部14(14a,14b),範囲制御部15,パケットキャプチャ部16,パケット解析/トランザクション解析部17,区間分離部18を備える。
本発明の第2の原理では,各区間のミラーリングパケットがすべてスイッチ(SW)60に集められ,1つのNet−IF11を介してシステム分析装置20に入力される。区間分離部18は,Net−IF11から入力されたパケットを区間ごとに分け,該当する区間のSrcIP単位フィルタ部12,ON/OFFフィルタ部13(13a,13b)に送信する。それ以外の部分については,図1に示す第1の原理と同じであるので,説明を省略する。
本発明の第2の原理によるシステム分析装置20では,Net−IF11が1つあればよい。第1の原理によるシステム分析装置10のように,パケットのキャプチャを行う区間ごとにNet−IF11を用意する必要がないので,キャプチャを行う区間が多い場合などには,コストを下げることができる。
以上説明したような原理によって,本発明では,トランザクション単位でのパケットのサンプリングをリアルタイムに行うことが可能となる。
以下,本発明のより具体的な実施の形態について説明する。
〔第1の実施形態〕
図4は,本発明の第1の実施形態によるシステム分析装置の例を示す図である。本実施形態は,各区間の通信路に配備されたスイッチ(SW)62,63,64のミラーリング出力を,システム分析装置10の別々のネットワークインタフェース(Net−IF)11a,11b,11cに入力する形態である。上述の第1の原理に相当する。
システム分析装置10は,Net−IF部11(11a,11b,11c),SrcIP単位フィルタ部12,ON/OFFフィルタ部13(13a,13b),リクエスト/レスポンス分析部14(14a,14b),範囲制御部15,パケットキャプチャ部16,パケット解析/トランザクション解析部17を備える。
本実施形態では,Webサーバ31,APサーバ32,DBサーバ33からなる3層のサーバシステムのシステム分析を行う。本第1の実施形態では,3台のクライアント40(40a,40b,40c)がSW61に接続されている。各クライアント40(40a,40b,40c)は,ネットワーク50を介してWebサーバ31にリクエストを送り,Webサーバ31からレスポンスを受ける。Webサーバ31は,APサーバ32にリクエストを送り,APサーバ32からレスポンスを受ける。APサーバ32は,DBサーバ33にリクエストを送り,DBサーバ33からレスポンスを受ける。
各クライアント40(a,b,c)には,それぞれIPアドレス“192.168.10.1”,“192.168.10.2”,“192.168.10.3”が設定されている。Webサーバ31には,クライアント40側にIPアドレス“192.168.1.1 ”が,APサーバ32側にIPアドレス“192.168.2.1 ”が設定されている。APサーバ32には,Webサーバ31側にIPアドレス“192.168.2.2 ”が,DBサーバ33側にIPアドレス“192.168.3.1 ”が設定されている。DBサーバ33には,IPアドレス“192.168.3.2 ”が設定されている。システム分析装置10の各Net−IF11(a,b,c)には,それぞれIPアドレス“192.168.1.3 ”,“192.168.2.3 ”,“192.168.3.3 ”が設定されている。
クライアント40−Webサーバ31間,Webサーバ31−APサーバ32間,APサーバ32−DBサーバ33間では,それぞれHTTP,IIOP,RDB2で通信が行われている。
図5は,パケットのフォーマットの例を示す図である。図5(A)は,各区間でミラーリングされて,システム分析装置10に入力されるパケットのフォーマットを示す。図5(B)は,パケットのIPヘッダのフォーマットを示す。図5(C)は,パケットのTCPヘッダのフォーマットを示す。図5(D)は,TCPヘッダのフラグ部分のフォーマットを示す。なお,図5の各フォーマットは,一般的なTCP/IPパケットのフォーマットである。
図6は,SrcIP単位フィルタ部による処理のフローチャートである。クライアント40−Webサーバ31間のミラーリングパケットが,Net−IF11aからシステム分析装置10に入力されると,SrcIP単位フィルタ部12によって,この処理が開始される。
SrcIP単位フィルタ部12は,フィルタリングポリシ70に従って,フィルタリング判定を行う(ステップS10)。フィルタリング判定では,入力されたパケットのIPアドレスを確認することにより,入力されたパケットを通過させるか否かの判定を行う。フィルタリングポリシ70には,クライアント40からのリクエストのSrcIPをキーにした,パケットのキャプチャまたは廃棄の判定の論理が定義されている。フィルタリングポリシ70は,ユーザによって事前に定義され,運用中に変更されることもある。
フィルタリング判定の結果,パケットを通過(Pass)させる,すなわちパケットをキャプチャする場合には(ステップS11),パケットをリクエスト/レスポンス分析部14aに渡す(ステップS12)。パケットをPassしない,すなわちパケットをキャプチャしない場合には(ステップS11),パケットをそのまま廃棄(discard)する(ステップS13)。
当該パケットの処理後,後続のパケットがあるかを判定する(ステップS14)。後続のパケットがあれば,ステップS10のフィルタリング判定に戻って次の新しいパケットに対する処理を行う。後続のパケットがなければ,処理を終了する。
ここで,フィルタリングポリシ70が“SrcIPの下1桁が“1”のパケットのみキャプチャする”である場合の例について説明する。フィルタリング判定では,まず,Webサーバ31のIPアドレスから,パケットの方向がクライアント40からWebサーバ31へ送信されたものか,Webサーバ31からクライアント40へ送信されたものかを識別する。システム分析装置10側では,Webサーバ31のIPアドレスを認識しているため,パケットのSrcIP,DstIPのうち,Webサーバ31のIPアドレスでない方がクライアント40のIPアドレスとなる。クライアント40からWebサーバ31へ送信されたものである場合には,パケットフォーマットからSrcIPを抽出する。Webサーバ31からクライアント40へ送信されたものである場合には,パケットフォーマットからDstIPを抽出する。
抽出したIPアドレスの下1桁を判定し,それが“1”であるならばパケットをキャプチャし,それ以外であるならばパケットを廃棄する。例えば,図4に示す構成では,3台のクライアント40(a,b,c)のうち,クライアント40aのみIPアドレスの下一桁が“1”である。そのため,クライアント40−Webサーバ31間では,クライアント40aを発着とするパケットのみが,キャプチャされることになる。
また,フィルタリングポリシ70で,例えば“192.168.10.1〜192.168.10.3”といったように,“SrcIPが一定の範囲内であるパケットのキャプチャ”を指定することもできる。また,フィルタリングポリシ70で,“入力されたパケットのSrcIPに対してハッシュ演算を行い,その演算結果が一定の範囲内にあるパケットのキャプチャ”を指定することもできる。SrcIPに対するハッシュ演算の結果によるフィルタリングでは,キャプチャするパケットのSrcIPの偏りをなくすことができる。
図7は,ON/OFFフィルタ部による処理のフローチャートである。Webサーバ31−APサーバ32間,またはAPサーバ32−DBサーバ33間からのミラーリングパケットが,それぞれNet−IF11b,Net−IF11cからシステム分析装置10に入力されると,各区間に対応するON/OFFフィルタ部13(a,b)によって,この処理が開始される。
ON/OFFフィルタ部13は,ON/OFFフラグ71に従って,フィルタリング判定を行う(ステップS20)。ON/OFFフラグ71は,前の区間のリクエスト/レスポンス分析部14によってSet/Resetされる。すなわち,Webサーバ31−APサーバ32間に対応するON/OFFフィルタ部13aは,クライアント40−Webサーバ31間に対応するリクエスト/レスポンス分析部14aから,APサーバ32−DBサーバ33間に対応するON/OFFフィルタ部13bは,Webサーバ31−APサーバ32間に対応するリクエスト/レスポンス分析部14bから,ONシグナルまたはOFFシグナルを受信する。ONシグナルを受信した場合にはフラグSet(フラグON),OFFシグナルを受信した場合にはフラグReset(フラグOFF)となる。フィルタリング判定では,フラグのON/OFFによって,入力されたパケットを通過させるか否かの判定を行う。
ON/OFFフラグ71がONである場合には(ステップS21),パケットのキャプチャとなり,ON/OFFフィルタ部13aならリクエスト/レスポンス分析部14aに,ON/OFFフィルタ部13bならパケットキャプチャ部16に,パケットを渡す(ステップS22)。ON/OFFフラグ71がOFFである場合には(ステップS21),パケットを廃棄する(ステップS23)。
当該パケットの処理後,後続のパケットがあるかを判定する(ステップS24)。後続のパケットがあれば,ステップS20のフィルタリング判定に戻って次の新しいパケットに対する処理を行う。後続のパケットがなければ,処理を終了する。
後述のリクエスト/レスポンス分析部14のところで詳細に説明するが,前の区間がレスポンス待ちのときにはON/OFFフラグ71がONとなり,前の区間がレスポンス待ちでないときにはフラグがOFFとなる。つまり,前の区間がレスポンス待ちのときにのみ,当該区間でパケットをキャプチャすることになる(図2参照)。
ON/OFFフィルタ部13では,リクエスト/レスポンスの包含関係を利用して,パケットをキャプチャするか廃棄するかの判定を行っている。そのため,同一のトランザクションに属するパケットをすべてキャプチャすることはできるが,他のトランザクションに属するパケットも一緒にキャプチャしてしまう可能性がある。他のトランザクションに属するパケットについては,パケット解析/トランザクション解析部17によるトランザクション解析時に判定し,フィルタリングすればよい。
図8は,リクエスト/レスポンス分析部による処理のフローチャートである。クライアント40−Webサーバ31間ではSrcIP単位フィルタ部12から,Webサーバ31−APサーバ32間ではON/OFFフィルタ部13aからパケットを渡されると,各区間に対応するリクエスト/レスポンス分析部14(a,b)によって,この処理が開始される。
リクエスト/レスポンス分析部14は,まず,TCP/UDPコネクション分離により,パケットをそのパケットが属するセッションに振り分ける(ステップS30)。TCPセッションの振り分けには,送受信側のIPアドレスとポート番号とを用いて行う。また,宛先ポート番号(サーバ側の受信ポート番号)から,どのサービスに属するセッションであるかを調べる。例えば,サーバ側のポート番号が80番であった場合には,Webサーバ31との通信(HTTP)であると判定する。
次に,振り分けられたセッション単位で,パケットがTCP/UDPの制御パケットか,データパケットかを判定する(ステップS31)。これは,TCPヘッダ中のフラグ状態,TCPデータの有無により判定することができる。具体的には,図5(D)に示すフラグ中のRST,SYN,FINビットのどれかがONであれば,そのパケットは制御パケットである。図5(D)に示すフラグ中のRST,SYN,FINビットのすべてがOFFであり,かつTCPデータが存在すれば,そのパケットはデータパケットである。
ステップS31において,パケットが制御パケットである場合には,TCP(RFC793)の処理シーケンスに従い,TCP/UDP状態管理を行う(ステップS32)。TCP/UDP状態管理では,新規コネクションが開設されると,そのコネクションが状態管理テーブルに登録され,既存コネクションがクローズされると,そのコネクションが状態管理テーブルから削除される。また,TCP/UDP状態管理では,状態管理テーブルのTCP/UDP状態の書き換えを行う。
図9は,状態管理テーブルの例を示す図である。図9の例は,クライアント40−Webサーバ31間の状態管理テーブル80である。なお,Webサーバ31−APサーバ32間でも用いるものも,同様の形式である。
図9の状態管理テーブル80は,送信元IPアドレス(クライアント側),宛先IPアドレス(Webサーバ側),送信元ポート番号,宛先ポート番号,TCP/UDP状態,メッセージ状態などの情報から構成される。状態管理テーブル80では,TCP/UDPコネクションごとに,エントリが設けられる。
図9の状態管理テーブル80において,クライアント側のIPアドレスが送信元IPアドレスとなっているのは,クライアント40からWebサーバ31へのリクエストパケットによってコネクションが開設されるからである。すなわち,送信元IPアドレス,宛先IPアドレス,送信元ポート番号,宛先ポート番号は,クライアント40からWebサーバ31へのリクエストパケットから取得されたものである。
状態管理テーブル80のTCP/UDP状態の項目は,TCP/UDPの状態遷移を示す項目である。図9の状態管理テーブルにおいて,“Connecting”はコネクションの接続/切断処理中であることを示し,“Connected”はすでにコネクションが確立されていることを示す。ステップS32のTCP/UDP状態管理では,コネクションの状態遷移に応じて,状態管理テーブル80のTCP/UDP状態の値を書き替える。
ステップS31において,パケットがデータパケットである場合には,メッセージ状態管理を行う(ステップS33)。メッセージ状態管理では,まず,メッセージがリクエストであるかレスポンスであるかを,IPアドレスをキーにパケットの方向で判定する。例えば,クライアント40−Webサーバ31間において,クライアント40からWebサーバ31へのパケットの場合,すなわちパケットの送信元IPアドレスがクライアント40のIPアドレスで宛先IPアドレスがWebサーバ31のIPアドレスである場合には,メッセージはリクエストである。また,Webサーバ31からクライアント40へのパケットの場合,すなわちパケットの送信元IPアドレスがWebサーバ31のIPアドレスで宛先IPアドレスがクライアント40のIPアドレスである場合には,メッセージはレスポンスである。
このような状態変化の結果,メッセージ状態に変化があれば状態管理テーブル80のメッセージ状態を書き替える。ここでは,メッセージ状態として,次の2つの状態を定義する。
Resp−wait:リクエストを受信した後,レスポンス待ちの状態
No−resp−wait:Resp−wait以外の状態
なお,上記のメッセージ状態は,TCP/UDP状態がConnectedのときにのみ意味を持ち,TCP/UDP状態がConnectingのときには,N/A(Not Applicable:適用外)である。
新規コネクションにおいて,TCPコネクションが確立された時には,メッセージ状態はNo−resp−waitである。その後リクエストを受信したときに,メッセージ状態をResp−waitに書き替える。その後さらにレスポンスを受信したときに,メッセージ状態をNo−resp−waitに書き替える。
メッセージ状態管理の後,状態管理テーブル80全体のメッセージ状態の遷移チェックを行う(ステップS34)。このとき必要があれば,ON/OFFシグナルを次段のON/OFFフィルタ部13に発行する。シグナルを発行するのは,具体的には次のような場合である。
状態管理テーブル80にResp−waitがまったくない状態から,新規にResp−waitが発生した場合:
ONシグナルを,次段のON/OFFフィルタ部13に発行する。このとき,シグナルの発行時刻と種別(この場合にはONシグナル)とを,シグナルテーブルに記録する。
状態管理テーブル80にResp−waitがある状態から,まったくない状態になった場合:
OFFシグナルを,次段のON/OFFフィルタ部13に発行する。このとき,シグナルの発行時刻と種別(この場合にはOFFシグナル)とを,シグナルテーブルに記録する。
図10は,シグナルテーブルの例を示す図である。シグナルテーブル81は,シグナルの発行時刻と種別とを,システムの立ち上げ時からシーケンシャルに記録したログ形式のテーブルである。システム立ち上げ時には,システムを起動した時刻が記録される。図10に示すように,ONシグナルとOFFシグナルとは,必ず交互に出現する。なお,シグナルテーブル81は,後述の範囲制御部15の処理において,過去一定時間の間のON期間,OFF期間の総時間を求める際に利用する。
パケットが制御パケットであった場合,パケットがデータパケットであった場合ともに,パケットキャプチャ部16にパケットを渡す(ステップS35)。その後,後続のパケットがあるかを判定する(ステップS36)。後続のパケットがあれば,ステップS30のTCP/UDPコネクション分離に戻って次の新しいパケットに対する処理を行う。後続のパケットがなければ,処理を終了する。
図11は,範囲制御部による処理のフローチャートである。システムが起動されると,範囲制御部15によって,この処理が開始される。
範囲制御部15は,まず,一定時間(例えば,10分など)スリープし(ステップS40),その間のON/OFFレートを算出する(ステップS41)。ON/OFFレートの算出では,指定された期間中のOFF時間の総和に対するON時間の総和が,シグナルテーブル81の記録から求められる。
算出されたON/OFFレートを,ターゲットON/OFFレート72と比較する(ステップS42)。ターゲットON/OFFレート72は,ON/OFFレートのターゲット値(例えば,1/9など)である。ターゲットON/OFFレート72は,管理者によって事前に定義され,運用中に変更されることもある。
ターゲットON/OFFレート72の方が大きければ(ステップS43),キャプチャするSrcIPの比率を増加する(ステップS44)。例えば,それまでSrcIPの下1桁が“1”のパケットのみをキャプチャしていたのを,SrcIPの下1桁が“1,2”のパケットをキャプチャするように,SrcIP単位フィルタ部12のフィルタリングポリシ70を書き換える。
ターゲットON/OFFレート72の方が小さければ(ステップS43),キャプチャするSrcIPの比率を減少する(ステップS45)。例えば,それまでSrcIPの下1桁が“1〜3”のパケットをキャプチャしていたのを,SrcIPの下1桁が“1,2”のパケットをキャプチャするように,SrcIP単位フィルタ部12のフィルタリングポリシ70を書き換える。
その後,管理者からの終了指示があるかを判定する(ステップS46),管理者からの終了指示がなければ,ステップS40の一定時間のスリープ状態に戻る。管理者からの終了指示があれば,処理を終了する。
図12は,ON/OFFレートの算出の例を説明する図である。ここでは,現在時刻を12.46.00(単位は[時.分.秒],以下同様)とし,ON/OFFレートとして過去10分間の〔ON時間の総和/OFF時間の総和〕を求めるものとする。
図12では,時間軸の左側に,図10のシグナルテーブル81のイベントをプロットしている。ただし,秒の小数点以下については四捨五入されている。このようなイベントの発生状況から,ON期間,OFF期間および各期間の時間を求めると,時間軸の右側に示す通りとなる。
例えば,12.37.21にONシグナルが発行され,12.38.05にOFFシグナルが発行されていることから,12.37.21〜12.38.05の区間はON期間であり,その差から,ON期間の時間は00.00.44であることが分かる。このように,各区間ごとに,その区間の種別がON期間かOFF期間かを判別し,その期間の時間を求める。現在時刻12.46.00から過去10分間を算出対象区間として計算すると,図12から,ON時間の総和,OFF時間の総和は,それぞれ317秒,283秒となる。よって,ON/OFFレートは,
ON時間の総和/OFF時間の総和=317/283=1.12
と求められる。
本実施の形態におけるパケットキャプチャ部16,パケット解析/トランザクション解析部17は,通常のパケットキャプチャ処理,パケット解析処理,トランザクション処理を行う。従来の技術であるので,それらの処理の詳細については省略する。なお,原理説明の部分で説明したように,パケットキャプチャ部16は,キャプチャしたパケットを蓄積するようにしてもよいし,キャプチャと同時にパケット解析/トランザクション解析部17に渡すようにしてもよい。
〔第2の実施形態〕
図13は,本発明の第2の実施形態によるシステム分析装置の例を示す図である。本実施形態は,各区間に配備されたスイッチ(SW62,63,64)のミラーリング出力を,システム分析装置20の1つのネットワークインタフェースNet−IF11に入力する形態である。上述の第2の原理に相当する。
システム分析装置20は,Net−IF部11,SrcIP単位フィルタ部12,ON/OFFフィルタ部13(a,b),リクエスト/レスポンス分析部14(a,b),範囲制御部15,パケットキャプチャ部16,パケット解析/トランザクション解析部17,区間分離部18を備える。第1の実施形態のシステム分析装置10と比較すると,3つあったNET−IF部11が1つとなり,また新たに区間分離部18が加わった構成となっている。
サーバシステム自体の構成は,図4の第1の実施形態のサーバシステムの構成と同じである。ただし,ミラーリングパケットをシステム分析装置20に取り込む部分の構成が,図4の第1の実施形態の構成と異なる。本実施形態では,各区間に配備されたスイッチ(SW62,63,64)のミラーリング出力は,すべてスイッチ(SW60)を経由して,システム分析装置20に送られる。
また,本実施形態の各装置に設定されたIPアドレスも,システム分析装置20のNet−IF11に設定されたIPアドレス“192.168.4.1 ”以外は,すべて図4の第1の実施形態と同じである。
本実施形態のシステム分析装置20におけるSrcIP単位フィルタ部12,ON/OFFフィルタ部13,リクエスト/レスポンス分析部14,範囲制御部15,パケットキャプチャ部16,パケット解析/トランザクション解析部17での処理は,第1の実施形態のシステム分析装置10における処理と同様であるので,ここでは説明を省略する。以下では,第1の実施形態のシステム分析装置10にない区間分離部18による処理についてのみ説明する。
図14は,区間分離部による処理のフローチャートである。ミラーリングパケットがNet−IF11からシステム分析装置20に入力されると,区間分離部18によって,この処理が開始される。
区間分離部18は,区間分離ポリシ73に従って,区間判定処理を行う(ステップS50)。区間判定処理では,入力されたパケットのIPアドレス,ポート番号等のマッチング判定により,入力されたパケットがどの区間を流れるパケットであるかを判定する。区間分離ポリシ73には,IPアドレスやポート番号などのマッチング判定により,パケットがどの区間でキャプチャされたものかを判定する論理が定義されている。区間分離ポリシ73は,管理者によって事前に定義され,運用中に変更されることもある。
図13のサーバシステムの例では,例えば,区間分離ポリシ73を以下の1)〜3)のように定義すればよい。
1)パケットの送信元IPアドレスまたは宛先IPアドレスが“192.168.1.1 ”である場合には,そのパケットがクライアント40−Webサーバ31間を流れるパケットであると判定する。
2)パケットの送信元IPアドレスが“192.168.2.1 ”であり,パケットの宛先IPアドレスが“192.168.2.2 ”である場合,またはパケットの送信元IPアドレスが“192.168.2.2 ”であり,パケットの宛先IPアドレスが“192.168.2.1 ”である場合には,そのパケットがWebサーバ31−APサーバ32間を流れるパケットであると判定する。
3)パケットの送信元IPアドレスが“192.168.3.1 ”であり,パケットの宛先IPアドレスが“192.168.3.2 ”である場合,またはパケットの送信元IPアドレスが“192.168.3.2 ”であり,パケットの宛先IPアドレスが“192.168.3.1 ”である場合には,そのパケットがAPサーバ32−DBサーバ33間を流れるパケットであると判定する。
入力されたパケットがクライアント40−Webサーバ31間を流れるパケットである場合には,クライアント−Web間に対応するSrcIP単位フィルタ部12にパケットを渡す(ステップS51)。
入力されたパケットがWebサーバ31−APサーバ32間を流れるパケットである場合には,Webサーバ31−APサーバ32間に対応するON/OFFフィルタ部13aにパケットを渡す(ステップS52)。
入力されたパケットがAPサーバ32−DBサーバ33間を流れるパケットである場合には,APサーバ32−DBサーバ33間に対応するON/OFFフィルタ部13bにパケットを渡す(ステップS53)。
当該パケットの処理後,後続のパケットがあるかを判定する(ステップS54)。後続のパケットがあれば,ステップS50の区間判定処理に戻って次の新しいパケットに対する処理を行う。後続のパケットがなければ,処理を終了する。
以上,2つの実施例で説明した本発明から期待できる効果を簡単に説明する。なお,以下の例では,均質なトラフィックを仮定している。
本発明によれば,システム分析装置10のSrcIP単位フィルタ部12によって,クライアント40−Webサーバ31間のパケットのフィルタリング範囲をSrcIPの範囲を用いて絞ることができる。さらに,範囲制御部15によって,SrcIPの範囲を調整することができ,SrcIP単位フィルタ部12でのサンプリング範囲の絞り込みを動的に変化させることができる。
例えば,SrcIP単位フィルタ部12でのクライアント40−Webサーバ31間のパケットのサンプリング率を1/10に絞り込めば,トランザクション解析の処理負荷やトランザクション解析に必要な装置量を1/10にすることができる。
また,クライアント40−Webサーバ31間の後の区間であるWebサーバ31−APサーバ32間でのパケットのフィルタリングは,リクエスト/レスポンス分析部14bによって,クライアント40−Webサーバ31間でのフィルタリング率に連動する。そのため,クライアント40−Webサーバ31間のサンプリング率を1/10に絞り込めば,クライアント40−Webサーバ31間の後の区間のサンプリング率も1/10に絞り込まれると考えられる。
サンプリング率の絞り込みの程度は,トランザクション解析の精度と関係する。統計的処理で±5%の精度を確保するためには,1500個以上のサンプル数が必要となる。したがって,トランザクション解析の精度を向上させるためには,サンプル数を増やすか,または,サンプリング期間(トランザクション解析の単位時間)を延ばせばよい。なお,トランザクション解析の精度は,サンプリング率のみで直接決定されるわけではない。
例えば,15,000トランザクション/秒の入力がある場合に,1秒単位のトランザクション解析で上記の精度を得るためには,1,500トランザクション/秒のサンプリングを行えばよい。このとき,削減率は,1/10となる。また,10秒単位のトランザクション解析で上記の精度を得るためには,150トランザクション/秒のサンプリングを行えばよい。このとき,削減率は,1/100となる。
本発明の第1の原理を説明する原理説明図である。 各区間のリクエスト/レスポンスの期間の包含関係を説明するための図である。 本発明の第2の原理を説明する原理説明図である。 本発明の第1の実施形態によるシステム分析装置の例を示す図である。 パケットのフォーマットの例を示す図である。 SrcIP単位フィルタ部による処理のフローチャートである。 ON/OFFフィルタ部による処理のフローチャートである。 リクエスト/レスポンス分析部による処理のフローチャートである。 状態管理テーブルの例を示す図である。 シグナルテーブルの例を示す図である。 範囲制御部による処理のフローチャートである。 ON/OFFレートの算出の例を説明する図である。 本発明の第2の実施形態によるシステム分析装置の例を示す図である。 区間分離部による処理のフローチャートである。 システム分析装置を適用するシステムの例を説明する図である。 システム分析の処理の流れを示す図である。 可視化出力の例を示す図である。 キャプチャおよびトランザクション解析の方法の例を示す図である。
符号の説明
10,20 システム分析装置
11,11a,11b,11c ネットワークインタフェース部(NET−IF)
12 ソースIP単位フィルタ部(SrcIP単位フィルタ部)
13,13a,13b オン/オフ・フィルタ部(ON/OFFフィルタ部)
14,14a,14b リクエスト/レスポンス分析部
15 範囲制御部
16 パケットキャプチャ部
17 パケット解析/トランザクション解析部
18 区間分離部
31 Webサーバ
32 APサーバ
33 DBサーバ
40,40a,40b,40c クライアント
50 ネットワーク
60,61,62,63,64 スイッチ(SW)

Claims (9)

  1. クライアントからのリクエストに応じた所定の処理を複数の層に構成されたサーバで分散して行う多層サーバシステムを,トランザクション単位で分析するシステム分析装置であって,
    クライアントと前記クライアントのリクエスト送信先となる前記多層サーバシステムのサーバとのデータ通信区間であるクライアント−サーバ区間または前記多層サーバシステム内で隣接する層のサーバ同士のデータ通信区間であるサーバ−サーバ区間を流れるパケットからミラーリングされたパケットを区間ごとに分別して取得するネットワークインタフェース部と,
    前記クライアント−サーバ区間を流れるパケットを,前記パケットの送信元であるクライアントのアドレス情報をもとにフィルタリングする第1のフィルタリング部と,
    外部からの制御信号によって,前記サーバ−サーバ区間を流れるパケットを取得するオン期間または前記パケットを廃棄するオフ期間とが切り替え可能に設定され,前記オン期間またはオフ期間の設定に応じて前記パケットをフィルタリングする第2のフィルタリング部と,
    前記クライアント−サーバ区間または前記サーバ−サーバ区間のうち予め対応付けられた一つの区間から取得されたパケットを判定し,当該パケットのメッセージ状態から当該区間のリクエスト送信側がレスポンス待ちである期間を特定し,前記期間に連動させて当該区間の次のサーバ−サーバ区間のパケットをフィルタリングする前記第2のフィルタリング部の前記オン期間または前記オフ期間の設定を制御するリクエスト/レスポンス分析部と,
    前記第1のフィルタリング部または前記第2のフィルタリング部において通過したパケットを取得するパケットキャプチャ部とを備える
    ことを特徴とするシステム分析装置。
  2. 前記ネットワークインタフェース部は,前記クライアント−サーバ区間と前記サーバ−サーバ区間の各区間に対応した複数の構成部として備えられ,前記対応する区間でミラーリングされたパケットを取得する
    ことを特徴とする請求項1に記載されたシステム分析装置。
  3. 前記ネットワークインタフェース部によって取得されたパケットを,当該パケットが流れていた各区間に分離する区間分離部を備え,
    前記ネットワークインタフェース部は,単一の構成部として備えられ,前記クライアント−サーバ区間と前記サーバ−サーバ区間とを流れるパケットからミラーリングされたパケットを集約して取得して,前記区間分離部へ送出する
    ことを特徴とする請求項1に記載されたシステム分析装置。
  4. 前記第1のフィルタリング部は,前記クライアント−サーバ区間を流れるパケットを,当該パケットの送信元IPアドレスごとに所定の割合で取得する
    ことを特徴とする請求項1ないし請求項3のいずれか一項に記載されたシステム分析装置。
  5. 前記第1のフィルタリング部によって通過されたパケットのメッセージ状態をもとに,前記クライアント側のレスポンス待ちの期間と当該レスポンス待ち以外の期間とを特定し,前記2つの期間が所定の比率となるように,前記第1のフィルタリング部におけるフィルタリングの前記所定の割合を変更する範囲制御部を備える
    ことを特徴とする請求項4に記載されたシステム分析装置。
  6. 前記第1のフィルタリング部は,パケットを取得するクライアントの範囲を前記クライアントのIPアドレスの全部または一部を用いて特定するフィルタリングポリシを備えて,前記クライアント−サーバ区間を流れるパケットのなかから,前記フィルタリングポリシに合致する送信元IPアドレスを持つパケットを取得する
    ことを特徴とする請求項1ないし請求項3のいずれか一項に記載されたシステム分析装置。
  7. 前記第1のフィルタリング部は,前記クライアント−サーバ区間を流れるパケットの送信元IPアドレスにハッシュ演算を行い,前記ハッシュ演算結果が所定の範囲となるパケットを取得する
    ことを特徴とする請求項1ないし請求項3のいずれか一項に記載されたシステム分析装置。
  8. 前記リクエスト/レスポンス分析部は,前記対応する区間からフィルタリングされたパケットのメッセージ状態を判定し,前記判定結果から前記区間のリクエスト送信側がリクエストを発行した時に,前記第2のフィルタリング部にオン期間を設定する制御信号を送信し,前記リクエスト送信側がレスポンスを受信した時に前記第2のフィルタリング部にオフ期間を設定する制御信号を送信する
    ことを特徴とする請求項1ないし請求項3のいずれか一項に記載されたシステム分析装置。
  9. クライアントからのリクエストに応じた所定の処理を複数の層に構成されたサーバで分散して行う多層サーバシステムを,トランザクション単位で分析するシステム分析方法であって,
    クライアントと前記クライアントのリクエスト送信先となる前記多層サーバシステムのサーバとのデータ通信区間であるクライアント−サーバ区間または前記多層サーバシステム内で隣接する層のサーバ同士のデータ通信区間であるサーバ−サーバ区間を流れるパケットからミラーリングされたパケットを区間ごとに分別して取得する処理過程と,
    前記クライアント−サーバ区間を流れるパケットを,前記パケットの送信元であるクライアントのアドレス情報をもとにフィルタリングする処理過程と,
    外部からの制御信号によって,前記サーバ−サーバ区間を流れるパケットを取得するオン期間または前記パケットを廃棄するオフ期間とが切り替え可能に設定され,前記オン期間またはオフ期間の設定に応じて前記パケットをフィルタリングする処理過程と,
    前記クライアント−サーバ区間または前記サーバ−サーバ区間のうち予め対応付けられた一つの区間から取得されたパケットを判定し,当該パケットのメッセージ状態から当該区間のリクエスト送信側がレスポンス待ちである期間を特定し,前記期間に連動させて当該区間の次のサーバ−サーバ区間のパケットをフィルタリングする前記第2のフィルタリング部の前記オン期間または前記オフ期間の設定を制御する処理過程と,
    前記第1のフィルタリング部または前記第2のフィルタリング部において通過したパケットを取得する処理過程とを備える
    ことを特徴とするシステム分析方法。
JP2006065446A 2006-03-10 2006-03-10 システム分析装置およびシステム分析方法 Expired - Fee Related JP4594258B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006065446A JP4594258B2 (ja) 2006-03-10 2006-03-10 システム分析装置およびシステム分析方法
US11/475,956 US7509408B2 (en) 2006-03-10 2006-06-28 System analysis apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006065446A JP4594258B2 (ja) 2006-03-10 2006-03-10 システム分析装置およびシステム分析方法

Publications (2)

Publication Number Publication Date
JP2007241805A JP2007241805A (ja) 2007-09-20
JP4594258B2 true JP4594258B2 (ja) 2010-12-08

Family

ID=38480239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006065446A Expired - Fee Related JP4594258B2 (ja) 2006-03-10 2006-03-10 システム分析装置およびシステム分析方法

Country Status (2)

Country Link
US (1) US7509408B2 (ja)
JP (1) JP4594258B2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8005945B2 (en) * 2006-06-02 2011-08-23 Opnet Technologies, Inc. Aggregating policy criteria parameters into ranges for efficient network analysis
US7953851B2 (en) * 2007-07-13 2011-05-31 Front Porch, Inc. Method and apparatus for asymmetric internet traffic monitoring by third parties using monitoring implements
US8478862B2 (en) * 2007-07-13 2013-07-02 Front Porch, Inc. Method and apparatus for internet traffic monitoring by third parties using monitoring implements
US8214486B2 (en) * 2007-07-13 2012-07-03 Front Porch, Inc. Method and apparatus for internet traffic monitoring by third parties using monitoring implements
US8510431B2 (en) * 2007-07-13 2013-08-13 Front Porch, Inc. Method and apparatus for internet traffic monitoring by third parties using monitoring implements transmitted via piggybacking HTTP transactions
US20090041013A1 (en) * 2007-08-07 2009-02-12 Mitchell Nathan A Dynamically Assigning A Policy For A Communication Session
US20090041014A1 (en) * 2007-08-08 2009-02-12 Dixon Walter G Obtaining Information From Tunnel Layers Of A Packet At A Midpoint
JP4829194B2 (ja) * 2007-09-21 2011-12-07 日本電信電話株式会社 ネットワーク解析システム
US20090225767A1 (en) * 2008-03-05 2009-09-10 Inventec Corporation Network packet capturing method
JP4894788B2 (ja) * 2008-03-05 2012-03-14 沖電気工業株式会社 パケット通信装置、パケット通信方法及びプログラム
US8326977B2 (en) * 2008-07-16 2012-12-04 Fujitsu Limited Recording medium storing system analyzing program, system analyzing apparatus, and system analyzing method
US20100017486A1 (en) * 2008-07-16 2010-01-21 Fujitsu Limited System analyzing program, system analyzing apparatus, and system analyzing method
US9009838B2 (en) * 2008-07-24 2015-04-14 Front Porch, Inc. Method and apparatus for effecting an internet user's privacy directive
JP5217886B2 (ja) * 2008-10-14 2013-06-19 富士通株式会社 ループバック装置及びミラーリング方法
JP5229028B2 (ja) * 2009-03-17 2013-07-03 富士通株式会社 システム分析方法、装置及びプログラム
US9652899B2 (en) * 2009-04-09 2017-05-16 Honeywell International Inc. Methods, apparatus and systems for accessing vehicle operational data using an intelligent network router
US20100306052A1 (en) * 2009-05-29 2010-12-02 Zachary Edward Britton Method and apparatus for modifying internet content through redirection of embedded objects
US8392556B2 (en) * 2009-07-16 2013-03-05 Ca, Inc. Selective reporting of upstream transaction trace data
JP5609509B2 (ja) 2010-10-04 2014-10-22 富士通株式会社 指示システム、指示方法、及び記憶制御装置。
JP5655687B2 (ja) * 2011-04-18 2015-01-21 富士通株式会社 解析処理装置,解析処理プログラムおよび解析処理方法
CN103378982A (zh) * 2012-04-17 2013-10-30 深圳市腾讯计算机系统有限公司 互联网业务运行监测方法和系统
CN103688506B (zh) 2012-07-04 2017-07-21 华为技术有限公司 实现多媒体数据录制的方法、设备和系统
EP3107266A1 (en) * 2015-06-16 2016-12-21 Saguna Networks Ltd. Methods circuits devices systems and associated machine executable instructions for transporting packetized data across a cellular communications network
TWI679861B (zh) * 2018-09-06 2019-12-11 財團法人工業技術研究院 控制器、調整封包通信規則的方法及網路通信系統
CN111143179B (zh) * 2019-12-24 2023-06-13 中信银行股份有限公司 定位性能瓶颈的方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180159A (ja) * 2002-11-28 2004-06-24 Ntt Docomo Inc 通信制御装置、パケットフィルタリング方法、及びプログラム
JP2004254132A (ja) * 2003-02-20 2004-09-09 Telecommunication Advancement Organization Of Japan パケット伝送方法及びパケット伝送装置
JP2005167347A (ja) * 2003-11-28 2005-06-23 Fujitsu Ltd ネットワーク監視プログラム、ネットワーク監視方法、およびネットワーク監視装置
JP2005327261A (ja) * 2004-04-16 2005-11-24 Ns Solutions Corp 性能監視装置、性能監視方法及びプログラム
JP2006011683A (ja) * 2004-06-24 2006-01-12 Fujitsu Ltd システム分析プログラム、システム分析方法及びシステム分析装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802320A (en) * 1995-05-18 1998-09-01 Sun Microsystems, Inc. System for packet filtering of data packets at a computer network interface
JP3426428B2 (ja) 1995-10-27 2003-07-14 富士通株式会社 トランザクションのトレース装置
CN1216657A (zh) * 1996-04-24 1999-05-12 北方电讯有限公司 互联网协议过滤器
US5787253A (en) * 1996-05-28 1998-07-28 The Ag Group Apparatus and method of analyzing internet activity
US6917971B1 (en) * 1999-12-23 2005-07-12 International Business Machines Corporation Method and apparatus for determining a response time for a segment in a client/server computing environment
US6092110A (en) * 1997-10-23 2000-07-18 At&T Wireless Svcs. Inc. Apparatus for filtering packets using a dedicated processor
WO2001086877A2 (en) 2000-05-05 2001-11-15 Nomadix, Inc. Network usage monitoring device and associated method
US6882654B1 (en) * 2000-11-14 2005-04-19 Cisco Technology, Inc. Packet data analysis with efficient buffering scheme
US7165100B2 (en) * 2001-07-24 2007-01-16 At&T Corp. Method and apparatus for packet analysis in a network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180159A (ja) * 2002-11-28 2004-06-24 Ntt Docomo Inc 通信制御装置、パケットフィルタリング方法、及びプログラム
JP2004254132A (ja) * 2003-02-20 2004-09-09 Telecommunication Advancement Organization Of Japan パケット伝送方法及びパケット伝送装置
JP2005167347A (ja) * 2003-11-28 2005-06-23 Fujitsu Ltd ネットワーク監視プログラム、ネットワーク監視方法、およびネットワーク監視装置
JP2005327261A (ja) * 2004-04-16 2005-11-24 Ns Solutions Corp 性能監視装置、性能監視方法及びプログラム
JP2006011683A (ja) * 2004-06-24 2006-01-12 Fujitsu Ltd システム分析プログラム、システム分析方法及びシステム分析装置

Also Published As

Publication number Publication date
US7509408B2 (en) 2009-03-24
JP2007241805A (ja) 2007-09-20
US20070214257A1 (en) 2007-09-13

Similar Documents

Publication Publication Date Title
JP4594258B2 (ja) システム分析装置およびシステム分析方法
EP3364603B1 (en) Flow and time based reassembly of fragmented packets by ip protocol analyzers
EP1742416B1 (en) Method, computer readable medium and system for analyzing and management of application traffic on networks
US7133365B2 (en) System and method to provide routing control of information over networks
CN109787833B (zh) 网络异常事件感知方法和系统
TW536890B (en) Scalable real-time quality of service monitoring and analysis of service dependent subscriber satisfaction in IP networks
US8612625B2 (en) Characterizing data flow in a network based on a footprint measurement and taking action to avoid packet loss including buffer scaling or traffic shaping by adapting the footprint measurement
US7222190B2 (en) System and method to provide routing control of information over data networks
US8130767B2 (en) Method and apparatus for aggregating network traffic flows
US20130064125A1 (en) Flow statistics aggregation
CN106972985B (zh) 加速dpi设备数据处理与转发的方法和dpi设备
CN111314179B (zh) 网络质量检测方法、装置、设备和存储介质
JP2008541587A (ja) 高速ネットワークのトラフィック分析
JP4823156B2 (ja) リモートトラフィック監視方法
JP2009231890A (ja) パケット中継装置およびトラフィックモニタシステム
US20160248652A1 (en) System and method for classifying and managing applications over compressed or encrypted traffic
Amaral et al. Application aware SDN architecture using semi-supervised traffic classification
KR101344398B1 (ko) 애플리케이션 인지와 트래픽 제어를 위한 라우터 장치 및 그 방법
US20090252041A1 (en) Optimized statistics processing in integrated DPI service-oriented router deployments
CN107147585B (zh) 一种流量控制方法及装置
CN109218067A (zh) 用于聚集订户视角数据的系统和方法
JP2007228217A (ja) トラフィック判定装置、トラフィック判定方法、及びそのプログラム
CN114095383B (zh) 网络流量采样方法、系统和电子设备
US20060120291A1 (en) System structure for increasing the performance of data transmission on the internet
US20080189410A1 (en) Directing a network transaction to a probe

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100826

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: 20100914

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100916

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees