(57)【要約】【課題】拡張ヘッダの付与による出力処理の負荷を軽減することにより、ネットワーク装置のデータ転送レートの低下を回避することができるようにする。【解決手段】本発明のパケット処理装置は、パケットに適用する伝送制御処理を示すポリシー識別情報と伝送制御情報とを対応付けて記憶するポリシー記憶手段と、入力パケットから伝送制御情報を抽出する伝送制御情報抽出手段と、抽出された伝送制御情報に対応する１又は複数のポリシー識別情報をポリシー記憶手段から検索するポリシー識別情報検索手段と、検索手段が検索した１又は複数のポリシー識別情報を、入力パケットのデータサイズの冗長を抑止しながらパケット処理手段に通知するパケット通知手段と、パケット通知手段から通知された１又は複数のポリシー識別情報に基づいて、入力パケットに対応する伝送制御処理を行なうパケット処理手段とを備えるパケット処理装置。【選択図】      図１
2008085886.tif 000002
【特許請求の範囲】
【請求項１】
入力パケットのヘッダ情報に含まれている伝送制御情報に基づいて、上記入力パケットに対応する伝送制御処理を行なうパケット処理装置において、
パケットに適用する伝送制御処理を示すポリシー識別情報と伝送制御情報とを対応付けて記憶するポリシー記憶手段と、
上記入力パケットのヘッダに含まれている伝送制御情報を抽出する伝送制御情報抽出手段と、
上記伝送制御情報抽出手段により抽出された上記伝送制御情報に対応する１又は複数のポリシー識別情報を上記ポリシー記憶手段から検索するポリシー識別情報検索手段と、
上記検索手段が検索した上記１又は複数のポリシー識別情報を、上記入力パケットのデータサイズの冗長を抑止しながらパケット処理手段に通知するパケット通知手段と、
上記パケット通知手段から通知された上記１又は複数のポリシー識別情報に基づいて、上記入力パケットに対応する伝送制御処理を行なうパケット処理手段と
を備えるパケット処理装置。
【請求項２】
上記パケット通知手段が、上記入力パケットの構成フレームのうち上位層のヘッダフィールドに、上記１又は複数のポリシー識別情報を上書きして上記パケット処理手段に通知することを特徴とする請求項１に記載のパケット処理装置。
【請求項３】
上記パケット通知手段が、上記１又は複数のポリシー識別情報を保持アドレスに対応付けて保持するポリシー識別情報保持部を有し、
上記パケット通知手段が、上記ポリシー識別情報保持部に保持させた上記１又は複数のポリシー識別情報の保持アドレス及び検索回数を、上記入力パケットの先頭部分に付与して上記パケット処理手段に通知することを特徴とする請求項２に記載のパケット処理装置。
【請求項４】
上記パケット通知手段が、上記入力パケットについての検索回数又は上記入力パケットの種別に応じて、上記入力パケットの構成フレームのうち上位層のヘッダフィールドに、上記１又は複数のポリシー識別情報を上書きすることと、上記ポリシー識別情報保持部に保持させた上記１又は複数のポリシー識別情報の保持アドレス及び検索回数を、上記入力パケットの先頭部分に付与することとを切り替えることを特徴とする請求項２又は３に記載のパケット処理装置。
【請求項５】
入力パケットのヘッダ情報に含まれている伝送制御情報に基づいて、上記入力パケットに対応する伝送制御処理を行なうパケット処理方法において、
パケットに適用する伝送制御処理を示すポリシー識別情報と伝送制御情報とを対応付けて記憶するポリシー記憶手段を備え、
伝送制御情報抽出手段が、上記入力パケットのヘッダに含まれている伝送制御情報を抽出する伝送制御情報抽出工程と、
ポリシ識別情報検索手段が、上記伝送制御情報抽出手段により抽出された上記伝送制御情報に対応する１又は複数のポリシー識別情報を上記ポリシー記憶手段から検索するポリシー識別情報検索工程と、
パケット通知手段が、上記検索手段が検索した上記１又は複数のポリシー識別情報を、上記入力パケットのデータサイズの冗長を抑止しながらパケット処理手段に通知するパケット通知工程と、
パケット処理手段が、上記パケット通知手段から通知された上記１又は複数のポリシー識別情報に基づいて、上記入力パケットに対応する伝送制御処理を行なうパケット処理工程と
を備えるパケット処理方法。
【請求項６】
入力パケットのヘッダ情報に含まれている伝送制御情報に基づいて、上記入力パケットに対応する伝送制御処理を行なうパケット処理プログラムにおいて、
パケットに適用する伝送制御処理を示すポリシー識別情報と伝送制御情報とを対応付けて記憶するポリシー記憶手段を備え、
コンピュータに、
上記入力パケットのヘッダに含まれている伝送制御情報を抽出する伝送制御情報抽出手段、
上記伝送制御情報抽出手段により抽出された上記伝送制御情報に対応する１又は複数のポリシー識別情報を上記ポリシー記憶手段から検索するポリシー識別情報検索手段、
上記検索手段が検索した上記１又は複数のポリシー識別情報を、上記入力パケットのデータサイズの冗長を抑止しながらパケット処理手段に通知するパケット通知手段、
上記パケット通知手段から通知された上記１又は複数のポリシー識別情報に基づいて、上記入力パケットに対応する伝送制御処理を行なうパケット処理手段
として機能させるパケット処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット処理装置、パケット処理方法及びパケット処理プログラムに関し、例えば、ルータやスイッチ機器等のようなネットワーク装置において、受信パケットのパケット情報を分析するパケット処理装置、パケット処理方法及びパケット処理プログラムに適用し得る。
【背景技術】
【０００２】
例えばルータやスイッチ装置等などのネットワーク装置は、基本的には、ネットワーク上を流れる通信パケットを送信先に向けて転送するものであるが、近年のネットワークサービスのニーズに応えるために、受信パケットに対して様々な処理を適用する機能を搭載するものがある（特許文献１参照）。
【０００３】
このようなネットワーク装置においては、受信パケットのヘッダ情報を解析し、その解析結果に基づいてパケットに適用する処理を検索する処理が必要であるが、この検索処理として、例えば、受信パケットのヘッダ情報を検索キーとして、連想メモリ（例えば、ＣＡＭ；Content  Addressable-Memory等）を用いて、パケットに適用する処理のポリシーを検索する方法がある（特許文献２参照）。
【０００４】
図２は、従来のＣＡＭを備えたネットワーク装置の内部構成の一部を示す構成図であり、図３は、ＣＡＭを用いたポリシーの検索処理を簡単に説明するフローチャートである。
【０００５】
図３において、まず、通信パケットがネットワークを通じてネットワーク装置に受信されると、通信パケットはパケット分析部１に与えられ、パケット分析部１によりヘッダ情報が抽出され、この抽出されたヘッダ情報の一部又は全部が検索データとして検索コマンド共にＣＡＭ２に与えられる（ステップＳ１）。
【０００６】
そして、パケット分析部１は、ＣＡＭ２に予め用意されたポリシーテーブルを用いて、検索データと一致する識別子があるか否かを検索し、所定時間の応答時間後に、一致する識別子がある場合には、検索した識別子のアドレスの返信を受け、一致する識別子がない場合には、一致しなかった旨の通知を受ける（ステップＳ２）。
【０００７】
なお、検索回数については、例えば予め設定・変更することができ、複数回検索する場合には、Ｓ１に戻り検索を繰り返す（ステップＳ３）。
【０００８】
また、パケット分析部１は、検索対象のフレームの先頭に拡張ヘッダを設け、ＣＡＭ２からの結果（取得インデックスともいう）を拡張ヘッダに付与し（ステップＳ３）、拡張ヘッダを追加したフレームをＮＰＵ３に与え、ＮＰＵ３が拡張ヘッダに基づいて対応する処理を行なう（ステップＳ４）。
【０００９】
【特許文献１】特開２００３−１９８６０７号公報
【特許文献２】特開２００６−１０１３４３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した検索方法によれば、１つのパケットに対してのＣＡＭ検索回数を増やした場合、図４に示すように、受信フレームに追加する拡張ヘッダも増加するので、拡張ヘッダのデータサイズが増加し、結果として、検索対象フレームの総データサイズが増加してしまう。
【００１１】
そのため、１フレームのデータサイズが、ネットワークから入力されたときのデータサイズよりも大きくなってしまい、パケット分布部２とＮＰＵ３との間のパスの帯域不足が生じたり、拡張ヘッダを付与に伴うパケット分布部２の出力処理能力が追従できなくなり、結果として、ネットワーク装置のデータ転送レートの低下が起こる可能性がある。
【００１２】
そのため、拡張ヘッダの付与によるパケット分析（通知）手段からの出力処理の負荷を軽減することにより、ネットワーク装置のデータ転送レートの低下を回避することができるパケット処理装置、パケット処理方法及びパケット処理プログラムが求められている。
【課題を解決するための手段】
【００１３】
かかる課題を解決するために、第１の本発明のパケット処理装置は、入力パケットのヘッダ情報に含まれている伝送制御情報に基づいて、入力パケットに対応する伝送制御処理を行なうパケット処理装置において、（１）パケットに適用する伝送制御処理を示すポリシー識別情報と伝送制御情報とを対応付けて記憶するポリシー記憶手段と、（２）入力パケットのヘッダに含まれている伝送制御情報を抽出する伝送制御情報抽出手段と、（３）伝送制御情報抽出手段により抽出された伝送制御情報に対応する１又は複数のポリシー識別情報をポリシー記憶手段から検索するポリシー識別情報検索手段と、（４）検索手段が検索した１又は複数のポリシー識別情報を、入力パケットのデータサイズの冗長を抑止しながらパケット処理手段に通知するパケット通知手段と、（５）パケット通知手段から通知された１又は複数のポリシー識別情報に基づいて、入力パケットに対応する伝送制御処理を行なうパケット処理手段とを備えるパケット処理装置。
【００１４】
第２の本発明のパケット処理方法は、入力パケットのヘッダ情報に含まれている伝送制御情報に基づいて、入力パケットに対応する伝送制御処理を行なうパケット処理方法において、（１）パケットに適用する伝送制御処理を示すポリシー識別情報と伝送制御情報とを対応付けて記憶するポリシー記憶手段を備え、（２）伝送制御情報抽出手段が、入力パケットのヘッダに含まれている伝送制御情報を抽出する伝送制御情報抽出工程と、（３）ポリシ識別情報検索手段が、伝送制御情報抽出手段により抽出された伝送制御情報に対応する１又は複数のポリシー識別情報をポリシー記憶手段から検索するポリシー識別情報検索工程と、（４）パケット通知手段が、検索手段が検索した１又は複数のポリシー識別情報を、入力パケットのデータサイズの冗長を抑止しながらパケット処理手段に通知するパケット通知工程と、（５）パケット処理手段が、パケット通知手段から通知された１又は複数のポリシー識別情報に基づいて、入力パケットに対応する伝送制御処理を行なうパケット処理工程とを備えるパケット処理方法。
【００１５】
第３の本発明のパケット処理プログラムは、入力パケットのヘッダ情報に含まれている伝送制御情報に基づいて、入力パケットに対応する伝送制御処理を行なうパケット処理プログラムにおいて、（１）パケットに適用する伝送制御処理を示すポリシー識別情報と伝送制御情報とを対応付けて記憶するポリシー記憶手段を備え、コンピュータに、（２）入力パケットのヘッダに含まれている伝送制御情報を抽出する伝送制御情報抽出手段、（３）伝送制御情報抽出手段により抽出された伝送制御情報に対応する１又は複数のポリシー識別情報をポリシー記憶手段から検索するポリシー識別情報検索手段、（４）検索手段が検索した１又は複数のポリシー識別情報を、入力パケットのデータサイズの冗長を抑止しながらパケット処理手段に通知するパケット通知手段、（５）パケット通知手段から通知された１又は複数のポリシー識別情報に基づいて、入力パケットに対応する伝送制御処理を行なうパケット処理手段として機能させる。
【発明の効果】
【００１６】
本発明のパケット処理装置、パケット処理方法及びパケット処理プログラムによれば、拡張ヘッダの付与によるパケット通知手段からの出力処理の負荷を軽減することにより、ネットワーク装置のデータ転送レートの低下を回避することができる。
【発明を実施するための最良の形態】
【００１７】
（Ａ）第１の実施形態
以下、本発明のパケット処理装置、パケット処理方法及びパケット処理プログラムの第１の実施形態を図面を参照して説明する。
【００１８】
第１の実施形態は、本発明のパケット処理装置、パケット処理方法及びパケット処理プログラムを、ネットワーク上に配置されたルータの受信パケット処理部に適用した場合を説明する。
【００１９】
（Ａ−１）第１の実施形態の構成
図５は、第１の実施形態のネットワーク装置の例であるルータの内部構成を示す構成図である。
【００２０】
図５において、第１の実施形態のルータ５は、複数の物理ポート８（８−１〜８−Ｎ）と、物理終端部４と、パケット分析部１０Ａと、ポリシーテーブル記憶部２と、受信パケット処理部６と、ネットワークプロセッサ（ＮＰＵ）部３と、送信パケット処理部７と、を少なくとも有して構成される。
【００２１】
物理ポート８−１〜８−Ｎは、ネットワークを構成する伝送媒体と接続する接続ポートである。ここで、伝送媒体としては、有線媒体（すなわち有線回線）や無線媒体（すなわち無線回線）のいずれかを適用することができる。
【００２２】
物理終端部４は、ＯＳＩ参照モデルの物理層やデータリンク層の処理を行なうものである。すなわち、物理ポート８を介してネットワークから受け取ったパケットを、パケット分析部１０Ａに与えるものである。また、物理終端部４は、物理ポート８から受信パケットを受け取ると、データリンク層のプロトコルデータ単位であるＭＡＣフレームからネットワーク層のプロトコル単位を取り出して、受信パケット処理部６に与えるものである。また、物理終端部４は、送信パケット処理部７からネットワーク層のプロトコル単位を受け取ると、このネットワーク層のプロトコル単位をデータリンク層のプロトコル単位であるＭＡＣフレームに収容し、物理ポート８に与えるものである。
【００２３】
パケット分析部１０Ａは、物理終端部４を介して、ネットワークから入力されたパケットを取り込み、その取り込んだパケットからヘッダ情報を抽出し、ポリシーテーブル記憶部２を用いて、ヘッダ情報に対応する処理のポリシーを検索するものである。また、パケット分析部１０Ａは、ポリシーテーブル記憶部２を用いたポリシー検索結果を反映させた内容（すなわち、従来の拡張ヘッダに書き込む内容）を、パケットのＭＡＣアドレスフィールドに上書きして、ネットワークプロセッサ（ＮＰＵ）部３に与えるものである。
【００２４】
ポリシーテーブル記憶部２は、パケットのヘッダ情報に含まれる識別子と、パケットに対し適用する処理のポリシーを示すアドレス（インデックスともいう）との対応関係を有するポリシーテーブル２ａを記憶する記憶領域であり、例えば、連想メモリ（例えばＣＡＭ等）が該当する。
【００２５】
ネットワークプロセッサ部３は、ルータ５としての機能を実現するものであり、受信パケット処理部６からのパケットに対する転送機能を行なうと共に、パケット分析部１０Ａから、ＭＡＣアドレスフィールドに拡張ヘッダの内容が上書きされたフレームを受け取ると、上書きされている拡張ヘッダの内容に基づいて、パケットに対して適用する処理を行なうものである。
【００２６】
受信パケット処理部６は、物理終端部４からネットワーク層のプロトコル単位（例えばＩＰパケット）を受け取ると、所定の受信処理を施し、ネットワークプロセッサ部３に与えるものである。
【００２７】
送信パケット処理部７は、ネットワークプロセッサ部３により指示されたパケットを送信実行するものである。例えば、送信パケット処理部７は、ネットワークプロセッサ部３の制御の下、パケットの廃棄や次の転送先に対するパケットの送信処理を行なうものである。
【００２８】
図１は、第１の実施形態のパケット分析部１０Ａの内部構成と、パケット分析部１０Ａを中心とする構成を示す機能ブロック図である。
【００２９】
図１において、第１の実施形態のパケット分析部１０Ａは、パケットバッファ部１１、識別子抽出部１２、検索管理部１３、パケット処理実行部１４、を少なくとも有する。
【００３０】
パケットバッファ部１１は、物理終端部４から受け取ったパケットを一時的に記憶するものであり、一時的に記憶したパケットをパケット処理実行部１４に与えるものである。
【００３１】
識別子抽出部１２は、パケットバッファ部１１に記憶されているパケットのヘッダ情報に含まれている検索用識別子を抽出し、その抽出した検索用識別子を検索管理部１３に与えるものである。
【００３２】
ここで、検索用識別子とは、パケットヘッダ情報に含まれる伝送制御情報であり、この伝送制御情報が、パケットに対し適用する処理のポリシーを検索するためのポリシーテーブル２ａを検索するための識別子となる。例えば、ＩＰパケットのヘッダの場合、宛先ＩＰアドレス、送信元ＩＰアドレス、ＴｏＳ（サービスタイプ）、プロトコル番号（上位プロトコルの種類）等が該当する。
【００３３】
検索管理部１３は、識別子抽出部１２により抽出された検索用識別子を受け取り、この検索用識別子を検索キーとし、ポリシーテーブル記憶部２に記憶されているポリシーテーブル２ａから、当該検索用識別子に対応するポリシー番号を検索するものである。さらに、検索管理部１３は、検索したポリシー番号を利用して、ＡＣＬアクションテーブル１３ａを参照して、パケットに対する処理を行なうポリシーのアドレス（インデックス）を検索し、その検索したアドレス（インデックス）をパケット処理実行部１４に与えるものである。
【００３４】
ＡＣＬアクションテーブル１３ａは、前記ポリシーテーブル２ａの各行のポリシー番号に対応付けてアクションの内容が登録されたテーブルである。ＡＣＬアクションテーブル１３ａに登録されるアクションには、パケットの通過、廃棄などのほか、通過させる場合のＱｏＳ制御などに関するアクションが含まれていてもよい。
【００３５】
また、ポリシーのアドレス（インデックス）は、ポリシーテーブル２ａの検索により、検索用識別子に対応するポリシーがヒットしたか又はミスヒットしたかを示す識別情報と、そのポリシーのアドレス番号とを少なくとも有して構成される。
【００３６】
なお、アクションの内容はそのためのデータ項目を用意することで、前記ポリシーテーブル２ａにまとめて登録する構成としてもよいが、ここでは、ポリシーテーブル２ａと別個にＡＣＬアクションテーブル１３ａを用意している。これによって一覧性は低下するが、管理が容易になり、記憶資源を節約できる可能性が高い。実際には、ポリシーテーブル２ａ上の異なる多くの行に対し、同一のアクションを対応付けることが多いからである。
【００３７】
パケット処理実行部１４は、ＡＣＬアクションテーブル１３ａの検索によって得られたアクションの内容などを反映したパケット処理をパケットに対し行なうものである。例えば、パケット処理実行部１４が行う処理としてはパケットの廃棄処理等を行なう。
【００３８】
また、パケット処理実行部１４は、検索管理部１３が検索したアドレス（インデックス）を、パケットバッファ部１１から出力されるパケットのＭＡＣアドレスフィールド（宛先アドレス部分及び送信元アドレス部分）に上書きして出力するものである。
【００３９】
このとき、パケット処理実行部１４は、ＭＡＣアドレスフィールドの先頭から順次上書きするものとし、上書き後、上書きしたＭＡＣアドレスフィールドのうちの余った部分には空白を意図するデータ（例えば、オール０）を付与するものとする。
【００４０】
パケット処理実行部１４が、拡張ヘッダの内容を、パケットのＭＡＣアドレスフィールドに上書きすることとしたのは、ＭＡＣアドレスフィールドは、パケットを送信する際、パケット送信処理部７によりＭＡＣアドレスの置換処理が行なわれる部分である。つまり、ＭＡＣアドレスフィールドは、少なくとも、ルータ５内部における処理においては使用しない部分であるから、この使用しないフィールド部分に、従来まで拡張ヘッダに書き込んでいた内容を上書きするものとする。
【００４１】
このように、拡張ヘッダの内容をＭＡＣアドレスフィールドに上書きすることで、新たな拡張ヘッダの追加を行なわずにすむので、フレームのデータサイズを抑えることができ、その結果、パケット分析部１０ＡとＮＰＵ部３との間のパスの帯域不足を解消でき、また、従来のような拡張ヘッダの付与に伴うパケット分析部１０Ａの出力処理の低下を抑えることができる。
【００４２】
（Ａ−２）第１の実施形態の動作
次に、第１の実施形態のパケット情報の分析処理の動作を図面を参照しながら説明する。
【００４３】
図１において、ネットワークから物理終端部４に入力したパケットは、パケットバッファ部１１に与えられ、パケットバッファ部１１に一時的に保持される（ステップＳ１１）。
【００４４】
パケットバッファ部１１に保持されたパケットは、識別子抽出部１２によりパケットのヘッダ情報に含まれている検索用識別子が抽出され（ステップＳ１２）、その抽出された検索用識別子が検索管理部１３に与えられる（ステップＳ１３）。
【００４５】
検索用識別子が検索管理部１３に与えられると、検索管理部１３は、ポリシーテーブル記憶部２に記憶されているポリシーテーブル２ａを参照し、検索用識別子に対応するポリシー番号を検索し、ＡＣＬアクションテーブル１３ａを参照し、検索したポリシー番号に対応するパケットに対する処理を検索する（ステップＳ１４）。
【００４６】
検索管理部１３によりポリシー番号とポリシー番号に対するパケット処理とが検索され、その検索結果がパケット処理実行部１４に与えられると（ステップＳ１５）、パケット処理実行部１４は、パケットバッファ部１１に保持されているパケットを読み出し（ステップＳ１６）、ＡＣＬアクションテーブル１３ａから検索したパケット処理（例えば、パケット廃棄等）の処理を行なうと共に、パケットのＭＡＣアドレスフィールドにポリシーテーブル２ａから検索したポリシーのアドレスを上書きする（ステップＳ１７）。
【００４７】
図６は、パケットのＭＡＣアドレスフィールドに、ポリシーテーブル２ａの検索結果であるアドレス（インデックス）を上書きする処理のイメージ図である。
【００４８】
図６に示すように、上書きするアドレス（フィールド）は、従来、拡張ヘッダとして記入していた内容と同じである。すなわち、図６に示す拡張ヘッダ内容において、「Ａ〜Ｄ」部分３１には、ポリシーテーブル２ａの検索によるヒット又はミスヒット別を示す識別情報（例えば、ヒットの場合「１」、ミスヒットの場合「０」）が記入され、「取得インデックス」３２部分には、ポリシーテーブル２ａの検索ヒット時のポリシー番号のアドレスが記入される（ミスヒット場合、例えばオール「０」とする）。
【００４９】
そして、パケット処理実行部１４は、ＭＡＣアドレスフィールドにポリシーのアドレスを上書きしたパケットをＮＰＵ３に与えて、当該パケットに対する処理を実行させる（ステップＳ１８）。
【００５０】
（Ａ−３）第１の実施形態の効果
以上のように、第１の実施形態によれば、パケット処理実行部１４が、従来拡張ヘッダに記入していた内容を、パケットのＭＡＣアドレスフィールドに上書きすることにより、新たに拡張ヘッダの付与することがないので、パケット分析部の出力処理の負荷を軽減することができ、ルータとしてのデータ転送レートの低下を防ぐことができる。
【００５１】
（Ｂ）第２の実施形態
次に、本発明のパケット処理装置、パケット処理方法及びパケット処理プログラムの第２の実施形態を、図面を参照しながら説明する。
【００５２】
第２の実施形態も、第１の実施形態と同様に、本発明のパケット処理装置、パケット処理方法及びパケット処理プログラムを、ネットワーク上に配置されたルータの受信パケット処理部に適用した場合を説明する。
【００５３】
（Ｂ−１）第２の実施形態の構成
図７は、第２の実施形態のネットワーク装置の例であるルータの内部構成を示すブロック図である。
【００５４】
図７において、第２の実施形態のルータ５は、複数の物理ポート８（８−１〜８−Ｎ）と、物理終端部４と、パケット分析部１０Ｂと、ポリシーテーブル記憶部２と、受信パケット処理部６と、ネットワークプロセッサ（ＮＰＵ）部３と、送信パケット処理部７と、インデックス内容記憶部９、を少なくとも有して構成される。
【００５５】
第２の実施形態が第１の実施形態と異なる点は、第２の実施形態のルータ５が、インデックス内容記憶部９を備える点とパケット分析部１０Ｂの機能の点である。
【００５６】
そこで、以下では、インデックス記憶部９及びパケット分析部１０Ｂの構成及び動作を中心に詳細に説明し、第１の実施形態で説明した機能構成については省略する。
【００５７】
インデックス内容記憶部９は、あるパケットについて、パケット分析部１０Ｂがポリシーテーブル２ａによる検索をした際の検索結果、すなわちポリシーのアドレス（インデックス）をパケット分析部１０Ｂから受け取り、そのポリシーのアドレス（インデックス）を、検索対象のパケット毎に記憶するものである。インデックス内容記憶部９は、例えば、ＤＰＲＡＭなどの記憶装置を適用することができる。
【００５８】
このとき、インデックス内容記憶部９がポリシーのアドレス（インデックス）を記憶するメモリアドレスは、パケット分析部１０Ｂにより認識されているものとする。このメモリアドレスの認識は、例えば、検索対象のパケット毎にメモリアドレスカウンタをインクリメントし、パケット分析部１０Ｂがこのカウント値を保持することで実現することができる。
【００５９】
パケット分析部１０Ｂは、あるパケットについて、ポリシーテーブル２ａによる検索を行ない、ポリシーのアドレス（インデックス）を取得すると、そのポリシーのアドレス（インデックス）をインデックス内容記憶部９に記憶するものである。
【００６０】
また、パケット分析部１０Ｂは、インデックス内容記憶部９に記憶したメモリアドレスと検索回数とを、パケットの拡張ヘッダとして付与したり、若しくは、ＭＡＣアドレスフィールドに上書きしたりするものである。
【００６１】
第１の実施形態を適用した場合、ポリシーテーブル２ａの検索回数が増えると、上書きする内容が増え、ＭＡＣアドレスフィールド以上のデータフィールドが必要となる。しかし、第２の実施形態では、パケット分析部１０Ｂが、インデックス内容記憶部９のメモリアドレス及び検索回数を、パケットに付与するだけでいいので、拡張ヘッダとして若しくは上書きするデータフィールドを一定とすることができるので、ＭＡＣアドレスフィールドを超える場合がない。
【００６２】
ＮＰＵ３は、パケット分析部１０Ｂからのパケットの先頭に記入されているメモリアドレス及び検索回数に基づいて、インデックス内容記憶部９に記憶されているポリシーのアドレス（インデックス）を読み出し、そのポリシーのアドレス（インデックス）に基づくポリシーに従って、パケットに対する処理を行なうものである。
【００６３】
（Ｂ−２）第２の実施形態の動作
次に、第２の実施形態のパケット分析処理の動作を図面を参照して説明する。
【００６４】
図８は、第２の実施形態のパケット分析部１０Ｂと、パケット分析部１０Ｂを中心とする構成要素を示す図である。
【００６５】
図８において、第１の実施形態と同様に、ネットワークからのパケットがパケット分析部１０Ｂに入力すると（ステップＳ１１）、パケットのヘッダ情報に含まれている検索用識別子が識別子抽出部１２により抽出され（ステップＳ１２）、検索用識別子が検索管理部１４に与えられ（ステップＳ１３）、検索管理部１５により、当該パケットについてポリシーテーブル２ａによる検索が行なわれる（ステップＳ１４）。
【００６６】
ここで、図１０は、検索管理部１５及びパケット実行部１６における動作を示すフローチャートである。
【００６７】
検索管理部１５が識別子抽出部１２から検索用識別子を受け取ると、検索管理部１５は、ポリシーテーブル記憶部２に対し、検索要求コマンド及び検索用識別子を与える（ステップＳ２０１）。
【００６８】
そうすると、ポリシーテーブル記憶部２は、ポリシーテーブル２ａの内部エントリと検索用識別子とを比較し、その応答として一致又は不一致の別の返答と、一致する場合にはポリシーのアドレスとを検索管理部１５に返信する（ステップＳ２０２）。
【００６９】
なお、検索管理部１５における検索回数Ｎが「１」である場合にはステップＳ２０４に移行し、検索回数Ｎが「１以上」の場合にはステップＳ２０１に戻り処理を繰り返す（ステップＳ２０３）。
【００７０】
ステップＳ２０４においては、検索管理部１５は、検索したインデックスの内容を、インデックス内容記憶部９にライトする所定の準備を行ない（ステップＳ２０４）、インデックスの内容をライトするメモリアドレスを管理する（ステップＳ２０５）。
【００７１】
そうすると、検索管理部１５は、インデックス内容記憶部９の管理するメモリアドレスに、今回検索したインデックスの内容をライトする（ステップＳ２０５、図８のステップＳ２１）。
【００７２】
図９は、インデックス内容記憶部９におけるインデックス内容の記憶態様のイメージを示す。
【００７３】
図９に示すように、インデックス内容記憶部９は、検索管理部１５からのインデックス内容４２を、所定のメモリアドレス４１に対応付けて記憶する。このメモリアドレス４２は、検索管理部１５も管理しており、例えばメモリアドレス４２の番号順にインデックス内容が順次記憶されるものとする。また、インデックス内容４２は、検索回数に応じて記憶するデータ幅（データ長）を変えることができる。これにより、検索回数が増えることで、データ長が大きくなるインデックス内容を記憶することができる。
【００７４】
また、検索管理部１５は、今回検索したインデックスの内容をライトしたメモリアドレスと今回検索の検索回数とをパケット実行部１６に与えると（図８のステップＳ２２）、パケット実行部１６は、パケットバッファ部１１に保持されている対応のパケットを読み出し（図８のステップＳ２３）、当該パケットフレームの先頭に、インデックス内容記憶部９のメモリアドレスと検索回数とを付与する（ステップＳ２０７、図８のステップ２４）。
【００７５】
そして、パケット実行部１６は、インデックス内容記憶部９のメモリアドレスと検索回数とを付与したパケットをＮＰＵ３与える（図８のステップＳ２５）。
【００７６】
ＮＰＵ３は、パケットの先頭に付与されているメモリアドレスと検索回数に基づいて、インデックス内容記憶部９に記憶されているインデックス内容を読み出し（図８のステップＳ２６及びＳ２７）、ＮＰＵ９は読み出したインデックス内容に基づくポリシーを当該パケットに対し行なう。
【００７７】
（Ｂ−３）第２の実施形態の効果
以上のように、第２の実施形態によれば、第１の実施形態と同様の効果を得ることができる。
【００７８】
また、第２の実施形態によれば、インデックス内容記憶部９を備え、パケット分析部１０Ｂが、検索したポリシーのインデックス内容をインデックス内容記憶部９に記憶し、そのメモリアドレス及び検索回数をフレームの先頭に付与することにより、検索回数が増えることにより、上書きするインデックス内容のデータ量が多くなった場合でも、フレームに付加するデータサイズを一定にすることができるので、新たに拡張ヘッダの付与することがないので、パケット分析部の出力処理の負荷を軽減することができ、ルータとしてのデータ転送レートの低下を防ぐことができる。
【００７９】
（Ｃ）第３の実施形態
次に、本発明のパケット処理装置、パケット処理方法及びパケット処理プログラムの第３の実施形態を、図面を参照しながら説明する。
【００８０】
第３の実施形態も、第１の実施形態と同様に、本発明のパケット処理装置、パケット処理方法及びパケット処理プログラムを、ネットワーク上に配置されたルータの受信パケット処理部に適用した場合を説明する。
【００８１】
（Ｃ−１）第３の実施形態の構成及び動作
図１１は、第３の実施形態のパケット分析部１０Ｃの内部構成を示すブロック図である。
【００８２】
第３の実施形態が第１及び第２の実施形態と異なる点は、パケット分析部１０Ｃの検索管理部１７が、第１の実施形態で説明した処理と、第２の実施形態で説明した処理とを切り替える切替部１７１を備える点である。
【００８３】
これにより、パケット分析部１０Ｃは、検索回数又は入力したパケット種別に応じて、第１の実施形態で説明した処理（すなわち、ＭＡＣアドレスフィールドへの上書き処理）と、第２の実施形態で説明した処理（すなわち、インデックス内部記憶部９にインデックス内容を書き込み、そのメモリアドレスと検索回数をフレームの先頭に付与する処理）のいずれかの処理を切り替えることができる。
【００８４】
切替部１７１による切り替え方法としては、例えば、検索回数に応じて切り替える方法や、又は、入力パケットの種別に応じて切り替える方法がある。
【００８５】
例えば検索回数に応じて切り替える方法の場合、切替部１７１は、検索回数が、所定の検索回数以下の場合には第１の実施形態で説明した処理を行なうようにし、所定の検索回数を超えた場合には第２の実施形態で説明した処理を行なうようにする。
【００８６】
具体的に、１回の検索について、ポリシーテーブル記憶部２からの返信のデータサイズ、すなわち、一致／不一致の返答とインデックスとの合計データサイズが２ｂｙｔｅとすると、検索回数が１〜６回のときには、第１の実施形態と同様に、ＭＡＣアドレスフィールドにインデックス内容を上書きし、検索回数が６回を超えたときには、第２の実施形態と同様に、インデックス内容をインデックス内容記憶部９に記憶させ、そのメモリアドレス及び検索回数をフレームの先頭に付与するよう動作モードを切り替える。
【００８７】
この場合、切替部１７１は、予めパケット分析部１０Ｃの内部レジスタに検索回数を設定し、その設定されている検索回数に基づいて実現することができる。
【００８８】
また例えば、パケット種別に応じて切り替える方法の場合、切替部１７１は、入力パケットの種別を判断し、そのパケット種別に応じて、検索回数や、第１の実施形態の処理又は第２の実施形態の処理を変更するようにしてもよい。
【００８９】
具体的には、イーサヘッダ内のＴｙｐｅフィールドを参照し、ＩＰパケットか否かを判断した上で、ＩＰパケットの場合には、全回数の検索を実施し、ＩＰパケットでない場合には、１機能分の検索を１回のみ実施する。
【００９０】
この場合、ＩＰパケットでない場合には、第１の実施形態と同様に、ＭＡＣアドレスフィールドにインデックス内容を上書きし、ＩＰパケットの場合、第２の実施形態と同様に、インデックス内容をインデックス内容記憶部９に記憶させ、そのメモリアドレス及び検索回数をフレームの先頭に付与するよう動作モードを切り替える。
【００９１】
（Ｃ−２）第３の実施形態の効果
以上のように、第３の実施形態によれば、第１及び第２の実施形態で得られる効果と同様の効果を得ることができる。
【００９２】
また、第３の実施形態によれば、検索回数又は入力パケットの種別に応じて、第１の実施形態で説明した処理、又は第２の実施形態で説明した処理を切り替えることができる。
【図面の簡単な説明】
【００９３】
【図１】第１の実施形態のパケット分析部の内部構成を示すブロック図である。
【図２】従来のＣＡＭを備えたネットワーク装置の内部構成の一部を示すブロック図である。
【図３】従来のＣＡＭを用いたポリシーの検索処理を簡単に説明するフローチャートである。
【図４】従来の拡張ヘッダを付与したデータフレームの構成例を示す説明図である。
【図５】第１の実施形態のネットワーク装置の内部構成を示すブロック図である。
【図６】第１の実施形態の拡張ヘッダ内容をＭＡＣアドレスフィールドに上書きする処理のイメージ図である。
【図７】第２の実施形態のネットワーク装置の内部構成を示すブロック図である。
【図８】第２の実施形態のパケット分析部の内部構成を示すブロック図である。
【図９】第２の実施形態のインデックス内容記憶部における記憶態様を説明する説明図である。
【図１０】第２の実施形態の検索管理部及びパケット処理実行部の動作を示すフローチャートである。
【図１１】第３の実施形態のパケット分析部の内部構成を示すブロック図である。
【符号の説明】
【００９４】
２…ポリシーテーブル記憶部、２ａ…ポリシーテーブル、１１…パケットバッファ部、１２…識別子抽出部、１３、１５及び１７…検索管理部、１４及び１６…パケット処理実行部、３…ＮＰＵ、９…インデックス内容記憶部。
【図１】
2008085886.tif 000003
【図２】
2008085886.tif 000004
【図３】
2008085886.tif 000005
【図４】
2008085886.tif 000006
【図５】
2008085886.tif 000007
【図６】
2008085886.tif 000008
【図７】
2008085886.tif 000009
【図８】
2008085886.tif 000010
【図９】
2008085886.tif 000011
【図１０】
2008085886.tif 000012
【図１１】
2008085886.tif 000013