(57)【特許請求の範囲】
【請求項１】
それぞれが処理要素アイデンティティを有する複数の中央処理装置コアを含む、マルチコアプロセッサを備えたセキュリティゲートウエイを介して、ホストとサーバの間のセッションを確立する方法において、
(ａ)前記セッションに対するセッションリクエストであって、ホストネットワークアドレスとサーバネットワークアドレスとを含むセッションリクエストを前記ホストから受け取り、ホスト側セッションを確立するステップ、
(ｂ)サーバに対し、前記ホストネットワークアドレスと置換して用いるためのプロキシネットワークアドレスを選択するステップ、
(ｃ)サーバ側セッションを確立するために前記プロキシネットワークアドレスを使用するステップ、
(ｄ)データパケットを受け取るステップ、
(ｅ)前記データパケットを処理するために前記複数の中央処理装置コアから１つの中央処理装置コアを割り当てるステップ、
を含み、
前記ステップ(ｅ)において、前記ホスト側セッションからのデータパケットに対しては、該データパケットに含まれる前記ホストネットワークアドレス及び前記サーバネットワークアドレスに基づいて、予め決められた計算方法により第１の処理要素アイデンティティを計算し、該第１の処理要素アイデンティティにより指定される中央処理装置コアを割り当て、前記サーバ側セッションからのデータパケットに対しては、該データパケットに含まれる前記プロキシネットワークアドレス及び前記サーバネットワークアドレスに基づいて、予め決められた計算方法により第２の処理要素アイデンティティを計算し、該第２の処理要素アイデンティティにより指定される中央処理装置コアを割り当て、
前記ステップ(ｂ)において、前記ステップ(ｅ)で計算される前記第１の処理要素アイデンティティと前記第２の処理要素アイデンティティとが同じになるように、前記プロキシネットワークアドレスを選択する
ことを特徴とする方法。
【請求項２】
前記ホストネットワークアドレスがホストＩＰアドレスを含み、
前記プロキシネットワークアドレスがプロキシＩＰアドレスを含み、
前記ステップ(ｂ)において、前記ホストＩＰアドレスを置換するための前記プロキシＩＰアドレスが決定されることを特徴とする請求項１記載の方法。
【請求項３】
前記ホストネットワークアドレスがホストのＴＣＰポート番号を含み、
前記プロキシネットワークアドレスがプロキシＴＣＰポート番号を含み、
前記ステップ(ｂ)において、前記ホストのＴＣＰポート番号を置換するための前記プロキシＴＣＰポート番号が決定されることを特徴とする請求項１記載の方法。
【請求項４】
セキュリティゲートウエイにおいて、
それぞれが処理要素アイデンティティを有する複数の中央処理装置コアを含む、マルチコアプロセッサ、
ホストとサーバの間のセッションに対するセッションリクエストであって、ホストネットワークアドレスとサーバネットワークアドレスとを含むセッションリクエストを前記ホストから受け取り、前記サーバに対し、前記ホストネットワークアドレスと置換して用いるためのプロキシネットワークアドレスを選択し、かつサーバ側セッション及びホスト側セッションを確立するための、ネットワークアドレスセレクタ、及び
前記サーバ側セッション及び前記ホスト側セッションからの複数のデータパケットを処理するために前記複数の中央処理装置コアから１つの中央処理装置コアを割り当てるためのディスパッチャーであって、前記ホスト側セッションからのデータパケットに対しては、該データパケットに含まれる前記ホストネットワークアドレス及び前記サーバネットワークアドレスに基づいて、予め決められた計算方法により第１の処理要素アイデンティティを計算し、該第１の処理要素アイデンティティにより指定される中央処理装置コアを割り当て、前記サーバ側セッションからのデータパケットに対しては、該データパケットに含まれる前記プロキシネットワークアドレス及び前記サーバネットワークアドレスに基づいて、予め決められた計算方法により第２の処理要素アイデンティティを計算し、該第２の処理要素アイデンティティにより指定される中央処理装置コアを割り当てるディスパッチャー、
を備え、
前記ネットワークアドレスセレクタは、前記ディスパッチャーにより計算される前記第１の処理要素アイデンティティと前記第２の処理要素アイデンティティとが同じになるように、前記プロキシネットワークアドレスを選択する
ことを特徴とするセキュリティゲートウエイ。
【請求項５】
前記ホストネットワークアドレスがホストＩＰアドレスを含み、
前記プロキシネットワークアドレスがプロキシＩＰアドレスを含み、
前記ネットワークアドレスセレクタが、前記ホストＩＰアドレスを置換するための前記プロキシＩＰアドレスを決定することを特徴とする請求項４記載のセキュリティゲートウエイ。
【請求項６】
前記ホストネットワークアドレスがホストのＴＣＰポート番号を含み、
前記プロキシネットワークアドレスがプロキシＴＣＰポート番号を含み、
前記ネットワークアドレスセレクタが、前記ホストのＴＣＰポート番号を置換するための前記プロキシＴＣＰポート番号を決定することを特徴とする請求項４記載のセキュリティゲートウエイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は全般的にはデータネットワークに関し、さらに詳しくは分散多重処理セキュリティゲートウエイのためのシステム及び方法に関する。
【背景技術】
【０００２】
益々多くのコンピュータがデータネットワークを介して接続されるにつれて、また益々多くのアプリケーションがそれぞれの機能のためにデータネットワークを利用するにつれて、データネットワーク活動が高まっている。したがって、セキュリティ侵犯に対してデータネットワークを保護することが一層重要になる。
【０００３】
現在、ファイアウォール、ＶＰＮファイアウォール、ペアレンタルコントロールアプライアンス、ｅメールウイルス検出ゲートウエイ、対フィッシング／スパイウエア専用ゲートウエイ、侵犯検出／阻止アプライアンス、アクセスコントロールゲートウエイ、アイデンティティ管理ゲートウエイ、及びその他の多くのタイプのセキュリティゲートウエイのような、多くのセキュリティゲートウエイがある。これらの製品は一般に、インテルペンティアム（登録商標）、ＡＭＤプロセッサまたはＳＰＡＲＣプロセッサのような汎用マイクロプロセッサ、あるいは、ＭＩＰＳアーキテクチャ、パワーＰＣアーキテクチャまたはＡＲＭアーキテクチャのようなＲＩＳＣアーキテクチャに基づく組込マイクロプロセッサを用いて実施される。
【０００４】
マイクロプロセッサアーキテクチャは処理能力が限られている。一般に、マイクロプロセッサはギガビット毎秒までの帯域幅を扱うことができる。過去数年間に、データネットワーク利用帯域幅はマイクロプロセッサ能力の向上より速いペースで高まっている。今日、多くの中規模及び大規模な高信頼性企業データネットワークにおいて、数ギガビット毎秒のデータネットワーク利用帯域幅にであうことも珍しくはない。そのような状況は、スモールビジネスデータネットワーク、居住ネットワーク及びサービスプロバイダネットワークを含む、ほとんどのデータネットワークにおいて一層普及すると考えられる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
データネットワークの利用の増加傾向は、特に、それぞれがマイクロプロセッサであるかまたはマイクロプロセッシングアーキテクチャに基づく、複数の処理要素を用いて、データネットワークを保護するために縦連ではたらかせる、一層優れた、また一層高い、能力をもつセキュリティゲートウエイが必要であることを示す。
【課題を解決するための手段】
【０００６】
分散多重処理セキュリティゲートウエイのためのシステム及び方法は、ホスト側セッションを確立し、サーバに対するプロキシネットワークアドレスを選択し、サーバ側セッションを確立するためにプロキシネットワークアドレスを用い、データパケットを受取り、データパケットを処理するためにセキュリティゲートウエイのマルチコアプロセッサ内の複数の中央処理装置(ＣＰＵ)コアから１つのＣＰＵコアを割り当て、セキュリティポリシーにしたがってデータパケットを処理して、処理済データパケットを送る。プロキシネットワークアドレスは、サーバ側セッション及びホスト側セッションからのデータパケットの処理に同じＣＰＵコアが割り当てられるように選択される。この態様でＣＰＵコアを割り当てることによって、一層能力が高いセキュリティゲートウエイが提供される。
【図面の簡単な説明】
【０００７】
【図１ａ】図１ａは高信頼性データネットワークを示す。
【図１ｂ】図１ｂはネットワークアドレス置換(ＮＡＴ)プロセスの概要を示す。
【図１ｃ】図１ｃはＴＣＰセッションのためのＮＡＴプロセスを示す。
【図２】図２は分散多重処理セキュリティゲートウエイを示す。
【図３】図３はディスパッチプロセスを示す。
【図４】図４はプロキシネットワークアドレス選択プロセスを示す。
【図５】図５は本発明のマルチプロセッサコア実施形態を示す。
【発明を実施するための形態】
【０００８】
図１ａは高信頼性データネットワークを示す。セキュリティゲートウエイ１７０が高信頼性データネットワーク１９９を保護する。
【０００９】
一実施形態において、高信頼性データネットワーク１９９は居住データネットワークである。一実施形態において、高信頼性データネットワーク１９９は企業ネットワークである。一実施形態において、高信頼性データネットワーク１９９は域内企業ネットワークである。一実施形態において、高信頼性データネットワーク１９９はサービスプロバイダネットワークである。
【００１０】
一実施形態において、セキュリティゲートウエイ１７０は居住ブロードバンドゲートウエイである。一実施形態において、セキュリティゲートウエイ１７０は企業ファイアウォールである。一実施形態において、セキュリティゲートウエイ１７０は域内オフィスファイアウォールまたは部門ファイアウォールである。一実施形態において、セキュリティゲートウエイ１７０は企業仮想プライベートネットワーク(ＶＰＮ)ファイアウォールである。一実施形態において、セキュリティゲートウエイ１７０はサービスプロバイダネットワークのインターネットゲートウエイである。
【００１１】
高信頼性データネットワーク１９９内部のホスト１３０が高信頼性データネットワーク１９９外部のサーバ１１０にアクセスするときに、ホスト１３０はセキュリティゲートウエイ１７０を介してサーバ１１０とのセッションを確立する。セッション中にホスト１３０とサーバ１１０の間で交換されるデータパケットは、セキュリティゲートウエイ１７０を通過する。セキュリティゲートウエイ１７０はセッション中のデータパケットの処理の間に複数のセキュリティポリシーを適用する。セキュリティポリシーの例には、ネットワークアドレス保護、コンテンツフィルタリング、ウイルス検出／感染阻止、スパイウエアまたはフィッシングの遮断、ネットワーク侵入またはサービス阻止の拒絶、データトラフィック監視、またはデータトラフィック傍受がある。
【００１２】
図１ｂはネットワークアドレス置換(ＮＡＴ)プロセスを示す。
【００１３】
一実施形態において、セキュリティポリシーはホスト１３０のネットワークアドレスを保護することである。ホスト１３０はホスト１３０とサーバ１１０の間のセッション１６０においてホストネットワークアドレス１８３を使用する。一実施形態において、ホストネットワークアドレス１８３はホスト１３０のＩＰアドレスを含む。別の実施形態において、ホストネットワークアドレス１８３はホスト１３０のセッションポートアドレスを含む。
【００１４】
セキュリティゲートウエイ１７０は、ホストネットワークアドレス１８３を明かさないことでホスト１３０を保護する。ホスト１３０がセッション１６０に対するセッションリクエストをセキュリティゲートウエイ１７０に送るときに、セッションリクエストにはホストネットワークアドレス１８３が含まれる。
【００１５】
セキュリティゲートウエイ１７０はホスト１３０とのホスト側セッション１６９を確立する。ホスト１３０はセッション１６９においてホストネットワークアドレス１８３を使用する。
【００１６】
セキュリティゲートウエイ１７０はプロキシネットワークアドレス１８７を選択する。セキュリティゲートウエイ１７０はサーバ１１０とのサーバ側セッション１６５を確立するためにプロキシネットワークアドレス１８７を使用する。
【００１７】
サーバ側セッション１６５はセキュリティゲートウエイ１７０とサーバ１１０の間のセッションである。ホスト側セッション１６９はセキュリティゲートウエイ１７０とホスト１３０の間のセッションである。セッション１６０はサーバ側セッション１６５及びホスト側セッション１６９を含む。
【００１８】
セキュリティゲートウエイ１７０は、セッション１６０上でネットワークアドレス置換(ＮＡＴ)プロセスを実施する。セキュリティゲートウエイ１７０は、プロキシネットワークアドレス１８７をホストネットワークアドレス１８３で置換することによって、サーバ側セッション１６５上で受け取られたデータパケットにネットワークアドレス置換プロセスを実施する。セキュリティゲートウエイ１７０は置換済データパケットをホスト側セッション１６９に送る。同様に、セキュリティゲートウエイ１７０は、ホストネットワークアドレス１８３をプロキシネットワークアドレス１８７で置換することによって、ホスト側セッション１６９上で受け取られたデータパケットにネットワークアドレス置換プロセスを実施する。セキュリティゲートウエイ１７０は置換済データパケットをサーバ側セッション１６５に送る。
【００１９】
一実施形態において、セッション１６０は伝送制御プロトコル(ＴＣＰ)セッションである。一実施形態において、セッション１６０はユーザデータグラムプロトコル(ＵＤＰ)セッションである。一実施形態において、セッション１６０はインターネット制御通知プロトコル(ＩＣＭＰ)セッションである。一実施形態において、セッション１６０はＩＰプロトコルに乗った伝送セッションプロトコルに基づく。一実施形態において、セッション１６０はＩＰプロトコルに乗ったアプリケーションセッションプロトコルに基づく。
【００２０】
図１ｃはＴＣＰセッションに対するＮＡＴプロセスを示す。
【００２１】
ホスト１３０はサーバ１１０とのセッション１６０を確立するためのセッションリクエスト１９２を送る。セッション１６０はＴＣＰセッションである。セッションリクエスト１９２はホストネットワークアドレス１８３及びサーバネットワークアドレス１８４を含む。セキュリティゲートウエイ１７０がセッションリクエスト１９２を受け取る。セキュリティゲートウエイ１７０はセッションリクエスト１９２からホストネットワークアドレス１８３を抜き出す。セキュリティゲートウエイ１７０はプロキシネットワークアドレス１８７を決定する。一実施形態において、ホストネットワークアドレス１８３はホストのＩＰアドレスを含み、セキュリティゲートウエイ１７０はホストのＩＰアドレスを置換するためのプロキシＩＰアドレスを決定する。一実施形態において、ホストネットワークアドレス１８３はホストのＴＣＰポート番号を含み、セキュリティゲートウエイ１７０はホストのＴＣＰポート番号を置換するためのプロキシＴＣＰポート番号を決定する。セキュリティゲートウエイ１７０はセッションリクエスト１９２からサーバネットワークアドレス１８４を抜き出す。セキュリティゲートウエイ１７０はサーバネットワークアドレス１８４及びプロキシネットワークアドレス１８７に基づいてサーバ１１０とのサーバ側セッション１６５を確立する。サーバ側セッション１６５はＴＣＰセッションである。
【００２２】
セキュリティゲートウエイ１７０はセッションリクエスト１９２に応答することによってホスト１３０とのホスト側セッション１６９も確立する。
【００２３】
サーバ側セッション１６５及びホスト側セッション１６９の確立後、セキュリティゲートウエイ１７０はサーバ側セッション１６５及びホスト側セッション１６９からのデータパケットを処理する。
【００２４】
一実施形態において、セキュリティゲートウエイ１７０はサーバ側セッション１６５からデータパケット１８５を受け取る。データパケット１８５はサーバネットワークアドレス１８４及びプロキシネットワークアドレス１８７を含む。セキュリティゲートウエイ１７０はサーバネットワークアドレス１８４及びプロキシネットワークアドレス１８７を抜き出す。セキュリティゲートウエイ１７０は抜き出したネットワークアドレスに基づいてホスト側セッション１６９を決定する。セキュリティゲートウエイ１７０はさらにホスト側セッション１６９からホストネットワークアドレス１８３を決定する。セキュリティゲートウエイ１７０は初めにプロキシネットワークアドレス１８７をホストネットワークアドレス１８３で置換することでデータパケット１８５を改変する。セキュリティゲートウエイ１７０は、ＴＣＰチェックサム、ＩＰヘッダーチェックサムのような、データパケット１８５の他の領域を改変する。一実施形態において、セキュリティゲートウエイ１７０はプロキシネットワークアドレス１８７のいかなる使用対象もホストネットワークアドレス１８２で置換することによってデータパケット１８５のペイロードを改変する。
【００２５】
セキュリティゲートウエイ１７０がデータパケット１８５の改変を完了した後、セキュリティゲートウエイ１７０は改変済データパケット１８５をホスト側セッション１６９に送る。
【００２６】
同様の態様で、セキュリティゲートウエイ１７０がホスト側セッション１６９からデータパケット１８８を受け取る。データパケット１８８はサーバネットワークアドレス１８４及びホストネットワークアドレス１８３を含む。セキュリティゲートウエイ１７０はサーバネットワークアドレス１８４及びホストネットワークアドレス１８３を抜き出す。セキュリティゲートウエイ１７０は抜き出したネットワークアドレスに基づいてサーバ側セッション１６５を決定する。セキュリティゲートウエイ１７０はさらにサーバ側セッション１６５からプロキシネットワークアドレス１８７を決定する。セキュリティゲートウエイ１７０は初めにホストネットワークアドレス１８３をプロキシネットワークアドレス１８７で置換することでデータパケット１８８を改変する。セキュリティゲートウエイ１７０は、ＴＣＰチェックサム、ＩＰヘッダーチェックサムのような、データパケット１８８の他の領域を改変する。一実施形態において、セキュリティゲートウエイ１７０はホストネットワークアドレス１８３のいかなる使用対象もプロキシネットワークアドレス１８７で置換することによってデータパケット１８８のペイロードを改変する。
【００２７】
セキュリティゲートウエイ１７０がデータパケット１８８の改変を完了した後、セキュリティゲートウエイ１７０は改変済データパケット１８８をサーバ側セッション１６５に送る。
【００２８】
図２は分散多重処理セキュリティゲートウエイを示す。
【００２９】
一実施形態において、セキュリティゲートウエイ２７０は分散多重処理システムである。セキュリティゲートウエイ２７０は複数の処理要素を備える。処理要素２７２はメモリモジュールを有する。メモリモジュールは、ホストネットワークアドレス、プロキシネットワークアドレス及び、図１に説明したようなセキュリティポリシーを適用するための、処理要素２７２へのその他の情報を格納する。処理要素２７２は処理要素アイデンティティ２７３を有する。
【００３０】
図５に示される一実施形態において、処理要素２７２は、２つないしさらに多くの独立コアを併合するマルチコアプロセッサ５７９内の中央処理装置(ＣＰＵ)コア５７２である。一実施形態において、マルチコアプロセッサ５７９は，インテルのコア２デュオプロセッサまたはＡＭＤのアスロン(Athlon)デュアルコアプロセッサのような、デュアルコアプロセッサである。一実施形態において、マルチコアプロセッサ５７９は、インテルのクァッドコアゼオン(Xeon)５３００シリーズプロセッサまたはＡＭＤのオプテロン(Opteron)クァッドコアプロセッサのような、クァッドコアプロセッサである。
【００３１】
一実施形態において、セキュリティゲートウエイ２７０は複数のマルチコアプロセッサを備え、処理要素２７２はマルチコアプロセッサである。
【００３２】
一実施形態において、処理要素２７２は、インテルのＩＸＰ２８５５またはＩＸＰ２８０５ネットワークプロセッサ、ＡＭＤのＡｕ１５００プロセッサ、またはカビウム(Cavi um)のオクテオン(Octeon)ＭＩＰＳ６４ネットワークプロセッサのような、ネットワークプロセッサ内のパケット処理モジュールである。
【００３３】
セキュリティゲートウエイ２７０はディスパッチャー２７５を備える。ディスパッチャー２７５はデータパケットを受け取り、そのデータパケットを処理するための処理要素を決定する。ディスパッチャー２７５は一般にデータパケットに基づいて処理要素アイデンティティを計算する。計算された処理要素アイデンティティに基づいて、セキュリティゲートウエイ２７０は処理のため、計算されたアイデンティティをもつ処理要素にデータパケットを割り当てる。
【００３４】
一実施形態において、ディスパッチャー２７５はホスト側セッション２６９からデータパケット２８８を受け取り、データパケット２８８内のホストネットワークアドレス及びサーバネットワークアドレスに基づいて第１の処理要素アイデンティティを計算する。別の実施形態において、ディスパッチャー２７５はサーバ側セッション２６５からデータパケット２８５を受け取り、データパケット２８５内のプロキシネットワークアドレス及びサーバネットワークアドレスに基づいて第２の処理要素アイデンティティを計算する。
【００３５】
セキュリティゲートウエイ２７０はネットワークアドレスセレクタ２７７を備える。ネットワークアドレスセレクタ２７７ネットワーク情報に基づいてプロキシネットワークアドレスを選択する。ネットワーク情報には、セッション２６０に対するセッションリクエストで得られるホストネットワークアドレス、及びセキュリティゲートウエイネットワークアドレスが含まれる。その他のタイプのネットワーク情報を用いることもできる。プロキシネットワークアドレスはサーバ側セッション２６５を確立するために用いられる。プロキシネットワークアドレスは、ディスパッチャー２７５によって計算される第１の処理要素アイデンティティ及び第２の処理要素アイデンティティが同じであるように選択される。言い換えれば、サーバ側セッション２６５からのデータパケット２８５及びホスト側セッション２６９からのデータパケット２８８の処理に同じ処理要素が割り当てられる。
【００３６】
一実施形態において、プロキシネットワークアドレスは、ディスパッチャー２７５によって計算される第１の処理要素アイデンティティが、複数の処理要素の中で負荷が最も軽い処理要素のアイデンティティになるように選択される。一実施形態において、負荷は処理要素のプロセッサアイドル時間に基づく。一実施形態において、負荷は処理要素についての活セッションに基づく。一実施形態において、ネットワークアドレスセレクタ２７７はアプリケーションプログラミングインターフェース(ＡＰＩ)を通して処理要素から負荷を知る。一実施形態において、ネットワークアドレスセレクタ２７７は処理要素のメモリモジュールから負荷を知る。一実施形態において、プロキシネットワークアドレスは、ディスパッチャー２７５によって計算される第２の処理要素アイデンティティが複数の処理要素の中で負荷が最も軽い処理要素のアイデンティティになるように選択される。
【００３７】
一実施形態において、プロキシネットワークアドレスは、ディスパッチャー２７５によって計算される第１の処理要素アイデンティティが、機能分担によって処理要素のアイデンティティを指定するように選択される。一実施形態において、機能分担にはセキュリティポリシーの処理が含まれる。一実施形態において、ネットワークアドレスセレクタ２７７は、レジストレーションプロセスまたはアプリケーションプログラミングインターフェース(ＡＰＩ)を通して処理要素の機能分担を知る。一実施形態において、ネットワークアドレスセレクタ２７７は処理要素のメモリモジュールから機能分担を知る。
【００３８】
図３はディスパッチプロセスを示す。
【００３９】
ディスパッチャー３７５がセッション３６０のデータパケット３８５から得られる２つのネットワークアドレスに基づいて処理要素アイデンティティを計算する。セッション３６０はホスト側セッション３６９及びサーバ側セッション３６５を含む。ホスト側セッション３６９の２つのネットワークアドレスはサーバネットワークアドレス及びホストネットワークアドレスである。サーバ側セッション３６５の２つのネットワークアドレスはプロキシネットワークアドレス及びサーバネットワークアドレスである。ディスパッチャー３７５はホスト側セッション３６９及びサーバ側セッション３６５に対して同じ処理要素アイデンティティを計算する。
【００４０】
一実施形態において、ディスパッチャー３７５はハッシュ関数に基づいて計算する。
【００４１】
一実施形態において、ディスパッチャー３７５は２つのネットワークアドレスを加え合わせることによって和を計算する。一例において、ディスパッチャー３７５は、２進数表示の２つのネットワークアドレスに排他的論理和(ＸＯＲ)２進演算または論理積(ＡＮＤ)２進演算のような２進演算を行うことによって和を計算する。一例において、ディスパッチャー３７５は、ネットワークアドレスの先頭４ビットのような、２つのネットワークアドレスの一部を初めに抜き出し、抜き出した部分に２進演算のような演算を施すことによって和を計算する。一例において、ディスパッチャー３７５は初めに２つのネットワークアドレスにある数を乗じ、その積に加算のような演算を施すことによって和を計算する。
【００４２】
一実施形態において、ディスパッチャー３７５は上記和に処理を施すことによって処理要素アイデンティティを計算する。一実施形態において、セキュリティゲートウエイ３７０には４つの処理要素がある。一実施形態において、ディスパッチャー３７５は和の先頭２ビットを抜き出し、抜き出した２ビットを０から３までのいずれかの数値として解釈する。一実施形態において、ディスパッチャー３７５は和の先頭ビットと最終ビットを抜き出し、抜き出した２ビットを０から３までのいずれかの数値として解釈する。一実施形態において、ディスパッチャー３７５は和を４で除してその剰余を決定する。剰余は０から３までのいずれかの数である。
【００４３】
一実施形態において、セキュリティゲートウエイ３７０は処理要素を８つ備える。ディスパッチャー３７５は和から３つのビットを抜き出し、３ビットを０から７までのいずれかの数値として解釈する。一例において、ディスパッチャー３７５は和を８で除してその剰余を決定する。剰余は０から７までのいずれかの数である。
【００４４】
一実施形態において、ネットワークアドレスはＩＰアドレス及びセッションポートアドレスを含む。ディスパッチャー３７５は２つのネットワークアドレスのＩＰアドレスとセッションポートアドレスの和を計算する。
【００４５】
本教示はハッシュ関数の上記説明に基づくが、当業者にはディスパッチャー３７５への異なるハッシュ関数の実施が明らかなはずである。
【００４６】
図４はプロキシネットワークアドレス選択プロセスを示す。
【００４７】
ネットワークアドレスセレクタ４７７はホストネットワークアドレス４８３に対するプロキシネットワークアドレス４８７を選択する。一実施形態において、ホストネットワークアドレス４８３はホストＩＰアドレス４８４及びホストセッションポートアドレス４８５を含み、プロキシネットワークアドレス４８７はプロキシＩＰアドレス４８８及びプロキシセッションポートアドレス４８９を含む。プロキシネットワークアドレス４８７は、ディスパッチャー４７５がホスト側セッション４６９及びサーバ側セッション４６５に関して同じ処理要素アイデンティティを計算するように選択される。
【００４８】
一実施形態において、選択プロセスは、図３に示される、ディスパッチプロセスに基づく。一実施形態において、ディスパッチャー４７５は２つのＩＰアドレス、及び２つのセッションポートアドレスの和を計算し、次いでその和を４で除す方法を用いる。一実施形態において、ネットワークアドレスセレクタ４７７は初めにプロキシＩＰアドレス４８８を選択する。ネットワークアドレスセレクタ４７７は次いで、サーバネットワークアドレス４９０及びホストネットワークアドレス４８３に上記方法を用いるときにサーバネットワークアドレス４９０及びプロキシワークアドレス４８７に上記方法を用いたときと同じ処理要素アイデンティティをディスパッチャー４７５が計算するように、プロキシセッションポートアドレス４８９を選択する。
【００４９】
一例において、ディスパッチャー４７５は２つのネットワークアドレスへの２進演算子ＸＯＲを適用して和を計算し、和の最終３ディジットを抜き出す。ネットワークアドレスセレクタ４７７は、ホストセッションポートアドレス４８５と同じ最終３ディジットを有するプロキシセッションポートアドレス４８９を選択する。
【００５０】
一実施形態において、セキュリティゲートウエイ４７０は複数の既存セッションに対してネットワークアドレス置換プロセスを実施する。選択されたプロキシネットワークアドレス４８７が複数の既存セッションで用いられていないかどうかを、ネットワークアドレスセレクタ４７７がチェックする。一実施形態において、セキュリティゲートウエイ４７０はデータメモリ４７９を備える。データメモリ４７９は複数の既存セッションに用いられている複数のプロキシネットワークアドレスを格納する。ネットワークアドレスセレクタ４７７は、選択されたプロキシネットワークアドレス４８７を格納されている複数のプロキシネットワークアドレスと比較し、一致が見られなければ、選択されたプロキシネットワークアドレス４８７は使用されていないと判定する。
【００５１】
一実施形態において、処理要素はネットワークアドレスセレクタを有する。処理要素は、ディスパッチャーによって計算された処理要素アイデンティティに基づいてセキュリティゲートウエイにより割り当てられたデータパケットを受け取る。一実施形態において、処理要素はデータパケットがセッションリクエストを含むと判定する。処理要素内のネットワークアドレスセレクタは、図４に示されるように、セッションリクエスト内のホストネットワークアドレスに基づいてプロキシネットワークアドレスを選択する。
【００５２】
一実施形態において、特定の第１の処理要素はネットワークアドレスセレクタを有する。ネットワークアドレスセレクタをもたない第２の処理要素がデータパケットを受け取り、データパケットがセッションリクエストを含むと判定する。第２の処理要素は、例えばリモートファンクションコールを用いて、データパケットを第１の処理要素に送る。第１の処理要素がデータパケットを受け取る。ネットワークアドレスセレクタがセッションリクエスト内のホストネットワークアドレスに基づいてプロキシネットワークアドレスを選択する。
【００５３】
一実施形態において、データメモリは処理要素のメモリモジュールに実装される。一実施形態において、データメモリ内の複数のプロキシネットワークアドレスはそれぞれの処理要素のそれぞれのメモリモジュールに格納される。一実施形態において、データメモリ内の複数のプロキシネットワークアドレスは分散態様でメモリモジュールに格納され、処理要素によって処理されるセッションに用いられるプロキシネットワークアドレスはその処理要素のメモリモジュールに格納される。
【００５４】
一実施形態において、セキュリティゲートウエイは複数の処理要素によって共有されるメモリを備える。セキュリティゲートウエイは共有メモリを複数のメモリ領域に区分する。処理要素は専用メモリ領域にアクセスでき、他のメモリ領域にはアクセスできない。
【００５５】
一実施形態において、セキュリティゲートウエイは中央処理装置(ＣＰＵ)を備える。一実施形態において、ＣＰＵは、ハイパースレッド、マイクロエンジンまたは、特定用途集積回路(ＡＳＩＣ)またはフィールドプログラマブルゲートアレイ(ＦＰＧＡ)のような、回路に実装されたその他の処理スレッドのような複数の処理スレッドを有する。処理要素は処理スレッドである。
【００５６】
一実施形態において、ＣＰＵは複数のマイクロプロセッサコアを有する。処理スレッドはマイクロプロセッサコアである。
【００５７】
一実施形態において、セキュリティポリシーはウイルスの検出または遮断のためのポリシーである。一実施形態において、セキュリティポリシーはフィッシングの検出または遮断のためのポリシーである。一実施形態において、セキュリティポリシーはトラフィック割当強化のためのポリシーである。一実施形態において、セキュリティポリシーは合法的データ傍受のためのポリシーである。
【００５８】
一実施形態において、ＮＡＴプロセスはＵＤＰセッションのためのプロセスである。一実施形態において、セキュリティゲートウエイはＵＤＰパケットを受け取る。一実施形態において、セキュリティゲートウエイはＵＤＰパケットが既存セッションからのパケットではないと判定する。セキュリティゲートウエイはＵＤＰパケットをセッションリクエストとして処理する。
【００５９】
一実施形態において、ＮＡＴプロセスはＩＣＭＰセッションのためのプロセスである。同様の態様で、セキュリティゲートウエイは既存のセッションからではないＩＣＭＰパケットをセッションリクエストとして処理する。
【００６０】
図示される実施形態にしたがって本発明を説明したが、当業者であれば、実施形態に対する変形があり得ること及びそのような変形が本発明の精神及び範囲内にあることを、容易に認めるであろう。したがって、添付される特許請求の範囲の精神及び範囲を逸脱することなく多くの改変が当業者によってなされ得る。
【符号の説明】
【００６１】
２６０    セッション
２６５    サーバ側セッション
２６９    ホスト側セッション
２７０    分散多重処理セキュリティゲートウエイ
２７２    処理要素
２７３    処理要素アイデンティティ
２７５    ディスパッチャー
２７７    ネットワークアドレスセレクタ
２８５，２８８    データパケット
【図１ａ】
0005579820.tif 000002
【図１ｂ】
0005579820.tif 000003
【図１ｃ】
0005579820.tif 000004
【図２】
0005579820.tif 000005
【図３】
0005579820.tif 000006
【図４】
0005579820.tif 000007
【図５】
0005579820.tif 000008