(57)【要約】【課題】  遅延時間を短縮し、リアルタイム性を高める。【解決手段】  １または複数のネットワークインタフェース部を備え、当該ネットワークインタフェース部から受信したパケットの持つ伝送制御情報をもとに当該パケットに関する伝送処理を実行するパケット処理装置において、前記パケットの伝送制御に関する異種のポリシーを記述した複数の伝送ポリシーテーブルを有するテーブル蓄積部と、１つの前記パケットから抽出された伝送制御情報を構成する複数の部分情報のうち、異なる部分情報を利用して前記複数の伝送ポリシーテーブルを同時並列的に検索する検索処理部とを備える。【選択図】  図１
2006101343.tif 000002
【特許請求の範囲】
【請求項１】
１または複数のネットワークインタフェース部を備え、当該ネットワークインタフェース部から受信したパケットの持つ伝送制御情報をもとに当該パケットに関する伝送処理を実行するパケット処理装置において、
前記パケットの伝送制御に関する異種のポリシーを記述した複数の伝送ポリシーテーブルを有するテーブル蓄積部と、
１つの前記パケットから抽出された伝送制御情報を構成する複数の部分情報のうち、異なる部分情報を利用して前記複数の伝送ポリシーテーブルを同時並列的に検索する検索処理部とを備えたことを特徴とするパケット処理装置。
【請求項２】
請求項１のパケット処理装置において、
前記検索処理部は、
前記複数の伝送ポリシーテーブルには、全部分情報に対応する１つのデータ項目を用意しておき、前記検索を行うとき、検索対象とならないデータ項目の値をマスクするか、同じ部分情報に対応するデータ項目を用意しておき、前記検索を行うとき、検索対象とならないデータ項目の値をマスクすることを特徴とするパケット処理装置。
【請求項３】
請求項１のパケット処理装置において、
前記複数の伝送ポリシーテーブルとは別個に、各パケットの通過または廃棄を示す通過可否情報を登録した通過可否テーブルを用意しておき、
前記伝送ポリシーテーブルの検索結果をもとに、当該通過可否テーブルを検索することで、各パケットを通過させるか廃棄するかを決定することを特徴とするパケット処理装置。
【請求項４】
請求項１のパケット処理装置において、
パケットの処理を実行するパケット処理遂行部と、
前記検索の結果をもとに、パケットに所定の拡張ヘッダを付与する拡張ヘッダ付与部とを備え、
当該拡張ヘッダ付与部によって拡張ヘッダが付与されたパケットを、前記パケット処理遂行部に供給し、パケット処理遂行部は当該拡張ヘッダの内容に基づいてパケットの処理を実行することを特徴とするパケット処理装置。
【請求項５】
１または複数のネットワークインタフェース部から受信したパケットの持つ伝送制御情報をもとに当該パケットに関する伝送処理を実行するパケット処理方法において、
テーブル蓄積部に、前記パケットの伝送制御に関する異種のポリシーを記述した複数の伝送ポリシーテーブルを蓄積しておき、
検索処理部は、１つの前記パケットから抽出された伝送制御情報を構成する複数の部分情報のうち、異なる部分情報を利用して前記複数の伝送ポリシーテーブルを同時並列的に検索することを特徴とするパケット処理方法。
【請求項６】
１または複数のネットワークインタフェース部から受信したパケットの持つ伝送制御情報をもとに当該パケットに関する伝送処理を実行するパケット処理プログラムにおいて、コンピュータに、
前記パケットの伝送制御に関する異種のポリシーを記述した複数の伝送ポリシーテーブルを有するテーブル蓄積機能と、
１つの前記パケットから抽出された伝送制御情報を構成する複数の部分情報のうち、異なる部分情報を利用して前記複数の伝送ポリシーテーブルを同時並列的に検索する検索処理機能とを実現させることを特徴とするパケット処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパケット処理装置、パケット処理方法およびパケット処理プログラムに関し、例えば、パケットの中継を行う中継装置やパケットの最終的な宛先となるエンド端末などに適用して好適なものである。
【背景技術】
【０００２】
パケットの転送に関連する技術として下記の特許文献１に記載されたものがある。
【０００３】
この特許文献１において、図２に示すように複数の物理インタフェース部１３Ａ、１３Ｂなどを有するパケット転送装置１０では、各物理インタフェース部（例えば、１３Ａ）内のパケット処理部（例えば、１６Ａ）が、図３に示すポリシーテーブルを用いて、パケットの処理を行っている。
【０００４】
このポリシーテーブルは、パケットのヘッダから抽出した識別子を検索キーとして検索を行うためのテーブルであるが、あるポリシーが検索されて検索条件が一致（識別子の値が一致）した場合、次に検索するべきポリシーを指定する次ポリシー番号を有している。
【０００５】
この構成により、あるパケットに適用すべきポリシー（パケットに対する処理を示すアクションも含む）が複数ある場合には、次ポリシー番号にしたがって順次、各ポリシーを検索することができるため、適用すべき複数のポリシーすべてを漏れなく検索し、１つのパケットに対して複数のアクションを実行することができる。
【０００６】
なお、次ポリシー番号に登録されるポリシー番号は必ずしも検索条件が一致するポリシーであるとは限らず、前記ポリシーテーブル上で次の検索試行を再開するべきポリシーを指定しているだけである。したがって実際の検索試行は、次ポリシー番号に登録されているポリシー番号で指定されるポリシーから再開され、検索条件が一致するポリシーが得られるまで、複数回実行され得る。
【特許文献１】特開２００３−１９８６０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところが、上述した特許文献１の技術の場合、次ポリシー番号で指定されるポリシーを順次、検索しなければならないため、あるパケットの処理に適用するべきすべてのポリシー（必要なすべてのアクション）を揃えるには、何度もポリシーテーブルの検索を行う必要があり、検索処理に要する時間が長く、パケット転送処理のリアルタイム性が低かった。
【０００８】
例えば、ルータやファイアウォール装置のような中継装置や、エンド端末内部のパケット転送機構などには、一般的に遅延時間が極めて短いことが要求されるが、ポリシーテーブルの検索処理に長時間を要すると、パケット転送全体の遅延時間が長くなり、リアルタイム性が犠牲になってしまう。
【課題を解決するための手段】
【０００９】
かかる課題を解決するために、第１の本発明では、１または複数のネットワークインタフェース部を備え、当該ネットワークインタフェース部から受信したパケットの持つ伝送制御情報をもとに当該パケットに関する伝送処理を実行するパケット処理装置において、前記パケットの伝送制御に関する異種のポリシーを記述した複数の伝送ポリシーテーブルを有するテーブル蓄積部と、１つの前記パケットから抽出された伝送制御情報を構成する複数の部分情報のうち、異なる部分情報を利用して前記複数の伝送ポリシーテーブルを同時並列的に検索する検索処理部とを備えたことを特徴とする。
【００１０】
また、第２の本発明では、１または複数のネットワークインタフェース部から受信したパケットの持つ伝送制御情報をもとに当該パケットに関する伝送処理を実行するパケット処理方法において、テーブル蓄積部に、前記パケットの伝送制御に関する異種のポリシーを記述した複数の伝送ポリシーテーブルを蓄積しておき、検索処理部は、１つの前記パケットから抽出された伝送制御情報を構成する複数の部分情報のうち、異なる部分情報を利用して前記複数の伝送ポリシーテーブルを同時並列的に検索することを特徴とする。
【００１１】
さらに、第３の本発明では、１または複数のネットワークインタフェース部から受信したパケットの持つ伝送制御情報をもとに当該パケットに関する伝送処理を実行するパケット処理プログラムにおいて、コンピュータに、前記パケットの伝送制御に関する異種のポリシーを記述した複数の伝送ポリシーテーブルを有するテーブル蓄積機能と、１つの前記パケットから抽出された伝送制御情報を構成する複数の部分情報のうち、異なる部分情報を利用して前記複数の伝送ポリシーテーブルを同時並列的に検索する検索処理機能とを実現させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、遅延時間を短縮し、リアルタイム性を高めることができる。
【発明を実施するための最良の形態】
【００１３】
（Ａ）実施形態
以下、本発明にかかるパケット処理装置、パケット処理方法およびパケット処理プログラムを、複数のポートを有するパケット中継装置に適用した場合を例に、実施形態について説明する。
【００１４】
（Ａ−１）実施形態の構成
本実施形態にかかるパケット中継装置２０の全体構成例を図４に示す。当該パケット中継装置２０としては、具体的には、例えば、ルータ、スイッチ、ファイアウォール装置などが該当し得る。
【００１５】
図４において、当該パケット中継装置２０は、ネットワークプロセッサ（ＮＰＵ）部２１と、物理媒体部２２，２７Ａ〜２７Ｂと、受信パケット処理部２３と、テーブル登録部２４と、送信パケット処理部２５と、物理終端部２６とを備えている。
【００１６】
このうち物理媒体部２７Ａ〜２７Ｂは、パケット中継装置２０外部の伝送媒体と直接、接続される部分である。伝送媒体には様々なものがあり、大きく無線媒体と有線媒体に分けることができるが、本実施形態では、無線媒体、有線媒体いずれに接続することも可能である。一例として、当該伝送媒体が１０ＢＡＳＥ−Ｔなどのケーブルである場合、当該物理媒体部２７Ａ〜２７Ｂは、ＲＪ−４５などのコネクタを有する。
【００１７】
物理終端部２６は、ＯＳＩ参照モデルの物理層（ＰＨＹ）やデータリンク層（ＭＡＣ層など）の処理を実行する部分である。パケット中継装置２０は中継するため、パケットの送信と受信を行うが、パケットの受信の場合、データリンク層のプロトコルデータ単位（ＰＤＵ）であるＭＡＣフレームからネットワーク層のプロトコルデータ単位（例えば、ＩＰパケットなど）を取り出して受信パケット処理部２３に供給するのがこの物理終端部２６の役割であり、パケットの送信の場合、送信パケット処理部２５から供給を受けたＩＰパケットなどをＭＡＣフレームに収容し、物理層の仕様に合わせた信号に変換して該当する物理媒体部（例えば、２７Ｂ）に送出するのがこの物理終端部２６の役割である。
【００１８】
なお、ネットワーク層のプロトコルデータ単位には様々なものがあり得るが、以下では主として、ＩＰパケットを例に説明を進める。
【００１９】
受信パケット処理部２３は本実施形態で特徴的な構成要素で、テーブル登録部２６に登録されているポリシーテーブルＴＢ１を利用して、前記物理終端部２６から供給を受けたパケットを処理する。当該受信パケット処理部２３の詳細については後で説明する。
【００２０】
図５に示すように、ポリシーテーブルＴＢ１は、データ項目として、ポリシー群番号と、ポリシー番号と、識別子とを備えているが、識別子の内部は後述するようにさらに細かな制御情報ごとに細分されているので、実質的には、制御情報の種類だけのデータ項目が存在しているのに等しい。
【００２１】
ポリシー番号は、ポリシーテーブルＴＢ１内で各行（エントリ）を一意に識別するための識別情報を示す。ここで、行とは、テーブル中のデータ項目を除く横の並びのことである。図５の例の場合、例えば、「ＰＧＮ１  ＰＮ１（１）  Ｄ１（１）  ×」の行Ｌ１１は一つの行である。本実施形態では、１つの行が１つのポリシーに対応している。
【００２２】
なお、物理的な実装レベルの概念として、当該ポリシー番号が該当するメモリアドレスなどを指定するものであってもよいことは当然である。
【００２３】
ポリシー群番号は、ポリシーの集合（ポリシー群）を識別するための識別情報を示す。ポリシー群には様々なものがあり得るが、パケットの中継においては、例えば、パケットの通過の可否を示すポリシー群や、ＱｏＳマッピング（ＱｏＳ制御）の内容を示すポリシー群などを用いることができる。ポリシーテーブルＴＢ１に登録されるポリシー群の数は１つでもよく、３つ以上であってもよいが、図５の例では２つである。この２つのうちＰＧＮ１はパケットの通過の可否に関するもので、ＰＧＮ２はＱｏＳマッピングに関するものである。
【００２４】
通過の可否は、そのパケットを当該パケット中継装置２０で通過（中継）するか、廃棄するかを示し、ＱｏＳ制御は、そのパケットのためのサービス品質（例えば、帯域割り当ての優先度など）を示す。
【００２５】
識別子は、パケット中継装置２０内で行われる中継処理の観点からみて重要なパケットの特徴を示す情報である。通常、この情報は、パケットヘッダから抽出される伝送制御情報に対応する。例えば、ＩＰパケットのヘッダの場合なら、周知のように、宛先ＩＰアドレス、送信元ＩＰアドレス、ＴｏＳ（サービスタイプ）、プロトコル番号（上位プロトコルの種類）などの各伝送制御情報がヘッダに記述されているが、これらの集合が識別子にあたる。
【００２６】
あるポリシー群（または、ある行（あるポリシー））の検索では、通常、すべての識別子を用いる必要はないため、用いない識別子については図５に示すように「×」を登録してマスクすることにより、照合の対象から除外している。
【００２７】
例えば、ある送信元（送信元ＩＰアドレス）から送信されたパケットをすべて廃棄することを指示するポリシーが登録されている場合、そのポリシーの検索では、宛先ＩＰアドレス、ＴｏＳ、プロトコル番号などの値は照合する必要はなく、送信元ＩＰアドレスのみ照合すればよい。
【００２８】
したがって、マスクされる識別子の詳細は１つのポリシー群の内部でも変化させることができる可能性があるが、本実施形態では、説明を簡単にするため、マスクされる識別子はポリシー群ごとに変化させるものとする。
【００２９】
例えば、図５の例では、ポリシー群番号ＰＧＮ１では、識別子Ｄ１（１）〜Ｄ１（ｎ１）の部分以外の識別子はマスクされ、ポリシー群番号ＰＧＮ２では、識別子Ｄ２（１）〜Ｄ２（ｎ２）の部分以外の識別子はマスクされている。一例として、識別子Ｄ１（１）〜Ｄ１（ｎ１）の部分は、前記送信元ＩＰアドレスおよび宛先ＩＰアドレスに対応する識別子で、識別子Ｄ２（１）〜Ｄ２（ｎ２）の部分は前記ＴｏＳ（サービスタイプ）に対応する識別子であってよい。
【００３０】
また、図５の例の場合、パケット中継装置２０で中継される可能性があるのは、ヘッダから抽出された識別子がポリシー群ＰＧＮ１内のいずれかの行の識別子と一致したパケットだけである。したがって、識別子がポリシー群ＰＧＮ１内のいずれの行とも一致しないパケットは廃棄される。ただし、識別子がポリシー群ＰＧＮ１内のいずれかの行の識別子と一致したパケットであっても、ＡＣＬアクションテーブルＴＢ３の登録内容によっては廃棄されることがある。
【００３１】
なお、一般的なテーブルでは行の順番に意味はないが、ポリシーテーブルＴＢ１では行の順番に意味がある。例えば、基本的に上の行（図５の状態ではＬ１１が最も上の行）から順番に検索を行うものとすると、ポリシー（行）ごとの優先順位が設定されているなら、優先順位の高いポリシーほど上に配置するようにしてもよい。あるいは、１つのパケットに対する検索において、１つのポリシー群のなかでヒットする可能性のある行の数の最大値が予め決定された所定値（例えば、１つ）である場合などには、行ごとのヒット率を算出して、ヒット率の高い行ほど上に配置することも検索の効率を高めるために望ましい。検索中、所定数の行にヒットすれば、そのポリシー群内の残りの行は調べる必要がなくなるからである。ここで、ヒット率とは、各行の識別子の値と、パケットのヘッダから抽出した検索キーとしての識別子（検索用識別子）の値が一致する率である。
【００３２】
図４に示すネットワークプロセッサ部２１は、受信パケット処理部２３から処理を依頼されたパケットに対して高度なパケット処理を実行する制御部である。周知のルーティングテーブルの検索などを実行して、パケットを送出すべきポート（例えば、２７Ａ）を特定するのは、このネットワークプロセッサ部２１の役割である。したがって、受信パケット処理部２３がネットワークプロセッサ部２１に処理を依頼するのは、基本的に、廃棄せずに通過させるパケット、すなわち、パケット中継装置２０で中継されるパケットになる。
【００３３】
送信パケット処理部２５は、ネットワークプロセッサ部２１から処理を依頼されたパケットについて送信を実行する部分である。パケットの廃棄を必ず受信パケット処理部２３内で行うものとすると、送信パケット処理部２５が処理を依頼されたパケットはすべて、中継するパケットになる。
【００３４】
物理媒体部２２は、パケット中継装置２２内部のバスなどに相当する部分である。当該物理媒体部２２を介して、パケット中継装置２０内の各構成要素が情報をやり取りする。例えば、ネットワークプロセッサ部２１、受信パケット処理部２３，送信パケット処理部２５間の情報のやり取りも、当該物理媒体部２２を介して行われる。
【００３５】
前記受信パケット処理部２３の内部構成は例えば図１に示す通りであってよい。
【００３６】
（Ａ−１−１）受信パケット処理部の内部構成例
図１において、当該受信パケット処理部２３は、パケットバッファ部３１と、識別子抽出部３２と、検索管理部３３と、パケット処理実行部３４とを備えている。
【００３７】
このうちパケットバッファ部３１は、前記物理終端部２６から供給されたパケットを一時的に記憶する部分である。
【００３８】
識別子抽出部３２は、当該パケットバッファ部３１に記憶されているパケットのヘッダから前記検索用識別子を抽出する部分である。ここで抽出された検索用識別子が、前記検索キーとしてポリシーテーブルＴＢ１の検索に利用される。
【００３９】
検索管理部３３は、前記識別子抽出部３２から受け取った検索用識別子を検索キーとして前記テーブル登録部２４に登録されているポリシーテーブルＴＢ１の検索を行うとともに、この検索で得られたポリシー番号を利用してＡＣＬアクションテーブルＴＢ３の検索を行う部分である。これらの検索により、パケットに対する処理の内容を決定する。この決定は、図６に示すアクション制御テーブルＴＢ２の形にまとめることができる。
【００４０】
ＡＣＬアクションテーブルＴＢ３は、前記ポリシーテーブルＴＢ１の各行のポリシー番号に対応付けてアクション（通過、廃棄など当該パケット中継装置２０内においてパケットに対して実行される最終的な処理）の内容が登録されたテーブルである。ＡＣＬアクションテーブルＴＢ３に登録されるアクションには、パケットの通過、廃棄などのほか、通過させる場合のＱｏＳ制御などに関するアクションが含まれていてもよい。
【００４１】
アクションの内容はそのためのデータ項目を用意することで、前記ポリシーテーブルＴＢ１にまとめて登録する構成としてもよいが、ここでは、ポリシーテーブルＴＢ１と別個にＡＣＬアクションテーブルＴＢ３を用意している。これによって一覧性は低下するが、管理が容易になり、記憶資源を節約できる可能性が高い。実際には、ポリシーテーブルＴＢ１上の異なる多くの行に対し、同一のアクションを対応付けることが多いからである。
【００４２】
また、図６において、前記アクション制御テーブルＴＢ２は、データ項目として、ポリシー群ＰＧＮ１検索結果と、ＡＣＬアクションテーブル検索結果と、ポリシー群ＰＧＮ２検索結果と、パケット処理とを備えている。
【００４３】
ポリシー群ＰＧＮ１検索結果は、前記ポリシーテーブルＴＢ１のポリシー群ＰＧＮ１に関する検索の結果（ポリシー群番号ＰＧＮ１のポリシー群に対する検索結果）を示す。その値は、「ＨＩＴ」（ヒット）と「ＭｉｓｓＨＩＴ」（ミスヒット）である。ここで、ヒットとは、パケットから抽出した検索キーとしての検索用識別子（その一部）の値がポリシー群ＰＧＮ１内のいずれかの行の識別子の値と一致したことを示し、ミスヒットとは、当該検索用識別子の値がポリシー群ＰＧＮ１内のいずれの行の識別子の値とも一致しなかったことを示す。
【００４４】
ＡＣＬアクションテーブル検索結果は、前記ＡＣＬアクションテーブルＴＢ３に関する検索結果を示す。その値は、「廃棄」、「通過」、「×」のいずれかである。廃棄か通過だけでなく、必要に応じて、ＱｏＳ制御に関するアクションを示す値も登録するようにしてよい。また、「×」は空値を示している。この空値は、ＡＣＬアクションテーブルＴＢ３の検索自体を実行しないケースに対応する。ポリシー群ＰＧＮ１の検索結果がミスヒットであった場合、ＡＣＬアクションテーブルＴＢ３の検索キーであるポリシー番号が得られないからである。
【００４５】
ポリシー群ＰＧＮ２検索結果は、前記ポリシーテーブルＴＢ１のポリシー群ＰＧＮ２に関する検索の結果（ポリシー群番号ＰＧＮ２のポリシー群に対する検索結果）を示す。その値は、その値は、「ＨＩＴ」（ヒット）と「ＭｉｓｓＨＩＴ」（ミスヒット）と「×」のいずれかである。ヒットとミスヒットの意味は、ポリシー群ＰＧＮ１検索結果の場合と同じである。また、「×」は、その値が何であってもかまわないことを示している。本実施形態では、ポリシー群ＰＧＮ２の検索はポリシー群ＰＧＮ１の検索と同時並列的に実行するため、ポリシー群ＰＧＮ１の検索でヒットやミスヒットの結果が得られるのとほぼ同時にポリシー群ＰＧＮ２でもヒットやミスヒットの結果が得られる。
【００４６】
したがって、通常、ポリシー群ＰＧＮ１の検索結果などに応じてポリシー群ＰＧＮ２の検索自体を行わないという制御を実行することは難しいが、もしも、同時並列的に実行していた検索が、ポリシー群ＰＧＮ１側で早く完了し、なおかつ、その検索結果が、ポリシー群ＰＧＮ２の検索が不要であることを示している場合、途中で、ポリシー群ＰＧＮ２の検索を停止させる制御を実行してもかまわない。最終的にそのパケットが廃棄される場合、そのパケットのためにＱｏＳ制御に関する検索する必要はないからである。
【００４７】
パケット処理は、パケットに対して前記パケット処理実行部３４が実行するべき最終的な処理の内容を示す。その値は、「廃棄」と、「通過＆拡張ヘッダ添付」のいずれかである。廃棄は、パケットを中継しないときに実行する。通過＆拡張ヘッダの添付は、パケットを中継するときに実行する。通過は、パケットの中継を指し、拡張ヘッダは、中継に付随して当該パケットに対してネットワークプロセッサ部２１などが実行するべき処理の内容を記述した制御情報である。
【００４８】
なお、前記テーブル登録部２４は上述したポリシーテーブルＴＢ１中の２つのポリシー群ＰＧＮ１，ＰＧＮ２に対する同時並列的な検索を実現できるように、例えば、ＣＡＭ（連想メモリ）などを用いて構成してもかまわないし、複数の記憶装置を用意し、ポリシー番号ＰＧＮ１のポリシー群と、ポリシー番号ＰＧＮ２のポリシー群は、異なる記憶装置上に配置するようにしてもよい。また、テーブル登録部２４自体のハードウエア構成が同時並列的な検索に対応したものでない場合、いわゆるパイプライン処理などを利用して、同時並列的な検索を実現するようにしてもよい。
【００４９】
前記パケット処理実行部３４は、前記ＡＣＬアクションテーブルＴＢ３の検索によって得られたアクションの内容などを反映した前記アクション制御テーブルＴＢ２のパケット処理の値にしたがって、パケットに対する処理を実行する部分である。パケット処理の値が廃棄である場合、上述したように、そのパケットは当該パケット処理実行部３４で廃棄される。また、パケット処理の値が通過＆拡張ヘッダ添付である場合、そのパケットに関する情報（例えば、そのパケットのヘッダから抽出した前記宛先ＩＰアドレスなど）はパケット処理実行部３４からネットワークプロセッサ部２１に供給され、パケットの本体は送信パケット処理部２５に供給される。
【００５０】
拡張ヘッダには、中継の詳細な内容を示す前記ＱｏＳ制御の内容などを指定する制御情報が記述されているので、ネットワークプロセッサ部２１は当該拡張ヘッダの記述にしたがって、当該パケットに関する中継を制御する。必要に応じて、そのパケットのヘッダから抽出した宛先ＩＰアドレスの値なども、当該拡張ヘッダに記述しておいてもよい。
【００５１】
以下、上記のような構成を有する本実施形態の動作について図７のフローチャートを用いて説明する。
【００５２】
図７のフローチャートは、ポリシーテーブルＴＢ１の検索を主体とするパケット中継装置２０（特に、受信パケット処理部２３）内の動作を示しており、Ｓ１０〜Ｓ１６の各ステップを備えている。
【００５３】
（Ａ−２）実施形態の動作
パケット中継装置２０は、パケットの中継に関する処理を行うとき、前提として、前記テーブル登録部２４内に、例えば、図５に示すようなポリシーテーブルＴＢ１を用意しておく必要がある。このポリシーテーブルＴＢ１では、すべての識別子のうち、そのポリシー群で不要なものはマスクしてある。このマスクを実行するのは、図７のステップＳ１０である。
【００５４】
図５の例の場合、上述したように、ポリシー群番号ＰＧＮ１では、識別子Ｄ１（１）〜Ｄ１（ｎ１）の部分以外の識別子はマスクされ、ポリシー群番号ＰＧＮ２では、識別子Ｄ２（１）〜Ｄ２（ｎ２）の部分以外の識別子はマスクされる。
【００５５】
図５に示した状態のポリシーテーブルＴＢ１と、図６に示したアクション制御テーブルＴＢ２と、前記ＡＣＬアクションテーブルＴＢ３が用意できれば、パケット中継装置２０は、パケットの中継が可能な状態となる。
【００５６】
パケットがいつ届くかは、通常、パケット中継装置２０から予測することができないため、パケット中継装置２０は、パケットが届いていない状態では、ステップＳ１１がＮＯ側に分岐して、いつ届いても対応できるように所定の待機処理を実行する（Ｓ１２）。
【００５７】
このとき例えば、前記物理媒体部２７Ａを介してＭＡＣフレームに収容されたパケットＰＫ１が受信されたものとすると、前記物理終端部２６でＭＡＣフレームから抽出されたそのパケットＰＫ１は、前記受信パケット処理部２３内のパケットバッファ部３１に一時的に記憶され、そのヘッダから、前記宛先ＩＰアドレス、送信元ＩＰアドレス、ＴｏＳ（サービスタイプ）、プロトコル番号（上位プロトコルの種類）などの全伝送制御情報が抽出される（Ｓ１３）。そして、ここで抽出された全伝送制御情報を検索用識別子ｄｐとする。
【００５８】
次に、この検索用識別子ｄｐを用いて前記ポリシーテーブルＴＢ１を検索する（Ｓ１４）。上述した通り、この検索では、ポリシー群番号ＰＧＮ１のポリシー群に対する検索と、ポリシー群番号ＰＧＮ２のポリシー群に対する検索は同時並列的に実行される。ポリシーテーブルＴＢ１上では前記マスクが実行されているため、ポリシー群番号ＰＧＮ１のポリシー群の検索では、検索用識別子ｄｐのうち、識別子Ｄ１（１）〜Ｄ１（ｎ１）の部分のみが有効でその他の識別子の値は無視される。逆に、ポリシー群番号ＰＧＮ２のポリシー群の検索では、検索用識別子ｄｐのうち、識別子Ｄ２（１）〜Ｄ２（ｎ２）の部分のみが有効でその他の識別子の値は無視される。
【００５９】
これにより、ポリシー群番号ＰＧＮ１のポリシー群に対する検索結果と、ポリシー群番号ＰＧＮ２のポリシー群に対する検索結果が、ほぼ同時に得られる。前記特許文献１で、ポリシー群番号ＰＧＮ１のポリシー群に対する検索結果（次ポリシー番号）を得てから、その次ポリシー番号をもとに、ポリシー群番号ＰＧＮ２のポリシー群に対する検索を行っていたことと比較すると、パケットＰＫ１を受信してからここまでの処理に要する時間は、平均的なケースで、本実施形態のほうがはるかに短い。
【００６０】
また、ポリシー群番号ＰＧＮ１のポリシー群に対する検索でヒットした行のポリシー番号、および／または  ポリシー群番号ＰＧＮ２のポリシー群に対する検索でヒットした行のポリシー番号をもとにＡＣＬアクションテーブルＴＢ３を検索すると、そのパケットＰＫ１に対して実行されるアクションが特定される。ただし、前記パケット処理実行部３４がパケットＰＫ１に対して実行するパケット処理の値は、ポリシー群番号ＰＧＮ１のポリシー群に対する検索結果と、ポリシー群番号ＰＧＮ２のポリシー群に対する検索結果と、ＡＣＬアクションテーブルＴＢ３の検索結果をもとに、前記アクション制御テーブルＴＢ２を検索することによって特定される。
【００６１】
もっとも、アクション制御テーブルＴＢ２の内容が図６の通りである場合、ポリシー群ＰＧＮ２の検索結果は、最終的なパケット処理の値に影響を与えないため、少なくともこの時点の処理では不要である。例えば、アクション制御テーブルＴＢ２の行ＮＬ１とＮＬ２では、ポリシー群ＰＧＮ２の検索結果が何であってもパケット処理の値は「廃棄」であるし、行ＮＬ３とＮＬ４では、ポリシー群ＰＧＮ２の検索結果がヒットでもミスヒットでもパケット処理の値は「通過＆拡張ヘッダ添付」だからである。
【００６２】
いずれにしても、パケット処理の値が特定されると、その値が前記パケット処理実行部３４に供給され、パケット処理実行部３４は当該パケットＰＫ１に対して、供給を受けたパケット処理の値に応じた処理を実行する。
【００６３】
すなわち、パケット処理の値が廃棄である場合、そのパケットＰＫ１は当該パケット処理実行部３４で廃棄され、通過＆拡張ヘッダ添付である場合には、そのパケットＰＫ１に関する情報がパケット処理実行部３４からネットワークプロセッサ部２１に供給される。通過＆拡張ヘッダ添付の場合には、パケットＰＫ１の本体は送信パケット処理部２５に供給され得る。
【００６４】
以上のステップＳ１１、Ｓ１３〜Ｓ１６の処理は、物理媒体部（例えば、２７Ａなど）から受信され、前記パケットバッファ部３１に記憶されている次のパケットＰＫ２に対しても実行される。以降、パケットバッファ部３１に記憶されるパケット（図示せず）に対する処理も同様である。
【００６５】
なお、パケットバッファ部３１に記憶されているパケットが存在しなくなると、前記ステップＳ１１がＮＯ側に分岐するようになる。
【００６６】
（Ａ−３）実施形態の効果
本実施形態によれば、パケット中継装置（２０）がパケット（例えば、ＰＫ１）を中継する際の遅延時間を短縮し、リアルタイム性を高めることができる。
【００６７】
（Ｂ）他の実施形態
上記実施形態にかかわらず、ネットワークプロセッサ部２１が、拡張ヘッダ内の制御情報に基づいてパケットの廃棄を行うことがあってもよい。
【００６８】
この場合、ネットワークプロセッサ部２１も、拡張ヘッダ内の制御情報（例えば、ポリシー番号など）に基づいて所定のテーブルの検索を行い、その検索結果に基づいてパケットを廃棄するものであってよい。
【００６９】
また、パケット中継装置２０がファイアウォール装置である場合などには、宛先ポート番号などネットワーク層より上位層の情報に基づいてパケットの廃棄（遮断）などを行うのは、当該ネットワークプロセッサ部２１の役割となるものであってよい。
【００７０】
さらに、ＱｏＳ制御に関する処理は、ネットワークプロセッサ部２１が決定するものであってもよい。その場合、前記ＡＣＬアクションテーブルＴＢ３に相当するＱｏＳ制御に関する処理を登録したテーブルをネットワークプロセッサ部２１が検索するものであってよい。
【００７１】
さらにまた、上記実施形態において、受信パケット処理部２３が行っていた処理の少なくとも一部は、送信パケット処理部２５内で行うことが可能である。例えば、パケットの廃棄を送信パケット処理部２５内で行うようにしてもよい。
【００７２】
なお、上記実施形態では、ネットワーク層のプロトコルデータ単位であるパケットに注目して本発明を適用したが、本発明はネットワーク層以外のプロトコルデータ単位に対して適用できる可能性もある。例えば、スイッチがＭＡＣフレームを中継する場合などにも本発明を適用できる可能性がある。ネットワーク層のプロトコルデータ単位としては「フレーム」の語を用いて「パケット」と区別することがあるが、広義の「パケット」には「フレーム」などネットワーク層以外の階層のプロトコルデータ単位も包含される。
【００７３】
また、上述したように、アクションの内容はそのためのデータ項目を用意することで、前記ポリシーテーブルＴＢ１にまとめて登録する構成とすることも可能である。これにより、ポリシーテーブルＴＢ１の一覧性が向上するとともに、テーブルの検索回数が少なくなって、パケット中継のリアルタイム性がいっそう高まる可能性がある。
【００７４】
なお、上記実施形態では、本発明を複数のポートを持つパケット中継装置に適用したが、本発明は、１つのポートしか持たないエンド端末などに適用することも可能である。エンド端末の内部にあるパケット転送機構（例えば、ＩＰプロトコル処理モジュールなど）でも、自身宛てでないパケットを廃棄したり、自身宛てのパケットはＯＳＩ参照モデルの上位の階層にあたるプロトコル処理モジュールに渡したりする処理を実行しており、これらの処理は本質的に、ルータなどが行う中継と相違しないからである。
【００７５】
また、上記実施形態で用いた各テーブルの構成は変更することが可能である。例えば、図５に示すポリシーテーブルＴＢ１は、ポリシー番号ＰＧＮ１のポリシー群に対応する１つのテーブルと、ポリシー番号ＰＧＮ２のポリシー群に対応するもう１つのテーブルに分けることもできる。
【００７６】
さらに、上記実施形態で用いた通信プロトコルは他の通信プロトコルに置換可能である。例えば、ＩＰプロトコルはＩＰＸプロトコルなどに置換できる可能性がある。
【００７７】
以上の説明で、ハードウエア的に実現した構成要素の大部分はソフトウエア的に実現することが可能であり、ソフトウエア的に実現した構成要素のほとんどすべては、ハードウエア的に実現することが可能である。
【図面の簡単な説明】
【００７８】
【図１】実施形態にかかるパケット中継装置内に設けられる受信パケット処理部の内部構成例を示す概略図である。
【図２】従来のパケット転送装置の内部構成を示す概略図である。
【図３】従来のポリシーテーブルの構成を示す概略図である。
【図４】実施形態にかかるパケット中継装置の内部構成例を示す概略図である。
【図５】実施形態で使用するポリシーテーブルの構成例を示す概略図である。
【図６】実施形態で使用するアクション制御テーブルの構成例を示す概略図である。
【図７】実施形態の動作例を示すフローチャートである。
【符号の説明】
【００７９】
２０…パケット中継装置、２１…ネットワークプロセッサ（ＮＰＵ）部、２２、２７Ａ、２７Ｂ…物理媒体部、２３…受信パケット処理部、２４…テーブル登録部、２５…送信パケット処理部、２６…物理終端部、３１…パケットバッファ部、３２…識別子抽出部、３３…検索管理部、３４…パケット処理実行部、ＴＢ１…ポリシーテーブル、ＴＢ２…アクション制御テーブル、ＴＢ３…ＡＣＬアクションテーブル、ＰＫ１，ＰＫ２…パケット。
【図１】
2006101343.tif 000003
【図２】
2006101343.tif 000004
【図３】
2006101343.tif 000005
【図４】
2006101343.tif 000006
【図５】
2006101343.tif 000007
【図６】
2006101343.tif 000008
【図７】
2006101343.tif 000009