ネットワークにおけるトラフィックを監視する方法および装置
【課題】コンピュータ・ネットワーク上の接続点を介して通過するパケットを検査するモニタおよび方法。
【解決手段】各パケットは1つ又はそれ以上のプロトコルに従う。プロトコルに基づいて分解/抽出を行い、統計値を算出する。プロトコル毎の分解/抽出はプロトコル記述言語による。
【解決手段】各パケットは1つ又はそれ以上のプロトコルに従う。プロトコルに基づいて分解/抽出を行い、統計値を算出する。プロトコル毎の分解/抽出はプロトコル記述言語による。
Notice: Undefined index: DEJ in /mnt/www/gzt_disp.php on line 298
【特許請求の範囲】
【請求項1】
コンピュータネットワーク上の接続点を通過するパケットに対してプロトコル固有の作業を実行する方法であって、当該方法は:
前記パケットを受信する段階;
階層モデルに従う複数のプロトコルに関する1組のプロトコル記述を受信する段階であって、特定の階層レベルにおける特定のプロトコルに関するプロトコル記述は:
前記特定のプロトコルの少なくとも1つの子プロトコルが存在する場合に、該特定のプロトコルのその1つ以上の子プロトコルを含み、前記パケットは、前記特定のプロトコルのゼロ個以上の特定の子プロトコルについて、前記特定の子プロトコルに関連する前記パケット中の1つ以上の場所に情報を含み、
前記プロトコル記述は、前記特定のプロトコルのゼロ個以上の子プロトコルに関連する情報が格納される前記パケット内の1つ以上の場所を含み,および
前記プロトコル記述は、少なくとも1つのプロトコル固有の実行すべき作業が存在する場合に、前記特定の階層レベルにおける特定のプロトコルに関して、前記パケットに対して実行されるべき1つ以上のプロトコル固有の作業を含むところの段階;および
前記パケットの基本プロトコルおよび前記パケットで使用される前記プロトコルの子に基づく前記1組のプロトコル記述によって特定される前記パケットに対する前記プロトコル固有の作業を実行する段階;
を有する方法。
【請求項2】
プロトコル固有の作業を実行する段階が、前記子に対するゼロ個以上の子に関して繰り返し実行される請求項1記載の方法。
【請求項3】
当該方法がパケットの内容に従って様々なプロトコルに適応するように、プロトコル固有の作業を実行する段階で実行されるプロトコル固有の作業が前記パケットの内容に依存する請求項1記載の方法。
【請求項4】
メモリ内にデータベースを格納する段階を更に有し、前記データベースは、前記1組のプロトコル記述から生成され、可能なプロトコルに関する情報を含むデータ構造を有し、任意のプロトコルに対して子プロトコル関連情報を探索するために組織され、前記データ構造の内容は1つ以上のインデックスの組によって指示され、前記データベースエントリは有効性の指示を含むインデックス値の特定の組によって指示され、
前記子プロトコル関連情報は子認識パターンを含み、前記プロトコル特有作業を実行する段階は、基本階層から始まる任意の特定のプロトコル階層レベルにおいて、前記子フィールドに関する前記特定のプロトコルにおける前記パケットを探索し、該探索は、有効なエントリが見出されるまで前記データ構造を指示することを含み、前記データ構造は前記インデックスの組を使った高速検索用に構成されている、請求項1記載の方法。
【請求項5】
前記プロトコル記述がプロトコル記述言語で用意され、前記方法が、前記データベースを作成するためにプロトコル記述言語の記述をコンパイルする段階を更に有する請求項4記載の方法。
【請求項6】
前記データ構造が、各プロトコルに対して少なくとも1つのアレイの1組のアレイを有し、各アレイは第1インデックスによって識別され、各アレイは、子プロトコル関連情報が格納される前記パケット内の場所である第2インデックスによって更に指示され、前記データ構造における有効なエントリを見出すことが、識別されたプロトコルに関する子認識パターンを見出すために前記パケット内の前記場所を与える、請求項4記載の方法。
【請求項7】
各アレイは子プロトコル関連情報が格納される前記パケット内の領域の大きさである第3インデックスによって更に指示され、前記データ構造における有効なエントリを見出すことは、前記子認識パターンを見出すために前記パケットにおける前記場所および前記領域の大きさを与えることを特徴とする請求項6記載の方法。
【請求項8】
前記データ構造における有効エントリのまばらさ(sparseness)を利用した圧縮手法に従って前記データ構造が圧縮される請求項7記載の方法。
【請求項9】
前記圧縮手法が、競合する共通エントリを有しない2つ以上のアレイを結合する請求項8記載の方法。
【請求項10】
前記データ構造が各プロトコルに対して少なくとも1つのテーブルの1組のテーブルを有し、各テーブルは、第1インデックスによって識別され、各テーブルは更に、前記子認識パターンである第2インデックスによって指示され、前記データ構造は、各プロトコルに対して、子プロトコル関連情報が格納される前記パケット内の場所を与えるテーブルを更に含み、前記データ構造における有効なエントリを見出すことが、識別されたプロトコルに関する子認識パターンを見出すために前記パケット内の前記場所を与える請求項4記載の方法。
【請求項11】
テーブルの前記組における有効エントリのまばらさを利用した圧縮手法に従って前記データ構造が圧縮される請求項10記載の方法。
【請求項12】
前記圧縮手法が、競合する共通エントリを有しない2つ以上のテーブルを結合する請求項11記載の方法。
【請求項13】
前記プロトコル固有の作業が、前記パケットの選択された部分を抽出し、会話フローに属するものとして前記パケットを識別するために前記選択された部分の関数を形成するための前記パケットに対する1つ以上の分解および抽出作業を含む、請求項1記載の方法。
【請求項14】
前記プロトコル記述が、プロトコル記述言語で用意される請求項1記載の方法。
【請求項15】
プロトコル記述言語の記述をコンパイルしてデータベースを作成し、前記データベースをメモリ内に格納する段階を更に有し、前記データベースは、前記1組のプロトコル記述から生成され、可能なプロトコルに関する情報を含むデータ構造を有し、任意のプロトコルに対して子プロトコル関連情報を探索するように組織され、前記データ構造の内容は1つ以上のインデックスの組によって指示され、前記データベースエントリは有効性の指示を含むインデックス値の特定の組によって指示され、
前記子プロトコル関連情報は子認識パターンを含み、
前記プロトコル固有の作業を実行する段階は、基本階層から始まる任意の特定のプロトコル階層レベルにおいて、前記子フィールドに関する前記特定のプロトコルにおける前記パケットを探索し、該探索は、有効なエントリが見出されるまで前記データ構造を指示することを含み、前記データ構造は、前記インデックスの組を利用して高速探索されるよう構成される、請求項14記載の方法。
【請求項16】
以前に遭遇した会話フローに関する少なくとも1つフローエントリをフローエントリデータベースが含む場合に、ゼロ個以上のフローエントリを、以前に遭遇した会話フロー各々について少なくとも1つのフローエントリで含むフローエントリデータベースを探索する段階であって、該探索は、前記選択されたパケット部分の少なくとも一部を利用し、前記パケットが既存のフローエントリに一致するか否かを判定する段階;
前記パケットが既存のフローのものであった場合、前記パケットを発見された既存のフローに属するものとして分類する段階;および
前記パケットが新たなフローのものであった場合、前記新たなフローのための新規フローエントリであって、将来のパケットが該新規フローエントリのものであると識別されるための識別情報を含む新規フローエントリを、フローエントリデータベースに格納する段階;
を有し、前記分解および抽出作業が、少なくとも1つのパケットヘッダの内容に依存しない、或いはゼロ個以上のパケットヘッダの内容に依存する請求項13記載の方法。
【請求項17】
前記プロトコル固有の作業が、更に、前記パケットの前記フローの前記状態の関数である1つ以上の状態処理作業を含む請求項13記載の方法。
【請求項18】
前記プロトコル固有の作業が、前記パケットの前記フローの前記状態の関数である1つ以上の状態処理作業を含む請求項1記載の方法。
【請求項1】
コンピュータネットワーク上の接続点を通過するパケットに対してプロトコル固有の作業を実行する方法であって、当該方法は:
前記パケットを受信する段階;
階層モデルに従う複数のプロトコルに関する1組のプロトコル記述を受信する段階であって、特定の階層レベルにおける特定のプロトコルに関するプロトコル記述は:
前記特定のプロトコルの少なくとも1つの子プロトコルが存在する場合に、該特定のプロトコルのその1つ以上の子プロトコルを含み、前記パケットは、前記特定のプロトコルのゼロ個以上の特定の子プロトコルについて、前記特定の子プロトコルに関連する前記パケット中の1つ以上の場所に情報を含み、
前記プロトコル記述は、前記特定のプロトコルのゼロ個以上の子プロトコルに関連する情報が格納される前記パケット内の1つ以上の場所を含み,および
前記プロトコル記述は、少なくとも1つのプロトコル固有の実行すべき作業が存在する場合に、前記特定の階層レベルにおける特定のプロトコルに関して、前記パケットに対して実行されるべき1つ以上のプロトコル固有の作業を含むところの段階;および
前記パケットの基本プロトコルおよび前記パケットで使用される前記プロトコルの子に基づく前記1組のプロトコル記述によって特定される前記パケットに対する前記プロトコル固有の作業を実行する段階;
を有する方法。
【請求項2】
プロトコル固有の作業を実行する段階が、前記子に対するゼロ個以上の子に関して繰り返し実行される請求項1記載の方法。
【請求項3】
当該方法がパケットの内容に従って様々なプロトコルに適応するように、プロトコル固有の作業を実行する段階で実行されるプロトコル固有の作業が前記パケットの内容に依存する請求項1記載の方法。
【請求項4】
メモリ内にデータベースを格納する段階を更に有し、前記データベースは、前記1組のプロトコル記述から生成され、可能なプロトコルに関する情報を含むデータ構造を有し、任意のプロトコルに対して子プロトコル関連情報を探索するために組織され、前記データ構造の内容は1つ以上のインデックスの組によって指示され、前記データベースエントリは有効性の指示を含むインデックス値の特定の組によって指示され、
前記子プロトコル関連情報は子認識パターンを含み、前記プロトコル特有作業を実行する段階は、基本階層から始まる任意の特定のプロトコル階層レベルにおいて、前記子フィールドに関する前記特定のプロトコルにおける前記パケットを探索し、該探索は、有効なエントリが見出されるまで前記データ構造を指示することを含み、前記データ構造は前記インデックスの組を使った高速検索用に構成されている、請求項1記載の方法。
【請求項5】
前記プロトコル記述がプロトコル記述言語で用意され、前記方法が、前記データベースを作成するためにプロトコル記述言語の記述をコンパイルする段階を更に有する請求項4記載の方法。
【請求項6】
前記データ構造が、各プロトコルに対して少なくとも1つのアレイの1組のアレイを有し、各アレイは第1インデックスによって識別され、各アレイは、子プロトコル関連情報が格納される前記パケット内の場所である第2インデックスによって更に指示され、前記データ構造における有効なエントリを見出すことが、識別されたプロトコルに関する子認識パターンを見出すために前記パケット内の前記場所を与える、請求項4記載の方法。
【請求項7】
各アレイは子プロトコル関連情報が格納される前記パケット内の領域の大きさである第3インデックスによって更に指示され、前記データ構造における有効なエントリを見出すことは、前記子認識パターンを見出すために前記パケットにおける前記場所および前記領域の大きさを与えることを特徴とする請求項6記載の方法。
【請求項8】
前記データ構造における有効エントリのまばらさ(sparseness)を利用した圧縮手法に従って前記データ構造が圧縮される請求項7記載の方法。
【請求項9】
前記圧縮手法が、競合する共通エントリを有しない2つ以上のアレイを結合する請求項8記載の方法。
【請求項10】
前記データ構造が各プロトコルに対して少なくとも1つのテーブルの1組のテーブルを有し、各テーブルは、第1インデックスによって識別され、各テーブルは更に、前記子認識パターンである第2インデックスによって指示され、前記データ構造は、各プロトコルに対して、子プロトコル関連情報が格納される前記パケット内の場所を与えるテーブルを更に含み、前記データ構造における有効なエントリを見出すことが、識別されたプロトコルに関する子認識パターンを見出すために前記パケット内の前記場所を与える請求項4記載の方法。
【請求項11】
テーブルの前記組における有効エントリのまばらさを利用した圧縮手法に従って前記データ構造が圧縮される請求項10記載の方法。
【請求項12】
前記圧縮手法が、競合する共通エントリを有しない2つ以上のテーブルを結合する請求項11記載の方法。
【請求項13】
前記プロトコル固有の作業が、前記パケットの選択された部分を抽出し、会話フローに属するものとして前記パケットを識別するために前記選択された部分の関数を形成するための前記パケットに対する1つ以上の分解および抽出作業を含む、請求項1記載の方法。
【請求項14】
前記プロトコル記述が、プロトコル記述言語で用意される請求項1記載の方法。
【請求項15】
プロトコル記述言語の記述をコンパイルしてデータベースを作成し、前記データベースをメモリ内に格納する段階を更に有し、前記データベースは、前記1組のプロトコル記述から生成され、可能なプロトコルに関する情報を含むデータ構造を有し、任意のプロトコルに対して子プロトコル関連情報を探索するように組織され、前記データ構造の内容は1つ以上のインデックスの組によって指示され、前記データベースエントリは有効性の指示を含むインデックス値の特定の組によって指示され、
前記子プロトコル関連情報は子認識パターンを含み、
前記プロトコル固有の作業を実行する段階は、基本階層から始まる任意の特定のプロトコル階層レベルにおいて、前記子フィールドに関する前記特定のプロトコルにおける前記パケットを探索し、該探索は、有効なエントリが見出されるまで前記データ構造を指示することを含み、前記データ構造は、前記インデックスの組を利用して高速探索されるよう構成される、請求項14記載の方法。
【請求項16】
以前に遭遇した会話フローに関する少なくとも1つフローエントリをフローエントリデータベースが含む場合に、ゼロ個以上のフローエントリを、以前に遭遇した会話フロー各々について少なくとも1つのフローエントリで含むフローエントリデータベースを探索する段階であって、該探索は、前記選択されたパケット部分の少なくとも一部を利用し、前記パケットが既存のフローエントリに一致するか否かを判定する段階;
前記パケットが既存のフローのものであった場合、前記パケットを発見された既存のフローに属するものとして分類する段階;および
前記パケットが新たなフローのものであった場合、前記新たなフローのための新規フローエントリであって、将来のパケットが該新規フローエントリのものであると識別されるための識別情報を含む新規フローエントリを、フローエントリデータベースに格納する段階;
を有し、前記分解および抽出作業が、少なくとも1つのパケットヘッダの内容に依存しない、或いはゼロ個以上のパケットヘッダの内容に依存する請求項13記載の方法。
【請求項17】
前記プロトコル固有の作業が、更に、前記パケットの前記フローの前記状態の関数である1つ以上の状態処理作業を含む請求項13記載の方法。
【請求項18】
前記プロトコル固有の作業が、前記パケットの前記フローの前記状態の関数である1つ以上の状態処理作業を含む請求項1記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17A】
【図17B】
【図18A】
【図18B】
【図19】
【図20】
【図21】
【図22A】
【図22B】
【図23A】
【図23B】
【図24】
【図25】
【図26】
【図27】
【図28】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17A】
【図17B】
【図18A】
【図18B】
【図19】
【図20】
【図21】
【図22A】
【図22B】
【図23A】
【図23B】
【図24】
【図25】
【図26】
【図27】
【図28】
【公開番号】特開2011−24223(P2011−24223A)
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願番号】特願2010−177157(P2010−177157)
【出願日】平成22年8月6日(2010.8.6)
【分割の表示】特願2001−507214(P2001−507214)の分割
【原出願日】平成12年6月30日(2000.6.30)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ETHERNET
【出願人】(502099496)アプティテュード アクウィジション コーポレイション (2)
【Fターム(参考)】
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願日】平成22年8月6日(2010.8.6)
【分割の表示】特願2001−507214(P2001−507214)の分割
【原出願日】平成12年6月30日(2000.6.30)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ETHERNET
【出願人】(502099496)アプティテュード アクウィジション コーポレイション (2)
【Fターム(参考)】
[ Back to top ]