(57)【要約】【課題】パケット構文解析に要する処理時間を短縮できるとともに、消費電力を低減することを可能とする。【解決手段】通信保証プロトコルの各要素である要素プロトコルごとに設けられた複数の要素回路１０１1〜１０１M（Ｍは２以上の整数）を所定の順番に縦続接続し、各要素回路１０１1〜１０１Mで、当該要素プロトコルの下に作成されたヘッダ内の情報を解析する。【選択図】  図１
2005303415.tif 000002
【特許請求の範囲】
【請求項１】
各種通信用プロトコルを要素としこれら要素プロトコルの集合からなる通信保証プロトコルについて、前記要素プロトコルの任意の組み合わせの下に作成されたパケットの構文解析を行うパケット構文解析装置において、
前記要素プロトコルごとに設けられ、対応する要素プロトコルの下に作成されたヘッダ内の情報を解析する要素回路を複数備え、これら要素回路が所定の順番に縦続接続されていることを特徴とするパケット構文解析装置。
【請求項２】
請求項１に記載のパケット構文解析装置において、
前記要素回路は、前記通信保証プロトコルに応じて決まるヘッダの配列の順番に、縦続接続されていることを特徴とするパケット構文解析装置。
【請求項３】
請求項１に記載のパケット構文解析装置において、
前記要素回路は、縦続接続された前記各要素回路のうち自要素回路よりも先頭寄りの要素回路で生成された識別子マークで特定される情報に応じて、前記パケットを構成する前記ヘッダ内の情報を解析することを特徴とするパケット構文解析装置。
【請求項４】
請求項３に記載のパケット構文解析装置において、
前記要素回路は、前記ヘッダ内の情報を解析して目的とする情報を検出した際、検出された前記情報に関する識別子マークとして、対応する前記要素プロトコルのヘッダの当該パケット内における開始位置を特定するアクションコードを生成することを特徴とするパケット構文解析装置。
【請求項５】
請求項３に記載のパケット構文解析装置において、
前記要素回路は、前記ヘッダ内の情報を解析して目的とする情報を検出した際、検出された前記情報に関する識別子マークとして、対応する前記ヘッダ内における前記情報の位置を特定するマークコードを生成することを特徴とするパケット構文解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット通信技術に関し、特にネットワーク上の中継機器に用いられ、受信したパケットの構成の解析（以下、パケット構文解析という）を行うパケット構文解析技術に関する。
【背景技術】
【０００２】
従来、受信したパケットの経路制御を行うネットワーク機器として、Ｌ２スイッチ（Layer 2 Switch）やＬ３スイッチ（Layer 3 Switch）などの中継機器が知られている。これらは、それぞれ、ＯＳＩ（Open System Interconnection）参照モデルにおけるレイヤ２、レイヤ３の情報に基づいて、受信したパケットの経路制御などを行うものである。
一方、通信の多様化に伴い、例えばレイヤ３のＩＰ（Internet Protocol）、レイヤ４のＴＣＰ（Transmission Control Protocol）、ＵＤＰ（User Datagram Protocol）などの、様々な通信プロトコルに基づいて通信が行われるようになってきた。
【０００３】
また、通信品質（ＱｏＳ：Quality of Serviceともいう）を考慮した中継機器も研究され、これらの中継機器では、パケットの所定のフィールドに記録された情報、例えば、ＩＰｖ４の場合は、ＴｏＳ（Type of Service）値などの情報に応じてパケットを振り分けて、パケットごとに異なる通信品質で通信が行われる（例えば、特許文献１など参照）。そして、通信品質に応じて多様にパケットを分類しようとする場合、プログラムに基づいてパケットのヘッダ情報などを読み出すパケット構文解析が行われていた。
【０００４】
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【特許文献１】特開２００３−２４４２２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような従来のパケット構文解析技術では、種々の通信プロトコルの下に生成されたパケットを多様に分類しようとする場合、プログラムに基づいて演算処理部（ＣＰＵ）が分類処理を行うようになっているため、パケット構文解析に要する処理時間が長い、消費電力が大きい、高価であるなどの問題があった。
本発明はこのような課題を解決するためのものであり、パケット構文解析に要する処理時間を短縮できるとともに、消費電力を低減することが可能なパケット構文解析装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
このような目的を達成するために、本発明にかかるパケット構文解析装置は、各種通信用プロトコルを要素としこれら要素プロトコルの集合からなる通信保証プロトコルについて、要素プロトコルの任意の組み合わせの下に作成されたパケットの構文解析を行うパケット構文解析装置において、要素プロトコルごとに設けられ、対応する要素プロトコルの下に作成されたヘッダ内の情報を解析する要素回路を複数備え、これら要素回路が所定の順番に縦続接続されているものである。
【０００７】
要素回路の縦続接続の順番については、通信保証プロトコルに応じて決まるヘッダの配列の順番に、縦続接続するようにしてもよい。
【０００８】
また、要素回路では、縦続接続された各要素回路のうち自要素回路よりも先頭寄りの要素回路で生成された識別子マークで特定される情報に応じて、パケットを構成するヘッダ内の情報を解析するようにしてもよい。
【０００９】
この際、要素回路で、ヘッダ内の情報を解析して目的とする情報を検出した際、検出された情報に関する識別子マークとして、対応する要素プロトコルのヘッダの当該パケット内における開始位置を特定するアクションコードを生成するようにしてもよい。
【００１０】
あるいは、要素回路で、ヘッダ内の情報を解析して目的とする情報を検出した際、検出された情報に関する識別子マークとして、対応するヘッダ内における情報の位置を特定するマークコードを生成するようにしてもよい。
【発明の効果】
【００１１】
本発明によれば、所定の順番に縦続接続された各要素回路で、当該要素プロトコルの下に作成されたヘッダ内の情報が解析されるものとなり、各種要素プロトコルに対応するためのプログラムを必要とすることなくパケット構文解析できる。
これにより、パケット構文解析に要する処理時間を短縮できるとともに、消費電力を低減することができる。
また、各要素回路（ヘッダ解析部）が通信保証プロトコルに応じて決まるヘッダの配列の順番に縦続接続されているため、処理時間を一層短縮できるとともに、消費電力をさらに低減することができる。
【発明を実施するための最良の形態】
【００１２】
次に、本発明の実施の形態について図面を参照して説明する。
［第１の実施の形態］
まず、図１を参照して、本発明の第１の実施の形態にかかるパケット構文解析装置について説明する。図１は本発明の第１の実施の形態にかかるパケット構文解析装置の構成を示すブロック図である。
このパケット構文解析装置１００は、Ｅｔｈｅｒｎｅｔ（登録商標）用のプロトコル、ＰＰＰ（Point to Point Protocol）、ＩＰｖ４（Internet Protocol version 4）、ＩＰｖ６（Internet Protocol version 6）など、各種通信用プロトコルを要素とし、これら要素プロトコルの集合からなる通信保証プロトコルについて、１つ以上の要素プロトコルの組み合わせの下に作成されるパケットの構文解析を行うものである。
【００１３】
パケット構文解析装置１００には、要素回路として、第１のヘッダ解析部１０１1から第Ｍのヘッダ解析部１０１MまでのＭ（Ｍは２以上の整数）個設けられており、これら要素回路が入力パケットデータに対して縦続接続（カスケード接続）された構成をなしている。
各ヘッダ解析部１０１m（ｍは１〜Ｍの整数）は、上記の通信保証プロトコルの各要素である要素プロトコルごとに設けられ、各要素プロトコルの下に作成されたヘッダ内の情報を解析する。
【００１４】
ここで、各ヘッダ解析部１０１mは、通信保証プロトコルに応じて決まるヘッダの配列の順番に、縦続接続されているものとする。具体的には、第１のヘッダ解析部１０１1がＥｔｈｅｒｎｅｔのヘッダ用、第２のヘッダ解析部１０１2がＶＬＡＮ（Virtual-LAN）のヘッダ用、第３のヘッダ解析部１０１3がＰＰＰｏＥ（PPP over Ethernet）のヘッダ用、第４のヘッダ解析部１０１4がＩＰｖ４のヘッダ用、第５のヘッダ解析部１０１5がＩＰｖ６のヘッダ用、第６のヘッダ解析部１０１6がＡＨ（Authentication header）ヘッダ用、第７のヘッダ解析部１０１7がＥＳＰ（Encapsulating Security Payload）ヘッダ用、第８のヘッダ解析部１０１8がＴＣＰのヘッダ用、第９のヘッダ解析部１０１9がＵＤＰのヘッダ用であり、この順番にこれらヘッダ解析部１０１mを縦続接続してもよく、他の順番であってもよい。
【００１５】
［第１の実施の形態の動作］
次に、図２を参照して、本発明の第１の実施の形態にかかるパケット構文解析装置１００の動作について説明する。図２は本発明の第１の実施の形態にかかるパケット構文解析装置１００で構文解析されるパケットの構成を示す説明図である。
【００１６】
第ｍのヘッダ解析部１０１m（ｍは１〜Ｍの整数）には、パケットデータ［ｍ−１］が入力され、第ｍのヘッダ解析部１０１mからはパケットデータ［ｍ］が出力されるようになっている。
ここで、パケットデータ［０］はパケット構文解析装置１００への入力パケットデータを示し、パケットデータ［ｍ］はパケット構文解析装置１００からの出力パケットデータを示す。
【００１７】
パケット構文解析装置１００には、図２に示すように、所定のパケット間ギャップの時間間隔でパケットが分離されたパケットデータが入力される。各パケットは、１つ以上のヘッダをそれぞれ有する。図２の例では、ヘッダ［１］からヘッダ［Ｍ］までのＭ個のヘッダがパケットに含まれており、各ヘッダ［ｍ］内には、パケットを分類するための情報（以下、識別子という）が記録されている。
以下では、図２に示すように、ヘッダ［ｍ］に記録されている識別子に番号を付け、識別子［ｍ，１］，識別子［ｍ，２］，…，識別子［ｍ，Ｋ［ｍ］］とする。したがって、ヘッダ［１］の各識別子は、識別子［１，１］，識別子［１，２］，…，識別子［１，Ｋ［１］］と番号付けされる。
【００１８】
パケット構文解析装置１００に入力されたパケットデータから、初めに識別子［１，１］，識別子［１，２］，…，識別子［１，Ｋ［１］］が第１のヘッダ解析部１０１1によって抽出される。
具体的には、パケット構文解析装置１００に入力されるパケットデータの最初のヘッダは、例えばＥｔｈｅｒｎｅｔ用のヘッダ（以下、単に「Ｅｔｈｅｒｎｅｔヘッダ」という）と予め決められており、第１のヘッダ解析部１０１1は、最初のヘッダとして予め決められたプロトコル用のヘッダ、上記例ではＥｔｈｅｒｎｅｔヘッダから上記の識別子を抽出するようになっている。Ｋ［ｍ］はヘッダ［ｍ］の識別子の数を示す。
【００１９】
第１のヘッダ解析部１０１1が抽出する識別子には、次ヘッダの種別を示す情報、自ヘッダ長などの次ヘッダの開始タイミングに関する情報（以下、次ヘッダ開始タイミング情報という）などが含まれていてもよい。
第１のヘッダ解析部１０１1は、抽出した識別子を、例えば、外部のバス１０２を介して出力するようにしてよいが、不図示のレジスタに記憶させる構成、抽出した識別子のうちの一部の識別子を第１のヘッダ解析部１０１1に出力する構成であってもよい。
【００２０】
第１のヘッダ解析部１０１1は、例えば、抽出した識別子のうちの、次ヘッダの種別を示す情報、および次ヘッダ開始タイミング情報を第２のヘッダ解析部１０１2に出力し、第２のヘッダ解析部１０１2は、入力された情報に基づき、入力されたパケットデータの２番目のヘッダが解析対象のプロトコル用のヘッダか否かを判断し、解析対象のプロトコル用のヘッダであると判断したとき、次ヘッダ開始タイミング情報に基づいて２番目のヘッダの開始タイミングを決定し、識別子の抽出を行う。第２のヘッダ解析部１０１2でも、第１のヘッダ解析部１０１1の場合と同様に、検出した識別子を出力するものとする。
【００２１】
第２のヘッダ解析部１０１2は、解析対象のプロトコル用のヘッダでないと判断したとき、入力されたパケットデータを所定時間遅延させて出力する。この遅延量は、ヘッダ解析部１０１m（ｍは２〜Ｍの整数）ごとに予め決められており、少なくとも、識別子の抽出を行うのに要する時間以上とする。上記の遅延量が識別子の抽出を行うのに要する時間より長い場合、上記で識別子を抽出した後、さらに遅延させて予め決められた遅延量となるようにする。第ｍのヘッダ解析部１０１m（ｍは３〜Ｍの整数）でも、解析対象のプロトコル用のヘッダが異なる点を除けば、第２のヘッダ解析部１０１2が行う上記の処理と同様の処理を行うものとする。
【００２２】
以上説明したように、本発明の第１の実施の形態にかかるパケット構文解析装置は、要素プロトコルごとに要素回路であるヘッダ解析部を設けて縦続接続し、各要素プロトコルの下に作成されたヘッダ内の情報を解析するようにしたので、プログラムを必要とすることなくパケット構文解析することが可能となり、パケット構文解析に要する処理時間を短縮できるとともに、消費電力を低減することができる。
また、各要素回路（ヘッダ解析部）が通信保証プロトコルに応じて決まるヘッダの配列の順番に縦続接続されているため、処理時間を一層短縮できるとともに、消費電力をさらに低減することができる。
【００２３】
また、パイプライン化が可能であるため、パケット構文解析装置によるパケットの解析が完了する前に、次のパケットの入力が可能である。パケットデータをメモリに格納した後にパケット構文解析を行う従来の技術では、１つのパケットに対してパケット構文解析が完了するまで、次のパケットのパケット構文解析ができない。このように、本発明は、パイプライン化によって、高速処理が可能となる。
【００２４】
さらに、ヘッダ解析部から次のヘッダ解析部にデータを順次出力する処理（以下、データパス処理という）を行うため、パケット構文解析の開始から完了までの時間が短くすることができる。パケットデータをメモリに格納した後にパケット構文解析を行う従来の技術では、解析時間に加えて、メモリアクセスなどに時間を要するため、回線の伝送速度（以下、ワイヤレートという）でのパケット構文解析が実現できない場合も生じうる。本発明によれば、データパス処理を行うため、ワイヤレートでのパケット構文解析が実現可能となる。
【００２５】
［第２の実施の形態］
次に、図３を参照して、本発明の第２の実施の形態にかかるパケット構文解析装置について説明する。図３は本発明の第２の実施の形態にかかるパケット構文解析装置を示す説明図であり、図３（ａ）は当該パケット構文解析装置を構成する各ヘッダ解析部を示すブロック構成を示す図であり、図３（ｂ）は当該パケット構文解析装置の動作を示す説明図である。
【００２６】
前述の第１の実施の形態では、各ヘッダ解析部が抽出した識別子を出力する構成を例として説明したが、本発明の第２の実施の形態では、識別子を特定する信号を出力する構成を例として説明する。
本発明の第２の実施の形態にかかるパケット構文解析装置は、前述した図１のパケット構文解析装置１００のヘッダ解析部１０１mに代えて、図３（ａ）に示すヘッダ解析部３０１m（ｍは１〜Ｍの整数）が番号の順に縦続接続された構成を有する。
【００２７】
図３（ａ）において、各ヘッダ解析部３０１mは、ヘッダ内の情報を解析して目的とする情報を検出する。ヘッダ内の情報を解析して目的とする情報を検出する動作は、例えば、第１の実施の形態にかかるパケット構文解析装置１００を構成する各ヘッダ解析部１０１mと同様に行うようにしてもよい。
【００２８】
本発明の第２の実施の形態のヘッダ解析部３０１mは、上記で検出した情報の、パケット内またはヘッダ内の位置を特定する信号であるアクションコードまたはマークコードを含む識別子マーク（以下、アクションコードもしくはマークコードのいずれか、または、アクションコードおよびマークコードの両方を識別子マークという）を生成し、出力するようになっている。
ここで、アクションコードは、対応する要素プロトコルのヘッダの開始位置を特定し、または所定の処理を指示する信号である。マークコードは、検出した識別子に対応する、ヘッダ内の情報の位置を特定する信号である。
【００２９】
図３（ａ）に示すように、第ｍのヘッダ解析部３０１m（ｍは１〜Ｍの整数）にはパケットデータ［ｍ−１］と前段のヘッダ解析部が出力した識別子マーク［ｍ−１］が入力され、第ｍのヘッダ解析部３０１mからはパケットデータ［ｍ］および識別子マーク［ｍ］が出力されるようになっている。なお、前段にヘッダ解析部のない第１のヘッダ解析部３０１1には、識別子を特定しない初期信号が入力されるものとする。
【００３０】
ここで、上記の識別子マーク［ｍ］は、図３（ｂ）に示すように、第ｍのヘッダ解析部３０１mが抽出した１つ以上の識別子を特定する信号であり、識別子［ｍ，１］，識別子［ｍ，２］，…，識別子［ｍ，Ｋ［ｍ］］ごとに対応する信号が生成され、上記の各識別子を特定する情報を内容とする信号である。
以下、識別子を特定する上記の信号のそれぞれを、図３（ｂ）に示すように、要素マークという。
【００３１】
図３（ｂ）に示す各要素マークは、マーク値を内容とし、各要素マークが有するマーク値［ｍ，１］，マーク値［ｍ，２］，…，マーク値［ｍ，Ｋ［ｍ］］は、それぞれ、識別子［ｍ，１］，識別子［ｍ，２］，…，識別子［ｍ，Ｋ［ｍ］］を識別するデジタル信号からなる。また、各要素マークは、マーク値を示すデジタル信号の先頭が各識別子の先頭と一致するようになっている構成、各識別子のデータ範囲内に入るようになっている構成、あるいは一定の時間間隔をおいて配置される構成のいずれでもよいが、マーク値を示すデジタル信号の先頭が各識別子の先頭と一致するようになっている方が実時間で識別子を特定できるため、処理時間を短縮でき、好適である。
【００３２】
まず、第１のヘッダ解析部３０１1には、先頭のヘッダ種類が、例えばＥｔｈｅｒｎｅｔヘッダなどに予め決められているヘッダ（以下、既定先頭ヘッダという）を有するパケットが入力されるものとし、第１のヘッダ解析部３０１1は、この既定先頭ヘッダ内の識別子［１，１］，識別子［１，２］，…，識別子［１，Ｋ［１］］が記録された期間として、予め決められた期間に対応付けて上記の要素マークを生成し、出力する。
なお、第１のヘッダ解析部３０１1が出力する識別子マーク［１］には、次ヘッダの種別を示す識別子、および次ヘッダ開始タイミング情報を示す識別子を特定する要素マークが含まれているものとする。
【００３３】
以下、「次ヘッダ開始タイミング情報を示す識別子を特定する要素マーク」をアクションコードといい、その他の要素マークをマークコードという。また、アクションコードは、通常、フラグで指定されるため、図４および図５には、アクションコードのことを次ヘッダ位置フラグとして示している。
【００３４】
図４は本発明の第２の実施の形態にかかるパケット構文解析装置を示す他の説明図であり、図４（ａ）は当該パケット構文解析装置を構成する各ヘッダ解析部を示すブロック構成を示す図であり、図４（ｂ）は当該パケット構文解析装置の動作を示す説明図である。
図５は本発明の第２の実施の形態にかかるパケット構文解析装置を示す他の説明図であり、図５（ａ）は当該パケット構文解析装置を構成する各ヘッダ解析部を示すブロック構成を示す図であり、図５（ｂ）は当該パケット構文解析装置の動作を示す説明図である。
【００３５】
これら図４および図５において、次ヘッダ位置フラグ［ｍ］は、第ｍのヘッダ解析部４０１m，５０１m（ｍは１〜Ｍの整数）の解析対象のヘッダの開始のタイミングを示すフラグであり、先頭からｍ番目のヘッダの開始位置を示すフラグとしてもよい。
次ヘッダ位置フラグは、解析対象のヘッダのヘッダ長が固定のものについては（図４に示す例）、そのヘッダの先頭から予め決められたタイミングに生成される。また、解析対象のヘッダのヘッダ長が可変のものについては（図５に示す例）、そのヘッダの先頭からヘッダ長分、遅れたタイミングに生成される。
【００３６】
このような図４に示すように構成することによって、次ヘッダ位置を前段のヘッダ解析部が指示するため、ヘッダの解析を開始するタイミングを容易に決定でき、回路構成を小規模にすることができる。従来のように、ヘッダ解析部が自ら解析開始のタイミングを示す信号を生成する場合には、パケットの先頭からのバイト数を計測するための回路などが必要になる。さらに、ヘッダによってヘッダ長が異なる場合には、各ヘッダ解析部が自ら解析開始のタイミングを示す信号を生成するのでは、構成が複雑になる。
【００３７】
本発明の第２の実施の形態にかかるパケット構文解析装置では、ヘッダ解析部がヘッダ長を計測することは行っていない。前段のヘッダ解析部が次ヘッダ位置を指示するため、解析開始のタイミングを示す信号を生成するための回路は不要である。これによって、回路規模の削減が可能となる。
【００３８】
また、図５に示すように構成することによって、ＩＰｖ４ヘッダ、１Ｐｖ６の拡張ヘッダ、ＴＣＰヘッダなどの、ヘッダ長が可変のヘッダ（以下、可変長ヘッダという）をも対象として解析を行うことができる。可変長ヘッダの解析ができない場合は、可変長ヘッダを用いた通信は行うことができず、固定長ヘッダを用いた通信に限定される。図５に示すように構成することによって、多様なヘッダ構成であっても解析が可能になり、幅広い通信プロトコルを採用したネットワークに、パケット構文解析装置を適用できる。
【００３９】
第１のヘッダ解析部３０１1以降のヘッダ解析部は、以下のように動作する。第ｍのヘッダ解析部３０１m（ｍは２〜Ｍの整数）は、前段のヘッダ解析部３０１m-1から出力された識別子マーク［ｍ−１］のうちの所定の要素マーク（次ヘッダの種別を示す識別子を特定する）のマーク値に墓づいて、この要素マークを検出し、検出した要素マークに対応する識別子［ｍ−１，α］に基づいて自己が解析対象とするヘッダの有無を判断する。
【００４０】
前段のヘッダ解析部３０１m-1から出力された識別子マーク［ｍ−１］に基づいて、自己が解析対象とするヘッダがあると判断したら、アクションコードに基づいてヘッダの先頭のタイミングを決定し、このタイミングを基準に、解析対象のヘッダ内の識別子［ｍ，１］，識別子［ｍ，２］，…，識別子［ｍ，Ｋ［ｍ］］が記録された期間として、予め決められた期間に対応付けて上記の要素マークを生成し、出力する。
【００４１】
第ｍのヘッダ解析部３０１m（ｍは２〜Ｍの整数）は、解析対象のプロトコル用のヘッダでないと判断したとき、入力されたパケットデータを所定時間遅延させて出力する。この遅延量は、ヘッダ解析部３０１m（ｍは２〜Ｍの整数）ごとに予め決められており、少なくとも、識別子マークを生成するのに要する時間以上とする。上記の遅延量が識別子マークを生成するのに要する時間より長い場合、上記で識別子マークを生成した後、さらに遅延させて予め決められた遅延量となるようにする。
【００４２】
以上説明したように、本発明の第２の実施の形態にかかるパケット構文解析装置は、本発明の第１の実施形態の効果に加え、各要素回路が、対応する要素プロトコルのヘッダの開始位置を特定するアクションコード、および、対応するヘッダ内の情報の位置を特定するマークコードを少なくとも生成するため、次段の要素回路が解析開始のタイミングなどを容易に検出でき、処理時間を一層短縮できるとともに、消費電力をさらに低減することができる。
【００４３】
また、各要素回路は、自要素回路よりも先頭寄りの各要素回路によって生成されたアクションコード、およびマークコードに基づいて特定される情報に応じて、パケットを構成するヘッダ内の情報を解析するようにしたため、さらに処理時間を短縮できるとともに、消費電力を低減することができる。
【００４４】
また、識別子の抽出を行わず、識別子マークをパケットデータの識別子に対応させて出力するため、構成が簡単になる。識別子を抽出する構成では、パケットデータから読み取った各識別子の値を指定されたレジスタに格納するなどの処理が必要になり、そのための処理が複雑であり、回路構成の規模の増大を招く。
本発明によれば、識別子マークのみを生成するため、識別子マークが付与された識別子のレジスタ格納は、パケット構文解析装置の外部で行う。これにより、レジスタ格納処理を複数の識別子に対して一箇所で行うことが可能となり、回路規模を削減できる。
【００４５】
［第３の実施の形態］
次に、図６を参照して、本発明の第３の実施の形態にかかるパケット構文解析装置について説明する。図６は、本発明の第３の実施の形態にかかるパケット構文解析装置を示す説明図であり、図６（ａ）は当該パケット構文解析装置を構成する各ヘッダ解析部を示すブロック構成を示す図であり、図６（ｂ）は当該パケット構文解析装置の動作を示す説明図である。
【００４６】
本発明の第３の実施の形態では、前段以前のヘッダ解析部が出力した次ヘッダ解析指示に応じて、ヘッダの解析を行う構成例のパケット構文解析装置６００（図示せず）について説明する。
この構成において、次ヘッダ解析指示は、次のヘッダが解析対象であることを示す指示であり、予め解析を行うヘッダの種別を決められているヘッダ解析部のうちの所定のヘッダ解析部に通知される。
【００４７】
図６（ａ）に示すように、第ｍのヘッダ解析部６０１m（ｍは２〜Ｍの整数）には、少なくとも、パケットデータ［ｍ−１］および次ヘッダ解析指示［ｍ−１］が入力される。これらに加えて、識別子マーク［ｍ−１］および次ヘッダ位置フラグ［ｍ−１］が入力される構成でもよく、以下では、これらも入力されるものとして説明する。
第ｍのヘッダ解析部６０１m（ｍは２〜Ｍの整数）は、次ヘッダ解析指示［ｍ−１］がヘッダ［ｍ］の解析を指示する場合、ヘッダ［ｍ］を解析し、次ヘッダ解析指示［ｍ］を生成し、出力する。
【００４８】
次ヘッダ解析指示［ｍ−１］がヘッダ［ｍ］の解析を指示しない場合、次ヘッダ解析指示［ｍ−１］に遅延［ｍ］を与えて、次ヘッダ解析指示［ｍ］として出力する。次ヘッダ解析指示［ｍ−１］がヘッダ［ｍ］の解析を指示しない場合は、識別子マーク［ｍ−１］，次ヘッダ位置フラグ［ｍ−１］についても、遅延［ｍ］を与えて、識別子マーク［ｍ］，次ヘッダ位置フラグ［ｍ］として出力する。
【００４９】
ヘッダ［ｍ］は、次ヘッダの種別を示す識別子［ｍ，Ｔ［ｍ］］を含む。この識別子［ｍ，Ｔ［ｍ］］の値に応じて、以後のヘッダ解析部ｎ（ｎ＝ｍ＋１〜Ｍの整数）のうち、いずれが次ヘッダの解析を行うかが決定される。ただし、次がペイロードの場合など、解析すべき次ヘッダが存在しない場合もある。
ヘッダ［ｍ］の解析において、パケットデータ［ｍ−１］から識別子［ｍ，Ｔ［ｍ］］を特定し、次ヘッダ解析指示［ｍ］を生成する。
【００５０】
ここで、次ヘッダ解析指示［ｍ］として特別に信号を設けず、本発明の第２の実施の形態の識別子マーク［ｍ］を利用する構成について説明する。この構成では、第ｍのヘッダ解析部６０１mが行う判断であって、識別子マーク［ｍ−１］がヘッダ［ｍ］の解析を指示するか否かの判断を、以下のように行う。
まず、識別子マーク［ｍ−１］のうち、ヘッダの種別を特定する要素マークを橦出する。この要素マークの検出は、例えば、ヘッダの種別の識別子を特定するデータ列を予め決めておき、対象とする要素マークのマーク値がこの信号列と一致するか否かの判断を行い、全識別子マーク［ｍ−１］を対象に一致すると判断されるマーク値が検出されるまで行う。
【００５１】
次に、ヘッダの種別を特定する要素マークが検出されたら、その要素マークが付与された識別子のデータをパケットデータ［ｍ−１］から読み取る。パケットデータ［ｍ−１］から読み取った識別子のデータが、第ｍのヘッダ解析部６０１mで保持するヘッダの種別を特定するデータ値［ｍ］と一致するか否かを判断する。
パケットデータ［ｍ−１］から読み取った識別子のデータが、第ｍのヘッダ解析部６０１mが保持するヘッダの種別を特定するデータ値［ｍ］と一致すると判断した場合、次ヘッダ解析指示［ｍ−１］がヘッダ［ｍ］の解析を指示するものと予め決めておく。これにより、第ｍのヘッダ解析部６０１mは、ヘッダ［ｍ］の解析が指示されたものと判断する。
【００５２】
また、図４および図５に示す次ヘッダ位置フラグを付与する構成と組み合わせる場合は、以下のように行ってもよい。
まず、次ヘッダ解析指示［ｍ−１］がヘッダ［ｍ］の解析を指示するか否かを判断する。次ヘッダ解析指示［ｍ−１］がヘッダ［ｍ］の解析を指示すると判断した場合は、図４および図５に示す次ヘッダ位置フラグ［ｍ］が特定するタイミングに基づいて、ヘッダ［ｍ］を解析する。
【００５３】
次ヘッダ解析指示［ｍ］を、識別子マーク値［ｍ］や次ヘッダ位置フラグ［ｍ］とは別に生成することも可能である。以下にこの構成例を示す。
まず、パケットデータ［ｍ−１］から識別子［ｍ，Ｔ［ｍ］］を読み取る。次に、読み取った識別子［ｍ，Ｔ［ｍ］］の値に応じて、次ヘッダの解析を行うヘッダ解析部のＩＤを決定する。
上記で決定したＩＤを次ヘッダ解析指示［ｍ］として、次ヘッダ位置フラグ［ｍ］のタイミングで出力する。後続のヘッダ解析部は、入力された次ヘッダ解析指示が自己のＩＤか否かを判断し、自己のＩＤであると判断したとき、次ヘッダ解析指示があったヘッダを解析する。
【００５４】
上記では、次ヘッダ解析指示がなかった場合のヘッダ解析部での処理をあらわに記載しなかったが、その場合は、パケットデータ［ｍ］を予め決められた遅延［ｍ］だけ遅延させて出力する。
具体的には、ＩＰｖ４プロトコルとＩＰｖ６プロトコルのいずれにも対応する構成の場合（以下、ＩＰｖ４／ＩＰｖ６デュアルスタックという）、ＩＰｖ４ヘッダについて解析を行う場合は、ＩＰｖ６ヘッダについては解析を行わず、予め決められた時間、遅延させて出力する。同様に、ＩＰｖ６ヘッダについて解析を行う場合は、ＩＰｖ４ヘッダについては解析を行わず、予め決められた時間、遅延させて出力する。
【００５５】
以上説明したように、本発明の第３の実施の形態にかかるパケット構文解析装置は、本発明の第１の実施形態による効果に加え、前段以前の各要素回路（ヘッダ解析部）が次ヘッダ解析指示を出力し、後続の要素回路（ヘッダ解析部）が次ヘッダ解析指示に応じてヘッダの解析を行うようにしたため、通信プロトコルの組み合わせが異なる場合、すなわち、パケットによってヘッダの組み合わせが異なる場合に対応できる。
【００５６】
ヘッダの組み合わせが特定のものに限定されるのでは、多様な通信プロトコルの組み合わせに対して柔軟な処理ができない。本発明の第３の実施の形態では、各要素回路（ヘッダ解析部）が次ヘッダの解析を指示し、指示されなかった途中の要素回路（ヘッダ解析部）では処理が行われず、パケットに応じて必要な要素回路（ヘッダ解析部）のみが選択されて動作するため、多様なヘッダ構造にして構文解析が可能となり、幅広い通信プロトコルの組み合わせが可能となる。
【産業上の利用分野】
【００５７】
本発明にかかるパケット構文解析装置は、パケット構文解析に要する処理時商を短縮できるとともに、消費電力を低減することができるという効果を有し、かかる効果が有用なネットワークに接続される中継装置などの用途にも適用できる。
【図面の簡単な説明】
【００５８】
【図１】本発明の第１の実施の形態にかかるパケット構文解析装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態にかかるパケット構文解析装置で用いられるパケットの構成を示す説明図である。
【図３】本発明の第２の実施の形態にかかるパケット構文解析装置を示す説明図である。
【図４】本発明の第２の実施の形態にかかるパケット構文解析装置を示す他の説明図である。
【図５】本発明の第２の実施の形態にかかるパケット構文解析装置を示す他の説明図である。
【図６】本発明の第３の実施の形態にかかるパケット構文解析装置を示す説明図である。
【符号の説明】
【００５９】
１００…パケット構文解析装置、１０１1〜１０１M…ヘッダ解析部、３０１1〜３０１M…ヘッダ解析部、４０１1〜４０１M…ヘッダ解析部、５０１1〜５０１M…ヘッダ解析部、６０１1〜６０１M…ヘッダ解析部。
【図１】
2005303415.tif 000003
【図２】
2005303415.tif 000004
【図３】
2005303415.tif 000005
【図４】
2005303415.tif 000006
【図５】
2005303415.tif 000007
【図６】
2005303415.tif 000008