(57)【要約】【課題】参照用メモリの更新時の待ち合わせ処理を不要にすると共にＱｕｅｕｅの容量を低減できるパケット処理装置を提供する。【解決手段】参照用メモリを更新するための更新データを含むエントリ更新パケットを生成する制御装置と、ユーザデータを含むデータパケット及び制御装置で生成されたエントリ更新パケットを到着順に送出するパケット交換部と、パケット交換部から到着したデータパケットに対応する参照用メモリ内のエントリの検索処理、及びパケット交換部から到着したエントリ更新パケットに含まれる更新データによる参照用メモリ内のエントリの更新処理を順次実行するパケット処理部とを有する。【選択図】図１
2008066947.tif 000002
【特許請求の範囲】
【請求項１】
内部に備える参照用メモリの検索処理及び更新処理を行うパケット処理装置であって、
前記参照用メモリを更新するための更新データを含むエントリ更新パケットを生成する制御装置と、
ユーザデータを含むデータパケット及び前記制御装置で生成された前記エントリ更新パケットを到着順に送出するパケット交換部と、
前記パケット交換部から到着した前記データパケットに対応する前記参照用メモリ内のエントリの検索処理、及び前記パケット交換部から到着した前記エントリ更新パケットに含まれる前記更新データによる前記参照用メモリ内のエントリの更新処理を順次実行するパケット処理部と、
を有するパケット処理装置。
【請求項２】
前記パケット処理部は、
到着したパケットを所定のクラスに割り当てるパケットクラシファイアの機能を備える請求項１記載のパケット処理装置。
【請求項３】
前記パケット処理部は、
プログラムにしたがって処理を実行するデータフロープロセッサである請求項１または２記載のパケット処理装置。
【請求項４】
前記パケット交換部は、
スイッチである請求項１から３のいずれか１項記載のパケット処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は到着したパケットに所定のパケット処理を施すパケット処理装置に関する。
【背景技術】
【０００２】
近年、高度なパケット処理をプログラムにしたがって実行するデータフロープロセッサやネットワークプロセッサが注目を集めており、これらを利用する様々なネットワークアプロケーションがパケット処理装置等に実装されている（例えば、非特許文献１参照）。
【０００３】
パケット処理装置は、ルータ、スイッチ、ＦＷ（Fire Wall）等、到着したパケットに対して周知のパケット処理を施す装置であり、特に、到着したパケットを所定のクラスに割り当てるパケットクラシファイアの処理はデータフロープロセッサを用いることで効率よく実行できる。
【０００４】
パケットクラシファイアでは、プロセッサに内蔵された内部メモリ（参照用メモリ）から各パケットに割り当てたクラスの情報が格納されたエントリテーブルを読み出し、到着したパケットと対応するエントリを比較する検索処理と、エントリテーブルに新規のエントリ（新規のパケットに割り当てたクラスの情報）を書き込む更新処理とを実行する。このエントリの検索処理は、上記データフロープロセッサによりパイプライン処理することで高速に実行できる。
【０００５】
しかしながら、一般的なメモリでは、同一のアドレス空間に対して書き込み処理と読み出し処理とを同時に実行できないため、エントリの更新処理と検索処理とを排他的に実行する必要がある。このような制約から、パケットクラシファイアでは、エントリテーブルの更新要求が発生すると、エントリの検索処理を一旦停止し、到着したパケットをＱｕｅｕｅ（バッファ）で保持したうえで、新規のエントリをエントリテーブルへ書き込む、待ち合わせ処理を実施しなければならない。
【０００６】
この待ち合わせ処理は、データフロープロセッサにおけるパイプライン処理のボトルネックとなり、パケット処理装置全体の処理性能を低下させる。また、連続してエントリの更新要求が発生した場合、エントリの更新処理中に到着したパケットがＱｕｅｕｅで保持できる容量を越えると、そのパケットデータは廃棄されてしまう。そのため、パケット処理装置にはエントリテーブルの更新のために十分に大きな容量のＱｕｅｕｅを実装しなければならない。
【非特許文献１】M. Katayama, et al. "A 10 Gb/s Firewall System for Network Secureity in Photonic Era" IEICE Trans. Commun. vol.E88-B No.5 pp.1914-1920, May 2005.
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したように従来のパケット処理装置では、エントリテーブルの更新時に発生する待ち合わせ処理がパケット処理装置のパイプライン処理のボトルネックとなり、パケット処理装置全体の処理性能を低下させる要因となる。
【０００８】
また、連続してエントリテーブルの更新要求が発生した場合、パケットがＱｕｅｕｅから溢れて廃棄される可能性があるため、パケット処理装置にはエントリテーブルの更新処理のために十分に大きな容量のＱｕｅｕｅを実装する必要がある。そのため、パケット処理装置の回路規模やコストが増大する問題がある。
【０００９】
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、参照用メモリの更新時の待ち合わせ処理を不要にすると共にＱｕｅｕｅの容量を低減できるパケット処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため本発明のパケット処理装置は、内部に備える参照用メモリの検索処理及び更新処理を行うパケット処理装置であって、
前記参照用メモリを更新するための更新データを含むエントリ更新パケットを生成する制御装置と、
ユーザデータを含むデータパケット及び前記制御装置で生成された前記エントリ更新パケットを到着順に送出するパケット交換部と、
前記パケット交換部から到着した前記データパケットに対応する前記参照用メモリ内のエントリの検索処理、及び前記パケット交換部から到着した前記エントリ更新パケットに含まれる前記更新データによる前記参照用メモリ内のエントリの更新処理を順次実行するパケット処理部と、
を有する。
【００１１】
上記のような構成では、エントリ更新パケットを、データパケットと同様にパケット交換部を介してパケット処理部へ送出するため、パケット処理部はデータパケットやエントリ更新パケットを到着した順に順次処理する。そのため、従来のように複雑な制御を行うことなく参照用メモリの更新処理と検索処理とを排他的に実行できる。したがって、従来、エントリテーブルの更新時に必要であった待ち合わせ処理が不要になる。
【発明の効果】
【００１２】
本発明によれば、エントリテーブルの更新時に必要であった待ち合わせ処理が不要になり、待ち合わせ処理のために必要なパケットを保持するためのＱｕｅｕｅの容量を低減できる。したがって、パケット処理装置の回路規模やコストを低減できる。
【発明を実施するための最良の形態】
【００１３】
次に本発明について図面を参照して説明する。
【００１４】
本発明は参照用メモリを更新するための更新データを含むエントリ更新パケットを生成し、該エントリ更新パケットをパケット処理装置に対してインラインで挿入して処理する構成である。
【００１５】
図１は本発明のパケット処理装置の一構成例を示すブロック図であり、図２は図１に示したパケット処理装置で実行するパケットクラシファイアの処理を示す模式図である。
【００１６】
図１に示すように、本発明のパケット処理装置は、所定のパケット処理を行うデータフロープロセッサ等から成るパケット処理部１と、到着したパケットをパケット処理部１へ送出するスイッチ等から成るパケット交換部３と、上記エントリ更新パケットを生成する制御装置２とを有する構成である。
【００１７】
パケット処理部１は、例えば不図示の記録媒体に格納されたプログラムにしたがって処理を実行するデータフロープロセッサで構成され、パケットクラシファイア４及びアクション処理部５としての機能を実現する。パケットクラシファイア４は、上述したように到着したパケットを所定のクラスに割り当てる処理を実行する。アクション処理部５は、パケットクラシファイア４によってクラス分けされたパケットデータに対してクラスに応じたパケット処理（流量制限、優先制御、帯域制御等）を実行する。
【００１８】
制御装置２は、外部から入力されるコマンドにしたがって、ペイロード部にエントリテーブルを更新するための更新データを格納したエントリ更新パケットを生成し、生成したエントリ更新パケットをパケット交換部３へ送出する。制御装置２にエントリ更新パケットを生成させるためのコマンドを送出する装置としては、ネットワークを管理するサーバ装置等のコンピュータがある。
【００１９】
パケット交換部３は、ユーザデータを含むデータパケット及び制御装置２で生成されたエントリ更新パケットをパケット処理部１へ送出し、エントリ更新パケットをデータパケットと同様にパケット処理部１による処理経路へ挿入する（インラインで挿入する）。なお、エントリ更新パケットをインラインでパケット処理部１に挿入する装置としては、上記スイッチの他にルータなどの上位のパケット交換装置がある。
【００２０】
図１に示したパケット処理装置で処理するパケットは、ＩＰ、Ｅｔｈｅｒｎｅｔ、ＡＴＭ等のパケットであり、制御装置２はそれらのメディアに対応したエントリ更新パケットをそれぞれ生成する。また、制御装置２は、各エントリ更新パケットに対して、エントリ更新パケットがあることを一意に識別できる各メディアに対応したパラメータを付与する（例：Ethernetの場合、Mac Address, VLANあるいはpayloadtype等、IPの場合IP AddressやToS等）。このパラメータは、後述するパケットクラシファイア４が備えるパケット判定部４１にて、到着したパケットがデータパケットであるかエントリ更新パケットであるかを判断する際に用いる。
【００２１】
図２に示すように、パケットクラシファイア４は、パケット判定部４１、エントリテーブル４４、エントリ更新部４２、エントリ検索部４３及びアクション決定部４５を備えている。
【００２２】
パケット判定部４１は、パケットクラシファイア４に到着したパケットがエントリ更新パケットであるかデータパケットであるかを判別し、エントリ更新パケットである場合はエントリ更新部４２へ送出し、データパケットである場合はエントリ検索部へ送出する。
【００２３】
エントリ更新部４２は、エントリ更新パケットのペイロード部から更新データを抽出し、該更新データの内容をエントリテーブル４４に書き込む。エントリ検索部４３は、エントリテーブル４４を検索して到着したデータパケットに対応するエントリを読み出し、該データパケットの識別及びクラスの判別を行う。
【００２４】
アクション決定部４５は、エントリ検索部４３で識別したデータパケットに対応する処理を決定し、その結果をデータパケットと共にアクション処理部５へ送出する。アクション処理部５は、アクション決定部４５の処理結果にしたがってデータパケットに所定のパケット処理を実行する。
【００２５】
本発明によれば、ペイロード部にエントリテーブルを更新するための更新データを格納したエントリ更新パケットを生成し、パケット処理部１のパケットクラシファイア４に対してインラインで挿入するため、パケットクラシファイア４はデータパケットやエントリ更新パケットを到着した順に順次処理する。すなわち、エントリ更新パケットをデータパケットと同様にパケット処理部１のパケットクラシファイア４にてパイプライン処理するため、従来のように複雑な制御を行うことなくエントリテーブルの更新処理と検索処理とを排他的に実行できる。
【００２６】
これにより、従来、エントリテーブルの更新時に必要であった待ち合わせ処理が不要になる。また、待ち合わせ処理が不要になることで、待ち合わせ処理のために必要なパケットを保持するためのＱｕｅｕｅの容量を低減できる。そのため、パケット処理装置の回路規模やコストを低減できる。
【００２７】
なお、本実施形態では、パケットクラシファイア４の処理を例にして本発明の特徴を説明したが、本発明で示したエントリ更新パケットを生成してパケット処理部１にインラインで挿入する手法は、参照用メモリに対する検索処理と更新処理とを必要とするパケット処理装置の他の処理にも適用することが可能である。その場合も上記と同様の効果を得ることができる。
【図面の簡単な説明】
【００２８】
【図１】本発明のパケット処理装置の一構成例を示すブロック図である。
【図２】図１に示したパケット処理装置で実行するパケットクラシファイアの処理を示す模式図である。
【符号の説明】
【００２９】
１    パケット処理部
２    制御装置
３    パケット交換部
４    パケットクラシファイア
５    アクション処理部
４１    パケット判定部
４２    エントリ更新部
４３    エントリ検索部
４４    エントリテーブル
４５    アクション決定部
【図１】
2008066947.tif 000003
【図２】
2008066947.tif 000004