(57)【要約】ユーザポリシーにより採取すべき統計情報の種類が変化する場合、及び事前に統計情報の種類が特定できない場合において、対応可能な統計情報採取方法及び装置を提供するため、ユーザポリシーを反映したパターンを検索するためのテーブルを設定し、該テーブルに基づき、受信パケットの中から該パターンを検索するとともに、該検索したパターンの統計情報を記憶する。また、該テーブルに、該受信パケットを学習対象とすべきか否かを設定しておき、該パターンを検索できなかったとき、該テーブルにおいて該受信パケットが学習対象に設定されていれば、該検索できなかったパターンを該テーブルに加える。
2005036834.tif 000002
【特許請求の範囲】
【請求項１】
ユーザポリシーを反映したパターンを検索するためのテーブルを設定する第１ステップと、
該テーブルに基づき、受信パケットの中から該パターンを検索する第２ステップと、
該検索したパターンの統計情報を記憶する第３ステップと、
を備えたことを特徴とする統計情報採取方法。
【請求項２】
請求の範囲１において、
該第１ステップで、該テーブルに、該受信パケットを学習対象とすべきか否かを設定し、該第２ステップで、該パターンを検索できなかったとき、該テーブルにおいて該受信パケットが学習対象に設定されていれば、該検索できなかったパターンを該テーブルに加えることを特徴とした統計情報採取方法。
【請求項３】
請求の範囲１において、
該第１ステップで、第１テーブルに、パケット種別、エラー種別、及びこれらの種別に対応する受信パケット内のパターン抽出位置を設定し、更に第２テーブルに、該パターン抽出位置に対応する検索パターンを設定することを特徴とした統計情報採取方法。
【請求項４】
請求の範囲３において、
該第１ステップで、該第１及び第２テーブルをそれぞれ分割して設定しておき、各テーブルを部分的に相互に連携して検索することを特徴とした統計情報採取方法。
【請求項５】
請求の範囲３において、
該第２ステップで、該受信パケットの種別が、該第１テーブルに設定された両種別に該当する場合のみ、両種別に対応した該パターン抽出位置の検索パターンを該第２テーブルから検索することを特徴とした統計情報採取方法。
【請求項６】
請求の範囲５において、
該第１ステップで、該パケット種別及びエラー種別をハードロジックに設定しておき、該第２ステップで、該ハードロジックによって識別された該パケット種別及びエラー種別に基づき、該第１テーブルから該パターン抽出位置を検索し、更に該第２テーブルから、該パターン抽出位置に対応する検索パターンを検索することを特徴とした統計情報採取方法。
【請求項７】
請求の範囲１において、
該第３ステップで、該検索したパターンをカウントし、そのカウント値を該統計情報とすることを特徴とした統計情報採取方法。
【請求項８】
ユーザポリシーを反映したパターンを検索するためのテーブルを設定する第１手段と、
該テーブルに基づき、受信パケットの中から該パターンを検索する第２手段と、
該検索したパターンの統計情報を記憶する第３手段と、
を備えたことを特徴とする統計情報採取装置。
【請求項９】
請求の範囲８において、
該第１手段が、該テーブルに、該受信パケットを学習対象とすべきか否かを設定し、該第２手段が、該パターンを検索できなかったとき、該テーブルにおいて該受信パケットが学習対象に設定されていれば、該検索できなかったパターンを該テーブルに加えることを特徴とした統計情報採取装置。
【請求項１０】
請求の範囲８において、
該第１手段が、第１テーブルに、パケット種別、エラー種別、及びこれらの種別に対応する受信パケット内のパターン抽出位置を設定し、更に第２テーブルに、該パターン抽出位置に対応する検索パターンを設定することを特徴とした統計情報採取装置。
【請求項１１】
請求の範囲１０において、
該第１手段が、該第１及び第２テーブルをそれぞれ分割して設定しておき、各テーブルを部分的に相互に連携して検索することを特徴とした統計情報採取装置。
【請求項１２】
請求の範囲１０において、
該第２手段が、該受信パケットの種別が、該第１テーブルに設定された両種別に該当する場合のみ、両種別に対応した該パターン抽出位置の検索パターンを該第２テーブルから検索することを特徴とした統計情報採取装置。
【請求項１３】
請求の範囲１２において、
該第１手段が、該パケット種別及びエラー種別を識別するハードロジックを更に備え、該第２手段が、該ハードロジックによって識別された該パケット種別及びエラー種別に基づき該第１テーブルから該パターン抽出位置を検索し、更に第２テーブルから該パターン抽出位置に対応する検索パターンを検索することを特徴とした統計情報採取装置。
【請求項１４】
請求の範囲８において、
該第３手段で、該検索したパターンをカウントし、そのカウント値を該統計情報とすることを特徴とした統計情報採取装置。
【発明の詳細な説明】
【技術分野】  本発明は統計情報採取方法及び装置に関し、特に中継装置等に関してユーザが希望する、すなわちユーザポリシーによる所望の統計情報を採取する方法及び装置に関するものである。
【背景技術】  図９は、従来の統計情報採取方法及び装置を示すもので、この従来例では特に中継装置１を対象としてユーザポリシーによる所望の統計情報（どのようなパケットがどのようなユーザ端末からどの位の数送られて来たか等の情報）を採取しようとするものである。
対象とする中継装置１には各種のハードロジックが組み込まれているが、この例では、その中の特にパケット識別部６に関して、外部網から受信したパケットＰ１を判別・解析することにより、ユーザポリシーに沿った統計情報を採取し、これを信号Ｓ１０の形でカウンタとしての統計情報メモリ５に与えるものである。パケット識別部６を通過した後のパケットＰ２は他のハードロジックを経由して別の外部網へ送られる。
このため、パケット識別部６は、Ｌ２プロトコルヘッダ判別部６１とＬ３プロトコルヘッダ判別部６２とＬ３プロトコルヘッダ解析部（エラー判別部）６３とＬ４プロトコルヘッダ判別部６４とで構成されており、これらの判別部と解析部とを予めハードロジック構成することにより、ユーザポリシーによる所望の統計情報を採取しようとするものである。
すなわち、今、図１０（１）〜（４）に示すようなタグ有りかタグ無しか、さらにはＴＣＰプロトコルかＵＤＰプロトコルかで分けられる４種類のＩＰｖ４フレームがパケットＰ１としてパケット識別部６に入力されるとき、まず、Ｌ２プロトコルヘッダ判別部６１は、同図（１）及び（３）における「フレームタイプ／フレーム長」フィールドの値、又は同図（２）及び（４）に示す「タグ識別子」フィールドの値に基づいて、Ｌ３プロトコルを判別しようとするものである。これは、同図（２）及び（４）に示すタグ有りＩＰｖ４（ＴＣＰ／ＵＤＰ）フレームの場合には、図示のような所定の位置（オフセット値“９６”，長さ“１６”）においてタグ識別子の値“８１００”（１６進数で示す。以下同様。）が設定されており、ここにこのような値“８１００”が設定されていない場合には、同図（１）及び（３）に示すようなタグ無しＩＰｖ４フレームの「フレームタイプ／フレーム長」フィールド（ＴＣＰ／ＵＤＰプロトコル種別）が設定されていることを示している。
また、Ｌ３プロトコルヘッダ判別部６２は、図１０（１）〜（４）に示す各ＩＰｖ４フレームにおける「プロトコル」フィールドにおけるプロトコル種別「ＴＣＰ」又は「ＵＤＰ」、或いは「ＩＰ送信元アドレス」フィールドの値によるユーザの特定を行うものであり、更にＬ３プロトコルヘッダ解析部（エラー判別部）６３は、「ＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）」フィールドの値によりエラーパケットの判別を行うものであり、更にはＬ４プロトコルヘッダ判別部６４は、「宛先ポート番号」フィールドの値によってユーザアプリケーションの判別やユーザ毎の任意のフローの特定を行うように予めハードロジックが設定されている。
このような判別部６１，６２，６４による判別結果及び解析部６３による解析結果は信号Ｓ１０として統計情報メモリ（カウンタ）５にユーザポリシーに基づく統計情報として与えられる。
また、図示していないが、この他に、「ＭＡＣ宛先アドレス」と「フレームタイプ」と「ＩＰ宛先アドレス」との組み合わせにより、ＩＰｖ４ユニキャストルーティングフレーム数やＩＰｖ４マルチキャストルーティングフレーム数をカウントすることができ、また「ＭＡＣ宛先アドレス」によりユニキャストブリッジングフレーム数やマルチキャストブリッジングフレーム数をカウントすることが可能となる。
一方、回路ボードに設けたメモリに回路インタフェースで検出した障害情報を一時的に記憶しておき、制御部からの転送指示に応答して、上記の回路ボードから制御部に障害情報の統計値を通知し、制御部からの別の転送指示に応答して上記の回路ボードから制御部に上記の障害情報の詳細を通知するようにした障害情報処理方法がある（例えば、特許文献１参照。）。
【特許文献１】  特開平１０−２３０１１号公報（第７欄［００１５］、図１）
【発明の開示】
上記のような従来の統計情報採取方法及び装置の場合には、ユーザポリシーを変更して採取すべき統計情報を変更するような場合に柔軟に対応できないという問題がある。
すなわち、図９に示したようなハードロジック構成のパケット識別部６の場合には、数千〜数万のユーザトラヒックを束ねているネットワーク中継装置（ルータ装置）において、ユーザポリシーを変更することに対応するためには、ハードロジックを大規模に構成する必要があり、このような従来の方式ではハードウェア的に実現が困難になって来ている。
また、例えば、特定のエラーが発生した場合に、ＩＰ送信元アドレスやＩＰ宛先アドレスの組毎にエラーフレーム数をカウントすることが必要になった場合、予めハードロジックで決められた採取すべきカウンタを決定する方式では、これに対応して非常に多くの統計情報カウンタが必要になるため、統計情報メモリの容量が非常に大きくなってしまうという問題があった。
従って本発明は、ユーザポリシーにより採取すべき統計情報の種類が変化する場合、及び事前に統計情報の種類が特定できない場合において、対応可能な統計情報採取方法及び装置を提供することを目的とする。
上記の目的を達成するため、本発明に係る統計情報採取方法は、ユーザポリシーを反映したパターンを検索するためのテーブルを設定する第１ステップと、該テーブルに基づき、受信パケットの中から該パターンを検索する第２ステップと、該検索したパターンの統計情報を記憶する第３ステップと、を備えたことを特徴としている。
すなわち本発明では、第１のステップでユーザポリシーを反映したパターンを検索できるようにするためのテーブルを設定しておき、第２のステップでは、第１のステップで設定したテーブルに基づいて、受信したパケットの中から上記のユーザポリシーを反映したパターンを検索し、第３ステップでは、第２のステップで検索したパターンの統計情報を記憶するようにしたものであり、テーブルを、ユーザポリシーに対応して変更できることにより、種々のパターンを検索し、以ってそのパターンの統計情報を記憶することが可能となる。
上記の第１ステップでは、上記のテーブルに、該受信パケットを学習対象とすべきか否かを設定することができ、この場合上記の第２のステップで、該パターンを検索できなかったときには該テーブルにおいて該受信パケットが学習対象に設定されていれば、該検索できなかったパターンを該テーブルに加えることができる。
これにより、予め統計情報の種類が特定できない場合においても、学習により、そのような特定できないパターンの統計情報として新たに記憶することが可能となる。
また、上記の第１ステップでは、第１テーブルに、パケット種別、エラー種別、及びこれらの種別に対応する受信パケット内のパターン抽出位置を設定し、更に第２テーブルに、該パターン抽出位置に対応する検索パターンを設定することも可能である。
更に上記の第１ステップでは、上記の第１及び第２テーブルをそれぞれ分割して設定しておき、各テーブルを部分的に相互に連携して検索するようにしてもよい。
このように、テーブルの個数を増やすことにより、パターンの検索を小さなメモリ間で行ってから統計情報をメモリに蓄積できるという利点がある。
上記の第２ステップでは、該受信パケットの種別が、該第１テーブルに設定された両種別に該当する場合のみ、両種別に対応した該パターン抽出位置の検索パターンを該第２テーブルから検索することが可能となる。
一方、上記の第１ステップでは、該パケット種別及びエラー種別をハードロジックに設定することも可能であり、このような場合、上記の第２ステップで、該ハードロジックによって識別されたパケット種別及びエラー種別に基づき、該第１テーブルから該パターン抽出位置を検索し、更に該第２テーブルから、該パターン抽出位置に対応する検索パターンを検索することも可能である。
このように、予め重要と思われるパケット種別やエラー種別は必ず判定或いは解析するものとして、ハードロジックへの設定は従来と同様に行って置き、その他のテーブルにおいてユーザポリシーを反映させることにより、判定又は解析処理速度を向上させることができる。
なお、上記の第３ステップでは、上記の通り検索したパターンをカウントし、そのカウント値を該統計情報とすることができる。
上記の本発明に係る統計情報採取方法を実現する装置としては、ユーザポリシーを反映したパターンを検索するためのテーブルを設定する第１手段と、該テーブルに基づき、受信パケットの中から該パターンを検索する第２手段と、該検索したパターンの統計情報を記憶する第３手段とで構成することができる。
ここで、上記の第１手段は、該テーブルに、該受信パケットを学習対象とすべきか否かを設定し、該第２手段が、該パターンを検索できなかったとき、該テーブルにおいて該受信パケットが学習対象に設定されていれば、該検索できなかったパターンを該テーブルに加えることができる。
また上記の第１手段は、第１テーブルに、パケット種別、エラー種別、及びこれらの種別に対応する受信パケット内のパターン抽出位置を設定し、更に第２テーブルに、該パターン抽出位置に対応する検索パターンを設定することができる。
更に上記の第１手段は、該第１及び第２テーブルをそれぞれ分割して設定しておき、各テーブルを部分的に相互に連携して検索することも可能である。
また上記の第２手段は、該受信パケットの種別が、該第１テーブルに設定された両種別に該当する場合のみ、両種別に対応した該パターン抽出位置の検索パターンを該第２テーブルから検索することができる。
また上記の第１手段は、該パケット種別及びエラー種別を識別するハードロジックを更に備え、該第２手段が、該ハードロジックによって識別された該パケット種別及びエラー種別に基づき、該第１テーブルから該パターン抽出位置を検索し、更に該第２テーブルから該パターン抽出位置に対応する検索パターンを検索することが可能である。
なお、上記の第３手段は、該検索したパターンをカウントし、そのカウント値を該統計情報として記憶することができる。
【図面の簡単な説明】  図１は、本発明に係る統計情報採取方法を実現する装置の一実施例を示したブロック図である。
図２は、図１に示した実施例に用いられるパターン抽出部内のテーブルＡの一実施例を示した図である。
図３は、図２に示したテーブルＡを参照して検索されるパケット例１を示した図である。
図４は、図２に示したテーブルＡを参照して検索されるパケット例２を示した図である。
図５は、図１に示した実施例に用いられるパターン検索部内のテーブルＢと統計情報メモリ（カウンタ）との関係例を示した図である。
図６は、図１に示した実施例に用いられるパターン抽出部内のテーブルＡの別の実施例を示した図である。
図７は、図１に示した実施例に用いられるパターン検索部内のテーブルＢの別の実施例であって、図６に示したテーブルＡに対応したものを示した図である。
図８は、本発明に係る統計情報採取方法を実現する装置の他の実施例を示したブロック図である。
図９は、本発明及び従来技術で用いられるハードロジック構成のパケット識別部を用いて従来の統計情報採取方法を実現する装置を示したブロック図である。
図１０は、本発明及び従来技術で用いられる各種のＩＰｖ４フレームを示したフォーマット図である。
【符号の説明】
１  中継装置
２  パターン抽出部
３  パターン検索部
４  統計情報メモリ（カウンタ）
５  ＣＰＵ
Ａ，Ａ−１，Ａ−２，Ｂ  テーブル
６  パケット識別部
６１  Ｌ２プロトコルヘッダ判別部
６２  Ｌ３プロトコルヘッダ判別部
６３  Ｌ３プロトコルヘッダ解析部（エラー判別部）
６４  Ｌ４プロトコルヘッダ判別部
図中、同一符号は同一または相当部分を示す。
【発明を実施するための最良の形態】
【実施例１】  図１は、本発明に係る統計情報採取方法を実現する装置の一実施例を示したものである。この実施例において、統計情報採取装置の対象となる中継装置１は、パターン抽出部２と、ＣＡＭ等で構成されたパターン検索部３と、カウンタである統計情報メモリ４とユーザポリシーに従って種々の設定を行うＣＰＵ５とで構成されている。
パターン抽出部２は、図２に示すテーブルＡを備えており、このテーブルＡは、パターン抽出にユーザポリシーを反映するためのパターンを検索するためのテーブルを構成しており、エントリ（ＥＮＴ）とパケット種別とエラー種別とパターン抽出位置と統計情報ベースアドレスと学習フラグとで構成されている。
すなわち、このテーブルＡでは、
１．タグの有無の確認
２．ＩＰｖ４フレームであることの確認
３．ＴＣＰプロトコルであることの確認
４．エラー無しフレームであることの確認
をパケット種別及びエラー種別で行うとともに、これらの種別に対応してパターン抽出位置を設定し、このパターン抽出位置に対応して統計情報ベースアドレス及び学習フラグを参照するものである。
このため、パケット種別は、｛タグの有無，タイプ値，プロトコル値｝で構成され、「タグの有無」は、図１０に示したように、所定のフィールドにタグ識別子の値“８１００”が設定されていれば、タグ有り＝“１”であり、設定されていなければタグ無し＝“０”に設定される。「タイプ値」は同図に示す「フレームタイプ」フィールドにおいて、フレームがＩＰｖ４であれば、値“０８００”に設定されているものである。「プロトコル値」は、同図における「プロトコル」フィールドにおいてＴＣＰプロトコルであれば“６”に設定されているものとしてパケット種別がなされる。
また、エラー種別は、同図における「ＴＴＬ」フィールドにおいて“００”の場合にはエラー有りパケット（フレーム）として、“１”が設定されることになる。
図２のパケット例（パターン例）１では、受信パケットのパターン検索のためのパケット種別は｛０，０８００，６｝であり、従ってタグ識別子“８１００”が設定されていないパケットに対して、タイプ値が“０８００”でフレームがＩＰｖ４であり、且つプロトコル値＝“６”であるためＴＣＰに設定されていることが示されており、「ＴＴＬ」フィールドにおいてはエラー無しに設定されているパケットを検索対象とすることが示されている。パケット例（パターン例）２の場合には、受信パケットのパターン検索のためのパケット種別が｛１，０８００，６｝であるから、タグ有り“１”に設定されているパケットに対して、タイプ値＝“０８００”でＩＰｖ４フレームに設定されており、プロトコル値＝“６”でＴＣＰプロトコルが設定されており、エラー種別はエラー有り“１”に設定されているパケットを検索対象とすることが示されている。
そして、パケット例１の場合には、検索対象パターン抽出位置として、２つのオフセットと長さ（オフセット１＝“２０８”，長さ１＝“３２”；オフセット２＝“２８８”，長さ２＝“１６”）が設定されており、パケット例２の場合には、３つのオフセットと長さが（オフセット１＝“１１６”，長さ１＝“１２”；オフセット２＝“２４０”，長さ２＝“３２”；オフセット３＝“３２０”，長さ３＝“１６”）が設定されている。なお、これらのパケット例１及び２において統計情報ベースアドレス“８０００００００”が設定されているとともに、学習フラグとしてそれぞれ“０”（学習無し）、“１”（学習有り）が設定されている。これらについては後述する。
また、パターン検索部３においては、テーブルＢが設定されており、このテーブルＢは、後述する図５に示す如く、テーブルＡに設定されたパターン抽出位置に従ってパターンを検索した場合、統計情報（カウント値）としてメモリ４に格納するためのアドレスオフセット値を決定するためのテーブルである。
［受信パケット例（パターン例）１］
このような図１に示した統計情報採取装置としての中継装置１の動作において、外部網からユーザＸ（図示せず）からのパケットＰ１を受信し、このユーザパケットＰ１が、Ｅｔｈｅｒ（登録商標）フレームであり、タグ識別子が設定されておらず（タグ無しフレーム）、ＩＰｖ４（Ｅｔｈｅｒｎｅｔ  ＩＩ形式）プロトコルと、ＴＣＰ宛先ポート番号“１００００”を使用したアプリケーション（例えば、所定の業務に関するデータ転送のアプリケーション）とに設定されているものとする（パケット例１）。
このようなパケット例１のパケットＰ１を受信したパターン抽出部２は、図１０に示したフレームフォーマット中から、テーブルＡのパケット種別とエラー種別を参照して、パケット種別として｛タグ無し＝“０”，タイプ値＝“０８００”（ＩＰｖ４），プロトコル値＝“６”（ＴＣＰ）｝を検索するとともに、エラー種別（ＴＴＬ）としてエラー無し＝“０”を検索し、このパケット例１のエントリのパターン抽出位置情報を用いてパターン検索部３におけるテーブルＢへの検索パターンを生成する。
今、このパケット例１として、図１０（１）または（３）に示すようなタグ無しＩＰｖ４フレームを使用し、ユーザＸを識別するための情報として、ＩＰ送信元アドレスを使用しているとすると、このパターン抽出位置情報は、テーブルＡのパケット例１に示すように、オフセット１＝２６バイト（ＭＡＣヘッダ１４バイト＋１２バイト（ＩＰｖ４ヘッダの送信元アドレスまでのバイト数））＊８ビット＝２０８ビットが設定され、長さ１＝４＊８ビット（ＩＰ送信元アドレスフィールドの長さ）＝３２ビットが設定されていることになる。
また、ＴＣＰ宛先ポート番号によりアプリケーションを特定して統計情報をカウントアップするためのパターン抽出位置情報として、このパケット例２では、オフセット２＝３６バイト（ＭＡＣヘッダ１４バイト＋ＩＰヘッダ２０バイト＋２バイト（ＴＣＰ宛先ポート番号までのバイト数））＊８ビット＝２８８ビットと、長さ２＝２＊８ビット（ＴＣＰ宛先ポート番号フィールドの長さ）＝１６ビットが設定されている。
従って、図３（１）に示す受信パケット例１の場合には、パターン抽出位置（２０８，３２）及び（２８８，１６）の２つのパターンを、同図において網掛けで示すようにこのパターン抽出位置の順番に従って連結し、同図（２）に示す検索パターンとして信号Ｓ２をパターン検索部３へ送る。
このような検索パターンを受信したパターン検索部３においては、この検索パターンに基づき、図５に示すテーブルＢから検索を行い、このパケット例１では、アドレス“１１００”においてヒットするので、このヒットアドレス“１１００”を信号Ｓ３としてパターン抽出部２に返す。
この信号Ｓ３を受けたパターン抽出部２は、テーブルＡにおいてパケット例１として設定されている統計情報ベースアドレス＝“８０００００００”に対してヒットアドレス“１１００”をオフセットとし、統計情報メモリ４へ信号Ｓ４としてアクセスアドレス“８００００１００”を送り、統計情報メモリ４を、図示の例では“１”にカウントアップさせる。
［受信パケット例（パターン例）２］
次に、外部網から受信したユーザＹ（図示せず）のパケットＰ１が、Ｅｔｈｅｒ（登録商標）とタグ有り（１段）とＩＰｖ４（Ｅｔｈｅｒｎｅｔ  ＩＩ形式）とＴＣＰとＴＣＰ宛先ポート番号“１１０００”を使用したアプリケーションで、ＴＴＬ＝“０”のエラーパケットであるものとする（パケット例２）。
このようなパケットＰ１を受信したとき、パターン抽出部２は、テーブルＡにおけるパケット種別フィールドとエラー種別フィールドを参照し、この例においては、パケット種別が｛タグ有り＝“１”，タイプ値＝“０８００（ＩＰｖ４）”，プロトコル値＝“６”（ＴＣＰ）｝であり、エラー種別がＴＴＬ＝“０”（エラー有り）に設定されているから、このようなパターンを検索し、このエントリのパターン抽出位置情報を用いてパターン検索部３への検索パターンを生成する。
今、ユーザＹを識別するための情報として、図１０（２）又は（４）に示すようなタグ有りＩＰｖ４フレームにおけるタグのＶＩＤを使用しているとすると、パターン抽出位置情報としては、オフセット１＝１４＊８＋４ビット＝１１６ビット（ＭＡＣ宛先アドレス・送信元アドレス１２バイト＋タグ識別子２バイト＋４ビット（タグＴＣＩのＶＩＤまでのビット数））と、長さ１＝１２ビット（ＶＩＤフィールドの長さ）が設定されていることになる。
また、ＴＣＰ宛先ポート番号によりアプリケーションを特定して統計情報をカウントするためのパターン抽出位置情報としてオフセット３＝４０バイト（タグ有り（１段）ＭＡＣヘッダ１８バイト＋ＩＰヘッダ２０バイト＋２バイト（ＴＣＰヘッダ宛先ポート番号までのバイト数）＊８ビット＝３２０ビットと、長さ３＝２＊８ビット（ＴＣＰ宛先ポート番号の長さ）＝１６ビットが設定されているとする。更には、エラーパケットを送信しているユーザＹを特定するために、ＩＰ送信元アドレス毎にエラーカウントを採取したい場合には、オフセット２＝３０バイト（タグ有り（１段）ＭＡＣヘッダ１８バイト＋１２バイト（ＩＰヘッダの送信元アドレスまでのバイト数））＊８ビット＝２４０ビットと、長さ２＝４＊８ビット（ＩＰ送信元アドレスフィールドの長さ）＝３２ビットを設定する。
従って、パターン抽出部２はパターン抽出位置（１１６，１２）と（２４０，３２）と（３２０，１６）のパターンを図４（１）に網掛けで示すように抽出して順番に連結し、同図（２）に示すように検索パターンの信号Ｓ２としてパターン検索部３へ与えることになる。
パターン検索部３では、図４（２）に示す検索パターンを検索した結果、テーブルＢにおいて、アドレス“０１００”においてヒットすることとなるので、この検索結果であるヒットアドレス“０１００”を信号Ｓ３としてパターン抽出部２に送り返す。パターン抽出部２ではテーブルＡにおける統計情報ベースアドレスに対してこのヒットアドレス“０１００”を付加したアクセスアドレス“８０００１００”を信号Ｓ４として統計情報メモリ４に与え、統計情報を、この例では“１０”にカウントアップすることになる。
このように、パターン検索部３はパターン抽出部２から送られて来た信号Ｓ２による検索パターンを用いて検索を行うが、ユーザ端末が数千以上存在するネットワーク等においては、予めテーブルＡ及びＢにおいて全て登録することは非常に無駄であるため登録していないことが多く検索は失敗する。
そこで、パターン抽出部２はパターン検索部３から信号Ｓ３として検索失敗である通知を受けると、検索パターンを生成するためにその受信パケットにおいて学習フラグが設定されているか否かをテーブルＡにおいて確認する。
この結果、受信パケット例１の場合には、学習フラグが“０”に設定されているので、これ以上の処理は実行しないが、受信パケット例２の場合には、学習フラグが“１”に設定されているので、もしパケット例２においてテーブルＢでミスヒットしたような場合には、パターン抽出部２は、点線で示す信号Ｓ５をパターン検索部３に送ってミスヒットした検索パターンをテーブルＢに新たに登録するように指示する。そして、この登録アドレスを統計情報ベースアドレスに対するオフセットとして用いて統計情報メモリ４へのメモリアドレスを生成し、統計情報のカウントアップを行うことになる。
【実施例２】  上記の実施例１の場合には、パターン抽出部２のテーブルＡにおいてパケット種別とエラー種別とパターン抽出位置を受信パケットに対して全てチェックし、図３及び図４に示すような検索パターンを生成する必要があり、この場合にはパターン抽出部２のソフトウェアによるデータ処理量が非常に大きくなってしまう。
そこで、実施例２においては、パターン抽出部２のテーブルＡ及びパターン検索部３のテーブルＢをそれぞれ分割し、各テーブルを部分的に相互に連携して検索することにより、パターン抽出部２の処理負担を軽減し以ってその動作をより高速化できるようにしたものである。
このため、まず図６に示すように、パターン抽出部２のテーブルＡを同図（１）に示すテーブルＡ−１と、同図（２）に示すテーブルＡ−２に分割している。
すなわち、テーブルＡ−１を、図２に示したテーブルＡにおけるパケット種別フィールドとエラー種別フィールドに関するテーブルで構成し、テーブルＡ−２を、テーブルＡにおける統計情報ベースアドレスと学習フラグとパターン抽出位置とを組み合わせたものとしている。
テーブルＡ−１においては、パケット（パターン）αとして、パターン抽出位置｛（９６，１６），（１７６，８），（１８４，８）｝が設定されており、これは、図１０（１）又は（３）に示すタグ無しＩＰｖ４フレームの場合において、「フレームタイプ」と「ＴＴＬ」と「プロトコル」の各フィールドを抽出するようにオフセット１〜３と長さ１〜３を規定したものである。またパケット（パターン）βの場合には、パターン抽出位置｛（９６，１６），（１２８，１６），（２０８，８），（２１６，８）｝が設定されており、この場合には、図１０（２）又は（４）に示すようにタグ識別子が設定されているＩＰｖ４フレームの場合に、このタグ識別子のビット数分だけオフセットと長さが加わったものである。
このようなテーブルＡ−１は、テーブルＡ−２に直接つながるのではなく、図７のテーブルＢを介して結合されるようになっている。すなわち、テーブルＡ−１のパケットαは、図７のテーブルＢにおけるアドレス“０００ａ”においてヒットする。これは、「フレームタイプ」フィールドの値が“０８００”であり、「ＴＴＬ」フィールドの値が“エラー無し”であり且つ「プロトコル」フィールドの値が“０６”でＴＣＰであることを示しているからである。
また、パケットβの場合には、図７のアドレス“０００８”においてヒットする。これは、オフセット１＝“９６”，長さ１＝“１６”においてタグの値“８１００”として設定されていることを示しており、その他は、このタグフィールドの分だけ、パケットαをずらした形で、“０８００”，“００”，“０６”がヒットしたためである。なお、「ＴＴＬ」＝“００”はエラー有りを示している。
このようにして、図７において検索パターンが検索された結果、この検索結果は信号Ｓ３を構成する信号Ｓ３＿１としてパターン検索部３からパターン抽出部２に送られるので、パケットαの場合にはヒットアドレス“０００ａ”に対応して、図２に示したテーブルＡのパケット例１と同様に、パターン抽出位置｛（２０８，３２），（２８８，１６）｝が検索され、この結果、パターン抽出部２からパターン検索部３に対しては、信号Ｓ２を構成する信号Ｓ２＿２として図３の例と同様にして図７においてテーブルＢの別のエリアで検索パターンのチェックが行われる。
この結果、図７のテーブルＢにおいては、アドレス“１１００”としてヒットすることになるので、上記の実施例１と同様に信号Ｓ４として統計情報メモリカウンタ４に信号４が与えられることになる。
また、パケットβの場合には、図７のテーブルＢにおいてヒットアドレス“０００８”としてパターン抽出部２に送られるので、パターン抽出部２においてはテーブルＡ−２を参照することにより、このヒットアドレス“０００８”に基づき、パターン抽出位置｛（１１６，１２），（２４０，３２），（３２０，１６）｝が信号Ｓ２＿２としてパターン検索部３に送られる。従って、パターン検索部３においてはテーブルＢを参照することにより、アドレス“０１００”においてヒットすることとなり、図４及び図５の場合と同様に信号４によって統計情報メモリ４をカウントアップすることになる。
【実施例３】  上記の実施例１及び２の場合には、全てテーブルを用いることによりソフトウェア処理（ファームウェア処理）で統計情報の採取を行っており、受信したパケットに対してそれぞれのテーブルを参照してパターン抽出位置を検索するのは、実施例２のようにテーブルを分割しても依然としてデータ処理量が大きくなってしまうという問題がある。
そこで、この実施例３においては、従来と同様にハードロジック構成したパケット識別部６を中継装置１に用い、このパケット識別部６の識別結果を信号Ｓ１としてパターン抽出部２に送るようにしたものである。
すなわち、パケット識別部６において、図９に示した従来例と同様にＬ２プロトコルヘッダ部６１とＬ３プロトコルヘッダ判別部６２とＬ３プロトコルヘッダ解析部６３とＬ４プロトコルヘッダ判別部６４とを設けることにより、重要と考えられる統計情報として不可欠な、パケットヘッダやユーザデータの解析、プロトコル種別の判定やユーザアプリケーションの特定、ユーザの特定、ユーザ毎の任意のフローの特定や、エラーパケットの判定等を予めハードウェアで実現し、その他の処理をテーブルを用いてソフトウェアで実行しようとするものである。
従ってパケット識別部６は、パケット種別とエラー種別情報及びパケットの全体もしくは静的に設定されたパターン抽出部２がパターン抽出するのに十分な長さのパケット情報をパケットＰ１としてパターン抽出部２に送っている。
上記の受信パケット例１の場合には、パケット識別部６は、タグ無しパケットであり、ＩＰｖ４＋ＴＣＰパケットであること、及びエラー無しパケットであることを検出し、信号Ｓ１としてパターン抽出部２に通知することになる。
パターン抽出部２は、このような信号Ｓ１とパケットＰ１を用いて上記のテーブルＡ又はＡ−１，Ａ−２を用いてパターン抽出位置情報を取り出すことになる。
また、上記の受信パケット例２の場合には、パケット識別部６は、タグ有り（１段）パケットであり、ＩＰｖ４＋ＴＣＰパケットであること、及びＴＴＬ＝“０”のエラーパケットであることをパターン検索部３に通知することとなる。そして、パターン検索部３はこのような信号Ｓ１に基づいて上記と同様の動作を実行する。
尚、上記の実施例では、フレームとして図１０を例にとって説明したが、本発明は、これらのフレームに限定されるものではなく、また、フレーム自身もＩＰｖ４に限定されず、ＩＰｖ６の場合も同様に適用可能であることは言うまでもない。
以上説明したように本発明に係る統計情報採取方法及び装置によれば、ユーザポリシーを反映した統計情報の採取を実現でき、また統計情報採取トリガが発生した際に統計情報メモリアドレスを割り当てることが実現でき、静的に採取登録が困難な統計情報についても採取することを実現可能としている。
【図１】
2005036834.tif 000003
【図２】
2005036834.tif 000004
【図３】
2005036834.tif 000005
【図４】
2005036834.tif 000006
【図５】
2005036834.tif 000007
【図６】
2005036834.tif 000008
【図７】
2005036834.tif 000009
【図８】
2005036834.tif 000010
【図９】
2005036834.tif 000011
【図１０】
2005036834.tif 000012
【国際調査報告】
2005036834.tif 000013
2005036834.tif 000014
2005036834.tif 000015
2005036834.tif 000016