(57)【特許請求の範囲】
【請求項１】
受信パケットのヘッダに応じて新たにヘッダを生成し、受信パケットに前記新たなヘッダを搭載して送信パケットとして出力するパケット処理回路において、
受信パケットを格納するパケット格納部と、
前記パケット格納部に格納した受信パケットのヘッダから、送信すべきパケットを判定するためのヘッダ抽出情報を抽出して生成するヘッダ抽出情報生成部と、
前記ヘッダ抽出情報と比較して識別するための比較情報を生成する比較情報生成部と、
前記ヘッダ抽出情報と前記比較情報とを比較し比較結果情報を出力する情報比較部と、
前記比較結果情報に応じ送信すべきパケットを判定し、前記新たなヘッダを前記パケット格納部に出力するパケット判定部とを備え、
前記パケット格納部は、格納した受信パケットに前記パケット判定部により出力された前記新たなヘッダを搭載して送信パケットとして出力し、
前記比較結果情報は、前記ヘッダ抽出情報と前記比較情報との一致・不一致を示す一致比較結果信号並びに前記ヘッダ抽出情報と前記比較情報とを連続して比較した結果を示す連続比較結果信号を含み、
前記情報比較部は、前記ヘッダ抽出情報と前記比較情報とを比較し前記一致比較結果信号を生成する一致比較部並びに前回出力した前記連続比較結果信号と前記一致比較部が今回生成する前記一致比較結果信号とに応じ今回出力する前記連続比較結果信号を生成する連続比較部を備えていることを特徴とするパケット処理回路。
【請求項２】
前記パケット判定部は、
前記ヘッダ抽出情報生成部に生成する前記ヘッダ抽出情報を指示するためのヘッダ抽出情報指示信号と、生成する前記比較情報を前記比較情報生成部に指示するための比較情報指示信号とを生成し、
今回生成した前記ヘッダ抽出情報指示信号と前記比較情報指示信号と前記情報比較部が今回出力した前記比較結果情報とに応じ、次回生成する前記ヘッダ抽出情報指示信号と前記比較情報指示信号とを決定することを特徴とする請求項１に記載のパケット処理回路。
【請求項３】
前記比較結果情報は、前記ヘッダ抽出情報と前記比較情報との大小関係を示す大小比較結果信号をさらに含み、
前記情報比較部は、前記ヘッダ抽出情報と前記比較情報とを比較し前記大小比較結果信号を生成する大小比較部をさらに備えることを特徴とする請求項１又は２に記載のパケット処理回路。
【請求項４】
前記連続比較結果信号は、前記ヘッダ抽出情報と前記比較情報とが連続
して一致しているときに前記連続比較部から出力される連続一致データを含み、
前記連続比較部は、前回出力した前記連続比較結果信号が連続一致データを含み、かつ前記一致比較部が今回生成する前記一致比較結果信号が前記ヘッダ抽出情報と前記比較情報との一致を示すとき、前記連続一致データを今回出力する連続一致検知回路を有することを特徴とする請求項１から３のいずれか１つに記載のパケット処理回路。
【請求項５】
前記連続比較結果信号は、前記ヘッダ抽出情報と前記比較情報とが連続して不一致であるときに前記連続比較部から出力される連続不一致データをさらに含み、
前記連続比較部は、前回出力した前記連続比較結果信号が前記連続不一致データを含み、かつ前記一致比較部が今回生成する前記一致比較結果信号が前記ヘッダ抽出情報と前記比較情報との不一致を示すとき、前記連続不一致データを今回出力する連続不一致検知回路をさらに有することを特徴とする請求項１から４のいずれか１つに記載のパケット処理回路。
【請求項６】
前記比較結果情報は、複数の前記一致比較結果信号を含み、
前記一致比較部は、前記ヘッダ抽出情報と複数の前記比較情報の各々との一致を検知する複数の一致比較回路を有し、
前記比較情報生成部は、前記複数の一致比較回路別に前記比較情報を生成することを特徴とする請求項５に記載のパケット処理回路。
【請求項７】
前記連続比較結果信号は、前記ヘッダ抽出情報と前記比較情報とが連続して不一致であるときに前記連続比較部から出力される連続不一致データをさらに含み、
前記連続比較部は、前回出力した前記連続比較結果信号が前記連続不一致データを含み、かつ前記一致比較部が今回生成する前記一致比較結果信号が前記ヘッダ抽出情報と前記比較情報との不一致を示すとき、前記連続不一致データを今回出力する連続不一致検知回路をさらに有し、
前記比較結果情報は、複数の前記一致比較結果信号を含み、
前記一致比較部は、前記ヘッダ抽出情報と複数の前記比較情報の各々との一致を検知する複数の一致比較回路を有し、
前記比較情報生成部は、前記複数の一致比較回路別に前記比較情報を生成し、
前記連続一致検知回路は、前回連続一致データを生成し、かつ複数の前記一致比較回路が今回生成する全ての前記一致比較結果信号が前記ヘッダ抽出情報と前記比較情報との一致を示すとき、前記連続一致データを今回生成することを特徴とする請求項４に記載のパケット処理回路。
【請求項８】
前記連続不一致検知回路は、前回連続不一致データを生成し、かつ複数の前記一致比較回路が今回生成する全ての前記一致比較結果信号が前記ヘッダ抽出情報と前記比較情報との不一致を示すとき、前記連続不一致データを今回生成することを特徴とする請求項６又は７に記載のパケット処理回路。
【請求項９】
前記比較結果情報は、複数の前記大小比較結果信号を含み、
前記大小比較部は、前記ヘッダ抽出情報と前記比較情報と大小関係を検知する複数の大小比較回路を有し、
前記比較情報生成部は前記複数の大小比較回路別に前記比較情報を生成し、
前記パケット判定部は、複数の前記大小比較結果信号に基づき前記ヘッダ抽出情報の範囲を検知することを特徴とする請求項３に記載のパケット処理回路。
【請求項１０】
前記ヘッダ抽出情報と前記比較情報とは複数ビットのデジタルデータにより構成され、
前記情報比較部は、比較対象となる比較対象ビットを通知するための比較対象通知信号を生成する比較対象通知信号出力部を備え、
前記情報比較部は、前記ヘッダ抽出情報と前記比較情報と前記比較対象通知信号とに応じ前記比較結果情報を出力することを特徴とする請求項１から９のいずれか１つに記載のパケット処理回路。
【請求項１１】
前記パケット判定部は、前記情報比較部に比較対象通知信号の生成を指示するための対象通知指示信号を生成し、
前記比較対象通知信号出力部は、前記対象通知指示信号に応じ前記比較対象通知信号を生成することを特徴とする請求項１０に記載のパケット処理回路。
【請求項１２】
前記比較情報生成部は、複数の前記比較情報を記憶した比較情報記憶回路と前記比較情報記憶回路が記憶した前記比較情報から前記比較情報生成部が生成する前記比較情報を選択する比較情報選択回路とを備えることを特徴とする請求項１から１１のいずれか１つに記載のパケット処理回路。
【請求項１３】
前記パケット判定部は、前記比較情報記憶回路へ前記比較情報を書き込み可能であることを特徴とする請求項１２に記載のパケット処理回路。
【請求項１４】
前記比較情報選択回路は、前記比較情報生成部が生成する前記比較情報を前記一致比較回路別に選択することを特徴とする請求項１２又は１３に記載のパケット処理回路。
【請求項１５】
前記比較結果情報は、複数の前記大小比較結果信号を含み、
前記大小比較部は、前記ヘッダ抽出情報と前記比較情報と大小関係を検知する複数の大小比較回路を有し、
前記比較情報選択回路は、前記比較情報を前記大小比較回路別に選択することを特徴とする請求項１２から１４のいずれか１つに記載のパケット処理回路。
【請求項１６】
前記パケット格納部は、
受信パケットのヘッダを含む第１の情報を記憶するヘッダ記憶部と、
前記ヘッダ記憶部が記憶したデータに続いて受信した第２の情報を収容するボディ収容部とを備え、
前記ヘッダ抽出情報生成部は、前記ヘッダ記憶部が記憶したヘッダから前記ヘッダ抽出情報を生成することを特徴とする請求項１から１５のいずれか１つに記載のパケット処理回路。
【請求項１７】
前記ヘッダ記憶部は、前記第１の情報を保持する複数のヘッダ保持回路と、前記ヘッダ保持回路を所定の順序で選択して第１の情報を保持させるヘッダ保持選択部とを有し、
前記ヘッダ抽出情報生成部は、第１の情報を保持した順に前記ヘッダ保持回路を選択する保持回路選択部と、選択された前記ヘッダ保持回路が保持する第１の情報から前記ヘッダ抽出情報を抽出する情報抽出部とを備えることを特徴とする請求項１６に記載のパケット処理回路。
【請求項１８】
前記パケット判定部は、送信すべきパケットを判定し、送信すべきパケットの第１の情報を保持する前記ヘッダ保持回路を前記保持回路選択部が選択した順に選択し、第１の情報を書き換えて新たにヘッダを生成するヘッダ書換部を備えることを特徴とする請求項１７に記載のパケット処理回路。
【請求項１９】
前記パケット判定部は、前記ヘッダ書換部が新たにヘッダを生成したとき前記パケット格納部にパケットの生成を指示する送信指示信号を生成し、
前記パケット格納部は、前記送信指示信号に応じ前記ヘッダ記憶部が記憶した第１の情報とボディ収容部とが記憶した第２の情報から新たに送信パケットを生成する送信パケット生成部をさらに備えることを特徴とする請求項１６から１８のいずれか１つに記載のパケット処理回路。
【請求項２０】
前記送信指示信号は、送信すべきパケットを示す送信パケット情報を含み、
前記ヘッダ記憶部は、前記パケット判定部が書き換え、新たに生成したヘッダを保持した前記ヘッダ保持回路を前記送信パケット情報に応じ選択し、選択した該ヘッダ保持回路に保持した第１の情報を前記送信パケット生成部に送るヘッダ送出部をさらに備えることを特徴とする請求項１９に記載のパケット処理回路。
【請求項２１】
前記ボディ収容部は、
収容した第２の情報を記憶するメモリと、
前記メモリに記憶した第２の情報をパケット別に識別し、前記送信パケット情報に応じて前記メモリから読み出して前記送信パケット生成部に送るボディ読出部とを有することを特徴とする請求項２０に記載のパケット処理回路。
【請求項２２】
請求項１から２１のいずれか１つに記載のパケット処理回路において、
前記パケット格納部が格納したパケットのヘッダのチェックサム計算を行うチェックサム計算部をさらに具備し、
前記パケット判定部は、チェックサム計算の対象となる範囲を指示する計算指示信号を生成し、
前記チェックサム計算部は、前記計算指示信号が示す範囲のチェックサム計算結果を示
すチェックサム計算結果信号を出力し、
前記パケット判定部は、前記チェックサム計算結果信号に応じ送信すべきパケットを判定することを特徴とするパケット処理回路。
【請求項２３】
前記パケット判定部は、
前記情報比較部が今回出力した前記比較結果情報に応じ次回生成する前記ヘッダ抽出情報指示信号と前記比較情報指示信号とを決定するためのプログラムを記憶したプログラム記憶メモリを備えることを特徴とする請求項２に記載のパケット処理回路。
【請求項２４】
前記ヘッダ抽出情報生成部は、前記ヘッダ抽出情報を前記一致比較回路別に生成することを特徴とする請求項６から８のいずれか１つに記載のパケット処理回路。
【請求項２５】
前記ヘッダ抽出情報生成部は、前記ヘッダ抽出情報を前記大小比較回路別に生成することを特徴とする請求項９に記載のパケット処理回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、受信パケットに搭載されたヘッダに応じて新たに生成したヘッダを送信パケットに搭載するパケット処理回路に関し、特に複数のプロトコルに対応したルータに使用して好適なパケット処理回路に関する。
【０００２】
【従来の技術】
デジタル通信の分野においては、情報を受け渡しするに際しパケット通信が広く用いられている。パケットの先頭には送信先に関する情報や送信する情報の種類などを示すヘッダが搭載されており、パケットの種類毎に異なるヘッダを有する。
【０００３】
近年、広く用いられているパケットの例を図１０（ａ）〜（ｈ）に示す。パケットは種類別に、
（ａ）ＲＦＣ１９４記載のＤＩＸパケット，
（ｂ）ＩＥＥＥ８０２．３記載のＲＡＷパケット，
（ｃ）ＩＥＥＥ８０２．２記載のＬＬＣ情報４０５を搭載したＬＬＣパケット及び
（ｄ）ＬＬＣ＋ＳＮＡＰパケットと、
上述の４種のパケットにＩＥＥＥ８０２．１Ｑ記載のＶＬＡＮ情報４０７を搭載した
（ｅ）ＤＩＸ＋ＶＬＡＮパケット，
（ｆ）ＲＡＷ＋ＶＬＡＮパケット，
（ｇ）ＬＬＣ＋ＶＬＡＮパケット，
（ｈ）ＬＬＣ＋ＳＮＡＰ＋ＶＬＡＮパケット
の合計８種類があり、パケット処理回路は、これら８種のパケットの正確かつ速やかな処理が求められている。
【０００４】
各々のパケットのＬ２ヘッダはＭＡＣ−ＤＡ情報４０１、ＭＡＣ−ＳＡ情報４０２、Type（タイプ）情報４０３、Length（レングス）情報４０４、ＬＬＣ情報４０５、ＳＮＡＰ情報４０６、ＶＬＡＮ情報４０７が搭載されており、Ｌ２ヘッダは各々の情報の組み合わせにより構成されているため、パケットの種類毎にＬ２ヘッダの長さが異なる。
【０００５】
パケットにはＬ２ヘッダに続きペイロード４０８が搭載されていて、ＩＰｖ４パケットのペイロード４０８は、図１１に示す通り先頭から順に、Version（バージョン）情報７０１、ヘッダ長情報７０２、ＴＯＳ情報７０３、トータル長情報７０４、識別番号情報７０５、フラグメント情報７０６、ＴＴＬ情報７０７、プロトコル番号情報７０８、ヘッダチェックサム情報７０９、送信元ＩＰアドレス情報７１０、送信先ＩＰアドレス情報７１１、オプション情報７１２からなるＬ３ヘッダが搭載されている。
【０００６】
ＩＰｖ４ルーティング機能を持つパケット処理回路の場合、上述のＭＡＣ−ＳＡ情報４０２、ＭＡＣ−ＤＡ情報４０１、ＴＴＬ情報７０７、ヘッダチェックサム情報７０９を書き換えたヘッダを新たに生成する必要があり、特に新たに生成するＭＡＣ−ＤＡ情報４０１は送信先ＩＰアドレス情報７１１に応じた値にする必要がある。
【０００７】
従来、この種の装置として、図９に示される特開平１１−３１７７８３号公報記載のパケット処理回路のような構成のものが使用されていた。図９において、レジスタ１５０はパケットの下位レイヤヘッダと上位レイヤヘッダとを含むパケットの先頭部分の情報を記憶するメモリであり、ＣＰＵ１５４にてレジスタ１５０に記憶されたヘッダを解析し、ヘッダに含まれるヘッダ生成に必要な情報を抽出してレジスタ１５１に格納し、ＣＰＵ１５５にてテーブル１５７を参照してレジスタ１５１に格納された情報に対応する値をレジスタ１５２に格納し、レジスタ１５２に格納された値に応じてＣＰＵ１５６にて新たにヘッダを生成してレジスタ１５３に格納する構成となっている。
【０００８】
【発明が解決しようとする課題】
上述したように、Ｌ２ヘッダの長さはパケットの種類により異なるので、従来のパケット処理回路が、送信先ＩＰアドレス情報７１１を抽出してレジスタ１５１に格納するためには、ＣＰＵ１５４は、
・Ｌ２ヘッダを読み込む処理ステップと、
・読み込んだＬ２ヘッダの長さを求める処理ステップと、
・求められたＬ２ヘッダの長さに応じて送信先ＩＰアドレス情報７１１の位置を検知する処理ステップと、
・検知した位置から送信先ＩＰアドレス情報７１１を読み込む処理ステップと、・読み込んだ送信先ＩＰアドレス情報７１１をレジスタ１５１に格納する処理ステップとを実行する必要がある。また、Ｌ２ヘッダを読み込む処理ステップでは、ＣＰＵ１５４がＬ２ヘッダを１回で読み込みできるデータの量に分割し、数回に分けて繰り返し読み込む必要がある。
【０００９】
すなわち、送信先ＩＰアドレス情報７１１の位置を検知するまでにかかる時間は、ＣＰＵ１５４が１回あたりに読み込み可能なデータ量と単位時間あたりに読み込みできる回数とに依存し、高いスループットのパケット処理回路ほど高性能なＣＰＵ１５４を必要とするので、製品のコスト高を招いてしまう。
【００１０】
同様に、レジスタ１５３への新たなヘッダの書き込みにかかる時間は、ＣＰＵ１５６が１度に書き込みできるデータ量と、単位時間あたりに書き込みできる回数とに依存し、高いスループットのパケット処理回路ほど高性能なＣＰＵ１５６を必要とするので、やはり製品のコスト高を招いてしまう（第１の課題）。
【００１１】
また、ヘッダの生成に必要な情報は、レジスタ１５０とレジスタ１５１との両方に記憶されており、また新たなヘッダが生成されてレジスタ１５３に格納されても、受信されたヘッダはレジスタ１５０に記憶されているため、余分なメモリを必要とし、製品のコスト高を招いてしまう（第２の課題）。
【００１２】
また近年、前述のＩＰｖ４ヘッダばかりでなく、ＩＰｖ６ヘッダに代表される様々な種類のヘッダを搭載したパケットを処理できるパケット処理回路が求められていて、新たなプロトコルは日々定義されているので、修正変更や将来の機能変更が容易で、設計変更の柔軟性に富むパケット処理回路が望まれる（第３の課題）。
【００１３】
よって本発明は、上述した第１の課題に鑑み、新たなヘッダ生成に必要な情報の抽出とヘッダの生成との各々に高性能なＣＰＵを別に用意する必要がないパケット処理回路を提供することを目的とする。
本発明はまた、上述した第２の課題に鑑み、余分なメモリを必要としないパケット処理回路を提供することを目的とする。
本発明はまた、上述した第３の課題に鑑み、修正変更や将来の機能変更が容易で、設計変更の柔軟性に富むパケット処理回路を提供することを目的とする。
【００１４】
【課題を解決するための手段】
請求項１に記載の発明は上記目的を達成するために、受信パケットのヘッダに応じて新たにヘッダを生成し、受信パケットに前記新たなヘッダを搭載して送信パケットとして出力するパケット処理回路において、
受信パケットを格納するパケット格納部と、
前記パケット格納部に格納した受信パケットのヘッダから、送信すべきパケットを判定するためのヘッダ抽出情報を抽出して生成するヘッダ抽出情報生成部と、
前記ヘッダ抽出情報と比較して識別するための比較情報を生成する比較情報生成部と、
前記ヘッダ抽出情報と前記比較情報とを比較し比較結果情報を出力する情報比較部と、
前記比較結果情報に応じ送信すべきパケットを判定し、前記新たなヘッダを前記パケット格納部に出力するパケット判定部とを備え、
前記パケット格納部は、格納した受信パケットに前記パケット判定部により出力された前記新たなヘッダを搭載して送信パケットとして出力し、
前記比較結果情報は、前記ヘッダ抽出情報と前記比較情報との一致・不一致を示す一致比較結果信号並びに前記ヘッダ抽出情報と前記比較情報とを連続して比較した結果を示す連続比較結果信号を含み、
前記情報比較部は、前記ヘッダ抽出情報と前記比較情報とを比較し前記一致比較結果信号を生成する一致比較部並びに前回出力した前記連続比較結果信号と前記一致比較部が今回生成する前記一致比較結果信号とに応じ今回出力する前記連続比較結果信号を生成する連続比較部を備えている構成とした。
請求項１に記載の構成によれば、パケット判定部がヘッダを読み込むことなくヘッダの比較結果を得ることができるので、ヘッダ生成に必要な情報の抽出とヘッダの生成との各々に高性能なＣＰＵを別に用意する必要がなく、また、余分なメモリを必要とせず、また、パケット判定部がヘッダを読み込むことなく比較結果情報に含まれる一致比較結果信号によりヘッダ抽出情報と比較情報との一致・不一致を判別することができ、さらに情報比較部が、前回出力した連続比較結果信号と今回生成する一致比較結果信号とに応じ、今回出力する連続比較結果信号を決定するようになっているので、パケット判定部が連続比較結果信号に応じて送信すべきパケットを判定できる。
【００１５】
請求項２に記載の発明は、請求項１に記載のパケット処理回路において、前記パケット判定部が、
前記ヘッダ抽出情報生成部に生成する前記ヘッダ抽出情報を指示するためのヘッダ抽出情報指示信号と、生成する前記比較情報を前記比較情報生成部に指示するための比較情報指示信号とを生成し、
今回生成した前記ヘッダ抽出情報指示信号と前記比較情報指示信号と前記情報比較部が今回出力した前記比較結果情報とに応じ、次回生成する前記ヘッダ抽出情報指示信号と前記比較情報指示信号とを決定する構成とした。
請求項２に記載の構成によれば、パケット判定部がパケットのフォーマットを判別でき、判別したパケットのフォーマットに応じたパケットの処理ができる。
【００１７】
請求項３に記載の発明は、請求項１又は２に記載のパケット処理回路において、前記比較結果情報が、前記ヘッダ抽出情報と前記比較情報との大小関係を示す大小比較結果信号をさらに含み、
前記情報比較部が、前記ヘッダ抽出情報と前記比較情報とを比較し前記大小比較結果信号を生成する大小比較部をさらに備える構成とした。
請求項３に記載の構成によれば、情報比較部が大小比較結果信号を生成してパケット判定部に出力するので、パケット判定部がヘッダを読み込むことなく比較結果情報に含まれる大小比較結果信号によりヘッダ抽出情報と比較情報との大小関係を判別することができる。
【００１９】
請求項４に記載の発明は、請求項１から３のいずれか１つに記載のパケット処理回路において、前記連続比較結果信号が、前記ヘッダ抽出情報と前記比較情報とが連続して一致しているときに前記連続比較部から出力される連続一致データを含み、
前記連続比較部が、前回出力した前記連続比較結果信号が連続一致データを含み、かつ前記一致比較部が今回生成する前記一致比較結果信号が前記ヘッダ抽出情報と前記比較情報との一致を示すとき、前記連続一致データを今回出力する連続一致検知回路を有する構成とした。
請求項４に記載の構成によれば、パケット判定部が連続一致データにより、ヘッダ抽出情報と比較情報とが連続して全て一致したか又は一度でも不一致が発生したかが判別できる。
【００２０】
請求項５に記載の発明は、請求項１から４のいずれか１つに記載のパケット処理回路において、前記連続比較結果信号が、前記ヘッダ抽出情報と前記比較情報とが連続して不一致であるときに前記連続比較部から出力される連続不一致データをさらに含み、
前記連続比較部が、前回出力した前記連続比較結果信号が前記連続不一致データを含み、かつ前記一致比較部が今回生成する前記一致比較結果信号が前記ヘッダ抽出情報と前記比較情報との不一致を示すとき、前記連続不一致データを今回出力する連続不一致検知回路をさらに有する構成とした。
請求項５に記載の構成によれば、パケット判定部が連続不一致データにより、ヘッダ抽出情報と比較情報とが一度でも一致したか又は連続して全て不一致だったかが判別できる。
【００２１】
請求項６に記載の発明は、請求項５に記載のパケット処理回路において、前記比較結果情報が、複数の前記一致比較結果信号を含み、
前記一致比較部が、前記ヘッダ抽出情報と複数の前記比較情報の各々との一致を検知する複数の一致比較回路を有し、
前記比較情報生成部が、前記複数の一致比較回路別に前記比較情報を生成する構成とした。
請求項６に記載の構成によれば、一致比較回路別に比較情報生成部が生成した複数の比較情報とヘッダ抽出情報とを同時に比較することができる。
【００２２】
請求項７に記載の発明は、請求項４に記載のパケット処理回路において、前記連続比較結果信号は、前記ヘッダ抽出情報と前記比較情報とが連続して不一致であるときに前記連続比較部から出力される連続不一致データをさらに含み、
前記連続比較部は、前回出力した前記連続比較結果信号が前記連続不一致データを含み、かつ前記一致比較部が今回生成する前記一致比較結果信号が前記ヘッダ抽出情報と前記比較情報との不一致を示すとき、前記連続不一致データを今回出力する連続不一致検知回路をさらに有し、
前記比較結果情報は、複数の前記一致比較結果信号を含み、
前記一致比較部は、前記ヘッダ抽出情報と複数の前記比較情報の各々との一致を検知する複数の一致比較回路を有し、
前記比較情報生成部は、前記複数の一致比較回路別に前記比較情報を生成し、
前記連続一致検知回路が、前回連続一致データを生成し、かつ複数の前記一致比較回路が今回生成する全ての前記一致比較結果信号が前記ヘッダ抽出情報と前記比較情報との一致を示すとき、前記連続一致データを今回生成する構成とした。
請求項７に記載の構成によれば、パケット判定部が複数の比較情報とヘッダ抽出情報を連続して比較した結果を得ることができる。
【００２３】
請求項８に記載の発明は、請求項６又は７に記載のパケット処理回路において、前記連続不一致検知回路が、前回連続不一致データを生成し、かつ複数の前記一致比較回路が今回生成する全ての前記一致比較結果信号が前記ヘッダ抽出情報と前記比較情報との不一致を示すとき、前記連続不一致データを今回生成する構成とした。
請求項８に記載の構成によれば、パケット判定部が複数の比較情報とヘッダ抽出情報を連続して比較した結果を得ることができる。
【００２４】
請求項９に記載の発明は、請求項３に記載のパケット処理回路において、前記比較結果情報が、複数の前記大小比較結果信号を含み、
前記大小比較部が、前記ヘッダ抽出情報と前記比較情報と大小関係を検知する複数の大小比較回路を有し、
前記比較情報生成部は前記複数の大小比較回路別に前記比較情報を生成し、
前記パケット判定部が、複数の前記大小比較結果信号に基づき前記ヘッダ抽出情報の範囲を検知する構成とした。
請求項９に記載の構成によれば、大小比較回路別に複数の比較情報とヘッダ抽出情報とを同時に比較し、大小比較結果信号からヘッダ抽出情報の範囲を検知することができる。
【００２５】
請求項１０に記載の発明は、請求項１から９のいずれか１つに記載のパケット処理回路において、前記ヘッダ抽出情報と前記比較情報とは複数ビットのデジタルデータにより構成され、
前記情報比較部が、比較対象となる比較対象ビットを通知するための比較対象通知信号を生成する比較対象通知信号出力部を備え、
前記情報比較部は、前記ヘッダ抽出情報と前記比較情報と前記比較対象通知信号とに応じ前記比較結果情報を出力する構成とした。
請求項１０に記載の構成によれば、情報比較部が比較対象通知信号により比較対象ビットを検知し、ヘッダ抽出情報と比較情報との比較対象ビットのみを比較することができる。
【００２６】
請求項１１に記載の発明は、請求項１０に記載のパケット処理回路において、前記パケット判定部が、前記情報比較部に比較対象通知信号の生成を指示するための対象通知指示信号を生成し、
前記比較対象通知信号出力部が、前記対象通知指示信号に応じ前記比較対象通知信号を生成する構成とした。
請求項１１に記載の構成によれば、パケット判定部が対象通知指示信号により、比較対象ビットを対象としたヘッダ抽出情報と比較情報との比較を情報比較部に指示できる。
【００２８】
請求項１２に記載の発明は、請求項１から１１のいずれか１つに記載のパケット処理回路において、前記比較情報生成部が、複数の前記比較情報を記憶した比較情報記憶回路と前記比較情報記憶回路が記憶した前記比較情報から前記比較情報生成部が生成する前記比較情報を選択する比較情報選択回路とを備える構成とした。
【００２９】
請求項１３に記載の発明は、請求項１２に記載のパケット処理回路において、前記パケット判定部が、前記比較情報記憶回路へ前記比較情報を書き込み可能である構成とした。
請求項１３に記載の構成によれば、パケット判定部が受信パケットに応じ比較情報を書き換えてパケットの判定をすることができる。
【００３０】
請求項１４に記載の発明は、請求項１２又は１３に記載のパケット処理回路において、前記比較情報選択回路が、前記比較情報生成部が生成する前記比較情報を前記一致比較回路別に選択する構成とした。
請求項１４に記載の構成によれば、一致比較回路別に比較情報記憶回路を設けることなく、ひとつの比較情報記憶回路から一致比較回路別に比較情報生成部が生成する比較情報を選択できる。
【００３１】
請求項１５に記載の発明は、請求項１２から１４のいずれか１つに記載のパケット処理回路において、前記比較結果情報は、複数の前記大小比較結果信号を含み、
前記大小比較部は、前記ヘッダ抽出情報と前記比較情報と大小関係を検知する複数の大小比較回路を有し、
前記比較情報選択回路が、前記比較情報を前記大小比較回路別に選択する構成とした。
請求項１５に記載の構成によれば、大小比較回路別に比較情報記憶回路を設けることなく、ひとつの比較情報記憶回路から大小比較回路別に比較情報生成部が生成する比較情報を選択できる。
【００３２】
請求項１６に記載の発明は、請求項１から１５のいずれか１つに記載のパケット処理回路において、前記パケット格納部が、
受信パケットのヘッダを含む第１の情報を記憶するヘッダ記憶部と、
前記ヘッダ記憶部が記憶したデータに続いて受信した第２の情報を収容するボディ収容部とを備え、
前記ヘッダ抽出情報生成部が、前記ヘッダ記憶部が記憶したヘッダから前記ヘッダ抽出情報を生成する構成とした。
請求項１６に記載の構成によれば、ヘッダ抽出情報生成部がボディ収容部からはヘッダ抽出情報を抽出する必要がなく、ヘッダ記憶部からヘッダ抽出情報を抽出できる。
【００３３】
請求項１７に記載の発明は、請求項１６に記載のパケット処理回路において、前記ヘッダ記憶部が、前記第１の情報を保持する複数のヘッダ保持回路と、前記ヘッダ保持回路を所定の順序で選択して第１の情報を保持させるヘッダ保持選択部とを有し、
前記ヘッダ抽出情報生成部が、第１の情報を保持した順に前記ヘッダ保持回路を選択する保持回路選択部と、選択された前記ヘッダ保持回路が保持する第１の情報から前記ヘッダ抽出情報を抽出する情報抽出部とを備える構成とした。
請求項１７に記載の構成によれば、ヘッダ抽出情報生成部がヘッダ抽出情報を抽出しているときでも、すでに記憶した第１の情報を失うことなく新たに受信されたパケットの第１の情報を記憶させることができる。
【００３４】
請求項１８に記載の発明は、請求項１７に記載のパケット処理回路において、前記パケット判定部が送信すべきパケットを判定して、送信すべきパケットの第１の情報を保持する前記ヘッダ保持回路を前記保持回路選択部が選択した順に選択し、第１の情報を書き換えて新たにヘッダを生成するヘッダ書換部を備える構成とした。
請求項１８に記載の構成によれば、ヘッダ書換部が破棄パケットのヘッダを生成することなく、送信すべきパケットの第１の情報を保持するヘッダ保持回路を保持回路選択部が選択した順に選択し、その第１の情報を書き換えて新たにヘッダを生成することができる。
【００３５】
請求項１９に記載の発明は、請求項１６から１８のいずれか１つに記載のパケット処理回路において、前記パケット判定部が、前記ヘッダ書換部が新たにヘッダを生成したとき前記パケット格納部にパケットの生成を指示する送信指示信号を生成し、
前記パケット格納部が、前記送信指示信号に応じ前記ヘッダ記憶部が記憶した第１の情報とボディ収容部とが記憶した第２の情報から新たに送信パケットを生成する送信パケット生成部をさらに備える構成とした。
請求項１９に記載の構成によれば、送信パケット生成部が送信指示信号に応じて、ヘッダ記憶部が記憶した新たに生成されたヘッダを含む第１の情報とボディ収容部とが記憶した第２の情報から新たに送信パケットを生成できる。
【００３６】
請求項２０に記載の発明は、請求項１９に記載のパケット処理回路において、前記送信指示信号が、送信すべきパケットを示す送信パケット情報を含み、
前記ヘッダ記憶部が、前記パケット判定部が書き換え、新たに生成したヘッダを保持した前記ヘッダ保持回路を前記送信パケット情報に応じ選択し、選択した該ヘッダ保持回路に保持した第１の情報を前記送信パケット生成部に送るヘッダ送出部をさらに備える構成とした。
請求項２０に記載の構成によれば、ヘッダ保持回路に保持した送信すべきパケットに搭載される第１の情報を確実に送信パケット生成部に送ることができる。
【００３７】
請求項２１に記載の発明は、請求項２０に記載のパケット処理回路において、前記ボディ収容部が、
収容した第２の情報を記憶するメモリと、
前記メモリに記憶した第２の情報をパケット別に識別し、前記送信パケット情報に応じて前記メモリから読み出して前記送信パケット生成部に送るボディ読出部とを有する構成とした。
請求項２１に記載の構成によれば、送信パケット生成部が新たに生成したヘッダを搭載した送信パケットを確実に生成することができる。
【００３８】
請求項２２に記載の発明は、請求項１から２１のいずれか１つに記載のパケット処理回路において、
前記パケット格納部が格納したパケットのヘッダのチェックサム計算を行うチェックサム計算部をさらに具備し、
前記パケット判定部が、チェックサム計算の対象となる範囲を指示する計算指示信号を生成し、
前記チェックサム計算部が、前記計算指示信号が示す範囲のチェックサム計算結果を示すチェックサム計算結果信号を出力し、
前記パケット判定部が、前記チェックサム計算結果信号に応じ送信すべきパケットを判定する構成とした。
請求項２２に記載の構成によれば、パケット判定部がヘッダを読み込むことなくチェックサム計算結果を得ることができる。
【００３９】
請求項２３に記載の発明は、請求項２に記載のパケット処理回路において、前記パケット判定部が、
前記情報比較部が今回出力した前記比較結果情報に応じ次回生成する前記ヘッダ抽出情報指示信号と前記比較情報指示信号とを決定するためのプログラムを記憶したプログラム記憶メモリを備える構成とした。
請求項２３に記載の構成によれば、プログラムの変更により異なるプロトコルを実装したパケットを処理させることができる。
【００４１】
請求項２４に記載の発明は、請求項６から８のいずれか１つに記載のパケット処理回路において、前記ヘッダ抽出情報生成部が、前記ヘッダ抽出情報を前記一致比較回路別に生成する構成とした。
請求項２４に記載の構成によれば、複数のヘッダ抽出情報と複数の比較情報とを同時に比較することができる。
【００４２】
請求項２５に記載の発明は、請求項９に記載のパケット処理回路において、前記ヘッダ抽出情報生成部が、前記ヘッダ抽出情報を前記大小比較回路別に生成する構成とした。
請求項２５に記載の構成によれば、複数のヘッダ抽出情報と複数の比較情報との大小関係を同時に比較することができる。
【００４３】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。図１は本発明に係るパケット処理回路の一実施形態を示すブロック図、図２は図１のヘッダ抽出情報生成部内の情報抽出部を詳しく示すブロック図、図３は図１の比較情報生成部を詳しく示すブロック図、図４は図１の一致比較部を詳しく示すブロック図、図５は図１の大小比較部を詳しく示すブロック図、図６は図１の連続比較部を詳しく示すブロック図、図７は図１の比較対象通知信号生成部を詳しく示すブロック図、図８は図１のボディ収容部を詳しく示すブロック図である。
【００４４】
＜＜概略説明＞＞
図１に示すパケット処理回路は、受信パケットを格納するパケット格納部１と、パケット格納部１に格納した受信パケットのヘッダから送信すべきパケットを判定するためのヘッダ抽出情報３を抽出して生成するヘッダ抽出情報生成部２と、ヘッダ抽出情報３と比較するための比較情報５を生成する比較情報生成部４と、ヘッダ抽出情報３と比較情報５とを比較し比較結果情報７を出力する情報比較部６と、比較結果情報７に応じ送信すべきパケットを判定するパケット判定部８とを具備し、パケット格納部１は、格納した受信パケットにパケット判定部８により出力された新たなヘッダを搭載して送信パケットとして出力する。
【００４５】
この構成によれば、ヘッダ抽出情報生成部２が、パケット格納部１に格納した受信パケットのヘッダからヘッダ抽出情報３を抽出し、ヘッダ抽出情報３と比較情報生成部４が生成した比較情報５とを情報比較部６で比較し比較結果情報７をパケット判定部８に出力し、パケット判定部８が比較結果情報７に応じ送信すべきパケットを判定して新たなヘッダをパケット格納部１に指示し、パケット格納部１が格納した受信パケットにパケット判定部８により出力された新たなヘッダを搭載して送信パケットとして出力するようになっているので、パケット判定部８は、ヘッダを読み込むことなくヘッダの比較結果を得ることができる。
【００４６】
また、パケット判定部８はヘッダ抽出情報生成部２に対して、生成するヘッダ抽出情報３を指示するためのヘッダ抽出情報指示信号２５と、生成する比較情報５を比較情報生成部４に指示するための比較情報指示信号４３とを生成し、今回生成したヘッダ抽出情報指示信号２５と比較情報指示信号４３と情報比較部６が今回出力した比較結果情報７とに応じ、次回生成するヘッダ抽出情報指示信号２５と比較情報指示信号４３とを決定する。
【００４７】
この構成によれば、パケット判定部８は、今回生成したヘッダ抽出情報指示信号２５と比較情報指示信号４３と今回の比較結果情報７に応じ、次回生成するヘッダ抽出情報指示信号２５と比較情報指示信号４３とを決定するようになっているので、パケットのフォーマットを判別でき、判別したパケットのフォーマットに応じたパケットの処理ができる。
【００４８】
情報比較部６がパケット判定部８に出力する比較結果情報７は、ヘッダ抽出情報３と比較情報５との一致・不一致を示す一致比較結果信号７ｂを含み、情報比較部６はヘッダ抽出情報３と比較情報５とを比較し、一致比較結果信号７ｂを生成してパケット判定部８に出力する一致比較部６２を備える。
この構成によれば、情報比較部６内の一致比較部６２が一致比較結果信号７ｂを生成してパケット判定部８に出力するので、パケット判定部８は、ヘッダを読み込むことなく比較結果情報７に含まれる一致比較結果信号７ｂによりヘッダ抽出情報３と比較情報５との一致・不一致を判別することができる。
【００４９】
情報比較部６がパケット判定部８に出力する比較結果情報７はさらに、ヘッダ抽出情報３と比較情報５との大小関係を示す大小比較結果信号７ａを含み、情報比較部６は、ヘッダ抽出情報３と比較情報５とを比較して大小比較結果信号７ａを生成してパケット判定部８に出力する大小比較部６１をさらに備える。
この構成によれば、情報比較部６内の大小比較部６１が、大小比較結果信号７ａを生成してパケット判定部８に出力するので、パケット判定部８は、ヘッダを読み込むことなく比較結果情報７に含まれる大小比較結果信号７ａによりヘッダ抽出情報３と比較情報５との大小関係を判別することができる。
【００５０】
情報比較部６がパケット判定部８に出力する比較結果情報７はさらに、ヘッダ抽出情報３と比較情報５とを連続して比較した結果を示す連続比較結果信号７ｃを含み、情報比較部６は、前回出力した連続比較結果信号７ｃと一致比較部６２が今回生成する一致比較結果信号７ｂとに応じ今回出力する連続比較結果信号７ｃを生成する連続比較部６１１をさらに備える。
【００５１】
この構成によれば、情報比較部６は、前回出力した連続比較結果信号７ｃと一致比較部６２が今回生成する一致比較結果信号７ｂとに応じ今回出力する連続比較結果信号７ｃを決定するようになっているので、パケット判定部８は、情報比較部６が出力した連続比較結果信号７ｃに応じて送信すべきパケットを判定できる。
【００５２】
情報比較部６がパケット判定部８に出力する連続比較結果信号７ｃは、図４、図６に示すようにヘッダ抽出情報３と比較情報５とが連続して一致しているときに連続比較部６１１から出力される連続一致データ７ｃ−１を含み、連続比較部６１１は、前回出力した連続比較結果信号７ｃが連続一致データ７ｃ−１を含み、かつ一致比較部６２が今回生成する一致比較結果信号７ｂがヘッダ抽出情報３と比較情報５との一致を示すとき、連続一致データ７ｃ−１を今回パケット判定部８に出力する連続一致検知回路６１４を有する。
【００５３】
この構成によれば、連続一致検知回路６１４が、前回出力した連続比較結果信号７ｃが連続一致データ７ｃ−１を含み、一致比較部６２が今回生成する一致比較結果信号７ｂがヘッダ抽出情報３と比較情報５との一致を示すとき、連続一致データ７ｃ−１を今回パケット判定部８に出力するようになっているので、パケット判定部８は、連続一致データ７ｃ−１によりヘッダ抽出情報３と比較情報５とが連続して全て一致したか又は一度でも不一致が発生したかが判別できる。
【００５４】
情報比較部６がパケット判定部８に出力する連続比較結果信号７ｃはさらに、図４、図６に示すようにヘッダ抽出情報３と比較情報５とが連続して不一致であるときに連続比較部６１１から出力される連続不一致データ７ｃ−２を含み、連続比較部６１１は、前回出力した連続比較結果信号７ｃが連続不一致データ７ｃ−２を含み、かつ一致比較部６２が今回生成する一致比較結果信号７ｂがヘッダ抽出情報３と比較情報５との不一致を示すとき、連続不一致データ７ｃ−２を今回パケット判定部８に出力する連続不一致検知回路６１５をさらに有する。
【００５５】
この構成によれば、連続一致検知回路６１４が、前回出力した連続比較結果信号７ｃが連続不一致データ７ｃ−２を含み、一致比較部６２が今回生成する一致比較結果信号７ｂがヘッダ抽出情報３と比較情報５との不一致を示すとき、連続不一致データ７ｃ−２を今回パケット判定部８に出力するようになっているので、パケット判定部８は、連続不一致データ７ｃ−２によりヘッダ抽出情報３と比較情報５とが一度でも一致したか又は連続して全て不一致だったかが判別できる。
【００５６】
また、比較結果情報７は図４、図６に示すように複数の一致比較結果信号７ｂ−１〜７ｂ−４を含み、一致比較部６２は、ヘッダ抽出情報３−１〜３−４と比較情報５−１〜５−４との一致・不一致をそれぞれ検知する複数の一致比較回路６１０−１〜６１０−４を有し、比較情報生成部４は一致比較回路６１０−１〜６１０−４別に複数の比較情報５−１〜５−４を生成する。
【００５７】
この構成によれば、一致比較部６２は、ヘッダ抽出情報３−１〜３−４と比較情報５−１〜５−４との一致を検知して一致比較結果信号７ｂ−１〜７ｂ−４を生成する複数の一致比較回路６１０−１〜６１０−４を有するので、一致比較回路６１０−１〜６１０−４別に比較情報生成部４が生成した複数の比較情報５−１〜５−４とヘッダ抽出情報３−１〜３−４とを同時に比較することができる。
【００５８】
連続一致検知回路６１４は、前回連続一致データ７ｃ−１を生成し、複数の一致比較回路６１０−１〜６１０−４が今回生成する全ての前記一致比較結果信号７ｂ−１〜７ｂ−４がヘッダ抽出情報３−１〜３−４と比較情報５−１〜５−４との一致を示すとき、連続一致データ７ｃ−１を今回生成する。
【００５９】
この構成によれば、連続一致検知回路６１４は、ヘッダ抽出情報３−１〜３−４と比較情報５−１〜５−４との一致を示す一致比較結果信号７ｂ−１〜７ｂ−４を全ての一致比較回路６１０−１〜６１０−４が今回生成し、前回連続一致データ７ｃ−１を生成していたとき、連続一致データ７ｃ−１を今回生成するので、パケット判定部８は、複数の比較情報５−１〜５−４とヘッダ抽出情報３−１〜３−４を連続して比較した結果を得ることができる。
【００６０】
連続不一致検知回路６１５は、前回連続不一致データ７ｃ−２を生成し、複数の一致比較回路６１０−１〜６１０−４が今回生成する全ての一致比較結果信号７ｂ−１〜７ｂ−４がヘッダ抽出情報３−１〜３−４と比較情報５−１〜５−４との不一致を示すとき、連続不一致データ７ｃ−２を今回生成する。
【００６１】
この構成によれば、連続不一致検知回路６１５は、ヘッダ抽出情報３−１〜３−４と比較情報５−１〜５−４との不一致を示す一致比較結果信号７ｂ−１〜７ｂ−４を全ての一致比較回路６１０−１〜６１０−４が今回生成し、前回連続不一致データ７ｃ−２を生成していたとき、連続不一致データ７ｃ−２を今回生成するので、パケット判定部８は、複数の比較情報５−１〜５−４とヘッダ抽出情報３−１〜３−４を連続して比較した結果を得ることができる。
【００６２】
また、図５に示すように比較結果情報７は、複数の大小比較結果信号７ａ−１、７ａ−２を含み、大小比較部６１はヘッダ抽出情報３−１、３−２と比較情報５−１、５−２と大小関係をそれぞれ検知する複数の大小比較回路６２０−１、６２０−２を有し、比較情報生成部４は大小比較回路６２０−１、６２０−２別に複数の比較情報５−１、５−２を生成し、パケット判定部８は、複数の大小比較結果信号７ａ−１、７ａ−２に基づきヘッダ抽出情報３の範囲を検知する。
【００６３】
この構成によれば、大小比較部６１は、ヘッダ抽出情報３−１、３−２と比較情報５−１、５−２との大小関係をそれぞれ検知して大小比較結果信号７ａ−１、７ａ−２を生成する複数の大小比較回路６２０−１、６２０−２を有するので、大小比較回路６２０−１、６２０−２別に比較情報生成部４が生成した複数の比較情報５−１、５−２とヘッダ抽出情報３−１、３−２とを同時に比較し、大小比較結果信号７ａ−１、７ａ−２からヘッダ抽出情報３の範囲を検知することができる。
【００６４】
また、ヘッダ抽出情報３と比較情報５とは、複数ビットのデジタルデータにより構成され、情報比較部６は図７に示すように、比較対象となる比較対象ビットを通知するための比較対象通知信号６６を出力する比較対象通知信号生成部６３を備え、情報比較部６は、ヘッダ抽出情報３と比較情報５と比較対象通知信号６６とに応じ比較結果情報７を出力する。
【００６５】
この構成によれば、比較対象通知信号生成部６３が比較対象通知信号６６を出力するので、情報比較部６は比較対象通知信号６６により比較対象ビットを検知し、ヘッダ抽出情報３と比較情報５との比較対象ビットのみを比較することができる。
【００６６】
パケット判定部８は、情報比較部６に比較対象通知信号６６の出力を指示するための対象通知指示信号６４を生成し、比較対象通知信号生成部６３は対象通知指示信号６４に応じ比較対象通知信号６６を出力する。
この構成によれば、比較対象通知信号生成部６３は対象通知指示信号６４に応じ比較対象通知信号６６を出力するので、パケット判定部８は、対象通知指示信号６４により情報比較部６に比較対象ビットを対象としたヘッダ抽出情報３と比較情報５との比較を情報比較部６に指示できる。
【００６７】
また、比較対象通知信号生成部６３は、複数の比較情報５のいずれかを比較対象通知信号６６として出力する。
この構成によれば、比較対象通知信号生成部６３は、比較情報生成部４が生成した比較情報５を比較対象通知信号６６として出力するので、比較対象通知信号生成部６３に比較対象通知信号６６を生成するための格別の手段を設ける必要がなく、パケット判定部８が生成する対象通知指示信号６４も簡易なものでよい。
【００６８】
図３に示すように比較情報生成部４は、複数の比較情報５を記憶した比較情報記憶回路４１と、比較情報記憶回路４１が記憶した複数の比較情報５から比較情報生成部４が生成する比較情報５を選択する比較情報選択回路４２とを備える。この構成によれば、比較情報選択回路４２は、複数の比較情報５を記憶した比較情報記憶回路４１から比較情報生成部４が生成する比較情報５を選択できるようになっている。
【００６９】
パケット判定部８は、比較情報記憶回路４１へ比較情報５を書き込み可能である。
この構成によれば、パケット判定部８は、比較情報記憶回路４１へ比較情報５を書き込み可能なので、受信パケットに応じ比較情報５を書き換えてパケットの判定をすることができる。
【００７０】
比較情報選択回路４２は、比較情報生成部４が生成する比較情報５を一致比較回路６１０別に選択する。
この構成によれば、一致比較回路６１０別に比較情報記憶回路４１を設けることなく、ひとつの比較情報記憶回路４１から一致比較回路６１０別に比較情報生成部４が生成する比較情報５を選択できる。
【００７１】
比較情報選択回路４２は、比較情報５を大小比較回路６２０別に選択する。
この構成によれば、大小比較回路６２０別に比較情報記憶回路４１を設けることなく、ひとつの比較情報記憶回路４１から大小比較回路６２０別に比較情報生成部４が生成する比較情報５を選択できる。
【００７２】
パケット判定部８は、パケット格納部１が格納した送信すべきパケットのヘッダを書き換えて新たにヘッダを生成する。
この構成によれば、送信パケットに搭載するために新たに生成したヘッダを記憶する格別の手段を設けずに、パケット格納部１が格納した送信すべきパケットのヘッダを書き換えて新たにヘッダを生成することができる。
【００７３】
パケット格納部１は図１に示すように、受信パケットのヘッダを含む第１の情報を記憶するヘッダ記憶部１１と、ヘッダ記憶部１１が記憶したデータに続いて受信した第２の情報を収容するボディ収容部１４とを備え、ヘッダ抽出情報生成部２は、ヘッダ記憶部１１が記憶したヘッダからヘッダ抽出情報３を生成する。この構成によれば、パケット格納部１は、受信パケットのヘッダを含む第１の情報を記憶するヘッダ記憶部１１と、ヘッダ記憶部１１が記憶したデータに続いて受信した第２の情報を収容するボディ収容部１４とを備えているので、ヘッダ抽出情報生成部２は、ボディ収容部１４からはヘッダ抽出情報３を抽出する必要がなく、ヘッダ記憶部１１からヘッダ抽出情報３を抽出できる。
【００７４】
ヘッダ記憶部１１は、前記第１の情報を保持する複数のヘッダ保持回路１１１と、複数のヘッダ保持回路１１１を所定の順序で選択して第１の情報を保持させるヘッダ保持選択部１１３とを有し、ヘッダ抽出情報生成部２は、第１の情報を保持した順にヘッダ保持回路１１１を選択する保持回路選択部２２と、選択されヘッダ保持回路１１１が保持する第１の情報からヘッダ抽出情報３を抽出する情報抽出部２１とを備える。
この構成によれば、ヘッダ記憶部１１は、複数のヘッダ保持回路１１１を有するので、ヘッダ抽出情報生成部２が、ヘッダ抽出情報３を抽出しているときでも、すでに記憶した第１の情報を失うことなく新たに受信されたパケットの第１の情報を記憶させることができる。
【００７５】
パケット判定部８は、送信すべきパケットを判定し、送信すべきパケットの第１の情報を保持するヘッダ保持回路１１１を保持回路選択部２２が選択した順に選択し、その第１の情報を書き換えて新たにヘッダを生成するヘッダ書換部８２を備える。
この構成によれば、ヘッダ書換部８２は、破棄パケットのヘッダを生成することなく、送信すべきパケットの第１の情報を保持するヘッダ保持回路１１１を保持回路選択部２２が選択した順に選択し、その第１の情報を書き換えて新たにヘッダを生成することができる。
【００７６】
パケット判定部８は、ヘッダ書換部８２が新たにヘッダを生成したときパケット格納部１にパケットの生成を指示する送信指示信号１５を生成し、パケット格納部１は送信指示信号１５に応じ、ヘッダ記憶部１１が記憶した第１の情報とボディ収容部１４とが記憶した第２の情報から新たに送信パケットを生成する送信パケット生成部１３をさらに備える。
【００７７】
この構成によれば、パケット判定部８は、ヘッダ書換部８２が新たにヘッダを生成したとき送信指示信号１５を生成してパケット格納部１にパケットの生成を指示するようになっているので、送信パケット生成部１３は、送信指示信号１５に応じてヘッダ記憶部１１が記憶した新たに生成されたヘッダを含む第１の情報とボディ収容部１４とが記憶した第２の情報から新たに送信パケットを生成できる。
【００７８】
送信指示信号１５は、送信すべきパケットを示す送信パケット情報を含み、ヘッダ記憶部１１は、パケット判定部８が書き換え、新たに生成したヘッダを保持したヘッダ保持回路１１１を前記送信パケット情報に応じ選択し、選択したヘッダ保持回路１１１に保持した第１の情報を送信パケット生成部１３に送るヘッダ送出部１１４をさらに備える。
この構成によれば、送信指示信号１５は、パケット判定部８が書き換え、新たに生成したヘッダを保持したヘッダ保持回路１１１を送信パケット情報に応じて選択するので、ヘッダ保持回路１１１に保持した送信すべきパケットに搭載される第１の情報を確実に送信パケット生成部１３に送ることができる。
【００７９】
ボディ収容部１４は図８に示すように、収容した第２の情報を記憶するメモリ１４０と、メモリ１４０に記憶した第２の情報をパケット別に識別し、送信パケット情報に応じてメモリ１４０から読み出して送信パケット生成部１３に送るボディ読出部１４２とを有する。
この構成によれば、ボディ収容部１４は、送信パケット情報に応じメモリ１４０に記憶した第２の情報をパケット別に識別してメモリ１４０から読み出すので、送信パケット生成部１３は、新たに生成したヘッダを搭載した送信パケットを確実に生成することができる。
【００８０】
また、図１に示すように、パケット格納部１が格納したパケットのヘッダのチェックサム計算を行うチェックサム計算部９をさらに具備し、パケット判定部８は、チェックサム計算の対象となる範囲を指示する計算指示信号９２を生成し、チェックサム計算部９は計算指示信号９２が示す範囲のチェックサム計算結果を示すチェックサム計算結果信号９１を出力し、パケット判定部８はチェックサム計算結果信号９１に応じ送信すべきパケットを判定する。
【００８１】
この構成によれば、計算指示信号９２に応じ計算指示信号９２が示す範囲のチェックサム計算を行い、チェックサム計算結果信号９１を出力するチェックサム計算部９を具備するので、パケット判定部８は、ヘッダを読み込むことなくチェックサム計算結果を得ることができる。
【００８２】
パケット判定部８は図１に示すように、情報比較部６が今回出力した比較結果情報７に応じ次回生成するヘッダ抽出情報指示信号２５と比較情報指示信号４３とを決定するためのプログラムを記憶したプログラム記憶メモリ８３を備える。この構成によれば、パケット判定部８が次回生成する比較情報指示信号４３とヘッダ抽出情報指示信号２５とは、プログラム記憶メモリ８３に記憶したプログラムと今回の前記比較結果情報７に応じ決定されるので、プログラムの変更により異なるプロトコルを実装したパケットを処理させることができる。
【００８３】
パケット判定部８は、プログラム記憶メモリ８３のプログラムに従い、比較情報記憶回路４１に比較情報５を書き込む。
この構成によれば、パケット判定部８が比較情報記憶回路４１に書き込む比較情報５は、プログラム記憶メモリ８３に記憶されたプログラムに応じるので、プロトコル別にプログラムを変更することにより、比較情報記憶回路４１に異なる比較情報５を記憶させることができる。
【００８４】
ヘッダ抽出情報生成部２は、ヘッダ抽出情報３を一致比較回路６１０別に生成する。
この構成によれば、ヘッダ抽出情報生成部２は、ヘッダ抽出情報３を一致比較回路６１０別に生成するので、複数のヘッダ抽出情報３と複数の比較情報とを同時に比較することができる。
【００８５】
ヘッダ抽出情報生成部２は、ヘッダ抽出情報３を大小比較回路６２０別に生成する。
この構成によれば、ヘッダ抽出情報生成部２は、ヘッダ抽出情報３を大小比較回路６２０別に生成するので、複数のヘッダ抽出情報３と複数の比較情報との大小関係を同時に比較することができる。
【００８６】
＜＜詳細な説明＞＞
図１に示す本発明によるパケット処理回路は、パケット格納部１と、ヘッダ抽出情報生成部２と、比較情報生成部４と、情報比較部６と、パケット判定部８とを具備しており、上記各部の詳細を図２〜図８に示している。パケット格納部１は、受信パケットを格納するようになっていて、ヘッダ抽出情報生成部２は、パケット格納部１が格納した受信パケットのヘッダからヘッダ抽出情報３を抽出して生成し、比較情報生成部４は、ヘッダ抽出情報３と比較するための比較情報５を生成し、情報比較部６は、ヘッダ抽出情報３と比較情報５とを比較し比較結果情報７を出力し、パケット判定部８は、比較結果情報７に応じ送信すべきパケットを判定するようになっている。
【００８７】
上述の通り、パケット判定部８は、ヘッダを読み込むことなく受信パケットから抽出した情報と装置内部で生成した情報と比較した結果を得ることができる構成になっている。さらにパケット判定部８は、ヘッダ抽出情報指示信号２５と比較情報指示信号４３とを生成し、ヘッダ抽出情報生成部２は、ヘッダ抽出情報指示信号２５に応じヘッダ抽出情報３を生成し、比較情報生成部４は、比較情報指示信号４３に応じ比較情報５を生成する。情報比較部６がヘッダ抽出情報３と比較情報５と比較し比較結果情報７を出力すると、パケット判定部８は、今回生成したヘッダ抽出情報３と比較情報５と情報比較部６が今回出力した比較結果情報７とに応じ次回生成するヘッダ抽出情報指示信号２５と比較情報指示信号４３とを決定する。
【００８８】
図１０に示すように、受信パケットの１３、１４バイト目は、Type情報、Length情報又はＶＬＡＮ情報の先頭２バイトのいずれかなので、例えば、パケット判定部８は、ヘッダ抽出情報３としてヘッダ抽出情報生成部２が受信パケットの１３、１４バイト目を抽出するようにヘッダ抽出情報指示信号２５生成し、比較情報５としてヘッダ抽出情報生成部２がＩＰｖ４を示す０８００ｈを生成するように比較情報指示信号４３を生成する。
【００８９】
比較結果情報７に含まれる一致比較結果信号７ｂがヘッダ抽出情報３と比較情報５との一致を示した場合、受信パケットをＤＩＸパケットと判定して、次回からＤＩＸパケットの処理を開始するようになっていて、不一致を示した場合、次回から受信パケットの１９、２０バイト目がLength情報とＶＬＡＮ情報の先頭２バイトとのいずれなのかを判定する処理を開始するようになっている。
【００９０】
上述の通り、本発明のパケット処理回路は、パケットの複数のフォーマットを判別でき、判別したパケットのフォーマットに応じたパケットの処理ができる。さらに、パケット判定部８に備えたプログラム記憶メモリ８３は、比較結果情報７に応じ次回生成するヘッダ抽出情報指示信号２５と比較情報指示信号４３とを決定するためのプログラムを記憶していて、プログラムの変更によりハードウエアの変更無しに、日々定義される新たなプロトコルを実装したパケットをパケット処理回路に処理させることができる。
【００９１】
パケット格納部１は図１に示すように、受信パケットのヘッダを含む情報を記憶するヘッダ記憶部１１と、ヘッダ記憶部１１が記憶したデータに続いて受信した情報を収容するボディ収容部１４とを備える。ヘッダ記憶部１１は、記憶したヘッダからヘッダ抽出情報３をヘッダ抽出情報生成部２を抽出できる構成になっている。図中のセレクタ１２は、ヘッダを含む情報とその情報に続いて受信した情報とに受信パケットを分け、各々をヘッダ記憶部１１とボディ収容部１４とに振り分ける。ヘッダ記憶部１１は、セレクタ１２が振り分けた情報を保持する複数のヘッダ保持回路１１１と、ヘッダ保持回路１１１に情報を保持させるヘッダ保持選択部１１３とを有する。
【００９２】
各ヘッダ保持回路１１１には、各々を判別するためのコード番号が付与されていて、ヘッダ保持選択部１１３は、セレクタ２１が振り分けた情報をヘッダ保持回路１１１に保持させると、情報を保持させたヘッダ保持回路１１１に付与されている上述のコード番号を示すヘッダ保持回路選択信号１１５をパケット判定部８とボディ収容部１４に送出する。ヘッダ保持回路１１１はヘッダ抽出情報生成部２に接続されたフリップフロップからなるシフトレジスタで構成され、ヘッダ抽出情報生成部２がヘッダ抽出情報３を抽出できるようになっている。ボディ収容部１４は、ヘッダ抽出情報３を抽出しないので、シフトレジスタで構成する必要はなくＲＡＭなどで構成可能である。
【００９３】
ヘッダ保持選択部１１３は、ヘッダ保持回路１１１を所定の順序で選択して情報を保持させるので、ヘッダ抽出情報生成部２が、ヘッダ抽出情報３を抽出しているときでも、すでに記憶した第１の受信パケットのヘッダを含む情報を失うことなく新たに受信した情報を記憶させることができる。
【００９４】
また、パケット判定部８は、パケット格納部１が格納した送信すべきパケットのヘッダを書き換えて新たにヘッダを生成するようになっていて、ヘッダ保持回路１１１を構成する各フリップフロップは、保持したデータがパケット判定部８から書き換えできるようにバス１１２を介してパケット判定部８に接続されている。パケット判定部８は、ヘッダ保持回路１１１のデータを書き換えて新たにヘッダを生成し終えると、パケット格納部１にパケットの生成を指示する送信指示信号１５を生成する。送信パケット生成部１３は送信指示信号１５に応じてヘッダ記憶部１１が記憶した情報とボディ収容部１４とが記憶した情報から新たに送信パケットを生成する。送信指示信号１５には、いずれかのヘッダ保持回路１１１に付与された前述のコード番号を示す送信パケット情報が含まれている。
【００９５】
パケット判定部８は、抽出したヘッダ抽出情報３と比較情報５を比較し得られた比較結果情報７に応じ、ヘッダ抽出情報３を搭載した受信パケットを送信するか破棄するかを判定し、送信する場合にはヘッダ抽出情報３を保持するヘッダ保持回路１１１を示す上述の送信パケット情報を含んだ送信指示信号１５を生成する。
【００９６】
ヘッダ送出部１１４は、パケット判定部８が書き換え、新たに生成したヘッダを保持したヘッダ保持回路１１１を上述の送信パケット情報に応じ選択し、ヘッダ保持回路１１１に保持した情報を送信パケット生成部１３に送るので、送信パケット生成部１３は破棄するパケットのヘッダを受け取ることがない。
【００９７】
また、ボディ収容部１４は、図８に示すように、収容した情報を記憶するメモリ１４０と、セレクタ１２から受け取った情報をメモリ１４０に書き込んで記憶させるボディ書込回路１４１と、メモリ１４０に記憶した情報を送信パケット情報に応じてパケット別に識別してメモリ１４０から読み出し送信パケット生成部１３に送るボディ読出部１４２とを有する。
【００９８】
ボディ読出部１４２は、セレクタ１２から受け取った情報をメモリ１４０に書き込み終えたときにボディ書込回路１４１が出力するAddress（アドレス）信号を指すポインタを生成するポインタ生成回路１４３４と、ヘッダ保持回路１１１に対応し複数設けられたポインタ保持回路１４３０と、ヘッダ保持回路選択信号１１５が示すヘッダ保持回路１１１に対応するポインタ保持回路１４３０にポインタ生成回路１４３４が生成したポインタを保持させるセレクタ１４３１と、送信指示信号１５に含まれる送信パケット情報が示すヘッダ保持回路１１１に対応するポインタ保持回路１４３０が保持したポインタと、ポインタ保持回路１４３０のひとつ前のポインタ保持回路１４３０が保持したポインタとに応じ決定したメモリ１４０上のエリアから情報を読み出すボディ読出部１４２とを持つ。
【００９９】
上述の構成により、ボディ読出部１４２は、送信パケット情報に応じメモリ１４０に記憶した第２の情報をパケット別に識別してメモリ１４０から情報を読み出すので、送信パケット生成部１３は、ヘッダ記憶部１１から受け取った情報に対応する情報をボディ収容部１４から確実に受けることができ、新たに送信パケットを生成することができる。
【０１００】
図１に示すように、情報比較部６は、ヘッダ抽出情報３と比較情報５との一致・不一致を示す前述の一致比較結果信号７ｂと、大小関係を示す大小比較結果信号７ａと、ヘッダ抽出情報３と比較情報５とを連続して比較した結果を示す連続比較結果信号７ｃを含んだ比較結果情報７を出力するようになっていて、大小比較結果信号７ａを生成する大小比較部６１と、一致比較結果信号７ｂを生成する一致比較部６２と、連続比較結果信号７ｃを生成する連続比較部６１１とを備える。
【０１０１】
情報比較部６はさらに、ヘッダ抽出情報３と比較情報５との比較対象となる比較対象ビットを通知するための比較対象通知信号６６を生成する比較対象通知信号生成部６３を備えていて、大小比較部６１と一致比較部６２とが、比較対象通知信号６６が通知する比較対象ビットを対象としてヘッダ抽出情報３と比較情報５とを比較するようになっている。
【０１０２】
図７に比較対象通知信号生成部６３の構成を示す。比較対象通知信号生成部６３は、パケット判定部８が生成する対象通知指示信号６４に含まれるマスク指示信号６４−１に応じマスク信号６５を生成するマスク信号生成回路６７と、比較対象通知信号生成部６３に比較対象通知信号６６を生成させるために比較情報生成部４が生成した比較情報５−３と上述のマスク信号６５とのいずれかを、パケット判定部８が生成する対象通知指示信号６４に含まれるマスク選択信号６４−１に応じ選択して出力するセレクタ６９と、セレクタ６８が選択した信号をマスク指示信号６４−２ｂに応じて反転させる信号反転部６９とを有する構成であり、情報比較部６は、上述の比較対象通知信号６６とヘッダ抽出情報３と比較情報５とに応じ比較結果情報７を出力するようになっている。
【０１０３】
以下に、比較結果情報７を構成する一致比較結果信号７ｂと大小比較結果信号７ａを出力する一致比較部６２と大小比較部６１との詳細な構成を記す。比較結果情報７は、複数の一致比較結果信号７ｂ−１〜７ｂ−４を含んでいて、図４に示すように、一致比較部６２は、ヘッダ抽出情報３と比較情報５との一致・不一致を検知し上述の各一致比較結果信号７ｂを出力する複数の一致比較回路６１０−１〜６１０−４を有する。
【０１０４】
比較情報生成部４は、一致比較回路６１０別に複数の比較情報５−１〜５−４を生成し、ヘッダ抽出情報生成部２も同様に、一致比較回路６１０別に複数のヘッダ抽出情報３−１〜３−４を生成するようになっていて、一致比較回路６１０−１〜６１０−４はヘッダ抽出情報３−１〜３−４と比較情報５−１〜５−４を比較して一致比較結果信号７ｂ−１〜７ｂ−４を出力する。各一致比較回路６１０は、ヘッダ抽出情報３と比較情報５とのＭＳＢ〜ＬＳＢの各ビットに対応するＸＮＯＲ回路と、各ＸＮＯＲ回路の出力の積を計算するＡＮＤ回路とを持ち、全てのビットが一致していたときに一致を意味するＨレベルの一致比較結果信号７ｂを出力するようになっている。
【０１０５】
また、一致比較回路６１０−１は、他の一致比較回路６１０−２〜６１０−４とは異なり、ヘッダ抽出情報３−１と比較情報５−１の比較対象通知信号６６が示す比較対象ビットを比較するために、上述のＸＮＯＲ回路に代わりＸＯＲ回路とＮＡＮＤ回路からなるマスク付ＸＮＯＲ回路６１０−１１を持った構成である。
【０１０６】
比較対象通知信号生成部６３は比較対象外ビットをＬレベルにした比較対象通知信号６６を生成するようになっていて、比較対象通知信号６６がＬレベルとなっているビットに対応するマスク付ＸＮＯＲ回路６１５は、一致を示すＨレベルの信号を出力するので、一致比較回路６１０−１は、比較対象ビットのみの比較結果が反映された一致比較結果信号７ｂ−１を出力することができる。
【０１０７】
比較結果情報７は図５に示すように、大小比較結果信号７ａ−１、７ａ−２を含んでいて、大小比較部６１は、ヘッダ抽出情報３−１、３−２と比較情報５−１、５−２との大小をそれぞれ検知し上述の各大小比較結果信号７ａ−１、７ａ−２を出力する複数の大小比較回路６２０−１、６２０−２を有する。大小比較回路６２０−１、６２０−２はそれぞれ、比較対象ビットにおけるヘッダ抽出情報３−１、３−２と比較情報５−１、５−２との比較をし、ヘッダ抽出情報３−１、３−２が比較情報５以上だったときにＨレベルの大小比較結果信号７ａ−１、７ａ−２を出力し、ヘッダ抽出情報３−１、３−２が比較情報５未満だったときＬレベルの大小比較結果信号７ａ−１、７ａ−２を出力するように構成されている。図５に示すとおり、大小比較回路６２０−１、６２０−２は、ヘッダ抽出情報３−１、３−２と比較情報５−１、５−２と比較対象通知信号６６とのＭＳＢ〜ＬＳＢの各ビットに対応するビット比較回路６００と各ビット比較回路６００の出力の積を計算し大小比較結果信号７ａ−１、７ａ−２を出力するＡＮＤ回路６０３とを持つ。
【０１０８】
各ビット比較回路６００は、ヘッダ抽出情報３−１、３−２と比較情報５−１、５−２と比較対象通知信号６６との当該各ビット比較回路６００に対応するビットと上位ビットに対応する各ビット比較回路６００から比較完了フラグ６０２を受け、下位ビットに対応する各ビット比較回路６００へ比較完了フラグ６０２を出力し、ＡＮＤ回路６０３へ比較結果フラグ６０１を出力するようになっている。
【０１０９】
対応するビットが比較対象ビットであることを比較対象通知信号６６により通知されていて、上位ビットに対応するビット比較回路６００がＬレベルの比較完了フラグ６０２を出力している場合、各ビット比較回路６００は、対応するビットの大小関係を比較し、ヘッダ抽出情報３がＬレベルで比較情報５がＨレベルだった場合にＬレベルを出力し、その他の場合にＨレベルを出力するようになっている。
【０１１０】
また、大小比較回路６２０−１、６２０−２は、上位ビットに対応するビット比較回路６００がＨレベルの比較完了フラグ６０２を出力している場合や、当該大小比較回路６２０でヘッダ抽出情報３−１、３−２と比較情報５−１、５−２との大小関係が決定された場合に下位ビットに対応する大小比較回路６２０−１、６２０−２へＨレベルの比較完了フラグ６０２を出力するようになっている。
【０１１１】
比較情報生成部４は、大小比較回路６２０−１、６２０−２別に複数の比較情報５−１、５−２を生成し、同様に、ヘッダ抽出情報生成部２は、大小比較回路６２０−１、６２０−２別に複数のヘッダ抽出情報３−１、３−２を生成するようになっているので、パケット判定部８は、ヘッダ抽出情報３−１、３−２を読み込むことなく大小比較結果信号７ａ−１、７ａ−２に基づきヘッダ抽出情報３の範囲を検知できる。
【０１１２】
例えば本発明によるパケット処理回路を、ＬＡＮへＩＰｖ４受信パケットを送信するルータに用いた際に、ＬＡＮに付与されたネットワークアドレスから決まる送信先ＩＰアドレス値の最小値を比較情報５−１として大小比較回路６２０−１へ入力し、最大値よりも一つ大きい値を比較情報５−２として大小比較回路６２０−２へ入力し、受信パケットに搭載された送信先ＩＰアドレス値をヘッダ抽出情報３−１、３−２として大小比較回路６２０−１、６２０−２へ入力した場合、大小比較結果情報７ａ−１、７ａ−２に基づき受信パケットに搭載された送信先ＩＰアドレスがＬＡＮに付与されたネットワークアドレスの範囲内かどうかが検知できる。
【０１１３】
また、１つの大小比較回路６２０を用いて、比較情報５を変化させてヘッダ抽出情報３と複数回比較しても、パケット判定部８にヘッダ抽出情報３を読み込むことなくヘッダ抽出情報３の範囲が検知可能である。
【０１１４】
また、図１に示すとおり、比較結果情報７は、ヘッダ抽出情報３と比較情報５とを連続して比較した結果を示す連続比較結果信号７ｃを含み、情報比較部６は、連続比較結果信号７ｃを生成する連続比較部６１１を備えている。連続比較部６１１は、前回出力した連続比較結果信号７ｃと一致比較部６２が今回生成する一致比較結果信号７ｂとに応じ今回出力する連続比較結果信号７ｃを生成するため、パケット判定部８は、情報比較部６が生成する比較結果情報７を毎回確認することなく、連続比較結果信号７ｃに応じて送信すべきパケットを判定できる。
【０１１５】
連続比較部６１１の一例は、図６（ａ）に示すとおり、連続一致検知回路６１４と連続不一致検知回路６１５とを有し、上述の連続比較結果信号７ｃは、連続一致検知回路６１４が出力する連続一致データ７ｃ−１と、連続不一致検知回路６１５が出力する連続不一致データ７ｃ−２とを含んでいる。連続一致検知回路６１４は、一致比較結果信号７ｂ−１と連続一致データ７ｃ−１の論理積を出力するＡＮＤ回路６１４ａと、ＡＮＤ回路６１４ａの出力をパケット判定部８が出力する結果保持信号６１２が入力されるタイミングで保持するフリップフロップ６１４ｂにより構成されている。また、フリップフロップ６１４ｂの出力は、連続比較を開始するときにパケット判定部８から出力される結果解除信号６１３によりプリセットされＨレベルとなる。
【０１１６】
一致比較結果信号７ｂ−１は、一致を示すときＨレベルとなり不一致を示すときＬレベルとなるため、結果解除信号６１３によりプリセットされた後、一致比較結果信号７ｂ−１がＨレベルを維持している間は、フリップフロップ６１４ｂの出力はＨレベルなので連続一致データ７ｃ−１が出力され、一致比較結果信号７ｂ−１がＬレベルとなると、フリップフロップ６１４ｂの出力もＬレベルとなるので連続一致データ７ｃ−１が出力されず、さらにフリップフロップ６１４ｂの出力はＡＮＤ回路６１４ａにフィードバックされてフリップフロップ６１４ｂにより保持されるので、いったん比較結果信号７ｂ−１がＬレベルとなると結果解除信号６１３によりプリセットされるまでは連続一致データ７ｃ−１が出力されない。上述のとおり、連続一致検知回路６１４は、一致比較部６２が今回生成する一致比較結果信号７ｂがヘッダ抽出情報３と比較情報５との一致を示すとき、連続一致データ７ｃ−１を今回出力するようになっている。
【０１１７】
連続不一致検知回路６１５は、一致比較結果信号７ｂ−１と連続一致データ７ｃ−１の論理和を出力するＯＲ回路６１５ａと、ＯＲ回路６１５ａの出力をパケット判定部８が出力する結果保持信号６１２が入力されるタイミングで保持するフリップフロップ６１５ｂにより構成されている。また、フリップフロップ６１５ｂの出力は、連続比較を開始するときにパケット判定部８から出力される結果解除信号６１３によりリセットされＬレベルとなる。
【０１１８】
結果解除信号６１３によりリセットされた後、一致比較結果信号７ｂ−１がＬレベルを維持している間は、フリップフロップ６１５ｂの出力はＬレベルなので連続不一致データ７ｃ−２が出力され、一致比較結果信号７ｂ−１がＨレベルとなると、フリップフロップ６１５ｂの出力もＨレベルとなるので連続不一致データ７ｃ−２が出力されず、さらにフリップフロップ６１５ｂの出力はＯＲ回路６１５ａにフィードバックされてフリップフロップ６１５ｂにより保持されるので、いったん比較結果信号７ｂ−１がＨレベルとなると結果解除信号６１３によりリセットされるまでは連続一致データ７ｃ−１が出力されない。上述のとおり、連続不一致検知回路６１５は、一致比較部６２が今回生成する一致比較結果信号７ｂがヘッダ抽出情報３と比較情報５との不一致を示すとき、連続不一致データ７ｃ−２を今回出力するようになっている。
【０１１９】
また、連続比較部６１１の他の例として、図６（ｂ）に示すように、複数の一致比較結果信号７ｂ−１〜７ｂ−４を入力し、複数の一致比較結果信号７ｂ−１〜７ｂ−４と連続一致データ７ｃ−１の論理積を出力するＡＮＤ回路６１４ａを連続一致検知回路６１４に設けた場合、連続一致検知回路６１４は、前回連続一致データ７ｃ−１を生成し、複数の一致比較部６２が今回生成する全ての一致比較結果信号７ｂがヘッダ抽出情報３と比較情報５との一致を示すとき、連続一致データ７ｃ−１を今回生成するように動作する。
【０１２０】
同様に複数の一致比較結果信号７ｂ−１〜７ｂ−４と連続不一致データ７ｃ−２の論理和を出力するＯＲ回路６１５ａを連続不一致検知回路６１５に設けた場合、連続不一致検知回路６１５は、前回連続不一致データ７ｃ−２を生成し、複数の一致比較部６２が今回生成する全ての一致比較結果信号７ｂがヘッダ抽出情報３と比較情報５との一致を示すとき、連続不一致データ７ｃ−２を今回生成するように動作する。
【０１２１】
比較情報生成部４は、図１に示すように、比較情報記憶回路４１と比較情報選択回路４２とを備え、比較情報記憶回路４１は、複数の比較情報５を記憶していて、比較情報選択回路４２が比較情報記憶回路４１に記憶された比較情報５から比較情報生成部４が生成する比較情報５を選択する構成になっている。
【０１２２】
パケット判定部８は、比較情報記憶回路４１へ比較情報５を書き込み可能なので、受信パケットに応じ比較情報５を書き換えてパケットの判定をすることができる。例えば受信パケットに搭載された送信元ＩＰアドレスをパケット判定部８が比較情報記憶回路４１に書き込めば、宛先ＩＰアドレスを読み込むことなく送信元ＩＰアドレスと宛先ＩＰアドレスを比較し両アドレスが一致する破棄すべき受信パケットを判定することができる。
【０１２３】
図３に示すように、比較情報記憶回路４１は、比較情報５を記憶する複数のレジスタ４４を有し、パケット判定部８の制御に従ってレジスタ４４を選択しパケット判定部８から受けた書込データを書き込めるようになっている。比較情報選択回路４２は、前述の一致比較回路６１０−１〜６１０−４別にセレクタ４２−１〜４２−４を有し、各セレクタ４２−１〜４２−４はそれぞれ、パケット判定部８が生成する比較情報指示信号４３−１〜４３−４に応じて比較情報記憶回路４１の複数のセレクタ４４のいずれかを選択し記憶している比較情報５を読み出すので、比較情報５を一致比較回路６１０−１〜６１０−４別に選択することができる。
【０１２４】
また、上述のセレクタ４２−１〜４２−４が読み出した比較情報５は、大小比較回路６２０−１、６２０−２にも入力されるので、比較情報選択回路４２は、比較情報生成部４が生成する比較情報５を大小比較回路６２０−１、６２０−２別に選択することができる。
【０１２５】
さらに、比較情報記憶回路４１が記憶している情報は、パケット判定部８から書き換え可能になっていて、パケット処理回路の起動時に、パケット判定部８がプログラムに従い比較情報記憶回路４１に比較情報５を書き込むことができる。よって、プログラムを変更することで、ハードウエアの変更なく、比較情報出力部に処理するプロトコルに応じた比較情報５を生成させることができる。
【０１２６】
ヘッダ抽出情報生成部２は、図１に示すように、複数のヘッダ保持回路１１１に接続された保持回路選択部２２と、保持回路選択部２２が選択したヘッダ保持回路１１１に保持された情報からヘッダ抽出情報３を抽出する情報抽出部２１とを備えている。保持回路選択部２２は、複数のヘッダ保持回路１１１のいずれかを選択し、選択したヘッダ保持回路１１１に保持された情報を選択ヘッダ情報２４として出力し、情報抽出部２１は図２に示すように、選択ヘッダ情報２４からヘッダ抽出情報３を生成する。さらに、選択ヘッダ情報２４は、ヘッダ読込回路２３とチェックサム計算部９にも送られる。
【０１２７】
パケット判定部８が受信パケットのヘッダを読み込む場合、Read（リード）信号とAddress(1)信号によりヘッダ読込回路２３を制御し、ヘッダ読込回路２３はパケット判定部８からの制御に応じて選択ヘッダ情報２４の情報をパケット判定部８に送り出すようになっている。
【０１２８】
情報抽出部２１は図２に詳しく示すように、パケット判定部８が生成するヘッダ抽出情報指示信号２５−１、２５−２に応じて選択ヘッダ情報２４からヘッダ抽出情報３−１〜３−４を抽出する。ヘッダ抽出情報指示信号２５−２は、選択ヘッダ情報２４からヘッダ抽出情報３−１〜３−４の抽出を開始する位置を指示していて、ヘッダ抽出情報指示信号２５−１は、ヘッダ抽出情報３−１〜３−４の４つを全て同じ情報とするか、各々異なる情報とするか、２つずつ同じ情報とするかなどの指示をする。
【０１２９】
図２に示す複数のセレクタ２６の各々は、複数のヘッダ抽出情報指示信号変更回路２７のいずれかに対応していて、対応するヘッダ抽出情報指示信号変更回路２７の制御に応じて選択ヘッダ情報２４の一部の情報を抽出する。また複数のヘッダ抽出情報指示信号変更回路２７の各々は、隣接するヘッダ抽出情報指示信号変更回路２７から受け取ったヘッダの抽出位置を示す信号を１つ変更して、次のヘッダ抽出情報指示信号変更回路２７とセレクタ２６に指示する。また、セレクタ２８−１〜２８−３は、ヘッダ抽出情報指示信号２５−１の指示に動作しヘッダ抽出情報３−１〜３−４を出力する。
【０１３０】
上述の通り、ヘッダ抽出情報生成部２は、複数のヘッダ抽出情報３−１〜３−４を生成でき、各々のヘッダ抽出情報３−１〜３−４は一致比較回路６１０−１〜６１０−４に入力されるので、複数のヘッダ抽出情報３−１〜３−４と複数の比較情報５−１〜５−４とを同時に比較することができる。また、ヘッダ抽出情報３−１、３−２は、大小比較回路６２０−１、６２０−２にも入力されるようになっているので、複数のヘッダ抽出情報３と複数の比較情報５との大小関係を同時に比較することができる。
【０１３１】
図１に示すチェックサム計算部９は、パケット格納部１が格納したパケットのヘッダのチェックサム計算を行うようになっていて、パケット判定部８は、ＩＰヘッダの先頭位置を検知してチェックサム計算の対象となる範囲を指示する計算指示信号９２を生成する。チェックサム計算部９は計算指示信号９２が示す範囲のチェックサム計算をしてチェックサム計算結果信号９１を出力するので、パケット判定部８は、チェックサム計算結果信号９１に応じ送信すべきパケットを判定できる。
【０１３２】
パケット判定部８は、ＣＰＵ８４と読込データ選択部８１とデコーダ８０と前述のプログラム記憶メモリ８３とヘッダ保持回路選択部８２とを備えている。読込データ選択部８１は、ヘッダ読込回路２３が送り出した情報とチェックサム計算結果信号とのいずれかを、ＣＰＵ８４からの制御に応じて選択し読込データ８５を出力する。
【０１３３】
ＣＰＵ８４は、比較結果情報７と読込データ８５とに応じプログラム記憶メモリ８３に従ってAddress(1）、（2）信号、Read信号、Write（ライト）信号及び書込データの制御信号とコマンド８５とを出力し、デコーダ８０は、ＣＰＵ８４が出力したコマンド８６に応じて前述のヘッダ抽出情報指示信号２５、比較情報指示信号４３、対象通知指示信号６４、計算指示信号９２、送信指示信号１５、比較結果解除信号６１２及び比較結果保持信号６１３を生成して、送信すべきパケットを判定するようになっている。
【０１３４】
また、ヘッダ書換部８２は、上述のヘッダ保持回路選択信号１１５に基づき保持回路選択部２２が選択した順に送信すべきパケットに搭載された情報を保持するヘッダ保持回路１１１を選択し、選択したヘッダ保持回路１１１が保持した情報を書き換えて新たにヘッダを生成する。
【０１３５】
【発明の効果】
以上説明したように請求項１に記載の発明によれば、ヘッダ抽出情報生成部がパケット格納部に格納した受信パケットのヘッダからヘッダ抽出情報を抽出し、情報比較部がヘッダ抽出情報と比較情報生成部が生成した比較情報とを比較し比較結果情報をパケット判定部に出力し、パケット判定部が比較結果情報に応じ送信すべきパケットを判定して新たなヘッダをパケット格納部に出力し、パケット格納部が格納した受信パケットにパケット判定部により出力された新たなヘッダを搭載して送信パケットとして出力するので、パケット判定部がヘッダを読み込むことなく比較結果を得ることができ、このため、ヘッダ生成に必要な情報の抽出とヘッダの生成との各々に高性能なＣＰＵを別に用意する必要がなく、また、余分なメモリを必要とせず、また、パケット判定部がヘッダを読み込むことなく比較結果情報に含まれる一致比較結果信号によりヘッダ抽出情報と比較情報との一致・不一致を判別することができ、さらに情報比較部が、前回出力した連続比較結果信号と今回生成する一致比較結果信号とに応じ、今回出力する連続比較結果信号を決定するようになっているので、パケット判定部が連続比較結果信号に応じて送信すべきパケットを判定できる。
【０１３６】
請求項２に記載の構成によれば、パケット判定部がパケットのフォーマットを判別でき、判別したパケットのフォーマットに応じたパケットの処理ができる。
請求項３に記載の構成によれば、情報比較部が大小比較結果信号を生成してパケット判定部に出力するので、パケット判定部がヘッダを読み込むことなく比較結果情報に含まれる大小比較結果信号によりヘッダ抽出情報と比較情報との大小関係を判別することができる。
【０１３７】
請求項４に記載の構成によれば、パケット判定部が連続一致データにより、ヘッダ抽出情報と比較情報とが連続して全て一致したか又は一度でも不一致が発生したかが判別できる。
請求項５に記載の構成によれば、パケット判定部が連続不一致データにより、ヘッダ抽出情報と比較情報とが一度でも一致したか又は連続して全て不一致だったかが判別できる。
【０１３８】
請求項６に記載の構成によれば、一致比較回路別に比較情報生成部が生成した複数の比較情報とヘッダ抽出情報とを同時に比較することができる。
請求項７に記載の構成によれば、パケット判定部が複数の比較情報とヘッダ抽出情報を連続して一致比較した結果を得ることができる。
請求項８に記載の構成によれば、パケット判定部が複数の比較情報とヘッダ抽出情報を連続して不一致比較した結果を得ることができる。
請求項９に記載の構成によれば、大小比較回路別に複数の比較情報とヘッダ抽出情報とを同時に比較し、大小比較結果信号からヘッダ抽出情報の範囲を検知することができる。
【０１３９】
請求項１０に記載の構成によれば、情報比較部が比較対象通知信号により比較対象ビットを検知し、ヘッダ抽出情報と比較情報との比較対象ビットのみを比較することができる。
請求項１１に記載の構成によれば、パケット判定部が対象通知指示信号により、比較対象ビットを対象としたヘッダ抽出情報と比較情報との比較を情報比較部に指示できる。
【０１４０】
請求項１３に記載の構成によれば、パケット判定部が受信パケットに応じ比較情報を書き換えてパケットの判定をすることができる。
請求項１４に記載の構成によれば、一致比較回路別に比較情報記憶回路を設けることなく、ひとつの比較情報記憶回路から一致比較回路別に比較情報生成部が生成する比較情報を選択できる。
請求項１５に記載の構成によれば、大小比較回路別に比較情報記憶回路を設けることなく、ひとつの比較情報記憶回路から大小比較回路別に比較情報生成部が生成する比較情報を選択できる。
【０１４１】
請求項１６に記載の構成によれば、ヘッダ抽出情報生成部がボディ収容部からはヘッダ抽出情報を抽出する必要がなく、ヘッダ記憶部からヘッダ抽出情報を抽出できる。
請求項１７に記載の構成によれば、ヘッダ抽出情報生成部がヘッダ抽出情報を抽出しているときでも、すでに記憶した第１の情報を失うことなく新たに受信されたパケットの第１の情報を記憶させることができる。
請求項１８に記載の構成によれば、ヘッダ書換部が破棄パケットのヘッダを生成することなく、送信すべきパケットの第１の情報を保持するヘッダ保持回路を保持回路選択部が選択した順に選択し、その第１の情報を書き換えて新たにヘッダを生成することができる。
【０１４２】
請求項１９に記載の構成によれば、送信パケット生成部が送信指示信号に応じて、ヘッダ記憶部が記憶した新たに生成されたヘッダを含む第１の情報とボディ収容部とが記憶した第２の情報から新たに送信パケットを生成できる。
請求項２０に記載の構成によれば、ヘッダ保持回路に保持した送信すべきパケットに搭載される第１の情報を確実に送信パケット生成部に送ることができる。
請求項２１に記載の構成によれば、送信パケット生成部が新たに生成したヘッダを搭載した送信パケットを確実に生成することができる。
請求項２２に記載の構成によれば、パケット判定部がヘッダを読み込むことなくチェックサム計算結果を得ることができる。
【０１４３】
請求項２３に記載の構成によれば、プログラムの変更により異なるプロトコルを実装したパケットを処理させることができる。
請求項２４に記載の構成によれば、複数のヘッダ抽出情報と複数の比較情報とを同時に比較することができる。
請求項２５に記載の構成によれば、複数のヘッダ抽出情報と複数の比較情報との大小関係を同時に比較することができる。
【図面の簡単な説明】
【図１】本発明によるパケット処理回路の実施の形態の基本構成を示すブロック図
【図２】図１中の情報抽出部を詳しく示すブロック図
【図３】図１中の比較情報生成部を詳しく示すブロック図
【図４】図１中の一致比較部を詳しく示すブロック図
【図５】図１中の大小比較部を詳しく示すブロック図
【図６】（ａ）一例として、１つの比較結果信号から連続比較結果信号を生成する連続比較部を詳しく示すブロック図
（ｂ）他の例として、複数の比較結果信号から連続比較結果信号を生成する連続比較部を詳しく示すブロック図
【図７】図１中の連続比較部を詳しく示すブロック図
【図８】図１中のボディ収容部を詳しく示すブロック図
【図９】従来のパケット処理回路を示すブロック図
【図１０】従来から用いられている送受信されるパケットの下位レイヤヘッダの構成を示す図
【図１１】従来から用いられているＩＰｖ4ヘッダの構成を示す図
【符号の説明】
１  パケット格納部
２  ヘッダ抽出情報生成部
３  ヘッダ抽出情報
４  比較情報生成部
５  比較情報
６  情報比較部
７  比較結果情報
７ａ  大小比較結果信号
７ｂ  一致比較結果信号
７ｃ  連続比較結果信号
７ｃ−１  連続一致データ
７ｃ−２  連続不一致データ
８  パケット判定部
９  チェックサム計算部
１１  ヘッダ記憶部
１３  送信パケット生成部
１４  ボディ収容部
１５  送信指示信号
２１  情報抽出部
２２  保持回路選択部
２５  ヘッダ抽出情報指示信号
４１  比較情報記憶回路
４２  比較情報選択回路
４３  比較情報指示信号
６１  大小比較部
６２  一致比較部
６３  比較対象通知信号生成部
６４  対象通知指示信号
６６  比較対象通知信号
８２  ヘッダ書換部
８３  プログラム記憶メモリ
９１  チェックサム計算結果信号
９２  計算指示信号
１１１  ヘッダ保持回路
１１３  ヘッダ保持選択部
１１４  ヘッダ送出部
１４０  メモリ
１４１  ボディ書込回路
１４２  ボディ読出部
６１０  一致比較回路
６１１  連続比較部
６１４  連続一致検知回路
６１５  連続不一致検知回路
６２０  大小比較回路
【図１】
0003913085.tif 000002
【図２】
0003913085.tif 000003
【図３】
0003913085.tif 000004
【図４】
0003913085.tif 000005
【図５】
0003913085.tif 000006
【図６】
0003913085.tif 000007
【図７】
0003913085.tif 000008
【図８】
0003913085.tif 000009
【図９】
0003913085.tif 000010
【図１０】
0003913085.tif 000011
【図１１】
0003913085.tif 000012