(57)【要約】【課題】既登録の識別データに影響を与えずに識別データの登録を容易にすることができ、種々のサービス向上のために種々のヘッダパターンにも対応可能にする。【解決手段】本発明のフロー識別装置は、受信パケットのヘッダ情報を識別し、その識別結果に応じて所定の処理を行なうフロー識別装置において、受信パケットのヘッダ情報に所定の検索データが含まれているか否かを識別する１又は複数の識別データを、１又は複数の所定の識別グループ単位で格納する識別データ格納手段と、受信パケットのヘッダ情報から検索データを抽出する検索データ抽出手段と、抽出した検索データと、識別データ格納手段に格納されている各識別データとを比較する検索データ比較手段と、検索データ比較手段による比較結果に基づいて所定の処理内容を実行する処理実行手段とを備えることを特徴とする。【選択図】      図１
2008017216.tif 000002
【特許請求の範囲】
【請求項１】
受信パケットのヘッダ情報を識別し、その識別結果に応じて所定の処理を行なうフロー識別装置において、
上記受信パケットのヘッダ情報に所定の検索データが含まれているか否かを識別する１又は複数の識別データを、１又は複数の所定の識別グループ単位で格納する識別データ格納手段と、
上記受信パケットのヘッダ情報から検索対象とする検索データを抽出する検索データ抽出手段と、
上記検索データ抽出手段が抽出した検索データと、上記識別データ格納手段に格納されている上記各識別データとを比較する検索データ比較手段と、
上記検索データ比較手段による比較結果に基づいて所定の処理内容を実行する処理実行手段と
を備えることを特徴とするフロー識別装置。
【請求項２】
上記各識別グループ単位で格納される上記各識別データが、所定のリンク情報により、他の上記識別グループ単位の上記各識別データと対応付けられており、
上記検索データ比較手段が、上記リンク情報を辿って得た他の上記識別グループ単位の上記各識別データと、上記ヘッダ情報中の検索データとの比較も行なうことを特徴とする請求項１に記載のフロー識別装置。
【請求項３】
上記処理実行手段が実行する１又は複数の処理内容を上記各識別データと対応付けて格納するものであり、上記各処理内容の実行条件具備を識別するために必要な検索データの抽出内容も格納する処理内容格納手段を備え、
上記検索データ抽出手段が、上記抽出内容に基づいて上記ヘッダ情報から所定の検索データを抽出し、上記検索データ比較手段に引き渡すことを特徴とする請求項２に記載のフロー識別装置。
【請求項４】
受信パケットのヘッダ情報を識別し、その識別結果に応じて所定の処理を行なうフロー識別装置の識別データ登録方法において、
上記受信パケットのヘッダ情報に所定の検索データが含まれているか否かを識別する１又は複数の識別データを格納する識別データ格納手段を備え、
グループ特定情報生成手段が、外部から識別データの登録指示を受けると、登録指示された上記識別データが属す識別グループを特定するためのグループ特定情報を生成するグループ特定情報生成工程と、
リンク情報生成手段が、上記識別データ格納手段に既に格納されている上記各識別データのうち、これから登録する上記識別データと関連する上記識別データと対応付けるためのリンク情報を生成するリンク情報生成工程と、
登録指示された上記識別データと、上記グループ特定情報と、上記リンク情報とをそれぞれ対応付けて、所定のグループ単位で上記識別データ格納手段に登録する識別データ登録工程と
を有することを特徴とする識別データ登録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フロー識別装置及び識別データ登録方法に関し、例えば、ＩＰ（Internet  Protocol）ネットワーク等のネットワークにおいて、受信したパケットのヘッダ情報を識別する装置に適用し得る。
【背景技術】
【０００２】
近年、スケーラブルなネットワークアーキテクチャやセキュリティの向上、サービス品質機能の統合などに対応するため、ＩＰｖ６が導入されはじめている。
【０００３】
ＩＰｖ６では、ＩＰヘッダの構成が単純化され、パケット処理のオーバーヘッドが減少したが、送信元アドレスや宛先アドレスが従来のＩＰｖ４での３２ビットに対し１２８ビットにもなるなどフロー識別に必要なビット幅が増えている。また、拡張ヘッダによる、より複雑な処理にも対応できるようになっている。
【０００４】
これらの各種サービスを実現するためには、拡張ヘッダの情報もフロー識別できることが必要となる。
【０００５】
従来、ヘッダ情報を識別するフロー識別方法には、主に、ツリー方式と連想記憶メモリ（Content  Addressable  Memory：CAM）を用いた方法がある。
【０００６】
ツリー方式は、図２に示すように、検索対象である検索データを所定の識別項目毎に分解し、階層的なツリー構造をメモリ記憶装置に生成して、ソフトウェアやハードウェアで検索する方法である。
【０００７】
しかし、ツリー方式を採用したフロー識別方法を用いて、ＩＰｖ６対応の検索データを識別しようとすると、図２に示すように、拡張ヘッダによる識別項目の増加に伴い、検索データが増加し、ツリーの階層が深くなる。そのため、検索回数の増加やメモリ参照回数の増加等が生じて検索速度が遅くなるという問題や、また、検索データの変更のたびにツリーの再構築が必要となりリアルタイムの変更ができないという問題が生じ得る。
【０００８】
連想記憶メモリを用いた方法は、図３に示すように、連想記憶メモリ１１０と処理内容格納メモリ１２０とを備え、ソフトウェアやハードウェアで検索する方法である。連想記憶メモリ１１０には、予めパケットを識別するための識別データが登録されており、処理内容格納メモリ１２０には、識別データに対応付けられた処理内容が格納されている。
【０００９】
そして、入力した検索データと識別データとの一致・不一致を比較し、識別データと一致した場合に、その識別データに対応付けられた処理内容を実行させる方法である。連想記憶メモリを用いた方法によれば、複数の検索データを同時比較が可能であるため、非常に高速な検索が可能となる。
【００１０】
しかし、従来の連想記憶メモリを用いた方法は、検索可能なビット幅がデバイスの処理能力に依存してしまうため、ＩＰｖ６の複数の拡張ヘッダを検索データに加えた場合には、検索可能ビット幅を超えてしまう可能性もある。この場合、サービス要求の多様化に相応して、多ビット化した検索データの検索ができず、実現できるサービスにおいても制限される可能性がある。
【００１１】
このような問題を解決する技術として、特許文献１に開示される技術がある。特許文献１は、検索対象である検索データの中から所定の検索データを抽出し、連想記憶メモリを用いて抽出した検索データと識別データとの比較を行なうことで、検索可能ビット幅以上の検索データであっても検索を実現する技術が開示されている。
【００１２】
【特許文献１】特開２００３−２２９８９９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上述したように、特許文献１に開示の技術を採用すると、入力した検索データから抽出した１又は複数の検索データと、連想記憶メモリ上の各識別データとを比較し、各識別データと一致した場合に所定の処理を実現することができる。
【００１４】
しかしながら、運用中システムのセキュリティやサービスを向上させるために、入力した検索データから抽出するデータを変更することが必要となる場合がある。この場合、検索データの抽出方法の最適化や、連想記憶メモリ上の識別データの追加、変更、再登録などが必要となるという問題がある。
【００１５】
例えば、図４は、連想記憶メモリ上の識別データ例を示す。図４（ａ）には、ＩＰ／ＴＣＰ対応の識別データと、ＩＰ／ＵＤＰ対応の識別データとの２個の登録データが登録されている様子を示す。なお、図４では、２個の識別データの１段目のデータ構成は共通するので、ＩＰ／ＵＤＰ対応の識別データの１段目のデータ構成の表記は省略している。
【００１６】
このとき、例えば、識別データの２段目に「経路制御ヘッダのタイプ」を追加しようとする場合、図４（ｂ）に示すように、「送信元ポート」と「Ｌｉｎｋ情報」との間に、新たに追加する必要があり、また例えば、「認証ヘッダのＳＰＩ」を追加使用とする場合、図４（ｃ）に示すように、「タイプ」と「Ｌｉｎｋ情報」との間に新たに追加する必要がある。このように、新たな検索データを追加する場合、識別データの構成をすべて変更しなければならないという問題がある。
【００１７】
また、連想記憶メモリを用いて検索データの一致比較をする際、入力した検索データの中から、２段目の検索データのすべてを抽出完了してからでないと、検索開始できないという制約がある。
【００１８】
そのため、多様なサービスを実現するために、あるパケットに対しては「経路制御ヘッダのタイプ」と「認証ヘッダのＳＰＩ」とを検索ビットに含め（図５の識別データ３００−１）、あるパケットに対しては「経路制御ヘッダのタイプ」のみ（図５の識別データ３００−２）、あるいは「認証ヘッダのＳＰＩ」のみ（図５の識別データ３００−３）という識別データが必要となった場合には、図５に示すように、すべてのパターンに対応できるような識別データの登録となる。
【００１９】
このように識別データを登録して検索をすることは可能であるが、すべての検索データを抽出してからではないと検索できないため、それぞれの条件に適合した検索ビットを抽出するための抽出条件が固定されていないと実現が難しい。
【００２０】
つまり、あるサービスを実現するために、識別ヘッダの条件により次ヘッダの抽出条件を変更するような処理が求められても、条件を調べることが検索動作そのものになるため実行することが困難となる。
【００２１】
そこで、以上のような課題に鑑み、既登録の識別データに影響を与えずに識別データの登録を容易にすることができ、種々のサービス向上のために種々のヘッダパターンにも柔軟に対応することができるフロー識別装置及び識別データ登録方法が求められている。
【課題を解決するための手段】
【００２２】
かかる課題を解決するために、第１の本発明のフロー識別装置は、受信パケットのヘッダ情報を識別し、その識別結果に応じて所定の処理を行なうフロー識別装置において、（１）受信パケットのヘッダ情報に所定の検索データが含まれているか否かを識別する１又は複数の識別データを、１又は複数の所定の識別グループ単位で格納する識別データ格納手段と、（２）受信パケットのヘッダ情報から検索対象とする検索データを抽出する検索データ抽出手段と、（３）検索データ抽出手段が抽出した検索データと、識別データ格納手段に格納されている各識別データとを比較する検索データ比較手段と、（４）検索データ比較手段による比較結果に基づいて所定の処理内容を実行する処理実行手段とを備えることを特徴とする。
【００２３】
第２の本発明の識別データ登録方法は、受信パケットのヘッダ情報を識別し、その識別結果に応じて所定の処理を行なうフロー識別装置の識別データ登録方法において、受信パケットのヘッダ情報に所定の検索データが含まれているか否かを識別する１又は複数の識別データを格納する識別データ格納手段を備え、（１）グループ特定情報生成手段が、外部から識別データの登録指示を受けると、登録指示された識別データが属す識別グループを特定するためのグループ特定情報を生成するグループ特定情報生成工程と、（２）リンク情報生成手段が、識別データ格納手段に既に格納されている各識別データのうち、これから登録する識別データと関連する識別データと対応付けるためのリンク情報を生成するリンク情報生成工程と、（３）登録指示された上記識別データと、グループ特定情報と、リンク情報とをそれぞれ対応付けて、所定のグループ単位で識別データ格納手段に登録する識別データ登録工程とを有することを特徴とする。
【発明の効果】
【００２４】
本発明によれば、既登録の識別データに影響を与えずに識別データの登録を容易にすることができ、種々のサービス向上のために種々のヘッダパターンにも柔軟に対応することができる。
【発明を実施するための最良の形態】
【００２５】
（Ａ）第１の実施形態
以下、本発明のフロー識別装置及び識別データ登録方法の第１の実施形態を、図面を参照しながら説明する。
【００２６】
第１の実施形態は、本発明のフロー識別装置及び識別データ登録方法を採用して、例えばＩＰネットワークに接続可能な通信装置において、受信パケットのヘッダ情報を識別するフロー識別を実現する場合を説明する。
【００２７】
（Ａ−１）第１の実施形態の構成
図６は、第１の実施形態のデータ識別装置を搭載する通信装置のハードウェア構成を示す構成図である。図６に示すように、本実施形態の通信装置１は、ＣＰＵ１１、連想記憶メモリ１２、記憶部１３、ネットワーク通信制御部１４、を少なくとも有して構成される。
【００２８】
ＣＰＵ１１は、通信装置１の機能を司るものであり、記憶部１３は、例えば、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ等が該当するメモリである。例えば、ＣＰＵ１１は、ＲＡＭをワーキングエリアとし、記憶部１３に格納されている固定データや処理に必要なデータを用いて、ＲＯＭに格納されている所定の処理プログラムを実行することにより、通信装置１が果たす機能を実現している。
【００２９】
第１の実施形態では、特に、識別データ登録プログラム１３ａとデータ識別プログラム１３ｂとが記憶部１３に格納されており、ＣＰＵ１１が、これらプログラム１３ａ及び１３ｂを記憶部１３から読み取り、実行することで、第１の実施形態に係る識別データ登録処理及びデータ識別処理を実現することができる。
【００３０】
識別データ登録処理は、所定の格納形式で１又は複数の識別データを連想記憶メモリ１２に登録する処理であり、識別データ登録プログラム１３ａの実行により実現される処理である。
【００３１】
ここで、識別データ登録処理における所定の格納形式は、連想記憶メモリ１２に登録する識別データを、検索処理に必要なデータ毎に、それぞれ分散させて格納する形式である。
【００３２】
これにより、登録する識別データを追加する場合でも、その追加する識別データを別の格納領域に格納させることができ、容易な追加ができる。また、識別データを変更する場合でも、変更対象の識別データが他の識別データと異なる格納領域に格納されているため、容易に変更することができる。
【００３３】
データ識別処理は、受信パケットのヘッダ情報から所定の検索データを抽出し、その抽出した検索データと所定形式で格納された識別データとを比較し、データの一致・不一致を判断して検索データを検索する処理であり、データ識別プログラム１３ｂの実行により実現される処理である。
【００３４】
連想記憶メモリ１２は、受信パケットのヘッダ情報中の検索データを検索するための１又は複数の識別データを記憶するメモリである。また、連想記憶メモリ１２は、ＣＰＵ１１の制御の下、登録する識別データを受け取ると、検索処理に必要なデータ毎に、それぞれ異なる格納領域に識別データを格納するものである。
【００３５】
図１は、連想記憶メモリ１２に登録される識別データの格納例を説明する説明図である。
【００３６】
図１（ａ）は、既登録の識別データのデータ構成例であり、図１（ｂ）は、新たに「経路制御ヘッダのタイプ情報」を追加した場合の識別データの格納例であり、図１（ｃ）は、さらに「認証ヘッダのＳＰＩ情報」を追加した場合の識別データの格納例である。
【００３７】
図１（ａ）に示す識別データ２１１は予め登録されているものであり、識別データ２１１の項目例としては、「ヘッダ識別情報」、「宛先アドレス」、「送信元アドレス」、「プロトコル」、「宛先ポート番号（Ｎｏ）」、「送信元ポート番号（Ｎｏ）」がある。
【００３８】
「ヘッダ識別情報」は、登録されている識別データの種類を識別するための識別情報である。例えば、図１（ａ）の「０００」は、既登録の識別データ２１１であることを示している。これにより、拡張ヘッダ毎に分割した識別データを特定することができる。
【００３９】
「宛先アドレス」及び「送信元アドレス」は、宛先装置及び送信先装置のアドレス情報を示し、「プロトコル」は、ＴＣＰ／ＩＰであるか又はＵＤＰ／ＩＰであるかの通信プロトコルを示す。また、「宛先ポート番号」及び「送信元ポート番号」は、宛先装置及び送信元装置のポート番号を示す。
【００４０】
新たな「経路制御ヘッダのタイプ」を識別データとして追加する場合、図１（ｂ）に示すように、新たに追加する拡張ヘッダ「タイプ」を特定するためのヘッダ識別情報「００１」を新たに設け、この経路制御ヘッダの「タイプ」の識別データと、既登録の識別データ２１１とリンクさせるため、「リンク情報」により関連付けをし、既登録の識別データ２１１と異なる格納領域に格納する。これにより、経路制御ヘッダのタイプの識別データ２１２を追加することができる。
【００４１】
さらに、「認証ヘッダのＳＰＩ」を識別データとして追加する場合も、同様に、図１（ｃ）に示すように、新たなヘッダ識別情報「００２」を新たに設け、認証ヘッダの「ＳＰＩ」の識別データと経路制御ヘッダの「タイプ」の識別データ２１２をリンクさせるため、「リンク情報」により関連付けをし、既登録の識別データ２１１と異なる格納領域に格納する。これにより、認証ヘッダのＳＰＩの識別データ２１３を追加することができる。
【００４２】
なお、図１（ｃ）において、識別データ２１３の「リンク情報」は、識別データ２１２にリンクさせるものとして説明したがこれに限定されず、既登録の識別データ２１１にリンクさせるものとしてもよい。
【００４３】
図６に戻り、処理内容格納メモリ１５は、連想記憶メモリ１２に格納されている各識別データに対応付けられたものであり、検索データが当該識別データと一致する場合に、ＣＰＵ１１により実行される処理プログラムを格納するメモリである。なお、処理内容格納メモリ１５が格納するプログラムは、連想記憶メモリ１２の識別データとの間の対応付けができれば、記憶部１３に格納されるようにしてもよい。
【００４４】
ネットワーク通信制御部１４は、所定の通信プロトコルに従って、通信パケットを送受信するものである。また、ネットワーク通信制御部１４は、ＩＰネットワークからパケットを受信すると、受信したパケットをＣＰＵ１１に与えるものである。
【００４５】
（Ａ−２）第１の実施形態の動作
次に、本実施形態のフロー識別処理の動作を、図面を参照して説明する。
【００４６】
以下では、まず、ＣＰＵ１１の制御の下、連想記憶メモリ１２への識別データの登録処理を、図７のフローチャートを参照しながら説明する。
【００４７】
例えば、セキュリティやサービス向上のために連想記憶メモリ１２に新たな識別データを追加する場合、ユーザは、図示しない操作手段（例えば、キーボードやマウス等）を用いて、サービス等処理を実行するために、ヘッダ情報からの抽出が必要なデータの項目及びデータを入力し、新しい抽出データに関する識別データの登録処理を指示する。
【００４８】
新しい抽出データに関する識別データの登録処理の指示を受けると、ＣＰＵ１１は、記憶部１３に記憶されている識別データ登録プログラム１３ａを読み出すと共に、新たに入力された抽出データの項目及びデータを取り込み、その新しい抽出データ項目及びデータを用いて、識別データの登録処理を実行する（Ｆ１０１）。
【００４９】
ＣＰＵ１１は、新たな識別データとするための抽出データ項目及びデータを取り込むと、その新しい識別データを特定するためのヘッダ識別情報を生成する（Ｆ１０２）。
【００５０】
例えば、図１（ｂ）において、「経路制御ヘッダのタイプ」についての新しい識別データ２１２を登録しようとする場合、「ヘッダ識別情報」として「００１」を生成する。このとき、図１（ｂ）の「経路制御ヘッダのタイプ」に「１１」と「２２」の２種類がある場合でも、同類の識別データであるため、それら両方の「ヘッダ識別情報」は「００１」である。
【００５１】
次に、ＣＰＵ１１は、新規登録する識別データと既登録の識別データ２１１とをリンク情報で関連付けるために、リンク情報を取得する（Ｆ１０３）。このリンク情報は、既登録の識別データ２１１に付与されているものであり、例えば、処理内容格納メモリ１５に予め格納されている。そして、新規登録の識別データを登録する際に、当該既登録のデータ２１１のリンク情報を処理内容格納メモリ１５から取得する。
【００５２】
例えば、図１（ｂ）において、「経路制御ヘッダのタイプ」に関する識別データ２１２には「タイプ」が２種類あり、「タイプ：１１」については、識別データ２１１−１と関連させるため、「リンク情報：１１」を取得し、また、「タイプ：２２」については、識別データ２１１−２と関連させるため、「リンク情報：１２」を取得する。
【００５３】
ＣＰＵ１１がリンク情報を取得すると、そのリンク情報で、新規登録の識別データと既登録の識別データとを関連付けを行ない（Ｆ１０４）、新規登録の識別データを、既登録の識別データとは異なる格納領域に格納する（Ｆ１０５）。これにより、新規登録の識別データについて、既登録の識別データと別の格納領域に格納させつつも、既登録の識別データとリンクさせることができるので、既登録の識別データの一部として登録することができる。
【００５４】
例えば、図１（ｂ）において、「リンク情報：１１」により「タイプ：１１」の識別データ２１２−１を既登録識別データ２１１−１と関連付けをして格納する。また、「リンク情報：１２」により「タイプ：２２」の識別データ２１２−２を既登録識別データ２１１−２と関連付けをして格納する。
【００５５】
以上のようにして、新規に識別データを追加する場合でも、既登録の識別データ自体の内容を直接的に変更するのではなく、新規の識別データを別途登録し、その新規登録の識別データを既登録の識別データとリンクさせることですむので、容易な追加登録が可能となる。
【００５６】
また、識別データの内容を変更する場合も、ユーザが「ヘッダ識別情報」を指定することで、変更対象の識別データを読み出して変更できるので、他の識別データの内容を変更することなく、容易な変更が可能となる。
【００５７】
次に、ＣＰＵ１１の制御の下、受信パケットのヘッダ情報について、連想記憶メモリ１２を用いたデータ識別処理を、図８のフローチャートを参照しながら説明する。
【００５８】
ＩＰネットワークを介してネットワーク通信制御部１４にパケットが与えられると、受信したパケットはＣＰＵ１１に与えられる（Ｆ２０１）。
【００５９】
受信パケットがＣＰＵ１１に与えられると、ＣＰＵ１１により、受信パケットのヘッダ情報の中からデータ識別に必要なデータが抽出される（Ｆ２０２）。
【００６０】
ＣＰＵ１１は、抽出したデータを識別するための識別データに割り当てたヘッダ識別情報に基づいて、連想記憶メモリ１２に格納した識別データにアクセスする（Ｆ２０３）。
【００６１】
連想記憶メモリ１２上の識別データにアクセスすると、ＣＰＵ１１により、ヘッダ情報から抽出したデータと識別データとが比較され、一致・不一致が判断される（Ｆ２０４）。
【００６２】
そして、不一致の場合には、当該抽出データについてのデータ識別処理は終了する。
【００６３】
一方、一致する場合、一致した識別データにリンク情報があるか否かを判断し（Ｆ２０５）、リンク情報がある場合には、そのリンク情報に基づいて他の識別データにアクセスし（Ｆ２０６）、上記と同様に、他の識別データと抽出データとが比較され、一致又は不一致が判断される。なお、リンク情報がない場合には、当該一致した識別データに対応する所定の処理を実行する（Ｆ２０７）。
【００６４】
（Ａ−３）第１の実施形態の効果
以上のように、第１の実施形態によれば、識別すべき情報を拡張ヘッダ単位で分割したことにより、サービスの変更に伴う識別データの追加は、その識別データのみで既に登録された識別データに影響を与えることがなく行なうことができる。また、各識別データの関連付けが拡張ヘッダ単位なので、識別データの管理も容易となる。
【００６５】
（Ｂ）第２の本実施形態
次に、本発明のフロー識別装置及び識別データ登録方法の第２の実施形態を、図面を参照して説明する。
【００６６】
（Ｂ−１）第２の実施形態の構成及び動作
第２の実施形態が第１の実施形態と異なる点は、連想記憶メモリ１２及び処理内容格納メモリ１５に格納する識別データ及び処理内容データのフォーマットであり、ハードウェア構成は第１の実施形態と同様であるので、以下では図６を用いて説明する。
【００６７】
図９は、第２の実施形態の連想記憶メモリ１２に登録する識別データのフォーマットと、処理内容格納メモリ１５に格納する処理条件データのフォーマットとを説明する説明図である。
【００６８】
図９に示すように、第２の実施形態の識別データのフォーマットは、第１の実施形態で説明した項目のほかに、「次ヘッダ」の項目を有する。この「次ヘッダ」は、検索データと当該識別データとの一致を判定した場合に、次に行なう処理内容の検索条件を判断するために、次のヘッダの抽出条件や処理方法を示すものである。
【００６９】
また、図９において、処理条件データは、「リンク情報」と「処理」とを有する。
【００７０】
「処理」は、処理内容を行なうための検索条件を示すものであり、例えば、経路抽出条件、認証抽出条件などがある。また、「処理」は、各識別データに対応する形式で、処理内容格納メモリ１５に格納されるものである。
【００７１】
「リンク情報」は、「処理」に示されている検索条件を具備しているか否かを識別するための識別データにアクセスするためのリンク情報である。
【００７２】
次に、ＣＰＵ１１の制御による第２の実施形態のデータ識別処理を、図１０のフローチャートを参照して説明する。
【００７３】
なお、以下では、ＩＰ／ＴＣＰ／ＵＤＰヘッダ部と、経路制御ヘッダ部と、認証ヘッダ部と有するパケットを受信した場合のデータ識別処理を例に挙げて説明する。
【００７４】
図１０において、受信パケットがＣＰＵ１１に与えられると、ＣＰＵ１１の制御の下、受信パケットのヘッダ情報の中から検索データが抽出され、その検索データを検索するための識別データのヘッダ識別情報に基づいて、連想記憶メモリ１２上の識別データにアクセスされ（Ｆ３０１）、当該検索データについて検索される（Ｆ３０２）。
【００７５】
このとき、検索データが識別データと一致する場合、ＣＰＵ１１は、識別データにおける「次ヘッダ」を確認し、次に行なう処理内容を認識する。そして、ＣＰＵ１１は、「次ヘッダ」に基づいて、処理内容格納メモリ１５に格納されている処理内容を取得する（Ｆ３０３）。
【００７６】
例えば、受信パケットのヘッダ情報から抽出した検索データが、図９の識別データ２１１−１と一致する場合、識別データ２１１−１の「次ヘッダ」に「経路」が登録されているので、ＣＰＵ１１は、処理内容格納メモリ１５の経路制御に係る検索を行なうための処理内容２２０−１を取得する。
【００７７】
処理内容格納メモリ１５の次の処理内容を取得すると、ＣＰＵ１１は、その処理内容に基づいて、経路制御ヘッダ部分から検索に必要なデータを抽出すると共に、その処理内容に示される「リンク情報」に基づいて、連想記憶メモリ１２上の識別データにアクセスする（Ｆ３０４）。
【００７８】
ＣＰＵ１１が次の識別データにアクセスすると、抽出した検索データについて検索される（Ｆ３０５）。
【００７９】
例えば、ＣＰＵ１１が処理内容２２０−１を取得すると、その処理内容２２０−１の「経路抽出条件」に従って抽出するデータを認識し、受信パケットのヘッダ情報中の経路制御ヘッダ部分から、検索データを抽出する。また、ＣＰＵ１１は、処理内容２２０−１の「リンク情報：１１」に基づいて、連想記憶メモリ１２上の識別データ２１２−１にアクセスし、検索データを検索する。
【００８０】
次に、検索データが識別データに一致する場合、上記と同様にして、ＣＰＵ１１は、識別データにおける「次ヘッダ」を確認し、次に行なう処理内容を認識する。そして、ＣＰＵ１１は、「次ヘッダ」に基づいて、処理内容格納メモリ１５に格納されている処理内容を取得する（Ｆ３０６）。
【００８１】
例えば、ＣＰＵ１１は、識別データ２１２−１の「次ヘッダ」に「認証」が登録されているので、処理内容格納メモリ１５の認証制御に係る検索を行なうための処理内容２２０−４を取得する。
【００８２】
そして、ＣＰＵ１１が処理内容２２０−４を取得すると、その処理内容２２０−４の「認証抽出条件」に従って抽出するデータを認識し、受信パケットのヘッダ情報中の認証ヘッダ部分から、検索データを抽出する。また、ＣＰＵ１１は、処理内容２２０−４の「リンク情報：２１」に基づいて、連想記憶メモリ１２上の識別データ２１３−１にアクセスし、検索データを検索する（Ｆ３０７、Ｆ３０８）。
【００８３】
さらに、検索データが識別データに一致し、識別データの「次ヘッダ」が「なし」となっている場合、ＣＰＵ１１は、次に検索する条件はなきと判断し、これまでのすべての検索条件具備を条件とした処理内容２２０−６を取得し、処理を行なう（Ｆ３０９、Ｆ３１０）。
【００８４】
例えば、ＣＰＵ１１は、識別データ２１３−１の「次ヘッダ」が「なし」であるので、これまでの検索条件をすべて満たしているので、「高優先度送出」処理を行なう処理内容２２０−６を取得し、その「高優先度送出」処理を行なう。
【００８５】
次に、以下では、ＩＰ／ＴＣＰ／ＵＤＰヘッダ部と、認証ヘッダとを有するパケットを受信した場合のデータ識別処理を説明する。
【００８６】
パケット受信後、ＩＰ／ＴＣＰ／ＵＤＰヘッダ部から検索データを抽出し、検索データについて検索する。このとき、ＣＰＵ１１は、検索データが識別データ２１１−２と一致するか否かを検索する。
【００８７】
そして、一致した場合、識別データ２１１−２の「次ヘッダ」が「認証」となっているので、処理内容格納メモリ１５の処理内容２２０−２を取得する。
【００８８】
処理内容２２０−２を取得すると、その処理内容２２０−２の「認証抽出条件」に従って、認証ヘッダ部から検索データを抽出し、「リンク情報」に基づいて、連想記憶メモリ１２上の識別データ２１３−２にアクセスする。
【００８９】
そして、検索データと識別データ２１３−２とが一致する場合、ＣＰＵ１１は、「次ヘッダ」が「なし」であることを確認し、処理内容格納メモリ１５の処理内容２２０−７を取得し、「低優先度送出」処理を行なう。
【００９０】
さらに、以下では、ＩＰ／ＴＣＰ／ＵＤＰヘッダ部と、経路制御ヘッダとを有するパケットを受信した場合のデータ識別処理を説明する。
【００９１】
パケット受信後、ＩＰ／ＴＣＰ／ＵＤＰヘッダ部から検索データを抽出し、検索データについて検索する。このとき、ＣＰＵ１１は、検索データが識別データ２１１−３と一致するか否かを検索する。
【００９２】
そして、一致した場合、識別データ２１１−３の「次ヘッダ」が「経路」となっているので、処理内容格納メモリ１５の処理内容２２０−３を取得する。
【００９３】
処理内容２２０−３を取得すると、その処理内容２２０−３の「経路抽出条件」に従って、経路制御ヘッダ部から検索データを抽出し、「リンク情報」に基づいて、連想記憶メモリ１２上の識別データ２１２−２にアクセスする。
【００９４】
そして、検索データと識別データ２１２−２とが一致する場合、ＣＰＵ１１は、「次ヘッダ」が「なし」であることを確認し、処理内容格納メモリ１５の処理内容２２０−５を取得し、廃棄処理を行なう。
【００９５】
（Ｂ−２）第２の実施形態の効果
以上のように、第２の実施形態によれば、第１の実施形態で説明した効果と同等の効果を得ることができる。
【００９６】
また、第２の実施形態によれば、ネットワークスイッチ装置及びセキュリティ装置におけるサービス要求の多様化に相応して、識別ヘッダの条件により次ヘッダの抽出条件を変更するといった検索を実現することができる。
【００９７】
また、第２の実施形態によれば、処理内容に次の処理（抽出条件）を含めることにより、ハードウェアの変更が必要なく、連想記憶メモリ及び処理内容格納メモリヘのデータ登録だけで抽出条件を変更した検索が可能である。当然ながらデータ登録は既存のサービスに影響を与えることなく実施可能である。
【００９８】
（Ｃ）他の実施形態
上述した第１及び第２の実施形態では、ＩＰｖ６の拡張ヘッダ単位での識別データの分割例を示したが、各サービス内容によって必要なヘッダ単位に分割構成を変更した場合にも適用可能である。
【００９９】
上述した第１及び第２の実施形態では、処理内容に格納するデータを次ヘッダの抽出条件とした例を示したが、格納するデータによってはより高度な処理を行なうことも可能である。
【０１００】
上述した第１及び第２の実施形態では、受信装置におけるフロー識別処理に適用した場合を示したが、ヘッダ拡張に対応するネットワーク機器に広く適用できる。
【図面の簡単な説明】
【０１０１】
【図１】第１の実施形態の連想記憶メモリへの識別データの登録を説明する説明図である。
【図２】従来のツリー方式を説明するための説明図である。
【図３】従来の連想記憶メモリを用いたフロー識別方法を説明する説明図である。
【図４】従来の連想記憶メモリへの識別データの登録を説明する説明図である。
【図５】従来の連想記憶メモリへの識別データの登録を説明する説明図である。
【図６】第１の実施形態に係る装置のハードウェア構成を示すブロック図である。
【図７】第１の実施形態の識別データ登録処理を示すフローチャートである。
【図８】第１の実施形態のデータ識別処理を示すフローチャートである。
【図９】第２の実施形態の連想記憶メモリ及び処理内容格納メモリへの登録を説明する説明図である。
【図１０】第２の実施形態のデータ識別処理を示すフローチャートである。
【符号の説明】
【０１０２】
１１…ＣＰＵ、１２…連想記憶メモリ、１３…記憶部、１３ａ…識別データ登録プログラム、１３ｂ…データ識別プログラム、１５…処理内容格納メモリ。
【図１】
2008017216.tif 000003
【図２】
2008017216.tif 000004
【図３】
2008017216.tif 000005
【図４】
2008017216.tif 000006
【図５】
2008017216.tif 000007
【図６】
2008017216.tif 000008
【図７】
2008017216.tif 000009
【図８】
2008017216.tif 000010
【図９】
2008017216.tif 000011
【図１０】
2008017216.tif 000012