(57)【要約】【課題】フィルタリングの対象を特に限定することなく、しかも受信したデータを使用するデータ処理側が特別にデータ取り込みのための処理を行う必要なく、フィルタリング後のデータを取得することのできるパケットフィルタ装置およびパケットフィルタ方法を得る。【解決手段】フィルタリング用ＬＳＩ１１４は、受信したデータ１２２を順に格納するＦＩＦＯメモリ１２３に格納された後、フィルタリング用設定レジスタ１３２に格納された廃棄パターンと比較され、一致したデータは削除される。タイミング生成回路１２４は、後段の図示しないＣＰＵが受信できるクロックタイミングを生成してＦＩＦＯメモリ１２３から古い順にこのタイミングで読み出されたデータをＣＰＵ側に送出する。したがって、ＣＰＵは必要なデータが到来したことの通知を受ける必要なく、また必要なデータを取り出す処理も不要である。【選択図】図２
2005286833.tif 000002
【特許請求の範囲】
【請求項１】
受信したパケットを順次その受信した順序で格納する受信データ格納手段と、
この受信データ格納手段に格納されたパケットの中で所定のデータ処理側が必要とするものと不要なものを選り分けるフィルタリング用データを格納したフィルタリング用データ格納手段と、
このフィルタリング用データ格納手段に格納された前記フィルタリング用データを前記受信データ格納手段に格納された各パケットにおける該当箇所を比較して一致の有無を判別する比較手段と、
この比較手段の比較結果から前記所定のデータ処理側が不要とするパケットを前記受信データ格納手段から削除する不要パケット削除手段と、
前記データ処理側の使用するクロックタイミングを生成するタイミング生成手段と、
このタイミング生成手段で生成したクロックタイミングで、前記受信データ格納手段から時間的に古いパケットから順に読み出してデータ処理側に送出するパケット送出手段
とを具備することを特徴とするパケットフィルタ装置。
【請求項２】
前記受信データ格納手段は先入れ先出しメモリで構成され、受信されたパケットのうちの前記フィルタリング用データに対応する位置のデータが順に格納されることを特徴とする請求項１記載のパケットフィルタ装置。
【請求項３】
前記受信データ格納手段はランダム・アクセス・メモリで構成され、格納順序あるいは格納時間を表わしたデータとそれぞれのパケットが格納されることを特徴とする請求項１記載のパケットフィルタ装置。
【請求項４】
前記フィルタリング用データ格納手段には、所定のセットボックス側に送り込まれ前記所定のデータ処理側では不要とするストリーミングデータを特定するフィルタリング用データが少なくとも不要パケットを表わすフィルタリング用データの一部として格納されていることを特徴とする請求項１記載のパケットフィルタ装置。
【請求項５】
受信したパケットを順次その受信した順序で所定の受信データ格納手段に格納する受信データ格納ステップと、
この受信データ格納ステップで受信データ格納手段に格納された各パケットから所定のデータ処理側が不要とするものを削除する廃棄ステップと、
この廃棄ステップで削除されなかったそれぞれのパケットを前記所定のデータ処理側の使用するクロックタイミングで、前記受信データ格納手段から格納順に読み出して、データ処理側に送出するパケット送出ステップ
とを具備することを特徴とするパケットフィルタ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不要なパケットを廃棄するパケットフィルタ装置およびパケットフィルタ方法に係わり、特に、通信ネットワークから送られてくるパケットから不要なものを廃棄してデータ処理側に渡すようにしたパケットフィルタ装置およびパケットフィルタ方法に関する。
【背景技術】
【０００２】
インターネットやＬＡＮ（ローカルエリアネットワーク）等の通信ネットワークが巨大化し通信処理が高速化するにしたがって、多くのデータが通信ネットワークの利用者の利用の対象となってきている。そこで、たとえばルータを介してＷＡＮ（Wide Area Network）から送られてくるデータのうち不要なパケットを廃棄するパケットフィルタ装置がパケットの選別のために従来から各種提案されている。
【０００３】
たとえば、不必要なプロトコルタイプをプロトコルタイプ格納部に登録しておいて、受信したフレームのプロトコルタイプをプロトコルタイプ格納部に格納されたプロトコルタイプと比較し、不必要なプロトコルタイプのフレームの場合にはＣＰＵに対して割込信号を送信しないようにする第１の提案が行われている（たとえば特許文献１参照）。具体的には、まず受信したデータがブロードキャストフレームであるかどうかを判別し、ブロードキャストフレームであった場合には、ＩＥＥＥ（Institute of Electrical and Electronics Engineers, Inc.）８０２．３仕様のフレームかＤＩＸ（DEC, Intel, Xerox）仕様のフレームかを判別し、ＩＥＥＥ８０２．３仕様のフレームであった場合にはプロトコルタイプフィールドをチェックして、これが受信フレームであれば受信することにしている。これ以外の場合にはこれらのフレームを廃棄することにしている。
【０００４】
この第１の提案では１つ１つの受信データに対して幾つもの判別処理が必要である。また最終的にはプロトコルタイプでしかデータの判別を行うことができず、詳細なパケットのフィルタリングが不可能であるという問題がある。
【０００５】
そこで、比較用のアドレスを登録したルックアップテーブルを用意しておき、パケットのヘッダ情報から取り出したアドレスとの間で比較処理を行って、これに完全にマッチングした通信データのみの取り込みを許可するようにしたパケットフィルタ装置が第２の提案として提案されている（たとえば特許文献２参照）。また、フィルタ条件を複数に分割して保存しておき、それぞれをパケットの一部分と比較し、これらの結果からパケットの取捨選択を行うようにする第３の提案も行われている（たとえば特許文献３参照）。
【特許文献１】特開平１１−２７５１４９号公報（第００１６、第００１７段落、図４）
【特許文献２】特開２００１−２３０８１３号公報（第００３６段落、図４）
【特許文献３】特開２００１−６９１７３号公報（第００４３段落、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
図４は、このうちの第２の提案によるパケットフィルタ装置の概要を表わしたものである。通信データ２０１はレジスタ部２０２に保持され、比較用のアドレスを登録したルックアップテーブル２０３の内容と比較される。そして、通信データ２０１がルックアップテーブル２０３に格納されたデータのいずれかと一致すると、マッチング処理が完了した旨の信号がマッチング論理回路２０４に送出される。マッチング論理回路２０４はこれを受けてデータ処理を行うデータ処理部２０５に対して、着信した通信データの取り込みを許可する信号を出力するようになっている。
【０００７】
この第２の提案のパケットフィルタ装置では、ルックアップテーブル２０３にＭＡＣ（Media Access Control）アドレスおよびＴＣＰ（Transmission Control Protocol）ヘッダのデータを格納するので、これらのデータについてのみのフィルタリングが可能となっている。したがって、通信ネットワークを流れる多様なデータに対して有効にフィルタリングを行うことができないという問題がある。また、この第２の提案ではレジスタ部２０２でアドレスのマッチングが終了すると、その結果がマッチング論理回路２０４に送出され、マッチング論理回路２０４がデータ処理部２０５に対して通信データの取り込みを許可する信号を送出する。したがって、データ処理部２０５側は通信データの取り込みを許可する信号が到来するのを監視し、この信号が到来したときにこれを取り込む処理を行う必要がある。
【０００８】
第３の提案では、比較対象のアドレスやプロトコルが一致したときにその判定結果を通知するようにしている。したがって、図４に示した第２の提案と同様にデータ処理部側では判定結果が通知されるのを待機して、通知があったら対象となるデータをその格納部から取り出す処理が必要とされる。
【０００９】
先に示した第１の提案では、必要とするデータの到来を判別するまでの処理をＣＰＵ以外の回路で行い、必要とするデータが到来した時点でＣＰＵに割り込みを掛けるようにして、受信したデータから必要なデータを振り分ける処理からＣＰＵを開放している。しかしながら、第２および第３の提案では、ＣＰＵの処理の更なる低減を図ることができず、必要なデータが受信されたことの通知を待機して、通知があったときにこれを取り込む処理をＣＰＵ側が必要とする。
【００１０】
そこで本発明の目的は、フィルタリングの対象を特に限定することなく、しかも受信したデータを使用するデータ処理側が特別にデータ取り込みのための処理を行う必要なく、フィルタリング後のデータを取得することのできるパケットフィルタ装置およびパケットフィルタ方法を提供することにある。
【課題を解決するための手段】
【００１１】
請求項１記載の発明では、（イ）受信したパケットを順次その受信した順序で格納する受信データ格納手段と、（ロ）この受信データ格納手段に格納されたパケットの中で所定のデータ処理側が必要とするものと不要なものを選り分けるフィルタリング用データを格納したフィルタリング用データ格納手段と、（ハ）このフィルタリング用データ格納手段に格納されたフィルタリング用データを受信データ格納手段に格納された各パケットにおける該当箇所を比較して一致の有無を判別する比較手段と、（ニ）この比較手段の比較結果から前記した所定のデータ処理側が不要とするパケットを受信データ格納手段から削除する不要パケット削除手段と、（ホ）データ処理側の使用するクロックタイミングを生成するタイミング生成手段と、（へ）このタイミング生成手段で生成したクロックタイミングで、受信データ格納手段から時間的に古いパケットから順に読み出してデータ処理側に送出するパケット送出手段とをパケットフィルタ装置に具備させる。
【００１２】
すなわち請求項１記載の発明では、受信したパケットを、たとえば先入れ先出しメモリからなる受信データ格納手段に時系列で格納し、不要な受信データを削除した状態で、データ処理側の使用するクロックタイミングでこれをデータ処理側に送出するようにしている。したがって、データ処理側では、特別にデータ取り込みのための処理を行う必要なく、これら必要とするデータを取得することができる。
【００１３】
請求項５記載の発明では、（イ）受信したパケットを順次その受信した順序で所定の受信データ格納手段に格納する受信データ格納ステップと、（ロ）この受信データ格納ステップで受信データ格納手段に格納された各パケットから所定のデータ処理側が不要とするものを削除する廃棄ステップと、（ハ）この廃棄ステップで削除されなかったそれぞれのパケットを前記した所定のデータ処理側の使用するクロックタイミングで、受信データ格納手段から格納順に読み出して、データ処理側に送出するパケット送出ステップとをパケットフィルタ方法に具備させる。
【００１４】
すなわち請求項５記載の発明では、受信したパケットを、受信データ格納手段に時系列で格納し、不要な受信データを削除した状態で、データ処理側の使用するクロックタイミングでこれをデータ処理側に送出することにしたので、データ処理側では、特別にデータ取り込みのための処理を行う必要なく、これら必要とするデータを取得することができる。
【発明の効果】
【００１５】
以上説明したように本発明によれば、受信したパケットを、受信データ格納手段に時系列で格納し、不要なパケットを削除した状態で、データ処理側の使用するクロックタイミングでこれをデータ処理側に送出することにしたので、データの選別だけでなくデータの取り出しについてもデータ処理側の負担をなくすことができ、データの処理速度の低下を招いたりせず、より高速のＣＰＵを使用する必要性がなくなる。また、データ処理側は、不要な受信データを削除した状態で受信したデータの順にデータを取得できるので、順序が狂ったデータを受信することによる不都合を解消することができる。
【発明を実施するための最良の形態】
【００１６】
以下実施例につき本発明を詳細に説明する。
【実施例１】
【００１７】
図１は、本発明の一実施例におけるパケット処理装置の構成を表わしたものである。このパケット処理装置１００は、図示しないルータを介して通信ケーブル１０１でＷＡＮ（Wide Area Network）と接続した宅内接続装置１０２と、他の通信ケーブル１０３で宅内接続装置１０２と接続されたセットボックス（ＳＴＢ）１０４を備えており、宅内接続装置１０２は更に他の通信ケーブル１０５によってＬＡＮ（Local Area Network）と接続されている。ここで、各通信ケーブル１０１、１０３、１０５は、“１００ｂａｓｅ−ＴＸ”あるいは“１０ｂａｓｅ−Ｔ”と呼ばれる１００メガビット／秒あるいは１０メガビット／秒の通信速度のケーブルが使用されている。また、本実施例ではＷＡＮ側に図示しないマルチキャストによるテレビジョン放送局が存在し、所定のチャンネル数のテレビジョン番組を組み込んだパケットが、ビデオオンデマンド（ＶＯＤ）等によって宅内接続装置１０２に配信されるようになっている。これらのテレビジョン番組のストリーミングはＬＡＮ側への送信を不要とするもので、宅内接続装置１０２は後に説明するようにセットボックス１０４側にのみストリーミングが送られるようなフィルタ処理を行う。宅内接続装置１０２には更に、電子メールやホームページのコンテンツを表わしたデータ等の各種のパケットも送信されてきており、これらのうちの宅内接続装置１０２側でフィルタがかけられなかったものがＬＡＮ側に送られるようになっている。
【００１８】
このようなフィルタリング機能を果たす宅内接続装置１０２は、２つの通信ケーブル１０１、１０３と接続されたＷＡＮ側スイッチングハブ（ＳＷ−ＨＵＢ）１１１と、通信ケーブル１０５と接続されたＬＡＮ（Local Area Network）側スイッチングハブ１１２の２つのスイッチングハブを備えている。ＷＡＮ側スイッチングハブ１１１は、２つの通信ケーブル１０１、１０３を内部的にＬ２（layer 2：データリンク層）レベルで共通接続しており、これによりセットボックス１０４はＷＡＮとＬ２レベルで接続されている。また、ＷＡＮ側スイッチングハブ１１１は、ＭＩＩ(媒体独立インタフェース:Media Independent Interface)１１３を介してフィルタリング用ＬＳＩ（Large Scale Integration）１１４と接続されている。また、ＬＡＮ側スイッチングハブ１１２はＭＩＩ１１５を介してＣＰＵ（Central Processing Unit；中央演算処理ユニット）１１６と接続されている。ＣＰＵ１１６は更に他のＭＩＩ１１７および制御バス１１８を介してフィルタリング用ＬＳＩ１１４と接続されている。また、ＭＩＩ１１３、１１７は、イーサネット（登録商標）によるパケット通信が行われるようになっている。
【００１９】
このような構成の宅内接続装置１０２は、ビデオオンデマンド等によってセットボックス１０４に送られるストリーミングデータを、ＷＡＮ側スイッチングハブ１１１およびＭＩＩ１１３を経由してフィルタリング用ＬＳＩ１１４に入力することになる。フィルタリング用ＬＳＩ１１４は、ＣＰＵ１１６からあらかじめ与えられるフィルタリングの対象となるデータを用いて、ＬＡＮ側に不要となるデータを廃棄し、従来行われていたＣＰＵによる不要パケットの廃棄処理を不要とすることでＣＰＵ１１６の負荷を軽減している。フィルタリングの終了したデータは、ＭＩＩ１１７、１１５およびＬＡＮ側スイッチングハブ１１２を経てＬＡＮ側の図示しないパーソナルコンピュータ等の情報処理装置側に送られることになる。
【００２０】
図２は、本実施例のフィルタリング用ＬＳＩの要部を表わしたものである。フィルタリング用ＬＳＩ１１４には、図１に示したＷＡＮ側スイッチングハブ１１１からクロック１２１とデータ１２２が送られてくる。このうちのクロック１２１は、ＦＩＦＯ（First In First Out：先入れ先出し）メモリ１２３およびタイミング生成回路１２４に供給されると共に、ＣＰＵ（図１参照）１１６側に伝送される。データ１２２は、パケットごとにその特定ビット列（以下、比較用ビット列という。）がＦＩＦＯメモリ１２３の入力側に順次供給される。ＦＩＦＯメモリ１２３の出力側にはタイミング生成回路１２４が配置されている。タイミング生成回路１２４は、ＷＡＮ側から送られてきたＰＨＹ（physical layer）のクロック１２１の遅延等による位相のずれを補正してＣＰＵ１１６（図１）が受信できるクロックタイミングを作成する。このようにしてＦＩＦＯメモリ１２３から順次読み出されたデータ１２６はＭＩＩ１１７によってＣＰＵ１１６側に送られることになる。
【００２１】
ところで、フィルタリング用ＬＳＩ１１４にはＣＰＵインタフェース１２７が設けられており、アドレスバス１２８、データバス１２９および制御信号線１３０を通じてＣＰＵ１１６とのインタフェースをとるようになっている。ＣＰＵインタフェース１２７にはフィルタリング用設定レジスタ１３２が接続されており、ここにはフィルタリングによって廃棄するそれぞれのパケットの特定ビット列からなるパターン（以下、廃棄パターンと称する。）が格納されるようになっている。コンパレータ１３３は、フィルタリング用設定レジスタ１３２に格納されているそれぞれの廃棄パターンとＦＩＦＯメモリ１２３に格納されている比較用ビット列を比較するようになっている。そして、いずれかの廃棄パターンに一致する比較用ビット列が存在した場合には、その比較用ビット列を含むパケットがＦＩＦＯメモリ１２３から削除されることで不要パケットの廃棄処理が行われることになる。
【００２２】
図３は、一例としてＩＰヘッダにおけるＦＩＦＯメモリに格納される比較用ビット列を表わしたものである。同図（ａ）は、アドレス資源を３２ビットで管理しているＩＰＶ4によるＩＰ（Internet Protocol）ヘッダの比較用ビット列の位置を示している。比較用ビット列１４１Ａは、ＩＰＶ4によるＩＰヘッダ１４２の先頭から１６バイト分だけスキップした箇所から始まる３２ビットのデスティネーション（destination）アドレスが相当する。すなわちＦＩＦＯメモリ１２３は送られてきたデータ１２２がＩＰＶ4によるＩＰヘッダ１４２であると判別された場合には、その３２ビットのデスティネーションアドレスを比較用ビット列１４１Ａとして取り込む。
【００２３】
一方、同図（ｂ）は、ＩＰＶ4と比較してアドレス空間の増大等の改良を施したＩＰＶ6によるＩＰヘッダの比較用ビット列の位置を示している。比較用ビット列１４１Ｂは、ＩＰＶ6によるＩＰヘッダ１４３の先頭から２４バイト分だけスキップした箇所から始まる１２８ビットのデスティネーション（destination）アドレスが相当する。すなわちＦＩＦＯメモリ１２３は送られてきたデータ１２２がＩＰＶ6によるＩＰヘッダ１４３であると判別された場合には、その１２８ビットのデスティネーションアドレスを比較用ビット列１４１Ｂとして取り込むことになる。
【００２４】
フィルタリング用設定レジスタ１３２には、廃棄の対象となるこのようなＩＰＶ4、ＩＰＶ6の廃棄パターンだけでなく、その他のプロトコルについての廃棄パターンも必要に応じて格納される。たとえば、ホストのグループへの参加、脱退やマルチキャストルータ間でグループに関する情報の交換をする際のプロトコルとしてのＩＧＭＰ（Internet Group Management Protocol）や、ＩＰＶ6内のプロトコルエラーを制御するプロトコルとしてのＩＣＭＰＶ6（Internet Control Message Protocol for IPV6）あるいはあるフレームがどのＶＬＡＮ（Virtual Local Area Network）に対するものなのかを判別するためにイーサネット（登録商標）フレームにタグをつけたＶＬＡＮ−ＴＡＧ（Tagged VLAN）等についての廃棄パターンが格納されていてもよい。
【００２５】
ＩＧＭＰの場合には、タイプ（type）やグループ（group）アドレスのフィールドが存在するので、そのフィールドを比較用ビット列として廃棄パターンと比較することでフィルタリングが可能である。また、ＩＣＭＰＶ6の場合には、タイプのフィールドが存在するので、これを比較用ビット列として廃棄パターンと比較することができる。これらの２つの場合は、ＬＡＮ側で行われるデータ通信に加えたくない場合に、廃棄パターンの登録が行われる。ＶＬＡＮモードで通信を行うような場合には、ＩＰアドレスの代わりにＶＬＡＮ−ＴＡＧを廃棄パターンとしてフィルタリング用設定レジスタ１３２に登録しておくことで、タグの一致によるフィルタリングが可能になる。
【００２６】
コンパレータ１３３は、ＦＩＦＯメモリ１２３に格納されているそれぞれの比較用ビット列の中に廃棄パターンのいずれかと一致するものがあれば、これらに対応するデータ１２２をパケット単位で削除することになる。したがって、たとえば前記したテレビジョン放送局からマルチキャストパケット等のパケットデータが送られてきた場合、これらのＩＰアドレスをＣＰＵ１１６（図１）が事前にフィルタリング用設定レジスタ１３２に登録しておくことで、これらをすべてＦＩＦＯメモリ１２３から削除することができる。
【００２７】
以上、実施例ではＷＡＮ側スイッチングハブ１１１からＬＡＮ側スイッチングハブ１１２の方向に流れるデータについてのフィルタリングを説明したが、この逆にＬＡＮ側スイッチングハブ１１２からＷＡＮ側スイッチングハブ１１１方向に流れるデータについては、特にフィルタリング処理は行わない。
【００２８】
なお、ＦＩＦＯメモリ１２３の以上説明したような制御は、専用の制御手段によるソフトウェア処理で行ってもよいし、ハードウェアで行うことも可能である。
【００２９】
また、実施例ではＦＩＦＯメモリ１２３にデータ１２２の比較用ビット列を順次格納して、削除の対象とならなかったものを古い順にタイミング生成回路１２４に送出することにしたが、これに限るものではない。たとえば、ＲＡＭ（ランダム・アクセス・メモリ）にそれぞれパケット単位のデータを順番が分かるように書き込んで、これらについて廃棄パターンと一致するものは削除あるいは新たなパケット単位のデータの上書きを行うようにして、タイミング生成回路１２４の指示するタイミングで古いものからパケット単位にデータ１２６を読み出すようにしてもよい。順番の代わりに、格納時刻情報が付記されるようになっていてもよい。
【００３０】
更に、フィルタリング用設定レジスタ１３２にフィルタリングで透過するパケットのデータを格納し、これに一致するもの以外はＦＩＦＯメモリ１２３等の受信データ格納手段から削除して、残ったものを受信データ格納手段から読み出すようにしてもよい。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施例におけるパケット処理装置の構成を表わしたブロック図である。
【図２】本実施例のフィルタリング用ＬＳＩの要部を表わしたブロック図である。
【図３】本実施例でＩＰヘッダにおけるＦＩＦＯメモリに格納される比較用ビット列を表わした説明図である。
【図４】従来の第２の提案によるパケットフィルタ装置の概要を表わしたブロック図である。
【符号の説明】
【００３２】
１００  パケット処理装置
１０２  宅内接続装置
１０４  セットボックス
１１１  ＷＡＮ側スイッチングハブ
１１２  ＬＡＮ側スイッチングハブ
１１４  フィルタリング用ＬＳＩ
１１６  ＣＰＵ
１２２  データ
１２３  ＦＩＦＯメモリ
１２４  タイミング生成回路
１３２  フィルタリング用設定レジスタ
１３３  コンパレータ
【図１】
2005286833.tif 000003
【図２】
2005286833.tif 000004
【図３】
2005286833.tif 000005
【図４】
2005286833.tif 000006