(57)【要約】【課題】データ転送装置における特定パケットの処理結果、廃棄結果を外部から追跡できるようにする。【解決手段】ヘッダを有するデータを受信し、ヘッダに格納された情報に基づいて受信したデータを、複数設けられた処理ブロック２〜６により、送信先の決定、廃棄処理、優先送信処理を行うデータ転送装置２０において、データ転送装置２０内の各処理ブロック２〜６の処理結果を記憶するメモリ２１を設け、追跡したいデータに対してのみフラグを付し、フラグの付されたデータの処理結果のみをメモリ２１に記憶しておき、フラグの付されたデータに対してのみ、処理終了後に処理結果を強制的に装置外部に出力させて処理結果を検索できるようにしたデータ転送装置である。【選択図】図４
2008136081.tif 000002
【特許請求の範囲】
【請求項１】
ヘッダを有するデータを受信ポートから受信する受信部と、
前記ヘッダに格納された情報を用いて、複数の送信ポートから前記データを転送するための一の送信ポートを決定するルーティング部と、
前記情報を用いて、前記データを廃棄するか否かの判断を行い、データの廃棄を行うフィルタリング処理部と、
前記フィルタリング処理部における処理結果を保持する処理結果記憶部と、
前記フィルタリング処理部において廃棄されなかったデータに、前記処理結果を処理結果データとして付加して前記送信ポートに出力する出力処理部とを有することを特徴とするデータ転送装置。
【請求項２】
ヘッダを有するデータを受信ポートから受信する受信処理部と、
前記ヘッダに格納された送信元アドレスと送信先アドレスを用いて、複数の送信ポートから前記データを転送するための一の送信ポートを決定するルーティング処理部と、
前記決定された送信ポートに基づいて、前記データを廃棄するか否かの判断を行い、データの廃棄を行うフィルタリング処理部と、
前記フィルタリング処理部において廃棄されなかったデータを送信キューに格納するキューイング処理部と、
前記各処理部のいずれかにおける処理結果を保持する処理結果記憶部と、
前記送信キューに格納されたデータに、前記処理結果を処理結果データとして付加して前記送信ポートに出力する出力処理部とを有することを特徴とするデータ転送装置。
【請求項３】
前記受信処理部は、前記データに、前記処理結果記憶部において前記処理結果を保持するための開始アドレスであるシーケンス番号を割り当てることを特徴とする請求項２記載のデータ転送装置。
【請求項４】
前記処理結果記憶部は、前記出力処理部に前記処理結果を処理結果データとして前記データに付加して出力させることを表示するバリッドビットを、前記処理結果とともに保持することを特徴とする請求項２記載のデータ転送装置。
【請求項５】
前記処理結果記憶部は、前記処理結果が保持されている期間有効となるユーズドビットを、前記処理結果とともに保持することを特徴とする請求項２記載のデータ転送装置。
【請求項６】
前記ユーズドビットは、前記処理結果に対応するデータが前記フィルタリング処理部において廃棄された場合に無効となることを特徴とする請求項５記載のデータ転送装置。
【請求項７】
ヘッダを有するデータを受信ポートから受信するステップと、
前記ヘッダに格納された情報を用いて、複数の送信ポートから前記データを転送するための一の送信ポートを決定するステップと、
前記情報を用いて、前記データを廃棄するか否かの判断を行い、データの廃棄を行うステップと、
前記データの廃棄を行うステップにおいて廃棄されなかったデータを送信キューに格納するキューイング処理部と、
前記ステップのいずれかにおける処理結果を保持するステップと、
前記処理結果を処理結果データとして出力するステップと、
前記送信キューに格納されたデータに前記処理結果データを付加するステップと、
前記処理結果データを付加されたデータを前記送信ポートに出力するステップとを有することを特徴とするデータ転送方法。
【請求項８】
ヘッダを有するデータを受信ポートから受信するステップと、
前記ヘッダに格納された送信元アドレスと送信先アドレスを用いて、複数の送信ポートから前記データを転送するための一の送信ポートを決定するステップと、
前記決定された送信ポートに基づいて、前記データを廃棄するか否かの判断を行い、データの廃棄を行うステップと、
前記データの廃棄を行うステップにおいて廃棄されなかったデータを送信キューに格納するキューイング処理部と、
前記ステップのいずれかにおける処理結果を保持するステップと、
前記処理結果を処理結果データとして出力するステップと、
前記送信キューに格納されたデータに前記処理結果データを付加するステップと、
前記処理結果データを付加されたデータを前記送信ポートに出力するステップとを有することを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ転送装置およびデータ転送方法に関し、特に、パケット単位で受信したデータを解析し、解析結果からそのデータの送信先の設定、或いは送信可否の判定を行うデータ転送装置において、データ転送装置内における所望のパケットの処理結果を外部から入手することができるデータ転送装置およびデータ転送方法に関する。
【背景技術】
【０００２】
従来、１つのデータ転送装置から他のデータ転送装置に、データをパケット単位で転送することが行われている。このようなデータ転送装置は、パケット処理装置と呼ばれることもある。データ転送装置には複数の入力ポート（受信ポート）があり、受信したパケットの内容に応じた複数の処理を、装置内に複数個設けられた処理ブロックで実行し、全ての処理ブロックでの処理が完了したパケットを、複数の出力ポート（送信ポート）から他のデータ転送装置に送出するように構成されている（特許文献１の図１参照）。
【０００３】
特許文献１に記載のパケット処理装置には、各処理ブロックの他に、処理結果格納手段である多ポートメモリが設けられており、各処理ブロックのパケットの処理結果は、この多ポートメモリに格納されるようになっている。そして、処理が完了した次の処理ブロックは、パケットの処理を行う際に、この多ポートメモリに格納されたパケットの処理結果を読み出して参照してパケットの処理を行っている。
【０００４】
パケット処理装置のようなデータ転送装置に内蔵される複数の処理ブロックとしては、例えば、受信処理を行う受信処理ブロック、パケットの宛先を決めるルーティング処理ブロック、パケットの装置外への送出の可否を判断するフィルタリング処理ブロック、パケットの送出の優先順位を判断するキューイング処理ブロック、及び出力処理ブロックがある。
【０００５】
各処理ブロックでは、統計情報（処理したパケットのカウント値）やエラー情報（エラーパケットのカウント値）は、各処理ブロックに設けられた統計部或いはバッファメモリを使用して個々に保持される。したがって、データ転送装置の設定の確認、障害時のデバッグを行う場合には、各処理ブロックの統計部或いはバッファメモリの情報を、データ転送装置の内部、或いは外部に設けられた解析装置により読み出して解析し、この解析装置による解析結果を、運用者が総合的な観点で判断していた。
【０００６】
具体例を挙げると、データ転送装置内の隣接する処理ブロック間で、パケットのカウント値に差がある場合、前方の処理ブロックでのパケットの廃棄、或いは別ブロックへの処理先変更があると運用者が判断していた。
【０００７】
【特許文献１】特開２００２−１６４９２４号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
近年のルータなどのネットワーク製品、及びＬＳＩでは、必要とされる機能の多様化、またその多機能の集約化が進んでいる。一般的なＩＰネットワーク製品としてのデータ転送装置では、宛先検索、フィルタリング、優先制御などの多岐にわたる処理が行われており、それらの設定パラメータも多数存在する。設定の正当性確認はデータ転送装置内の統計情報やエラー情報等で行われるが、各処理ブロックで情報が独立している為、特定のパケットの処理結果を追跡しようとすると、そのトレースが困難であるという問題点があった。
【０００９】
例えば、前述のパケットの廃棄は、各処理ブロックのどのブロックででも行われるが、特定のパケットがどのブロックで廃棄されたのかを知ることは、各処理ブロックの統計部或いはバッファメモリを参照しても分からないという問題点があった。各処理ブロックの統計部のカウンタの値を全てクリアし、目的のパケットデータのみをデータ転送装置に入力すれば、このパケットデータが処理されて出力されたのか、どこかのブロックで廃棄されたのかが判明するが、データ転送装置の運用中にはこのような確認動作を行うことができず、現実的な方法ではない。
【００１０】
また、前述の問題点の他の対策として、個々のパケットの処理データを全て各処理ブロックの統計部或いはバッファメモリに記憶させる方法、或いは特許文献１に記載のパケット処理装置のように多ポートメモリを設け、各処理ブロックのパケットの処理結果を、この多ポートメモリに全て格納することもできるが、既存の統計部或いはバッファメモリを、容量の大きな多ポートメモリに置き換えたり、多ポートメモリを追加設置する必要があり、コストアップにつながるという新たな問題点が発生する。
【００１１】
そこで、本発明の目的は、データ転送装置に容量の小さい処理結果メモリを追加して、処理結果を追跡したい特定パケットの処理結果にフラグを与え、フラグを備えた処理結果のみを処理結果メモリに保持し、この特定パケットがデータ転送装置から所定の宛先に向けて出力された時、或いはこの特定パケットがデータ転送装置内で廃棄された時に、この特定パケットの処理結果を、パケットの出力ポート、或いは別の出力ポートからデータ転送装置の外部に出力するようにして、特定パケットの処理結果の追跡を行えるようにしたデータ転送装置及びデータ転送方法を提供することである。
【課題を解決するための手段】
【００１２】
前記目的を達成する本発明のデータ転送装置は、ヘッダを有するデータを受信ポートから受信する受信部と、ヘッダに格納された情報を用いて、複数の送信ポートからデータを転送するための一の送信ポートを決定するルーティング部と、情報を用いて、データを廃棄するか否かの判断を行い、データの廃棄を行うフィルタリング処理部と、フィルタリング処理部における処理結果を保持する処理結果記憶部と、フィルタリング処理部において廃棄されなかったデータに、処理結果を処理結果データとして付加して送信ポートに出力する出力処理部とを有することを特徴としている。
また、前記目的を達成する本発明のデータ転送装置は、ヘッダを有するデータを受信ポートから受信する受信処理部と、ヘッダに格納された送信元アドレスと送信先アドレスを用いて、複数の送信ポートからデータを転送するための一の送信ポートを決定するルーティング処理部と、決定された送信ポートに基づいて、データを廃棄するか否かの判断を行い、データの廃棄を行うフィルタリング処理部と、フィルタリング処理部において廃棄されなかったデータを送信キューに格納するキューイング処理部と、各処理部のいずれかにおける処理結果を保持する処理結果記憶部と、送信キューに格納されたデータに、処理結果を処理結果データとして付加して送信ポートに出力する出力処理部とを有することを特徴としている。
【００１３】
更に、前記目的を達成する本発明のデータ転送方法は、ヘッダを有するデータを受信ポートから受信するステップと、ヘッダに格納された情報を用いて、複数の送信ポートからデータを転送するための一の送信ポートを決定するステップと、情報を用いて、データを廃棄するか否かの判断を行い、データの廃棄を行うステップと、データの廃棄を行うステップにおいて廃棄されなかったデータを送信キューに格納するキューイング処理部と、ステップのいずれかにおける処理結果を保持するステップと、処理結果を処理結果データとして出力するステップと、送信キューに格納されたデータに前記処理結果データを付加するステップと、処理結果データを付加されたデータを送信ポートに出力するステップとを有することを特徴としている。
【００１４】
更にまた、前記目的を達成する本発明のデータ転送方法は、ヘッダを有するデータを受信ポートから受信するステップと、ヘッダに格納された送信元アドレスと送信先アドレスを用いて、複数の送信ポートからデータを転送するための一の送信ポートを決定するステップと、決定された送信ポートに基づいて、データを廃棄するか否かの判断を行い、データの廃棄を行うステップと、データの廃棄を行うステップにおいて廃棄されなかったデータを送信キューに格納するキューイング処理部と、ステップのいずれかにおける処理結果を保持するステップと、処理結果を処理結果データとして出力するステップと、送信キューに格納されたデータに処理結果データを付加するステップと、処理結果データを付加されたデータを送信ポートに出力するステップとを有することを特徴としている。
【発明の効果】
【００１５】
本発明では、データ転送装置に容量の小さい処理結果メモリを追加するだけで、処理結果を追跡したい特定パケットが、処理されたか、廃棄されたかの処理結果が通常のパケットの出力ポート、或いは別のポートからデータ転送装置の外部に出力されるので、処理結果出力側ポートにパケットキャプチャ装置を接続しておくことで、特定パケットのフロー解析が可能となり、コストをかけずに特定パケットの処理結果の追跡が可能となる。即ち、データ転送装置の、通常の運用を阻害することなく、特定パケットの調査が可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を用いて本発明の実施の形態を、具体的な実施例に基づいて詳細に説明するが、本発明を説明する前に、図１（ａ）から図１（ｃ）を用いて、従来のデータ転送装置における問題点を詳細に説明する。
【００１７】
図１（ａ）は、従来のデータ転送装置１０の構成を示すブロック図である。この例のデータ転送装置１０はパケット処理装置であり、ソースから入力ポート（受信ポートとも呼ばれる）１に入力されたパケットデータＰＤを、受信処理ブロック２、ルーティング処理ブロック３、フィルタリング処理ブロック４、キューイング処理ブロック５、および出力処理ブロック６で処理し、出力ポート（送信ポートとも呼ばれる）７から所定の送信先であるデスティネーションに振り分けて送信する。図１（ｂ）は、図１（ａ）のデータ転送装置１０に入力されるパケットデータＰＤの形式を示すものである。パケットデータＰＤには、ヘッダ部Ｈとデータ部Ｄがあり、ヘッダ部Ｈにはソースとデスティネーションを示す情報が格納されている。
【００１８】
受信処理ブロック２では受信したパケットデータＰＤの受信処理を行い、ルーティング処理ブロック３では、パケットの宛先を決める。また、フィルタリング処理ブロック４ではパケットデータＰＤの装置外への送出の可否が判断され、キューイング処理ブロック５ではパケットデータＰＤの送出の優先順位が判断され、出力処理ブロック６ではパケットデータＰＤの出力処理が行われる。各処理ブロック２〜６では、統計情報（処理したパケットデータＰＤの数のカウント値）やエラー情報（エラーのあるパケットデータの数のカウント値）は、各処理ブロック２〜６にそれぞれ設けられた統計部２Ａ〜６Ａに一時的に格納される。なお、統計部２Ａ〜６Ａの代わりに、図１（ｃ）に示すようなバッファメモリ２Ｂ（各処理ブロック２〜６にそれぞれバッファメモリ２Ｂ〜６Ｂが設けられるが、図１（ｃ）には代表として受信処理ブロック２のみを示した）が設けられることもある。
【００１９】
以上のように構成された従来のデータ転送装置１０において、設定の確認、障害時のデバッグを行う場合には、各処理ブロック２〜６の統計部２Ａ〜６Ａに記憶された情報を、データ転送装置１０の内部、或いは外部に解析装置８を接続して読み出すことによって行っていた。解析装置８は、統計部２Ａ〜６Ａから、各処理ブロック２〜６におけるパケットデータの処理数のカウント値を読み出すことができる。
【００２０】
そして、データ転送装置１０の運用者は、解析装置８によって統計部２Ａ〜６Ａから読み出したデータを見て、データ転送装置１０内の隣接する処理ブロック間で、処理されたパケットデータのカウント値に差がある場合、前方の処理ブロックでのパケットデータの廃棄、或いは別ブロックへの処理先変更があると判断していた。
【００２１】
ところが、従来のデータ転送装置１０においては、統計部２Ａ〜６Ａが記憶するのはパケットデータを処理したカウント値であるので、特定のパケットデータの処理結果を追跡しようとすると、そのトレースが困難であるという問題点があった。例えば、前述のパケットの廃棄は、各処理ブロック２〜６のどのブロックにおいても行われるが、特定のパケットデータがどのブロックで廃棄されたのかを知ることは、各処理ブロック２〜６の統計部２Ａ〜６Ａを参照しても分からないという問題点があったのである。
【００２２】
本発明はこの問題点を安価に解消することができるデータ転送装置を提供するものであある。図２（ａ）は本発明の一実施例に係るデータ転送装置２０の構成を示すブロック図を示すものである。なお、本発明のデータ転送装置２０では、先に説明した従来のデータ転送装置１０と同じ構成部材については、同じ符号を付して説明する。
【００２３】
本発明に係るデータ転送装置２０もパケット処理装置であり、ソースから入力ポート１に入力されたパケットデータＰＤは、従来のデータ転送装置１０と同様に、受信処理ブロック２、ルーティング処理ブロック３、フィルタリング処理ブロック４、キューイング処理ブロック５、および出力処理ブロック６で処理され、出力ポート７から所定の送信先であるデスティネーションに振り分けられて送信される。各ブロック２〜６の機能は、従来のデータ転送装置１０とほぼ同じである。
【００２４】
本発明に係るデータ転送装置２０では、これらの構成に加えて更に、受信処理ブロック２、ルーティング処理ブロック３、フィルタリング処理ブロック４、およびキューイング処理ブロック５における処理の結果を記憶するための処理結果メモリ２１を設ける。処理結果メモリ２１に記憶された情報は出力処理ブロック６に送られ、処理されたパケットデータが出力される出力ポート７とは別の第２の出力ポート２２から、処理結果付加出力として出力される。この処理結果付加出力は、第２の出力ポート２２にパケットキャプチャ装置２３を接続することによって確認することができる。
【００２５】
一方、本発明のデータ転送装置２０に入力されるパケットデータの形式は、図２（ｂ）に示すように、従来のデータ転送装置１０に入力されるパケットデータＰＤの形式（図１（ｂ））に備えられたヘッダ部Ｈとデータ部Ｄに加えて、このパケットデータの処理結果を格納することができる処理結果格納部Ｍが設けられている。処理結果格納部Ｍには、処理結果メモリ２１のアドレスであるシーケンス番号、各ブロック２〜６の処理結果が格納される。
【００２６】
図３は、図２（ａ）に示した処理結果メモリ２１の内部にある記憶部２４の構成を示すものである。記憶部２４の中には、アドレス０〜アドレスｎ（ｎは正の整数）までの複数個のアドレスがあり、各アドレスには、フラグを立てるための１ビットのUsed bitおよびValid bitと、受信処理結果、ルーティング処理結果、フィルタリング処理結果、キューイング処理結果、および出力処理結果をそれぞれ記憶するための記憶領域がある。
【００２７】
Used bitは、１つのパケットデータに対してアドレスが使用されると有効（「１」）となり、パケットデータが廃棄と判断されたら無効（「０」）となる。また、このUsed bitは、パケットデータが、付加出力しないパケットと判断された時も無効（「０」）となる。一方、Valid bitは、パケットデータが処理結果を付加して出力されるパケットデータであると判断された時に有効（「１」）となり、パケットデータが処理結果を付加して出力する必要のないパケットデータであると判断されたら無効（「０」）となる。ここで言う有効とはフラグが立っている状態であり、無効はフラグが立っていない状態である。
【００２８】
処理結果メモリ２１には、図４に示すように、前述の記憶部２４に加えて、メモリ制御部２５、書込み（WRITE）部２６、および読出し（READ）部２７がある。また、記憶部２４のアドレスはマトリクス状に配置されている。また、受信処理ブロック２、ルーティング処理ブロック３、フィルタリング処理ブロック４、キューイング処理ブロック５、および出力処理ブロック６にはそれぞれ、各処理を行う処理部２Ｃ〜６Ｃと、処理結果を一時的に記憶する一時メモリ２Ｍ〜６Ｍがある。この構成により、各処理ブロック２〜６は、個々の処理に加えて、処理結果を一時メモリ２Ｍ〜６Ｍに書き込む処理を行う。
【００２９】
ここで、図４を用いて、本発明のデータ転送装置２０の動作を説明する。パケットデータＰＤが受信処理ブロック２に入力されると、受信処理ブロック２では、入力されたパケットデータにシーケンス番号ＳＮを割り当てる。シーケンス番号ＳＮは処理結果メモリ２１の記憶部２４のアドレスであり、未使用の記憶部２４のアドレス（Used bitが無効のアドレス）をメモリ制御部２５が選択して受信処理ブロック２に提供する。アドレスが提供された記憶部２４のアドレスにあるUsed bitは有効になる。
【００３０】
各処理ブロック２〜６では、各処理が終了した後に、パケットデータにアドレスが割り当てられている場合に、一時メモリ２Ｍ〜６Ｍを経由させて処理結果ＲＴを処理結果メモリ２１の書込み部２６に送り、書込み部２６はメモリ制御部２５から提供された記憶部２４のアドレスに、処理結果ＲＴを書き込んでいく。書き込む処理内容はエラーチェック、統計処理等であり、ルーティング処理ブロック３とフィルタリング処理ブロック４ではこれに加えて、検索キー、検索結果を付加する。受信処理ブロック２に入力されたパケットデータＰＤは、従来装置と同様に各処理ブロック２〜６で処理されて出力処理ブロック６の出力ポートからから通常出力として出力されるか、或いは各処理ブロック２〜６の何れかで廃棄処理される。なお、本発明に係るデータ転送装置２０では、パケットデータＰＤは、アドレスが提供された後は、対応するアドレスのUsed bitが有効であるときに、このアドレスＡＤと共に次の段の処理ブロックに移動する。
【００３１】
ところで、本発明に係るデータ転送装置２０では、受信処理ブロック２に入力されたパケットデータＰＤに対しては、とりあえずは処理結果メモリ２１の記憶部２４のアドレスが割り当てられ、アドレスが提供された記憶部２４のアドレスにあるUsed bitは有効になる。一方、受信処理ブロック２に入力されるパケットデータＰＤの中には、各処理ブロック２〜６における処理結果の追跡が不要なものがある。本発明では、受信処理ブロック２に入力されたパケットデータＰＤのうち、処理結果の追跡が不要なものに対しては、そのValid bitを有効（「１」）とし、パケットデータが処理結果を付加して出力する必要のないものに対しては、そのValid bitを無効（「０」）とすると共に、Used bitも無効（「０」）とし、パケットデータに割り当てたアドレスをクリアする。
【００３２】
Valid bitを有効（「１」）にする判断は、各処理ブロック２〜６の何れか１つのブロックで実行され、特定統計情報、エラー情報のカウントアップ等をトリガにすることで選択可能とし、キューイングブロック５までの何れかのブロックのトリガ判定においてパケットデータがトリガ設定非実行となった場合は、この時点でUsed bitを無効にする。Used bitが無効となった処理結果メモリ２１の記憶部２４のアドレスは、受信処理ブロック２に入力される新たなパケットデータに割り当て可能となる。
【００３３】
Valid bitはキューイングブロック５までのどの処理ブロックで有効になるかは分からないので、各処理ブロック２〜５の処理結果ＲＴは、各ブロック２〜５の処理が終わる毎に、一時メモリ２Ｍ〜６Ｍを通じて処理結果メモリ２１の書込み部２６に送出され、記憶部２４の対応するアドレスに書き込まれる。
【００３４】
ところで、各処理ブロック２〜５の処理において、あるパケットデータが廃棄になった場合は、そのパケットデータのValid bitを有効であるか無効であるかによって、その後の処理が異なる。廃棄になったパケットデータのValid bitが無効である場合は、各処理ブロック２〜５の動作は従来装置と同じであり、特に何もしない。
【００３５】
一方、あるブロックにおいて廃棄になったパケットデータのValid bitが有効である場合は、パケットデータを廃棄にしたブロックから、処理結果メモリ２１に対してパケット廃棄時の処理結果出力依頼ＨＲが出力される。このパケット廃棄時の処理結果出力依頼ＨＲは読出し部２７に入力され、読出し部２７は廃棄されたパケットデータの処理結果ＨＯを、記憶部２４から読み出して出力処理ブロック６に送出する。出力処理ブロック６は、廃棄されたパケットデータの処理結果ＨＯを第２の出力ポート２２から強制出力する。第２の出力ポート２２から強制出力するのは、パケットデータの処理結果ＨＯだけでも良いし、処理結果ＨＯが付加されたパケットデータを処理結果付出力として出力しても良い。
【００３６】
また、各処理ブロック２〜５の処理においてパケットデータが廃棄にならず、かつそのパケットデータのValid bitが、出力処理ブロック６から出力された時に有効であった場合は、出力処理ブロック６から処理結果メモリ２１に対してパケット通常出力時の処理結果出力依頼ＮＲが出力される。このパケット通常出力時の処理結果出力依頼ＮＲは読出し部２７に入力され、読出し部２７は通常に出力されたパケットデータの処理結果ＮＯを、記憶部２４から読み出して出力処理ブロック６に送出する。出力処理ブロック６は、通常に出力されたパケットデータの処理結果ＮＯを、第２の出力ポート２２から強制出力する。第２の出力ポート２２から強制出力するのは、パケットデータの処理結果ＮＯだけでも良いし、処理結果ＨＯが付加されたパケットデータを処理結果付出力として出力しても良い。
【００３７】
廃棄されたパケットデータの処理結果ＨＯを、第２の出力ポート２２から強制出力した後、或いは通常に出力されたパケットデータの処理結果ＮＯを、第２の出力ポート２２から強制出力した後は、Valid bitと、Used bitとはクリアする。
【００３８】
ここで、本発明のデータ転送装置２０の動作を、図５から図８に示すフローチャートを用いて詳細に説明する。図５に示すフローチャートは、本発明のデータ転送装置２０の全体の流れを示すものであり、図６〜図８はそれぞれ、図５の処理結果書込み動作、トリガ判定動作、およびパケット廃棄時処理を更に詳細に説明するものである。
【００３９】
まず、図５を用いて本発明のデータ転送装置全体の流れを説明する。パケットデータが受信処理ブロックに入力されると、ステップ５０１でシーケンス番号（処理メモリのアドレス）が割り当てられる。続くステップ５０２ではUsed bitがセットされて有効になり、次のステップ５０３ではパケット処理が行われて処理結果が一時メモリに書き込まれる。ステップ５０４では、Valid bitを有効にするか否かのトリガ判定が行われ、その後、ステップ５０５でパケットデータが廃棄された時の処理が行われる。以上の処理が受信処理ブロックにおける処理である。処理結果の書込処理、トリガ判定、およびパケット廃棄時の処理については後に個々に詳述する。
【００４０】
受信処理ブロックにおける処理が終了すると、パケットデータはルーティング処理ブロックに送られる。ルーティング処理ブロックでは、ステップ５０６において処理結果書込処理が行われ、続くステップ５０７のトリガ判定処理ではValid bitを有効にするか否かの判定が行われ、ステップ５０８ではパケットデータが廃棄された時の処理（パケット廃棄時処理）が行われる。
【００４１】
ルーティング処理ブロックにおける処理が終了すると、パケットデータはフィルタリング処理ブロックに送られる。フィルタリング処理ブロックでは、ステップ５０９において処理結果書込処理が行われ、続くステップ５１０のトリガ判定処理ではValid bitを有効にするか否かの判定が行われ、ステップ５１１ではパケットデータが廃棄された時の処理（パケット廃棄時処理）が行われる。
【００４２】
フィルタリング処理ブロックにおける処理が終了すると、パケットデータはキューイング処理ブロックに送られる。キューイング処理ブロックでは、ステップ５１２において処理結果書込処理が行われ、続くステップ５１３のトリガ判定処理ではValid bitを有効にするか否かの判定が行われ、ステップ５１４ではパケットデータが廃棄された時の処理（パケット廃棄時処理）が行われる。
【００４３】
キューイング処理ブロックにおける処理が終了すると、パケットデータは出力処理ブロックに送られる。出力処理ブロックでは、ステップ５１５において処理結果書込処理が行われ、続くステップ５１６ではValid bitが有効か否かが判定される。Valid bitが無効である場合は、ステップ５１９に進み、処理された通常パケットが出力ポート（第１の出力ポート）から出力されてこのルーチンを終了する。一方、ステップ５１６の判定でValid bitが有効であると判定された場合はステップ５１７に進み、処理結果を第２の出力ポートから強制出力してステップ５１８に進む。ステップ５１８ではValid bitとUsed bit、および対応する処理結果メモリのアドレスに記憶された内容がクリアされる。ステップ５１８が終了した後はステップ５１９に進み、処理された通常パケットが出力ポート（第１の出力ポート）から出力されてこのルーチンを終了する。
【００４４】
次に、ステップ５０３、５０６、５０９およびステップ５１２における処理結果書込処理を示すサブルーチンについて図６を用いて説明する。処理結果書込処理では、ステップ６０１において予め定められているパケットの処理が行われる。パケット処理の内容は書く処理ブロックで異なる。続くステップ６０２ではこのパケットデータのアドレスノUsed bitが有効か否かが判定され、Used bitが無効である場合は何もせずにメインルーチンに戻り、Used bitが有効である場合は、ステップ６０３に進んでステップ６０１におけるパケット処理の結果が、処理結果メモリに書き込まれてメインルーチンに戻る。このように、何れかの処理において、Used bitが無効にされた場合は、処理結果を見る必要がないので、処理結果を処理結果メモリに書き込むことなくサブルーチンを終了する。
【００４５】
次に、ステップ５０４、５０７、５１０およびステップ５１３におけるトリガ判定処理を示すサブルーチンについて図７を用いて説明する。トリガ判定では、ステップ７０１においてトリガ設定が有効か無効かの判定が行われる。トリガ設定は、受信処理ブロックからキューイング処理ブロックの何れか１箇所のブロックで有効になっている。トリガ設定が無効である場合は何もせずにメインルーチンに戻り、トリガ設定が有効である場合はステップ７０２に進む。ステップ７０２におけるトリガ設定が有効である場合はステップ７０２に進み、トリガ設定を実行するか否かの判定、即ち、Valid bitを有効にするか否かの判定が行われる。トリガ設定を実行すると判定された場合はステップ７０３に進み、Valid bitを有効（「１」）にセットしてメインルーチンに戻る。一方、ステップ７０２の判定で、パケットデータに対してトリガ設定非実行と判定された場合はステップ７０４に進み、Used bitがクリア（「０」）されると共にパケットデータのアドレス（シーケンス番号）がクリアされ、処理結果メモリの対応するアドレスのデータがクリアされてメインルーチンに戻る。
【００４６】
最後に、ステップ５０５、５０８、５１１およびステップ５１４におけるパケット廃棄時の処理を示すサブルーチンについて図８を用いて説明する。パケット廃棄時の処理では、ステップ８０１においてパケット廃棄処理か否かが判定される。パケット廃棄処理が行われない場合は何もせずにメインルーチンに戻り、パケット廃棄処理が行われる場合はステップ８０２に進む。ステップ８０２ではValid bitが有効（「１」）か否かが判定される。Valid bitが無効（「０」）の場合は何もせずにメインルーチンに戻り、Valid bitが有効（「１」）の場合はステップ８０３に進む。
【００４７】
ステップ８０３では、出力処理部に対して、処理結果を強制的に出力するように依頼し、続くステップ８０４でパケットデータを廃棄する。この結果、パケットデータは廃棄されて出力ポート７からは出力されないが、廃棄されたという処理結果だけが第２の出力ポート２２から強制的に出力される。次のステップ８０５では、Valid bitのクリア（Valid bitを無効「０」にすること）とUsed bitのクリア（「０」）が実行されると共に、処理結社メモリ２１のこのアドレスのメモリ内容がクリアされる。
【００４８】
なお、以上説明した実施例では、Valid bitが有効であるパケットデータの処理結果を第２の出力ポートから出力するようにしたが、通常の出力ポートから出力するようにしても良い。このとき、パケットデータを内部処理後に、パケットデータの装置内処理結果を出力パケット本体に付加して出力するようにしても良い。
【００４９】
以上説明した実施例における具体的な例を、例えば、以下のような処理結果の場合について説明する。
受信処理ブロック：パケットデータが正常に受信されてカウンタがアップされ、エラーチェックも異常がない。
ルーティング処理ブロック：パケットの種類が識別されると共に、ヘッダの情報に検索キー（送信元アドレス、送信先アドレス）が含まれていることが検出され、検索結果がこのパケットの送信ポートへの送信であり、エラーチェックも異常がない。
フィルタリング処理ブロック：ヘッダの情報に検索キー（送信元アドレス、送信ポート）が含まれていることが検出され、検索結果がこのパケットの廃棄決定であり、エラーチェックも異常がない。
キューイング処理ブロック：データなし
出力処理ブロック：データなし
このような場合、この検索キーがトリガとなるように設定しておけば、ルーティング処理ブロックにおいてValid bitが有効となり、上記処理結果がパケットデータが廃棄されて出力ポートから送出されない場合であっても、フィルタリング処理ブロックの検索結果から、パケットデータがフィルタリング処理ブロックで廃棄されているのが分かる。
【００５０】
以上、本発明を特にその好ましい実施の形態を参照して詳細に説明した。本発明の容易な理解のために、本発明の具体的な形態を以下に付記する。
【００５１】
（付記１）  ヘッダを有するデータを受信ポートから受信する受信部と、
前記ヘッダに格納された情報を用いて、複数の送信ポートから前記データを転送するための一の送信ポートを決定するルーティング部と、
前記情報を用いて、前記データを廃棄するか否かの判断を行い、データの廃棄を行うフィルタリング処理部と、
前記フィルタリング処理部における処理結果を保持する処理結果記憶部と、
前記フィルタリング処理部において廃棄されなかったデータに、前記処理結果を処理結果データとして付加して前記送信ポートに出力する出力処理部とを有することを特徴とするデータ転送装置。
（付記２）  ヘッダを有するデータを受信ポートから受信する受信処理部と、
前記ヘッダに格納された送信元アドレスと送信先アドレスを用いて、複数の送信ポートから前記データを転送するための一の送信ポートを決定するルーティング処理部と、
前記決定された送信ポートに基づいて、前記データを廃棄するか否かの判断を行い、データの廃棄を行うフィルタリング処理部と、
前記フィルタリング処理部において廃棄されなかったデータを送信キューに格納するキューイング処理部と、
前記各処理部のいずれかにおける処理結果を保持する処理結果記憶部と、
前記送信キューに格納されたデータに、前記処理結果を処理結果データとして付加して前記送信ポートに出力する出力処理部とを有することを特徴とするデータ転送装置。
（付記３）  前記受信処理部は、前記データに、前記処理結果記憶部において前記処理結果を保持するための開始アドレスであるシーケンス番号を割り当てることを特徴とする付記２記載のデータ転送装置。
（付記４）  前記処理結果記憶部は、前記出力処理部に前記処理結果を処理結果データとして前記データに付加して出力させることを表示するバリッドビットを、前記処理結果とともに保持することを特徴とする付記２記載のデータ転送装置。
（付記５）  前記処理結果記憶部は、前記処理結果が保持されている期間有効となるユーズドビットを、前記処理結果とともに保持することを特徴とする付記２記載のデータ転送装置。
【００５２】
（付記６）  前記ユーズドビットは、前記処理結果に対応するデータが前記フィルタリング処理部において廃棄された場合に無効となることを特徴とする付記５記載のデータ転送装置。
（付記７）  前記ユーズドビットは、前記送信キューに格納されたデータに処理結果データを付加しない場合に無効となることを特徴とする付記５記載のデータ転送装置。
（付記８）  前記各処理部のいずれかにおいて、前記処理結果を一時保持するための記億手段を有することを特徴とする付記２記載のデータ転送装置。
（付記９）  前記出力処理部は、送信キューに格納されたデータに処理結果データを付加して前記送信ポートに出力するとともに、前記処理結果データを付加しないデータを前記送信ポートとは異なる送信ポートから出力することを特徴とする付記２記載のデータ転送装置。
（付記１０）  ヘッダを有するデータを受信ポートから受信する受信処理部と、
前記ヘッダに格納された送信元アドレスと送信先アドレスを用いて、複数の送信ポートから前記データを転送するための一の送信ポートを決定するルーティング処理部と、
前記決定された送信ポートに基づいて、前記データを廃棄するか否かの判断を行い、データの廃棄を行うフィルタリング処理部と、
前記フィルタリング処理部において廃棄されなかったデータを送信キューに格納するキューイング処理部と、
前記各処理部のいずれかにおける処理結果を保持する処理結果記憶部と、
前記送信キューに格納されたデータに、前記処理結果を処理結果データとして付加して前記送信ポートに出力する出力処理部とを有するデータ転送装置から前記データを受信して解析することを特徴とするネットワーク解析装置。
【００５３】
（付記１１）  ヘッダを有するデータを受信ポートから受信する受信処理部と、
前記ヘッダに格納された送信元アドレスと送信先アドレスを用いて、複数の送信ポートから前記データを転送するための一の送信ポートを決定するルーティング処理部と、
前記決定された送信ポートに基づいて、前記データを廃棄するか否かの判断を行い、データの廃棄を行うフィルタリング処理部と、
前記フィルタリング処理部において廃棄されなかったデータを送信キューに格納するキューイング処理部と、
前記各処理部のいずれかにおける処理結果を保持する処理結果記憶部と、
前記送信キューに格納されたデータに、前記処理結果を処理結果データとして付加して前記送信ポートに出力する出力処理部とを有するデータ転送装置と、
前記データ転送装置に接続された情報処理装置とを有することを特徴とする情報処理システム、
（付記１２）  ヘッダを有するデータを受信ポートから受信するステップと、
前記ヘッダに格納された情報を用いて、複数の送信ポートから前記データを転送するための一の送信ポートを決定するステップと、
前記情報を用いて、前記データを廃棄するか否かの判断を行い、データの廃棄を行うステップと、
前記データの廃棄を行うステップにおいて廃棄されなかったデータを送信キューに格納するキューイング処理部と、
前記ステップのいずれかにおける処理結果を保持するステップと、
前記処理結果を処理結果データとして出力するステップと、
前記送信キューに格納されたデータに前記処理結果データを付加するステップと、
前記処理結果データを付加されたデータを前記送信ポートに出力するステップとを有することを特徴とするデータ転送方法。
（付記１３）  ヘッダを有するデータを受信ポートから受信するステップと、
前記ヘッダに格納された送信元アドレスと送信先アドレスを用いて、複数の送信ポートから前記データを転送するための一の送信ポートを決定するステップと、
前記決定された送信ポートに基づいて、前記データを廃棄するか否かの判断を行い、データの廃棄を行うステップと、
前記データの廃棄を行うステップにおいて廃棄されなかったデータを送信キューに格納するキューイング処理部と、
前記ステップのいずれかにおける処理結果を保持するステップと、
前記処理結果を処理結果データとして出力するステップと、
前記送信キューに格納されたデータに前記処理結果データを付加するステップと、
前記処理結果データを付加されたデータを前記送信ポートに出力するステップとを有することを特徴とするデータ転送方法。
（付記１４）  前記ヘッダを有するデータを受信ポートから受信するステップは、前記データに、前記ステップのいずれかにおける処理結果を保持するステップにおいて、前記処理結果を保持するための開始アドレスであるシーケンス番号を割り当てることを特徴とする付記１３記載のデータ転送方法。
（付記１５）  前記ステップのいずれかにおける処理結果を保持するステップはさらに、前記処理結果を処理結果データとして前記データに付加して出力させるバリッドビットを、前記処理結果とともに保持するステップを有することを特徴とする付記１３記載のデータ転送方法。
【００５４】
（付記１６）  前記ステップのいずれかにおける処理結果を保持するステップはさらに、前記処理結果が保持された場合に有効となるユーズドビットを、前記処理結果とともに保持するステップを有することを特徴とする付記１３記載のデータ転送方法。
（付記１７）  前記データ転送方法はさらに、前記処理結果に対応するデータが前記データの廃棄を行うステップにおいて廃棄された場合に、前記ユーズドビットが無効となるステップを有することを特徴とする付記１６記載のデータ転送方法。
（付記１８）  前記データ転送方法はさらに、前記各ステップの処理を行う処理部における状態に基づき、前記送信キューに格納されたデータに処理結果データを付加しない場合に、前記ユーズドビットが無効となることを特徴とする付記１６記載のデータ転送方法。
（付記１９）  前記処理結果を処理結果データとして出力するステップは、送信キューに格納されたデータに処理結果データを付加して前記送信ポートに出力するとともに、前記処理結果データを付加する前のデータを前記送信ポートとは異なる送信ポートから出力することを特徴とする付記１３記載のデータ転送方法。
（付記２０）  データの転送を行うデータ転送装置の制御プログラムにおいて、
ヘッダを有するデータを受信ポートから受信するステップと、
前記ヘッダに格納された情報を用いて、複数の送信ポートから前記データを転送するための一の送信ポートを決定するステップと、
前記情報から、前記データを廃棄するか否かの判断を行い、データの廃棄を行うステップと、
前記データの廃棄を行うステップにおいて廃棄されなかったデータを送信キューに格納するステップと、
前記各ステップのいずれかにおける処理結果を保持するステップと、
前記送信キューに格納されたデータに、前記処理結果を処理結果データとして付加して前記送信ポートに出力するステップとをデータ転送装置に実行させることを特徴とするデータ転送装置の制御プログラム。
（付記２１）  データの転送を行うデータ転送装置の制御プログラムにおいて、
ヘッダを有するデータを受信ポートから受信するステップと、
前記ヘッダに格納された送信元アドレスと送信先アドレスを用いて、複数の送信ポートから前記データを転送するための一の送信ポートを決定するステップと、
前記決定された送信ポートに基づいて、前記データを廃棄するか否かの判断を行い、データの廃棄を行うステップと、
前記データの廃棄を行うステップにおいて廃棄されなかったデータを送信キューに格納するステップと、
前記各ステップのいずれかにおける処理結果を保持するステップと、
前記送信キューに格納されたデータに、前記処理結果を処理結果データとして付加して前記送信ポートに出力するステップとをデータ転送装置に実行させることを特徴とするデータ転送装置の制御プログラム。
【図面の簡単な説明】
【００５５】
【図１】（ａ）は従来のデータ転送装置の構成を示すブロック図、（ｂ）は（ａ）のデータ転送装置に入力されるパケットの形式を示す構成図、（ｃ）は（ａ）に示したデータ転送装置を構成する処理ブロックに統計情報部の代わりにバッファメモリが設けられた場合の、受信処理装置の構成を示すブロック図である。
【図２】（ａ）は本発明の一実施例に係るデータ転送装置の構成を示すブロック図、（ｂ）は（ａ）のデータ転送装置に入力されるパケットの形式を示す構成図である。
【図３】図２（ａ）に示した処理結果メモリの内部の構成を示す構成図である。
【図４】図３に示した本発明に係るデータ転送装置の動作を説明する説明図である。
【図５】図４に示した本発明に係るデータ転送装置のパケット処理と処理結果の流れを示すフローチャートである。
【図６】図５のフローチャートに示した処理結果書込処理の詳細な手順を示すフローチャートである。
【図７】図５のフローチャートに示したトリガ処理の詳細な手順を示すフローチャートである。
【図８】図５のフローチャートに示したパケット廃棄時の処理の詳細な手順を示すフローチャートである。
【符号の説明】
【００５６】
１    入力ポート
２    受信処理ブロック
３    ルーティング処理ブロック
４    フィルタリング処理ブロック
５    キューイング処理ブロック
６    出力処理ブロック
７    出力ポート、
２０    本発明のデータ転送装置
２１    処理結果メモリ
２２    第２の出力ポート
【図１】
2008136081.tif 000003
【図２】
2008136081.tif 000004
【図３】
2008136081.tif 000005
【図４】
2008136081.tif 000006
【図５】
2008136081.tif 000007
【図６】
2008136081.tif 000008
【図７】
2008136081.tif 000009
【図８】
2008136081.tif 000010