(57)【特許請求の範囲】
【請求項１】
パケットを暗号化及び復号化する機能を有する第１の手段が接続され、且つ、ＬＡＮが接続される第１のポートと、公開サーバが接続される第２のポートと、ＷＡＮが接続される第３のポートとを有するパケット転送装置において、
前記第２のポートから入力されたパケットをフィルタリングし、前記第１の手段に出力する第１のフィルタリング手段と、
前記第３のポートから入力されたパケットをフィルタリングし、前記第１の手段に出力する第２のフィルタリング手段と、
前記第１の手段により暗号化された前記第１のフィルタリング手段からのパケットを入力し、前記暗号化されたパケットのフィルタリングを行い、且つ、前記第１の手段により復号化された前記第２のフィルタリング手段からのパケットを入力し、前記復号化されたパケットのフィルタリングを行う第３のフィルタリング手段とを有する、
ことを特徴とするパケット転送装置。
【請求項２】
前記第１の手段は、前記パケットを暗号化する機能と前記パケットを復号化する機能とを有するソフトウェアが搭載された半導体装置である、
ことを特徴とする請求項１記載のパケット転送装置。
【請求項３】
パケットを暗号化及び復号化する機能を有する第１の手段が接続され、ＬＡＮが接続される第１のポートと、公開サーバが接続される第２のポートと、ＷＡＮが接続される第３のポートとを有するパケット転送装置が半導体基板上に形成された半導体装置において、
前記第２のポートから入力されたパケットをフィルタリングし、前記第１の手段に出力する第１のフィルタリング手段と、
前記第３のポートから入力されたパケットをフィルタリングし、前記第１の手段に出力する第２のフィルタリング手段と、
前記第１の手段により暗号化された前記第１のフィルタリング手段からのパケットを入力し、前記暗号化された前記第１のフィルタリング手段からのパケットのフィルタリングを行い、且つ、前記第１の手段により復号化された前記第２のフィルタリング手段からのパケットを入力し、前記復号化されたパケットのフィルタリングを行う第３のフィルタリング手段とを有する、
ことを特徴とする半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパケット転送装置、半導体装置、および、パケット転送システムに関し、特に、ＬＡＮ、公開サーバ、および、ＷＡＮの間でパケットを転送するパケット転送装置、そのようなパケット転送装置が有する半導体装置、および、パケット転送システムに関する。
【０００２】
【従来の技術】
近年、ＩＳＤＮ（Integrated Service Digital Network）、ＡＤＳＬ（Asymmetric Digital Subscriber Line）、および、ＦＴＴＨ（Fiber To The Home）等の常時接続可能なインターネットサービスが家庭やＳＯＨＯ（Small Office Home Office）で利用可能になってきており、そのような環境においても、公開サーバを設置し、種々の情報をインターネット上に公開したいという要望が高まっている。
【０００３】
ところで、インターネット側からの不正な攻撃から公開サーバを守るために、ファイアウォールにより隔離されたセグメントであるＤＭＺ（DeMilitarized Zone）を設け、そこに公開サーバを設置する方法が知られている。
【０００４】
図３６は、従来におけるＤＭＺの構築方法の一例を示す図である。
この図の例では、公開サーバ２２は、ファイアウォール２１を介してＬＡＮ（Local Area Network）２０に接続され、また、ファイアウォール２３を介してＷＡＮ（Wide Area Network）２４に接続されている。
【０００５】
このような構成によれば、ＷＡＮ２４から公開サーバ２２への不正アクセスは、ファイアウォール２３によって阻止することができ、また、ＬＡＮ２０から公開サーバ２２への不正アクセス、および、公開サーバ２２を乗っ取ることによって間接的に実行されるＷＡＮ２４からＬＡＮ２０への不正アクセスは、ファイアウォール２１によって阻止することができる。
【０００６】
従って、このようなＤＭＺを用いることにより、公開サーバ２２への不正アクセスを防止するとともに、公開サーバ２２を乗っ取ることによりなされるＷＡＮ２４側からＬＡＮ２０側への不正アクセスを防止することができる。
【０００７】
【発明が解決しようとする課題】
ところで、このようなＤＭＺを構築しようとすると、高価で技術的に高度なファイアウォールを必要とするため、例えば、一般家庭やＳＯＨＯへの導入はコスト面においても、技術面においても困難を伴うという問題点があった。
【０００８】
本発明は、安価でコンパクトなＤＭＺを簡易に実現することが可能なパケット転送装置、半導体装置、および、パケット転送システムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明では上記課題を解決するために、図１に示す、パケットを転送するパケット転送装置１において、パケットを暗号化及び復号化する機能を有する第１の手段が接続され、且つ、ＬＡＮ２が接続される第１のポート１ａと、公開サーバ３が接続される第２のポート１ｂと、ＷＡＮ４が接続される第３のポート１ｃと、前記第１乃至第３のポート１ａ〜１ｃから入力されたパケットの属性に応じてフィルタリングを行うフィルタリング手段１ｄと、を有することを特徴とするパケット転送装置１が提供される。
【００１０】
ここで、図３５に示したように、第１のポートには、ＬＡＮを介して第１の手段（たとえば、図に示したマイクロプロセッサ機構５０）が接続される。第２のポートには、公開サーバ７０が接続される。第３のポート１ｃには、ＷＡＮを介して、たとえば、外部クライアント９０が接続される。フィルタリング手段は、第２のポートから入力されたパケットをフィルタリングし、第１の手段に出力する第１のフィルタリング手段（図では、フィルタｃ）と、第３のポートから入力されたパケットをフィルタリングし、第１の手段に出力する第２のフィルタリング手段（図では、フィルタａ）と、第１のフィルタリング手段経由で入力され、第１の手段により暗号化されたパケットのフィルタリングを行うとともに、第２のフィルタリング手段経由で入力され、第１の手段により復号化されたパケットのフィルタリングを行う第３のフィルタリング手段（図では、フィルタｂ）を有する。第１のフィルタリング手段、第２のフィルタリング手段、及び第３のフィルタリング手段は、入力されたパケットの属性に応じてフィルタリングを行う。  
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明の動作原理を説明する原理図である。この図に示すように、本発明のパケット転送システムは、パケット転送装置１、ＬＡＮ２、公開サーバ３、および、ＷＡＮ４によって構成されている。
【００１６】
パケット転送装置１は、第１のポート１ａ、第２のポート１ｂ、第３のポート１ｃ、フィルタリング手段１ｄ、および、ルーティング手段１ｅによって構成されている。
【００１７】
第１のポート１ａは、ＬＡＮ２との間でパケットを授受する際のインターフェースである。
第２のポート１ｂは、公開サーバ３との間でパケットを授受する際のインターフェースである。
【００１８】
第３のポート１ｃは、ＷＡＮ４との間でパケットを授受する際のインターフェースである。
フィルタリング手段１ｄは、第１乃至第３のポート１ａ〜１ｃから入力されたパケットの属性に応じてフィルタリングを行う。
【００１９】
ルーティング手段１ｅは、フィルタリング手段１ｄによって破棄の対象とならなかったパケットに対してルーティング処理を施す。
ＬＡＮ２は、例えば、家庭またはＳＯＨＯに設置された小規模なネットワークであり、１または２以上のノード（例えば、パーソナルコンピュータ等）が接続されている。
【００２０】
ＷＡＮ４は、例えば、インターネットのような大規模なネットワークであり、多数のノード（例えば、公開サーバ）および他のネットワークが接続されている。
【００２１】
次に、以上の原理図の動作について説明する。
先ず、ＷＡＮ４に接続された所定のノードから公開サーバ３に対して接続要求を行う場合の動作について説明する。
【００２２】
ＷＡＮ４の所定のノードから公開サーバ３に対して接続要求を行うパケットが送信されてきた場合には、このパケットは第３のポート１ｃを介してパケット転送装置１に入力される。
【００２３】
パケット転送装置１のフィルタリング手段１ｄは、パケットのヘッダ情報および入力されたポートを参照し、このパケットがＷＡＮ４の所定のノードから公開サーバ３に対する接続要求を行っていることを検知する。ＷＡＮ４から公開サーバ３に対する接続要求は許容されるので、フィルタリング手段１ｄは、このパケットを通過させ、ルーティング手段１ｅに供給する。
【００２４】
ルーティング手段１ｅは、フィルタリング手段１ｄから供給されたパケットを、第２のポート１ｂを介して公開サーバ３に供給する。
公開サーバ３は、パケットを受信し、例えば、所定の情報を送信する要求がなされている場合には、該当する情報を取得し、パケット化した後、要求を行ったノードのアドレスをヘッダに付加して送信する。
【００２５】
公開サーバ３から送信されたパケットは、再度、第２のポート１ｂを介して、フィルタリング手段１ｄに供給される。公開サーバ３からＷＡＮ４へのパケットの送信は許容されているので、フィルタリング手段１ｄは、このパケットを通過させ、ルーティング手段１ｅに供給する。
【００２６】
ルーティング手段１ｅは、供給されたパケットを受信し、ルーティング処理を行った後、第３のポート１ｃを介して、要求を行ったノードに対して送信する。その結果、ＷＡＮ４に接続されている所定のノードは、公開サーバ３にアクセスし、所望の情報を得ることができる。
【００２７】
次に、ＷＡＮ４に接続された所定のノードから、ＬＡＮ２に接続された所定のノードに対して接続要求がなされた場合について説明する。
ＷＡＮ４の所定のノードからＬＡＮ２の所定のノードに接続要求を行うパケットが送信された場合には、このパケットは第３のポート１ｃを介してパケット転送装置１に入力される。
【００２８】
パケット転送装置１のフィルタリング手段１ｄは、パケットのヘッダ情報および入力されたポートを参照し、このパケットがＷＡＮ４の所定のノードからＬＡＮ２の所定のノードに対して接続要求を行うものであることを検知する。ＷＡＮ４からＬＡＮ２に対する接続要求は、悪意を有するユーザによって送信されたものである場合が多いので、そのようなアクセスは禁止することが望ましいことから、フィルタリング手段１ｄは、このパケットを破棄する。
【００２９】
その結果、ＷＡＮ４からＬＡＮ２に対する不正なアクセスを阻止することが可能になる。
次に、ＷＡＮ４上の所定のノードが、公開サーバ３を乗っ取り、そこを足がかりにしてＬＡＮ２にアクセスする場合の動作について説明する。
【００３０】
公開サーバ３から送信されたパケットは、第２のポート１ｂを介してパケット転送装置１に入力される。ここで、このパケットは、公開サーバ３からＬＡＮ２の所定のノードに対する接続要求であるので、フィルタリング手段１ｄは、このパケットを破棄する。
【００３１】
その結果、公開サーバ３が乗っ取られて、そこを足がかりとしてＬＡＮ２のノードに不正にアクセスされることを防止することができる。
以上に説明したように、本発明のパケット転送システムでは、独立した第１のポート１ａ〜第３のポート１ｃを設けて、ＬＡＮ２、公開サーバ３、および、ＷＡＮ４を接続し、ＷＡＮ４からＬＡＮ２の所定のノードに対する接続要求を行うパケットが送信された場合および公開サーバ３からＬＡＮ２の所定のノードに対して接続要求を行うパケットが入力された場合には、フィルタリング手段１ｄがそれらのパケットを破棄するようにしたので、ＤＭＺを簡易に構築することが可能になる。
【００３２】
次に、本発明の実施の形態について説明する。
図２は、本発明の実施の形態の構成例を示す図である。この図に示すように、本発明のパケット転送システムは、パケット転送装置４０、マイクロプロセッサ機構５０、ＬＡＮ６０、公開サーバ７０、および、ＷＡＮ８０によって構成されている。
【００３３】
ここで、パケット転送装置４０は、マイクロプロセッサ機構５０、ＬＡＮ６０、ＷＡＮ８０、および、公開サーバ７０の間でパケットを転送するとともに、必要に応じてパケットを破棄する処理を行う。
【００３４】
マイクロプロセッサ機構５０は、パケット転送装置４０によって受信されたパケットに対してルーティング処理等を実行する。なお、この実施の形態では、マイクロプロセッサ機構５０は、パケット転送装置４０とは別個独立の構成としてあるが、これらを１つの装置として構成することも可能である。
【００３５】
ＬＡＮ６０は、例えば、家庭またはＳＯＨＯ内に構築されたローカルなネットワークであり、１または２以上のノードが接続されている。
ＷＡＮ８０は、例えば、インターネットによって構成されたグローバルなネットワークであり、多数のノードおよび他のネットワークが接続されている。
【００３６】
図３は、複数のポートを有するイーサネット（登録商標）のＭＡＣアドレスに基づくスイッチング機構をベースにした構成例を示している。この例では、アクセスルータの核であるイーサネットスイッチは、３つのＬＡＮ用ポート４０−０〜４０−２（以下、適宜、ポート＃０〜ポート＃２と呼ぶ）を有している。また、公開サーバセグメント７００、ＷＡＮセグメント８００、および、マイクロプロセッサ機構５０用として、ポート４０−３〜４０−５（以下、適宜、ポート＃３〜＃５と呼ぶ）を有している。
【００３７】
なお、ＬＡＮセグメント６００とポート４０−０〜４０−２とは、物理層デバイス６１〜６３を介して接続されている。また、公開サーバセグメント７００とポート４０−３とは物理層デバイス７１を介して接続されている。更に、ＷＡＮセグメント８００とポート４０−４とは、物理層デバイス８１を介して接続されている。
【００３８】
マイクロプロセッサ機構５０は、ＣＰＵ（Central Processing Unit）５０ａおよびメモリ５０ｂによって構成され、ポート４０−５に接続されている。
なお、マイクロプロセッサ機構５０とパケット転送装置４０との間でデータを転送する方法としては、図４に示すように、パケット転送装置４０にＤＭＡＣ（Direct Memory Access Controller）４０２を設け、ＦＩＦＯ（First In First Out）４０１と、マイクロプロセッサ機構５０のメモリ５０ｂとの間で、ＣＰＵ５０ａを介さずにデータを直接やりとりするようにしてもよい。
【００３９】
図５は、パケット転送装置４０の詳細な構成例を示す図である。
この図に示すように、パケット転送装置４０は、ＭＡＣブロック４１〜４５、インターフェースブロック４６、ＭＡＣアドレステーブル参照機構４７、フィルタリング機構４８、および、キューイング機構４９によって構成されている。
【００４０】
ここで、ＭＡＣブロック４１〜４５は、それぞれポート４０−０〜４０−４に対応しており、各ポートから入力されたパケットをＭＡＣアドレステーブル参照機構４７に受け渡すとともに、フィルタリング処理等がなされた後のパケットをキューイング機構４９から受け取り、該当するポートから出力する。
【００４１】
インターフェースブロック４６は、ポート４０−５を介してマイクロプロセッサ機構５０と接続されており、キューイング機構４９から供給されたパケットに対して種々の処理を施した後、ＭＡＣアドレステーブル参照機構４７に供給する。
【００４２】
ＭＡＣアドレステーブル参照機構４７は、ＭＡＣブロック４１〜４５によって受信されたパケットから宛先ＭＡＣアドレスを抽出し、抽出したＭＡＣアドレスと、テーブルに格納されている情報を照合し、そのパケットの転送先ポートを特定する。
【００４３】
フィルタリング機構４８は、ＭＡＣアドレステーブル参照機構４７から供給されたパケットのうち、設定された条件に応じてパケットを破棄する。
キューイング機構４９は、フィルタリング機構４８から供給されたパケットをポート毎に分けてキューイングする。
【００４４】
次に、図５の各機構部の詳細な説明を行う。
先ず、ＭＡＣアドレステーブル参照機構４７について説明する。ＭＡＣアドレステーブル参照機構４７は、図６に示すようなＭＡＣアドレステーブルを参照し、各ポートに接続されているノード（例えば、ＰＣ（Personal Computer））のＭＡＣアドレスと、そのポート番号とを対応付けて登録する機能を有している。
【００４５】
なお、登録する方法としては、自動的に学習する方法や、レジスタ設定によりマニュアル操作で登録する方法がある。
ＭＡＣアドレステーブル参照機構４７は、ＭＡＣブロック４１〜４５に具備されているキャプチャユニット（詳細は後述する）によって取得された宛先ＭＡＣアドレスと、図６に示すテーブルに格納されている宛先ＭＡＣアドレスとを照合し、転送先ポートを決定する。
【００４６】
例えば、ポート＃０から入力されたパケットの宛先ＭＡＣアドレスがポート＃１に接続されているＰＣのものである場合、図６に示すテーブルによれば、第４番目の項目に該当し、その値が“１”となっているポート＃１に転送されることになる。
【００４７】
これは、ポート＃０とポート＃１とがリンク層において接続（ブリッジ）されていることを示している。ポート＃０〜＃２は、リンク層において相互に接続されており、リンク層レベルでのスイッチングを行うため、ポート＃０〜＃２から入力されたパケットは、共通のＭＡＣアドレステーブル領域を参照する構成となっている。ここで、ポート＃０〜２から共通に参照可能なＭＡＣアドレステーブルの領域を、以下「ＬＡＮ用テーブル領域」と呼ぶ。
【００４８】
ＬＡＮ用テーブル領域の先頭には、ポート＃０，＃１，＃２，＃５に対応付けたブロードキャストアドレスである「ｆｆｆｆ＿ｆｆｆｆ＿ｆｆｆｆ」が固定的に登録されている。従って、例えばポート＃０から入力されたブロードキャストアドレスを宛先ＭＡＣアドレスとするパケットは、ポート＃０，＃１，＃２，＃５の全てに転送される。但し、入力ポートと出力ポートとが重複している場合には、転送を実行しないでもよいことから、ポート＃０には転送されない。
【００４９】
これに対して、ポート＃３は、ＤＭＺ用のポートなので、ポート＃３とＬＡＮ用のポート＃０，＃１，＃２とはリンク層レベルで分離されている必要があることから、ポート＃３から入力されたパケットについては、その宛先ＭＡＣアドレスの比較参照は、ＬＡＮ用テーブル領域に対しては実行しない。なお、ポート＃３から入力されたパケットの参照テーブルは以下では「ＤＭＺ用テーブル領域」と呼ぶ。
【００５０】
この例では、ＤＭＺ用のポートは１ポートなので、ポート＃３に連結しているノードのＭＡＣアドレスの登録はされていない。ＤＭＺポートはポート＃３のみなので、ブロードキャストアドレス「ｆｆｆｆ＿ｆｆｆｆ＿ｆｆｆｆ」のみが固定的に登録されており、これはポート＃５へ転送されるように設定されている。即ち、公開サーバ７０が接続されたポート＃３から入力されたパケットについては、マイクロプロセッサ機構５０が接続されているポート＃５に転送されることになる。
【００５１】
ところで、複数ポートをＤＭＺとして定義する場合は「ＤＭＺ用テーブル領域」に、ポート＃３に連結している各ノードのアドレスを登録すればよい。その結果、ＤＭＺ用のポート間でのスイッチングの際に参照することが可能になる。
【００５２】
更に、ＭＡＣアドレステーブルには、ポート＃５と対応付けされた「ＣＰＵ＿ＭＡＣ＿ＡＤＲ」が登録されている。この「ＣＰＵ＿ＭＡＣ＿ＡＤＲ」はマイクロプロセッサ機構５０に割り当てられたＭＡＣアドレスであり、別の言い方をすれば、パケット転送装置４０とマイクロプロセッサ機構５０とから構成されるアクセスルータに割り付けられたＭＡＣアドレスである。
【００５３】
ところで、ＬＡＮ６０からＷＡＮ８０へ、ＬＡＮ６０からＤＭＺである公開サーバ７０へ、公開サーバ７０からＷＡＮ８０へ、公開サーバ７０からＬＡＮ６０へ転送されるパケットは、マイクロプロセッサ機構５０によるルーティングを必要とするため、その宛先ＭＡＣアドレスは「ＣＰＵ＿ＭＡＣ＿ＡＤＲ」に設定される。この「ＣＰＵ＿ＭＡＣ＿ＡＤＲ」が登録されている領域は、ポート＃０，＃１，＃２から入力されたパケットからも、ポート＃３から入力されたパケットからも共通に比較参照されるエントリーである。このエントリーを以下、「ＣＰＵ＿ＭＡＣ＿ＡＤＲエントリー」と呼ぶ。
【００５４】
更に、ポート＃０，＃１，＃２から入力されたパケットの宛先ＭＡＣアドレスが、ブロードキャストアドレス、ＣＰＵ＿ＭＡＣ＿ＡＤＲ、または、ＬＡＮ用テーブル領域に登録されているアドレスのいずれにも該当しない場合には、そのパケットはポート＃５に転送される。宛先が不明なデータパケットとして、マイクロプロセッサ機構５０によって処理するためである。
【００５５】
同様に、ポート＃３から入力されたパケットの宛先ＭＡＣアドレスが、ブロードキャストアドレス、ＣＰＵ＿ＭＡＣ＿ＡＤＲ、ＤＭＺ用テーブル領域に登録されているアドレスのいずれにも該当しない場合は、ポート＃５へ転送される。前述の場合と同様に、宛先が不明なデータパケットとして、マイクロプロセッサ機構５０によって処理するためである。
【００５６】
更に、ポート＃５から入力されたパケットは、マイクロプロセッサ機構５０がストアしたデータであるため、後述する「転送指示用ディスクリプタ」により転送先ポートが指定される。このため、そのようなパケットについては宛先ＭＡＣアドレスの参照は行わない。
【００５７】
更にまた、ポート＃４から入力されたパケットは、宛先ＭＡＣアドレスの参照は行わない。即ち、ポート＃４から入力されたパケットは、ＷＡＮ８０から入力されたパケットであるため、マイクロプロセッサ機構５０によって転送されるべきだからである。
【００５８】
次に、キューイング機構４９について説明する。
図７は、キューイング機構４９を説明するための図である。ＭＡＣアドレステーブル参照機構４７により、転送先のポート番号が決定すると、パケット（塗りつぶされた矩形）は、キューイング機構４９が具備する、そのポート番号（０番〜５番）に対応するリンクバッファにバッファリングされる。なお、リンクバッファは転送先ポートごとに準備されており、図５の例では、転送先ポートは、ポート＃０〜＃５である。
【００５９】
マルチキャストが指定されている場合には、複数のポートに同一のパケットがコピーされた後、バッファリングされる。なお、コピーおよびバッファリングの実行方法としては、一斉にコピーしてバッファリングする方法と、一つの転送ポートへパケットが転送されたタイミングにおいて、マルチキャストされるべき他の転送ポート用リンクバッファにコピーしてバッファリングする方法の２つがある。つまり一斉コピーする方法と逐次コピーする方法である。マルチキャストの同報性を重視する場合は前者を選択し、バッファ容量の消費を抑制したい場合は、後者を選択することが望ましい。
【００６０】
次に、インターフェースブロック４６について説明する。
図８はインターフェースブロック４６の詳細な構成例を示す図である。
この図に示すように、インターフェースブロック４６は、キューイング機構インターフェース４６ａ、デュアルポートＲＡＭ（Random Access Memory）４６ｂ、デュアルポートＲＡＭ４６ｃ、ステータスレジスタ４６ｄ、マイクロプロセッサインターフェース４６ｅ、および、キャプチャユニット４６ｆによって構成されている。
【００６１】
キューイング機構インターフェース４６ａは、図５に示すキューイング機構４９との間のインターフェースであり、コントロール信号およびデータを相互にやりとりする。
【００６２】
デュアルポートＲＡＭ４６ｂは、送信用のＲＡＭであり、キューイング機構４９からマイクロプロセッサ機構５０へデータを送る際のバッファである。
デュアルポートＲＡＭ４６ｃは、受信用のＲＡＭであり、マイクロプロセッサ機構５０からキューイング機構４９へデータを送る際のバッファである。
【００６３】
ステータスレジスタ４６ｄは、デュアルポートＲＡＭ４６ｂ，４６ｃの状態を示す情報が設定されるレジスタである。
マイクロプロセッサインターフェース４６ｅは、マイクロプロセッサ機構５０との間のインターフェースであり、アドレス、コントロール信号、および、データを授受する。
【００６４】
キャプチャユニット４６ｆは、デュアルポートＲＡＭ４６ｃに格納されているパケットからヘッダを取得し、ＭＡＣアドレステーブル参照機構４７に供給する。
【００６５】
なお、インターフェースブロック４６は、ポート＃５に該当するので、キューイング機構４９にキューイングされているパケットのうち、ポート＃５に宛てられたパケットがリンクバッファから読み出されて供給される。
【００６６】
キューイング機構４９から供給されたパケットは、デュアルポートＲＡＭ４６ｂに格納されるが、このとき、インターフェースブロック４６は、パケットの先頭にパケット長（データ長）を示すヘッダを付加する。
【００６７】
そして、ある程度のパケットがデュアルポートＲＡＭ４６ｂに格納されると、インターフェースブロック４６は、マイクロプロセッサ機構５０に、データの転送の準備ができたことを、割り込み信号やステータスレジスタ４６ｄの値により通知する。
【００６８】
マイクロプロセッサ機構５０は、このデュアルポートＲＡＭ４６ｂにアクセスすることにより、データを取り出す。取り出すデータの総量は、ヘッダに記述されているデータパケット長により知ることができる。
【００６９】
逆にマイクロプロセッサ機構５０から他のポート（ポート＃０，＃１，＃２，＃３，＃４）へパケットを転送する場合、マイクロプロセッサ機構５０は、デュアルポートＲＡＭ４６ｃにデータをストアする。
【００７０】
この時、マイクロプロセッサ機構５０は、デュアルポートＲＡＭ４６ｃにストアされたパケットの先頭に、「転送指示用ディスクリプタ」をヘッダとして付加する。なお、転送指示用ディスクリプタは、図１１に示すフォーマットとなっており、転送先ポートの番号と、パケット長とが格納されている。
【００７１】
この転送指示用ディスクリプタに設定されている情報を参照することにより、インターフェースブロック４６は、パケットをキューイング機構４９の対応するリンクバッファに移転させる。
【００７２】
なお、デュアルポートＲＡＭ４６ｃにストア可能な空き領域の有無は、割り込み信号やステータスレジスタ４６ｄの値によりマイクロプロセッサ機構５０に通知することができる。
【００７３】
次に、ＭＡＣブロック４１〜４５の説明を行う。なお、ＭＡＣブロック４１〜４５は全て同様の構成とされているので、以下ではＭＡＣブロック４１を例に挙げて説明を行う。
【００７４】
図９に示すように、ＭＡＣブロック４１は、ＭＩＩ（Media Independent Interface）バスインターフェースコントローラ４１ａ、ＣＲＣ（Cyclic Redundancy Check）チェッカ４１ｂ、ＴＸ  ＦＩＦＯ４１ｃ、ＲＸ  ＦＩＦＯ４１ｄ、ステータスレジスタ４１ｅ、キャプチャユニット４１ｆ、および、キューイング機構インターフェース４１ｇによって構成されている。
【００７５】
ＭＩＩバスインターフェースコントローラ４１ａは、ＭＩＩバスを介してポート＃０と接続されており、外部から入力されたパケットを受信してＲＸ  ＦＩＦＯ４１ｄに供給するとともに、ＴＸ  ＦＩＦＯ４１ｃから供給されたパケットを外部に出力する。
【００７６】
ＣＲＣチェッカ４１ｂは、パケットに付加されている、エラー検出のためのＣＲＣコードを正しい値と比較する。
ＴＸ  ＦＩＦＯ４１ｃは、キューイング機構インターフェース４１ｇから供給されたパケットを格納し、格納した順にＭＩＩバスインターフェースコントローラ４１ａに供給する。
【００７７】
ＲＸ  ＦＩＦＯ４１ｄは、ＭＩＩバスインターフェースコントローラ４１ａから供給されたパケットを格納し、格納された順にキューイング機構インターフェース４１ｇに供給する。
【００７８】
ステータスレジスタ４１ｅは、ＴＸ  ＦＩＦＯ４１ｃおよびＲＸ  ＦＩＦＯ４１ｄの状態を格納するレジスタである。
キャプチャユニット４１ｆは、ＲＸ  ＦＩＦＯ４１ｄに格納されているパケットのヘッダ情報を取得し、ＭＡＣアドレステーブル参照機構４７に供給する。
【００７９】
次に、フィルタリング機構４８について説明する。
図１０は、フィルタリング機構４８の詳細な構成例を示す図である。この図に示すように、フィルタリング機構４８は、ラウンドロビンアービター４８ａ、比較器４８ｂ、および、フィルタリング用テーブル４８ｃによって構成されている。
【００８０】
ここで、ラウンドロビンアービター４８ａは、ラウンドロビン方式に基づいて、キャプチャユニットからの比較要求を選択する。
比較器４８ｂは、ラウンドロビンアービター４８ａによって決定された比較要求に対応するキャプチャユニットからのヘッダ情報と、フィルタリング用テーブル４８ｃとの比較により、パケットをフィルタリングすべきか否かを示す情報を、フィルタリング指示として出力する。
【００８１】
ここで、比較参照されるヘッダ情報としては以下のものがある。
Ｅｔｈｅｒｎｅｔヘッダ：プロトコルタイプ
ＩＰヘッダ            ：宛先ＩＰアドレス、送信元ＩＰアドレス、プロトコルＩＣＭＰヘッダ        ：タイプ
ＴＣＰヘッダ          ：宛先ポート番号、送信元ポート番号、ヘッダ情報（制御フラグ）
ＵＤＰヘッダ          ：宛先ポート番号、送信元ポート番号
次に、フィルタリング用テーブル４８ｃの具体的な構成について説明する。
【００８２】
図１２は、ネットワーク層プロトコルタイプテーブルを示している。これはＥｔｈｅｒｎｅｔヘッダ中のプロトコルタイプを参照することによりフィルタリングを実行するためのテーブルである。この例では、「プロトコルタイプ」、「入力ポート」、「転送先ポート」、および、「通過／非通過」に関する情報が関連付けされて格納されている。
【００８３】
ここで、プロトコルタイプフィールドには、ネットワーク層のプロトコルタイプが設定される。例えば、ＡＲＰ（Address Resolution Protocol）プロトコルの場合は、０ｘ０８０６であり、ＩＰプロトコルの場合は、０ｘ０８００である。
【００８４】
入力ポートフィールドには入力ポートの番号が設定される。
転送先ポートフィールドには転送先のポートの番号が設定される。
通過／非通過フィールドにはプロトコルタイプ、入力ポート番号、転送先のポート番号が適合したデータパケットを通過させるべきか破棄するべきかが設定される。このフィールドが“１”である場合には通過を、“０”の場合には破棄を示している。
【００８５】
この例では、ＩＰパケットは原則として通過させる設定となっている。また、ＡＲＰパケットはポート＃４からポート＃５への転送と、ポート＃５から＃４への転送が破棄される設定となっている。ＷＡＮ８０へのＡＲＰパケットの流出や、ＷＡＮ８０からのＡＲＰパケットの流入をフィルタリングするためである。
【００８６】
その他のネットワーク層のプロトコル、例えばＩＰＸ等に関する情報が入力された場合、このテーブルには設定されていないため、そのパケットの扱いは設定されている動作モードによる。例えば、動作モードが不明パケット破棄モードである場合は、そのようなパケットは破棄され、そうでない場合は、通過されることになる。
【００８７】
図１３は、ＩＣＭＰ（Internet Control Message Protocol）テーブルを示している。このＩＣＭＰテーブルは、ＩＰヘッダ中のプロトコル情報を参照することにより、それがＩＣＭＰプロトコルであった場合には、ＩＣＭＰテーブルとの比較を行う。
【００８８】
ＩＣＭＰプロトコルはクラッカーがネットワークに不正侵入する際の強力なツールとなり得るため、不要なＩＣＭＰパケットについてはフィルタリングにより破棄することが望ましいからである。このテーブルの参照により、不要なＩＣＭＰパケットを破棄できる。
【００８９】
ここで、ＩＣＭＰテーブルは、「ＩＣＭＰタイプ」、「入力ポート番号」、「転送先ポート番号」、および、「通過／非通過」に関する情報によって構成されている。
【００９０】
ＩＣＭＰタイプフィールドには、ＩＣＭＰプロトコルのメッセージタイプが設定される。
入力ポート番号フィールドには、パケットが入力されたポートの入力ポート番号が設定される。
【００９１】
転送先ポート番号フィールドには、パケットの転送先のポート番号が設定される。
通過／非通過フィールドには、そのパケットを通過させるか否かの情報が設定される。ここで、その値が“１”である場合には通過させ、“０”の場合には破棄することを示す。
【００９２】
この例では、ＩＣＭＰタイプが「１７」（アドレスマスク要求）のメッセージパケットがＷＡＮ８０側から進入することを防ぎ、かつ、ＩＣＭＰタイプが「１８」（アドレスマスク応答）のメッセージパケットがＷＡＮ８０側へ流出するのを防いでいる。
【００９３】
図１４は、ＩＰアドレス登録テーブルを示している。
ＩＰアドレス登録テーブルは、比較の対象となるＩＰアドレスを登録するためのテーブルである。登録されたＩＰアドレスはエントリー番号によりＩＤ値として表現される。その結果、後述するＬ３，Ｌ４テーブルのデータ量を削減することが可能になる。
【００９４】
図１４の例は、「ＩＤ値」と、「ＩＰアドレス」とから構成されている。
ここで、ＩＤ値フィールドには、そのＩＰアドレスに付与されたＩＤ値が設定される。
【００９５】
ＩＰアドレスフィールドには、対象となるＩＰアドレスが格納される。
具体的には、公開サーバ７０のＩＰのＩＤ値は「０」であり、また、ＬＡＮクライアントのＩＰのＩＤ値は「１」であることが分かる。
【００９６】
図１５は、Ｌ３テーブルの一例を示している。
Ｌ３テーブルは、レイヤー３レベルの情報、つまり宛先ＩＰアドレスと送信元ＩＰアドレスとの組み合わせを設定するテーブルである。なお、アドレス設定は、前述のＩＰアドレス登録テーブルに格納されているＩＤ値を利用して行う。
【００９７】
このテーブルを参照することにより、条件が一致したパケットは「通過／非通過フィールド」の設定に応じて通過もしくは、破棄される。また、このテーブルの条件に一致しないパケットは、動作モードが不明パケット破棄モードである場合には破棄され、そうでない場合は、通過される。なお、このテーブルのエントリー番号は、後述するＬ４テーブルにおいて、ＩＤ値として使用される。
【００９８】
図１５のテーブルに設定されている内容を具体的に説明すると、例えば、接続番号（エントリー番号が）「０」である項目は、送信元ＩＰアドレスが任意（ｘ）であり、宛先ＩＰアドレスのＩＤ値が「０」、即ち、ＤＭＺ公開サーバのＩＰアドレスである場合には、そのパケットは通過される。なお、設定値の有効／無効フィールドに設定されている情報は、その値が“１”である場合には、ＩＰアドレスフィールドで設定された情報が有効であり、“０”である場合には無効であることを示す。
【００９９】
図１６は、Ｌ４テーブルを示している。このテーブルには、ＴＣＰもしくは、ＵＤＰヘッダの宛先ポート番号と送信元ポート番号が登録される。また、Ｌ３テーブルで設定したＩＰアドレスの組み合わせをＩＤ値として登録することが可能である。更に、ＴＣＰプロトコルの場合は、コントロールフラグの設定も可能である。
【０１００】
このテーブル参照により、条件が一致したデータパケットは「通過／非通過フィールド」の設定内容に応じて通過もしくは、破棄される。なお、このテーブルの条件に一致しないデータパケットは、動作モードが不明パケット破棄モードである場合は破棄され、そうでない場合には、通過される。
【０１０１】
ここで、エントリー番号フィールドには、エントリー番号が設定される。
Ｌ３番号フィールドには、前述のＬ３テーブルのエントリー番号が設定される。
【０１０２】
ＴＣＰ／ＵＤＰフィールドには、ＴＣＰまたはＵＤＰの別が設定される。ここで、設定値が“１”である場合にはＴＣＰを、設定値が“０”である場合にはＵＤＰであることを示す。
【０１０３】
送信元ポート番号フィールドには、送信元のポート番号が設定される。
宛先ポート番号フィールドには、宛先のポート番号が設定される。
ＡＣＫフィールドには、ＡＣＫフラグの状態が設定される。ここで、ＡＣＫフラグが“０”である場合には、そのパケットは自発的に接続を請求するものであることを示す。
【０１０４】
設定の有効／無効フィールドには、Ｌ３番号フィールド、ＴＣＰ／ＵＤＰフィールド、送信元ポート番号フィールド、宛先ポート番号フィールド、ＡＣＫフィールドに格納されている情報を無効にするか否かを示す情報が設定される。ここで、このフィールドに格納されている情報が“１”である場合には対応するフィールドの情報が有効であることを示し、“０”である場合には無効であることを示す。
【０１０５】
ＷＡＮ入力フィールドには、ＷＡＮ８０から入力されたパケットをフィルタリングの対象とする場合には“１”がまたフィルタリングの対象としない場合には“０”が設定される。
【０１０６】
通過／非通過フィールドには、該当するパケットを通過させる場合には“１”を、破棄する場合には“０”が設定される。
次に、以上の実施の形態の動作について説明する。
【０１０７】
（１）ＷＡＮ８０からＤＭＺへ設置された公開サーバ７０へのアクセス
ＷＡＮ８０側からＤＭＺへ設置された公開サーバ７０へアクセスし、基本的な３ウエイ・ハンドシェイクによりＴＣＰコネクションを確立する場合のデータの流れを以下に説明する。
【０１０８】
図１７は、ＷＡＮ８０に接続された外部クライアント９０から公開サーバ７０へのアクセス時のデータの流れを示す。なお、公開サーバ７０には、グローバルアドレスが割り当てられているとする。
【０１０９】
外部クライアント９０から公開サーバ７０へのデータパケットの流れは、実線で示すＳ１〜Ｓ４の経路を辿る。
図１８は、このときのデータフローを示す図である。この図に示すように、外部クライアント９０からアクセスがなされた場合、宛先ＩＰアドレスとしては公開サーバ７０のＩＰアドレスが設定され、また、送信元ＩＰアドレスとしては外部クライアント９０のＩＰアドレスが設定されている。また、宛先ポートは「８０番」であり、送信元ポートは所定の値が設定されている。更に、コントロールフラグＳＹＮ＝１であり、ＡＣＫ＝０である。
【０１１０】
このようなパケットは、先ず、物理ポート４番、即ち、ポート＃４を介して入力され、フィルタａを介してマイクロプロセッサ機構５０に供給される。
ここで、図５に示す例を参照すると、先ず、ＭＡＣブロック４５から入力されたパケットは、ＭＡＣアドレステーブル参照機構４７およびフィルタリング機構４８によって実現されるフィルタａを経由して、キューイング機構４９へ供給される。
【０１１１】
そして、キューイング機構４９では、公開サーバ７０へ宛てられたパケットであることから、インターフェースブロック４６に対応するリンクバッファに格納された後、インターフェースブロック４６を経由して、マイクロプロセッサ機構５０に供給される。
【０１１２】
マイクロプロセッサ機構５０においてルーティング処理が施されたパケットは、再度インターフェースブロック４６を経由して、ＭＡＣアドレステーブル参照機構４７およびフィルタリング機構４８によって実現されるフィルタｂを経由した後、キューイング機構４９に供給される。
【０１１３】
キューイング機構４９では、公開サーバ７０に対応するリンクバッファに格納された後、ＭＡＣブロック４４を経由し、公開サーバ７０に供給される。
次に、公開サーバ７０は、図１９に示すように、要求を行った外部クライアント９０に対してパケットを送信する。このパケットでは、宛先ＩＰアドレスは外部クライアント９０のＩＰアドレスが設定され、また、送信元ＩＰアドレスとしては公開サーバ７０のＩＰアドレスが設定されている。また、宛先ポートには所定の値が設定され、送信元ポートに「８０番」が設定されている。更に、コントロールフラグＳＹＮ＝１であり、ＡＣＫ＝１である。
【０１１４】
このようなパケットは、図１７に示すように、破線で示すＳ５〜Ｓ８の経路を辿って外部クライアント９０に対して送りつけられる。
即ち、図５を参照して説明すると、公開サーバ７０が接続されたＭＡＣブロック４４から入力されたパケットは、ＭＡＣアドレステーブル参照機構４７およびフィルタリング機構４８によって実現されるフィルタｃを経由し、キューイング機構４９に供給され、マイクロプロセッサ機構５０に対応するリンクバッファに格納される。
【０１１５】
そして、キューイング機構４９から出力されたパケットは、インターフェースブロック４６を経由して、マイクロプロセッサ機構５０に供給され、そこで所定の処理を受けた後、再度インターフェースブロック４６を経由し、ＭＡＣアドレステーブル参照機構４７およびフィルタリング機構４８によって実現されるフィルタｂを経由し、キューイング機構４９の外部クライアント９０に対応するリンクバッファに格納される。
【０１１６】
キューイング機構４９から出力されたパケットは、ＭＡＣブロック４５を経由して、外部クライアント９０に送り届けられる。
それ以降の通信処理においては、図２０に示すようなパケットが外部クライアント９０から送信されることになる。即ち、このパケットでは、宛先ＩＰアドレスは公開サーバ７０のＩＰアドレスが設定され、また、送信元ＩＰアドレスとしては外部クライアント９０のＩＰアドレスが設定されている。また、宛先ポートは「８０番」であり、送信元ポートには所定の値が設定されている。更に、コントロールフラグＳＹＮ＝０であり、ＡＣＫ＝１である。
【０１１７】
また、公開サーバ７０からは、図２１に示すようなパケットが外部クライアント９０へ送信されることになる。即ち、このパケットでは、宛先ＩＰアドレスは外部クライアント９０のＩＰアドレスが設定され、また、送信元ＩＰアドレスとしては公開サーバ７０のＩＰアドレスが設定されている。また、送信元ポートは「８０番」であり、宛先ポートには所定の値が設定されている。更に、コントロールフラグＳＹＮ＝０であり、ＡＣＫ＝１である。
【０１１８】
なお、図１４のエントリー０、図１５のエントリー０，１、図１６のエントリー０，１には以上の場合におけるフィルタリングの設定例を示している。また、動作モードを不明パケットを破棄するモードにしておけば、公開ＷＥＢサーバのＴＣＰポート番号８０番（ＨＴＴＰプロトコル）以外へのポートへのアクセスを禁止することが可能になる。
【０１１９】
（２）ＬＡＮからＤＭＺへ設置された公開サーバ７０へのアクセス
ＬＡＮ６０にあるＬＡＮクライアント１００からＤＭＺへ置かれた公開サーバ７０へアクセスし、基本的な３ウエイ・ハンドシェイクによりＴＣＰコネクションの確立を行う場合のデータの流れを以下に説明する。
【０１２０】
図２２は、ＬＡＮ６０に接続されたＬＡＮクライアント１００から公開サーバ７０へのアクセス時のデータの流れを示す。なお、公開サーバ７０には、グローバルアドレスが割り当てられているとする。
【０１２１】
ＬＡＮクライアント１００から公開サーバ７０へのパケットの流れは、実線Ｓ１〜Ｓ４の経路を辿る。
図２３は、このときのデータフローを示す図である。この図に示すように、ＬＡＮクライアント１００からアクセスがなされた場合、宛先ＩＰアドレスは公開サーバ７０のＩＰアドレスが設定され、また、送信元ＩＰアドレスとしてはＬＡＮクライアント１００のＩＰアドレスが設定されている。また、宛先ポートは「８０番」であり、送信元ポートには所定の値が設定されている。更に、コントロールフラグＳＹＮ＝１であり、ＡＣＫ＝０である。
【０１２２】
このようなパケットは、先ず、物理ポート０番、即ち、ポート＃０を介して入力され、フィルタｄを介してマイクロプロセッサ機構５０に供給される。
ここで、図５に示す例を参照すると、先ず、ＭＡＣブロック４１から入力されたパケットは、ＭＡＣアドレステーブル参照機構４７およびフィルタリング機構４８によって実現されるフィルタｄを経由して、キューイング機構４９へ供給される。そして、キューイング機構４９では、公開サーバ７０へ宛てられたパケットであることから、インターフェースブロック４６に対応するリンクバッファに格納された後、インターフェースブロック４６を経由して、マイクロプロセッサ機構５０に供給される。
【０１２３】
マイクロプロセッサ機構５０においてルーティング処理がなされたパケットは、再度インターフェースブロック４６を経由して、ＭＡＣアドレステーブル参照機構４７およびフィルタリング機構４８によって実現されるフィルタｂを経由した後、キューイング機構４９に供給される。
【０１２４】
キューイング機構４９では、公開サーバ７０に対応するリンクバッファに格納された後、ＭＡＣブロック４４を経由し、公開サーバ７０に供給される。
次に、公開サーバ７０は、図２４に示すように、要求を行ったＬＡＮクライアント１００に対してパケットを送信する。
【０１２５】
このパケットでは、宛先ＩＰアドレスはＬＡＮクライアント１００のＩＰアドレスが設定され、また、送信元ＩＰアドレスとしては公開サーバ７０のＩＰアドレスが設定されている。また、宛先ポートには所定の値が設定され、送信元ポートには「８０番」が設定されている。更に、コントロールフラグＳＹＮ＝１であり、ＡＣＫ＝１である。
【０１２６】
このようなパケットは、図２２に示すように、破線で示すＳ５〜Ｓ８の経路を辿ってＬＡＮクライアント１００に対して送りつけられる。
即ち、図５を参照して説明すると、公開サーバ７０が接続されたＭＡＣブロック４４から入力されたパケットは、ＭＡＣアドレステーブル参照機構４７およびフィルタリング機構４８によって実現されるフィルタｃを経由し、キューイング機構４９に供給され、マイクロプロセッサ機構５０に対応するリンクバッファに格納される。
【０１２７】
そして、キューイング機構４９から出力されたパケットは、インターフェースブロック４６を経由して、マイクロプロセッサ機構５０に供給され、ルーティング処理を受けた後、再度インターフェースブロック４６を経由し、ＭＡＣアドレステーブル参照機構４７およびフィルタリング機構４８によって実現されるフィルタｂを経由し、キューイング機構４９のＬＡＮクライアント１００に対応するリンクバッファに格納される。
【０１２８】
キューイング機構４９から出力されたパケットは、ＭＡＣブロック４１を経由して、ＬＡＮクライアント１００に送り届けられる。
それ以降の通信処理においては、図２５に示すようなパケットがＬＡＮクライアント１００から送信されることになる。即ち、このパケットでは、宛先ＩＰアドレスとしては公開サーバ７０のＩＰアドレスが設定され、また、送信元ＩＰアドレスとしてはＬＡＮクライアント１００のＩＰアドレスが設定されている。また、宛先ポートは「８０番」であり、送信元ポートには所定の値が設定されている。更に、コントロールフラグＳＹＮ＝０であり、ＡＣＫ＝１である。
【０１２９】
また、公開サーバ７０からは、図２６に示すようなパケットがＬＡＮクライアント１００へ送信されることになる。即ち、このパケットでは、宛先ＩＰアドレスはＬＡＮクライアント１００のＩＰアドレスが設定され、また、送信元ＩＰアドレスとしては公開サーバ７０のＩＰアドレスが設定されている。また、送信元ポートは「８０番」であり、宛先ポートには所定の値が設定されている。更に、コントロールフラグＳＹＮ＝０であり、ＡＣＫ＝１である。
【０１３０】
図１４のエントリー０、図１５のエントリー０，１、図１６のエントリー０，１は以上の場合のフィルタリングの設定例を示している。
また、公開サーバ７０が外部の悪質なクラッカーに乗っ取られたとしても、重要なデータベースを置いているＬＡＮクライアント１００へのアクセスを防ぐための設定例を、図１４のエントリー１、図１５のエントリー２、図１６のエントリー２に示している。
【０１３１】
（３）ＬＡＮとＷＡＮ間でのデータ転送
ＬＡＮ６０側からＷＡＮ８０に置かれた公開サーバ（例えばＩＳＰのサーバ）へアクセスし、基本的な３ウエイ・ハンドシェイクによりＴＣＰコネクションの確立を行う場合のデータの流れを説明する。
【０１３２】
図２７にＬＡＮクライアント１００から外部公開サーバ１１０へのアクセス時のデータの流れを示す。
ＬＡＮクライアント１００から外部公開サーバ１１０へのデータパケットの流れは、実線で示すＳ１〜Ｓ４の経路を辿る。
【０１３３】
図２８は、このときのデータフローを示す図である。この図に示すように、ＬＡＮクライアント１００からアクセスがなされた場合、宛先ＩＰアドレスは外部公開サーバ１１０のＩＰアドレスが設定され、また、送信元ＩＰアドレスとしてはＬＡＮクライアント１００のＩＰアドレスが設定される。また、宛先ポートは「８０番」であり、送信元ポートには所定の値が設定される。更に、コントロールフラグＳＹＮ＝１であり、ＡＣＫ＝０である。
【０１３４】
このようなパケットは、先ず、物理ポート０番、即ち、ポート＃０を介して入力され、フィルタｄを介してマイクロプロセッサ機構５０に供給される。
ここで、図５に示す例を参照すると、先ず、ＭＡＣブロック４１から入力されたパケットは、ＭＡＣアドレステーブル参照機構４７およびフィルタリング機構４８によって実現されるフィルタｄを経由して、キューイング機構４９へ供給される。
【０１３５】
そして、キューイング機構４９では、外部公開サーバ１１０へ宛てられたパケットであることから、インターフェースブロック４６に対応するリンクバッファに格納された後、インターフェースブロック４６を経由して、マイクロプロセッサ機構５０に供給される。
【０１３６】
マイクロプロセッサ機構５０においてルーティング処理が施されたパケットは、再度インターフェースブロック４６を経由して、ＭＡＣアドレステーブル参照機構４７およびフィルタリング機構４８によって実現されるフィルタｂを経由した後、キューイング機構４９に供給される。
【０１３７】
キューイング機構４９では、外部公開サーバ１１０に対応するリンクバッファに格納された後、ＭＡＣブロック４５を経由し、外部公開サーバ１１０に供給される。
【０１３８】
次に、外部公開サーバ１１０は、図２９に示すパケットを、要求を行ったＬＡＮクライアント１００に対して送信する。即ち、このパケットでは、宛先ＩＰアドレスはＬＡＮクライアント１００のＩＰアドレスが設定され、また、送信元ＩＰアドレスとしては外部公開サーバ１１０のＩＰアドレスが設定されている。また、宛先ポートには所定の値が設定され、送信元ポートは「８０番」である。更に、コントロールフラグＳＹＮ＝１であり、ＡＣＫ＝１である。
【０１３９】
このようなパケットは、図２７に示すように、破線で示すＳ５〜Ｓ８の経路を辿ってＬＡＮクライアント１００に対して送りつけられる。
即ち、図５を参照して説明すると、外部公開サーバ１１０が接続されたＭＡＣブロック４５から入力されたパケットは、ＭＡＣアドレステーブル参照機構４７およびフィルタリング機構４８によって実現されるフィルタａを経由し、キューイング機構４９に供給され、マイクロプロセッサ機構５０に対応するリンクバッファに格納される。
【０１４０】
そして、キューイング機構４９から出力されたパケットは、インターフェースブロック４６を経由して、マイクロプロセッサ機構５０に供給され、そこで所定の処理を受けた後、再度インターフェースブロック４６を経由し、ＭＡＣアドレステーブル参照機構４７およびフィルタリング機構４８によって実現されるフィルタｂを経由し、キューイング機構４９のＬＡＮクライアント１００に対応するリンクバッファに格納される。
【０１４１】
キューイング機構４９から出力されたパケットは、ＭＡＣブロック４１を経由して、ＬＡＮクライアント１００に送り届けられる。
それ以降の通信処理においては、図３０に示すように、ＬＡＮクライアント１００からパケットが送信されることになる。即ち、このパケットでは、宛先ＩＰアドレスは外部公開サーバ１１０のＩＰアドレスが設定され、また、送信元ＩＰアドレスとしてはＬＡＮクライアント１００のＩＰアドレスが設定されている。また、宛先ポートは「８０番」であり、送信元ポートには所定の値が設定される。更に、コントロールフラグＳＹＮ＝０であり、ＡＣＫ＝１である。
【０１４２】
また、外部公開サーバ１１０からは、図３１に示すようなパケットがＬＡＮクライアント１００へ送信されることになる。即ち、このパケットでは、宛先ＩＰアドレスはＬＡＮクライアント１００のＩＰアドレスが設定され、また、送信元ＩＰアドレスとしては外部公開サーバ１１０のＩＰアドレスが設定されている。また、送信元ポートは「８０番」であり、宛先ポートには所定の値が設定されている。更に、コントロールフラグＳＹＮ＝０であり、ＡＣＫ＝１である。
【０１４３】
図１４のエントリー１、図１５のエントリー３，４、図１６のエントリー３，４にはこの場合のフィルタリングの設定例を示している。更に、図１６のエントリー５は、外部からのＡＣＫ＝０での進入、即ち、外部からの主体的な接続要求を伴う進入を防止している。
【０１４４】
以上の処理によれば、複数のポートから入力されたパケットを、その入力されたパケットと、パケットのヘッダ情報とを参照し、フィルタリングするようにしたので、簡易な構成により、ＤＭＺを実現することが可能になる。
【０１４５】
また、ＷＡＮ８０からＬＡＮ６０の所定のノードに対する接続要求があった場合には、そのパケットは破棄するようにしたので、外部からＬＡＮ６０への不正なアクセスがなされることを防止することが可能になる。
【０１４６】
更に、外部公開サーバ１１０からＬＡＮ６０の所定のノードに対する接続要求があった場合には、そのパケットは破棄するようにしたので、外部公開サーバ１１０が乗っ取られて、そこを足がかりとして、ＬＡＮ６０のノードが攻撃されることを防止することができる。
【０１４７】
続いて、以上の実施の形態により、柔軟なＶＰＮ（Virtual Private Network）を実現するための具体例を以下に示す。
当該機構と既存のＶＰＮパッケージと呼ばれるソフトウェアパッケージを併用することで、柔軟なセキュリティーを構築することが可能となる。ＶＰＮソフトではＩＰＳｅｃが代表的な例であるので、以下、これをベースに話をすすめる。
【０１４８】
図３２に、通常のＩＰパケットとＶＰＮパケットの違いを示す。図３２（Ａ）は、通常のＩＰパケットを示しており、図３２（Ｂ）はＶＰＮパケットを示している。この図の比較から分かるように、ＶＰＮパケットの場合には、ＩＰヘッダ以外は暗号化されている。
【０１４９】
図３３のようにファイアウォール１５２とＶＰＮ装置１５１を設置した場合、ファイアウォール１５２には、通常のＩＰパケットとＶＰＮパケットが流れこむ。ＶＰＮパケットはレイヤー４以上の情報（ＴＣＰ／ＵＤＰポート番号等）を暗号化しているため、ファイアウォール１５２においては、レイヤー４以上の情報に基づくフィルタリングはできない。
【０１５０】
ＶＰＮ装置１５１は、取り込んだＶＰＮパケットの暗号化部を復号化することで、通常のＩＰパケットとする。その後、内部にあるルータ１５０へ渡す。
このようなシステム構成にすると、ＶＰＮ装置１５１により認証され、復号化されたデータパケットには何もフィルタリングが実行されず、ＬＡＮへの柔軟なセキュリティポリシーの制御ができないという問題がある。
【０１５１】
そこで、この問題を解決するシステム構成例としては、図３４に示すように、ＬＡＮ側にファイアウォール１５３をもう一台設置する方法が考えられるが、このような方法は、管理技術的にもコスト的にも高度となる。
【０１５２】
そこで、本実施の形態を利用することで、安価でコンパクトなシステムを実現できる。
即ち、図３５に示すようにマイクロプロセッサ機構５０にＶＰＮ装置を実現するためのソフトウエアを搭載する。この例では、ＤＭＺに設置された公開サーバ７０へ向けて送信されたＶＰＮパケットに対して、フィルタリングが実行される過程を示す。
【０１５３】
ＶＰＮパケットは、レイヤー４以上の情報が暗号化されているため、図１６のＬ４テーブルによるフィルタリングは実行されず、図１５のＬ３テーブルベースでマイクロプロセッサ機構５０へ転送される。つまり、フィルタａを通過する。
【０１５４】
そして、マイクロプロセッサ機構５０の処理により、認証され、暗号化部を復号した後、公開サーバ７０へ向かうが、このときは、レイヤー４の情報が参照可能となっているため、フィルタｂにおいてフィルタリングが実行される。
【０１５５】
即ち、図１６のＬ４テーブルに設定されているようにＴＣＰポート番号８０番以外のものはフィルタリングされることになる。
逆に、ＤＭＺの公開サーバ７０からのパケットもフィルタｃにおいてフィルタリングを実行された後に、マイクロプロセッサ機構５０で暗号化され、ＶＰＮパケットとしてＷＡＮ８０側へ転送される。
【０１５６】
以上の構成によれば、簡易な構成により、ＶＰＮを容易に実現することが可能になる。
なお、図２に示す本実施の形態のパケット転送装置を半導体基板上に形成し、半導体装置として実施することも可能である。また、パケット転送装置４０のみならず、マイクロプロセッサ機構５０も同一の半導体基板上に形成し、これらを半導体装置として実施することも可能である。
【０１５７】
なお、以上の実施の形態では、ＬＡＮ６０、公開サーバ７０、および、ＷＡＮ８０が接続されるポートはそれぞれ１のみとしたが、これらを必要に応じて複数個具備することも可能であることはいうまでもない。
【０１５８】
また、以上の実施の形態では、ハードウエアにより本発明を実施する場合を説明したが、例えば、ソフトウエアにより同等の機能を実施することも可能であることはいうまでもない。
【０１５９】
更に、図６および図１１〜図１６に示すテーブルはほんの一例であり、本発明がこのような場合のみに限定されるものではないことはいうまでもない。
更にまた、以上の実施の形態では、図６および図１１〜図１６に示すテーブルの内容は、ＬＡＮ６０に接続されている、権限を有するユーザのクライアントから書き換え可能とすることも可能である。そのような構成によれば、用途に応じて適切な処理を行うことが可能になる。
【０１６０】
更にまた、以上の実施の形態では、図６および図１１〜図１６に示すテーブルを初期設定後は、変更しないことを前提として説明したが、ネットワークの状態に応じて、テーブルの内容を適宜変更するようにしてもよいことはいうまでもない。そのような方法によれば、時々刻々と変化するネットワークの状況に応じて、最適なフィルタリングを実行することが可能になる。
【０１６１】
（付記１）  パケットを転送するパケット転送装置において、
ＬＡＮが接続される第１のポートと、
公開サーバが接続される第２のポートと、
ＷＡＮが接続される第３のポートと、
前記第１のポート、前記第２のポート又は前記第３のポートから入力されたパケットの属性に応じてフィルタリングを行うフィルタリング手段と、
前記フィルタリング手段によって破棄の対象とならなかったパケットに対してルーティング処理を施すルーティング手段と、
を有することを特徴とするパケット転送装置。
【０１６２】
（付記２）  前記フィルタリング手段のフィルタリングの条件を設定するフィルタリング条件設定手段を有し、
前記フィルタリング手段は、前記フィルタリング条件設定手段によって設定された条件を参照してフィルタリングを行うことを特徴とする付記１記載のパケット転送装置。
【０１６３】
（付記３）  前記フィルタリング手段は、前記フィルタリング条件設定手段のいずれの条件にも該当しない場合には、当該パケットを破棄することを特徴とする付記２記載のパケット転送装置。
【０１６４】
（付記４）  前記フィルタリング手段は、前記フィルタリング条件設定手段のいずれの条件にも該当しない場合には、当該パケットを通過させることを特徴とする付記２記載のパケット転送装置。
【０１６５】
（付記５）  前記フィルタリング手段は、前記第３のポートから入力されたパケットが、前記第１のポートに接続されているノードに接続要求を行っている場合には、そのパケットは不正パケットとして破棄することを特徴とする付記１記載のパケット転送装置。
【０１６６】
（付記６）  前記フィルタリング手段は、前記第２のポートから入力されたパケットが、前記第１のポートに接続されているノードに接続要求を行っている場合には、そのパケットは不正パケットとして破棄することを特徴とする付記１記載のパケット転送装置。
【０１６７】
（付記７）  前記第３のポートから入力されたパケットを復号して前記第２のポートへ供給する復号手段と、
前記第２のポートから入力されたパケットを暗号化して前記第３のポートへ供給する暗号化手段と、
を更に有することを特徴とする付記１記載のパケット転送装置。
【０１６８】
（付記８）  パケットを転送するパケット転送装置が有する半導体装置において、
ＬＡＮが接続される第１のポートと、
公開サーバが接続される第２のポートと、
ＷＡＮが接続される第３のポートと、
前記第１のポート、前記第２のポート又は前記第３のポートから入力されたパケットの属性に応じてフィルタリングを行うフィルタリング手段と、
前記フィルタリング手段によって破棄の対象とならなかったパケットに対してルーティング処理を施すルーティング手段と、
を有することを特徴とする半導体装置。
【０１６９】
（付記９）  前記フィルタリング手段のフィルタリングの条件を設定するフィルタリング条件設定手段を有し、
前記フィルタリング手段は、前記フィルタリング条件設定手段によって設定された条件を参照してフィルタリングを行うことを特徴とする付記８記載の半導体装置。
【０１７０】
（付記１０）  前記フィルタリング手段は、前記フィルタリング条件設定手段のいずれの条件にも該当しない場合には、当該パケットを破棄することを特徴とする付記９記載の半導体装置。
【０１７１】
（付記１１）  前記フィルタリング手段は、前記フィルタリング条件設定手段のいずれの条件にも該当しない場合には、当該パケットを通過させることを特徴とする付記９記載の半導体装置。
【０１７２】
（付記１２）  前記フィルタリング手段は、前記第３のポートから入力されたパケットが、前記第１のポートに接続されているノードに接続要求を行っている場合には、そのパケットは不正パケットとして破棄することを特徴とする付記８記載の半導体装置。
【０１７３】
（付記１３）  前記フィルタリング手段は、前記第２のポートから入力されたパケットが、前記第１のポートに接続されているノードに接続要求を行っている場合には、そのパケットは不正パケットとして破棄することを特徴とする付記８記載の半導体装置。
【０１７４】
（付記１４）  前記第３のポートから入力されたパケットを復号して前記第２のポートへ供給する復号手段と、
前記第２のポートから入力されたパケットを暗号化して前記第３のポートへ供給する暗号化手段と、
を更に有することを特徴とする付記８記載の半導体装置。
【０１７５】
（付記１５）  ＬＡＮ、公開サーバ、ＷＡＮ、および、これらの間でパケットを転送するパケット転送装置を有するパケット転送システムにおいて、
前記パケット転送装置は、
ＬＡＮが接続される第１のポートと、
公開サーバが接続される第２のポートと、
ＷＡＮが接続される第３のポートと、
前記第１のポート、前記第２のポート又は前記第３のポートから入力されたパケットの属性に応じてフィルタリングを行うフィルタリング手段と、
前記フィルタリング手段によって破棄の対象とならなかったパケットに対してルーティング処理を施すルーティング手段と、
を有することを特徴とするパケット転送システム。
【０１７６】
（付記１６）  前記フィルタリング手段のフィルタリングの条件を設定するフィルタリング条件設定手段を有し、
前記フィルタリング手段は、前記フィルタリング条件設定手段によって設定された条件を参照してフィルタリングを行うことを特徴とする付記１５記載のパケット転送システム。
【０１７７】
（付記１７）  前記フィルタリング手段は、前記フィルタリング条件設定手段のいずれの条件にも該当しない場合には、当該パケットを破棄することを特徴とする付記１６記載のパケット転送システム。
【０１７８】
（付記１８）  前記フィルタリング手段は、前記フィルタリング条件設定手段のいずれの条件にも該当しない場合には、当該パケットを通過させることを特徴とする付記１６記載のパケット転送システム。
【０１７９】
（付記１９）  前記フィルタリング手段は、前記第３のポートから入力されたパケットが、前記第１のポートに接続されているノードに接続要求を行っている場合には、そのパケットは不正パケットとして破棄することを特徴とする付記１５記載のパケット転送システム。
【０１８０】
（付記２０）  前記フィルタリング手段は、前記第２のポートから入力されたパケットが、前記第１のポートに接続されているノードに接続要求を行っている場合には、そのパケットは不正パケットとして破棄することを特徴とする付記１５記載のパケット転送システム。
【０１８１】
（付記２１）  前記第３のポートから入力されたパケットを復号して前記第２のポートへ供給する復号手段と、
前記第２のポートから入力されたパケットを暗号化して前記第３のポートへ供給する暗号化手段と、
を更に有することを特徴とする付記１５記載のパケット転送システム。
【０１８２】
【発明の効果】
以上説明したように本発明では、公開サーバから転送された暗号化前のパケットは、第１のフィルタリング手段によりフィルタリング処理された後、第１の手段によって暗号化される。この暗号化パケットは、第３のフィルタリング手段によりフィルタリング処理され、外部へ転送される。一方、外部から入力した暗号化パケットは、第２のフィルタリング手段でフィルタリング処理された後、第１の手段によって復号化される。この復号化パケットは、第３のフィルタリング手段によりフィルタリング処理され、公開サーバへ転送される。このように、従来２個必要であったフィルタリング手段を、第３のフィルタリング手段で共用化することができる。この結果、パケット転送装置を安価且つコンパクトに構成することが可能となる。
【図面の簡単な説明】
【図１】本発明の動作原理を説明する原理図である。
【図２】本発明の実施の形態の構成例を示す図である。
【図３】複数のポートを有するイーサネット（登録商標）のＭＡＣアドレスに基づくスイッチング機構をベースにした構成例を示す図である。
【図４】マイクロプロセッサ機構とパケット転送装置との間でデータを転送する他の方法を示す図である。
【図５】パケット転送装置の詳細な構成例を示す図である。
【図６】ＭＡＣアドレステーブルの一例を示す図である。
【図７】キューイング機構の動作を説明するための図である。
【図８】インターフェースブロックの詳細な構成例を示す図である。
【図９】ＭＡＣブロックの詳細な構成例を示す図である。
【図１０】フィルタリング機構の詳細な構成例を示す図である。
【図１１】転送指示用ディスクリプタのフォーマットの一例を示す図である。
【図１２】ネットワーク層プロトコルタイプテーブルを示す図である。
【図１３】ＩＣＭＰテーブルの一例を示す図である。
【図１４】ＩＰアドレス登録テーブルの一例を示す図である。
【図１５】Ｌ３テーブルの一例を示す図である。
【図１６】Ｌ４テーブルの一例を示す図である。
【図１７】ＷＡＮに接続された外部クライアントから公開サーバへのアクセス時のデータの流れを示す図である。
【図１８】外部クライアントから公開サーバへアクセスする際のデータの流れを示す図である。
【図１９】公開サーバから外部クライアントへアクセスする際のデータの流れを示す図である。
【図２０】外部クライアントから公開サーバへアクセスする際のデータの流れを示す図である。
【図２１】公開サーバから外部クライアントへアクセスする際のデータの流れを示す図である。
【図２２】ＬＡＮに接続されたＬＡＮクライアントから公開サーバへのアクセス時のデータの流れを示す図である。
【図２３】ＬＡＮクライアントから公開サーバへアクセスする際のデータの流れを示す図である。
【図２４】公開サーバからＬＡＮクライアントへアクセスする際のデータの流れを示す図である。
【図２５】ＬＡＮクライアントから公開サーバへアクセスする際のデータの流れを示す図である。
【図２６】公開サーバからＬＡＮクライアントへアクセスする際のデータの流れを示す図である。
【図２７】ＬＡＮに接続されたＬＡＮクライアントから外部公開サーバへのアクセス時のデータの流れを示す図である。
【図２８】ＬＡＮクライアントから外部公開サーバへアクセスする際のデータの流れを示す図である。
【図２９】外部公開サーバからＬＡＮクライアントへアクセスする際のデータの流れを示す図である。
【図３０】ＬＡＮクライアントから外部公開サーバへアクセスする際のデータの流れを示す図である。
【図３１】外部公開サーバからＬＡＮクライアントへアクセスする際のデータの流れを示す図である。
【図３２】通常のＩＰパケットとＶＰＮパケットとの相違を示す図である。
【図３３】従来におけるＶＰＮの構成例である。
【図３４】従来におけるＶＰＮの他の構成例である。
【図３５】本実施の形態を用いたＶＰＮの構成例である。
【図３６】従来におけるＤＭＺの構成例を示す図である。
【符号の説明】
１  パケット転送装置
１ａ  第１のポート
１ｂ  第２のポート
１ｃ  第３のポート
１ｄ  フィルタリング手段
１ｅ  ルーティング手段
２  ＬＡＮ
３  公開サーバ
４  ＷＡＮ
４０  パケット転送装置
４１〜４５  ＭＡＣブロック
４１ａ  ＭＩＩバスインターフェースコントローラ
４１ｂ  ＣＲＣジェネレータ
４１ｃ  ＴＸ  ＦＩＦＯ
４１ｄ  ＲＸ  ＦＩＦＯ
４１ｅ  ステータスレジスタ
４１ｆ  キャプチャユニット
４１ｇ  キューイング機構インターフェース
４６  インターフェースブロック
４６ａ  キューイング機構インターフェース
４６ｂ  デュアルポートＲＡＭ
４６ｃ  デュアルポートＲＡＭ
４６ｄ  ステータスレジスタ
４６ｅ  マイクロプロセッサインターフェース
４６ｆ  キャプチャユニット
４７  ＭＡＣアドレステーブル参照機構
４８  フィルタリング機構
４８ａ  ラウンドロビンアービター
４８ｂ  比較器
４８ｃ  フィルタリング用テーブル
４９  キューイング機構
５０  マイクロプロセッサ機構
６０  ＬＡＮ
７０  公開サーバ
８０  ＷＡＮ
【図１】
0003874628.tif 000002
【図２】
0003874628.tif 000003
【図３】
0003874628.tif 000004
【図４】
0003874628.tif 000005
【図５】
0003874628.tif 000006
【図６】
0003874628.tif 000007
【図７】
0003874628.tif 000008
【図８】
0003874628.tif 000009
【図９】
0003874628.tif 000010
【図１０】
0003874628.tif 000011
【図１１】
0003874628.tif 000012
【図１２】
0003874628.tif 000013
【図１３】
0003874628.tif 000014
【図１４】
0003874628.tif 000015
【図１５】
0003874628.tif 000016
【図１６】
0003874628.tif 000017
【図１７】
0003874628.tif 000018
【図１８】
0003874628.tif 000019
【図１９】
0003874628.tif 000020
【図２０】
0003874628.tif 000021
【図２１】
0003874628.tif 000022
【図２２】
0003874628.tif 000023
【図２３】
0003874628.tif 000024
【図２４】
0003874628.tif 000025
【図２５】
0003874628.tif 000026
【図２６】
0003874628.tif 000027
【図２７】
0003874628.tif 000028
【図２８】
0003874628.tif 000029
【図２９】
0003874628.tif 000030
【図３０】
0003874628.tif 000031
【図３１】
0003874628.tif 000032
【図３２】
0003874628.tif 000033
【図３３】
0003874628.tif 000034
【図３４】
0003874628.tif 000035
【図３５】
0003874628.tif 000036
【図３６】
0003874628.tif 000037