(57)【要約】  データフローを決定する方法が、記載されている。この方法は、第１のセット内に少なくとも１ビットの第１の数を含むパケットが、第１のセット内の少なくとも１ビットに基づいて、分類値を割り当てられているかどうかを判定するステップと、パケットが分類値を割り当てられていると判定されると、パケットに適用されるべき結果を決定するステップと、を含む。この方法は、パケットが、パケットの少なくとも１ビットの数に基づいて、分類値を割り当てることができないと判定すると、パケットの第２のセット内の第２の数の少なくとも１ビットを、プロセッサによって解析するステップをさらに含む。
2009527950.tif 000002
【特許請求の範囲】
【請求項１】
データフローを決定するための方法であって、前記方法が、
第１のセット内に少なくとも１ビットの第１の数を含むパケットが、前記第１のセット内の前記少なくとも１ビットに基づいて、分類値を割り当てられているかどうかを判定するステップと、
前記パケットが前記分類値を割り当てられていると判定されると、前記パケットに適用されるべき結果を決定するステップと、
前記パケットが、前記パケットの前記少なくとも１ビットの数に基づいて、分類値を割り当てることができないと判定すると、前記パケットの第２のセット内の第２の数の少なくとも１ビットを、プロセッサによって解析するステップと、
を含む方法。
【請求項２】
前記第１のセット内の前記少なくとも１ビットは前記第２のセット内の前記少なくとも１ビット以外である、請求項１に記載の方法。
【請求項３】
前記第２のセット内の前記少なくとも１ビットは、前記第１のセット内の前記少なくとも１ビットに連続的に続く、請求項１に記載の方法。
【請求項４】
前記第１のセット内の前記少なくとも１ビットは、前記第２のセット内の前記少なくとも１ビットに連続的に続く、請求項１に記載の方法。
【請求項５】
前記パケットが分類値を割り当てられているかどうかを判定することが、前記第１のセット内の前記少なくとも１ビットが、第３のセット内の少なくとも１ビットにマッチするかどうかを判定すること、を含む、請求項１に記載の方法。
【請求項６】
前記パケットに適用されるべき結果を決定することは、パケットが分類値を割り当てられていると判定すると、前記パケットが、受け入れるべきであるか、拒否すべきであるか、優先度を割り当てるべきか、のいずれの１であるかを判定すること、を含む、請求項１に記載の方法。
【請求項７】
前記分類値が、国を識別するコード、サブ領域を識別するコード、コンピューター・ハッカーを識別するコード、コンピュータ・スパマーを識別するコード、コンピュータウィルスを識別するコード、トロイの木馬を識別するコード、コンピュータウィルスを識別するコード、フィッシングする者を識別するコード、侵入者を識別するコード、北大西洋条約組織国を識別するコード、会社を識別するコード、政府機関を識別するコード、インターネット・サービス・プロバイダを識別するコード、産業界を識別するコード、そして、国防総省を識別するコード、のうちの１つを含む、請求項１に記載の方法。
【請求項８】
前記パケットが分類値を割り当てられているかどうかを判定することが、前記第１のセット内の前記少なくとも１ビットが、第３のセット内の少なくとも１ビットにマッチするかどうかを判定すること、を含み、
前記第２の数の少なくとも１ビットを解析することが、
前記第２のセット内の前記少なくとも１ビットが、第４のセット内の少なくとも１ビットにマッチするかどうかを判定すること、を含む、
請求項１に記載の方法。
【請求項９】
前記パケットが分類値を割り当てられているかどうかを判定することが、前記第１のセット内の前記少なくとも１ビットが、第３のセット内の少なくとも１ビットにマッチするかどうかを判定すること、を含み、
前記第２の数の少なくとも１ビットを解析することが、前記第２のセット内の前記少なくとも１ビットが、第４のセット内の少なくとも１ビットにマッチするかどうかを判定すること、を含み、
前記方法が、更に、前記第２のセット内の前記少なくとも１ビットが前記第４のセット内の前記少なくとも１ビットにマッチすると判定すると、前記パケットに適用されるべき結果を決定すること、を含む、
請求項１に記載の方法。
【請求項１０】
前記パケットが分類値を割り当てられているかどうかを判定することが、前記第１のセット内の前記少なくとも１ビットが、第３のセット内の少なくとも１ビットにマッチするかどうかを判定すること、を含み、
前記方法が、更に、パケットが、前記第２のセット内の前記少なくとも１ビットと前記第３のセット内の前記少なくとも１ビットとの比較に基づいて、分類値を割り当てられたと判定されると、前記パケットに適用されるべき結果を決定すること、を含む、
請求項１に記載の方法。
【請求項１１】
前記第１のセット内の前記少なくとも１ビットが、前記パケットのインターネットプロトコル・アドレスの少なくとも１ビットを含む、請求項１に記載の方法。
【請求項１２】
前記プロセッサがファイアウォールを備える、請求項１に記載の方法。
【請求項１３】
前記分類値が、分類値の有限レンジに含まれる、請求項１に記載の方法。
【請求項１４】
前記パケットが分類値を割り当てられているかどうかを判定することが、前記第１のセット内の前記少なくとも１ビットが、第３のセット内の少なくとも１ビットにマッチするかどうかを判定すること、を含み、
前記第３のセットの少なくとも１ビットが、ポートアドレスのセット内の有限レンジと、認証データのセットと、インターネットプロトコル（ＩＰ）ネットワークアドレスのセットと、ＩＰネットワークアドレスとポートアドレスとの組み合わせのセットと、の中に位置する、
請求項１に記載の方法。
【請求項１５】
第１のセット内に少なくとも１ビットの第１の数を含むパケットが、前記第１のセット内の前記少なくとも１ビットに基づいて、分類値を割り当てられているかどうかを判定し、
前記パケットが前記分類値を割り当てられていると判定すると、前記パケットに適用されるべき結果を決定し、
前記パケットは、前記パケットの前記少なくとも１ビットの数に基づいて、分類値を割り当てることができないと判定すると、前記パケットの第２のセット内の第２の数の少なくとも１ビットを解析する、
ように構成されたプロセッサ。
【請求項１６】
前記第１のセット内の前記少なくとも１ビットは、前記第２のセット内の前記少なくとも１ビット以外である、請求項１５に記載の処理装置。
【請求項１７】
前記第２のセット内の前記少なくとも１ビットが、前記第１のセット内の前記少なくとも１ビットに連続的に続く、請求項１５に記載の処理装置。
【請求項１８】
第１のセット内に少なくとも１ビットの第１の数を含むパケットが、前記第１のセット内の前記少なくとも１ビットに基づいて、分類値を割り当てられているかどうかを判定し、
前記パケットが前記分類値を割り当てられていると判定すると、前記パケットに適用されるべき結果を決定し、
前記パケットが、前記パケットの前記少なくとも１ビットの数に基づいて、分類値を割り当てることができないと判定すると、前記パケットの第２のセット内の第２の数の少なくとも１ビットを解析する、
ように構成される、コンピュータープログラムが符号化されたコンピュータ読取可能媒体。
【請求項１９】
前記第１のセット内の前記少なくとも１ビットが前記第２のセット内の前記少なくとも１ビット以外である、請求項１８に記載のコンピュータ可読媒体。
【請求項２０】
前記第２のセット内の前記少なくとも１ビットが、前記第１のセット内の前記少なくとも１ビットに連続的に続く、請求項１８に記載のコンピュータ可読媒体。
【請求項２１】
データフローを決定するための方法であって、前記方法が、
地図を含むグラフィックユーザインターフェースを生成するステップと、
地図上の点の選択を受信するステップと、
前記点の選択を受信すると、複数の結果を表示するステップと、
前記結果のうちの１つの選択を受信するステップと、
前記位置に、前記の前記結果のうちの１つを割り当てるステップと、
を含む方法。
【請求項２２】
前記位置に、前記の前記結果のうちの１つを割り当てる前記ステップが、前記結果のうちの１つを、前記点で表される物理的位置から受信されるパケットに適用することを含む、請求項２１に記載の方法。
【請求項２３】
世界地図を表示することを更に含む、請求項２１に記載の方法。
【請求項２４】
前記の前記結果のうちの１つが、パケットがファイアウォールを通過することを拒否すること、パケットがファイアウォールを通過することを許可すること、または、パケットに優先度を割り当てること、を含む、請求項２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、コンピュータネットワークに関し、特に、データフローを決定するためのシステムと方法に関する。
【背景技術】
【０００２】
従来のルールベースのコンピュータセキュリティ・ファイアウォールは、変化する複雑なルールのセット、すなわち、「ルールベース」に基づいている。このようなファイアウォールに入るデータパケットは、１つ以上のルールベース中の情報およびルールと比較されて、そのデータパケットがファイアウォールを通過することが許可されるべきか否かが判定される。ルールベースは、ブール代数のような論理比較の概念および、ルールのリストによる順次ルールフローに沿って構築される。ルールベースがより複雑になるにつれて、よりシステムおよびプロセッサのオーバーヘッドを必要となった。従って、ファイアウォールを使用する組織は、パフォーマンスのためにセキュリティを犠牲にして、ルールベースの複雑さと、認識されるデータスループットの要求の間で、しばしば妥協することになる。
【発明の開示】
【０００３】
１つの態様において、データフローを決定する方法が、記載されている。その方法は、第１のセット内に少なくとも１ビットの第１の数を含むパケットが、その第１のセット内の少なくとも１ビットに基づいて、分類値を割り当てられているかどうかを判定するステップと、当該パケットが前記分類値を割り当てられていると判定されると、当該パケットに適用されるべき結果を決定するステップとを含む。さらに、その方法は、パケットが、当該パケットの少なくとも１ビットの数に基づいて、分類値を割り当てることができないと判定すると、パケットの第２のセット内の第２の数の少なくとも１ビットを、プロセッサによって解析するステップを含む。
【０００４】
別の態様においては、プロセッサが記載されている。プロセッサは、第１のセット内に少なくとも１ビットの第１の数を含むパケットが、前記第１のセット内の前記少なくとも１ビットに基づいて、分類値を割り当てられているかどうかを判定するように構成され、前記パケットが前記分類値を割り当てられていると判定されると、前記パケットに適用されるべき結果を決定する。プロセッサは、更に、当該パケットが、当該パケットの少なくとも１ビットの数に基づいて、分類値を割り当てることができないと判定すると、当該パケットの第２のセット内の第２の数の少なくとも１ビットを解析するように構成される。
【０００５】
さらに別の態様において、コンピュータ読取可能媒体が記述される。コンピュータ可読媒体には、第１のセット内に少なくとも１ビットの第１の数を含むパケットが、第１のセット内のその少なくとも１ビットに基づいて、分類値を割り当てられているかどうかを判定し、当該パケットが分類値を割り当てられていると判定されると、当該パケットに適用されるべき結果を決定し、当該パケットが、パケットのその少なくとも１ビットの数に基づいて、分類値を割り当てることができないと判定すると、当該パケットの第２のセット内の第２の数の少なくとも１ビットを解析するように構成されるコンピュータープログラムが符号化されている。
【０００６】
また１つの態様において、データフローを決定する方法が、記載されている。当該方法は、地図を含むグラフィックユーザインターフェースを生成することと、地図上の点の選択を受信することと、当該点の選択を受信すると、複数の結果を表示することと、その結果のうちの１つの選択を受信することと、当該位置に、その結果のうちの１つを割り当てることとを含む。
【発明を実施するための最良の形態】
【０００７】
図１は、データフローを決定するシステム１０の実施形態のブロックダイヤグラムである。システム１０はサーバシステム１２を含み、複数のユーザ装置１４はサーバシステム１２に接続している。ここで使用しているように、サーバという用語は、当該技術でコンピュータとして言及される集積回路のみに限られておらず、広く、プロセッサ、マイクロコントローラ、マイクロコンピュータ、プログラマブルロジックコントローラ、ＡＳＩＣ、他のいかなるプログラマブル回路もおよびハードウェアおよびソフトウェアのいかなる組合せのことにも用いられる。これらの用語は、ここでは、相互互換的に使用される。１つの実施形態において、ユーザ装置１４は、ウェブ・ブラウザを含むコンピュータであり、サーバシステム１２は、局所ネットワークＬＡＮ（ＬＡＮ）および広域ネットワーク（ＷＡＮ）などのネットワークを介して、ユーザ装置１４にアクセス可能である。ＬＡＮはイントラネットを含むことができ、ＷＡＮはインターネットを含むことができる。
【０００８】
ユーザ装置１４は、ダイアルイン接続、ケーブルモデム、総合ディジタル通信網サービス（ＩＳＤＮ）回線を含む多くのインターフェースを介してネットワークに相互接続する。代替的に、ユーザ装置１４は、ＷＥＢベース電話または他のＷＥＢベース接続装置を含み、それはネットワークに相互接続することができる。サーバシステム１２は、データフローを決定する方法を含む中央データベース１８に接続しているデータベースサーバ１６を含む。
【０００９】
１つの実施形態において、中央データベース１８は、データベースサーバ１６に格納され、ユーザ装置１４のうちの１つを通してサーバシステム１２にログオンすることにより、ユーザ装置１４の潜在的ユーザは中央データベースにアクセスすることができる。１つの実施形態において、中央データベース１８は、サーバシステム１２から離れて格納される。
【００１０】
図２は、データフローを決定するシステム２２の実施形態の詳細なブロックダイヤグラムである。システム２２は、サーバシステム２３を含む。サーバシステム２３は、サーバシステム１２の実施例である。サーバシステム２３は、データベースサーバ１６、アプリケーションサーバ２４、ウェブ・サーバ２６、ファックス・サーバ２８、ディレクトリ・サーバ３０およびメールサーバ３２を含む。単一のデータベースである磁気ディスク装置３４は、データベースサーバ１６およびディレクトリ・サーバ３０と結合される。
【００１１】
サーバ１６、２４、２６、２８、３０および３２は、局所ネットワーク（ＬＡＮ）中で結合される。代替的に、ＷＡＮがＬＡＮ３６の代わりに使われることもできる。加えて、システム管理者ワークステーション３８、ユーザー・ワークステーション４０およびスーパーバイザ・ワークステーション４２は、ＬＡＮ３６に結合される。各ワークステーション３８、４０および４２は、ウェブ・ブラウザを有しているパーソナルコンピュータである。
【００１２】
サーバシステム２３は、種々のワークステーション５２および５４と通信可能に結合され、個人や従業員によって操作される。人またはユーザが操作するワークステーション５２は、サーバシステム２３にアクセスすることができる。ワークステーション５２および５４は、ウェブ・ブラウザを有しているパーソナルコンピュータである。ワークステーション５４は、遠隔地にある。サーバシステム２３は、また、インターネット・サービス・プロバイダ（ＩＳＰ）接続４８を経て、ワークステーション４６と、通信可能に結合される。
【００１３】
さらに、ファックス・サーバ２８はワークステーション５２および、電話接続を介したワークステーション５６を含む、どのような遠隔に位置するユーザーシステムとも通信する。各ワークステーション３８、４０、４２、４６、５２、５４および５６は、ユーザ装置１４の例である。ファックス・サーバ２８は、同様に、他のワークステーション３８、４０および４２と通信する。サーバシステム２３は、ここに記載するような、データフローを決定するための方法を実行する。
【００１４】
典型的な実施形態の通信は、インターネットを経て行われるものとして例示されるが、どのような他の広域ネットワーク（ＷＡＮ）タイプの通信も、他の実施形態において利用することができる。データフローを決定するためのシステムと方法は、インターネットを経て実施されるものに限られない。１つの実施形態において、データフローを決定するための方法は、コンピュータ可読媒体の例である磁気ディスク装置３４に格納され、サーバ１６、２４、２６、２８、３０および３２のいずれかによって実行される。計算機可読媒体の他の例は、フロッピー（登録商標）ディスク、コンパクトディスク−読出し専用メモリ（ＣＤ−ＲＯＭ）およびデジタル・ビデオ・ディスク（ＤＶＤ）を含む。
【００１５】
図３は、データフローを決定するシステム１００の実施形態のブロックダイヤグラムである。システム１００は、プロセッサ１０２、記憶装置１０４、入力装置１０６および出力装置１０８を含む。プロセッサ１０２は、Ｌｉｎｕｘ（登録商標）オペレーティングシステムを作動しているｘ８６アーキテクチャまたはＬｉｎｕｘ（登録商標）オペレーティングシステムを作動しているｘ８６＿６４アーキテクチャのいずれであってもよい。ｘ８６アーキテクチャは、Ｉｎｔｅｌコーポレーションから入手可能であり、ｘ８６＿６４アーキテクチャは、アドバンスト・マイクロ・デバイセズ（ＡＭＤ）コーポレーションから入手可能である。記憶装置１０４の例は、ランダム・アクセス・メモリ（ＲＡＭ）および読出し専用メモリ（ＲＯＭ）を含む。入力装置１０６の例は、マウスおよびキーボードを含む。出力装置１０８の例は、陰極線管（ＣＲＴ）および液晶ディスプレイ（ＬＣＤ）を含む。ここで使用しているように、プロセッサという用語は、当該技術でプロセッサとして言及される集積回路のみに限られておらず、広く、コンピュータ、マイクロコントローラ、マイクロコンピュータ、プログラマブルロジックコントローラ、ＡＳＩＣ、他のいかなるプログラマブル回路も用いられる。
【００１６】
プロセッサ１０２は、データフローを決定する方法を実行する。１つの実施形態において、プロセッサ１０２は、セキュリティポリシーに基づいて、インターネットやイントラネットなどの、２つのネットワークの間で、データのパケットの通信を防止するファイアウォールである。
【００１７】
図４は、プロセッサ１０２によって受け取られるデータのパケット１５０の実施形態のダイヤグラムである。パケット１５０はバージョン１５２、インターネットプロトコル（ＩＰ）ネットワークアドレス、そして、データ１５６を含む。バージョン１５２の例は、ＩＰｖ４バージョンおよびＩＰｖ６バージョンのＩＰネットワークアドレスを含む。パケット１５０のＩＰネットワークアドレスの例は、ソース・アドレスか、行き先アドレスのいずれかを含む。ソース・アドレスは、ワークステーション５２などのパケット１５０の発信者の出所のアドレスである。行き先アドレスは、受信者のアドレスまたは、ワークステーション３８または４０などのパケット１５０の宛て先を含む。１つの実施形態において、パケット１５０は、また、パケット１５０のヘッダのヘッダ長と、パケット１５０に提供されるサービスのタイプと、パケット１５０の合計長と、ヘッダの全てのビットが有効かどうか決定するためにプロセッサ１０２によって使われるヘッダのチェックサムと、パケット１５０の有効期限と、パケット１５０を分解するべきかどうか決定するために用いる複数のフラグと、プロセッサ１０２によって、パケット１５０が一部のＩＰデータグラムの部分であるかどうかを判断するために使用する断片オフセットと、を含む。本実施例において、パケット１５０のＩＰネットワークアドレスがソース・アドレスである場合、パケット１５０は行き先アドレスを更に含み、パケット１５０のＩＰネットワークアドレスが行き先アドレスである場合、パケット１５０はソース・アドレスを含む。
【００１８】
図５は、データフローを決定する方法２００の実施形態のフローチャートである。プロセッサ１０２は、パケット１５０を受信し（２０２）、獲得する（２０４）か、または、パケット１５０からＮビットを抽出する。Ｎの例は、３、４、６、８または１０を含む。Ｎビットの他の例は、パケット１５０のＩＰネットワークアドレスの３２ビット未満のものを含む。さらに、Ｎの他の例は、パケット１５０のＩＰネットワークアドレスの１２８ビット未満のものを含む。さらに別のＮビットの例は、パケット１５０のＩＰネットワークアドレスの８ＭＳＢの内、３つの最上位ビット（ＭＳＢ）および、３つの最下位ビット（ＬＳＢ）以外の２ビットを含む。Ｎの他の例は、パケット１５０のＩＰネットワークアドレスの８つのＭＳＢの内の２つのＬＳＢを含む。プロセッサ１０２は、パケット１５０のＩＰネットワークアドレスがビットαの後ろに、また、ビットβの前に位置すると、パケット１５０のバージョン１５２に基づいて判定する。そして、パケット１５０のＩＰネットワークアドレスから、パケット１５０の１ビットαおよびビットβ間のＮビットを抽出する。別の例として、プロセッサ１０２は、データ１５６がビットγの後ろに、また、ビットηの前に位置すると、パケット１５０のバージョン１５２に基づいて判定する。そして、γビットとηビットの間のデータ１５６からＮビットを抽出する。さらに別の例として、プロセッサ１０２は、ポートアドレスがビットσの後ろに、また、ビットωの前に位置すると、パケット１５０のバージョン１５２に基づいて判定する。そして、ポートアドレスから、ビットσおよびビットω間のＮビットを抽出する。ポートアドレスの例は、ソースによって実行されるソースコンピュータアプリケーションの、伝送制御プロトコル（ＴＣＰ）またはユーザーデータグラム・プロトコル（ＵＤＰ）ポート番号などのソース・ポートアドレスと、相手先によって実行される相手先コンピュータアプリケーションの、ＴＣＰまたはＵＤＰポート番号などの相手先ポートアドレスと、を含む。別の例として、プロセッサ１０２は、パケット１５０のＩＰネットワークアドレスからＮビットのいくつかを抽出し、ポートアドレスからＮビットの残りを抽出する。
【００１９】
プロセッサ１０２は、パケット１５０を、パケット１５０のＮビットに基づいて分類することができるかどうかを判定する（２０６）。プロセッサ１０２は、Ｎビットと、ユーザによって入力装置１０６を通して記憶装置１０４へ提供される表１とを比較することによって、パケット１５０は分類することができるかどうかを判定する（２０６）。
【表１】
2009527950.tif 000003
【００２０】
表１中のサブレンジＲ１−Ｒ２、Ｒ３−Ｒ４、Ｒ５−Ｒ６、Ｒ７−Ｒ８、Ｒ９−Ｒ１０およびＲ１１−Ｒ１２は、ポートアドレスのＭビットのセットのような有限セット、ユーザ名およびパスワードのような認可データのＭビットのセット、ＩＰネットワークアドレスのＭビットのセット、および、ＩＰネットワークアドレスとポートアドレスとの組合せのＭビットのセット、を構成する。分類法値Ｃ１およびＣ２の例は、複数の国を識別する国別コードのセット、複数のサブ領域を識別するサブ領域コードのセット、複数のコンピューター・ハッカーを識別するハッカー・コードのセット、複数のコンピュータ・スパマーを識別するスパマー・コードのセット、複数のコンピュータウィルスを識別するウイルス・コードのセット、複数のトロイの木馬を識別しているトロイの木馬コードのセット、複数のコンピュータウィルスを識別しているウイルス・コードのセット、複数のフィッシングする者を識別しているフィッシング・コードのセット、バックドアを通ってプロセッサ１０２に結合される計算機ネットワークにアクセスする複数の侵入者を識別している侵入者コードのセット、複数のＮＡＴＯ加盟国を識別している北大西洋条約組織（ＮＡＴＯ）国別コードのセット、複数の会社を識別している会社コードのセット、複数の政府機関を識別している政府機関コードのセット、複数のＩＳＰを識別しているインターネット・サービス・プロバイダ（ＩＳＰ）コードのセット、複数の産業界を識別している産業界コードのセット、そして、複数の国防省を識別している国防省（ＤｏＤ）コードのセット、を含む。例えば、Ｃ１はカナダの国別コードであり、Ｃ２はアメリカ合衆国（ＵＳＡ）の国別コードである。産業セクターの例は、石油工業、飛行機産業、コンピュータソフトウェア産業およびゲームおよび娯楽産業を含む。
【００２１】
結果または手続きＳ１とＳ２の例は、プロセッサ１０２によってパケット１５０の受け入れまたは拒否を含む。結果Ｓ１とＳ２の他の例は、優先度を割り当てるか、優先度をパケット１５０に割り当てないことを含む。さらに、結果の他の例は、サービス品質（ＱｏＳ）をパケット１５０に割り当てることを含む。ＱｏＳの例は、パケット１５０が相手先に着く際に、落とされないことを含む。ＱｏＳの他の例は、パケット１５０が相手先に着くのが、遅れないことを含む。プロセッサ１０２によるパケット１５０の受け入れは、相手先に着くために１つのコンピュータネットワークから他のコンピュータネットワークまでファイアウォールを通過するためにパケット１５０が許可されることを含む。プロセッサ１０２によるパケット１５０の拒否の例は、プロセッサ１０２によって、スパマーやハッカーのような、攻撃者を罠にかけるために、システム１００になりすますハニーポットに、手続きのうちの１つを適用するためのパケット１５０を送信することを含み、攻撃者の特性を法執行機関に示すために攻撃者の特性を決定することを含む。パケット１５０の拒否の例は、パケット１５０がネットワークをさらに進むのを妨げるために、パケット１５０を削除することを含む。プロセッサ１０２によるパケット１５０の拒否のさらに別の例は、パケット１５０が、相手先に到達するためにファイアウォールを通過することを許可しないことを含む。さらに別の例として、プロセッサ１０２によるパケット１５０の拒否は、プロセッサ０２によって、「ｗｈｏｉｓ」の質問のうちの少なくとも１つを実行するためにパケット１５０をもう一つのプロセッサ１０２に入れ換えて、パケット１５０について国際ナンバアメリカレジストリ（ＡＲＩＮ）を検索し、パケット１５０を送った攻撃者を決定するために計算機ネットワークの中でパケット１５０のルートをトレースすることを含む。攻撃者を決定すると、プロセッサ１０２は攻撃者を法執行機関に報告する。
【００２２】
プロセッサ１０２は、サブレンジのうちの１つがＮビットにマッチするＭビットを有するかどうか決定するために、表１の各サブレンジＲ１−Ｒ２、Ｒ３−Ｒ４、Ｒ５−Ｒ６、Ｒ７−Ｒ８、Ｒ９−Ｒ１０およびＲ１１−Ｒ１２のＭビットと、パケット１５０のＮビットとを比較する。ＭがＮに等しいことに留意する。例えばＲｌ−Ｒ２の、サブレンジのうちの１つがＮビットにマッチするＭビットをもっていると、プロセッサ１０２が、パケット１５０に対して、Ｃ１のような対応する分類値のうちの１つを、割り当てる。例えば、ＮビットがサブレンジＲ３−Ｒ４のＭビットにマッチすると判定すると、プロセッサ１０２は、分類値Ｃ２をパケット１５０に割り当てる。プロセッサ１０２が、表１の内の分類値のうちの１つが、ＮビットにマッチするＭビットを有している、表１のサブレンジＲ１−Ｒ２、Ｒ３−Ｒ４、Ｒ５−Ｒ６、Ｒ７−Ｒ８、Ｒ９−Ｒ１０およびＲ１１−Ｒ１２に対応して存在すると判定する場合、プロセッサ１０２はパケット１５０が分類されると判定する。他方、プロセッサ１０２が、表１の分類値のうちの１つが、ＮビットにマッチするＭビットを有する表１の中の、サブレンジＲ１−Ｒ２、Ｒ３−Ｒ４、Ｒ５−Ｒ６、Ｒ７−Ｒ８、Ｒ９−Ｒ１０およびＲｌ１−Ｒ１２のうちの１つと対応するようなものが存在しないと判定する場合、プロセッサ１０２は、パケット１５０は分類することができないと判定する。例えば、ＭビットとＮビットとを比較して、プロセッサ１０２は、パケット１５０のＮビットが、分類値Ｃ１およびＣ２のうちの１つと対応しないサブレンジＲ５−Ｒ６中のＭビットにマッチすると判定する。この例では、プロセッサ１０２によって、Ｎビットが分類値Ｃ１およびＣ２のうちの１つと一致しないと判定すると、プロセッサ１０２は、パケット１５０は分類することができないと判定する。
【００２３】
パケット１５０が分類されると判定すると、プロセッサ１０２は、分類値のうちの１つに対応する手続きまたは結果Ｓ１およびＳ２のうちの１つを提供するか（２０８）、例えば、ワークステーション５２に含まれる、他のプロセッサ１０２にパケット１５０を送信する。例えば、パケット１５０が分類値Ｃ１に分類されると判定すると、プロセッサ１０２は結果Ｓ１をパケット１５０に適用する。別の例として、プロセッサ１０２によって、パケット１５０が分類値Ｃ２を有すると判定されたら、プロセッサ１０２は、例えば、ワークステーション５４に含まれるもので、結果Ｓ２をパケット１５０に適用する他のプロセッサにパケット１５０を送信する。パケット１５０が分類されると判定すると、プロセッサ１０２は、Ｎビット以外のパケット１５０のビットを調べない。
【００２４】
下で与えられる表２は、表１の例である。
【表２】
2009527950.tif 000004
表２のＩＰネットワークアドレス・サブレンジは、表１のサブレンジの例である。表２の国コードは、表１の分類値の例である。そして、表２の結果は表１の結果の例である。例えば、各ＩＰネットワークアドレス・サブレンジ、例えば５４または５７、は有限セット内のＩＰネットワークアドレスのＭＳＢである。
【００２５】
プロセッサ１０２は、表２の各ＩＰネットワークアドレス・サブレンジとパケット１５０のＮビットとを比較して、ＮビットにマッチするＭビットを有しているＩＰネットワークアドレス・サブレンジのうちの１つを決定する。たとえば、ネットワークアドレスによって、表２の４７．０．０．０−４７．２５５．２５５．２５５が、パケット１５０のＮビットにマッチすると判定すると、プロセッサ１０２は、表２の国コード３６を、パケット１５０に割り当て、パケット１５０がカナダから送信されたと判定する。パケット１５０がカナダから送信されたと判定すると、プロセッサ１０２は、表２に基づいて、パケット１５０を受け入れると決定する。別の例として、プロセッサ１０２によって、表２のＩＰネットワークアドレス・サブレンジ２３のＭビットが、パケット１５０のＮビットにマッチすると判定されると、プロセッサ１０２は、表２の国コード１９９をパケット１５０に割り当てて、パケット１５０が未割当領域から送信されたと決定する。パケット１５０が未割当領域から送信されたと決定すると、プロセッサ１０２は、表２に示すように、パケット１５０を拒否すると決定する。さらに別の例として、プロセッサ１０２によって、表２の複数のＩＰネットワークアドレス２２４．０．０．０−２５５．２５５．２５５．２５５のＩＰネットワークアドレス・サブレンジ２２７のＭビットが、パケット１５０のＮビットにマッチすると判定されると、プロセッサ１０２は、表２の国コード１４８を、パケット１５０に割り当て、パケット１５０が、予約された領域から送信されたと判定する。パケット１５０が予約された領域から送信されたと判定すると、プロセッサ１０２は、表Ｔ２に基づいて、パケット１５０を受け入れると決定する。さらに別の例として、プロセッサ１０２により、ＩＰネットワークアドレス・サブレンジのＭビットと、パケット１５０のＮビットとがマッチすると判定すると、プロセッサ１０２は、パケット１５０が分類値に基づいて分類することができないと判定する。
【００２６】
下で与えられる表３は、表１の別の例である。
【表３】
2009527950.tif 000005
表３のＩＰネットワークアドレス・サブレンジは８つのＭＳＢである。それは、表１の有限セット内の、ＩＰネットワークアドレス・サブレンジのＭビットの例である。さらに、表３の結果は、表１の結果の例である。
【００２７】
プロセッサ１０２は、パケット１５０のＮビットを受信し、Ｎビットと、表３の各ＩＰネットワークアドレス・サブレンジのＭビットとを比較し、ＮビットとマッチするＭビットを有するＩＰネットワークアドレス・サブレンジの１つを決定する。パケット１５０のＮビットが、ＩＰネットワークアドレス・サブレンジ０−１２７、１６１−１６３、１６８−１９１および２０８−２５５のいずれかのＭビットともマッチすると判定すると、プロセッサ１０２は、パケット１５０がファイアウォールを通過することができると判定する。他方、パケット１５０のＮビットがＩＰネットワークアドレス・サブレンジ１２８−１６０、１６４−１６７および１９２−２０７のいずれかの範囲内で、Ｍビットにマッチすると決定すると、プロセッサ１０２は、パケット１５０のファイアウォールの通過を許可しないと決定する。
【００２８】
下で与えられる表４は、表１のさらに別の例である。
【表４】
2009527950.tif 000006
表４のＩＰネットワークアドレス・サブレンジは、表１のサブレンジの例である。表４の結果は、表１の結果の例である。
【００２９】
プロセッサ１０２は、Ｎの例であるパケット１５０のＩＰネットワークアドレスの１つのＭＳＢと、Ｍの例である表４の各ＩＰネットワークアドレス・サブレンジの１つのＭＳＢとを比較し、パケット１５０のＭＳＢが、ビット「１」またはビット「０」のいずれかにマッチするかどうか判定する。パケット１５０のＭＳＢが、表４のＩＰネットワークアドレス・サブレンジ０−１２７の１つのＭＳＢである、ビット「０」にマッチすると判定すると、プロセッサ１０２は、表４の結果に基づいて、パケット１５０がファイアウォールを通過するのを許可すると決定する。他方、パケット１５０のＭＳＢが、表４のＩＰネットワークアドレス・サブレンジ１２８−２５５の１つのＭＳＢである、ビット「１」にマッチすると判定すると、プロセッサ１０２は、表４の結果に基づいて、パケット１５０は分類することができないと判定して、パケット１５０に結果を提供しない。
【００３０】
パケット１５０は分類することができないと判定すると、プロセッサ１０２は、パケット１５０からＮビット以外のＧビットを得る（２１０）。パケット１５０が、Ｎビットと、表１のサブレンジのＭビットとを比較することによって、分類することができないと決定すると、プロセッサ１０２は、パケット１５０からＧビットを得る。例えば、プロセッサ１０２はパケット１５０がＩＰｖ４パケット１５０であると判定して、パケット１５０のＩＰネットワークアドレスのＭＳＢに、連続して続く７ビットを抽出する。ここで、ＭＳＢは、パケット１５０のＩＰネットワークアドレスのＮビットである。さらに別の例として、プロセッサ１０２は、パケット１５０がＩＰｖ４パケット１５０であると判定して、パケット１５０のＩＰネットワークアドレスの８つのＭＳＢのうちの、３つのＭＳＢを抽出する。ここで、ＩＰネットワークアドレスの３つのＭＳＢおよび３つのＬＳＢ以外の２ビットは、パケット１５０のＩＰネットワークアドレスのＮビットである。さらに別の例として、プロセッサ１０２は、パケット１５０がＩＰｖ６パケット１５０であると判定して、パケット１５０のＩＰネットワークアドレスの１６のＭＳＢのうちの、４つのＭＳＢを抽出する。ここで、１２のＭＳＢは、パケット１５０のＩＰネットワークアドレスのＮビットである。Ｇの例は、パケット１５０のＩＰネットワークアドレスの８つのＭＳＢのＮビット以外のビットを含む。Ｇの他の例は、パケット１５０のＩＰネットワークアドレスの１６のＭＳＢにおけるＭＳＢに連続的に続く１５ビットを含む。ここで、当該ＭＳＢは、パケット１５０のＩＰネットワークアドレスのＮビットである。
【００３１】
プロセッサ１０２は、パケット１５０がパケット１５０のＧビットに基づいて分類できるかどうかを判定する（２０６）。プロセッサ１０２は、下に示す表５を適用する。表５は、パケット１５０がパケット１５０のＧビットに基づいて分類されることができるかどうか判定するため、ユーザにより記憶装置１０４に格納されている。
【表５】
2009527950.tif 000007
【００３２】
表５中のサブレンジＳＲ１−ＳＲ２、ＳＲ３−ＳＲ４、ＳＲ５−ＳＲ６およびＳＲ７−ＳＲ８は、ポートアドレスのＧビットのセット、認証データのＧビットのセット、ＩＰネットワークアドレスのＧビットのセット、および、ＩＰネットワークアドレスとポートアドレスとの組合せのＧビットのセット、などの有限セットを形成する。分類値Ｃ１およびＣ４の例は、複数の国を識別する国別コードのセット、複数のサブ領域を識別するサブ領域コードのセット、複数のコンピューター・ハッカーを識別するハッカー・コードのセット、複数のコンピュータ・スパマーを識別するスパマー・コードのセット、複数のコンピュータウィルスを識別するウイルス・コードのセット、複数のトロイの木馬を識別しているトロイの木馬コードのセット、複数のコンピュータウィルスを識別しているウイルス・コードのセット、複数のフィッシングする者を識別しているフィッシング・コードのセット、バックドアを通ってプロセッサ１０２に結合される計算機ネットワークにアクセスする複数の侵入者を識別している侵入者コードのセット、複数のＮＡＴＯ加盟国を識別しているＮＡＴＯの国コードのセット、複数の会社を識別している会社コードのセット、複数の政府機関を識別している政府機関コードのセット、複数のＩＳＰを識別しているＩＳＰコードのセット、複数の産業界を識別している産業界コードのセット、そして、複数のＤｏＤを識別しているＤｏＤコードのセット、を含む。結果Ｓ３とＳ４の例は、プロセッサ１０２によってパケット１５０の受け入れまたは拒否を含む。結果Ｓ３とＳ４の他の例は、パケット１５０に優先度を割り当てるかまたは優先度を割り当てないか、を含む。ＧがＨに等しいことに留意する。
【００３３】
表５のサブレンジＳＲ１−ＳＲ２、ＳＲ３−ＳＲ４、ＳＲ５−ＳＲ６およびＳＲ７−ＳＲ８のうちの１つが、パケット１５０のＧビットにマッチするＨビットを有すると判定すると、プロセッサ１０２は、Ｃ３、Ｃ４などの、対応する分類値の１つを、パケット１５０に割り当てる。例えば、ＧビットがサブレンジＳＲ３−ＳＲ４のＨビットにマッチすると判定すると、プロセッサ１０２は、分類値Ｃ４をパケット１５０に割り当てる。プロセッサ１０２が、表５の中のサブレンジのうちの１つに対応する表５内の分類値のうちの１つで、パケット１５０のＧビットにマッチするＨビットを有しているものが存在すると判定する場合には、プロセッサ１０２はパケット１５０は分類されると判定する。他方、表５の中のサブレンジのうちの１つに対応する表５内の分類値のうちの１つで、パケット１５０のＧビットにマッチするＨビットを有しているものが存在しないと判定する場合には、プロセッサ１０２によって、パケット１５０のＧビットを、表５のサブレンジと比較し、プロセッサ１０２は、Ｇビットが、分類値Ｃ３およびＣ４のうちの１つに対応しないアブレンジＳＲ５−ＳＲ６内のＨビットにマッチすると判定する。この例では、プロセッサ１０２によって、パケット１５０のＧビットが、分類値Ｃ３およびＣ４のうちの１つと、一致しないと判定すると、プロセッサ１０２は、パケット１５０は分類することができないと判定する。
【００３４】
パケット１５０は分類されると判定すると、プロセッサ１０２は、表５の分類値のうちの１つに対応する手続きまたは結果Ｓ３およびＳ４のうちの１つを提供する（２０８）か、ワークステーション５４に含まれるような他のプロセッサ１０２で、パケット１５０に結果Ｓ３およびＳ４の２０８の１つを提供するプロセッサ１０２に、パケット１５０を送信する。例えば、パケット１５０が、分類値Ｃ３を有するとして分類されると判定すると、プロセッサ１０２は、結果Ｓ３をパケット１５０に適用する。別の例として、プロセッサ１０２によって、パケット１５０が分類値Ｃ２を有すると判定すると、プロセッサ１０２は、パケット１５０を、結果Ｓ２をパケット１５０に適用する他のプロセッサ１０２に、送信する。パケット１５０が分類されると判定すると、プロセッサ１０２は、パケット１５０が分類することができるかどうか判定するために、ＧビットおよびＮビット以外のパケット１５０のビットを抽出しない。
【００３５】
下で与えられる表６は、表５の例である。
【表６】
2009527950.tif 000008
表６のＩＰネットワークアドレス・サブレンジのビットは、表５のサブレンジのＨビットの例である。たとえば、Ｈの例として、２ビット「００」は、表６のＩＰネットワークアドレス・サブレンジ１２８−１６０内の１２８の、第２および第３のＭＳＢである。別の例として、表６のビット「０１」は、表６のＩＰネットワークアドレス・サブレンジ１６１−２０７の中の１６１の第２および第３のＭＳＢである。表６の結果は、表５の結果の例である。
【００３６】
プロセッサ１０２は、パケット１５０のＧビットを受信して、パケット１５０が分類することができるかどうかを判定するために、ＧビットをＨビットと比較する。たとえば、Ｇビットを受信すると、プロセッサ１０２は、Ｇビットが「０１」にマッチすると判定して、パケット１５０は分類することができないと判定し、表６に基づいて結果を提供しない。他方、プロセッサ１０２は、パケット１５０のＧビットを受信し、Ｇビットをビット「００」と比較して、Ｇビットが「００」であると判定し、表６に基づいて、ファイアウォールをパケット１５０が通過することを許可しない。さらに、プロセッサ１０２は、パケット１５０のＧビットを受信して、Ｇビットを、表６のビット「１１」と比較し、Ｇビットが「１１」であると判定して、表６に示すように、ファイアウォールをパケット１５０が通過することを許可することを決定する。
【００３７】
パケット１５０が、パケット１５０のＧビットおよびＮビットに基づいて分類することができないと判定すると、プロセッサ１０２は、パケット１５０が、ＧビットおよびＮビット以外のパケット１５０のＡビットを解析することによって分類することができるかどうかを判定する。表７は、下に示される。
【表７】
2009527950.tif 000009
【００３８】
プロセッサ１０２は、パケット１５０のＩＰネットワークアドレスの８つのＭＳＢの第５のＬＳＢのようなＡビットを受信し、Ａビットを、表７のＩＰネットワークアドレス・サブレンジを有する各ＩＰネットワークアドレスの８つのＭＳＢの第５のＬＳＢのようなＢビットと比較して、パケット１５０が分類することができるかどうか判定する。たとえば、パケット１５０のＡビットを受信すると、プロセッサ１０２は、Ａビットが「０」にマッチすると判定する。「０」は、ＩＰネットワークアドレス１９３．０．０．０のＩＰネットワークアドレス・サブレンジ１９３の８つのＭＳＢの第５のＬＳＢであって、パケット１５０が分類することができると判定して、表７に基づいて、ファイアウォールを経たパケット１５０の通過を拒否する。別の例として、パケット１５０のＡビットを受信すると、プロセッサ１０２は、Ａビットがビット「１」にマッチすると判定する。「１」は、ＩＰネットワークアドレス２１０．１．１．１のＩＰネットワークアドレス・サブレンジ２１０の８つのＭＳＢの第５のＬＳＢであって、パケット１５０が分類することができると判定して、表７に基づいて、ファイアウォールを経たパケット１５０の通過を許可する。ＡがＢに等しいことに留意する。
【００３９】
下で与えられる表８は、表５の例である。
【表８】
2009527950.tif 000010
表８のＩＰネットワークアドレス・サブレンジは、表５のサブレンジの別の例である。表６のＩＰネットワークアドレス・サブレンジのビットは、表５のサブレンジの他の例である。たとえば、ビット「０」は、１６０から１６８までの範囲のＭＳＢの、複数のＩＰの各８つのＭＳＢの第５のＬＳＢである。１６０−１６８は、サブレンジＳＲ５−ＳＲ６の例である。別の例として、ビット「１」は、ＭＳＢ、１９１を有する複数のＩＰネットワークアドレスの８つのＭＳＢ、１９１の第５のＬＳＢであり、そして、１９１はＩＰネットワークアドレス・サブレンジＳＲｌ−ＳＲ２である。
【００４０】
プロセッサ１０２は、パケット１５０のＧビットを受信して、パケット１５０が分類することができるかどうか判定するために、Ｇビットを表８のＨビットと比較する。たとえば、パケット１５０のＧビットを受信すると、プロセッサ１０２は、Ｇビットが表８のＩＰネットワークアドレス・サブレンジ１６０−１６８のうちの「０」にマッチすると判定し、Ｇビットは分類することができないと判定して、パケット１５０に結果を提供しない。別の例として、パケット１５０のＧビットを受信すると、プロセッサ１０２は、ＧビットがＩＰネットワークアドレス・サブレンジ１９１のうちの「１」にマッチすると判定し、パケット１５０が、ファイアウォールを通過するのを許可すると分類することができると決定する。
【００４１】
パケット１５０が、パケット１５０のＧビットをＨビットと比較することに基づいて分類することができないと判定すると、プロセッサ１０２は、パケット１５０が、パケット１５０のＡビットをＢビットと比較することに基づいて分類することができるかどうか判定する。表９を、下に示す。
【表９】
2009527950.tif 000011
【００４２】
プロセッサ１０２は、パケット１５０のＡビットを受信し、Ａビットを、複数のＩＰネットワークアドレス１６０．０．０．０−１６７．２５５．２５５．２５５の各８つのＭＳＢ、１６０−１６７の第４のＬＳＢのようなＢビットと比較して、パケット１５０が分類することができるかどうか判定する。たとえば、パケット１５０のＡビットを受信すると、プロセッサ１０２は、Ａビットがビット「０」にマッチすると判定する。「０」は、８つのＭＳＢ、１６０−１６７のそれぞれの第４のＬＳＢである。プロセッサ１０２は、パケット１５０が分類することができず、結果を提供することができないと判定する。別の例として、パケット１５０のＡビットを受信すると、プロセッサ１０２は、Ａビットがビット「１」にマッチすると判定する。ビット「１」は、複数のＩＰネットワークアドレス１６８．０．０．０−１６８．２５５．２５５．２５５の８つのＭＳＢ、１６８の第４のＬＳＢである。プロセッサ１０２は、パケット１５０が分類することができると判定して、パケット１５０のファイアウォールの通過を許可する。
【００４３】
パケット１５０がＮビット、ＧビットおよびＡビットに基づいて、分類することができないと判定すると、プロセッサ１０２は、パケット１５０のＣビットを得て、パケット１５０がＣビットに基づいて分類することができるかどうか決定する。表１０を、下に示す。
【表１０】
2009527950.tif 000012
パケット１５０のＣビットの例は、ＩＰｖ４パケット１５０であるパケット１５０のＩＰネットワークアドレスの８つのＭＳＢの第３のＬＳＢを含む。パケット１５０のＣビットの別の例は、ＩＰｖ６パケット１５０であるパケット１５０のパケット１５０のＩＰネットワークアドレスの第４のＬＳＢを含む。
【００４４】
プロセッサ１０２は、パケット１５０のＣビットを受信し、Ｃビットを、例えば複数のＩＰネットワークアドレス１６０．０．０．０−１６３．２５５．２５５．２５５の８つのＭＳＢの各々の第３のＬＳＢのような、Ｄビットと比較して、パケット１５０が分類することができるかどうか判定する。たとえば、プロセッサ１０２は、パケット１５０のＣビットをビット「０」と比較する、ビット「０」は、８つのＭＳＢ１６０−１６３の各々の第３のＬＳＢである。プロセッサ１０２は、パケット１５０は分類することができないと判定して、パケット１５０に結果を提供しない。別の例として、プロセッサ１０２は、パケット１５０のＣビットをビット「１」と比較する。ビット「１」は、複数のＩＰネットワークアドレス１６４．０．０．０−１６７．２５５．２５５．２５５の８つのＭＳＢ、１６４−１６７のそれぞれの第３のＬＳＢである。プロセッサ１０２は、パケット１５０が分類することができると判定して、パケット１５０のファイアウォールの通過を拒否する。ＣがＤに等しいことに留意する。
【００４５】
パケット１５０は、Ｎビット、Ｇビット、Ａビットと、パケット１５０のＣビットに基づいて分類することができないと判定すると、プロセッサ１０２は、パケット１５０のＥビットを得て、パケット１５０がＥビットに基づいて分類することができるかどうか判定する。表１１を、下に示す。
【表１１】
2009527950.tif 000013
パケット１５０のＥビットの例は、ＩＰｖ４パケットであるパケット１５０のＩＰネットワークアドレスの８つのＭＳＢの第２のＬＳＢを含む。パケット１５０のＥビットの他の例は、ＩＰｖ６パケットであるパケット１５０のＩＰネットワークアドレスの８つのＭＳＢの第５のＬＳＢを含む。
【００４６】
プロセッサ１０２は、パケット１５０のＥビットを受信し、例えば表１１のＩＰネットワークアドレス・サブレンジの各々の第２のＬＳＢなどの、ＥビットをＦビットと比較して、パケット１５０が分類することができるかどうか判定する。たとえば、プロセッサ１０２は、パケット１５０のＥビットをビット「０」と比較する。ビット「０」は、複数のＩＰネットワークアドレス１６０．０．０．０−１６１．２５５．２５５．２５５の８つのＭＳＢ１６０−１６１のそれぞれの第２のＬＳＢである。プロセッサ１０２は、パケット１５０が分類することができないと決定する。別の例として、プロセッサ１０２は、パケット１５０のＥビットを受信し、Ｅビットをビット「１」と比較する。ビット「１」は、複数のＩＰネットワークアドレス１６３．０．０．０−１６３．２５５．２５５．２５５の８つのＭＳＢ、１６３の第２のＬＳＢである。プロセッサ１０２は、パケット１５０が分類することができると判定して、パケット１５０のファイアウォールの通過を許可する。ＥがＦと等しいことに留意する。
【００４７】
パケット１５０が、Ｎビット、Ｇビット、Ａビット、Ｃビットとパケット１５０のＥビットに基づいて分類することができないと判定すると、プロセッサ１０２は、Ｎビット、Ｇビット、Ａビット、Ｃビットとパケット１５０のＥビット以外のＩビットを得て、パケット１５０がＩビットに基づいて分類することができるかどうか判定する。表１２を、下に示す。
【表１２】
2009527950.tif 000014
【００４８】
パケット１５０のＩビットの例は、ＩＰｖ４パケットであるパケット１５０のＩＰネットワークアドレスの８つのＭＳＢのＬＳＢを含む。パケット１５０のＩビットの他の例は、ＩＰｖ６パケットであるパケット１５０のＩＰネットワークアドレスの１６のＭＳＢのＬＳＢを含む。
【００４９】
プロセッサ１０２は、パケット１５０のＩビットを受信し、Ｉビットと、例えば表１２のＩＰネットワークアドレス・サブレンジの各々のＬＳＢなどの、Ｊとを比較して、パケット１５０が分類することができるかどうか判定する。たとえば、プロセッサ１０２は、パケット１５０のＩビットをビット「０」と比較する。ビット「０」は、複数のＩＰネットワークアドレス１６０．０．０．０−１６０．２５５．２５５．２５５のＬＳＢ、１６０である。プロセッサ１０２は、パケット１５０が分類することができると判定して、パケット１５０のファイアウォールの通過を拒否する。別の例として、パケット１５０のＩビットを受信すると、プロセッサ１０２は、パケット１５０のＩビットをビット「１」と比較する。ビット「１」は、複数のＩＰネットワークアドレス１６１．０．０．０−１６１．２５５．２５５．２５５のＬＳＢ１６１である。プロセッサ１０２は、パケット１５０は分類することができると判定して、パケット１５０のファイアウォールの通過を許可する。したがって、プロセッサ１０２は、続けて、パケット１５０の追加的ビットと、表５〜１２などの複数の表とを、パケット１５０が分類できるまで比較する。ＩがＪと等しいことに留意する。
【００５０】
図６は、表１〜１２のいずれかを作るために使用されるＧＵＩ（ＧＵＩ）２５０の実施形態である。プロセッサ１０２は、出力装置１０８に、ＧＵＩ２５０をユーザに表示する。ＧＵＩ２５０は、世界地図２５２を含む。プロセッサ１０２は、地図２５２上の複数の点、２５４、２５６および２５８を、サブレンジＲ１−Ｒ２、Ｒ３−Ｒ４、Ｒ５−Ｒ６、Ｒ７−Ｒ８、Ｒ９−Ｒ１０およびＲ１１−Ｒ１２のうちの１つに、関連付け、あるいは、リンク付けを行う。たとえば、プロセッサ１０２は、点２５４を、表１のサブレンジＲ１−Ｒ２と関連付け、点２５６を、表１のＩＰネットワークアドレス・サブレンジＲ５−Ｒ６に関連づける。別の例として、プロセッサ１０２は、点２５４を、米国に位置するコンピュータのポートのポートアドレスと関連付け、点２５６を、カナダに位置するコンピュータのポートのポートアドレスと関連付ける。
【００５１】
ユーザが、入力装置１０６を経て、マップ２５２上の点を選ぶ場合に、プロセッサ１０２は複数の結果をユーザに表示する。たとえば、ユーザが点２５４を選ぶときに、プロセッサ１０２は、点２５４に位置するコンピュータのＩＰネットワークアドレスのサブレンジＲｌ−Ｒ２、Ｒ３−Ｒ４、Ｒ５−Ｒ６、Ｒ７−Ｒ８、Ｒ９−Ｒ１０とＲ１１−Ｒ１２の１つのＭビットにマッチするＮビットを有するパケット１５０のファイアウォールを通過する許可、パケット１５０の拒否、パケット１５０に優先度に提供すること、そして、優先度をパケット１５０に提供しないこと、を含む複数のオプションを示す。ユーザがオプションのうちの１つを選ぶときに、プロセッサ１０２は、オプションの一つを、地図２５２の上の点と関連付ける。たとえば、ユーザが、サブレンジＲ１−Ｒ２、Ｒ３−Ｒ４、Ｒ５−Ｒ６、Ｒ７−Ｒ８、Ｒ９−Ｒ１０とＲ１１−Ｒ１２の１つのＭビットにマッチするＮビットを有し、ファイアウォールを通して点２５４と関連する、パケット１５０の許可を選ぶとき、プロセッサ１０２は、記憶装置１０４に、サブレンジＲ１−Ｒ２、Ｒ３−Ｒ４、Ｒ５−Ｒ６、Ｒ７−Ｒ８、Ｒ９−Ｒ１０とＲ１１−Ｒ１２の１つのＭビットにマッチするＮビットを有するパケット１５０が、ファイアウォールを通過することが許可されるべきであることを、格納する。別の例として、ユーザが、サブレンジＲ１−Ｒ２、Ｒ３−Ｒ４、Ｒ５−Ｒ６、Ｒ７−Ｒ８、Ｒ９−Ｒ１０とＲ１１−Ｒ１２の１つのＭビットにマッチするＮビットを有し、点２５８と関連するパケット１５０に優先度を提供することを選択する場合に、プロセッサ１０２は、記憶装置１０４に、サブレンジの一つを有しているパケット１５０が優先権を提供されるべきであることを格納する。
【００５２】
１つの実施形態において、ユーザがマウスを一度クリックするなどで一度、点の一つを選択し、結果の１つを選択する場合には、プロセッサ１０２は、地図２５２上の国、市、州、企業、およびコンピュータネットワークなどの領域の複数の点を、結果Ｓ１およびＳ２の１つに関連づける。たとえば、ユーザが米国の点２５４上で一度クリックして、パケット１５０の許可を選ぶ場合、プロセッサ１０２は、マップ２５２上の米国内のすべての点を、プロセッサ１０２によって、米国から受信されるパケット１５０が許可されることに関連付ける。本実施例において、プロセッサ１０２は、サブ領域に少なくとも１つの点、つまり、そのサブ領域に位置する、市、政府組織、ＩＳＰ、会社、ＤｏＤ、コンピュータ、ポート、を、結果Ｓ１およびＳ２の１つに関連付ける。ユーザが、例えば二度などの回数で、少なくとも１つの点を選択し、結果の１つを選択する場合、たとえば、ユーザが、米国の市を表す点２５４上でダブルクリックし、点２５４上でダブルクリックすることにより、優先度無し、を選択する場合には、プロセッサ１０２は、の都市から受信されるパケット１５０を、優先度を持たないようなものに関連付ける。別の例として、ユーザが、カナダのコンピュータネットワークを表す点２５８上でダブルクリックして、点２５８上でダブルクリックすることによりパケット１５０の通過の拒否を選択する場合には、プロセッサ１０２は、点２５８を、そのコンピュータネットワークから受信されたパケット１５０がファイアウォールを通過することの拒否と関連づける。
【００５３】
１つの実施形態において、図５および図６および表１〜１２の方法は、ファイアウォールを実装するために、論理ゲートおよびシフトレジスタのセット中に実装された有限状態機械（ＦＳＭ）であることに留意する。別の実施形態では、優先度を割り当てる代わりに、パケット１５０は、高優先度を割り当てられ、そして、優先度を割り当てない代わりに、パケット１５０は、高優度より低い低優先度を割り当てられる。図５および図６および表１〜１２で例示される方法は、ミニ、ミクロ、あるいは、メインフレーム・ハードウェアにおいて実装されることに留意する。さらにまた別の実施形態では、図５および図６および表１〜１２で例示される方法は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）で実装される。ここに、データフローを決定するための記述されたシステムと方法は、複数のルールまたはアクセス制御リスト（ＡＣＬ）の指数関数的実行を可能にするトリーベース横断構造を提供する。たとえば、プロセッサ１０２は、パケット１５０のすべてのビットを、ＩＰアドレス３．０．０．０−４．２５５．２５５．２５５と５．０．０．０−９．２５５．２５５．２５５と比較することと対照的に、複パケット１５０のＩＰアドレスの８つのＭＳＢを、表２の行３の複数のＩＰアドレス３．０．０．０−４．２５５．２５５．２５５のＩＰネットワークアドレス・サブレンジ３−４、または、表２の行４の複数のＩＰアドレス５．０．０．０−９．２５５．２５５．２５５のＩＰネットワークアドレス・サブレンジ５−９、と比較することによって結果に達する。別の例として、プロセッサ１０２は、パケット１５０の全てのビットを、ビットのセットと比較することによって、それより指数関数的な迅速さで結果を提供する。この例では、パケット１５０のＩＰアドレスの８つのＭＳＢの第２および第３のＭＳＢと、表６のＩＰアドレス１２８．０．０．０−１６０．２５５．２５５．２５５の８つのＭＳＢ１２８−１６０の第２および第３のＭＳＢとを比較することによって、指数関数的な迅速さで結果を提供する。本願明細書に記載されているデータフロー決定のシステム及び方法は、浮動小数点演算を実行することを必要とせず、したがって、カーネル空間中で動作することができる。
【００５４】
本願明細書に記載されているシステム及び方法は、国などの領域から、あるいは、サブ領域からのパケット１５０を拒否することによって、ファイアウォールを経て結合された２つのネットワークの間の隔離を達成する。さらに、本願明細書に記載されているシステム及び方法は、パケット１５０がファイアウォールが位置する国の盟友から受信されたと判定すると、パケット１５０のファイアウォールの通過を許可する。その上、本願明細書に記載されているシステム及び方法は、グループ内で複数の組織以外の組織から受信されたパケット１５０を拒否するために用いられる。
【００５５】
本願明細書に記載されているシステム及び方法は、インターネット・スループットを改良するために、迷惑な電子メールまたはスパムの発生率を減少することによって実行される。たとえば、プロセッサ１０２は、パケット１５０のＮビットおよび表２に基づいて、パケット１５０がドイツの国コード６６内に分類されるかどうか判定する。パケット１５０が、６６の分類値を有すると判定すると、プロセッサ１０２は、ドイツからのスパムを含む可能性があるパケット１５０を拒否することを決定して、ネットワークに、スパムがファイアウォールを通過して入るのを減少し、インターネットのスループットを増加する。別の例として、プロセッサ１０２は、パケット１５０のＮビットに基づいて、パケット１５０が、１８９以外の国別コードを割り当てられたと判定する。パケット１５０が、１８９以外の国コードを割り当てられていると判定すると、プロセッサ１０２は、パケット１５０がファイアウォールを通過することを拒否し、その拒否は、米国以外の国からのスパムが、ファイアウォールと連結したネットワークによっての受信されることを減らす。さらに、この例では、米国からのスパムの受信を減少することによって、プロセッサ１０２は、米国の中のスパマーを追跡することを顕著に容易にする。この例では、プロセッサ１０２は、主として米国から送信されたプロセス・パケット１５０に、データフローを決定する方法を適用する。それらは、例えば、光キャリア−１９２（ＯＣ−１９２）の９．６ギガビット／秒（Ｇｂｐｓ）の通信スピードの１０倍速いものである。本願明細書において記載されている方法は、例えば攻撃者によって送信されるコンピュータウィルスなど、多種多様なコンピュータネットワークのセキュリティの脅威を緩和するために用いられる。本方法は、セキュリティ問題のすべての発展している範囲に適応して用いることができ、スケーラビリティ、適応性、性能、特徴を提供する。ここに記載された方法は、データ分路デバイス、ネットワークシミュレーション・システム、バイオ解析システム、バイオ測定異常解析システム、セキュリティアーキテクチャ設計システム、ネットワーク・オペレーション・センター、仮想専用ネットワーク（ＶＰＮ）、及び、セキュリティ情報管理システムなど、多数のセキュリティ製品に実装することができる。
【００５６】
本発明を、種々の特定の実施形態において記述してきたが、当業者は、本発明が、発明の趣旨および特許請求の範囲の中で修正で実施されることができることを認識するであろう。
【図面の簡単な説明】
【００５７】
【図１】データフローを決定するシステムの実施形態のブロックダイヤグラムである。
【図２】データフローを決定するシステムの実施形態の詳細なブロックダイヤグラムである。
【図３】データフローを決定するシステムの他の実施形態のブロックダイヤグラムである。
【図４】図３のシステムのプロセッサによって受け取られるデータのパケット実施形態のダイヤグラムである。
【図５】データフローを決定する方法の実施形態のフローチャートである。
【図６】複数のテーブルをつくるために用いるグラフィックユーザインターフェース（ＧＵＩ）の実施形態を示す図である。
【図１】
2009527950.tif 000015
【図２】
2009527950.tif 000016
【図３】
2009527950.tif 000017
【図４】
2009527950.tif 000018
【図５】
2009527950.tif 000019
【図６】
2009527950.tif 000020
【国際調査報告】
2009527950.tif 000021
2009527950.tif 000022