(57)【要約】【課題】大量のパケットデータ（例えばＡＶストリーム情報用のパケットデータ）を後続の処理へ容易に振り分けできるようにする。【解決手段】イーサＭＡＣ受信部１１０が受信したパケットデータから所定の項目データを取り出す受信データ解析部１０１と、項目データと所定の条件データとを比較した結果を出力する項目条件比較部１０２と、比較結果に対応する、パケットデータの分類条件に適合するものがあるかどうかを判定する分類条件判定部１０４を設ける。そして、分類条件判定部１０４から、適合した分類条件に対応した値を含む分類結果情報を、受信ステータスの一部として書込めるように、イーサＭＡＣ受信部１１０に出力する。【選択図】図１
2007194885.tif 000002
【特許請求の範囲】
【請求項１】
パケットデータを所定の条件に応じて分類するパケット分類装置であって、
受信したパケットデータおよび受信ステータスを出力する受信装置が受信したパケットデータから、パケットデータを分類するための項目データを取り出す受信データ解析部と、
前記項目データと所定の条件データとを比較して、比較結果を出力する項目条件比較部と、
前記項目条件比較部が出力した比較結果に、前記比較結果の所定の組み合わせによってパケットデータを分類する分類条件と適合するものがあるかどうかを判定するとともに、適合した分類条件に対応した値を含む分類結果情報を、前記受信装置が前記受信ステータスの一部として書込めるように出力する分類条件判定部と、
を備えたことを特徴とするパケット分類装置。
【請求項２】
請求項１のパケット分類装置であって、
前記分類条件判定部は、判定の結果、合致する分類条件がないときには、その要因を示す要因コードを含む分類結果情報を、前記受信装置が前記受信ステータスの一部として書込めるように、出力するように構成されていることを特徴とするパケット分類装置。
【請求項３】
請求項１または請求項２のパケット分類装置であって、さらに、
前記条件データが格納される項目条件設定部と、
前記分類条件が格納される分類条件設定部とを備え
前記項目条件設定部および前記分類条件設定部への値の設定は、パケットデータの受信および前記分類条件判定部で行なわれる分類動作を止めることなく行なわれることを特徴とするパケット分類装置。
【請求項４】
請求項１から請求項３のパケット分類装置であって、
前記分類条件には、ＩＰｖ４送信元アドレス、ＩＰｖ４宛先アドレス、ＩＰ上位層のプロトコル番号、およびＴＣＰやＵＤＰのポート番号の組み合わせを含む条件を指定できることを特徴とするパケット分類装置。
【請求項５】
請求項１から請求項３のパケット分類装置であって、
前記分類条件には、ＩＰｖ６送信元アドレス、ＩＰｖ６宛先アドレス、ＩＰ上位層のプロトコル番号、およびＴＣＰやＵＤＰのポート番号の組み合わせを含む条件を指定できることを特徴とするパケット分類装置。
【請求項６】
請求項１から請求項３のパケット分類装置であって、
前記分類条件には、ＩＰｖ４パケット受信時には、ＩＰｖ４送信元アドレス、ＩＰｖ４宛先アドレス、ＩＰ上位層のプロトコル番号、およびＴＣＰやＵＤＰのポート番号の組み合わせを含む条件を指定でき、ＩＰｖ６パケット受信時には、ＩＰｖ６送信元アドレス、ＩＰｖ６宛先アドレス、ＩＰ上位層のプロトコル番号、およびＴＣＰやＵＤＰのポート番号の組み合わせを含む条件を指定できることを特徴とするパケット分類装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットデータを所定の条件に応じて分類するパケット分類装置に関するものである。
【背景技術】
【０００２】
近年の通信ネットワーク技術の進歩により、音楽や映像ストリーム情報（ＡＶストリーム情報）をＭＰＥＧ２−ＴＳなどの形式を用いて、ネットワーク経由で伝送することが可能になってきている。これにより、遠隔地にある映像サーバからＡＶストリーム情報を受信したり、ネットワークに接続された機器同士で音楽やＡＶストリーム情報をやりとりしたりすることが可能になってきている。
【０００３】
ＡＶストリーム情報をネットワーク経由で伝送する場合、ＡＶストリーム情報は、ＴＣＰ／ＩＰプロトコルやＵＤＰ／ＩＰプロトコルのパケットでやりとりされるのが一般的である。この場合、そのパケットを受信し、それを処理する端末では、その端末に搭載されたＣＰＵによるＴＣＰ（ＵＤＰ）／ＩＰプロトコル処理プログラム（プロトコルスタック）の実行により、受信パケットのヘッダを解析し、引き続く処理へ受信パケットを振り分けるようになっている。
【０００４】
現在一般に使われているＩＰプロトコルは、ＩＰｖ４（ＩＰバージョン４）であるが、ＩＰｖ６（ＩＰバージョン６）という次バージョンのＩＰプロトコルも使われ始めている。ここでは、ＩＰｖ４について説明する。
【０００５】
図１５は、ＩＰｖ４におけるＩＰｖ４ヘッダ、ＴＣＰヘッダ、ＵＤＰヘッダ、ＩＣＭＰヘッダの各ヘッダの形式を示している。また、図１６は、イーサネットと呼ばれるネットワーク上で、これらのプロトコルヘッダを伴ってデータを送受信するときに使われるイーサネットフレームの概略示す図である。
【０００６】
ＴＣＰヘッダ、ＵＤＰヘッダ、ＩＣＭＰヘッダは、図１６のＩＰ上位層ヘッダに該当し、どの上位層ヘッダがＩＰヘッダに続いているかは、ＩＰｖ４ヘッダのプロトコル番号によって示される。
【０００７】
ＡＶストリームパケットをＴＣＰ／ＩＰパケットで受信するには、受信側システムは、まず、サーバ（送信側システム）の既定のＴＣＰポート番号を宛先ポート番号として、ＴＣＰコネクション要求を発行し、ＴＣＰコネクションを確立して、その後のパケットの送受信を行う。この場合、受信側システムにおいて、受信したパケットがこのコネクションに係わるパケットであるかどうかは、「ＩＰｖ４送信元アドレスが、送信側システムのＩＰｖ４アドレスである。」、「ＩＰｖ４宛先アドレスが、受信側システムのＩＰｖ４アドレスである。」、「ＩＰｖ４プロトコルヘッダのプロトコル番号がＴＣＰ（６）である。」、「ＴＣＰヘッダの送信元ポート番号が既定の値である。」、「ＴＣＰヘッダの宛先ポート番号が既定の値である。」という条件で判別する必要がある。
【０００８】
また、ＵＤＰ／ＩＰを使って、ＡＶストリームパケットを受信する場合は、受信側システムでＩＰｖ４送信元アドレス、ＩＰｖ４宛先アドレス、プロトコル番号がＵＤＰ（１７）、ＵＤＰ送信元ポート番号とＵＤＰ宛先ポート番号がそれぞれ既定の値であるかどうかによってそのパケットを識別する必要がある。
【０００９】
また、受信パケットの特定位置にあるデータが特定の値に一致するかどうかどうかを判定し、一致した場合にパケットを受信し、一致しなかった場合にパケットを破棄するフィルタ動作をする装置が知られている（例えば特許文献１を参照）。
【００１０】
さらに、パケットヘッダの解析をして、ＭＡＣアドレス、ＩＰアドレス、ＴＣＰポート番号、ＵＤＰポート番号でフィルタリングし、通過パケットに対して、前記データをパケットヘッダ情報として受信パケットに付加しているものもある（例えば特許文献２を参照）。
【特許文献１】特開２００１−６９１７３号公報
【特許文献２】特開２００５−２０３９４１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記のように、受信したパケットがＡＶストリーム情報用のパケットであるかどうかを判定し、それを後続の処理に振り分けるためには、ＩＰヘッダの解析、アドレスの判定、プロトコル番号の判定、ＩＰ上位層ヘッダとしてのＴＣＰやＵＤＰヘッダの解析、さらにはポート番号の判定等をＣＰＵが実行する必要があり、大量に受信されるＡＶストリームパケットを処理する場合、ＣＰＵの処理能力の多くがその処理に当てられると、装置の応答速度が遅くなったり、処理が間に合わなくなったりすることが考えられる。
【００１２】
また、特定の条件に合致したパケットを破棄したり受信したりするフィルタ装置では、受信したパケットの中から、ＡＶストリーム用のパケットを識別して、後続の処理に振り分けるＣＰＵの処理負荷を下げることはできない。
【００１３】
また、パケットヘッダ情報をそのまま付加した場合も、ＣＰＵ側の処理で、ヘッダを解析する処理は削減できるが、再度、ＩＰアドレス、プロトコル番号、ポート番号の判定をしてＡＶストリームパケットであるかどうかを識別して、後続の処理へ振り分ける必要がある。
【００１４】
本発明は、前記の問題に着目してなされたものであり、大量のパケットデータ（例えばＡＶストリーム情報用のパケットデータ）を後続の処理へ容易に振り分けできるパケット分類装置を提供することを目的としている。
【課題を解決するための手段】
【００１５】
前記の課題を解決するため、請求項１の発明は、
パケットデータを所定の条件に応じて分類するパケット分類装置であって、
受信したパケットデータおよび受信ステータスを出力する受信装置が受信したパケットデータから、パケットデータを分類するための項目データを取り出す受信データ解析部と、
前記項目データと所定の条件データとを比較して、比較結果を出力する項目条件比較部と、
前記項目条件比較部が出力した比較結果に、前記比較結果の所定の組み合わせによってパケットデータを分類する分類条件と適合するものがあるかどうかを判定するとともに、適合した分類条件に対応した値を含む分類結果情報を、前記受信装置が前記受信ステータスの一部として書込めるように出力する分類条件判定部と、
を備えたことを特徴とする。
【００１６】
これにより、パケットデータを分類した結果が、分類条件に対応した値としてステータス情報に出力されるので、大量のパケットデータを後続の処理への振り分けが容易になる。それゆえ、例えば受信したＡＶストリーム情報用のパケットデータを後続の処理へ振り分ける処理を行なうＣＰＵ等の負荷を軽減することが可能になる。
【００１７】
また、請求項２の発明は、
請求項１のパケット分類装置であって、
前記分類条件判定部は、判定の結果、合致する分類条件がないときには、その要因を示す要因コードを含む分類結果情報を、前記受信装置が前記受信ステータスの一部として書込めるように、出力するように構成されていることを特徴とする。
【００１８】
これにより、パケットデータの要否を容易に判断できる。例えば、受信したパケットデータを後続の処理へ振り分けるＣＰＵは、パケットデータを処理する際に、その要因コードを参照することにより、エラー発生による廃棄可能なパケットなのか、ＣＰＵでパケットヘッダの解析が必要なパケットなのかを容易に切り分けることができる。
【００１９】
また、請求項３の発明は、
請求項１または請求項２のパケット分類装置であって、さらに、
前記条件データが格納される項目条件設定部と、
前記分類条件が格納される分類条件設定部とを備え
前記項目条件設定部および前記分類条件設定部への値の設定は、パケットデータの受信および前記分類条件判定部で行なわれる分類動作を止めることなく行なわれることを特徴とする。
【００２０】
これにより、他の設定済み分類条件による分類動作を止めることなく、パケットデータを識別する条件を追加したり、停止させたりすることができる。
【００２１】
また、請求項４の発明は、
請求項１から請求項３のパケット分類装置であって、
前記分類条件には、ＩＰｖ４送信元アドレス、ＩＰｖ４宛先アドレス、ＩＰ上位層のプロトコル番号、およびＴＣＰやＵＤＰのポート番号の組み合わせを含む条件を指定できることを特徴とする。
【００２２】
また、請求項５の発明は、
請求項１から請求項３のパケット分類装置であって、
前記分類条件には、ＩＰｖ６送信元アドレス、ＩＰｖ６宛先アドレス、ＩＰ上位層のプロトコル番号、およびＴＣＰやＵＤＰのポート番号の組み合わせを含む条件を指定できることを特徴とする。
【００２３】
また、請求項６の発明は、
請求項１から請求項３のパケット分類装置であって、
前記分類条件には、ＩＰｖ４パケット受信時には、ＩＰｖ４送信元アドレス、ＩＰｖ４宛先アドレス、ＩＰ上位層のプロトコル番号、およびＴＣＰやＵＤＰのポート番号の組み合わせを含む条件を指定でき、ＩＰｖ６パケット受信時には、ＩＰｖ６送信元アドレス、ＩＰｖ６宛先アドレス、ＩＰ上位層のプロトコル番号、およびＴＣＰやＵＤＰのポート番号の組み合わせを含む条件を指定できることを特徴とする。
【００２４】
これらにより、例えば、分類条件にＡＶストリーム用のパケットであることを識別するための値を設定すれば、ＩＰｖ４ネットワークやＩＰｖ６ネットワークにおいて、受信パケットがＡＶストリーム用のパケットであるかどうかを容易に判別できる。それゆえ、ＡＶストリーム情報を受信している端末装置においてパケットの振り分け処理を行なうＣＰＵの負荷を削減できる。
【発明の効果】
【００２５】
本発明によれば、パケットデータを分類した結果が、分類条件に対応した値としてステータス情報に出力されるので、大量のパケットデータ（例えばＡＶストリーム情報用のパケットデータ）を後続の処理へ容易に振り分けできる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施形態について図面を参照しながら説明する。
【００２７】
図１は、本発明の実施形態に係るパケット分類装置１００の構成を示すブロック図である。パケット分類装置１００は、イーサＭＡＣ受信部１１０が受信したパケットデータ（受信データ）を、指定された分類条件と照合することによって受信データを分類し、その分類結果情報をイーサＭＡＣ受信部１１０へ出力する装置であり、図１に示すように、イーサＭＡＣ受信部１１０とホストバス制御部１２０に接続されている。
【００２８】
イーサＭＡＣ受信部１１０は、受信制御部１１１と受信ＦＩＦＯ１１２を備え、通信ネットワークを介して送られたパケットデータを受信するようになっている。ここで、パケット分類装置１００とイーサＭＡＣ受信部１１０が、互いにやりとりする信号を図２に示す。
【００２９】
受信制御部１１１は、ＲＸクロックと呼ばれる動作クロックごとに４ビットの通信データをネットワークから受信するようになっている。したがって、受信制御部１１１が出力する３２ビットの受信データｗｄａｔａ［３１：０］は、ＲＸクロックの８クロックごとに、通信ネットワークを介して送られた３２ビットデータに更新される。
【００３０】
また、受信制御部１１１は、受信ＦＩＦＯ１１２へ書き込みを行なうために、１動作クロック期間パケットデータ書込みストローブ信号をアサートするようになっている。
【００３１】
受信ＦＩＦＯ１１２は、受信制御部１１１が受信したパケットデータとともに、受信ステータスを格納するバッファである。
【００３２】
ホストバス制御部１２０は、ＣＰＵ１３０がパケット分類装置１００やイーサＭＡＣ受信部１１０の各種レジスタを読み書きしたり、受信ＦＩＦＯ１１２の内容を読み出したりするためのインタフェース回路部である。
【００３３】
上記のパケット分類装置１００、イーサＭＡＣ受信部１１０、ホストバス制御部１２０によって、パケット受信装置が構成される。
【００３４】
パケット分類装置１００は、具体的には、受信データ解析部１０１、項目条件比較部１０２、項目条件設定部１０３、分類条件判定部１０４、および分類条件設定部１０５を備えている。
【００３５】
受信データ解析部１０１は、イーサＭＡＣ受信部１１０が受信したパケットデータを取得するとともに、取得したパケットデータを解析して、解析結果（後述する項目データ、および項目データの種別を示す項目種別コード）を項目条件比較部１０２に出力するようになっている。
【００３６】
図３は、受信される一連の３２ビットの受信データｗｄａｔａ［３１：０］の１例を示している。図３では、上から下方向に時間順で新しく受信される受信データを示している。ここでは、３２ビットの受信データの中では、ｗｄａｔａ［３１：２４］、ｗｄａｔａ［２３：１６］、ｗｄａｔａ［１５：８］、ｗｄａｔａ［７：０］の順で時間的に早く受信された１バイトの受信データとする。
【００３７】
このような一連の受信データは、イーサネットフレームと呼ばれる形式のバイト列を構成する。図３は、イーサＭＡＣ受信部１１０がイーサネットフレームに先立って挿入した２バイトのパディングデータ（１６’ｈ００００）に引き続き、ＭＡＣヘッダ（１４バイト）、ＩＰｖ４ヘッダ（２０バイト）ＩＰ上位層ヘッダの先頭４バイトが一連のｗｄａｔａ［３１：０］として受信された様子を示しており、さらに１個のイーサネットフレームを構成するデータ（ＩＰの上位層のヘッダの続きおよびアプリケーションデータ）が続いている。
【００３８】
受信したパケットデータに含まれたプロトコル番号、ＴＣＰポート番号、ＩＰｖ４送信元アドレスなどの情報が、受信データ解析部１０１が求める項目データであり、これらの項目データには所定の値の項目種別コードが対応づけられている。図４に本実施形態における項目種別コードを示す。
【００３９】
なお、先頭のパディングデータはなくてもよく、その場合には、受信データ解析部１０１にて挿入すれば、以降の処理は同一となる。また、ここでは、イーサＭＡＣ受信部１１０から３２ビットの受信データを受け取っているが、受け取るデータとしては、８ビットや１６ビット幅でもよい。受信データ解析部１０１で３２ビット分のデータに調整してから出力すれば、以降の処理は同一となる。また、以降の処理を８ビットや１６ビット幅で実施することも可能である。
【００４０】
次に、受信データ解析部１０１で行なわれる受信データの解析および、解析結果の出力について説明する。受信データ解析部１０１では、受信データに応じて、処理の状態が遷移する。図５は、受信データ解析部１０１の状態遷移制御の仕様を示している。また、図６は、その状態遷移やアクションの動作フローを示している。図５において、受信データ解析部１０１の状態は、内部状態を管理するＨＤＲとＩＮＸという二つの変数で示されている。ＨＤＲは、受信データｗｄａｔａ［３１：０］がどのヘッダに属すかを表しており、図５に示す「次状態」への遷移が発生したときに変化する。受信データ解析部１０１は、ＨＤＲとＩＮＸに応じて、項目種別コードを求めるようになっている。
【００４１】
次状態への遷移は、遷移条件が成立したときに発生する。また、ＩＮＸは次状態への遷移が発生したときは、次状態に対応した値に変更され、そうでないときは、パケットデータの書込みストローブ信号ごとに＋１（１加算）される。項目データの出力処理は、図５においてアクションとして示されている。
【００４２】
項目種別コードが０のときには、プロトコル番号が項目データとして出力されていることを示し、受信データ解析部１０１は、受信データｗｄａｔａ［３１：０］のうちのｗｄａｔａ［２３：１６］の１バイトを４回繰り返して３２ビットデータとした項目データを出力する。その他の項目種別コードの場合は、ｗｄａｔａ［３１：０］を項目データとして出力する。なお、その際に受信データ解析部１０１は、項目データ等が有効であることを示す項目条件有効通知信号を１クロック期間アサートして項目条件比較部１０２に出力する。
【００４３】
項目条件設定部１０３は、条件データ（後述）が格納されたメモリである。図７に本実施形態における条件データの格納仕様を示す。条件データは、図７に示すように、プロトコル番号、ポート番号、ＩＰｖ４送信元アドレスなどの情報であり、３２ビットずつの２つのブロックに分けて格納されている。
【００４４】
項目条件比較部１０２は、受信データ解析部１０１から受け取った項目データと項目条件設定部１０３に設定されている条件データとを比較するとともに、比較結果を分類条件判定部１０４に出力するようになっている。
【００４５】
まず、項目条件比較部１０２は、項目種別コードに対応する条件データを、項目条件設定部１０３に比較対象データインデックス（条件データの位置を示すインデックス）を指示することによって読み出す。同一の項目種別コードに対し、複数回の読み出しおよび比較が必要な場合には、比較対象データインデックスを変化させて、読み出しおよび比較動作を繰り返す。
【００４６】
図８は、項目条件設定部１０３から読み出された条件データ（３２ビット×２＝６４ビット）と受信データ解析部１０１から取得した項目データ（３２ビット）に対する項目条件比較部１０２における比較処理を示している。項目条件比較部１０２では、比較回路１０２ａ〜１０２ｂによって、バイトごとに比較が行なわれ、このバイトごとの比較結果と比較対象データインデックスとを分類条件判定部１０４へ出力する。なお、この際に項目条件比較部１０２は、比較結果が有効であることを示す比較結果有効通知信号を１クロック期間アサートして分類条件判定部１０４に出力する。
【００４７】
分類条件判定部１０４は、項目条件比較部１０２から出力された比較結果に対応する分類条件（後述）に適合するものがあるかどうかを判定して、適合した分類条件に対応した値（分類結果情報）を求めるとともに、求めた分類結果情報をイーサＭＡＣ受信部１１０がステータス情報の書込む際に、イーサＭＡＣ受信部１１０が利用可能なように出力するようになっている。
【００４８】
分類条件判定部１０４は、具体的には、比較対象データインデックスに基づいて、バイトマスク制御部１０４ａでバイトマスク制御（後述）を行うとともに、比較対象データインデックスに応じたデータを記憶するようになっている。
【００４９】
バイトマスク制御は、次のように行う。分類条件判定部１０４には、項目条件比較部１０２からのバイト比較結果毎に対応してセレクタ１０４ｂを設ける。セレクタ１０４ｂは、入力された制御ビットが１であるときは、項目条件比較部１０２からの比較結果を出力し、０であるときは固定的に１を出力するようになっている。分類条件判定部１０４では、比較対象データインデックスが１〜４（ポート番号）のときには、分類条件設定部１０５に格納されている分類条件のポート番号条件（バイトマスク）を制御ビットに設定し、比較対象データインデックスが１〜４以外の場合は、制御ビットを１にする。
【００５０】
また、分類条件判定部１０４は、具体的には、比較対象データインデックスが０の場合には、各バイトの比較結果（比較結果１〜８）、それ以外のときは、各３２ビットワードの比較結果９〜１０を、例えば図９に示すような構成のレジスタｃｍｐ＿ｒｅｇ［２７：０］（比較結果の取得レジスタ）で記憶する。
【００５１】
分類条件設定部１０５は、パケットの分類条件が格納されたレジスタである。図１０に本実施形態におけるパケットの分類条件の構成を示す。
【００５２】
条件番号０〜７の分類条件の１つの分類条件は、ＩＰｖ４送信元アドレス条件、ＩＰｖ４宛先アドレス条件、ＩＰ上位層プロトコル条件、ポート番号条件（バイトマスク）を設定可能である。なお、各分類条件は、図１０に示す８つのレジスタＣＮ０［９：０］〜ＣＮ７［９：０］（分類条件レジスタ）のそれぞれに格納されている。
【００５３】
ＩＰｖ４送信元アドレス条件では、任意の送信元アドレス（ＩＰｖ４送信元アドレスは、ドントケア）または、分類条件番号に対応する項目条件設定部１０３のＩＰｖ４送信元アドレスが受信パケットの項目データと一致を指定できる。
【００５４】
ＩＰｖ４宛先アドレス条件では、任意の宛先アドレス（ＩＰｖ４宛先アドレスは、ドントケア）または、対応するビットを１とした項目条件設定部１０３のＩＰｖ４宛先アドレスＡ〜Ｄのうちいずれかが受信パケットの項目データに一致するとき条件成立を指定できる。
【００５５】
ＩＰ上位層のプロトコル条件では、任意のプロトコル番号（プロトコル番号は、ドントケア）、または、条件データのプロトコル番号が一致した場合を指定できる。
【００５６】
ポート番号条件（バイトマスク）は、分類条件番号に対応する項目条件設定部１０３のポート番号と受信パケットの項目データ（ＩＰ上位層ヘッダの先頭３２ビット）を比較するときに使われるバイトマスクで、１が設定されたバイトを比較対象とし、０が設定されているバイトは、ドントケアとして比較する。図１１にＩＰ上位層プロトコル番号がＴＣＰ、ＵＤＰ、ＩＣＭＰの場合の受信パケットデータ項目とポート番号条件（バイトマスク）の対応を示す。
【００５７】
ある分類条件が受信パケットに対して合致しているかどうかは、ＣＮ０［９：０］〜ＣＮ７［９：０］のそれぞれとｃｍｐ＿ｒｅｇ［２７：０］による組み合わせ論理回路によって実現可能である。なお、合致する複数の分類条件が存在した場合、最も小さい番号を選択して出力する。
【００５８】
分類条件判定部１０４は、次のようにして、イーサＭＡＣ受信部１１０のステータス情報の書込み時に、イーサＭＡＣ受信部１１０に対して分類結果情報を利用可能なように出力する。イーサＭＡＣ受信部１１０が受信ステータス情報を受信ＦＩＦＯ１１２に書き込むのは、イーサフレーム受信完了後である。したがって、受信データ解析部１０１が受信時間的な順番で最後となるポート番号（ＩＰ上位層ヘッダの先頭３２ビット）を項目データとして出力した後、分類条件判定部１０４が項目条件比較部１０２の出力を取得し、そして分類条件判定部１０４が分類結果情報を次のイーサネットフレームの開始信号がアサートされるまで保持することにより、イーサＭＡＣ受信部１１０は、分類結果情報を受信パケットのステータス情報の書込みタイミングにおいて利用することができる。図１２に分類結果情報の構成例とステータス情報への分類結果情報の設定例を示す。なお、分類条件判定部１０４は、合致する分類条件がないときには、その要因を示す要因コードをイーサＭＡＣ受信部１１０に出力する。合致する分類条件がないときの要因コードの構成例を図１３に示す。
【００５９】
上記のように構成されたパケット受信装置では、パケット分類装置１００が、イーサネットフレームの開始通知信号を受け取ると、受信データ解析部１０１は、受信データを解析するために内部状態を初期化する。また、分類条件判定部１０４は、比較結果情報受け取るように内部状態を初期化する。
【００６０】
その後、受信データ解析部１０１は、取得したパケットデータを解析して、項目データ、および項目種別コードを項目条件比較部１０２に出力する。分類条件判定部１０４は、項目条件比較部１０２の出力に対して分類を行い、イーサＭＡＣ受信部１１０がステータス情報の書込む際に、分類結果情報を利用可能なようにイーサＭＡＣ受信部１１０に出力する。イーサＭＡＣ受信部１１０は、受信したパケットデータのステータス情報に、この分類結果情報を含めて格納する。
【００６１】
これにより、ＣＰＵ１３０は、ステータス情報内の分類結果情報を参照して取得した分類条件の番号（合致する分類条件があった場合）を用いて容易に、パケットデータを後の処理に振り分けることができる。それゆえ、本実施形態のパケット分類装置によれば、ＣＰＵ１３０の負荷の低減が可能になる。
【００６２】
なお、項目条件設定部１０３や分類条件設定部１０５に対する値の設定は、パケットデータの受信や分類条件判定部１０４での分類動作を止めることなく行なわれるようにするのが好ましい。これにより、他の設定済み分類条件による分類動作を止めることなく、例えばＡＶストリームパケットを識別する条件を追加したり、停止させたりすることができる。
【００６３】
例えば、分類条件判定部１０４による分類動作実行中に分類条件の変更を可能とするために、図１４に示すような制御レジスタ（エントリの有効および無効設定レジスタ）を設ける。
【００６４】
この制御レジスタでは、各分類条件の有効・無効、ＩＰｖ４宛先アドレス項目条件の有効・無効は、０のとき無効、１のとき有効を示すものとする。また、無効と設定された分類条件は、受信パケットに対して合致せず、無効と設定されたＩＰｖ４宛先アドレス項目条件は、項目データとの比較において不一致と判定される。
【００６５】
変更したい項目条件に対応するビット（エントリ制御ビット）を無効に設定してから、条件データを変更することにより、条件データの書き換えが分類結果に影響を及ぼさないようにできる。
【００６６】
このとき、有効であったエントリ制御ビットを実際に無効に設定するのは、分類結果情報を保持している期間であるように制御し、実際に無効であるかどうかを制御レジスタの読み出し値に反映させるように制御回路を設けて、変更したい項目条件に対するエントリ制御ビットが０になったことを確認してから、項目条件を変更するものとするようにすればよい。
【００６７】
また、無効であったエントリ制御ビットを有効にする場合、前述のように、分類結果情報を保持している期間に行うよう制御することにより、新たに設定された条件データや分類条件は、次のパケットの始まりから評価されるので、正しい分類結果を出力することができる。
【００６８】
また、レジスタのビット構成やコードの構成などは、各種の構成が可能である。
【００６９】
また、本実施形態は、ＩＰプロトコルとして、ＩＰｖ４に対応する例を説明したが、例えば、受信データ解析部１０１にＩＰｖ６ヘッダに対する状態遷移を追加し、項目種別コードとしてＩＰｖ６アドレスに関するコードを追加し、項目条件設定部１０３にＩＰｖ６アドレスに関する条件データを追加し、比較結果の取得レジスタをＩＰｖ６アドレスに関する比較結果を含むように拡張し、分類条件レジスタにＩＰｖ６アドレス条件を設定できるように拡張することにより、ＩＰｖ６プロトコルに対しても適用が可能である。
【００７０】
また、ＩＰｖ６プロトコルに対しても適用する場合には、分類条件としてＩＰｖ４パケットを対象とするか、ＩＰｖ６パケットを対象とするか、あるいは両方のパケットを対象とするかを選択するフィールドを追加してもよい。
【００７１】
また、同様に、ＩＰアドレス、プロトコル番号、ポート番号以外のヘッダ項目を条件データとして追加し、分類条件で利用する構成も可能である。
【産業上の利用可能性】
【００７２】
本発明に係るパケット分類装置は、パケットデータを分類した結果が、分類条件に対応した値としてステータス情報に出力されるので、大量のパケットデータ（例えばＡＶストリーム情報用のパケットデータ）を後続の処理へ容易に振り分けできるという効果を有し、受信したパケットデータを所定の条件に応じて分類するパケット分類装置等として有用である。
【図面の簡単な説明】
【００７３】
【図１】本実施形態に係るパケット分類装置の構成を示すブロック図である。
【図２】パケット分類装置１００とイーサＭＡＣ受信部１１０が、互いにやりとりする信号を示す図である。
【図３】受信されるデータ（３２ビット）の構成例を示す図である。
【図４】本実施形態に係る項目種別コードを示す図である。
【図５】受信データ解析部１０１の状態遷移制御の仕様を示す図である。
【図６】受信データ解析部１０１における状態遷移やアクションの動作フローを示す図である。
【図７】本実施形態における条件データの格納仕様を示す図である。
【図８】項目条件比較部１０２における比較処理を示す図である。
【図９】比較結果の取得レジスタの構成を示す図である。
【図１０】分類条件レジスタの構成を示す図である。
【図１１】分類条件レジスタ中のポート番号条件（バイトマスク）と受信項目データとの対応を示す図である。
【図１２】イーサＭＡＣ受信部１１０における受信ステータスへの分類結果情報の格納例を示す図である。
【図１３】要因コードの構成例を示す図である。
【図１４】制御レジスタの構成を示す図である。
【図１５】ＩＰｖ４における各種パケットヘッダのデータ構造を示す図である。
【図１６】イーサネットフレームの概略を示す図である。
【符号の説明】
【００７４】
１００      パケット分類装置
１０１      受信データ解析部
１０２      項目条件比較部
１０２ａ〜１０２ｂ      比較回路
１０３      項目条件設定部
１０４      分類条件判定部
１０４ａ    バイトマスク制御部
１０４ｂ    セレクタ
１０５      分類条件設定部
１１０      イーサＭＡＣ受信部
１１１      受信制御部
１１２      受信ＦＩＦＯ
１２０      ホストバス制御部
１３０      ＣＰＵ
【図１】
2007194885.tif 000003
【図２】
2007194885.tif 000004
【図３】
2007194885.tif 000005
【図４】
2007194885.tif 000006
【図５】
2007194885.tif 000007
【図６】
2007194885.tif 000008
【図７】
2007194885.tif 000009
【図８】
2007194885.tif 000010
【図９】
2007194885.tif 000011
【図１０】
2007194885.tif 000012
【図１１】
2007194885.tif 000013
【図１２】
2007194885.tif 000014
【図１３】
2007194885.tif 000015
【図１４】
2007194885.tif 000016
【図１５】
2007194885.tif 000017
【図１６】
2007194885.tif 000018