(57)【要約】【課題】  一時保持部でのオーバーフローの発生を低減し得るパケット処理装置およびパケット処理方法を提供する。【解決手段】  受信パケットを一時的に保持する一時保持部３０と、該パケットから抽出した情報に基づいて、当該パケットに対する処理アルゴリズムを得るためのテーブルを検索部７０に検索させ、検索結果に基づいて取得する処理アルゴリズムに基づいて前記パケットを転送処理する処理部とを備えたパケット処理装置において、検索部は、処理部で入力される検索回数に応じて、パケットの処理アルゴリズムを得るためのテーブルを検索し、処理部は一時保持部の保持状況に基づいて検索回数を決定し、決定した検索回数を検索部に入力する検索条件入力部４２と、検索部での検索結果に基づいて取得する処理アルゴリズムに基づいて前記パケットに対する転送処理を行うアルゴリズム処理部とを備える。【選択図】        図１
2006166084.tif 000002
【特許請求の範囲】
【請求項１】
受信パケットを一時的に保持するための一時保持部と、該一時保持部からパケットを読み出し、該パケットから抽出した情報に基づいて、当該パケットに対する処理アルゴリズムを得るためのテーブルを検索部に検索させ、該検索部での検索結果に基づいて取得する処理アルゴリズムに基づいて前記パケットを転送処理する処理部と、を備えたパケット処理装置において、
前記検索部は、前記処理部で入力される検索回数に応じて、パケットの処理アルゴリズムを得るためのテーブルを検索し、
前記処理部は、
前記一時保持部の保持状況に基づいて検索回数を決定し、決定した検索回数を前記検索部に入力する検索条件入力部と、
前記検索部での検索結果に基づいて取得する処理アルゴリズムに基づいて前記パケットに対する転送処理を行うアルゴリズム処理部とを備えること、
を特徴とするパケット処理装置。
【請求項２】
更に、
前記処理部は、
前記アルゴリズム処理部から出力されるパケットを受けると、処理中であるか否かを判定し、処理中のパケットであると判断すると、当該処理中パケットに対する詳細処理アルゴリズムを得るための検索を前記検索部で行なわせるべく、該検索部の検索タイミングを前記一時保持部の保持状況に応じて制御する振分タイミング制御部を備えており、
前記検索部は、前記処理アルゴリズムを得るためのテーブル検索に代えて、処理中パケットに対する詳細処理アルゴリズムを得るためのテーブルを、現在の前記一時保持部の保持状況に基づいて前記検索条件入力部から入力された検索回数に応じて検索し、
前記アルゴリズム処理部は、前記処理中のパケットに対し、検索結果に基づいて取得する詳細処理アルゴリズムに基づいて転送処理を行うこと、
を特徴とする請求項１記載のパケット処理装置。
【請求項３】
受信パケットを一時的に保持するための一時保持部と、該一時保持部からパケットを読み出し、該パケットから抽出した情報に基づいて、当該パケットに対する処理アルゴリズムを得るためのテーブルを検索し、検索結果に基づいて取得する処理アルゴリズムに基づいて前記パケットを転送処理するアルゴリズム処理部を備えるパケット処理装置におけるパケット処理方法において、
前記一時保持部の保持状況に基づいて検索回数を決定し、決定した検索回数を前記検索部に入力すること、
決定した検索回数に応じて、パケットの処理アルゴリズムを得るためのテーブルを前記検索部で検索すること、
検索結果に基づいて取得する処理アルゴリズムに基づいて前記パケットに対する転送処理をアルゴリズム処理部で行うこと、
を特徴とするパケット処理方法。
【請求項４】
前記アルゴリズム処理部から出力されるパケットを受けると、処理中であるか否かを判定し、処理中のパケットであると判断すると、当該処理中パケットに対する詳細処理アルゴリズムを得るための検索を前記検索部で行なわせるべく、該検索部の検索タイミングを前記一時保持部の保持状況に応じて制御すること、
前記処理アルゴリズムを得るためのテーブル検索に代えて、処理中パケットに対する詳細処理アルゴリズムを得るためのテーブルを、現在の前記一時保持部の保持状況に基づいて前記検索条件入力部から入力された検索回数に応じて前記検索部で行うこと、
検索結果に基づいて取得する詳細処理アルゴリズムに基づいて前記アルゴリズム処理部で転送処理を行うこと、
を特徴とする請求項３記載のパケット処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットから抽出した情報に基づいて当該パケットに対する処理アルゴリズムを得てパケットを処理する方法およびパケット処理装置に関するものである。
【背景技術】
【０００２】
伝送路を介して受入れたパケットから情報を抽出し、該情報に基づいて当該パケットに対する処理アルゴリズムを得てパケットを処理する装置は、受入れたパケットを一時的に保持するＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）方式の一時保持部と、該一時保持部で保持するパケットを読出し、該パケットに含まれる情報を抽出し、該情報に基づいてパケットに対する処理アルゴリズムを得るためのテーブルを検索する検索部と、検索結果に基づいて取得する処理アルゴリズムに基づいてパケットに対する処理を行う処理部とを備えている。
【０００３】
前記したパケット処理装置は、検索部および処理部から成る組合せを多段に構成してもよく、非特許文献１には、Ｐａｃｋｅｔ  Ｃｌａｓｓｉｆｉｅｒ／Ｐｏｌｉｃｙ  Ｅｎｇｉｎと示された処理エンジンと、Ｃｌａｓｓｉｆｉｃａｔｉｏｎ  Ｃｏ−ｐｒｏｃｅｓｓｅｒと示された検索コプロセッサと、該検索コプロセッサで得た検索結果に対応する処理アルゴリズムを保持するためのＺＢＴ  Ｍｅｍｏｒｙと示されたメモリとから成る第１段と、該第１段と同様の構成から成る第２段とで構成されたパケット処理装置が開示されている。
【０００４】
第１段目の処理部の前段には、ＦＩＦＯ方式の一時保持部が接続されており、第１段目のエンジンは、該一時保持部で保持するパケットを読出すと、該パケットから検索に必要な情報を抽出し、抽出した情報に基づいて処理アルゴリズムを得るためのテーブルを検索コプロセッサに検索させ、検索結果として得たアドレスに基づいてメモリから処理アルゴリズムを取得し、該処理アルゴリズムに従ってパケットを処理する。この処理で、例えばパケットを破棄するか否か、優先度が高いか否かなどの判断が成される。
【０００５】
このように、第１段で処理されたパケットに対し、詳細な処理アルゴリズムで更に処理すべく、第２段目の処理エンジンは、第１段目で処理されたパケットに対する詳細処理アルゴリズムを得るためのテーブルを検索コプロセッサに検索させ、検索結果として得たアドレスに基づいてメモリから詳細処理アルゴリズムを取得し、該詳細処理アルゴリズムに従って処理中のパケットを処理する。この処理で、例えばパケット処理装置がファイアウォールの機能を有する仕様であれば、詳細処理アルゴリズムに従ってパケットのウイルスチェックが行なわれ、ゲイトウェイとしての機能を有する仕様であれば、詳細処理アルゴリズムに従ってプロトコル変換が行なわれる。
【非特許文献１】日本ＩＤＴ株式会社  ホームページ          http://www.idt.co.jp/design_res/catalogue/IPC.pdf
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、前記したパケット処理装置において、検索部で検索を行なうためのパラメータとしてパケットから抽出する情報が例えば５７６ビットであり、検索部が一度に受入れ可能の検索情報のサイズが７２ビットであるとき、８回の検索が必要となる。この検索回数は、検索パラメータを受入れる検索部の受入れサイズで決まる他に、パケット処理装置の仕様に基づいて適宜その検索回数が設定される。
【０００７】
ところで、前記したパケット処理装置において、検索部で検索を行なうためのパラメータとしてパケットから抽出する情報が例えば５７６ビットであり、検索部の入力ビットサイズが７２ビットであるとき、５７６ビットの情報を７２ビット毎に分割し、分割した７２ビットの情報を８回に分けて入力し、１回の検索を行う。このように検索情報を分割入力し１回の検索を行うことを、階層化された検索テーブルに応じて行っている。
【０００８】
ところで、階層化された検索テーブルに対する検索は複数検索と称されており、例えば検索部の入力ビットサイズが７２ビットであるとき、第１テーブルを２１６ビットの検索情報で検索を行うとき、２１６ビットを３分割し、３回に分けて検索情報を検索部に入力し１回の検索を行い、その後第２テーブルとしての優先ポリシーテーブルを２８８ビットの検索情報で検索を行うとき、２８８ビットを４分割し、４回に分けて検索情報を検索部に入力し１回の検索を行う。このように複数検索は、階層化された各テーブルにおいて行う検索である。ところで、複数検索の検索回数は、パケット処理装置の仕様、すなわち階層化された検索テーブルの仕様などや検索内容に応じて適宜設定される。
【０００９】
検索部は、設定された検索回数に応じて処理アルゴリズムを得るためのテーブル検索を行なうが、該検索部で複数回の検索を行なっている間にも、一時保持部は新たなパケットを順次受入れて蓄積し続けている。従って検索部での検索回数が多く検索処理に時間を要すると、一時保持部での保持許容量を超え、一時記憶部でパケットを受入れ保持できないいわゆるオーバーフローが生じる。
【００１０】
前記したように、オーバーフローが生じると、優先度の高い重要なパケットを取得できない虞があり、オーバーフローの発生率を低減することが望まれていた。
従って、本発明の目的は、一時保持部でのオーバーフローの発生を低減し得るパケット処理装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明は、以上の点を解決するために、次の構成を採用する。
本発明のパケット処理装置は、受信パケットを一時的に保持するための一時保持部と、該一時保持部からパケットを読み出し、該パケットから抽出した情報に基づいて、当該パケットに対する処理アルゴリズムを得るためのテーブルを検索部に検索させ、該検索部での検索結果に基づいて取得する処理アルゴリズムに基づいて前記パケットを転送処理する処理部とを備えており、検索部は、処理部で入力される検索回数に応じて、パケットの処理アルゴリズムを得るためのテーブルを検索し、処理部は、一時保持部の保持状況に基づいて検索回数を決定し、決定した検索回数を検索部に入力する検索条件入力部と、検索部での検索結果に基づいて取得する処理アルゴリズムに基づいてパケットに対する転送処理を行うアルゴリズム処理部とを備えることを特徴とする。
【００１２】
本発明のパケット処理方法は、受信パケットを一時的に保持するための一時保持部と、該一時保持部からパケットを読み出し、該パケットから抽出した情報に基づいて、当該パケットに対する処理アルゴリズムを得るためのテーブルを検索し、検索結果に基づいて取得する処理アルゴリズムに基づいて前記パケットを転送処理するアルゴリズム処理部を備えるパケット処理装置におけるパケット処理方法であり、一時保持部の保持状況に基づいて検索回数を決定し、決定した検索回数を検索部に入力すること、決定した検索回数に応じて、パケットの処理アルゴリズムを得るためのテーブルを検索部で検索すること、検索結果に基づいて取得する処理アルゴリズムに基づいてパケットに対する転送処理をアルゴリズム処理部で行うことを特徴とする。
【発明の効果】
【００１３】
本発明のパケット処理装置は、検索条件入力部が一時保持部のパケットの保持状況に応じて検索回数を設定し、検索部が設定された回数に応じてパケットの処理アルゴリズムを得るためのテーブルを検索することにより、一時保持部におけるパケットの保持量が増えると、パケットを迅速に処理すべく、検索部での検索回数が低減される。これにより、低減した検索結果に基づいて得る処理アルゴリズムに基づいてパケットを迅速に転送処理でき、これにより受信パケットを一時的に保持する一時保持部のオーバーフローの発生を低減することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態を図を用いて詳細に説明する。
【実施例１】
【００１５】
本発明のパケット処理装置は、図１に示されているように各種の機能ブロックから構成されており、該図を用いた説明に先立ち、パケット処理装置の構成概念を示す図２を用いて本発明のパケット処理装置を説明する。
【００１６】
本発明のパケット処理装置１０は、図２に示すように、ネットワークに接続してパケットを授受するための接続部２０と、受入れたパケットを一時的に保持するための一時保持部３０と、該一時保持部で保持するパケットを順次読出して転送処理（アルゴリズム処理）する処理部と、転送処理するための処理アルゴリズムを検索するための検索部７０とを備える。
【００１７】
ところで、前記処理部は複数に分割構成してもよく、例えば一時保持部３０からパケットを読出し、該パケットの識別処理を行う識別処理部４０と、該識別処理部で処理されたパケットに対し、より複雑な処理を行なってパケットを転送処理する転送処理部５０とを備える構成を採用してもよい。
【００１８】
接続部２０は、パケットを受入れるための第１のネットワーク１１と、受入れたパケットを処理し、該パケットを転送するための第２のネットワーク１２とに接続されており、第１のネットワーク１１からのパケットを受入れた接続部２０は、該パケットを一時保持部３０に転送する。また接続部２０は第２のネットワーク１２に処理されたパケットを転送するために、当該パケットを識別処理部４０から受入れる。
【００１９】
一時保持部３０は、識別処理部４０からの読出しに応じて保持しているパケットを識別処理部４０へ出力する。また一時保持部３０は、一時的に保持するパケットの保持状況を識別処理部４０に対し通知する。
【００２０】
この通知は、例えば一時保持部３０での保持状態を３段階に分類し、フル、ハーフ、エンプティなどの３段階で保持状況を識別処理部４０に対し通知する。
【００２１】
識別処理部４０は、後述する転送処理部５０での処理に先立ち、パケットの識別処理（フィルタリング）を行う。パケットの識別はパケットに含まれる情報に基づいて、処理アルゴリズムを得るためのテーブル（図示せず）を検索し、該検索結果に基づいて取得する処理アルゴリズムに基づいてパケットの識別処理を行う。
【００２２】
転送処理部５０は、識別処理部４０で識別処理されたパケットに対し、より複雑な処理を行う。このとき、転送処理部５０はランダムアクセスメモリであるメモリ６０をワークエリアとして用いる。
【００２３】
ところで、識別処理部４０および転送処理部５０は、各機能を統合して一つの処理部としてもよいが、便宜的に処理部を分割した形態で本実施例を説明する。
【００２４】
検索部７０は、ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）と称される連想メモリであり、パケットから抽出した情報に基づいて処理アルゴリズムのアドレスを取得する。検索部７０で取得するアドレスには、パケットの処理アルゴリズムが対応付けられており、このアドレスと処理アルゴリズムとの対応付けは、図示しないメモリで保持管理されている。このメモリは、検索部７０に設けても識別処理部４０に設けてもよく、設計仕様に基づいて適宜決定される。
【００２５】
次に、識別処理部４０を詳細に説明する。
識別処理部４０は、図１に示すように、一時保持部で保持するパケットを読出して一時的に保持するためのパケット受信バッファ４１と、該パケット受信バッファ４１に保持されているパケットを読出し、該パケットを解析してパケットのヘッダから検索部７０での検索に必要な情報を抽出し、検索部７０に検索を行なわせるための検索データを検索部７０に入力する検索入条件力部４２と、前記検索データの生成に必要な情報を保持する検索条件保持部４３と、検索結果を取得すると、該検索結果に基づいて取得する処理アルゴリズムに従って、パケットに対する処理を行うパケット処理部４４と、転送処理部５０で処理されたパケットを取得して保持し、当該パケットが処理アルゴリズムに基づいて処理を終えたパケットか否かを判定する処理パケット振分判定部４５と、該処理パケット振分判定部４５で処理アルゴリズムに基づく処理を終えたパケットであると判断した処理済みパケットを接続部２０に供給す処理済みパケット送出部４６とを備えている。
【００２６】
検索条件入力部４２は、パケット受信バッファ４１に保持されているパケットを読出し、検索条件保持部４３に保持された検索条件に基づいて、図３に示すパケットのヘッダから検索に必要な情報を抽出し、抽出した情報に基づいて検索データを生成する。図３のパケットにおいて、Ｌ２ヘッダ、Ｌ３ヘッダ、Ｌ４ヘッダから情報が抽出され検索データが生成される。
【００２７】
ところで、検索条件入力部４２は、一時保持部３０から通知される該一時保持部３０の保持状況に基づいて、検索部７０で検索データに基づく検索を行なわせる回数を設定している。すなわち、検索条件入力部４２は、一時保持部３０におけるパケットの保持容量がフル状態にあるとき、通常より検索回数を低減した回数を設定し、一時保持部３０におけるパケットの保持容量がエンプティ状態にあるとき、検索条件保持部４３に示された通常の検索回数を設定する。
【００２８】
尚、検索回数の設定は、前記したフル状態およびエンプティ状態で検索回数を設定する他に、ハーフ状態で、エンプティ状態より少なくフル状態より多い検索回数を設定したり、一時保持部３０の保持状況に応じて、検索回数をアナログ的に多段階で設定するようにしてもよい。
【００２９】
検索条件入力部４２で生成される検索データには、前記した検索回数の他に所定の例えば、イーサネット（登録商標）を用いたＩＰパケットの場合、Ｌ２ヘッダとしてイーサネットＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスのソースアドレスおよびディスティネーションアドレスと、Ｌ３ヘッダとしてＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスのソースアドレス、ディスティネーションアドレスおよび各種フラグなどの情報が含まれており、これらの情報が検索部７０の連想メモリにおける入力単位（エントリビット数）に応じて分割され、分割された検索データ単位で検索部７０における連想メモリで検索が行なわれる。
【００３０】
検索データに基づいて連想メモリを検索した検索部７０は、検索結果としてアドレスを抽出する。アドレスは、図示しないメモリにテーブルとして管理されており、このテーブルにはアドレスにパケットの処理アルゴリズムが対応づけられている。
【００３１】
パケット処理部４４は、検索部７０で得たアドレスに基づいてテーブルを参照し、処理アルゴリズムを取得すると、該処理アルゴリズムを転送処理部５０に通知する。
ところで、パケット処理部４４は、図３に示すパケット構成の先頭に、検索部７０の検索結果（Ｈｉｔ／Ｍｉｓｓ等）を示す処理結果情報を付加したパケットを生成し（図４参照）、処理結果情報を付加したパケットを転送処理部５０に通知する。尚、処理結果情報は、後述する転送処理部５０で、該転送処理部５０での処理状況に応じた内容に変更される。具体的には、転送処理部５０の処理状況に応じて、処理中パケット又は処理済みパケットを識別可能に処理結果情報の内容が適宜変更される。
【００３２】
ところで、転送処理部５０に処理アルゴリズムを通知するのに先立ち、パケット処理部４４は、検索結果に基づいてパケットの優先順位を確認し、必要に応じてパケットの破棄や、優先的に処理すべきパケットであるか否かを判断しており、いわゆるフィルタリング処理（識別処理）を行っている。このフィルタリング処理は、取得する処理アルゴリズムに基づいて行われており、必要に応じて一時保持部３０の保持状況が参照される。
【００３３】
パケット処理部４４でフィルタリング処理されたパケットは、後述する転送処理部５０で取得した処理アルゴリズムに基づいて転送処理される。転送処理部５０で処理されて出力されるパケットは、処理を終えた処理済みパケットと処理中パケットとがあり、これらを識別可能に、識別内容が前記した処理結果情報に示される。すなわち、転送処理部５０は、処理結果に応じて前記した処理結果情報の内容変更を行う。
【００３４】
転送処理部５０から出力される処理結果情報が付加されたパケットは処理パケット振分判定部４５で一時的に保持される。
処理パケット振分判定部４５は、一時的に保持するパケットの処理結果情報に基づいて、当該パケットが転送処理を終えたパケットか、処理中のパケットか否かを判定する。この判定で転送処理を終えた処理済みパケットは処理済みパケット送出部４６に出力される。
【００３５】
一方、一時的に保持するパケットが処理中パケットであると判定した処理パケット振分判定部４５は、当該パケットに基づいて詳細処理ロジックを検索すべく、当該処理中パケットを検索条件入力部４２へ出力する。このとき、処理パケット振分判定部４５は、一時保持部３０から通知される該一時保持部３０の保持状況に基づいて、一時保持部３０がフル状態にないときに検索条件入力部４２に処理中パケットを出力しており、すなわち処理パケット振分判定部４５は、処理中パケットを出力するタイミング制御を行う振分タイミング制御部としての機能を備えている。
【００３６】
処理パケット振分判定部４５からパケット受信バッファ４１を介して処理中パケットを取得した検索条件入力部４２は、一時保持部３０の保持状況を確認しており、一時保持部３０がフル状態にないとき、処理中パケットを検索条件入力部４２へ出力する。すなわち、ＦＩＦＯ方式の一時保持部３０がフル状態にあるとき、処理中パケットに基づいて検索部７０で検索を行わせている間に、第１のネットワークを介して取得する処理すべきパケットを一時保持部３０で保持することができないオーバーフローが生じる。これを回避すべく、処理パケット振分判定部４５は、一時保持部３０の保持状況を確認し、フル状態にないとき、処理中パケットに基づく検索データを検索条件入力部４２で生成させるべく、処理中パケットをパケット受信バッファ４１へ出力する。
【００３７】
ところで、検索条件入力部４２は、処理中パケットに基づいて検索データを生成するが、この生成は検索条件保持部４３に保持された検索条件の他に、先に取得した処理アルゴリズムの基づいて、処理中パケットのヘッダから検索に必要な情報を抽出し、抽出した情報に基づいて詳細処理アルゴリズムを得るための検索データを生成する。
【００３８】
検索部７０は、処理中パケットに基づいて生成された検索データに基づいて詳細アルゴリズムを得るためのアドレスを図示しないテーブルから検索する。
ところで、詳細処理アルゴリズムは、前記した処理アルゴリズムのための詳細な処理アルゴリズムであり、構造化された前記処理アルゴリズムにおける下層の処理アルゴリズムである。
【００３９】
処理済みパケット送出部４６は、詳細処理アルゴリズムや処理アルゴリズムに基づいて転送処理部５０で転送処理された処理済みパケットを処理パケット振分判定部４５を介して取得すると、該処理済みパケットを接続部２０へ出力する。
尚、接続部２０へ出力される処理済みパケットは、図４における先頭の処理結果情報が削除されたパケット構成であり、該処理結果情報の削除処理は、処理パケット振分判定部４５または処理済みパケット送出部４６において行われる。
【００４０】
次に本発明のパケット処理装置１０の動作を図５のフローチャートを用いて説明する。
第１のネットワークを介して送られてくるパケットを、該第１のネットワークが接続する接続部２０が取得すると、取得したパケットを一時保持部３０に一時的に保持する（ステップＳ１）。
【００４１】
識別処理部４０は、一時保持部３０で保持されるパケットを読み出すと、該パケットのパケットの識別処理（フィルタリング）を行う。すなわち、一時保持部３０から１パケットが読み出されパケット受信バッファ４１に一時的に保持された後、検索条件入力部４２はパケット受信バッファ４１に保持されているパケットを読出し、検索条件保持部４３に保持された検索条件に基づいてパケットのヘッダから検索に必要な情報を抽出し、抽出した情報に基づいて検索データを生成すると共に、一時保持部３０におけるパケットの保持状況に基づいて、検索回数を設定する（ステップＳ２）。
【００４２】
ところで、検索条件入力部４２は、一時保持部３０がフル状態にあるとき、通常より少ない検索回数を設定し、エンプティ状態にあるとき、検索条件保持部４３に保持されている通常の検索回数を設定し、ハーフ状態にあるとき、フル状態およびエンプティ状態における各検索回数の間の値を検索回数として設定している。
【００４３】
設定された検索回数および検索データに基づいて、検索部７０は処理アルゴリズムを得るためのアドレス検索を行う（ステップＳ３）。
【００４４】
一時保持部３０の保持状況に応じて検索回数を調整設定することにより、一時保持部３０がフル状態にあるときには、検索部７０での検索回数が少ないことから検索部７０での検索を迅速に終えることができ、一時保持部３０で保持するパケットを順次読出して識別処理のための検索を順次行うことができ、この間にも送られてくるパケットを、パケットが順次読み出されて保持許容量が生じた一時保持部３０に保持することができ、一時保持部３０におけるオーバーフローの発生を防止することができる。
【００４５】
パケット処理部４４は、取得した処理アルゴリズムに基づいてパケットの識別処理を行い、この識別処理で破棄されずに優先度が判明したパケットと、処理アルゴリズムとを転送処理部５０に通知する。
【００４６】
パケットおよび処理アルゴリズムを取得した転送処理部５０は、優先度および処理アルゴリズムに基づいてパケットの転送処理を行う（ステップＳ４）。転送処理部５０は、処理アルゴリズムに基づいて転送処理を行う際、詳細詳細アルゴリズムを得る必要が生じると、図４に示すように、当該パケットが処理中であることを処理結果情報に示したパケットを作成し、該パケットを処理パケット振分判定部４５に出力する。尚、転送処理部５０において処理アルゴリズム（および詳細処理アルゴリズム）に基づく転送処理が終了すると、転送処理が終了したことを処理結果情報に示したパケットを作成し、該パケットを処理パケット振分判定部４５に出力する。
【００４７】
処理パケット振分判定部４５は、転送処理部５０からの処理中パケットを一時的に保持すると共に、当該パケットの処理結果情報に基づいて処理中のパケットであるか否か、処理が終了したパケットであるか否かを判定し（ステップＳ５）、処理が終了して転送処理が施された処理済みパケットは、接続部２０を介して第２のネットワーク１２へ出力されるべく、処理済みパケット送出部４６へ出力される（ステプＳ６）。
【００４８】
一方、処理中のパケットであると判断した処理パケット振分判定部４５は、一時保持部３０の保持状況を確認しており、一時保持部３０がフル状態にないとき、処理パケット振分判定部４５は処理中パケットをパケット受信バッファ４１に出力する。一方、一時保持部３０がフル状態にあるとき、処理パケット振分判定部４５は、一時保持部３０で保持するパケットが順次処理されてフル状態が回避されるまで出力を待機する（ステップＳ７）。
【００４９】
パケット受信バッファ４１を介して処理中パケットを取得した検索条件入力部４２は、処理中パケットに基づいて検索データを生成し、検索回数を一時保持部３０の保持状況に応じて設定する（ステップＳ８）。
【００５０】
検索部７０は、検索データおよび検索回数に基づいて検索を行い、詳細処理アルゴリズムのためのアドレスを検索結果として取得する（ステップＳ９）。
パケット処理部４４は、検索結果としてのアドレスに対応する詳細処理アルゴリズムを得ると、該詳細処理アルゴリズムに基づいて、適宜、処理中パケットに対するフィルタリングを行う。
パケット処理部４４から詳細処理アルゴリズムを得た転送処理部５０は、取得した詳細処理アルゴリズムに基づいて、処理中のパケットに対し転送処理を行う（ステップＳ１０）。
【００５１】
転送処理部５０では、必要に応じて更に詳細な詳密処理アルゴリズムを取得して転送処理を行っており、前記した詳細処理アルゴリズムの取得と同様に詳密処理アルゴリズムの取得が行われ、該詳密処理アルゴリズムに基づいて転送処理が行われる。このように、処理アルゴリズムの取得と、取得した処理アルゴリズムに基づく転送処理とは、必要に応じて適宜繰返されており、転送処理が終了したことを示す処理結果情報が付加されたパケットが生成され、処理パケット振分判定部４５へ出力される。
【００５２】
処理パケット振分判定部４５は、処理結果情報に基づいて処理済みのパケットであると判定すると（ステップＳ１１）、該処理済みパケットを処理済みパケット送出部４６へ出力する。処理済みパケット送出部４６は、処理済みパケットを接続部２０を介して第２のネットワーク１２へ出力する。
【００５３】
前記したように、本発明のパケット処理装置１０によれば、検索条件入力部４２が一時保持部３０のパケットの保持状況に応じて検索回数を設定し、検索部７０が設定された回数に応じてパケットの処理アルゴリズムを得るためのテーブルを検索することにより、一時保持部３０におけるパケットの保持量が増えると、検索回数を低減してテーブル検索を行うことから、低減した検索結果に基づいて得る処理アルゴリズムに基づいてパケットを処理することから、一時保持部でのオーバーフローを招くことなく、パケットを迅速に処理することができる。
【産業上の利用可能性】
【００５４】
一例としてＣＡＭを用いた実施例を説明したがこれに限る必要はなく、ＣＡＭ以外の検索機能を備えた検索部を用いて本発明を実現してもよい。
【図面の簡単な説明】
【００５５】
【図１】本発明の識別処理部のブロック図である。
【図２】本発明のパケット処理装置のブロック図である。
【図３】処理すべきパケットの構成を示す図である。
【図４】処理中又は処理済みパケットの構成を示す図である。
【図５】本発明のパケット処理装置の動作を示すフローチャートである。
【符号の説明】
【００５６】
１０  パケット処理装置
１１  第１のネットワーク
１２  第２のネットワーク
２０  接続部
３０  一時保持部
４０  識別処理部
４１  パケット受信バッファ
４２  検索入力部
４３  検索条件保持部
４４  パケット処理部
４５  処理パケット振分判定部
４６  処理済みパケット送出部
５０  転送処理部
７０  検索部
【図１】
2006166084.tif 000003
【図２】
2006166084.tif 000004
【図３】
2006166084.tif 000005
【図４】
2006166084.tif 000006
【図５】
2006166084.tif 000007