(57)【要約】【課題】  ネットワーク内の無許可ルータを発見するためのコンピュータによって実行される方法、データ処理システム、およびコンピュータ・プログラムを提供する。【解決手段】  例示的な諸実施形態のプロセスは、まず、疑わしいルータまたは宛先装置の物理アドレスを入手する。少なくとも宛先メディア・アクセス制御フィールド、宛先インターネット・プロトコル・フィールド、および活動時間フィールドを含むデータ・パケットを作成し、宛先メディア・アクセス制御フィールドは宛先装置の物理アドレスを含み、宛先インターネット・プロトコル・フィールドは偽インターネット・プロトコル・アドレスを含み、活動時間フィールドはデータ・パケットが時間制限を超えたことを示す値を含む。宛先メディア・アクセス制御フィールド内の物理アドレスを使用して、宛先装置にデータ・パケットを送信する。宛先装置から時間超過メッセージを受信した場合、その宛先装置が経路指定のために使用可能になっていると判断する。【選択図】  図２
2010541441.tif 000002
【特許請求の範囲】
【請求項１】
分散ネットワーク内の無許可ルータを検出するためのコンピュータによって実行される方法であって、
宛先装置の物理アドレスを入手するステップと、
少なくとも宛先メディア・アクセス制御フィールド、宛先インターネット・プロトコル・フィールド、および活動時間フィールドを含むデータ・パケットを作成するステップであって、前記宛先メディア・アクセス制御フィールドが前記宛先装置の前記物理アドレスを含み、前記宛先インターネット・プロトコル・フィールドが偽インターネット・プロトコル・アドレスを含み、前記活動時間フィールドが前記データ・パケットが時間制限を超えたことを示す値を含むステップと、
前記宛先メディア・アクセス制御フィールド内の前記物理アドレスを使用して、前記宛先装置に前記データ・パケットを送信するステップと、
前記宛先装置から時間超過メッセージを受信したことに応答して、前記宛先装置が経路指定のために使用可能になっていると判断するステップと、
を含む、コンピュータによって実行される方法。
【請求項２】
前記宛先装置から時間超過メッセージを受信しなかったことに応答して、前記宛先装置が経路指定のために使用可能になっていないと判断するステップ
をさらに含む、請求項１記載のコンピュータによって実行される方法。
【請求項３】
前記宛先装置の前記物理アドレスが、前記宛先装置内のネットワーク・インターフェース・カードのメディア・アクセス制御アドレスである、請求項１記載のコンピュータによって実行される方法。
【請求項４】
前記データ・パケットが、ソース装置の物理アドレスを含むソース・メディア・アクセス制御フィールドと、前記ソース装置のインターネット・プロトコル・アドレスを含むソース・インターネット・プロトコル・フィールドとをさらに含む、請求項１記載のコンピュータによって実行される方法。
【請求項５】
前記宛先装置が、前記データ・パケット内の前記宛先インターネット・プロトコル・アドレスを検査し、前記データ・パケット内の前記宛先インターネット・プロトコル・アドレスが前記宛先装置の前記インターネット・プロトコル・アドレスと一致するかどうかを判断し、経路指定が前記宛先装置上で使用可能になっている場合に前記データ・パケット内の前記活動時間フィールドの前記値を検査し、前記データ・パケットが時間制限を超過したことを前記値が示す場合に前記ソース・インターネット・プロトコル・アドレス・フィールド内の前記インターネット・プロトコル・アドレスに前記時間超過メッセージを送信する、請求項１記載のコンピュータによって実行される方法。
【請求項６】
経路指定が前記宛先装置上で使用可能になっていない場合に前記宛先装置が前記データ・パケットを廃棄する、請求項５記載のコンピュータによって実行される方法。
【請求項７】
前記宛先装置に関する前記インターネット・プロトコル・アドレスが不明であるときに、前記宛先装置が経路指定のために使用可能になっているという前記判断が実行される、請求項１記載のコンピュータによって実行される方法。
【請求項８】
前記宛先装置のサブネット上の装置に関する前記インターネット・プロトコル・アドレスが不明であるときに、前記宛先装置が経路指定のために使用可能になっているという前記判断が実行される、請求項１記載のコンピュータによって実行される方法。
【請求項９】
前記装置がオフラインになっているかまたは電源遮断されている、請求項８記載のコンピュータによって実行される方法。
【請求項１０】
ｐｉｎｇユーティリティまたはアドレス解決プロトコルのうちの一方を使用して、前記宛先装置の前記物理アドレスが入手される、請求項１記載のコンピュータによって実行される方法。
【請求項１１】
分散ネットワーク内の無許可ルータを検出するためのデータ処理システムであって、
バスと、
前記バスに接続された記憶装置であって、コンピュータ使用可能コードを含む記憶装置と、
前記バスに接続された少なくとも１つの管理装置と、
前記バスに接続された通信装置と、
前記バスに接続された処理装置であって、宛先装置の物理アドレスを入手し、少なくとも宛先メディア・アクセス制御フィールド、宛先インターネット・プロトコル・フィールド、および活動時間フィールドを含むデータ・パケットを作成し、前記宛先メディア・アクセス制御フィールドが前記宛先装置の前記物理アドレスを含み、前記宛先インターネット・プロトコル・フィールドが偽インターネット・プロトコル・アドレスを含み、前記活動時間フィールドが前記データ・パケットが時間制限を超えたことを示す値を含み、前記宛先メディア・アクセス制御フィールド内の前記物理アドレスを使用して、前記宛先装置に前記データ・パケットを送信し、前記宛先装置から時間超過メッセージを受信したことに応答して、前記宛先装置が経路指定のために使用可能になっていると判断するために前記コンピュータ使用可能コードを実行する処理装置と、
を含む、データ処理システム。
【請求項１２】
分散ネットワーク内の無許可ルータを検出するためのコンピュータ・プログラムであって、
そこにコンピュータ使用可能プログラム・コードが有形に実施されているコンピュータ使用可能媒体を含み、前記コンピュータ使用可能プログラム・コードが、
宛先装置の物理アドレスを入手するためのコンピュータ使用可能プログラム・コードと、
少なくとも宛先メディア・アクセス制御フィールド、宛先インターネット・プロトコル・フィールド、および活動時間フィールドを含むデータ・パケットを作成するためのコンピュータ使用可能プログラム・コードであって、前記宛先メディア・アクセス制御フィールドが前記宛先装置の前記物理アドレスを含み、前記宛先インターネット・プロトコル・フィールドが偽インターネット・プロトコル・アドレスを含み、前記活動時間フィールドが前記データ・パケットが時間制限を超えたことを示す値を含むコンピュータ使用可能プログラム・コードと、
前記宛先メディア・アクセス制御フィールド内の前記物理アドレスを使用して、前記宛先装置に前記データ・パケットを送信するためのコンピュータ使用可能プログラム・コードと、
前記宛先装置から時間超過メッセージを受信したことに応答して、前記宛先装置が経路指定のために使用可能になっていると判断するためのコンピュータ使用可能プログラム・コードと、
を含む、コンピュータ・プログラム。
【請求項１３】
前記宛先装置から時間超過メッセージを受信しなかったことに応答して、前記宛先装置が経路指定のために使用可能になっていないと判断するためのコンピュータ使用可能プログラム・コード
をさらに含む、請求項１２記載のコンピュータ・プログラム。
【請求項１４】
前記宛先装置の前記物理アドレスが、前記宛先装置内のネットワーク・インターフェース・カードのメディア・アクセス制御アドレスである、請求項１２記載のコンピュータ・プログラム。
【請求項１５】
前記データ・パケットが、ソース装置の物理アドレスを含むソース・メディア・アクセス制御フィールドと、前記ソース装置のインターネット・プロトコル・アドレスを含むソース・インターネット・プロトコル・フィールドとをさらに含む、請求項１２記載のコンピュータ・プログラム。
【請求項１６】
前記宛先装置が、前記データ・パケット内の前記宛先インターネット・プロトコル・アドレスを検査し、前記データ・パケット内の前記宛先インターネット・プロトコル・アドレスが前記宛先装置の前記インターネット・プロトコル・アドレスと一致するかどうかを判断し、経路指定が前記宛先装置上で使用可能になっている場合に前記データ・パケット内の前記活動時間フィールドの前記値を検査し、前記データ・パケットが時間制限を超過したことを前記値が示す場合に前記ソース・インターネット・プロトコル・アドレス・フィールド内の前記インターネット・プロトコル・アドレスに前記時間超過メッセージを送信する、請求項１２記載のコンピュータ・プログラム。
【請求項１７】
経路指定が前記宛先装置上で使用可能になっていない場合に前記宛先装置が前記データ・パケットを廃棄する、請求項１６記載のコンピュータ・プログラム。
【請求項１８】
前記宛先装置に関する前記インターネット・プロトコル・アドレスが不明であるときに、または前記宛先装置のサブネット上の装置に関する前記インターネット・プロトコル・アドレスが不明であるときに、前記宛先装置が経路指定のために使用可能になっているという前記判断が実行される、請求項１２記載のコンピュータ・プログラム。
【請求項１９】
前記装置がオフラインになっているかまたは電源遮断されている、請求項１８記載のコンピュータ・プログラム。
【請求項２０】
ｐｉｎｇユーティリティまたはアドレス解決プロトコルのうちの一方を使用して、前記宛先装置の前記物理アドレスが入手される、請求項１２記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、改良されたデータ処理システムに関し、特に、ネットワーク内の無許可ルータを発見するためのコンピュータによって実行される方法、データ処理システム、およびコンピュータ・プログラム（computer program product）に関する。
【背景技術】
【０００２】
分散ネットワーク・データ処理システムは、企業および家庭でますます普及している。典型的に、ネットワーク・データ処理システムは、ネットワーク内に接続された様々な装置およびコンピュータ間の通信リンクを提供するために使用される媒体を有するネットワークを含む。この媒体は、ネットワーク上の種々の装置間でデータの経路指定を行うルータなどの他の装置との通信リンクを提供するワイヤを含む。ネットワーク内でデータを伝送するために使用されるプロトコルの１つは、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ：transmission control protocol/internet protocol）である。このプロトコルは、インターネット上で使用され、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、または広域ネットワーク（ＷＡＮ）などの他のネットワークでも実装することができる。ＴＣＰは、送信された全バイト数が正確にもう一方の側で受信されることを保証するためのトランスポート機能を提供する。ＩＰは、ＴＣＰからのパケットを受け入れるために使用され、データリンク層プロトコルにそのパケットを配信するためのヘッダを追加する。種々のシステム間でデータを送信するためにネットワーク内のすべてのクライアントおよびサーバによってＩＰアドレスが使用される。
【０００３】
ルータは、データが異なるネットワーク（すなわち、個別の論理サブネット）間を移動するための適切なパス（path）を決定する装置である。ルータは、このパスに沿って次の装置にデータ・パケットを転送する。ルータは、使用可能な経路（route）およびその条件のテーブルを作成または維持し、この情報を使用して所与のパケットのために最良経路を決定することができる。
【０００４】
セキュリティの世界では、ある組織のネットワーク内の無許可ルータはローグ・ルータ（rogue router）として知られている。このような無許可ルータはモニターされず、ルータのサブネット上のマシンもモニターされない。このようなルータに関連するセキュリティ上の懸念がいくつかあるので、組織は自身のネットワーク上で無許可ルータが動作するのを望まない。ユーザに悪意がなくても、ネットワーク内のクライアント装置はローグ・ルータになる可能性がある。たとえば、ユーザがラップトップ・コンピュータをクライアント装置に接続し、モデムを使用してインターネットを介して電子メールにアクセスする場合、そのモデムは無許可ルータになる。ユーザのラップトップ上のオペレーティング・システムがルータ機能を含み、その機能が使用可能になっている場合、そのラップトップはルータとして働くこともできる。ユーザのラップトップは許可ルータより弱いファイアウォールを含むので、このシナリオはセキュリティ問題を発生する。その結果として、ネットワーク・セキュリティ管理者が無許可ルータを検出し、その動作を中止できることが望ましい。
【０００５】
あるコンピュータから他のコンピュータにパケットが送信される場合、そのパケットは０個またはそれ以上のルータをトラバースする。パケットがトラバースする一連のルータはその経路またはパスと呼ばれる。１つのルータのトラバーサルはホップと呼ばれる。現在の技術では、トレースルート・ユーティリティ（traceroute utility）を使用すると、ソース・マシンと指定の宛先マシンとの間の分散ネットワークを通る経路を記録することにより、ネットワーク内のルータを検出することができる。宛先マシンがアクティブであり、ソース・マシン内のモニター・ツールが宛先マシンのＩＰアドレスをｐｉｎｇすることができる場合、ソース・マシンと宛先マシンとの間のルータ（複数も可）を検出することは可能である。トレースルート・コマンドは、（インターネット制御メッセージ・プロトコルまたはＩＣＭＰを使用して）一連のパケットをターゲット宛先マシンに送信することによって動作する。第１のパケットは、第１のホップに関するパケットを受信する第１のルータが超えるように設計された限られた活動時間（ＴＴＬ：Time-To-Live）値とともに構築される。たとえば、第１のパケット内のＴＴＬ値は１という値を有する。第１のルータが１というＴＴＬ値を有するパケットに遭遇すると、第１のルータは、送信側ソース・マシンにＩＣＭＰ時間超過メッセージ（タイプ１１）を返送する義務がある。また、送信側ソース・マシンは、第２のホップに関する２という活動時間（ＴＴＬ）値を含むその他のパケットを送信し、次に、第３のホップに関する３という活動時間（ＴＴＬ）値を含むその他のパケットを送信し、以後同様に送信する。その結果として、パス内の各ルータは、送信側ソース・マシンと宛先マシンとの間でタイプ１１のパケットで応答することになる。最終的な宛先マシンがパケットに応答すると、プロセスは停止する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ネットワーク内のルータを検出するためにトレースルート・ユーティリティを使用することができるが、トレースルート・ユーティリティの問題は、経路指定されたサブネットが不明である場合またはルータのサブネット上のマシンが無音であるか機能停止している場合、マシンが経路指定しているかどうかをネットワーク管理者が発見できないことである。したがって、トレースルートなどの現在の技術のユーティリティは、ソース・マシンがサブネットのＩＰアドレスまたはサブネット内のマシンのＩＰアドレスを把握している場合にマシンがルータであるかどうかを発見できるようにするだけである。
【課題を解決するための手段】
【０００７】
例示的な諸実施形態は、ネットワーク内の無許可ルータを発見するためのコンピュータによって実行される方法、データ処理システム、およびコンピュータ・プログラムを提供する。例示的な諸実施形態のプロセスは、まず、疑わしいルータ（suspected router）または宛先装置の物理アドレスを入手する。少なくとも宛先メディア・アクセス制御フィールド、宛先インターネット・プロトコル・フィールド、および活動時間フィールドを含むデータ・パケットを作成し、宛先メディア・アクセス制御フィールドは宛先装置の物理アドレスを含み、宛先インターネット・プロトコル・フィールドは偽（bogus）インターネット・プロトコル・アドレスを含み、活動時間フィールドはデータ・パケットが時間制限を超えたことを示す値を含む。宛先メディア・アクセス制御フィールド内の物理アドレスを使用して、宛先装置にデータ・パケットを送信する。宛先装置から時間超過メッセージを受信した場合、その宛先装置が経路指定のために使用可能になっていると判断する。
【０００８】
次に、以下の図面に関連して、一例としてのみ、本発明の好ましい諸実施形態について説明する。
【図面の簡単な説明】
【０００９】
【図１】例示的な諸実施形態を実装可能な分散データ処理システムの図表現である。
【図２】例示的な諸実施形態を実装可能なデータ処理システムのブロック図である。
【図３】本発明の好ましい一実施形態により描写されたデータ処理システム用の典型的なソフトウェア・アーキテクチャを示す図である。
【図４】本発明の好ましい一実施形態により描写された伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）および同様のプロトコルを示す図である。
【図５】例示的な諸実施形態により無許可ルータを発見するためのローグ・ルータ・ハンタ・システムのブロック図である。
【図６】例示的な諸実施形態によりローグ・ルータ・ハンタによって作成されたパケットを示す図である。
【図７】例示的な諸実施形態により無許可ルータを発見するためのプロセスの流れ図である。
【発明を実施するための形態】
【００１０】
次に、図面に関連して、特に図１〜図２に関連して説明すると、例示的な諸実施形態を実装可能なデータ処理環境の模範的な図が示されている。図１〜図２は、模範的なものに過ぎず、種々の実施形態を実装可能な環境に関するいかなる制限も表明または暗示するものではないことを認識されたい。描写されている環境に対して多くの変更が可能である。
【００１１】
図１は、例示的な諸実施形態を実装可能なデータ処理システムのネットワークの図表現を描写している。ネットワーク・データ処理システム１００は、例示的な諸実施形態を実装可能なコンピュータのネットワークである。ネットワーク・データ処理システム１００はネットワーク１０２を含み、このネットワークはネットワーク・データ処理システム１００内に一緒に接続された様々な装置およびコンピュータ間の通信リンクを提供するために使用される媒体である。ネットワーク１０２は、ワイヤ、無線通信リンク、または光ファイバ・ケーブルなどの接続部を含むことができる。
【００１２】
描写されている例では、サーバ１０４およびサーバ１０６は記憶装置１０８とともにネットワーク１０２に接続する。加えて、クライアント１１０、１１２、および１１４もネットワーク１０２に接続する。クライアント１１０、１１２、および１１４は、たとえば、パーソナル・コンピュータまたはネットワーク・コンピュータにすることができる。描写されている例では、サーバ１０４は、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションなどのデータをクライアント１１０、１１２、および１１４に提供する。クライアント１１０、１１２、および１１４は、この例ではサーバ１０４に対するクライアントである。ネットワーク・データ処理システム１００は、図示されていない追加のサーバ、クライアント、およびその他の装置を含むことができる。
【００１３】
描写されている例では、ネットワーク・データ処理システム１００は、相互に通信するために伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）プロトコル・スイートを使用するネットワークおよびゲートウェイの世界的集合を表すネットワーク１０２を含むインターネットである。インターネットの中心には、データおよびメッセージを経路指定する数千もの商用、行政、教育、およびその他のコンピュータ・システムからなる、大ノードまたはホスト・コンピュータ間の高速データ通信回線のバックボーンがある。当然のことながら、ネットワーク・データ処理システム１００は、たとえば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、または広域ネットワーク（ＷＡＮ）など、いくつかの異なるタイプのネットワークとしても実装することができる。図１は、一例として意図されたものであって、異なる例示的な諸実施形態に関するアーキテクチャ上の制限として意図されたものではない。
【００１４】
次に、図２に関連して説明すると、例示的な諸実施形態を実装可能なデータ処理システムのブロック図が示されている。データ処理システム２００は、図１のサーバ１０４またはクライアント１１０などのコンピュータの一例であり、例示的な諸実施形態の場合、プロセスを実装するコンピュータ使用可能プログラム・コードまたは命令はそこに位置することができる。この例示的な例では、データ処理システム２００は、プロセッサ・ユニット２０４、メモリ２０６、永続記憶装置２０８、通信装置２１０、入出力（Ｉ／Ｏ）装置２１２、およびディスプレイ２１４の間の通信を提供する通信ファブリック２０２を含む。
【００１５】
プロセッサ・ユニット２０４は、メモリ２０６にロードすることができるソフトウェア用の命令を実行する働きをする。プロセッサ・ユニット２０４は、特定の実装例に応じて、１つまたは複数のプロセッサからなるセットである場合もあれば、１つのマルチプロセッサ・コアである場合もある。さらに、プロセッサ・ユニット２０４は、単一チップ上に２次プロセッサとともにメイン・プロセッサが存在する、１つまたは複数の異種プロセッサ・システムを使用して実装することができる。他の例示的な例として、プロセッサ・ユニット２０４は、同じタイプの複数プロセッサを含む対称型マルチプロセッサ・システムにすることができる。
【００１６】
メモリ２０６は、この例では、たとえば、ランダム・アクセス・メモリにすることができる。永続記憶装置２０８は、特定の実装例に応じて、様々な形を取ることができる。たとえば、永続記憶装置２０８は、１つまたは複数のコンポーネントまたはデバイスを含むことができる。たとえば、永続記憶装置２０８は、ハード・ディスク、フラッシュ・メモリ、書き換え型光ディスク、書き換え型磁気テープ、またはこれらの何らかの組み合わせにすることができる。永続記憶装置２０８によって使用される媒体は取り外し可能なものにすることもできる。たとえば、取り外し可能ハード・ディスクを永続記憶装置２０８に使用することができる。
【００１７】
これらの例では、通信装置２１０は、他のデータ処理システムまたは装置との通信を可能にする。これらの例では、通信装置２１０は、ネットワーク・インターフェース・カードである。通信装置２１０は、物理リンクおよび無線通信リンクのいずれか一方または両方を使用することによって通信を提供することができる。
【００１８】
入出力装置２１２は、データ処理システム２００に接続可能な他の装置によるデータの入出力を可能にする。たとえば、入出力装置２１２は、キーボードおよびマウスによるユーザ入力のための接続を提供することができる。さらに、入出力装置２１２はプリンタに出力を送信することができる。ディスプレイ２１４は、ユーザに対して情報を表示するためのメカニズムを提供する。
【００１９】
オペレーティング・システムおよびアプリケーションまたはプログラムのための命令は永続記憶装置２０８上に位置する。これらの命令は、プロセッサ・ユニット２０４によって実行するためにメモリ２０６にロードすることができる。種々の実施形態のプロセスは、メモリ２０６などのメモリ内に位置することができる、コンピュータによって実行される命令を使用してプロセッサ・ユニット２０４によって実行することができる。これらの命令は、プロセッサ・ユニット２０４内のプロセッサによって読み取って実行することができるプログラム・コード、コンピュータ使用可能プログラム・コード、またはコンピュータ可読プログラム・コードと呼ばれる。種々の実施形態におけるプログラム・コードは、メモリ２０６または永続記憶装置２０８などの種々の物理的または有形のコンピュータ可読媒体上で実施することができる。
【００２０】
プログラム・コード２１６は、コンピュータ可読媒体２１８上に機能的な形で位置し、プロセッサ・ユニット２０４によって実行するためにデータ処理システム２００上にロードするかまたはそこに転送することができる。プログラム・コード２１６およびコンピュータ可読媒体２１８はこれらの例ではコンピュータ・プログラム２２０を形成する。一例では、コンピュータ可読媒体２１８は、たとえば、永続記憶装置２０８の一部であるハード・ディスクなどの記憶装置上に転送するために、永続記憶装置２０８の一部であるドライブまたはその他の装置内に挿入または配置される光ディスクまたは磁気ディスクなどの有形の形にすることができる。有形の形のコンピュータ可読媒体２１８は、データ処理システム２００に接続されるハード・ディスクまたはフラッシュ・メモリなどの永続記憶装置の形を取ることもできる。
【００２１】
代わって、プログラム・コード２１６は、コンピュータ可読媒体２１８から、通信装置２１０への通信リンクを介してまたは入出力装置２１２への接続部を介してあるいはその両方を介して、データ処理システム２００に転送することができる。通信リンクまたは接続部あるいはその両方は、例示的な例では物理的なものまたは無線にすることができる。また、コンピュータ可読媒体は、プログラム・コードを含む、通信リンクまたは無線伝送などの非有形媒体の形を取ることもできる。
【００２２】
データ処理システム２００について例示されている種々のコンポーネントは、種々の実施形態を実装可能な方法に対してアーキテクチャ上の制限をもたらすものではない。種々の例示的な実施形態は、データ処理システム２００について例示されているものに加えてまたはその代わりにいくつかのコンポーネントを含むデータ処理システムに実装することができる。図２に示されているその他のコンポーネントは、図示されている例示的な例から変更することができる。
【００２３】
たとえば、通信ファブリック２０２を実装するためにバス・システムを使用することができ、システム・バスまたは入出力バスなどの１つまたは複数のバスでバス・システムを構成することができる。当然のことながら、バス・システムは、バス・システムに接続された種々のコンポーネントまたは装置間のデータ転送を可能にする任意の適切なタイプのアーキテクチャを使用して実装することができる。さらに、通信装置は、モデムまたはネットワーク・アダプタなど、データを送受信するために使用される１つまたは複数の装置を含むことができる。さらに、メモリは、たとえば、通信ファブリック２０２内に存在することができるインターフェースおよびメモリ・コントローラ・ハブ内で検出されるようなメモリ２０６またはキャッシュにすることができる。
【００２４】
図３を参照すると、例示的な諸実施形態によりデータ処理システム用の典型的なソフトウェア・アーキテクチャが描写されている。このアーキテクチャは、図２のデータ処理システム２００などのデータ処理システムに実装することができる。ソフトウェア・アーキテクチャ３００の最下部レベルでは、オペレーティング・システム３０２を使用して、ユーザおよびその他のソフトウェアに高レベルの機能を提供する。このようなオペレーティング・システムは、典型的に、基本入出力システム（ＢＩＯＳ）を含む。通信ソフトウェア３０４は、オペレーティング・システム機能を直接呼び出すかまたはオペレーティング・システムを間接的に迂回してネットワークによる通信のためのハードウェアにアクセスすることにより、物理的通信リンクを介してインターネットなどのネットワークへの外部ポートによる通信を提供する。
【００２５】
アプリケーション・プログラム・インターフェース（ＡＰＩ）３０６は、特定の機能が実装される方法を心配せずに、規格に一致したインターフェースを使用して、システムのユーザ、個人、またはソフトウェア・ルーチンがシステム機能を呼び出せるようにするものである。ネットワーク・アクセス・ソフトウェア３０８は、システムがネットワークにアクセスできるようにするために使用可能な任意のソフトウェアを表している。このアクセスは、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、またはインターネットなどのネットワークに対するものにすることができる。インターネットの場合、このソフトウェアは、Ｗｅｂブラウザなどのプログラムを含むことができる。アプリケーション・ソフトウェア３１０は、ユーザが探し求めている所望の機能を提供するために通信ポートを通るデータに対して反応するように設計された任意の数のソフトウェア・アプリケーションを表している。例示的な諸実施形態のメカニズムは、これらの例では通信ソフトウェア３０４内に実装することができる。
【００２６】
図４は、例示的な諸実施形態により描写された伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）および同様のプロトコルを示す図である。ＴＣＰ／ＩＰおよび同様のプロトコルは通信アーキテクチャ４００によって使用される。この例では、通信アーキテクチャ４００は４層のシステムである。このアーキテクチャは、アプリケーション層４０２、トランスポート層４０４、ネットワーク層４０６、およびリンク層４０８を含む。各層は様々な通信タスクを処理する役割を担う。リンク層４０８は、データリンク層またはネットワーク・インターフェース層とも呼ばれ、通常、オペレーティング・システム内のデバイス・ドライバおよびコンピュータ内の対応するネットワーク・インターフェースを含む。この層は、光ケーブルまたはイーサネット・ケーブルなど、使用されるネットワーク媒体との物理的なインターフェースを取るハードウェア細部のすべてを処理するものである。
【００２７】
ネットワーク層４０６は、インターネット層とも呼ばれ、ネットワーク内のデータ・パケットの移動を処理する。たとえば、ネットワーク層４０６は、ネットワークにより転送される様々なデータ・パケットの経路指定を処理する。ＴＣＰ／ＩＰスイートにおけるネットワーク層４０６は、インターネット・プロトコル（ＩＰ）、インターネット制御メッセージ・プロトコル（ＩＣＭＰ）、およびインターネット・グループ管理プロトコル（ＩＧＭＰ）を含む、いくつかのプロトコルからなる。
【００２８】
次に、トランスポート層４０４は、２つのホスト・コンピュータ間のデータの転送を容易にする、ネットワーク層４０６とアプリケーション層４０２との間のインターフェースを提供する。トランスポート層４０４は、たとえば、アプリケーションからそれに渡されるデータをその下のネットワーク層のために適切なサイズのチャンクに分割すること、受信したパケットを確認すること、送信されたパケットをもう一方の側が確実に確認するためのタイムアウトを設定することなどに関するものである。ＴＣＰ／ＩＰプロトコル・スイートには、ＴＣＰおよびユーザ・データグラム・プロトコル（ＵＤＰ）という２つの明確に異なるトランスポート・プロトコルが存在する。ＴＣＰは、ドロップアウト検出および再伝送サービスを含み、２つのホスト間でデータが適切に伝送されたことを保証するための信頼性サービスを提供する。
【００２９】
逆に、ＵＤＰは、データが適切に転送されたことを保証するためのメカニズムを提供せずに、単に一方のホストからもう一方へデータグラムと呼ばれるデータ・パケットを送信することにより、もっと単純なサービスをアプリケーション層に提供する。ＵＤＰを使用する場合、アプリケーション層は信頼性機能を実行しなければならない。
【００３０】
アプリケーション層４０２は特定のアプリケーションの細部を処理する。ほぼすべての実装例について、リモート・ログイン用のテルネット、ファイル転送プロトコル（ＦＴＰ：file transfer protocol）、電子メール用の簡易メール転送プロトコル（ＳＭＴＰ：simple mail transfer protocol）、簡易ネットワーク管理プロトコル（ＳＮＭＰ：simple network management protocol）を含み、多くの一般的なＴＣＰ／ＩＰアプリケーションが存在する。例示的な諸実施形態のメカニズムは、ネットワーク層４０６内のプロセスとして実装することができる。
【００３１】
例示的な諸実施形態は、ネットワーク内の無許可ルータを発見することにより潜在的なセキュリティ問題を検出するローグ・ルータ・ハンタ・システムを提供する。無許可ルータは、ネットワーク・セキュリティ管理者によって許可されずにマシン上の経路指定機能が意図的にまたは意図せずに使用可能になっているマシンである。トレースルート・ユーティリティなどの既存のルータ検出方法とは対照的に、例示的な諸実施形態のローグ・ルータ・ハンタ・システムは、マシンが経路指定しているサブネットのＩＰアドレスが不明である場合およびサブネット上のマシンのＩＰアドレスが不明である場合にマシンが無許可ルータであるかどうかをネットワーク・セキュリティ管理者が判断できるようにする。この判断は、判断の時点でサブネット上のマシンが電源投入されていないかまたはオンラインになっていない場合でも行うことができる。
【００３２】
図５は、例示的な諸実施形態により無許可ルータを発見するためのローグ・ルータ・ハンタ・システムのブロック図である。この例では、無許可経路指定装置は疑わしいサブネット・ルータ５０２の形を取る。疑わしいサブネット・ルータ５０２は、意図的にまたは意図せずに使用可能になっている経路指定機能を有するマシンにすることができる。疑わしいサブネット・ルータ（ＳＲ）５０２は、イーサネットにアクセスするためにネットワーク・インターフェース・カード（ＮＩＣ）を含んでいる。疑わしいサブネット・ルータ５０２内のネットワーク・インターフェース・カードは、メディア・アクセス制御（ＭＡＣ：media access control）アドレスを使用してイーサネットにアクセスする。ＭＡＣアドレスは、ネットワークの各ノードを明確に識別するハードウェア・アドレスである。たとえば、それぞれのネットワーク・インターフェース・カードは異なるＭＡＣアドレスを有する。疑わしいサブネット・ルータ５０２のためのＭＡＣアドレスは、製造段階でネットワーク・インターフェース・カードに割り振られている。
【００３３】
ネットワーク５０４は、図１のネットワーク１０２など、様々な装置およびコンピュータ間の通信リンクを提供する分散ネットワークの一例である。疑わしいサブネット・ルータ５０２は、ネットワーク５０４内のトラフィックを経路指定するために実装される。疑わしいサブネット・ルータ５０２は、ネットワーク５０４上のデータ・パケットをサブネット５０６に転送することができる。この例では、サブネット５０６は、Ｓ１  ５０８〜ＳＮ  ５１０などの複数のマシンを含む。
【００３４】
従来のシステムはトレースルート・ユーティリティを使用して、ルータの既知のＩＰアドレスに基づいてルータにパケットを送信することにより、ルータが機能停止しているかまたは故障しているかどうかを判断するが、ローグ・ルータ・ハンタ（ＲＲＨ）ホスト５１２は、固有の方法でトレースルート・ユーティリティを使用して、疑わしいサブネット・ルータ５０２などの装置がルータとして構成されているかどうかを判断するプログラムを含む。この判断は、ローグ・ルータ・ハンタ・プログラムが疑わしいルータのサブネットのＩＰアドレスまたはサブネット上のマシンのＩＰアドレスを把握していない場合でも行うことができる。ローグ・ルータ・ハンタ・ホスト５１２は、ネットワーク５０４にアクセスするためのＭＡＣアドレスを有するネットワーク・インターフェース・カードを含む。ローグ・ルータ・ハンタ・ホスト５１２は、疑わしいサブネット・ルータ５０２のイーサネット・アドレス（ＭＡＣアドレス）を把握しているので、ネットワーク５０４を介して疑わしいサブネット・ルータ５０２と通信することができる。ローグ・ルータ・ハンタ５１２は、ターゲット装置がネットワーク上にあるかどうかを識別するｐｉｎｇユーティリティを使用するか、またはターゲットのＩＰアドレスのみが分かっているときにアドレス解決プロトコルを使用してターゲットのハードウェア・アドレスを決定することにより、疑わしいサブネット・ルータ５０２のＭＡＣアドレスを入手することができる。パケットがそのパケットの宛先アドレスにサブネット・ルータのＭＡＣアドレスを含まない場合、サブネット・ルータはそのパケットを聴取または処理しないので、ローグ・ルータ・ハンタ５１２は疑わしいサブネット・ルータ５０２のＭＡＣアドレスを入手する必要がある。ｐｉｎｇユーティリティは、ターゲット装置にＩＣＭＰ要求パケットを送信することによって動作し、応答を聴取する。応答パケットは、ソースＭＡＣアドレス、宛先またはターゲットＭＡＣアドレス、ソースＩＰアドレス、および宛先ＩＰアドレスを含むことができる。したがって、ローグ・ルータ・ハンタ・ホスト５１２内のプログラムは、ローグ・ルータ・ハンタ・ホスト５１２用のＭＡＣアドレスを含むソースＭＡＣアドレスと、疑わしいサブネット・ルータ５０２用のＭＡＣアドレスを含む宛先ＭＡＣアドレスとを含むデータ・パケットを作成する。このデータ・パケットは、そのパケットの宛先ＩＤアドレス・フィールド内に疑わしいサブネット・ルータ５０２用の偽ＩＰアドレスも含む。ローグ・ルータ・ハンタは、そのパケットの活動時間（ＴＴＬ）値を１に設定することになる。次に、ローグ・ルータ・ハンタ・ホスト５１２は疑わしいサブネット・ルータ５０２にそのデータ・パケットを送信し、パケット内の宛先ＭＡＣアドレスが疑わしいサブネット・ルータ５０２内のネットワーク・インターフェース・カードのＭＡＣアドレスと一致するので疑わしいサブネット・ルータ５０２はそのパケットを受信する。
【００３５】
疑わしいサブネット・ルータ５０２は、パケット・ヘッダを検査し、宛先ＩＰアドレスが疑わしいサブネット・ルータ５０２にアドレス指定されているかどうかを判断する。パケット内の宛先ＩＰアドレスが疑わしいサブネット・ルータ５０２のＩＰアドレスと一致しない場合、疑わしいサブネット・ルータ５０２はそのパケットを廃棄することになる。したがって、サブネット・ルータが経路指定するように構成されていない場合、サブネット・ルータは宛先ＩＰアドレスをチェックし、宛先ＩＰアドレスがサブネット・ルータのＩＰアドレスではないと判断し、そのパケットをドロップする。しかし、疑わしいサブネット・ルータ５０２のルータ機能が使用可能になっている場合、疑わしいサブネット・ルータ５０２はそのパケットを廃棄しない。このルータ使用可能状況では、疑わしいサブネット・ルータ５０２は最終的に、パケット内の宛先ＩＰアドレスと経路指定テーブル内のＩＰアドレスを比較して、そのパケットのために最良経路を決定する。サブネット・ルータは、宛先ＩＰアドレスがサブネット・ルータのＩＰアドレスではないが、サブネット・ルータが経路指定するように構成されているので、サブネット・ルータはパケットを前方へ送信しなければならないと判断する。しかし、疑わしいサブネット・ルータ５０２がこの比較を実行する前に、疑わしいサブネット・ルータ５０２は活動時間（ＴＴＬ）フィールドを検査する。ＴＴＬフィールドは、パケットを廃棄する前にそのパケットが経験しうる反復回数の限界を示すために使用されるホップ限界である。ＴＴＬフィールドが１以下である場合、疑わしいサブネット・ルータ５０２は、パケット内のソースＩＰアドレスまたはローグ・ルータ・ハンタ・ホスト５１２にＩＣＭＰプロトコルによる時間超過（タイプ１１）パケットを返す。したがって、サブネット・ルータは、ＴＴＬ値が低すぎるのでそのパケットを経路指定できないと判断し、サブネット・ルータはパケット送信側にこの問題を通知する。ローグ・ルータ・ハンタ・ホスト５１２がこのようなＩＣＭＰ時間超過メッセージを受信した場合、ローグ・ルータ・ハンタは、疑わしいサブネット・ルータ５０２の経路指定機能が使用可能になっていることを把握する。ローグ・ルータ・ハンタ・ホスト５１２は、無許可ルータについてネットワーク・セキュリティ管理者に警告することができる。
【００３６】
特定の例では、拡張対話式エグゼクティブ（ＡＩＸ：AdvancedInteractive eXecutive（ＴＭ））オペレーティング・システムを使用する疑わしいサブネット・ルータ５０２は、ローグ・ルータ・ハンタ・ホスト５１２からパケットを受信し検査する。パケット内の宛先ＩＰアドレスが疑わしいサブネット・ルータ５０２のＩＰアドレスと一致せず、疑わしいサブネット・ルータ５０２で経路指定が使用可能になっている場合、そのパケットは経路指定テーブルに渡される前にｉｐ＿ｍｆｏｒｗａｒｄ（）関数に渡される。パケット内のＴＴＬが期限切れになり（すなわち、ＴＴＬ≦１）、疑わしいサブネット・ルータ５０２がＩＣＭＰ時間超過（タイプ１１）メッセージで応答する場合、このｉｐ＿ｍｆｏｒｗａｒｄ（）関数は０を返すことになる。ローグ・ルータ・ハンタ・ホスト５１２が疑わしいサブネット・ルータ５０２からこのようなＩＣＭＰ時間超過メッセージを受信した場合、ローグ・ルータ・ハンタ・ホスト５１２は、疑わしいサブネット・ルータ５０２が経路指定のために使用可能になっていることを把握する。
【００３７】
図６は、例示的な諸実施形態によりローグ・ルータ・ハンタによって作成されたパケットを示している。図５の疑わしいサブネット・ルータ５０２などのマシンが経路指定しているかどうかを判断するために、ローグ・ルータ・ハンタ５１２からパケット６００を送信することができる。パケット６００は、ソースＭＡＣアドレス６０２、宛先ＭＡＣアドレス６０４、ソースＩＰアドレス６０６、宛先ＩＰアドレス６０８、ＴＴＬフィールド６１０を含む、様々なフィールドを含む。
【００３８】
ソースＭＡＣアドレス６０２は、パケットを送信する装置または図５のローグ・ルータ・ハンタ・ホスト５１２のＭＡＣアドレスである。
【００３９】
宛先ＭＡＣアドレス６０４は、パケットを受信すべき装置または図５の疑わしいサブネット・ルータ５０２のＭＡＣアドレスである。前述の通り、疑わしい経路指定マシンまたはサブネット上のマシンのＩＰアドレスが不明である状況では、疑わしいマシンが経路指定しているかどうかを判断するために、ソースＩＰアドレスと宛先ＩＰアドレスを含む従来のパケットを使用することはできない。ローグ・ルータ・ハンタにとって既知のアドレスである疑わしいルータのＭＡＣアドレスを使用して、ローグ・ルータ・ハンタが特定の疑わしいルータにパケットを送信できるようにするパケット６００を作成することにより、ローグ・ルータ・ハンタはこの問題に対処する。したがって、ローグ・ルータ・ハンタが疑わしいルータにパケット６００を送信すると、パケット内の宛先ＭＡＣアドレスが疑わしいルータのネットワーク・インターフェース・カードのＭＡＣアドレスと一致するので、疑わしいルータはそのパケットを受信する。
【００４０】
ソースＩＰアドレス６０６は、パケットを送信する装置またはローグ・ルータ・ハンタのＩＰアドレスである。ソースＩＰアドレス６０６は、疑わしいルータが経路指定している場合にローグ・ルータ・ハンタにＩＣＭＰ時間超過メッセージを返すために疑わしいルータによって使用される。
【００４１】
宛先ＩＰアドレス６０８は偽ＩＰアドレスである。ローグ・ルータ・ハンタは疑わしいルータまたはサブネット・マシンのＩＰアドレスをいずれも把握していないので、パケット６００では正しい宛先ＩＰアドレスは使用されない。宛先ＩＰアドレス６０８内の偽ＩＰアドレスは疑わしいルータのＩＰアドレスと一致せず、したがって、経路指定が使用可能になっている場合に疑わしいルータがパケットを経路指定しようと試みるので、疑わしいルータが通常の方法でパケット６００を処理できるようにし、疑わしいルータが経路指定しているかどうかをローグ・ルータ・ハンタが発見できるようにするために、宛先ＩＰアドレス６０８内に偽ＩＰアドレスが配置される。
【００４２】
ＴＴＬフィールド６１０は、パケット６００に割り当てられた活動時間値を指定する値である。ローグ・ルータ・ハンタがパケット６００を作成する場合、ローグ・ルータ・ハンタと疑わしいルータとの間に１つのホップのみが必要なので、ローグ・ルータ・ハンタは「１」という値をＴＴＬフィールド６１０に割り当てる。ＴＴＬフィールド６１０内の１という値により、疑わしいルータは、その疑わしいルータがパケット６００を受信したときにＩＣＭＰ時間超過メッセージをローグ・ルータ・ハンタに返送する。
【００４３】
図７は、例示的な諸実施形態により無許可ルータを発見するためのプロセスの流れ図である。このプロセスは、ローグ・ルータ・ハンタのソースＭＡＣアドレスと、疑わしいルータの宛先ＭＡＣアドレスと、ローグ・ルータ・ハンタのソースＩＰアドレスと、偽宛先ＩＰアドレスと、１という値を有するＴＴＬフィールドとを含む、図６のパケット６００によるデータ・パケットをローグ・ルータ・ハンタ・プログラムが作成するときから始まる（ステップ７０２）。ローグ・ルータ・ハンタは疑わしいルータにそのパケットを送信する（ステップ７０４）。パケット内の宛先ＭＡＣアドレスは疑わしいルータのネットワーク・インターフェース・カードのＭＡＣアドレスと一致するので、疑わしいルータはそのパケットを受信する（ステップ７０６）。
【００４４】
次に、疑わしいルータは、パケット内の宛先ＩＰアドレス（偽ＩＰアドレス）を検査して、そのパケットが疑わしいルータ用であるかどうかを判断する（ステップ７０８）。パケット内の宛先ＩＰアドレスは偽アドレスであるので、パケット内の宛先ＩＰアドレスは疑わしいルータのＩＰアドレスと一致しない。したがって、疑わしいルータは、そのパケットが疑わしいルータ用ではないと判断することになる（ステップ７１０）。
【００４５】
この時点で、いかなる経路指定機能も疑わしいルータ上で使用可能になっていない場合、疑わしいルータはそのパケットを廃棄し（ステップ７１２）、その後、プロセスは終了する。ローグ・ルータ・ハンタは疑わしいルータからＩＣＭＰ時間超過メッセージを受信しないので、ローグ・ルータ・ハンタは、疑わしいルータが経路指定していないと判断する。
【００４６】
しかし、経路指定機能が疑わしいルータ上で使用可能になっている場合、疑わしいルータはそのパケット内のＴＴＬフィールドを検査する（ステップ７１４）。ローグ・ルータ・ハンタによって作成されたパケット内のＴＴＬフィールドは１という値を有するので、疑わしいルータは、パケット内のソースＩＰアドレスに基づいてローグ・ルータ・ハンタ（パケット送信側）にＩＣＭＰ時間超過メッセージを返す（ステップ７１６）。パケット内のソースＩＰアドレスはローグ・ルータ・ハンタのＩＰアドレスであるので、ローグ・ルータ・ハンタはＩＣＭＰ時間超過メッセージを受信する（ステップ７１８）。
【００４７】
疑わしいルータからの時間超過メッセージがローグ・ルータ・ハンタによって受信されると、ローグ・ルータ・ハンタは、疑わしいルータが経路指定していることを把握する（ステップ７２０）。次に、ローグ・ルータ・ハンタは、疑わしいルータがネットワーク上の無許可ルータであることをネットワーク・セキュリティ管理者に警告することができ（ステップ７２２）、その後、プロセスは終了する。
【００４８】
本発明の諸実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェアとソフトウェアの両方の要素を含む実施形態の形を取ることができる。好ましい一実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されないソフトウェアで実装される。
【００４９】
さらに、本発明の諸実施形態は、コンピュータまたは任意の命令実行システムによりあるいはそれに関連して使用するためのプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラムの形を取ることができる。この説明のために、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを収容、保管、通信、伝搬、または伝送可能な任意の有形装置にすることができる。
【００５０】
この媒体は、電子、磁気、光、電磁、赤外線、または半導体システム（あるいは装置またはデバイス）もしくは伝搬媒体にすることができる。コンピュータ可読媒体の例としては、半導体またはソリッド・ステート・メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、剛性磁気ディスク、および光ディスクを含む。光ディスクの現在の例としては、コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、書き換え可能コンパクト・ディスク（ＣＤ−Ｒ／Ｗ）、およびＤＶＤを含む。
【００５１】
さらに、コンピュータ記憶媒体は、コンピュータ可読プログラム・コードがコンピュータ上で実行されたときに、このコンピュータ可読プログラム・コードの実行によりコンピュータが通信リンクにより他のコンピュータ可読プログラム・コードを送信するようなコンピュータ可読プログラム・コードを収容または保管することができる。この通信リンクは、たとえば、無制限に、物理的なものまたは無線である媒体を使用することができる。
【００５２】
プログラム・コードの保管または実行あるいはその両方に適したデータ処理システムは、システム・バスを介して記憶素子に直接または間接的に結合された少なくとも１つのプロセッサを含むことになる。記憶素子としては、プログラム・コードの実際の実行中に使用されるローカル・メモリと、大容量記憶装置と、実行中に大容量記憶装置からコードを検索しなければならない回数を削減するために少なくとも何らかのプログラム・コードの一時記憶を提供するキャッシュ・メモリとを含むことができる。
【００５３】
入出力またはＩ／Ｏ装置（キーボード、ディスプレイ、ポインティング・デバイスなどを含むがこれらに限定されない）は、直接あるいは介在する入出力コントローラを介してシステムに結合することができる。
【００５４】
データ処理システムが介在する私設網または公衆網を介してその他のデータ処理システムあるいはリモート・プリンタまたは記憶装置に結合された状態になれるようにするために、ネットワーク・アダプタもシステムに結合することができる。モデム、ケーブル・モデム、およびイーサネット・カードは、現在使用可能なタイプのネットワーク・アダプタのうちのいくつかに過ぎない。
【００５５】
本発明の説明は、例示および解説のために提示されたものであり、網羅するためまたは開示された形式に本発明を限定するためのものではない。多くの変更および変形は当業者にとって明白なものであるであろう。この実施形態は、本発明の原理、実用的な適用例を最も良く説明するため、ならびにその他の当業者が企図された特定の用途に適した様々な変更を含む様々な実施形態について本発明を理解できるようにするために、選択され記載されたものである。
【図１】
2010541441.tif 000003
【図２】
2010541441.tif 000004
【図３】
2010541441.tif 000005
【図４】
2010541441.tif 000006
【図５】
2010541441.tif 000007
【図６】
2010541441.tif 000008
【図７】
2010541441.tif 000009
【手続補正書】
【提出日】平成22年8月26日(2010.8.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
分散ネットワーク内の無許可ルータを検出するためのコンピュータによって実行される方法であって、
宛先装置の物理アドレスを入手するステップと、
少なくとも宛先メディア・アクセス制御フィールド、宛先インターネット・プロトコル・フィールド、および活動時間フィールドを含むデータ・パケットを作成するステップであって、前記宛先メディア・アクセス制御フィールドが前記宛先装置の前記物理アドレスを含み、前記宛先インターネット・プロトコル・フィールドが偽インターネット・プロトコル・アドレスを含み、前記活動時間フィールドが前記データ・パケットが時間制限を超えたことを示す値を含む、前記作成するステップと、
前記宛先メディア・アクセス制御フィールド内の前記物理アドレスを使用して、前記宛先装置に前記データ・パケットを送信するステップと、
前記宛先装置から時間超過メッセージを受信したことに応答して、前記宛先装置が経路指定のために使用可能になっていると判断するステップと、
を含む、コンピュータによって実行される方法。
【請求項２】
前記宛先装置から時間超過メッセージを受信しなかったことに応答して、前記宛先装置が経路指定のために使用可能になっていないと判断するステップ
をさらに含む、請求項１記載のコンピュータによって実行される方法。
【請求項３】
前記宛先装置の前記物理アドレスが、前記宛先装置内のネットワーク・インターフェース・カードのメディア・アクセス制御アドレスである、請求項１記載のコンピュータによって実行される方法。
【請求項４】
前記データ・パケットが、ソース装置の物理アドレスを含むソース・メディア・アクセス制御フィールドと、前記ソース装置のインターネット・プロトコル・アドレスを含むソース・インターネット・プロトコル・フィールドとをさらに含む、請求項１記載のコンピュータによって実行される方法。
【請求項５】
前記宛先装置が、前記データ・パケット内の前記宛先インターネット・プロトコル・アドレスを検査し、前記データ・パケット内の前記宛先インターネット・プロトコル・アドレスが前記宛先装置の前記インターネット・プロトコル・アドレスと一致するかどうかを判断し、経路指定が前記宛先装置上で使用可能になっている場合に前記データ・パケット内の前記活動時間フィールドの前記値を検査し、前記データ・パケットが時間制限を超過したことを前記値が示す場合に前記ソース・インターネット・プロトコル・アドレス・フィールド内の前記インターネット・プロトコル・アドレスに前記時間超過メッセージを送信する、請求項１記載のコンピュータによって実行される方法。
【請求項６】
経路指定が前記宛先装置上で使用可能になっていない場合に前記宛先装置が前記データ・パケットを廃棄する、請求項５記載のコンピュータによって実行される方法。
【請求項７】
前記宛先装置に関する前記インターネット・プロトコル・アドレスが不明であるときに、前記宛先装置が経路指定のために使用可能になっているという前記判断が実行される、請求項１記載のコンピュータによって実行される方法。
【請求項８】
前記宛先装置のサブネット上の装置に関する前記インターネット・プロトコル・アドレスが不明であるときに、前記宛先装置が経路指定のために使用可能になっているという前記判断が実行される、請求項１記載のコンピュータによって実行される方法。
【請求項９】
前記装置がオフラインになっているかまたは電源遮断されている、請求項８記載のコンピュータによって実行される方法。
【請求項１０】
ｐｉｎｇユーティリティまたはアドレス解決プロトコルのうちの一方を使用して、前記宛先装置の前記物理アドレスが入手される、請求項１記載のコンピュータによって実行される方法。
【請求項１１】
分散ネットワーク内の無許可ルータを検出するためのデータ処理システムであって、
バスと、
前記バスに接続された記憶装置であって、処理装置に実行させるコードを含む記憶装置と、
前記バスに接続された少なくとも１つの管理装置と、
前記バスに接続された通信装置と、
前記バスに接続された処理装置であって、宛先装置の物理アドレスを入手し、少なくとも宛先メディア・アクセス制御フィールド、宛先インターネット・プロトコル・フィールド、および活動時間フィールドを含むデータ・パケットを作成し、前記宛先メディア・アクセス制御フィールドが前記宛先装置の前記物理アドレスを含み、前記宛先インターネット・プロトコル・フィールドが偽インターネット・プロトコル・アドレスを含み、前記活動時間フィールドが前記データ・パケットが時間制限を超えたことを示す値を含み、前記宛先メディア・アクセス制御フィールド内の前記物理アドレスを使用して、前記宛先装置に前記データ・パケットを送信し、前記宛先装置から時間超過メッセージを受信したことに応答して、前記宛先装置が経路指定のために使用可能になっていると判断するために前記コードを実行する、前記処理装置と、
を含む、データ処理システム。
【請求項１２】
分散ネットワーク内の無許可ルータを検出するためのコンピュータ・プログラムであって、
コンピュータによって実行される複数のプログラム・コードとして、
宛先装置の物理アドレスを入手するためのプログラム・コードと、
少なくとも宛先メディア・アクセス制御フィールド、宛先インターネット・プロトコル・フィールド、および活動時間フィールドを含むデータ・パケットを作成するためのプログラム・コードであって、前記宛先メディア・アクセス制御フィールドが前記宛先装置の前記物理アドレスを含み、前記宛先インターネット・プロトコル・フィールドが偽インターネット・プロトコル・アドレスを含み、前記活動時間フィールドが前記データ・パケットが時間制限を超えたことを示す値を含むプログラム・コードと、
前記宛先メディア・アクセス制御フィールド内の前記物理アドレスを使用して、前記宛先装置に前記データ・パケットを送信するためのプログラム・コードと、
前記宛先装置から時間超過メッセージを受信したことに応答して、前記宛先装置が経路指定のために使用可能になっていると判断するためのプログラム・コードと、
を含む、コンピュータ・プログラム。
【請求項１３】
前記宛先装置から時間超過メッセージを受信しなかったことに応答して、前記宛先装置が経路指定のために使用可能になっていないと判断するためのプログラム・コード
をさらに含む、請求項１２記載のコンピュータ・プログラム。
【請求項１４】
前記宛先装置の前記物理アドレスが、前記宛先装置内のネットワーク・インターフェース・カードのメディア・アクセス制御アドレスである、請求項１２記載のコンピュータ・プログラム。
【請求項１５】
前記データ・パケットが、ソース装置の物理アドレスを含むソース・メディア・アクセス制御フィールドと、前記ソース装置のインターネット・プロトコル・アドレスを含むソース・インターネット・プロトコル・フィールドとをさらに含む、請求項１２記載のコンピュータ・プログラム。
【請求項１６】
前記宛先装置が、前記データ・パケット内の前記宛先インターネット・プロトコル・アドレスを検査し、前記データ・パケット内の前記宛先インターネット・プロトコル・アドレスが前記宛先装置の前記インターネット・プロトコル・アドレスと一致するかどうかを判断し、経路指定が前記宛先装置上で使用可能になっている場合に前記データ・パケット内の前記活動時間フィールドの前記値を検査し、前記データ・パケットが時間制限を超過したことを前記値が示す場合に前記ソース・インターネット・プロトコル・アドレス・フィールド内の前記インターネット・プロトコル・アドレスに前記時間超過メッセージを送信する、請求項１２記載のコンピュータ・プログラム。
【請求項１７】
経路指定が前記宛先装置上で使用可能になっていない場合に前記宛先装置が前記データ・パケットを廃棄する、請求項１６記載のコンピュータ・プログラム。
【請求項１８】
前記宛先装置に関する前記インターネット・プロトコル・アドレスが不明であるときに、または前記宛先装置のサブネット上の装置に関する前記インターネット・プロトコル・アドレスが不明であるときに、前記宛先装置が経路指定のために使用可能になっているという前記判断が実行される、請求項１２記載のコンピュータ・プログラム。
【請求項１９】
前記装置がオフラインになっているかまたは電源遮断されている、請求項１８記載のコンピュータ・プログラム。
【請求項２０】
ｐｉｎｇユーティリティまたはアドレス解決プロトコルのうちの一方を使用して、前記宛先装置の前記物理アドレスが入手される、請求項１２記載のコンピュータ・プログラム。
【国際調査報告】
2010541441.tif 000010
2010541441.tif 000011