(57)【要約】【課題】フラグメント処理が行われたパケットであっても、元のデータを再構築することなく個々のパケットにおいてフィルタ処理や分類処理を可能とする通信処理回路を提供する。【解決手段】通信処理回路において、登録管理部５５は、受信するＩＰパケットがフラグメントＩＰパケットであって先頭であるとき、フラグメントＩＰパケットにおける共通の情報となるパケット識別情報を先頭のフラグメントＩＰパケットから抽出し、抽出したパケット識別情報とフラグメントＩＰパケットを分類することにより得られる処理情報とを対応付けて追跡検索情報としてフラグメント追跡検索テーブル５３に記録する。検出部５１は、受信するＩＰパケットが先頭以外のフラグメントＩＰパケットの場合、当該ＩＰパケットから前記パケット識別情報を抽出し、抽出したパケット識別情報に対応する処理情報を追跡検索記憶手段から検出し、検出した処理情報に基づいて処理を行わせる。【選択図】図２
2007124117.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続され、パケットを受信する接続部を備え、前記接続部が受信するパケットを、前記パケットに含まれる情報に基づいて分類することにより得られる処理情報に基づいて転送などの所定の処理を前記パケットに対して行う通信処理回路であって、
前記接続部が受信するパケットが１つのデータから分割される分割データを含むパケットであって前記分割データが先頭の分割データであるとき、前記分割データを含むパケットにおける共通の情報となるパケット識別情報を前記先頭の分割データを含むパケットから抽出し、抽出した前記パケット識別情報と前記先頭の分割データを含むパケットを分類することにより得られる前記処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録する記録手段と、
前記接続部が受信するパケットが前記分割データを含み当該分割データが前記先頭の分割データでない場合、当該パケットから前記パケット識別情報を抽出し、抽出した前記パケット識別情報に対応する前記処理情報を前記追跡検索記憶手段から検出する検出手段と、
前記先頭の分割データを含むパケットに分類により得られる前記処理情報に基づいて前記所定の処理を行い、前記先頭でない分割データを含むパケットに前記検出手段が検出する前記処理情報に基づいて前記所定の処理を行うパケット処理手段と、
を備えることを特徴とする通信処理回路。
【請求項２】
ネットワークに接続され、パケットを受信する接続部を備え、前記パケットを前記パケットに含まれる情報に基づいて分類するための検索条件情報と、前記パケットに対して転送などの所定の処理を行うことを示した処理情報とを対応付けた分類検索情報を有する通信処理回路であって、
前記接続部が受信するパケットが１つのデータから分割される分割データを含むか否かを判定し、前記パケットが分割データを含むと判定した場合、前記分割データが先頭の分割データであるか否かを判定する第１の判定手段と、
前記第１の判定手段が前記パケットが前記分割データを含まないと判定した場合、あるいは、前記第１の判定手段が前記パケットが前記分割データを含むと判定し、かつ当該分割データが前記先頭の分割データであると判定した場合、前記分類検索情報から検索することにより前記先頭の分割データを含むパケットに含まれる情報に対応する処理情報を検出する第１の検出手段と、
前記第１の判定手段が前記パケットが前記分割データを含むと判定し、かつ当該分割データが前記先頭の分割データであると判定した場合、前記１つのデータを構成する分割データを含むパケットについて共通の情報となるパケット識別情報を前記先頭の分割データを含むパケットから抽出し、抽出した前記パケット識別情報と前記第１の検出手段が検出する前記処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録する記録手段と、
前記第１の判定手段が前記パケットが前記分割データを含むと判定し、さらに、当該分割データが前記先頭の分割データでないと判定した場合、当該パケットから前記パケット識別情報を抽出し、抽出した前記パケット識別情報に対応する前記処理情報を前記追跡検索記憶手段から検出する第２の検出手段と、
前記第１の検出手段が検出する前記処理情報、あるいは前記第２の検出手段が検出する前記処理情報に基づいて前記パケットに前記所定の処理を行うパケット処理手段と、
を備えることを特徴とする通信処理回路。
【請求項３】
ネットワークに接続され、パケットを受信する接続部を備え、前記パケットを前記パケットに含まれる情報に基づいて分類するための検索条件情報と、前記パケットに対して転送などの所定の処理を行うことを示した処理情報とを対応付けた分類検索情報を有する通信処理回路であって、
前記分類検索情報から検索することにより前記接続部が受信するパケットに含まれる情報に対応する処理情報を検出する第１の検出手段と、
前記接続部が受信するパケットが１つのデータから分割される分割データを含むか否かを判定し、前記パケットが分割データを含むと判定した場合、前記分割データが先頭の分割データであるか否かを判定する第２の判定手段と、
前記第２の判定手段が前記パケットが前記分割データを含むと判定し、かつ当該分割データが前記先頭の分割データであると判定した場合、前記１つのデータを構成する分割データを含むパケットについて共通の情報となるパケット識別情報を前記先頭の分割データを含むパケットから抽出し、抽出した前記パケット識別情報と前記第１の検出手段が検出する前記処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録する記録手段と、
前記第２の判定手段が前記パケットが前記分割データを含むと判定し、さらに、当該分割データが前記先頭の分割データでないと判定した場合、当該パケットから前記パケット識別情報を抽出し、抽出した前記パケット識別情報に対応する前記処理情報を前記追跡検索記憶手段から検出する第２の検出手段と、
前記第１の検出手段が検出する前記処理情報、あるいは前記第２の検出手段が検出する前記処理情報に基づいて前記パケットに前記所定の処理を行うパケット処理手段と、
を備えることを特徴とする通信処理回路。
【請求項４】
前記分類検索情報は、前記検索条件情報と前記処理情報とに加えて前記追跡検索記憶手段への記録を行うか否かを示すフラグを有しており、
前記第１の検出手段は、
前記分類検索情報を検索することにより前記処理情報を検出する際に前記処理情報に対応するフラグを検出し、
前記記録手段は、
前記分割データが前記先頭の分割データである場合、前記第１の検出手段が検出する前記フラグが前記追跡検索記憶手段への記録を行うことを示しているか否かを判定し、前記フラグが前記記憶手段への記録を行うことを示している場合、前記追跡検索情報を追跡検索記憶手段に記録する
ことを特徴とする請求項２または３に記載の通信処理回路。
【請求項５】
前記追跡検索記憶手段は、予め記憶できる前記追跡検索情報の項目数が定められており、
前記記録手段が前記追跡検索情報を前記追跡検索記憶手段に記録する際、当該追跡検索情報が記録されてからの経過時間を前記追跡検索記憶手段の項目ごとに計測する複数の第１のタイマを備え、
前記記録手段は、
新たな追跡検索情報を前記追跡検索記憶手段に記録する際に、前記追跡検索記憶手段に空き領域が存在しないことを検出した場合、前記複数の第１のタイマを参照し、前記経過時間の中から、予め定められる閾値時間を超えており、かつ最大である前記経過時間の前記第１のタイマを検出し、検出した前記第１のタイマに対応する前記追跡検索記憶手段の項目に記憶されている追跡検索情報を削除し、前記新たな追跡検索情報を前記追跡検索記憶手段の当該項目に記録する
ことを特徴とする請求項２から４のいずれか１つに記載の通信処理回路。
【請求項６】
前記第１のタイマには最大計測時間が予め定められており、
前記第１のタイマは、経過時間が前記最大計測時間を超えた場合に、満了通知を前記記録手段に通知し、
前記記録手段は、
前記第１のタイマから満了通知を受信したとき、前記満了通知を通知した前記第１のタイマに対応する前記追跡検索記憶手段の項目を削除することを特徴とする請求項５に記載の通信処理回路。
【請求項７】
前記追跡検索記憶手段は、予め記憶できる前記追跡検索情報の項目数が定められており、
予め定められる削除されるまでの残時間を設定されており、起動されてからの経過時間が、前記残時間を超えた場合に満了通知を通知し、前記追跡検索記憶手段の項目に対応付けて設けられる複数の第２のタイマと、
前記分割データを含むパケットが最後尾の分割データを含むパケットであるか否かを判定する第３の判定手段と、
前記第３の判定手段が前記パケットが最後尾の分割データを含むと判定した場合、当該パケットのパケット識別情報に対応する追跡検索情報を前記追跡検索記憶手段から検出し、検出した追跡検索情報に対応する前記第２のタイマを起動し、前記第２のタイマから前記満了通知が通知された場合、前記満了通知を通知した前記第２のタイマに対応する追跡検索記憶手段の項目削除する削除手段と、
を備えたことを特徴とする請求項２から６のいずれか１つに記載の通信処理回路。
【請求項８】
ネットワークに接続され、パケットを受信する接続部を備え、前記接続部が受信するパケットを、前記パケットに含まれる情報に基づいて分類することにより得られる処理情報に基づいて転送などの所定の処理を前記パケットに対して行う通信処理回路における通信処理方法であって、
前記接続部が受信するパケットが１つのデータから分割される分割データを含むパケットであって前記分割データが先頭の分割データであるとき、前記分割データを含むパケットにおける共通の情報となるパケット識別情報を前記先頭の分割データを含むパケットから抽出し、抽出した前記パケット識別情報と前記先頭の分割データを含むパケットを分類することにより得られる前記処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録するステップと、
前記接続部が受信するパケットが前記分割データを含み当該分割データが前記先頭の分割データでない場合、当該パケットから前記パケット識別情報を抽出し、抽出した前記パケット識別情報に対応する前記処理情報を前記追跡検索記憶手段から検出するステップと、
前記先頭の分割データを含むパケットに分類により得られる前記処理情報に基づいて前記所定の処理を行い、前記先頭でない分割データを含むパケットに前記検出手段が検出する前記処理情報に基づいて前記所定の処理を行うステップと、
を含むことを特徴とする通信処理方法。
【請求項９】
ネットワークに接続され、パケットを受信する接続部を備え、前記パケットを前記パケットに含まれる情報に基づいて分類するための検索条件情報と、前記パケットに対して転送などの所定の処理を行うことを示した処理情報とを対応付けた分類検索情報を有する通信処理回路における通信処理方法であって、
前記接続部が受信するパケットが１つのデータから分割される分割データを含むか否かを判定し、前記パケットが分割データを含むと判定した場合、前記分割データが先頭の分割データであるか否かを判定するステップと、
前記パケットが前記分割データを含まないと判定した場合、あるいは、前記パケットが前記分割データを含むと判定し、かつ当該分割データが前記先頭の分割データであると判定した場合、前記分類検索情報から検索することにより前記先頭の分割データを含むパケットに含まれる情報に対応する処理情報を検出するステップと、
前記パケットが前記分割データを含むと判定し、かつ当該分割データが前記先頭の分割データであると判定した場合、前記１つのデータを構成する分割データを含むパケットについて共通の情報となるパケット識別情報を前記先頭の分割データを含むパケットから抽出し、抽出した前記パケット識別情報と検出した前記処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録するステップと、
前記パケットが前記分割データを含むと判定し、さらに、当該分割データが前記先頭の分割データでないと判定した場合、当該パケットから前記パケット識別情報を抽出し、抽出した前記パケット識別情報に対応する前記処理情報を前記追跡検索記憶手段から検出するステップと、
検出する前記処理情報に基づいて前記パケットに前記所定の処理を行うステップと、
を含むことを特徴とする通信処理方法。
【請求項１０】
ネットワークに接続され、パケットを受信する接続部を備え、前記パケットを前記パケットに含まれる情報に基づいて分類するための検索条件情報と、前記パケットに対して転送などの所定の処理を行うことを示した処理情報とを対応付けた分類検索情報を有する通信処理回路における通信処理方法であって、
前記分類検索情報から検索することにより前記接続部が受信するパケットに含まれる情報に対応する処理情報を検出するステップと、
前記接続部が受信するパケットが１つのデータから分割される分割データを含むか否かを判定し、前記パケットが分割データを含むと判定した場合、前記分割データが先頭の分割データであるか否かを判定するステップと、
前記パケットが前記分割データを含むと判定し、かつ当該分割データが前記先頭の分割データであると判定した場合、前記１つのデータを構成する分割データを含むパケットについて共通の情報となるパケット識別情報を前記先頭の分割データを含むパケットから抽出し、抽出した前記パケット識別情報と検出した前記処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録するステップと、
前記パケットが前記分割データを含むと判定し、さらに、当該分割データが前記先頭の分割データでないと判定した場合、当該パケットから前記パケット識別情報を抽出し、抽出した前記パケット識別情報に対応する前記処理情報を前記追跡検索記憶手段から検出するステップと、
検出する前記処理情報に基づいて前記パケットに前記所定の処理を行うステップと、
を含むことを特徴とする通信処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分割されるデータを含むパケットに対して通信処理を行う通信処理回路及び通信処理方法に関する。
【背景技術】
【０００２】
従来、ＩＰ(Internet Protocol)パケットに含まれるヘッダ情報等に基づいて、フィルタ処理や分類処理を行う場合は、ＩＰヘッダに含まれる各種情報だけではなく、上位プロトコルであるＴＣＰ(Transmission Control Protocol)あるいはＵＤＰ(User Datagram Protocol)のヘッダに含まれる情報を参照する必要がある。通常のＩＰパケットでは、ＩＰヘッダに続いてＴＣＰあるいはＵＤＰヘッダが存在するため、ＩＰパケットを受信することでＴＣＰあるいはＵＤＰヘッダを読み出すことが可能である。
【０００３】
しかし、フラグメント処理、すなわちＩＰ層でのデータの分割が行われると、分割されたデータを含むフラグメントＩＰパケットは、ＩＰヘッダに続いてＴＣＰあるいはＵＤＰヘッダが存在する先頭の分割データを含むフラグメントＩＰパケットと、ＴＣＰあるいはＵＤＰヘッダが存在しない１つ以上の先頭以外の分割データを含むフラグメントＩＰパケットによって構成されることになる。
【０００４】
このとき、ＴＣＰあるいはＵＤＰヘッダを参照してフィルタ処理や分類処理を行う場合、先頭以外の分割データを含むフラグメントＩＰパケットについては処理を行うことができないため、フラグメント処理前に１つのデータを構成していたフラグメントＩＰパケットを蓄積し、蓄積したフラグメントＩＰパケットからデータの再構成を行った後にＴＣＰあるいはＵＤＰヘッダを参照して処理を行うという手段が採用されている（例えば、非特許文献１参照）。
【０００５】
データの再構成を行うためには、１つのデータを構成していた複数のフラグメントＩＰパケットの追跡を行わなければならず、当該追跡処理は通信処理装置のＣＰＵ(Central Processing Unit)において動作するソフトウェアにより処理が行われる。
【非特許文献１】アイティメディア株式会社、“ＩＰフラグメンテーション”、[online]、[平成１７年７月５日]、インターネット<URL: http://www.atmarkit.co.jp/fwin2k/network/baswinlan010/baswinlan010_03.html>
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、近年、インタフェースの速度が高速化するに伴って、フィルタ処理や分類処理の処理速度も高速化が要求されており、ＣＰＵにおいて動作するソフトウェアによる処理では、充分な速度を達成することができないという問題がある。
【０００７】
また、充分な速度を達成できないことから、特に短いパケット長の攻撃を目的とするパケットが多数送信された場合、充分なフィルタ処理や分類処理が実施できず、本来受信すべきパケットを受信することができないという問題も発生していた。
【０００８】
本発明は、上記問題を解決するためになされたもので、その目的は、フラグメント処理が行われたパケットであっても、元のデータを再構築することなく個々のパケットにおいてフィルタ処理や分類処理を可能とする通信処理回路及び通信処理方法を提供することにある。
【課題を解決するための手段】
【０００９】
上述した課題を解決するために、本発明は、ネットワークに接続され、パケットを受信する接続部を備え、前記接続部が受信するパケットを、前記パケットに含まれる情報に基づいて分類することにより得られる処理情報に基づいて転送などの所定の処理を前記パケットに対して行う通信処理回路であって、前記接続部が受信するパケットが１つのデータから分割される分割データを含むパケットであって前記分割データが先頭の分割データであるとき、前記分割データを含むパケットにおける共通の情報となるパケット識別情報を前記先頭の分割データを含むパケットから抽出し、抽出した前記パケット識別情報と前記先頭の分割データを含むパケットを分類することにより得られる前記処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録する記録手段と、前記接続部が受信するパケットが前記分割データを含み当該分割データが前記先頭の分割データでない場合、当該パケットから前記パケット識別情報を抽出し、抽出した前記パケット識別情報に対応する前記処理情報を前記追跡検索記憶手段から検出する検出手段と、前記先頭の分割データを含むパケットに分類により得られる前記処理情報に基づいて前記所定の処理を行い、前記先頭でない分割データを含むパケットに前記検出手段が検出する前記処理情報に基づいて前記所定の処理を行うパケット処理手段と、を備えることを特徴とする通信処理回路である。
【００１０】
本発明は、ネットワークに接続され、パケットを受信する接続部を備え、前記パケットを前記パケットに含まれる情報に基づいて分類するための検索条件情報と、前記パケットに対して転送などの所定の処理を行うことを示した処理情報とを対応付けた分類検索情報を有する通信処理回路であって、前記接続部が受信するパケットが１つのデータから分割される分割データを含むか否かを判定し、前記パケットが分割データを含むと判定した場合、前記分割データが先頭の分割データであるか否かを判定する第１の判定手段と、前記第１の判定手段が前記パケットが前記分割データを含まないと判定した場合、あるいは、前記第１の判定手段が前記パケットが前記分割データを含むと判定し、かつ当該分割データが前記先頭の分割データであると判定した場合、前記分類検索情報から検索することにより前記先頭の分割データを含むパケットに含まれる情報に対応する処理情報を検出する第１の検出手段と、前記第１の判定手段が前記パケットが前記分割データを含むと判定し、かつ当該分割データが前記先頭の分割データであると判定した場合、前記１つのデータを構成する分割データを含むパケットについて共通の情報となるパケット識別情報を前記先頭の分割データを含むパケットから抽出し、抽出した前記パケット識別情報と前記第１の検出手段が検出する前記処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録する記録手段と、前記第１の判定手段が前記パケットが前記分割データを含むと判定し、さらに、当該分割データが前記先頭の分割データでないと判定した場合、当該パケットから前記パケット識別情報を抽出し、抽出した前記パケット識別情報に対応する前記処理情報を前記追跡検索記憶手段から検出する第２の検出手段と、前記第１の検出手段が検出する前記処理情報、あるいは前記第２の検出手段が検出する前記処理情報に基づいて前記パケットに前記所定の処理を行うパケット処理手段と、を備えることを特徴とする通信処理回路である。
【００１１】
本発明は、ネットワークに接続され、パケットを受信する接続部を備え、前記パケットを前記パケットに含まれる情報に基づいて分類するための検索条件情報と、前記パケットに対して転送などの所定の処理を行うことを示した処理情報とを対応付けた分類検索情報を有する通信処理回路であって、前記分類検索情報から検索することにより前記接続部が受信するパケットに含まれる情報に対応する処理情報を検出する第１の検出手段と、前記接続部が受信するパケットが１つのデータから分割される分割データを含むか否かを判定し、前記パケットが分割データを含むと判定した場合、前記分割データが先頭の分割データであるか否かを判定する第２の判定手段と、前記第２の判定手段が前記パケットが前記分割データを含むと判定し、かつ当該分割データが前記先頭の分割データであると判定した場合、前記１つのデータを構成する分割データを含むパケットについて共通の情報となるパケット識別情報を前記先頭の分割データを含むパケットから抽出し、抽出した前記パケット識別情報と前記第１の検出手段が検出する前記処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録する記録手段と、前記第２の判定手段が前記パケットが前記分割データを含むと判定し、さらに、当該分割データが前記先頭の分割データでないと判定した場合、当該パケットから前記パケット識別情報を抽出し、抽出した前記パケット識別情報に対応する前記処理情報を前記追跡検索記憶手段から検出する第２の検出手段と、前記第１の検出手段が検出する前記処理情報、あるいは前記第２の検出手段が検出する前記処理情報に基づいて前記パケットに前記所定の処理を行うパケット処理手段と、を備えることを特徴とする通信処理回路である。
【００１２】
本発明は、上記に記載の発明において、前記分類検索情報は、前記検索条件情報と前記処理情報とに加えて前記追跡検索記憶手段への記録を行うか否かを示すフラグを有しており、前記第１の検出手段は、前記分類検索情報を検索することにより前記処理情報を検出する際に前記処理情報に対応するフラグを検出し、前記記録手段は、前記分割データが前記先頭の分割データである場合、前記第１の検出手段が検出する前記フラグが前記追跡検索記憶手段への記録を行うことを示しているか否かを判定し、前記フラグが前記記憶手段への記録を行うことを示している場合、前記追跡検索情報を追跡検索記憶手段に記録することを特徴とする。
【００１３】
本発明は、上記に記載の発明において、前記追跡検索記憶手段は、予め記憶できる前記追跡検索情報の項目数が定められており、前記記録手段が前記追跡検索情報を前記追跡検索記憶手段に記録する際、当該追跡検索情報が記録されてからの経過時間を前記追跡検索記憶手段の項目ごとに計測する複数の第１のタイマを備え、前記記録手段は、新たな追跡検索情報を前記追跡検索記憶手段に記録する際に、前記追跡検索記憶手段に空き領域が存在しないことを検出した場合、前記複数の第１のタイマを参照し、前記経過時間の中から、予め定められる閾値時間を超えており、かつ最大である前記経過時間の前記第１のタイマを検出し、検出した前記第１のタイマに対応する前記追跡検索記憶手段の項目に記憶されている追跡検索情報を削除し、前記新たな追跡検索情報を前記追跡検索記憶手段の当該項目に記録することを特徴とする。
【００１４】
本発明は、上記に記載の発明において、前記第１のタイマには最大計測時間が予め定められており、前記第１のタイマは、経過時間が前記最大計測時間を超えた場合に、満了通知を前記記録手段に通知し、前記記録手段は、前記第１のタイマから満了通知を受信したとき、前記満了通知を通知した前記第１のタイマに対応する前記追跡検索記憶手段の項目を削除することを特徴とする。
【００１５】
本発明は、前記追跡検索記憶手段は、予め記憶できる前記追跡検索情報の項目数が定められており、予め定められる削除されるまでの残時間を設定されており、起動されてからの経過時間が、前記残時間を超えた場合に満了通知を通知し、前記追跡検索記憶手段の項目に対応付けて設けられる複数の第２のタイマと、前記分割データを含むパケットが最後尾の分割データを含むパケットであるか否かを判定する第３の判定手段と、前記第３の判定手段が前記パケットが最後尾の分割データを含むと判定した場合、当該パケットのパケット識別情報に対応する追跡検索情報を前記追跡検索記憶手段から検出し、検出した追跡検索情報に対応する前記第２のタイマを起動し、前記第２のタイマから前記満了通知が通知された場合、前記満了通知を通知した前記第２のタイマに対応する追跡検索記憶手段の項目削除する削除手段と、を備えたことを特徴とする。
【００１６】
本発明は、ネットワークに接続され、パケットを受信する接続部を備え、前記接続部が受信するパケットを、前記パケットに含まれる情報に基づいて分類することにより得られる処理情報に基づいて転送などの所定の処理を前記パケットに対して行う通信処理回路における通信処理方法であって、前記接続部が受信するパケットが１つのデータから分割される分割データを含むパケットであって前記分割データが先頭の分割データであるとき、前記分割データを含むパケットにおける共通の情報となるパケット識別情報を前記先頭の分割データを含むパケットから抽出し、抽出した前記パケット識別情報と前記先頭の分割データを含むパケットを分類することにより得られる前記処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録するステップと、前記接続部が受信するパケットが前記分割データを含み当該分割データが前記先頭の分割データでない場合、当該パケットから前記パケット識別情報を抽出し、抽出した前記パケット識別情報に対応する前記処理情報を前記追跡検索記憶手段から検出するステップと、前記先頭の分割データを含むパケットに分類により得られる前記処理情報に基づいて前記所定の処理を行い、前記先頭でない分割データを含むパケットに前記検出手段が検出する前記処理情報に基づいて前記所定の処理を行うステップと、を含むことを特徴とする通信処理方法である。
【００１７】
本発明は、ネットワークに接続され、パケットを受信する接続部を備え、前記パケットを前記パケットに含まれる情報に基づいて分類するための検索条件情報と、前記パケットに対して転送などの所定の処理を行うことを示した処理情報とを対応付けた分類検索情報を有する通信処理回路における通信処理方法であって、前記接続部が受信するパケットが１つのデータから分割される分割データを含むか否かを判定し、前記パケットが分割データを含むと判定した場合、前記分割データが先頭の分割データであるか否かを判定するステップと、前記パケットが前記分割データを含まないと判定した場合、あるいは、前記パケットが前記分割データを含むと判定し、かつ当該分割データが前記先頭の分割データであると判定した場合、前記分類検索情報から検索することにより前記先頭の分割データを含むパケットに含まれる情報に対応する処理情報を検出するステップと、前記パケットが前記分割データを含むと判定し、かつ当該分割データが前記先頭の分割データであると判定した場合、前記１つのデータを構成する分割データを含むパケットについて共通の情報となるパケット識別情報を前記先頭の分割データを含むパケットから抽出し、抽出した前記パケット識別情報と検出した前記処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録するステップと、前記パケットが前記分割データを含むと判定し、さらに、当該分割データが前記先頭の分割データでないと判定した場合、当該パケットから前記パケット識別情報を抽出し、抽出した前記パケット識別情報に対応する前記処理情報を前記追跡検索記憶手段から検出するステップと、検出する前記処理情報に基づいて前記パケットに前記所定の処理を行うステップと、を含むことを特徴とする通信処理方法である。
【００１８】
本発明は、ネットワークに接続され、パケットを受信する接続部を備え、前記パケットを前記パケットに含まれる情報に基づいて分類するための検索条件情報と、前記パケットに対して転送などの所定の処理を行うことを示した処理情報とを対応付けた分類検索情報を有する通信処理回路における通信処理方法であって、前記分類検索情報から検索することにより前記接続部が受信するパケットに含まれる情報に対応する処理情報を検出するステップと、前記接続部が受信するパケットが１つのデータから分割される分割データを含むか否かを判定し、前記パケットが分割データを含むと判定した場合、前記分割データが先頭の分割データであるか否かを判定するステップと、前記パケットが前記分割データを含むと判定し、かつ当該分割データが前記先頭の分割データであると判定した場合、前記１つのデータを構成する分割データを含むパケットについて共通の情報となるパケット識別情報を前記先頭の分割データを含むパケットから抽出し、抽出した前記パケット識別情報と検出した前記処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録するステップと、前記パケットが前記分割データを含むと判定し、さらに、当該分割データが前記先頭の分割データでないと判定した場合、当該パケットから前記パケット識別情報を抽出し、抽出した前記パケット識別情報に対応する前記処理情報を前記追跡検索記憶手段から検出するステップと、検出する前記処理情報に基づいて前記パケットに前記所定の処理を行うステップと、を含むことを特徴とする通信処理方法である。
【発明の効果】
【００１９】
この発明によれば、通信処理回路は、接続部が受信するパケットが１つのデータから分割される分割データを含むパケットであって分割データが先頭の分割データであるとき、分割データを含むパケットにおける共通の情報となるパケット識別情報を先頭の分割データを含むパケットから抽出し、抽出したパケット識別情報と先頭の分割データを含むパケットを分類することにより得られる前記処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録する。また、接続部が受信するパケットが分割データを含み当該分割データが先頭の分割データでない場合、当該パケットからパケット識別情報を抽出し、抽出したパケット識別情報に対応する処理情報を追跡検索記憶手段から検出する構成とした。これにより、非先頭の分割データを含むパケットであっても、元のデータを再構築することなく個々のパケットにおいて所定の処理を可能にすることができる。また、この構成により、分割データを含むパケットであってもＣＰＵを介さずに処理を行うことができることからインタフェース速度に追随し得る充分な処理速度を達成することができ、短いパケット長の攻撃を目的とするパケットが多数送信された場合、充分な分類処理を実行することが可能となる。
【００２０】
また、この発明によれば、通信処理回路は、接続部が受信するパケットが１つのデータから分割される分割データを含むか否かを判定し、パケットが分割データを含むと判定した場合、分割データが先頭の分割データであるか否かを判定する。また、パケットが分割データを含まないと判定した場合、あるいは、パケットが分割データを含むと判定し、かつ当該分割データが先頭の分割データであると判定した場合、分類検索情報から検索することにより先頭の分割データを含むパケットに含まれる情報に対応する処理情報を検出する。また、パケットが分割データを含むと判定し、かつ当該分割データが先頭の分割データであると判定した場合、１つのデータを構成する分割データを含むパケットについて共通の情報となるパケット識別情報を前記先頭の分割データを含むパケットから抽出し、抽出したパケット識別情報と検出した処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録する。また、パケットが前記分割データを含むと判定し、さらに、当該分割データが先頭の分割データでないと判定した場合、当該パケットからパケット識別情報を抽出し、抽出したパケット識別情報に対応する処理情報を追跡検索記憶手段から検出する構成とした。これにより、先頭の分割データを含むパケットについては、フラグメント処理が行われていないパケットと同様に分類検索の処理が行われる。その際に、先頭の分割データを含むパケットに対応して検索された処理情報を、同じデータから分割された先頭以外の分割データを含むパケットを特定するパケット識別情報とともに追跡検索記憶手段に記録しておく。それによって、先頭以外の分割データを含むパケットを受信した場合に、データを再構築することなく先頭の分割データを含むパケットに対して行った処理と同じ処理を先頭以外の分割データを含むパケットに対して適用することが可能となる。
【００２１】
また、この発明によれば、通信処理回路は、分類検索情報から検索することにより接続部が受信するパケットに含まれる情報に対応する処理情報を検出する。また、接続部が受信するパケットが１つのデータから分割される分割データを含むか否かを判定し、パケットが分割データを含むと判定した場合、前記分割データが先頭の分割データであるか否かを判定する。また、パケットが分割データを含むと判定し、かつ当該分割データが先頭の分割データであると判定した場合、１つのデータを構成する分割データを含むパケットについて共通の情報となるパケット識別情報を前記先頭の分割データを含むパケットから抽出し、抽出した前記パケット識別情報と検出した処理情報とを対応付けて追跡検索情報として追跡検索記憶手段に記録する。また、パケットが分割データを含むと判定し、さらに、当該分割データが先頭の分割データでないと判定した場合、当該パケットからパケット識別情報を抽出し、抽出したパケット識別情報に対応する処理情報を追跡検索記憶手段から検出する構成とした。これにより、受信する全てのパケットに対して分類検索の処理を行った後に、受信したＩＰパケットが先頭の分割データを含むパケットの場合、先頭の分割データを含むパケットに基づいて検索された処理情報を、同じデータから分割された先頭以外の分割データを含むパケットを特定するパケット識別情報とともに追跡検索記憶手段に記録することができる。それによって、先頭以外の分割データを含むパケットについては、追跡検索記憶手段から処理情報を検出できる場合には、当該検出した処理情報を適用し、検出できない場合には、分類検索によって検出された処理情報を適用することができ、先頭の分割データを含むパケットに基づいて追跡検索記憶手段に記録されるまでの間に、先頭以外の分割データを含むパケットを受信した場合であっても、待機させずに処理を継続することができる。
【００２２】
また、この発明によれば、分類検索情報は、検索条件情報と処理情報とに加えて追跡検索記憶手段への記録を行うか否かを示すフラグを有しており、分類検索情報を検索することにより前記処理情報を検出する際に前記処理情報に対応するフラグを検出し、分割データが先頭の分割データである場合、検出したフラグが追跡検索記憶手段への記録を行うことを示しているか否かを判定し、フラグが記憶手段への記録を行うことを示している場合、追跡検索情報を追跡検索記憶手段に記録する構成とした。これにより、先頭の分割データを含むパケットであっても、フラグにより追跡検索記憶手段へ処理情報を記録するか否かを選択することが可能となる。
【００２３】
また、この発明によれば、追跡検索記憶手段は、予め記憶できる追跡検索情報の項目数が定められており、通信処理回路は、追跡検索情報を追跡検索記憶手段に記録する際、当該追跡検索情報が記録されてからの経過時間を追跡検索記憶手段の項目ごとに計測する複数の第１のタイマを備えており、新たな追跡検索情報を追跡検索記憶手段に記録する際に、追跡検索記憶手段に空き領域が存在しないことを検出した場合、複数の第１のタイマを参照し、経過時間の中から、予め定められる閾値時間を超えており、かつ最大である前記経過時間の前記第１のタイマを検出し、検出した第１のタイマに対応する追跡検索記憶手段の項目に記憶されている追跡検索情報を削除し、新たな追跡検索情報を前記追跡検索記憶手段の当該項目に記録する構成とした。これにより、追跡検索記憶手段に空きがない場合、閾値時間を例えば、統計的に知られている分割データを含むパケットを全て受信する時間にしておくことで、分割データを含むパケットの一部が受信できず閾値時間を超えている追跡検索情報の中で最も時間が経過しているものを削除し、新たなフラグメント追跡検索情報を記録することが可能となる。
【００２４】
また、この発明によれば、第１のタイマには最大計測時間が予め定められており、第１のタイマは、経過時間が最大計測時間を超えた場合に、第１のタイマから満了通知が通知された際、満了通知を通知した第１のタイマに対応する追跡検索記憶手段の項目を削除する構成とした。これにより、第１のタイマに最大計測時間を設定しておき、長時間分割データを含むパケットが全て揃わず追跡検索情報が残っているものを削除することができ、追跡検索記憶手段に空き領域を確保しておくことが可能となる。
【００２５】
また、この発明によれば、追跡検索記憶手段は、予め記憶できる追跡検索情報の項目数が定められており、予め定められる削除されるまでの残時間を設定されており、起動されてからの経過時間が、残時間を超えた場合に満了通知を通知し、追跡検索記憶手段の項目に対応付けて設けられる複数の第２のタイマを備えている。分割データを含むパケットが最後尾の分割データを含むパケットであるか否かを判定し、パケットが最後尾の分割データを含むと判定した場合、当該パケットのパケット識別情報に対応する追跡検索情報を追跡検索記憶手段から検出し、検出した追跡検索情報に対応する第２のタイマを起動し、第２のタイマから満了通知が通知された場合、満了通知を通知した第２のタイマに対応する追跡検索記憶手段の項目削除する構成とした。これにより、最後尾の分割データを含むパケットを受信した際に、最後尾の分割データを含むパケットを受信してから閾値時間を経過するまで追跡検索情報を削除せずに保留しておくことで、ネットワークの輻輳や経路変更により、最後尾の分割データを含むパケットが他の分割データを含むパケットより先に到達してしまうような場合であっても、全ての分割データを含むパケット受信してデータを再構成でき、再構成できない場合に発生するパケットの再送を防ぐことが可能となる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施形態を図面を参照して説明する。
（第１実施形態）
図１は、本発明の通信処理回路の第１実施形態である通信処理回路２を備えた通信装置１及び通信装置１がＬＡＮ（Local Area Network）及びＷＡＮ（Wide Area Network）に接続する構成を示す概略ブロック図である。
通信装置１は、ＧＭＩＩ（Gigabit Medium Independent Interface）やＭＩＩ(Medium Independent Interface)の規格のインタフェースを介してＷＡＮに接続する物理Ｉ／Ｆ（Interface）１００及びＬＡＮに接続する物理Ｉ／Ｆ１１０と接続し、ＬＡＮ側から送信されるパケットをＷＡＮ側へ転送し、また、ＷＡＮ側から送信されるパケットをＬＡＮ側へ転送する。本実施形態の通信装置１では、ＯＳＩの第３層にあたるネットワーク層では、ＩＰｖ４あるいはＩＰｖ６のパケット（以下、ＩＰパケットと記載）の送受信を行い、ＯＳＩの第２層にあたるデータリンク層では、イーサネット（登録商標）のフレームの送受信を行う。以下、第２層に係る処理については送受信されるものについてはフレームと記載し、第３層に係る処理について送受信されるデータ、すなわちフレームからＭＡＣヘッダが除かれたものについてはＩＰパケットと記載する。
【００２７】
通信装置１は、転送処理の高速化を図るため半導体素子で構成される通信処理回路２と、ＣＰＵ（中央処理部：Central Processing Unit）４と、ＤＤＲ−ＳＤＲＡＭ（Double Data Rate-Synchronous Dynamic Random Access Memory）３とを備えている。
【００２８】
ＤＤＲ−ＳＤＲＡＭ３は、半導体記憶素子であり、一定容量値、例えば２キロバイトごとに領域分割され、フレーム長が長いフレームであっても、短いフレームであっても分割した１つの領域を割り当てて記憶する。なお、分割されたそれぞれの領域は、後述するハンドル管理部１８が付与するハンドル番号に対応付けられる。
【００２９】
ＣＰＵ４は、主に、通信処理回路２で転送処理を行うことができないフレームを通信処理回路２から受信し、受信したフレームに対する転送先を検出する等の処理を予め内部で動作するソフトウェアに基づいて行う。ＣＰＵ４が備えるドライバ４ａは、通信処理回路２がＣＰＵ４に入力するＩＰパケットのＣＰＵ４の内部のメモリへの書き込み及び読み出しを行い、また、通信処理回路２の各機能部の動作を制御する情報の設定を各機能部に対して行う。
【００３０】
通信処理回路２において、ＷＡＮ用ＭＡＣ(Media Access Control)Ｉ／Ｆ１１は、ＷＡＮに接続される物理Ｉ／Ｆ１００へ接続する接続インタフェースである。ＬＡＮ用ＭＡＣＩ／Ｆ１２は、ＬＡＮに接続される物理Ｉ／Ｆ１１０へ接続する接続インタフェースである。ＷＡＮ用ＭＡＣＩ／Ｆ１１及び、ＬＡＮ用ＭＡＣＩ／Ｆ１２は、上記したＧＭＩＩ及びＭＩＩに準拠した規格を有し、送受信するイーサネット（登録商標）のフレーム（以下、フレームと記載）に対してＩＥＥＥ８０２．３準拠のＭＡＣ処理を行い、また、物理Ｉ／Ｆ１００あるいは１１０との間で送受信されるフレームに対してＣＲＣ（Cyclic Redundancy Check）処理などを行う。
【００３１】
ＩＰｓｅｃ部は、ＷＡＮ用ＭＡＣＩ／Ｆ１１に接続され、ＲＦＣ(Request for Comments)２４０６準拠のＩＰｓｅｃ処理に基づく暗号化処理をＷＡＮに送信するＩＰパケットに対して行い、また、ＷＡＮから受信するＩＰパケットに対して復号化処理を行う。ここで、ＲＦＣ２４０６準拠のＩＰｓｅｃ処理とは、ＲＦＣ２４０３／２４０４準拠のＨＭＡＣ−ＭＤ５（Keyed Hashing for Message Authentication Code-Message Digest 5）やＨＭＡＣ−ＳＨＡ−１（HMAC-Secure Hash Algorithm-1）の認証機能や、ＲＦＣ２４１０／２４５１のＮＵＬＬ，ＣＢＣ−ＡＥＳ（Cipher Block Chaining - Advanced Encryption Standard）の暗号機能などによるＩＰｖ４及びＩＰｖ６パケットに対する暗号化及び復号化処理及び、ＩＰｓｅｃ処理のトンネルモードにおけるカプセル化及びデカプセル化の処理のことをいう。
【００３２】
書き込みスケジューラ１４は、ＩＰｓｅｃ部１３と、ＬＡＮ用ＭＡＣＩ／Ｆ１２と、ＣＰＵ４に接続するＣＰＵＩ／Ｆ１５とに接続され、ラウンドロビン方式により、ＩＰｓｅｃ部１３と、ＬＡＮ用ＭＡＣＩ／Ｆ１２と、ＣＰＵＩ／Ｆ１５の順に、これら３つの機能部によって情報が付加されたフレーム（以下、前記３つの機能部によって情報が付加されたフレームをフレーム情報と記載）を出力する。
【００３３】
ＣＰＵＩ／Ｆ１５は、通信処理回路２の各機能部と、書き込みスケジューラ部１４と、メモリコントローラ部１７とＣＰＵ４とに接続され、メモリコントローラ部１７から出力されるフレーム情報をＣＰＵ４に入力する。また、ＣＰＵ４から出力されるフレームを書き込みスケジューラ部１４に入力する。また、ＣＰＵ４が通信処理回路２の各機能部に対して設定を行う際、ＣＰＵＩ／Ｆ１５は、設定情報を該当する機能部に入力する。
【００３４】
ＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９は、メモリコントローラ部１７とＤＤＲ−ＳＤＲＡＭ３に接続され、メモリコントローラ部１７とＤＤＲ−ＳＤＲＡＭ３の間でフレームの入出力を行う。
【００３５】
フレーム生成部１６は、予めＣＰＵ４のドライバ４ａから設定される情報に基づいて、メモリコントローラ部１７から出力されるフレーム情報及び後述するＱｏＳ部７０から出力されるジョブ情報に基づいて送信先の論理インタフェースに応じたＶＬＡＮ（Virtual LAN）タグやＰＰＰｏＥ（Point to Point Protocol over Ethernet：Ethernetは登録商標）ヘッダの挿入を行い、当該挿入を行ったフレームを出力する。また、フレーム生成部１６は、送信先ＭＡＣアドレスの付け替え、ＮＡＴ(Network Address Translation)／ＮＡＰＴ（Network Address Port Translation）のためのＩＰアドレス及びポート番号の付け替えを行う。また、フレーム生成部１６は、ＩＰｓｅｃ部１３に出力するフレームに対してＩＰｓｅｃＳＡ（Security Association）の情報の付加を行う。また、フレーム生成部１６は、ＤＳＣＰ（DiffServ Code Point）の情報をＩＰパケットのヘッダへ付加したり、ＶＬＡＮ  ｐｒｉｏｒｉｔｙの情報をフレームのヘッダへ付加する。ＤＳＣＰやＶＬＡＮ  ｐｒｉｏｒｉｔｙは、優先制御の際に参照される品質クラス情報となる。ここで、品質クラス情報とは、転送されるフレームに含まれる情報の種別を分類する分類情報であり、分類情報によって示される情報の種別が例えば音声の場合には、当該分類種別を有するフレームには遅延が少ない高い品質の通信処理が適用されることになる。
【００３６】
ハンドル管理部１８は、ＱｏＳ（Quality of Service）部７０と、メモリコントローラ部１７とに接続され、ＤＤＲ−ＳＤＲＡＭ３の分割された領域のそれぞれに対応するハンドル番号に基づいてＤＤＲ−ＳＤＲＡＭ３の分割された領域の空塞管理を行う。ここで、空塞管理とは、メモリコントローラ部１７へは空きハンドル番号を出力して使用中のハンドル番号として管理し、ＱｏＳ部７０から入力されるフレーム破棄により返却対象となるハンドル番号や、送信により返却対象となるハンドル番号については領域が空きとなるため、空きのハンドル番号として管理する。また、ハンドル管理部１８は、マルチキャストフレームの場合には、マルチキャストの回数分送信が終了するまで、フレームを削除できないため、ＱｏＳ部７０が、メモリコントローラ部１７にジョブ情報を出力した情報を図１に示すＱｏＳ部７０からメモリコントローラ部１７へ直接接続する接続線から分岐する線により参照して、送信開始時に定められるマルチキャストの回数を管理する。
【００３７】
メモリコントローラ部１７は、書き込みスケジューラ部１４と、フレーム生成部１６と、ＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９と、パーサ部３０と、ハンドル管理部１８と、ＱｏＳ部７０とに接続されている。メモリコントローラ部１７は、書き込みスケジューラ部１４から入力されるフレーム情報に対し、ハンドル管理部１８から付与された空きハンドルのハンドル番号に対応するＤＤＲ−ＳＤＲＡＭ３の分割された領域に、ＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９を介してＤＤＲ−ＳＤＲＡＭ３に書き込む。また、メモリコントローラ部１７は、書き込みスケジューラ部１４から入力されるフレーム情報に対し、ハンドル管理部１８から付与されたハンドル番号を付加してパーサ部３０に出力する。また、メモリコントローラ部１７は、後述するＱｏＳ部７０から出力されるジョブ情報に含まれるハンドル番号に対応するＤＤＲ−ＳＤＲＡＭ３の領域からＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９を介してフレーム情報を読み出し、読み出したフレーム情報に対してジョブ情報に基づく情報を付加し、フレーム生成部１６に出力、あるいはＣＰＵＩ／Ｆ１５を介してＣＰＵ４に出力する。
【００３８】
パーサ部３０は、メモリコントローラ部１７によりハンドル番号が付加されたフレーム情報に対して解析を行い、フレーム情報から転送処理等に必要となる情報であるヘッダ情報などを抽出し、解析結果情報としてメモリコントローラ部１７が付加したハンドル番号等の付加情報とともに出力する。
【００３９】
なお、通信処理回路２は、ＩＰｖ４とＩＰｖ６の両方に対応しており、パーサ部３０が抽出して生成する解析結果情報では、ＩＰｖ４のヘッダとＩＰｖ６のヘッダとを別に含むのではなく、ＩＰｖ４かＩＰｖ６かを示すフラグを設け、データの形式を共通化可能なヘッダ情報等については、共通の形式にするようにしている。例えば、送信先ＩＰアドレス及び送信元ＩＰアドレスについては、ＩＰｖ６に合わせてデータ長１２８ビットの形式とし、ＩＰｖ４については３２ビットのＩＰアドレスに０の連続を追加して１２８ビットとしている。また、ＩＰｖ４のＴｏＳ（Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ）の情報とＩＰｖ６のＴＣ（Ｔｒａｆｆｉｃ  Ｃｌａｓｓ）の情報については共通の形式としている。また、後述するフラグメントに関する情報については、ＩＰｖ４のヘッダに含まれる情報とＩＰｖ６に含まれる情報のそれぞれを解析し、フラグメント処理が行われているか否かを示す情報、フラグメント処理された先頭の分割データを含むパケットか、あるいは中間の分割データを含むパケットか、あるいは最後尾の分割データを含むパケットかを示すフラグと、３２ビット化したＩＰパケットのヘッダに含まれるＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）という形式の情報（以下、これらのフラグメント処理に関する情報をフラグメント解析情報と記載）に共通化するようにしている。
【００４０】
検索部４０は、パーサ部３０から入力される解析結果情報に基づいて、予めＣＰＵ４により検索部４０の内部に設定される検索条件情報を参照し、検索条件情報に基づいて、当該フレームに対して行う処理を示した処理情報を検出し、検出した処理情報と、パーサ部３０から入力される解析結果情報の一部の情報、例えばフレーム長等ととともにＣＰＵ転送判定部６１に出力する。ここで、検索部４０により行われる検索処理としては、ＮＡＴ／ＮＡＰＴ検索処理、経路検索処理、フィルタ・分類検索処理があり、これらの検索により検出される処理情報としては、ＮＡＴ／ＮＡＰＴによりヘッダを書き換える処理を示す情報や、送信先論理インタフェースなどを示す情報や、フレームを破棄、通過、ＣＰＵ４へ転送する等の処理を示す情報や、検索部４０以降のキュー選択部６２等で処理が行われる際に参照される品質クラス情報などの所定の処理を行うために必要な情報がある。また、検索条件情報としては、ＭＡＣアドレス、ＩＰアドレス、ポート番号などが組み合わされた情報が設定される。
【００４１】
ＣＰＵ転送判定部６１は、検索部４０においてＣＰＵ４へ転送する要因があるとして検出されたフレームに対して、ＣＰＵ４へ転送するか、あるいは破棄するかを判定し、判定した判定結果情報を、検索部４０から入力される情報とともに出力する。
【００４２】
キュー選択部６２は、ＣＰＵ転送判定部６１から入力される情報に含まれる品質クラス情報や送信先の論理Ｉ／Ｆの情報に基づいてＱｏＳ部７０がキューを選択する際に参照するキュー番号を検出し、ＣＰＵ転送判定部６１から出力される情報と、検出したキュー番号とを出力する。
【００４３】
ＱｏＳ部７０は、キュー選択部６２から出力される情報に基づいてジョブ情報を生成し、同じくキュー選択部６２から出力されるキュー番号に基づいて、生成したジョブ情報を該当するキューに記録する。また、ＱｏＳ部７０は、キューに記録されているジョブ情報をキューの状態及びＰＱ(Priority Queuing)の優先度、あるいはＷＦＱ(Weighted Fair Queuing)の重み付けの値等に基づいて読み出し、メモリコントローラ部１７へ出力する。また、メモリコントローラ部１７へ出力する際に、ハンドル番号を返却するためハンドル管理１８へ出力する。ここで、ジョブ情報とは、ＷＡＮ用ＭＡＣＩ／Ｆ１１やＬＡＮ用ＭＡＣＩ／Ｆ１２から送信されるフレームに対しては、受信フレーム長、送信フレーム長、送信論理Ｉ／Ｆ、送信先ＭＡＣアドレス、ＮＡＴ／ＮＡＰＴ指定、ＤＳＣＰやＶＬＡＮ  ｐｒｉｏｒｉｔｙ等の情報に対応する品質クラス、ハンドル番号等の情報から構成されている。また、ＣＰＵ４に転送されるフレームに対しては、ジョブ情報は、受信フレーム長、送信フレーム長、受信論理Ｉ／Ｆ、ＣＰＵ転送理由、品質クラス、ハンドル番号等の情報から構成される。
【００４４】
なお、ＣＰＵ転送判定部６１において特定の要因を有し、破棄すると判定されたフレームついてはＣＰＵ転送判定部６１あるいはＱｏＳ部７０のいずれかにより破棄されることとなる。
【００４５】
ここで、以下の説明で用いるフラグメント処理に関連するＩＰパケットのヘッダに含まれる情報について説明する。最初に、ＩＰパケットのヘッダに含まれるＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）には、ＩＰパケットが送信されるごとに送信側で異なる値が設定されるが、フラグメントＩＰパケットの場合、受信時は１つのＩＰパケットであったものが分割されるため、フラグメント処理が行われる際に受信したＩＰパケットのヘッダ情報がコピーされる。その際、ＩＤもコピーされるため元は１つのＩＰパケットであったフラグメントＩＰパケットには同じＩＤが設定される。受信側では当該ＩＤを参照することにより、どのフラグメントＩＰパケットが、元は１つのＩＰパケットであったかを検出することができる。ただし、ＩＤ番号だけでは重複する可能性があるため、ＩＰアドレス情報なども組み合わせて検出されることになる。
【００４６】
次に、フラグメントフラグは、ＩＰパケットのヘッダのフラグフィールドのＭＦ（More Fragment）ビットを用いて示される情報である。ＭＦビットが１ならば、後に続くフラグメントＩＰパケットが存在することを示している。また、ＭＦビットが０ならば最後の分割データを含むフラグメントＩＰパケットであることを示している。
【００４７】
次に、フラグメントオフセットは、フラグメント処理が行われる前のＩＰパケットのどの位置に存在していた分割データを含んでいるかを示す情報である。例えば、フラグメントオフセットに「２０００」という値が設定されていた場合、分割データは、フラグメント処理される前のＩＰパケットの先頭から２０００バイト目に存在していた分割データを含んでいることを示している。なお、先頭の分割データを含む場合には、フラグメントオフセットには「０」が設定される。
【００４８】
ここで、分割データとは、受信時に１つのＩＰパケットであったＩＰパケットからヘッダ情報を取り除き、残りのデータ部分を送信先に送信可能な大きさに分割したデータのことをいう。また、以下の説明では、先頭の分割データを含むフラグメントＩＰパケットを先頭フラグメントＩＰパケットと記載し、先頭以外の分割データを含むフラグメントＩＰパケットを非先頭フラグメントＩＰパケットと記載し、最後の分割データを含むフラグメントＩＰパケットを最後尾フラグメントＩＰパケットと記載する。
【００４９】
なお、上記のＩＰパケットのフラグメント処理に関連するヘッダについての説明はＩＰｖ４に対するものであるが、ＩＰｖ６の場合には、通常のＩＰｖ６ヘッダと上位層ヘッダとの間に付加される拡張ヘッダの１つとしてフラグメントヘッダが規定されている（ＩＥＴＦ  ＲＦＣ２４６０参照）。当該フラグメントヘッダには、上記のＩＰｖ４のＩＤやフラグメントオフセットやＭＦ等と同等の内容を示す情報が設定され、当該ヘッダを参照することにより、ＩＰｖ４の場合と同様に、受信したＩＰパケットの判定を行うことができる。また、上述したように、ＩＰｖ４及びＩＰｖ６のフラグメント処理に関する情報は、パーサ部３０により、共通の形式とされ、フラグメント解析情報として解析結果情報に含まれることになる。
【００５０】
図２は、第１実施形態に係る検索部４０の内部構成を示したブロック図である。
図２において、検索部４０は、ＮＡＴ／ＮＡＰＴ検索部４５と、経路検索部４６と、判定部４１と、フィルタ・分類検索部４２と、フラグメント追跡部５０とを備えている。
【００５１】
検索部４０において、ＮＡＴ／ＮＡＰＴ検索部４５は、パーサ部３０から入力される解析結果情報、及び予め内部に記憶するＮＡＴ／ＮＡＰＴ検索条件情報に基づいて検索を行い、ＮＡＴ／ＮＡＰＴの有無を示す情報や、付け替え後のＩＰアドレスやポート番号を検出し、解析結果情報及び付加情報とともに検出した情報を出力する。経路検索部４６は、ＮＡＴ／ＮＡＰＴ検索部４５から解析結果情報、付加情報及びＮＡＴ／ＮＡＰＴの有無を示す情報や、付け替え後のＩＰアドレスやポート番号が入力され、予め内部に記憶する経路検索情報及び、入力される解析結果情報に基づいて検索を行い、送信先の論理インタフェース等の送信先に関する情報を検出する。また、ＮＡＴ／ＮＡＰＴ有りの場合、付け替え後のＩＰアドレスに基づいて経路検索を行い、送信先の論理インタフェース等の送信先に関する情報を検出し、解析結果情報及び付加情報とともに検出した情報を出力する。
【００５２】
判定部４１は、経路検索部４６から入力される解析結果情報に含まれる上述したフラグメント解析情報を参照し、フレームに含まれるパケットがフラグメントＩＰパケットであるか否かを判定する。また、判定部４１は、パケットがフラグメントＩＰパケットであると判定した場合、さらに、フラグメント解析情報を参照し、先頭フラグメントＩＰパケットであるか否かを判定する。
【００５３】
フィルタ・分類検索部４２は、入力されるＩＰパケットに適用されるフィルタ処理や分類処理を検出するため、検出部４３と、フィルタ・分類検索テーブル４４とを備えている。フィルタ・分類検索部４２において、検出部４３は、フィルタ・分類検索テーブル４４を参照し、フィルタ・分類検索テーブル４４の検索条件情報の中で、判定部４１から入力される解析結果情報に含まれるヘッダ情報等と一致する検索条件情報を検出する。また、検出部４３は、検出した検索条件情報に対応する処理情報をフィルタ・分類検索テーブル４４から読み出し、読み出した処理情報を、判定部４１から入力される付加情報とともにＣＰＵ転送判定部６１に出力する。また、検出部４３は、受信したＩＰパケットが先頭フラグメントＩＰパケットの場合、判定部４１から入力される付加情報と解析結果情報と処理情報とをフラグメント追跡部５０の登録管理部５５に出力する。
【００５４】
フィルタ・分類検索テーブル４４は、図３に示すように、「エントリ番号」、「検索条件」、「フラグメント追跡フラグ」、「検索結果」の項目を有するフィルタ分類検索情報を記憶している。「エントリ番号」には、フィルタ・分類検索テーブル４４の各エントリを特定するためのポインタが記録され、例えば、フィルタ・分類検索テーブル４４がメモリに割り当てられる場合には、エントリごとの先頭のメモリのアドレスがエントリ番号であってもよい。「検索条件」には、検索条件情報として上述したように送信元ＩＰアドレス、送信先ＩＰアドレス、送信先ポート番号等が組み合わされた情報が記憶される。「検索結果」には、検索条件情報と一致したＩＰパケットに対して行う所定の処理を示した処理情報、例えば、破棄、ＣＰＵ転送等を示す情報が記憶される。「フラグメント追跡フラグ」には、フラグメント追跡処理を行うことを示すＯＮと、フラグメント追跡処理を行わないことを示すＯＦＦとが予め記憶される。ここで、フラグメント追跡処理とは、先頭フラグメントＩＰパケットにおいて、フィルタ分類検索情報から検索された検索結果を、非先頭フラグメントＩＰパケットにも適用する処理のことであり、当該処理により、分割データを再構成することなく、先頭フラグメントＩＰパケットと同じ処理を非先頭フラグメントＩＰパケットに対して行うことが可能となる。
【００５５】
なお、フィルタ・分類検索テーブル４４は、ＲＡＭ（Random Access Memory）やＲＯＭ(Read Only Memory)のような外部からの記録及び削除が可能な素子で構成されていてもよいが、検索条件情報に該当する情報を入力することにより、エントリ番号、フラグメント追跡フラグ、検索結果の各項目が出力される論理回路によって構成されていてもよい。
【００５６】
次に、図２において、フラグメント追跡部５０は、フラグメント追跡処理を行うため、検出部５１と、判定・削除部５２と、削除保留タイマ５４と、フラグメント追跡検索テーブル５３と、登録管理部５５と、記録経過タイマ５６とを備えている。
【００５７】
フラグメント追跡部５０において、検出部５１は、フラグメント追跡検索テーブル５３を参照し、フラグメント追跡検索テーブル５３のフラグメント追跡検索情報の中で、判定部４１から入力される解析結果情報に含まれるヘッダ情報等に対応するフラグメント追跡検索情報を検出する。また、検出部５１は、検出したフラグメント追跡検索情報に含まれ、先頭フラグメントＩＰパケットに適用された処理情報であるフラグメント追跡結果情報を、判定部４１から入力される付加情報とともにＣＰＵ転送判定部６１に出力する。
【００５８】
フラグメント追跡検索テーブル５３は、図４に示すように「エントリ番号」、「フラグメント追跡条件」、「フラグメント追跡結果」の項目を有するフラグメント追跡検索情報を記憶している。「エントリ番号」には、フラグメント追跡検索テーブル５３の各エントリを特定するための値が記録され、例えば、フラグメント追跡検索テーブル５３がメモリに割り当てられる場合には、エントリごとの先頭のメモリのアドレスがエントリ番号であってもよい。「フラグメント追跡条件」には、上述した元は同じＩＰパケットから分割されたフラグメントＩＰパケットを特定することのできるパケット識別情報が記憶される。パケット識別情報は、ＩＤ、送信元ＩＰアドレス、送信先ＩＰアドレス等を含む情報であり、さらに特定を容易にするために受信インタフェース番号を加えるようにすることも可能である。「フラグメント追跡結果」には、パケット識別情報の先頭フラグメントＩＰパケットに適用された処理情報がフラグメント追跡結果情報として記憶される。なお、「フラグメント追跡結果」には、先頭フラグメントＩＰパケットに適用された処理情報が記憶されているフィルタ分類検索情報の「エントリ番号」が記憶されていてもよい。また、フラグメント追跡検索テーブル５３は、半導体記憶素子上に予め容量が定められる領域であるため記憶することができる項目、すなわちエントリ数の最大数が定められている。
【００５９】
登録管理部５５は、フィルタ分類検索部４２の検出部４３から処理情報及び解析結果情報の入力を受け、入力される解析結果情報から、同じＩＰパケットから分割されたフラグメントＩＰパケットを検出するためのパケット識別情報を抽出し、抽出したパケット識別情報を、フラグメント追跡検索情報の「フラグメント追跡条件」に記録し、記録した「フラグメント追跡条件」に対応する「フラグメント追跡結果」に入力された処理情報をフラグメント追跡結果情報として記録する。
【００６０】
記録経過タイマ５６は、登録管理部５５が新たなフラグメント追跡検索情報のエントリをフラグメント追跡検索テーブル５３に記録する際に、登録管理部５５によって起動され、エントリごとの記録されてからの経過時間を計測するタイマであり、上述したフラグメント追跡検索テーブル５３のエントリの最大数をＮとすると、エントリ番号に対応付けられた記録経過タイマ５６−１〜５６−ＮのＮ個のタイマが備えられている。また、記録経過タイマ５６には、最大計測時間が予め定められており、経過時間が最大計測時間を超えた場合には満了通知を登録管理部５５に通知する。
【００６１】
判定・削除部５２は、最後尾フラグメントＩＰパケットが受信された際に、当該フラグメントＩＰパケットに対応するエントリは必要なくなるためフラグメント追跡検索テーブル５３から削除するが、ネットワークの状態によってはフラグメントＩＰパケットを順番に受信できるとは限らないため、最後の分割データを含むフラグメントＩＰパケットを受信した後、一定時間フラグメントＩＰパケットの到着を待機し、待機後にエントリを削除する。また、判定・削除部５２は、検出部５１に接続され、検出部５１から出力される解析結果情報に基づいて、最後尾フラグメントＩＰパケットであるか否かを判定し、判定の結果、最後尾フラグメントＩＰパケットの場合には、後述する削除保留タイマ５４から満了通知を受信した際に、当該フラグメントＩＰパケットに対応するエントリをフラグメント追跡検索テーブル５３から削除する。
【００６２】
削除保留タイマ５４は、判定・削除部５２によって起動され、予め定められている残時間が経過した際に、満了通知を判定・削除部５２に通知する。削除保留タイマ５４も記録経過タイマ５６と同じく、フラグメント追跡検索テーブル５３のエントリの最大数をＮとすると、エントリ番号に対応付けられた削除保留タイマ５４−１〜５４−ＮのＮ個のタイマが備えられている。
【００６３】
図５は、第１実施形態に係る検索部４０のフラグメント追跡処理の動作を示したフローチャートである。
最初に、ＷＡＮ用ＭＡＣＩ／Ｆ１１あるいはＬＡＮ用ＭＡＣＩ／Ｆ１２がフレームを受信する。ＬＡＮ用ＭＡＣＩ／Ｆ１２は、受信したフレームに関するフレーム情報を書き込みスケジューラ部１４に入力する。ＷＡＮ用ＭＡＣＩ／Ｆ１１が受信したフレームについては、ＩＰｓｅｃ部１３が復号化を行い、復号化されたフレームに関するフレーム情報を書き込みスケジューラ部１４に入力する。書き込みスケジューラ部１４は、ラウンドロビン方式により、ＩＰｓｅｃ部１３、あるいはＬＡＮ用ＭＡＣＩ／Ｆ１２から入力されるフレーム情報をメモリコントローラ部１７に入力する。メモリコントローラ部１７は、ハンドル管理部１８に空きハンドル番号を要求し、要求によって得たハンドル番号に基づいてＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９を介してＤＤＲ−ＳＤＲＡＭ３のハンドル番号に対応する領域にフレーム情報を記録し、当該フレーム情報とハンドル番号とをパーサ部３０に入力する。
【００６４】
パーサ部３０は、予め内部に記憶しているフレーム解析条件情報に基づいて、入力されたフレーム情報を解析し解析によりフレーム情報に含まれる情報から抽出した解析結果情報をハンドル番号などを含む付加情報とともに検索部４０に入力する（ステップＳａ１）。
【００６５】
検索部４０のＮＡＴ／ＮＡＰＴ検索部４５は、パーサ部３０から入力される解析結果情報に基づいてＮＡＴ／ＮＡＰＴの有無を示す情報を検出し、付け替え後のＩＰアドレス及びポート番号を検出する。経路検索部４６は、ＮＡＴ／ＮＡＰＴ検索部４５が入力される解析結果情報、あるいは付け替え後のＩＰアドレスに基づいて、送信先論理インタフェース等の送信先に関連する情報を検出し、解析結果情報、付加情報とともに検出した情報を判定部４１に入力する。判定部４１は、経路検索部４６から入力される解析結果情報に含まれるフラグメント解析情報を参照し、当該フラグメント解析情報に対応するＩＰパケットが非先頭フラグメントＩＰパケットであるか否かを判定する（ステップＳａ２）。判定部４１が、解析結果情報に対応するＩＰパケットが非先頭フラグメントＩＰパケットであると判定した場合、判定部４１は、解析結果情報及び付加情報をフラグメント追跡部５０の検出部５１に入力する。
【００６６】
検出部５１は、入力される解析結果情報に含まれるヘッダ情報からフラグメントＩＰパケットを識別するためのパケット識別情報を抽出し、抽出したパケット識別情報に基づいてフラグメント追跡検索テーブル５３のフラグメント追跡検索情報を検索する。そして、検索により、抽出したパケット識別情報に一致するパケット識別情報がフラグメント追跡検索情報から検出するか否かを判定する（ステップＳａ３）。検出部５１は、一致するパケット識別情報を検出できなかった場合、フィルタ・分類検索部４２の検出部４３に解析結果情報及び付加情報を入力し、ステップＳａ５に進む。一方、検出部５１は、一致するパケット識別情報が検出した場合、フラグメント追跡検索テーブル５３から一致するパケット識別情報に対応するフラグメント追跡結果情報を読み出す（ステップＳａ４）。そして、検出部５１は、読み出したフラグメント追跡結果情報と付加情報とをＣＰＵ転送判定部６１に出力する（ステップＳａ８）。
【００６７】
一方、ステップＳａ２において、判定部４１が、解析結果情報に対応するＩＰパケットが非先頭フラグメントＩＰパケットでないと判定した場合、判定部４１は、解析結果情報及び付加情報をフィルタ・分類検索部４２の検出部４３に入力する。ＩＰパケットが非先頭フラグメントＩＰパケットでない場合とは、先頭フラグメントＩＰパケットか、フラグメント処理が行われていないＩＰパケットとなるが、判定部４１は、当該ＩＰパケットが先頭フラグメントＩＰパケットである場合には、先頭フラグメントＩＰパケットを示す情報を検出部４３に入力する。
【００６８】
検出部４３は、判定部４１あるいは検出部５１から入力される解析結果情報に基づいて、フィルタ分類検索テーブル４４から解析結果情報に一致する検索条件情報の検索を行い、一致する検索条件情報に対応する処理情報及びフラグメント追跡フラグをフィルタ・分類検索テーブル４４から読み出す（ステップＳａ５）。次に、検出部４３は、判定部４１から先頭フラグメントＩＰパケットを示す情報が入力されており、かつ読み出したフラグメント追跡フラグが「ＯＮ」であるか否かを判定する（ステップＳａ６）。
【００６９】
検出部４３は、先頭フラグメントＩＰパケットを示す情報が入力されていない場合、または、先頭フラグメントＩＰパケットを示す情報が入力されているがフラグメント追跡フラグが「ＯＦＦ」の場合、処理情報と付加情報とをＣＰＵ転送判定部６１に出力する（ステップＳａ８）。一方、検出部４３は、先頭フラグメントＩＰパケットを示す情報が入力されており、かつ読み出したフラグメント追跡フラグが「ＯＮ」である場合、フラグメント追跡部５０の登録管理部５５に、処理情報と解析結果情報とを入力する。登録管理部５５は、入力される解析結果情報からパケット識別情報を抽出し、抽出したパケット識別情報をフラグメント追跡検索情報の「フラグメント追跡条件」に記録し、記録した「フラグメント追跡条件」に対応する「フラグメント追跡結果」に入力された処理情報を記録する。このとき、登録管理部５５は、新たに記録したフラグメント追跡検索情報のエントリ番号に対応する記録経過タイマ５６−１〜５６−Ｎのいずれか１つを起動する（ステップＳａ７）。そして、検出部４３は、検出した処理情報と入力される付加情報とをＣＰＵ転送判定部６１に出力する（ステップＳａ８）。
【００７０】
ＣＰＵ転送判定部６１は、フィルタ・分類検索部４２あるいはフラグメント追跡部５０の検出部５１から出力される処理情報あるいは、フラグメント追跡結果情報に含まれる処理情報に基づいて、当該ＩＰパケットを含むフレームに対してＣＰＵ４へ転送、あるいは破棄、あるいはＷＡＮ用ＭＡＣＩ／Ｆ１１やＬＡＮ用ＭＡＣＩ／Ｆ１２へ転送するなどの判定を行い、判定結果情報とハンドル番号を含む付加情報をキュー選択部６２に入力し、キュー選択部６２、ＱｏＳ部７０を経由して、処理情報に対応する処理が当該ＩＰパケットを含むフレームに対して行われることとなる。
【００７１】
上記の第１実施形態に係るフラグメント追跡処理により、先頭フラグメントＩＰパケットについては、フラグメント処理が行われていないＩＰパケットと同様にフィルタ・分類検索の処理が行われる。その際に、先頭フラグメントＩＰパケットに対応して検索された処理情報を、同じＩＰパケットから分割されたフラグメントＩＰパケットを特定するパケット識別情報とともにフラグメント追跡検索テーブル５３に記録しておく。それによって、非先頭フラグメントＩＰパケットを受信した場合に、データを再構築することなく先頭フラグメントＩＰパケットに対して行った処理と同じ処理を非先頭フラグメントＩＰパケットに対して適用することが可能となる。
【００７２】
また、第１実施形態に係るフラグメント追跡処理では、フィルタ・分類検索テーブル４４に「フラグメント追跡フラグ」を含める構成とし、当該フラグメント追跡フラグがＯＦＦの場合には先頭フラグメントＩＰパケットであってもフラグメント追跡検索テーブル５３に記録させないようにしたことで、フラグメント追跡処理を行わせないフィルタ・分類の検索条件情報を指定することができる。ここで、フラグメント追跡処理を行わせないフィルタ・分類の検索条件情報とは、例えば、フィルタ・分類検索テーブル４４の検索条件情報が全てのフラグメントＩＰパケットに含まれる情報である送信先のＩＰアドレス等の場合である。
【００７３】
また、上記の第１実施形態の構成において、ＮＡＴ／ＮＡＰＴ検索部４５及び経路検索部４６は、フィルタ・分類検索部４２の出力に接続し、フィルタ・分類検索処理の後に、ＮＡＴ／ＮＡＰＴ検索処理及び経路検索処理を行うようにしてもよい。また、フィルタ・分類検索部４２の構成も、フィルタ・分類検索テーブル４４を、フィルタ検索に関する情報と、分類検索に関する情報に分け、それぞれが独立して検索処理を行うように構成してもよい。
【００７４】
次に、図６から図８を参照しつつ、登録管理部５５と記録経過タイマ５６の動作について説明する。図６は、登録管理部５５が、フラグメント追跡検索テーブル５３に新たなフラグメント追跡検索情報を記録する際の動作を示したフローチャートである。
【００７５】
まず最初に、登録管理部５５は、フラグメント追跡検索テーブル５３に空きエントリが存在するか否かを判定する（ステップＳｂ１）。登録管理部５５は、空きエントリが存在すると判定した場合、フラグメント追跡検索テーブル５３の空きエントリにフラグメント追跡検索情報を記録し、記録経過タイマ５６−１〜５６−Ｎのうち記録したエントリのエントリ番号に対応するに記録経過タイマを起動する（ステップＳｂ５）。
【００７６】
一方、登録管理部５５は、ステップＳｂ１において空きエントリが存在しないと判定した場合、図８に示すように記録経過タイマ５６−１〜５６−Ｎに予め定められている閾値時間Ｔｔｈと、それぞれの記録経過タイマ５６−１〜５６−Ｎが計測した経過時間（図８の記録経過タイマ５６−１〜５６−Ｎでは、時計の針を示す線が経過時間を示している）とを参照し、閾値時間Ｔｔｈを超えているタイマを検出する。図８の例では、記録経過タイマ５６−２と５６−３が閾値時間Ｔｔｈを超えているタイマとして検出する。次に、登録管理部５５は、検出した記録経過タイマ５６−２と５６−３の中で、経過時間が最大値となっているタイマを検出する。図８の例では、記録経過タイマ５６−２の経過時間の方が大きいため、記録経過タイマ５６−２を検出する（ステップＳｂ３）。そして、登録管理部５５は、検出した記録経過タイマ５６−２に対応するエントリ番号のエントリをフラグメント追跡検索テーブル５３から削除し、新たに記録するフラグメント追跡検索情報を当該エントリに記録し、当該エントリに対応する記録経過タイマ５６−２を起動する（ステップＳｂ５）。
【００７７】
なお、ステップＳｂ３において、登録管理部５５がエントリを検出できなかった場合には、新たなフラグメント追跡検索情報の記録を行わない。
【００７８】
また、新たなフラグメント追跡検索情報の記録を行う際に、当該新たなフラグメント追跡検索情報を記録するために記録を行うことができるエントリの検出を行うステップＳｂ３の処理を行うのではなく、いずれかのフラグメント追跡検索情報に記録を行う際に、次のフラグメント追跡検索情報の記録のために記録が可能なエントリを事前に検出しておくようにしてもよい。この構成により、先頭フラグメントＩＰパケットと非先頭フラグメントＩＰパケットの受信間隔がステップＳｂ３の処理を行う時間より短い場合であっても、非先頭フラグメントＩＰパケットにフラグメント追跡検索情報を適用することが可能となる。
【００７９】
また、上述した図６の登録管理部５５と記録経過タイマ５６の動作では、先頭フラグメントＩＰパケットが受信され、フラグメント追跡検索テーブル５３に新たなフラグメント追跡検索情報を記録する際に、記録経過タイマ５６を起動し、先頭フラグメントＩＰパケットを基準として閾値時間Ｔｔｈを設定するようにしている。しかし、本発明は当該実施形態に限られず、閾値時間Ｔｔｈを平均的なＩＰパケットの受信間隔の値にしておき、非先頭フラグメントＩＰパケットを受信し、当該非先頭フラグメントＩＰパケットに対応するエントリが検出された際に、記録経過タイマ５６を再起動するようにしてもよい。
【００８０】
上記の登録管理部５５と記録経過タイマ５６による処理により、予めフラグメント追跡検索情報を記録することができる項目数が限られているフラグメント追跡検索テーブル５３に空きがない場合、閾値時間を例えば、統計的に知られているフラグメントＩＰパケットを全て受信する時間にしておくことで、フラグメントＩＰパケットの一部が受信できず閾値時間を超えているフラグメント追跡検索情報の中で最も時間が経過しているものを削除して新たなフラグメント追跡検索情報を記録することができる。
【００８１】
次に、図７を参照して、記録経過タイマ５６が満了した際の登録管理部５５の動作について説明する。図８に示すように各記録経過タイマ５６−１〜５６−Ｎのそれぞれには最大計測時間Ｔｍａｘが予め設定されている。記録経過タイマ５６−１〜５６−Ｎは計測している経過時間が最大計測時間Ｔｍａｘを超えた際に、対応するエントリ番号を含む満了通知を登録管理部５５に通知する。登録管理部５５は、記録経過タイマ５６−１〜５６−Ｎから満了通知が通知されたか否かを判定し（ステップＳｃ１）、通知されない間は満了通知の検出を継続している（ステップＳｃ１：Ｎｏ）。登録管理部５５は、満了通知を検出すると、満了通知に含まれるエントリ番号を読み出し、読み出したエントリ番号に対応するフラグメント追跡検索テーブル５３のエントリを削除する（ステップＳｃ２）。
【００８２】
なお、上述した閾値時間Ｔｔｈ及び最大計測時間Ｔｍａｘは、記録経過タイマ５６−１〜５６−Ｎごとに異なる値を設定するようにしてもよい。
【００８３】
上記の登録管理部５５と記録経過タイマ５６による処理により、記録経過タイマ５６に最大計測時間を設定しておき、長時間フラグメントＩＰパケットが全て揃わずフラグメント追跡検索情報が残っているものを削除することができ、フラグメント追跡検索テーブルに空き領域を確保しておくことが可能となる。
【００８４】
次に、図９から図１１を参照して、判定・削除部５２と削除保留タイマ５４の動作について説明する。
最初に、検出部５１は、解析結果情報に含まれるヘッダ情報等からパケット識別情報を抽出し、抽出したパケット識別情報を含むフラグメント追跡検索情報をフラグメント追跡検索テーブル５３から検出すると、検出部５１は、検出したフラグメント追跡検索情報のエントリ番号と入力された解析結果情報とを判定・削除部５２に入力する（ステップＳｄ１）。判定・削除部５２は、解析結果情報を参照し、解析結果情報に対応するフラグメントＩＰパケットが最後尾フラグメントＩＰパケットか否かを判定する。この判定は、解析結果情報に含まれるフラグメントフラグのＭＦビットが「０」であるか否かを判定することにより行われる（ステップＳｄ２）。最後尾フラグメントＩＰパケットでない場合には、処理を終了する。一方、最後尾フラグメントＩＰパケットの場合には、判定・削除部５２は、削除保留タイマ５４−１〜５４−Ｎをのうち検出部５１から入力されるエントリ番号に対応するタイマを起動する（ステップＳｄ３）。図１１は、エントリ番号が「２」に対応する最後尾フラグメントＩＰパケットを受信した場合を示しており、削除保留タイマ５４−２が起動されている状態を示している。
【００８５】
次に、図１０を参照して、削除保留タイマ５４−１〜５４−Ｎが満了した場合の判定・削除部５２の動作について説明する。図１１に示すように各削除保留タイマ５４−１〜５４−Ｎのそれぞれには上述した残時間に対応する閾値時間Ｔｈｄが予め設定されている。削除保留タイマ５４−１〜５４−Ｎは計測している時間が閾値時間Ｔｈｄを超えた際に、対応するエントリ番号を含む満了通知を判定・削除部５２に通知する。判定・削除部５２は、削除保留タイマ５４−１〜５４−Ｎから満了通知が通知されたか否かを判定し（ステップＳｅ１）、通知されない間は満了通知の検出を継続している（ステップＳｅ１：Ｎｏ）。判定・削除部５２は、満了通知を検出すると、満了通知に含まれるエントリ番号を読み出し、読み出したエントリ番号に対応するフラグメント追跡検索テーブル５３のエントリを削除する（ステップＳｅ２）。
【００８６】
なお、上述した閾値時間Ｔｈｄは、削除保留タイマ５４−１〜５４−Ｎごとに異なる値を設定するようにしてもよい。
【００８７】
上記の判定・削除部５２と削除保留タイマ５４による処理により、最後尾フラグメントＩＰパケットを受信した際に、最後尾フラグメントＩＰパケットを受信してから閾値時間を経過するまでフラグメント追跡検索情報を削除せずに保留しておくことで、ネットワークの輻輳や経路変更により、最後尾フラグメントＩＰパケットが他のフラグメントＩＰパケットより先に到達してしまうような場合であっても、全てのフラグメントＩＰパケットを受信してデータを再構成でき、再構成できない場合に発生するフラグメントＩＰパケットの再送を防ぐことが可能となる。
【００８８】
なお、上述した実施形態において、記録経過タイマ５６及び削除保留タイマ５４は、通信処理回路２のクロックのパルス数を起動から計数して経過時間を計測し、閾値時間Ｔｔｈ、最大計測時間Ｔｍａｘ及び閾値時間Ｔｈｄなどの予め指定された時間を経過した際に満了通知を出力するように構成することができる。
また、記録経過タイマ５６及び削除保留タイマ５４の他の実施形態として、最大値を予め設定しておき、設定した最大値からクロックのパルス数の計数値を減算し、予め指定された時間を経過した時点で満了通知を出力する方式を適用してもよい。
また、さらに、記録経過タイマ５６及び削除保留タイマ５４を個々に設けるのではなく、１つのタイマで記録経過タイマ５６の機能及び削除保留タイマ５４の機能を実現するようにしてもよい。
【００８９】
（第２実施形態）
次に、本発明に係る第２実施形態について説明する。
図１２は、第２実施形態における検索部４０ａの内部構成を示したブロック図である。
第１実施形態と第２実施形態では、通信処理回路２は検索部の構成が異なり、それ以外の構成については同じである。
【００９０】
図１２において、検索部４０ａは、入力選択部１４０と、ＮＡＴ／ＮＡＰＴ検索部４５ａと、経路検索部４６ａと、出力選択部１５０と、フィルタ・分類検索部４２ａと、フラグメント追跡部５０ａとから構成されており、第１実施形態とは異なり、パーサ部３０から全ての受信パケットの解析結果情報に対してフィルタ・分類検索部４２ａによる処理が行われた後に、フラグメント追跡部５０ａによる処理が行われる点で第１実施形態と構成が異なる。
【００９１】
検索部４０ａにおいて、入力選択部１４０は、ＮＡＴ／ＮＡＰＴ検索部４５ａの適合判定部１４３−１〜１４３−Ｎを順に選択し、選択した適合判定部に対して、パーサ部３０から入力される解析結果情報及びハンドル番号などを含む付加情報を入力する。
【００９２】
ＮＡＴ／ＮＡＰＴ検索部４５ａにおいて、ＮＡＴ／ＮＡＰＴ検索テーブル１４１は、ＮＡＴ／ＮＡＰＴ有りとされたＩＰパケットに対応する付け替え後のＩＰアドレスやポート番号を検出するため、検索条件情報と付け替え後のＩＰアドレスやポート番号を含む処理情報を対応付けた複数のエントリからなるＮＡＴ／ＮＡＰＴ検索情報を記憶する。読出部１４２は、一定の間隔で、ＮＡＴ／ＮＡＰＴ検索テーブル１４１から記憶されている順に１つのエントリのＮＡＴ／ＮＡＰＴ検索情報を読み出し、読み出したＮＡＴ／ＮＡＰＴ検索情報を適合判定部１４３−１〜１４３−Ｎの全てに入力する。
【００９３】
適合判定部１４３−１〜１４３−Ｎは、入力選択部１４０から入力される解析結果情報に含まれるヘッダ情報等が、読出部１４２から入力されるＮＡＴ／ＮＡＰＴ検索情報の検索条件情報と一致するか否かを判定し、一致すると判定した場合、一致したＮＡＴ／ＮＡＰＴ検索情報に含まれるエントリ番号と処理情報とを内部の記憶領域に記録する適合判定処理を行う。このとき、既にエントリ番号及び処理情報を記録している場合には、新たに記録する処理情報のエントリ番号が既に記録している処理情報のエントリ番号よりも上位の場合に限って、上書きして記録する。また、適合判定部１４３−１〜１４３−Ｎは、ある１つの解析結果情報と全てのＮＡＴ／ＮＡＰＴ検索情報との判定が終了すると、内部の記憶領域に記録されている処理情報を読み出し、読み出した処理情報とパーサ部３０から入力された解析結果情報と付加情報とを内部の記憶領域に記録し、経路検索部４６ａの対応する適合判定部１４６−１〜１４６−Ｎに記録した解析結果情報と付加情報と処理情報とを入力する。
【００９４】
経路検索部４６ａにおいて、経路検索テーブル１４４は、ＩＰパケットごとの送信先論理インタフェース等の送信先に関連する情報を検出するため、検索条件情報と送信先に関連する情報を含む処理情報とを対応付けた経路検索情報を記憶する。読出部１４５は、一定の間隔で、経路検索テーブル１４４から記憶されている順に１つのエントリの経路検索情報を読み出し、読み出した経路検索情報を適合判定部１４６−１〜１４６−Ｎの全てに入力する。適合判定部１４６−１〜１４６−Ｎは、ＮＡＴ／ＮＡＰＴ検索部４５ａの適合判定部１４３−１〜１４３−Ｎに一対一に対応付けられて接続され、適合判定部１４３−１〜１４３−Ｎから入力される情報と、読出部１４５から入力される情報に基づいて適合判定部１４３−１〜１４３−Ｎと同様の適合判定処理を行い、解析結果情報と付加情報と適合判定部１４３−１〜１４３−Ｎ及び適合判定部１４６−１〜１４６−Ｎが検出した処理情報とを対応するフィルタ・分類検索部４２ａの適合判定部１４９−１〜１４９−Ｎに入力する。
【００９５】
フィルタ・分類検索部４２ａにおいて、フィルタ・分類検索テーブル１４７は、第１実施形態におけるフィルタ・分類検索テーブル４４と同じデータ構成のフィルタ分類検索情報を記憶している。読出部１４８は、一定の間隔でフィルタ・分類検索テーブル１４７から記憶されている順に１つのエントリのフィルタ分類検索情報を読み出し、読み出したフィルタ分類検索情報を適合判定部１４９−１〜１４９−Ｎの全てに入力する。
【００９６】
適合判定部１４９−１〜１４９−２は、経路検索部４６ａの適合判定部１４６−１〜１４６−Ｎに一対一に対応付けて接続され、適合判定部１４６−１〜１４６−Ｎから入力される情報と、読出部１４８から入力される情報に基づいて適合判定部１４３−１〜１４３−Ｎ及び適合判定部１４６−１〜１４６−Ｎと同様の適合判定処理を行い、解析結果情報と付加情報と対応する適合判定部１４３−１〜１４３−Ｎ及び適合判定部１４６−１〜１４６−Ｎ並びに適合判定部１４９−１〜１４９−Ｎが検出した処理情報とを出力する。
【００９７】
出力選択部１５０は、適合判定部１４９−１〜１４９−Ｎのいずれか１つから出力される解析結果情報と付加情報と適合判定部１４３−１〜１４３−Ｎ及び適合判定部１４６−１〜１４６−Ｎ並びに適合判定部１４９−１〜１４９−Ｎが検出した処理情報とを受けて、判定部５７に入力する。
【００９８】
次に、第２実施形態に係るフラグメント追跡部５０ａにおいて、フラグメント追跡検索テーブル５３、判定削除部５２、削除保留タイマ５４、記録経過タイマ５６の構成は第１実施形態と同じであるため同じ符号を付し、第１実施形態に係るフラグメント追跡部５０とは異なる構成である、判定部５７、検出部５１ａ、登録管理部５５ａについて以下に説明する。
【００９９】
判定部５７は、出力選択部１５０から解析結果情報と付加情報と適合判定部１４３−１〜１４３−Ｎ及び適合判定部１４６−１〜１４６−Ｎ並びに適合判定部１４９−１〜１４９−Ｎが検出した処理情報が入力され、入力される解析結果情報に基づいて、解析結果情報に対応するＩＰパケットが、フラグメント処理されているＩＰパケットか否かを判定する。また、判定部５７は、入力される解析結果情報に基づいて、解析結果情報に対応するＩＰパケットがフラグメントＩＰパケットであると判定した場合、さらに、当該フラグメントＩＰパケットが先頭フラグメントＩＰパケットであるか否かを判定する。
【０１００】
登録管理部５５ａは、判定部５７が、解析結果情報に対応するＩＰパケットが先頭フラグメントＩＰパケットであると判定した場合、判定部５７から入力される解析結果情報からパケット識別情報を抽出し、抽出したパケット識別情報をフラグメント追跡検索情報の「フラグメント追跡条件」に記録し、記録した「フラグメント追跡条件」に対応する「フラグメント追跡結果」に判定部５７から入力される処理情報を記録する。また、登録管理部５５ａは、フラグメント追跡検索テーブル５３に新たなフラグメント追跡検索情報を記録する際に、記録するエントリに対応する記録経過タイマ５６を起動する。
【０１０１】
検出部５１ａは、判定部５７が、解析結果情報に対応するＩＰパケットが非先頭フラグメントＩＰパケットであると判定した場合、判定部５７から入力される解析結果情報からパケット識別情報を抽出し、パケット識別情報を含むフラグメント追跡検索情報をフラグメント追跡検索テーブル５３ａのフラグメント追跡検索情報から検出し、検出したフラグメント追跡検索情報に含まれるフラグメント追跡結果情報を読み出して出力する。また、検出部５１ａは、フラグメント追跡検索情報を検出した際に、入力される解析結果情報と、検出したフラグメント追跡検索情報のエントリ番号を判定・削除部５２に入力する。
【０１０２】
次に、図１２を参照しつつ第２実施形態における検索部４０ａの動作について説明する。まず、最初にパーサ部３０が解析結果情報と付加情報を入力選択部１４０に入力すると、入力選択部１４０は、入力される解析結果情報と付加情報とをＮＡＴ／ＮＡＰＴ検索部４５ａの適合判定部１４３−１に入力する。また、ＮＡＴ／ＮＡＰＴ検索部４５ａの読出部１４２は、ＮＡＴ／ＮＡＰＴ検索テーブル１４１から最初のエントリのＮＡＴ／ＮＡＰＴ検索情報を読み出し、読み出したＮＡＴ／ＮＡＰＴ検索情報を適合判定部１４３−１〜１４３−Ｎの全てに入力する。そして、それぞれの適合判定部１４３−１〜１４３−Ｎにおいて上記の適合判定処理が行われるが、適合判定部１４３−１以外の適合判定部１４３−２〜１４３−Ｎには解析結果情報が入力されていないため、判定する対象が存在しないことになる。適合判定部１４３−１は、適合判定を行い、解析結果情報に含まれるヘッダ情報等が検索条件情報に一致した場合、最初のエントリを示すエントリ番号、例えば「１」を内部の記憶領域に記憶する。一方、一致しない場合には、エントリ番号の記録を行わない。
【０１０３】
次に、入力選択部１４０は、パーサ部３０から入力されている次の解析結果情報と付加情報とを適合判定部１４３−２に入力する。また、読出部１４２は、ＮＡＴ／ＮＡＰＴ検索テーブル１４１からエントリ番号が２番のフィルタ分類検索情報を読み出し、読み出したフィルタ分類検索情報を適合判定部１４３−１〜１４３−Ｎの全てに入力する。適合判定部１４３−１は、１つ前の入力のタイミングで入力された解析結果情報を記憶しており、当該解析結果情報と次のエントリ番号、例えば「２」に対応するＮＡＴ／ＮＡＰＴ検索情報との適合判定を行う。適合判定部１４３−２は、入力選択部１４０から入力された解析結果情報とエントリ番号が「２」のＮＡＴ／ＮＡＰＴ検索情報との適合判定処理を行う。
【０１０４】
１つの解析結果情報と全てのＮＡＴ／ＮＡＰＴ検索情報との適合判定処理が終了するまで上記の処理が繰り替えし行われ、最初に適合判定処理が終了する適合判定部１４３−１は、全てのＮＡＴ／ＮＡＰＴ検索情報に基づいて最終的に内部の記憶領域に記録しているエントリ番号に対応する処理情報をＮＡＴ／ＮＡＰＴ検索テーブル１４１から読み出し、読み出した処理情報と解析結果情報と付加情報とを、経路検索部４６ａの適合判定部１４６−１に出力する。
【０１０５】
上記の適合判定処理が、経路検索部４６ａ及びフィルタ・分類検索部４２ａにおいても同様に行われることで、あるＩＰパケットの検索処理中に、後続ＩＰパケットの検索を開始する並列検索処理を行うことが可能となる。
【０１０６】
次に、図１３を参照して第２実施形態に係るフラグメント追跡部５０ａの動作について説明する。最初に、出力選択部１５０がフラグメント追跡部５０ａの判定部５７に解析結果情報と付加情報と適合判定部１４３−１〜１４３−Ｎ及び適合判定部１４６−１〜１４６−Ｎ並びに適合判定部１４９−１〜１４９−Ｎが検出した処理情報とを入力する（ステップＳｆ１）。判定部５７は、入力される解析結果情報に含まれるフラグメント解析情報に基づいて、フラグメントＩＰパケットか否かを判定する（ステップＳｆ２）。判定部５７は、解析結果情報に対応するＩＰパケットがフラグメントＩＰパケットでないと判定した場合、処理情報と付加情報とをＣＰＵ転送判定部６１に出力する（ステップＳｆ６）。
【０１０７】
一方、判定部５７は、解析結果情報に対応するＩＰパケットがフラグメントＩＰパケットであると判定した場合、次に、解析結果情報に含まれるフラグメント解析情報に基づいて、フラグメントＩＰパケットが先頭フラグメントＩＰパケットであるか否かを判定する（ステップｆ３）。判定部５７が、フラグメントＩＰパケットが先頭フラグメントＩＰパケットであると判定した場合、処理情報に含まれるフラグメント追跡フラグが「ＯＮ」であるか否かを判定する（ステップＳｆ４）。フラグメント追跡フラグが「ＯＮ」でない場合、判定部５７は、処理情報と解析結果情報を登録管理部５５ａに入力するとともに、処理情報と付加情報とをＣＰＵ転送判定部６１に出力する（ステップＳｆ６）。一方、フラグメント追跡フラグが「ＯＮ」の場合、判定部５７は、処理情報と解析結果情報とを登録管理部５５ａに入力し、ステップＳｆ６の処理を行う。登録管理部５５ａは、入力される解析結果情報からパケット識別情報を抽出し、抽出したパケット識別情報をフラグメント追跡検索情報の「フラグメント追跡条件」に記録し、記録した「フラグメント追跡条件」に対応する「フラグメント追跡結果」に入力された処理情報を記録する。このとき、登録管理部５５は、新たに記録したフラグメント追跡検索情報のエントリ番号に対応する記録経過タイマ５６を起動する（ステップＳｆ５）。
【０１０８】
一方、ステップＳｆ３において、判定部５７が、フラグメントＩＰパケットが先頭フラグメントＩＰパケットでないと判定した場合、判定部５７は、解析結果情報と処理情報と付加情報とを検出部５１ａに入力する。検出部５１ａは、入力される解析結果情報に含まれるヘッダ情報からフラグメントＩＰパケットを識別するためのパケット識別情報を抽出し、抽出したパケット識別情報に基づいてフラグメント追跡検索テーブル５３のフラグメント追跡検索情報を検索する。そして、検索により、抽出したパケット識別情報に一致するパケット識別情報がフラグメント追跡検索情報から検出するか否かを判定する（ステップＳｆ７）。検索部５１ａは、一致するパケット識別情報を含むフラグメント追跡検索情報を検出できなかった場合、ステップＳｆ６に進む。一方、検出部５１ａは、一致するパケット識別情報を含むフラグメント追跡検索情報を検出した場合、フラグメント追跡検索テーブル５３から当該パケット識別情報に対応するフラグメント追跡結果情報を読み出す（ステップＳｆ８）。そして、検出部５１は、読み出したフラグメント追跡結果情報と付加情報とをＣＰＵ転送判定部６１に出力する（ステップＳｆ９）。
【０１０９】
上記の第２実施形態に係るフラグメント追跡処理では、フィルタ・分類検索部４２ａが受信する全てのＩＰパケットに対して複数の適合判定部により並列にフィルタ・分類検索の処理を行う。そして、フラグメント追跡検索部が、受信したＩＰパケットが先頭フラグメントＩＰパケットの場合、先頭フラグメントＩＰパケットに基づいて検索された処理情報を、同じＩＰパケットから分割されたフラグメントＩＰパケットを特定するパケット識別情報とともにフラグメント追跡検索テーブル５３に記録しておく構成とした。これにより、第１実施形態と同じく、非先頭フラグメントＩＰパケットを受信した場合に、データを再構築することなく先頭フラグメントＩＰパケットに対して行った処理と同じ処理を非先頭フラグメントＩＰパケットに対して適用することが可能となる。
【０１１０】
ところで、第１実施形態では、非先頭フラグメントＩＰパケットに対して先頭フラグメントＩＰパケットと同じ処理を適用させるためには、先頭フラグメントＩＰパケットに基づいてフラグメント追跡検索テーブル５３に処理情報が記録されるまでの間、非先頭フラグメントＩＰパケットをバッファリングさせる等の対処を行う必要がある。また、フラグメント追跡検索テーブル５３から非先頭フラグメントＩＰパケットに対応する処理情報が検出されない場合、フィルタ・分類検索部４２に処理情報を検出させる処理をさせることになり、フィルタ・分類検索部４２において受信ＩＰパケットの判定処理の工程数が多くなる。
【０１１１】
上述した第２実施形態では、全ての受信したＩＰパケットに対してフィルタ・分類検索部４２ａによる処理が行われるため、非先頭フラグメントＩＰパケットについては、フラグメント追跡検索テーブル５３から処理情報が検出できた場合は、検出した処理情報を適用し、検出できない場合にはフィルタ・分類検索部４２ａが検出した処理情報を適用する構成となり受信ＩＰパケットの判定処理の工程数を第１実施形態より軽減することができる。また、フィルタ・分類検索部４２ａにおいて複数の適合判定部４５−１〜４５−Ｎにより並列して行うことができるため、あるＩＰパケットの検索処理中に、後続ＩＰパケットの検索を開始することができるため、先頭フラグメントＩＰパケットを最初に受信する場合、後続する非先頭フラグメントＩＰパケットをバッファリングさせる等の対処を行う必要なくフラグメント追跡処理を行うことが可能となる。
【０１１２】
なお、第２実施形態において、記録経過タイマ５６、判定・削除部５２及び削除保留タイマ５４の動作は、第１実施形態と同じ動作を行うこととなる。
【０１１３】
また、上記の第２実施形態の構成において、ＮＡＴ／ＮＡＰＴ検索部４５ａ及び経路検索部４６ａは、フィルタ・分類検索部４２ａの出力に接続し、フィルタ・分類検索処理の後に、ＮＡＴ／ＮＡＰＴ検索処理及び経路検索処理を行うようにしてもよい。また、フィルタ・分類検索部４２ａの構成も、フィルタ・分類検索テーブル１４７を、フィルタ検索に関する情報と、分類検索に関する情報に分け、それぞれが独立して検索処理を行うように構成してもよい。
【０１１４】
また、上述した、第１及び第２実施形態において、エントリ番号とは、情報を記憶するテーブルのエントリを特定するための値、すなわちポインタのようなものであり、当該テーブルがメモリに割り当てられる場合には、エントリごとの先頭のメモリのアドレスがエントリ番号であってもよい。
【０１１５】
なお、本発明の接続部は、ＷＡＮ用ＭＡＣＩ／Ｆ１１あるいはＬＡＮ用ＭＡＣＩ／Ｆ１２に対応する。また、本発明の記録手段は、登録管理部５５に対応し、第１の検出手段は、検出部４３及び適合判定部１４９−１〜１４９−Ｎに対応し、検出手段及び第２の検出手段は、検出部５１及び検出部５１ａに対応する。また、本発明の分類検索情報は、フィルタ・分類検索情報に対応し、追跡検索記憶手段は、フラグメント追跡検索テーブル５３に対応する。また、本発明の第１の判定手段は、判定部４１、第２の判定手段は、判定部５７に対応し、第３の判定手段及び削除手段は、判定・削除部５２に対応する。また、本発明の第１のタイマは、記録経過タイマ５６に対応し、第２のタイマは、削除保留タイマ５４に対応する。また、本発明のパケット処理手段は、検索部４０及び４０ａから出力される情報を処理するＣＰＵ転送判定部６１及びキュー選択部６２、ＱｏＳ部７０等に対応する。
【図面の簡単な説明】
【０１１６】
【図１】第１実施形態に係る通信処理回路の内部構成を示すブロック図である。
【図２】第１実施形態に係る検索部の内部構成を示すブロック図である。
【図３】第１実施形態に係るフィルタ・分類検索テーブルのデータ構成を示した図である。
【図４】第１実施形態に係るフラグメント追跡検索テーブルのデータ構成を示した図である。
【図５】第１実施形態に係るフラグメント追跡処理を示したフローチャートである。
【図６】第１実施形態に係る閾値時間経過時におけるフラグメント追跡検索テーブルの削除処理を示したフローチャートである。
【図７】第１実施形態に係る最大計測時間経過時におけるフラグメント追跡検索テーブルの削除処理を示したフローチャートである。
【図８】第１実施形態に係るフラグメント追跡検索テーブルの削除処理を説明するための図である。
【図９】第１実施形態に係る最後尾フラグメントＩＰパケット受信時のフラグメント追跡検索テーブルにおける削除保留処理を示したフローチャートである。
【図１０】第１実施形態に係る最後尾フラグメントＩＰパケット受信時の削除保留タイマ満了時のフラグメント追跡検索テーブルにおける削除処理を示したフローチャートである。
【図１１】第１実施形態に係る最後尾フラグメントＩＰパケット受信時のフラグメント追跡検索テーブルの削除処理を説明するための図である。
【図１２】第２実施形態における検索部の内部構成を示したブロック図である。
【図１３】第２実施形態に係るフラグメント追跡処理を示したフローチャートである。
【符号の説明】
【０１１７】
４０  検索部
４１  判定部
５０  フラグメント追跡部
５１  検出部
５２  判定・削除部
５３  フラグメント追跡検索テーブル
５４  削除保留タイマ
５５  登録管理部
５６  記録経過タイマ
４２  フィルタ・分類検索部
４３  検出部
４４  フィルタ・分類検索テーブル
【図１】
2007124117.tif 000003
【図２】
2007124117.tif 000004
【図３】
2007124117.tif 000005
【図４】
2007124117.tif 000006
【図５】
2007124117.tif 000007
【図６】
2007124117.tif 000008
【図７】
2007124117.tif 000009
【図８】
2007124117.tif 000010
【図９】
2007124117.tif 000011
【図１０】
2007124117.tif 000012
【図１１】
2007124117.tif 000013
【図１２】
2007124117.tif 000014
【図１３】
2007124117.tif 000015