(57)【特許請求の範囲】
【請求項１】
パケット種別とエラー種別とに対応するパターン抽出位置情報と学習フラグとを記録する第1のテーブルから、受信パケットに含まれるパケット種別とエラー種別とに対応するパターン抽出位置情報を取得する第1ステップと、
前記第1ステップにおいて取得された前記パターン抽出位置情報を用いて前記受信パケットの検索パターンを生成する第2ステップと、
検索パターンに対応する統計情報格納位置情報を記録する第2のテーブルを検索し、前記第2ステップにおいて生成された前記検索パターンに対応する統計情報格納位置情報を取得する第3ステップと、
前記第3ステップにおいて取得された前記統計情報格納位置情報に基づき、前記検索パターンに関する統計情報を更新する第4ステップと、
を備え、
前記第3ステップにおいて、前記検索パターンに対応する統計情報格納位置情報の検索が失敗した場合であって、かつ受信パケットに含まれるパケット種別とエラー種別とに対応する学習フラグが学習対象である旨を示すものであった場合にのみ、該検索パターンに対応する統計情報格納位置情報を前記第2テーブルに生成することを特徴とする統計情報採取方法。
【請求項２】
パケット種別とエラー種別とに対応するパターン抽出位置情報と学習フラグとを記録する第1のテーブルから、受信パケットに含まれるパケット種別とエラー種別とに対応するパターン抽出位置情報を取得する第1手段と、
前記第1手段において取得された前記パターン抽出位置情報を用いて前記受信パケットの検索パターンを生成する第2手段と、
検索パターンに対応する統計情報格納位置情報を記録する第2のテーブルを検索し、前記第2手段において生成された前記検索パターンに対応する統計情報格納位置情報を取得する第3手段と、
前記第3手段において取得された前記統計情報格納位置情報に基づき、前記検索パターンに関する統計情報を更新する第4手段と、
を備え、
前記第3手段において、前記検索パターンに対応する統計情報格納位置情報の検索が失敗した場合であって、かつ受信パケットに含まれるパケット種別とエラー種別とに対応する学習フラグが学習対象である旨を示すものであった場合にのみ、該検索パターンに対応する統計情報格納位置情報を前記第2テーブルに生成することを特徴とする統計情報採取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は統計情報採取方法及び装置に関し、特に中継装置等に関してユーザが希望する、すなわちユーザポリシーによる所望の統計情報を採取する方法及び装置に関するものである。
【背景技術】
【０００２】
図9は、従来の統計情報採取方法及び装置を示すもので、この従来例では特に中継装置1を対象としてユーザポリシーによる所望の統計情報（どのようなパケットがどのようなユーザ端末からどの位の数送られて来たか等の情報）を採取しようとするものである。
対象とする中継装置1には各種のハードロジックが組み込まれているが、この例では、その中の特にパケット識別部6に関して、外部網から受信したパケットP1を判別・解析することにより、ユーザポリシーに沿った統計情報を採取し、これを信号S10の形でカウンタとしての統計情報メモリ5に与えるものである。パケット識別部６を通過した後のパケットP2は他のハードロジックを経由して別の外部網へ送られる。
【０００３】
このため、パケット識別部6は、L2プロトコルヘッダ判別部61とL3プロトコルヘッダ判別部62とL3プロトコルヘッダ解析部（エラー判別部）63とL4プロトコルヘッダ判別部64とで構成されており、これらの判別部と解析部とを予めハードロジック構成することにより、ユーザポリシーによる所望の統計情報を採取しようとするものである。
すなわち、今、図10（1）〜（4）に示すようなタグ有りかタグ無しか、さらにはTCPプロトコルかUDPプロトコルかで分けられる4種類のIPv4フレームがパケットP1としてパケット識別部６に入力されるとき、まず、L2プロトコルヘッダ判別部61は、同図（1）及び（3）における「フレームタイプ／フレーム長」フィールドの値、又は同図（2）及び（4）に示す「タグ識別子」フィールドの値に基づいて、L３プロトコルを判別しようとするものである。これは、同図（2）及び（4）に示すタグ有りIPv4（TCP/UDP）フレームの場合には、図示のような所定の位置（オフセット値“96”，長さ“16”）においてタグ識別子の値“8100”（16進数で示す。以下同様。）が設定されており、ここにこのような値“8100”が設定されていない場合には、同図（1）及び（3）に示すようなタグ無しIPv4フレームの「フレームタイプ／フレーム長」フィールド（TCP/UDPプロトコル種別）が設定されていることを示している。
【０００４】
また、L3プロトコルヘッダ判別部62は、図10（1）〜（4）に示す各IPv4フレームにおける「プロトコル」フィールドにおけるプロトコル種別「TCP」又は「UDP」、或いは「IP送信元アドレス」フィールドの値によるユーザの特定を行うものであり、更にL3プロトコルヘッダ解析部（エラー判別部）63は、「TTL（Time To Live）」フィールドの値によりエラーパケットの判別を行うものであり、更にはL4プロトコルヘッダ判別部64は、「宛先ポート番号」フィールドの値によってユーザアプリケーションの判別やユーザ毎の任意のフローの特定を行うように予めハードロジックが設定されている。
【０００５】
このような判別部61, 62, 64による判別結果及び解析部63による解析結果は信号S10として統計情報メモリ（カウンタ）5にユーザポリシーに基づく統計情報として与えられる。
また、図示していないが、この他に、「MAC宛先アドレス」と「フレームタイプ」と「IP宛先アドレス」との組み合わせにより、IPv4ユニキャストルーティングフレーム数やIPv4マルチキャストルーティングフレーム数をカウントすることができ、また「MAC宛先アドレス」によりユニキャストブリッジングフレーム数やマルチキャストブリッジングフレーム数をカウントすることが可能となる。
【０００６】
一方、回路ボードに設けたメモリに回路インタフェースで検出した障害情報を一時的に記憶しておき、制御部からの転送指示に応答して、上記の回路ボードから制御部に障害情報の統計値を通知し、制御部からの別の転送指示に応答して上記の回路ボードから制御部に上記の障害情報の詳細を通知するようにした障害情報処理方法がある（例えば、特許文献1参照。）。
【特許文献１】特開平10‐23011号公報（第7欄［0015］、図1）
【発明の開示】
【０００７】
上記のような従来の統計情報採取方法及び装置の場合には、ユーザポリシーを変更して採取すべき統計情報を変更するような場合に柔軟に対応できないという問題がある。
すなわち、図9に示したようなハードロジック構成のパケット識別部6の場合には、数千〜数万のユーザトラヒックを束ねているネットワーク中継装置（ルータ装置）において、ユーザポリシーを変更することに対応するためには、ハードロジックを大規模に構成する必要があり、このような従来の方式ではハードウェア的に実現が困難になって来ている。
【０００８】
また、例えば、特定のエラーが発生した場合に、IP送信元アドレスやIP宛先アドレスの組毎にエラーフレーム数をカウントすることが必要になった場合、予めハードロジックで決められた採取すべきカウンタを決定する方式では、これに対応して非常に多くの統計情報カウンタが必要になるため、統計情報メモリの容量が非常に大きくなってしまうという問題があった。
【０００９】
従って本発明は、ユーザポリシーにより採取すべき統計情報の種類が変化する場合、及び事前に統計情報の種類が特定できない場合において、対応可能な統計情報採取方法及び装置を提供することを目的とする。
上記の目的を達成するため、本発明に係る統計情報採取方法は、パケット種別とエラー種別とに対応するパターン抽出位置情報と学習フラグとを記録する第1のテーブルから、受信パケットに含まれるパケット種別とエラー種別とに対応するパターン抽出位置情報を取得する第1ステップと、前記第1ステップにおいて取得された前記パターン抽出位置情報を用いて前記受信パケットの検索パターンを生成する第2ステップと、検索パターンに対応する統計情報格納位置情報を記録する第2のテーブルを検索し、前記第2ステップにおいて生成された前記検索パターンに対応する統計情報格納位置情報を取得する第3ステップと、前記第3ステップにおいて取得された前記統計情報格納位置情報に基づき、前記検索パターンに関する統計情報を更新する第4ステップと、を備え、前記第3ステップにおいて、前記検索パターンに対応する統計情報格納位置情報の検索が失敗した場合であって、かつ受信パケットに含まれるパケット種別とエラー種別とに対応する学習フラグが学習対象である旨を示すものであった場合にのみ、該検索パターンに対応する統計情報格納位置情報を前記第2テーブルに生成することを特徴としている。
【００１０】
すなわち本発明では、ユーザポリシーを反映したパターンを検索できるようにするためのテーブルを設定しておき、設定したテーブルに基づいて、受信したパケットの中から上記のユーザポリシーを反映したパターンを検索し、検索したパターンの統計情報を記憶するようにしたものであり、テーブルを、ユーザポリシーに対応して変更できることにより、種々のパターンを検索し、以ってそのパターンの統計情報を記憶することが可能となる。
【００１１】
そして、上記のテーブルに、該受信パケットを学習対象とすべきか否かを設定することができ、この場合、該パターンを検索できなかったときには該テーブルにおいて該受信パケットが学習対象に設定されていれば、該検索できなかったパターンを該テーブルに加える。
これにより、予め統計情報の種類が特定できない場合においても、学習により、そのような特定できないパターンの統計情報として新たに記憶することが可能となる。
【００１２】
また、第1テーブルに、パケット種別、エラー種別、及びこれらの種別に対応する受信パケット内のパターン抽出位置を設定し、更に第2テーブルに、該パターン抽出位置に対応する検索パターンを設定することも可能である。
更に、上記の第1及び第2テーブルをそれぞれ分割して設定しておき、各テーブルを部分的に相互に連携して検索するようにしてもよい。
【００１３】
このように、テーブルの個数を増やすことにより、パターンの検索を小さなメモリ間で行ってから統計情報をメモリに蓄積できるという利点がある。
そして、該受信パケットの種別が、該第1テーブルに設定された両種別に該当する場合のみ、両種別に対応した該パターン抽出位置の検索パターンを該第2テーブルから検索することが可能となる。
【００１４】
一方、該パケット種別及びエラー種別をハードロジックに設定することも可能であり、このような場合、該ハードロジックによって識別されたパケット種別及びエラー種別に基づき、該第1テーブルから該パターン抽出位置を検索し、更に該第2テーブルから、該パターン抽出位置に対応する検索パターンを検索することも可能である。
【００１５】
このように、予め重要と思われるパケット種別やエラー種別は必ず判定或いは解析するものとして、ハードロジックへの設定は従来と同様に行って置き、その他のテーブルにおいてユーザポリシーを反映させることにより、判定又は解析処理速度を向上させることができる。
なお、上記の通り検索したパターンをカウントし、そのカウント値を該統計情報とすることもできる。
【００１６】
上記の本発明に係る統計情報採取方法を実現する装置においては、パケット種別とエラー種別とに対応するパターン抽出位置情報と学習フラグとを記録する第1のテーブルから、受信パケットに含まれるパケット種別とエラー種別とに対応するパターン抽出位置情報を取得する第1手段と、前記第1手段において取得された前記パターン抽出位置情報を用いて前記受信パケットの検索パターンを生成する第2手段と、検索パターンに対応する統計情報格納位置情報を記録する第2のテーブルを検索し、前記第2手段において生成された前記検索パターンに対応する統計情報格納位置情報を取得する第3手段と、前記第3手段において取得された前記統計情報格納位置情報に基づき、前記検索パターンに関する統計情報を更新する第4手段と、を備え、前記第3手段において、前記検索パターンに対応する統計情報格納位置情報の検索が失敗した場合であって、かつ受信パケットに含まれるパケット種別とエラー種別とに対応する学習フラグが学習対象である旨を示すものであった場合にのみ、該検索パターンに対応する統計情報格納位置情報を前記第2テーブルに生成することができる。
【発明を実施するための最良の形態】
【００１７】
実施例1
図1は、本発明に係る統計情報採取方法を実現する装置の一実施例を示したものである。この実施例において、統計情報採取装置の対象となる中継装置1は、パターン抽出部2と、CAM等で構成されたパターン検索部3と、カウンタである統計情報メモリ4とユーザポリシーに従って種々の設定を行うCPU5とで構成されている。
【００１８】
パターン抽出部2は、図2に示すテーブルAを備えており、このテーブルAは、パターン抽出にユーザポリシーを反映するためのパターンを検索するためのテーブルを構成しており、エントリ（ENT）とパケット種別とエラー種別とパターン抽出位置と統計情報ベースアドレスと学習フラグとで構成されている。
すなわち、このテーブルAでは、
1. タグの有無の確認
2. IPv4フレームであることの確認
3. TCPプロトコルであることの確認
4. エラー無しフレームであることの確認
をパケット種別及びエラー種別で行うとともに、これらの種別に対応してパターン抽出位置を設定し、このパターン抽出位置に対応して統計情報ベースアドレス及び学習フラグを参照するものである。
【００１９】
このため、パケット種別は、｛タグの有無，タイプ値，プロトコル値｝で構成され、「タグの有無」は、図10に示したように、所定のフィールドにタグ識別子の値“8100”が設定されていれば、タグ有り＝“1”であり、設定されていなければタグ無し＝“0”に設定される。「タイプ値」は同図に示す「フレームタイプ」フィールドにおいて、フレームがIPv4であれば、値“0800”に設定されているものである。「プロトコル値」は、同図における「プロトコル」フィールドにおいてTCPプロトコルであれば“6”に設定されているものとしてパケット種別がなされる。
【００２０】
また、エラー種別は、同図における「TTL」フィールドにおいて“00”の場合にはエラー有りパケット（フレーム）として、“1”が設定されることになる。
図2のパケット例（パターン例）1では、受信パケットのパターン検索のためのパケット種別は｛0,0800,6｝であり、従ってタグ識別子“8100”が設定されていないパケットに対して、タイプ値が“0800”でフレームがIPv4であり、且つプロトコル値＝“6”であるためTCPに設定されていることが示されており、「TTL」フィールドにおいてはエラー無しに設定されているパケットを検索対象とすることが示されている。パケット例（パターン例）2の場合には、受信パケットのパターン検索のためのパケット種別が｛1,0800,6｝であるから、タグ有り“1”に設定されているパケットに対して、タイプ値＝“0800”でIPv4フレームに設定されており、プロトコル値＝“6”でTCPプロトコルが設定されており、エラー種別はエラー有り“1”に設定されているパケットを検索対象とすることが示されている。
【００２１】
そして、パケット例1の場合には、検索対象パターン抽出位置として、2つのオフセットと長さ（オフセット1＝“208”，長さ1＝“32”；オフセット2＝“288”，長さ2＝“16”）が設定されており、パケット例2の場合には、3つのオフセットと長さが（オフセット1＝“116”，長さ1＝“12”；オフセット2＝“240”，長さ2＝“32”；オフセット3＝“320”，長さ3＝“16”）が設定されている。なお、これらのパケット例1及び2において統計情報ベースアドレス“80000000”が設定されているとともに、学習フラグとしてそれぞれ“0”（学習無し）、“1”（学習有り）が設定されている。これらについては後述する。
【００２２】
また、パターン検索部3においては、テーブルBが設定されており、このテーブルBは、後述する図5に示す如く、テーブルAに設定されたパターン抽出位置に従ってパターンを検索した場合、統計情報（カウント値）としてメモリ４に格納するためのアドレスオフセット値を決定するためのテーブルである。
［受信パケット例（パターン例）１］
このような図1に示した統計情報採取装置としての中継装置1の動作において、外部網からユーザX（図示せず）からのパケットP1を受信し、このユーザパケットＰ1が、Ether（登録商標）フレームであり、タグ識別子が設定されておらず（タグ無しフレーム）、IPv4（Ethernet(登録商標) II形式）プロトコルと、TCP宛先ポート番号“10000”を使用したアプリケーション（例えば、所定の業務に関するデータ転送のアプリケーション）とに設定されているものとする（パケット例１）。
【００２３】
このようなパケット例1のパケットＰ１を受信したパターン抽出部2は、図10に示したフレームフォーマット中から、テーブルAのパケット種別とエラー種別を参照して、パケット種別として｛タグ無し＝“0”，タイプ値＝“0800”（IPv4），プロトコル値＝“6”（TCP）｝を検索するとともに、エラー種別（TTL）としてエラー無し＝“0”を検索し、このパケット例1のエントリのパターン抽出位置情報を用いてパターン検索部3におけるテーブルBへの検索パターンを生成する。
【００２４】
今、このパケット例１として、図10（1）または（3）に示すようなタグ無しIPv4フレームを使用し、ユーザＸを識別するための情報として、IP送信元アドレスを使用しているとすると、このパターン抽出位置情報は、テーブルAのパケット例1に示すように、オフセット1＝26バイト（MACヘッダ14バイト＋１２バイト（IPv4ヘッダの送信元アドレスまでのバイト数））＊8ビット＝208ビットが設定され、長さ1＝4＊8ビット（IP送信元アドレスフィールドの長さ）＝32ビットが設定されていることになる。
【００２５】
また、TCP宛先ポート番号によりアプリケーションを特定して統計情報をカウントアップするためのパターン抽出位置情報として、このパケット例2では、オフセット2＝36バイト（MACヘッダ14バイト＋IPヘッダ20バイト＋2バイト（TCP宛先ポート番号までのバイト数））＊8ビット＝288ビットと、長さ2＝2＊8ビット（TCP宛先ポート番号フィールドの長さ）＝16ビットが設定されている。
【００２６】
従って、図3（1）に示す受信パケット例1の場合には、パターン抽出位置（208,32）及び（288,16）の2つのパターンを、同図において網掛けで示すようにこのパターン抽出位置の順番に従って連結し、同図（2）に示す検索パターンとして信号S2をパターン検索部3へ送る。
このような検索パターンを受信したパターン検索部3においては、この検索パターンに基づき、図5に示すテーブルＢから検索を行い、このパケット例１では、アドレス“1100”においてヒットするので、このヒットアドレス“1100”を信号S3としてパターン抽出部2に返す。
【００２７】
この信号S3を受けたパターン抽出部2は、テーブルAにおいてパケット例1として設定されている統計情報ベースアドレス＝“80000000”に対してヒットアドレス“1100”をオフセットとし、統計情報メモリ4へ信号S4としてアクセスアドレス“80000100”を送り、統計情報メモリ4を、図示の例では“１”にカウントアップさせる。
［受信パケット例（パターン例）2］
次に、外部網から受信したユーザY（図示せず）のパケットP1が、Ether（登録商標）とタグ有り（1段）とIPv4(Ethernet(登録商標) II形式)とTCPとTCP宛先ポート番号“11000”を使用したアプリケーションで、TTL＝“0”のエラーパケットであるものとする（パケット例２）。
【００２８】
このようなパケットP1を受信したとき、パターン抽出部2は、テーブルAにおけるパケット種別フィールドとエラー種別フィールドを参照し、この例においては、パケット種別が｛タグ有り＝“1”，タイプ値＝“0800（IPv4）”，プロトコル値＝“6”（TCP）｝であり、エラー種別がTTL＝“0”（エラー有り）に設定されているから、このようなパターンを検索し、このエントリのパターン抽出位置情報を用いてパターン検索部3への検索パターンを生成する。
【００２９】
今、ユーザYを識別するための情報として、図10（2）又は（4）に示すようなタグ有りIPv4フレームにおけるタグのVIDを使用しているとすると、パターン抽出位置情報としては、オフセット1＝14＊8＋4ビット＝116ビット（MAC宛先アドレス・送信元アドレス12バイト＋タグ識別子2バイト＋4ビット（タグTCIのVIDまでのビット数））と、長さ1＝12ビット（VIDフィールドの長さ）が設定されていることになる。
【００３０】
また、TCP宛先ポート番号によりアプリケーションを特定して統計情報をカウントするためのパターン抽出位置情報としてオフセット3＝40バイト（タグ有り（1段）MACヘッダ18バイト＋IPヘッダ20バイト＋2バイト（TCPヘッダ宛先ポート番号までのバイト数）＊8ビット＝320ビットと、長さ3＝2＊8ビット（TCP宛先ポート番号の長さ）＝16ビットが設定されているとする。更には、エラーパケットを送信しているユーザYを特定するために、IP送信元アドレス毎にエラーカウントを採取したい場合には、オフセット2＝30バイト（タグ有り（1段）MACヘッダ18バイト＋12バイト（IPヘッダの送信元アドレスまでのバイト数））＊8ビット＝240ビットと、長さ2＝4＊8ビット（IP送信元アドレスフィールドの長さ）＝32ビットを設定する。
【００３１】
従って、パターン抽出部2はパターン抽出位置(116,12)と(240,32)と(320,16)のパターンを図4（1）に網掛けで示すように抽出して順番に連結し、同図（2）に示すように検索パターンの信号S2としてパターン検索部3へ与えることになる。
パターン検索部3では、図4（2）に示す検索パターンを検索した結果、テーブルBにおいて、アドレス“0100”においてヒットすることとなるので、この検索結果であるヒットアドレス“0100”を信号S3としてパターン抽出部2に送り返す。パターン抽出部2ではテーブルAにおける統計情報ベースアドレスに対してこのヒットアドレス“0100”を付加したアクセスアドレス“8000100”を信号Ｓ4として統計情報メモリ4に与え、統計情報を、この例では“10”にカウントアップすることになる。
【００３２】
このように、パターン検索部3はパターン抽出部2から送られて来た信号Ｓ2による検索パターンを用いて検索を行うが、ユーザ端末が数千以上存在するネットワーク等においては、予めテーブルA及びBにおいて全て登録することは非常に無駄であるため登録していないことが多く検索は失敗する。
そこで、パターン抽出部2はパターン検索部3から信号S3として検索失敗である通知を受けると、検索パターンを生成するためにその受信パケットにおいて学習フラグが設定されているか否かをテーブルAにおいて確認する。
【００３３】
この結果、受信パケット例１の場合には、学習フラグが“0”に設定されているので、これ以上の処理は実行しないが、受信パケット例2の場合には、学習フラグが“1”に設定されているので、もしパケット例2においてテーブルBでミスヒットしたような場合には、パターン抽出部２は、点線で示す信号Ｓ５をパターン検索部３に送ってミスヒットした検索パターンをテーブルBに新たに登録するように指示する。そして、この登録アドレスを統計情報ベースアドレスに対するオフセットとして用いて統計情報メモリ4へのメモリアドレスを生成し、統計情報のカウントアップを行うことになる。
【００３４】
実施例2
上記の実施例1の場合には、パターン抽出部2のテーブルAにおいてパケット種別とエラー種別とパターン抽出位置を受信パケットに対して全てチェックし、図3及び図4に示すような検索パターンを生成する必要があり、この場合にはパターン抽出部2のソフトウェアによるデータ処理量が非常に大きくなってしまう。
【００３５】
そこで、実施例2においては、パターン抽出部2のテーブルA及びパターン検索部３のテーブルBをそれぞれ分割し、各テーブルを部分的に相互に連携して検索することにより、パターン抽出部2の処理負担を軽減し以ってその動作をより高速化できるようにしたものである。
このため、まず図6に示すように、パターン抽出部2のテーブルAを同図（1）に示すテーブルA-1と、同図（2）に示すテーブルA-2に分割している。
【００３６】
すなわち、テーブルA-1を、図2に示したテーブルAにおけるパケット種別フィールドとエラー種別フィールドに関するテーブルで構成し、テーブルA-2を、テーブルAにおける統計情報ベースアドレスと学習フラグとパターン抽出位置とを組み合わせたものとしている。
テーブルA-1においては、パケット（パターン）αとして、パターン抽出位置｛(96,16),(176,8),(184,8)｝が設定されており、これは、図10（1）又は（3）に示すタグ無しIPv4フレームの場合において、「フレームタイプ」と「TTL」と「プロトコル」の各フィールドを抽出するようにオフセット1〜3と長さ1〜3を規定したものである。またパケット（パターン）βの場合には、パターン抽出位置｛(96,16),(128,16),(208,8),(216,8)｝が設定されており、この場合には、図10（2）又は（4）に示すようにタグ識別子が設定されているIPv4フレームの場合に、このタグ識別子のビット数分だけオフセットと長さが加わったものである。
【００３７】
このようなテーブルA-1は、テーブルA-2に直接つながるのではなく、図7のテーブルBを介して結合されるようになっている。すなわち、テーブルA-1のパケットαは、図7のテーブルBにおけるアドレス“000a”においてヒットする。これは、「フレームタイプ」フィールドの値が“0800”であり、「TTL」フィールドの値が“エラー無し”であり且つ「プロトコル」フィールドの値が“06”でTCPであることを示しているからである。
【００３８】
また、パケットβの場合には、図7のアドレス“0008”においてヒットする。これは、オフセット1＝“96”，長さ1＝“16”においてタグの値“8100”として設定されていることを示しており、その他は、このタグフィールドの分だけ、パケットαをずらした形で、“0800”，“00”，“06”がヒットしたためである。なお、「TTL」＝“00”はエラー有りを示している。
【００３９】
このようにして、図7において検索パターンが検索された結果、この検索結果は信号S3を構成する信号S3_1としてパターン検索部3からパターン抽出部2に送られるので、パケットαの場合にはヒットアドレス“000a”に対応して、図2に示したテーブルAのパケット例1と同様に、パターン抽出位置｛(208,32),(288,16)｝が検索され、この結果、パターン抽出部2からパターン検索部3に対しては、信号S2を構成する信号S2_2として図3の例と同様にして図7においてテーブルＢの別のエリアで検索パターンのチェックが行われる。
【００４０】
この結果、図7のテーブルBにおいては、アドレス“1100”としてヒットすることになるので、上記の実施例1と同様に信号S4として統計情報メモリカウンタ4に信号4が与えられることになる。
また、パケットβの場合には、図7のテーブルBにおいてヒットアドレス“0008”としてパターン抽出部2に送られるので、パターン抽出部2においてはテーブルA-2を参照することにより、このヒットアドレス“0008”に基づき、パターン抽出位置｛(116,12),(240,32),(320,16)｝が信号S2_2としてパターン検索部3に送られる。従って、パターン検索部3においてはテーブルBを参照することにより、アドレス“0100”においてヒットすることとなり、図4及び図5の場合と同様に信号4によって統計情報メモリ4をカウントアップすることになる。
【００４１】
実施例3
上記の実施例1及び2の場合には、全てテーブルを用いることによりソフトウェア処理（ファームウェア処理）で統計情報の採取を行っており、受信したパケットに対してそれぞれのテーブルを参照してパターン抽出位置を検索するのは、実施例２のようにテーブルを分割しても依然としてデータ処理量が大きくなってしまうという問題がある。
【００４２】
そこで、この実施例3においては、従来と同様にハードロジック構成したパケット識別部6を中継装置1に用い、このパケット識別部6の識別結果を信号S1としてパターン抽出部2に送るようにしたものである。
すなわち、パケット識別部6において、図9に示した従来例と同様にL2プロトコルヘッダ部61とL3プロトコルヘッダ判別部62とL3プロトコルヘッダ解析部63とL4プロトコルヘッダ判別部64とを設けることにより、重要と考えられる統計情報として不可欠な、パケットヘッダやユーザデータの解析、プロトコル種別の判定やユーザアプリケーションの特定、ユーザの特定、ユーザ毎の任意のフローの特定や、エラーパケットの判定等を予めハードウェアで実現し、その他の処理をテーブルを用いてソフトウェアで実行しようとするものである。
【００４３】
従ってパケット識別部6は、パケット種別とエラー種別情報及びパケットの全体もしくは静的に設定されたパターン抽出部2がパターン抽出するのに十分な長さのパケット情報をパケットP1としてパターン抽出部2に送っている。
上記の受信パケット例1の場合には、パケット識別部6は、タグ無しパケットであり、IPv4＋TCPパケットであること、及びエラー無しパケットであることを検出し、信号S1としてパターン抽出部2に通知することになる。
【００４４】
パターン抽出部2は、このような信号S1とパケットP1を用いて上記のテーブルA又はA-1,A-2を用いてパターン抽出位置情報を取り出すことになる。
また、上記の受信パケット例2の場合には、パケット識別部6は、タグ有り（1段）パケットであり、IPv4＋TCPパケットであること、及びTTL＝“0”のエラーパケットであることをパターン検索部3に通知することとなる。そして、パターン検索部3はこのような信号S1に基づいて上記と同様の動作を実行する。
【００４５】
尚、上記の実施例では、フレームとして図10を例にとって説明したが、本発明は、これらのフレームに限定されるものではなく、また、フレーム自身もIPv4に限定されず、IPv6の場合も同様に適用可能であることは言うまでもない。
以上説明したように本発明に係る統計情報採取方法及び装置によれば、ユーザポリシーを反映した統計情報の採取を実現でき、また統計情報採取トリガが発生した際に統計情報メモリアドレスを割り当てることが実現でき、静的に採取登録が困難な統計情報についても採取することを実現可能としている。
【図面の簡単な説明】
【００４６】
【図１】本発明に係る統計情報採取方法を実現する装置の一実施例を示したブロック図である。
【図２】図1に示した実施例に用いられるパターン抽出部内のテーブルAの一実施例を示した図である。
【図３】図2に示したテーブルAを参照して検索されるパケット例１を示した図である。
【図４】図2に示したテーブルAを参照して検索されるパケット例２を示した図である。
【図５】図1に示した実施例に用いられるパターン検索部内のテーブルBと統計情報メモリ（カウンタ）との関係例を示した図である。
【図６】図1に示した実施例に用いられるパターン抽出部内のテーブルAの別の実施例を示した図である。
【図７】図1に示した実施例に用いられるパターン検索部内のテーブルBの別の実施例であって、図6に示したテーブルAに対応したものを示した図である。
【図８】本発明に係る統計情報採取方法を実現する装置の他の実施例を示したブロック図である。
【図９】本発明及び従来技術で用いられるハードロジック構成のパケット識別部を用いて従来の統計情報採取方法を実現する装置を示したブロック図である。
【図１０】本発明及び従来技術で用いられる各種のIPv4フレームを示したフォーマット図である。
【符号の説明】
【００４７】
1  中継装置
2  パターン抽出部
3  パターン検索部
4  統計情報メモリ（カウンタ）
5  CPU
A, A-1, A-2, B  テーブル
6  パケット識別部
61  L2プロトコルヘッダ判別部
62  L3プロトコルヘッダ判別部
63  L3プロトコルヘッダ解析部（エラー判別部）
64  L4プロトコルヘッダ判別部
図中、同一符号は同一または相当部分を示す。
【図１】
0004152412.tif 000002
【図２】
0004152412.tif 000003
【図３】
0004152412.tif 000004
【図４】
0004152412.tif 000005
【図５】
0004152412.tif 000006
【図６】
0004152412.tif 000007
【図７】
0004152412.tif 000008
【図８】
0004152412.tif 000009
【図９】
0004152412.tif 000010
【図１０】
0004152412.tif 000011