(57)【特許請求の範囲】
【請求項１】
それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、前記複数のネットワークデバイスの中に含まれているゲートウェイデバイスに割り当てられたＩＰアドレスを推定するアドレス推定システムであって、
前記ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信先を示す送信先ＭＡＣアドレスと、当該パケットの送信先を示す送信先ＩＰアドレスとを対にして抽出する抽出手段と、
ＭＡＣアドレスから、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出すアドレス導出手段と、
前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、前記アドレス導出手段を介してＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定するゲートウェイアドレス推定手段とを備えている
ことを特徴とするアドレス推定システム。
【請求項２】
前記ゲートウェイアドレス推定手段により推定された前記ゲートウェイデバイスのＩＰアドレスにおける最上位バイトの値に基づいて、サブネットマスクを算出するサブネットマスク算出手段を備えている
ことを特徴とする請求項１に記載のアドレス推定システム。
【請求項３】
前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを特定し、該特定したＭＡＣアドレスと対になっているＩＰアドレスと、前記ゲートウェイアドレス推定手段により推定された前記ゲートウェイデバイスのＩＰアドレスとに基づいて、サブネットマスクを算出するサブネットマスク算出手段を備えている
ことを特徴とする請求項１に記載のアドレス推定システム。
【請求項４】
それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、前記複数のネットワークデバイスの中に含まれているゲートウェイデバイスに割り当てられたＩＰアドレスを推定するアドレス推定システムであって、
前記ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信元を示す送信元ＭＡＣアドレスと、当該パケットの送信元を示す送信元ＩＰアドレスとを対にして抽出する抽出手段と、
ＭＡＣアドレスから、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出すアドレス導出手段と、
前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、前記アドレス導出手段を介してＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定するゲートウェイアドレス推定手段と、
前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを特定し、該特定したＭＡＣアドレスと対になっているＩＰアドレスと、前記ゲートウェイアドレス推定手段により推定された前記ゲートウェイデバイスのＩＰアドレスとに基づいて、サブネットマスクを算出するサブネットマスク算出手段と、を備えている
ことを特徴とするアドレス推定システム。
【請求項５】
前記サブネットマスク算出手段は、
ＩＰアドレスと同じビット数で全てのビットが初期値として１になっている値Ａと、
前記ゲートウェイアドレス推定手段により推定された前記ゲートウェイデバイスのＩＰアドレスＢと、
前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを１以上特定し、該特定したＭＡＣアドレスと対になっている１以上のＩＰアドレスＣｎとを利用して、前記ＩＰアドレスＢと前記ＩＰアドレスＣｎとの排他的論理和演算を行って値Ｄを算出する第１手順と、
該第１手順で算出された前記値Ｄの否定演算を行って値Ｅを算出する第２手順と、
該第２手順で算出された前記値Ｅと前記値Ａとの論理積演算を行って値Ｆを算出する第３手順と、
該第３手順で算出された前記値Ｆを新たに前記値Ａとする第４手順と、
前記第１手順から第４手順を前記１以上のＩＰアドレスＣｎの数に基づいて処理させる第５手順とを実行して、最終的に前記第４手順において前記値Ａとされた値をサブネットマスクとする
ことを特徴とする請求項３または請求項４に記載のアドレス推定システム。
【請求項６】
前記ゲートウェイアドレス推定手段により推定された前記ゲートウェイデバイスのＩＰアドレスと、前記サブネットマスク算出手段により算出された前記サブネットマスクとに基づいて、ネットワークアドレスを算出するネットワークアドレス算出手段とを備えている
ことを特徴とする請求項２から５のいずれかに記載のアドレス推定システム。
【請求項７】
ＭＡＣアドレスに対応付けて１以上のＩＰアドレスが登録されるアドレスリストを、異なるＭＡＣアドレス毎に作成する手段であり、前記抽出手段を介して対にして抽出されたＭＡＣアドレスおよびＩＰアドレスが過去に抽出されていない対である場合に、該ＭＡＣアドレスに対応するアドレスリストに当該対になっているＩＰアドレスを登録するアドレスリスト作成手段を更に備え、
前記ゲートウェイアドレス推定手段は、前記アドレスリスト作成手段により作成された前記アドレスリストに基づいて、対になっているＩＰアドレスが複数種類登録されているＭＡＣアドレスを決定し、該決定したＭＡＣアドレスについて、前記アドレス導出手段を介してＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定する
ことを特徴とする請求項１から６のいずれかに記載のアドレス推定システム。
【請求項８】
それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、該ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信先を示す送信先ＭＡＣアドレスと、当該パケットの送信先を示す送信先ＩＰアドレスとを対にして抽出する抽出手段と、
ＭＡＣアドレスから、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出すアドレス導出手段と、
前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、前記アドレス導出手段を介してＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定するゲートウェイアドレス推定手段と、を備えている
ことを特徴とするネットワークデバイス。
【請求項９】
それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、該ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信元を示す送信元ＭＡＣアドレスと、当該パケットの送信元を示す送信元ＩＰアドレスとを対にして抽出する抽出手段と、
ＭＡＣアドレスから、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出すアドレス導出手段と、
前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、前記アドレス導出手段を介してＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定するゲートウェイアドレス推定手段と、
前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを特定し、該特定したＭＡＣアドレスと対になっているＩＰアドレスと、前記ゲートウェイアドレス推定手段により推定された前記ゲートウェイデバイスのＩＰアドレスとに基づいて、サブネットマスクを算出するサブネットマスク算出手段と、を備えている
ことを特徴とするネットワークデバイス。
【請求項１０】
それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、前記複数のネットワークデバイスの中に含まれているゲートウェイデバイスに割り当てられたＩＰアドレスを推定するアドレス推定方法であって、
前記複数のネットワークデバイスのうち、いずれかのネットワークデバイスが、前記ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信先を示す送信先ＭＡＣアドレスと、当該パケットの送信先を示す送信先ＩＰアドレスとを対にして抽出して、該抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定する
ことを特徴とするアドレス推定方法。
【請求項１１】
それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、前記複数のネットワークデバイスの中に含まれているゲートウェイデバイスに割り当てられたＩＰアドレスを推定するアドレス推定方法であって、
前記複数のネットワークデバイスのうち、いずれかのネットワークデバイスが、前記ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信元を示す送信元ＭＡＣアドレスと、当該パケットの送信元を示す送信元ＩＰアドレスとを対にして抽出して、
該抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定して、
前記抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを特定し、該特定したＭＡＣアドレスと対になっているＩＰアドレスと、前記推定された前記ゲートウェイデバイスのＩＰアドレスとに基づいて、サブネットマスクを算出する
ことを特徴とするアドレス推定方法。
【請求項１２】
それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、前記複数のネットワークデバイスの中に含まれているゲートウェイデバイスに割り当てられたＩＰアドレスを推定するアドレス推定プログラムであって、
前記複数のネットワークデバイスのうち、いずれかのネットワークデバイスに、前記ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信先を示す送信先ＭＡＣアドレスと、当該パケットの送信先を示す送信先ＩＰアドレスとを対にして抽出する前記抽出手順と、
ＭＡＣアドレスから、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出すアドレス導出手順と、
前記抽出手順において抽出された複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、前記アドレス導出手順においてＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定するゲートウェイアドレス推定手順と
を実行させるためのアドレス推定プログラム。
【請求項１３】
それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、前記複数のネットワークデバイスの中に含まれているゲートウェイデバイスに割り当てられたＩＰアドレスを推定するアドレス推定プログラムであって、
前記複数のネットワークデバイスのうち、いずれかのネットワークデバイスに、前記ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信元を示す送信元ＭＡＣアドレスと、当該パケットの送信元を示す送信元ＩＰアドレスとを対にして抽出する前記抽出手順と、
ＭＡＣアドレスから、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出すアドレス導出手順と、
前記抽出手順において抽出された複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、前記アドレス導出手順においてＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定するゲートウェイアドレス推定手順と、
前記抽出手順において抽出された複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを特定し、該特定したＭＡＣアドレスと対になっているＩＰアドレスと、前記ゲートウェイアドレス推定手段により推定された前記ゲートウェイデバイスのＩＰアドレスとに基づいて、サブネットマスクを算出するサブネットマスク算出手順と、
を実行させるためのアドレス推定プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークに関する設定項目を推定するために利用されるアドレス推定システムに関する。
【０００２】
【従来の技術】
従来、ネットワークを構成するネットワークデバイスは、ネットワークに関する初期設定を行った上で使用される。初期設定は、例えば、ゲートウェイデバイス（例えば、ルータ）のＩＰアドレスを示すデフォルトゲートウェイ、サブネットマスク、ネットワークデバイス自身に割り当てられているＩＰアドレスなどの設定値を入力することによって行われる。これらの設定値は、通常、利用者がネットワークデバイスの備える操作部（例えば、入力パネルなど）で入力操作を行うことによって入力されていた。しかし、このような入力操作においては、デフォルトゲートウェイ、サブネットマスク、ＩＰアドレスなど多くの設定値を入力しなければならず、操作が面倒で操作の負担が重いという問題があった。
【０００３】
この問題を解決するために特開２０００−１９４５１３号公報には、ネットワークに関する初期設定を行う際に、ネットワーク上を流れるパケットから推測した値を所定の入力欄にあらかじめ入力された状態としておき、設定値として利用するかどうかを利用者に決定させることのできるネットワークデバイスが記載されている。
【０００４】
このネットワークデバイスは、ネットワーク上の通信データを取得することによって、複数のＩＰアドレスを獲得して、ＩＰアドレスの各バイトそれぞれの値として最も多く使用されている値であって、かつ、所定のしきい値以上の割合で使用されている値を、ネットワークアドレスの各バイトそれぞれの値としていくといった方法によって、ネットワークアドレスの値を推定する。ネットワーク内を流れる通信データのうち、同一ネットワーク内のネットワークデバイス間で送受信される通信データにおけるＩＰアドレスは、いずれの通信データであってもネットワークアドレスに対応するビットは同じ値である。また、ホストアドレスは、ネットワークデバイス毎に異なるため、同一のホストアドレスが使用されている割合は全通信データに対して所定のしきい値以上となることは少ない。このようなことから、上述の方法によって自身の属するネットワークにおけるネットワークアドレスを推定することができた。また、ネットワークアドレスがわかれば、ホストアドレスに対応するビット以外のビットを「１」とすることによってサブネットマスクを推定することもできた。
【０００５】
このようなネットワークデバイスによれば、多くの設定値を入力する必要がなくなり、利用者に対する操作の負担を軽減することができた。
【０００６】
【発明が解決しようとする課題】
しかし、このネットワークデバイスでは、第１の問題として、ゲートウェイデバイスのＩＰアドレスを推定することができないという問題があった。また、第２の問題として、次のような理由から設定項目となる値を正確に推定できない恐れがあった。
【０００７】
例えば、図９に示したように、それぞれ複数のネットワークデバイス（以降、単にデバイスとする）からなるネットワークＮａ、Ｎｂが、ルータＡおよびルータＢを介して接続されている場合を例示する。この構成において、ネットワークＮａ内のデバイスａ１から、ネットワークＮｂ内のデバイスｂ１に向かってパケット（ネットワーク上を流れるひとかたまりの通信データ）を送信する場合、デバイスａ１から送信されたパケットは、ルータＡおよびルータＢを経由してデバイスｂ１に到着することになる。このとき、ルータＢからデバイスｂ１に送信されるパケットの送信元ＩＰアドレスはデバイスａ１のＩＰアドレスである。このＩＰアドレスは、ネットワークＮａにおけるＩＰアドレスであるため、このＩＰアドレスのネットワークアドレスは、ネットワークＮｂのネットワークアドレスとは異なっている。ここで、ネットワークＮｂのデバイスｂ２が、ネットワークＮｂ内を流れるパケットを監視している場合、ネットワークＮｂ内のデバイスｂｎ同士で送受信されるパケットの数よりも、ネットワークＮａから送信されてきたパケットの数の方が多いと、デバイスｂ２は、ネットワークＮｂのネットワークアドレスとして、ネットワークＮａのネットワークアドレスを推定してしまう恐れがある。これは、ネットワークＮｂ内を流れるパケットの多くが、ネットワークＮａのネットワークアドレスを持つパケットとなっているからである。
【０００８】
本発明は、上記問題に鑑みてなされたものであり、第１に、ネットワーク内を流れるパケットからゲートウェイデバイスに割り当てられているＩＰアドレスを推定することができ、第２に、ネットワークに関する設定項目となる値を従来よりも正確に推定することができるアドレス推定システム、ネットワークデバイス、アドレス推定方法およびアドレス推定プログラムを提供することを目的とする。
【０００９】
【課題を解決するための手段および発明の効果】
上記第１の問題を解決するため請求項１に記載のアドレス推定システムは、それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、前記複数のネットワークデバイスの中に含まれているゲートウェイデバイスに割り当てられたＩＰアドレスを推定するアドレス推定システムであって、前記ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信先を示す送信先ＭＡＣアドレスと、当該パケットの送信先を示す送信先ＩＰアドレスとを対にして抽出する抽出手段と、ＭＡＣアドレスから、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出すアドレス導出手段と、前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、前記アドレス導出手段を介してＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定するゲートウェイアドレス推定手段とを備えていることを特徴とする。
【００１０】
このアドレス推定システムにおけるゲートウェイデバイスとは、ネットワーク間でパケットを中継するためのネットワークデバイスであって、例えば、ルータなどのネットワークデバイスである。また、抽出手段は、ネットワーク内を流れるパケットに含まれる情報のうち送信先ＭＡＣアドレスおよび送信先ＩＰアドレスを抽出する手段である。
【００１１】
また、アドレス導出手段は、ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出すことができれば、その具体的な構成は特に限定されない。例えば、ネットワークを構成するネットワークデバイスの中に、ＲＡＲＰ（Reverse Address Resolution Protocol）サーバーとして機能するネットワークデバイスが存在している場合、ＲＡＲＰを利用して、ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出すといった構成を採用することができる。また、ＩＰアドレスを導き出す別の構成としては、ＭＡＣアドレスと、このＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスとを対応づけたデータテーブルを用意して、このデータテーブルに基づいてＭＡＣアドレスからＩＰアドレスを導き出すといった構成を採用することもできる。
【００１２】
また、ゲートウェイアドレス推定手段は、抽出手段を介して抽出したＭＡＣアドレスについて、アドレス導出手段を介してＩＰアドレスを導き出し、この導き出されたＩＰアドレスをゲートウェイデバイスに割り当てられているＩＰアドレスであると推定する手段である。
【００１３】
このアドレス推定システムにおけるゲートウェイアドレス推定手段は、まず、抽出手段を介して抽出した複数の送信先ＭＡＣアドレスのうち、対になっている送信先ＩＰアドレスが複数種類存在する送信先ＭＡＣアドレスについて、アドレス導出手段を介してＩＰアドレスを導き出す。ここで、対になっている送信先ＩＰアドレスが複数種類存在する送信先ＭＡＣアドレスとは、抽出手段により抽出された複数の送信先ＭＡＣアドレスのうち、同一の送信先ＭＡＣアドレスに対応する送信先ＩＰアドレスの種類が複数存在する送信先ＭＡＣアドレスのことである。そして、導き出されたＩＰアドレスをゲートウェイデバイスに割り当てられているＩＰアドレスであると推定する。
【００１４】
通常、同一ネットワーク内のネットワークデバイス間で送受信されるパケットの送信先ＭＡＣアドレスおよび送信先ＩＰアドレスは、両方とも送信先のネットワークデバイスのアドレスである。そのため、同一ネットワーク内のネットワークデバイス間で送受信されるパケットは、送信先ＭＡＣアドレスおよび送信先ＩＰアドレスの対が常に同じ組み合わせとなる。一方、ゲートウェイデバイス経由で他のネットワークに向けて送信されるパケットについては、送信先ＩＰアドレスは送信先のネットワークデバイスのＩＰアドレスである。しかし、送信先ＭＡＣアドレスは、パケットをまずゲートウェイデバイスに送信しなければならないことから、ゲートウェイデバイスのＭＡＣアドレスになっている。このように、他のネットワークに向けて送信されるパケットは、送信先ＩＰアドレスとは無関係にゲートウェイデバイスのＭＡＣアドレスが送信先ＭＡＣアドレスとなる。そのため、ゲートウェイデバイス経由で他のネットワークに向けて送信されるパケットは、送信先ＭＡＣアドレスおよび送信先ＩＰアドレスの対が常に同じ組合せとはならない。このことから、同一の送信先ＭＡＣアドレスに対応する送信先ＩＰアドレスの種類が複数存在する送信先ＭＡＣアドレスは、ゲートウェイデバイスのＭＡＣアドレスと推定することができる。よって、こうして推定されたＭＡＣアドレスについて、アドレス導出手段を介して導き出されるＩＰアドレスは、ゲートウェイデバイスのＩＰアドレスであると推定できる。
【００１５】
このように構成されたアドレス推定システムによれば、ネットワーク内を流れるパケットから、ゲートウェイデバイスのＩＰアドレスを推定することができる。
【００１６】
このアドレス推定システムにおけるサブネットマスク算出手段が、サブネットマスクを算出する構成については、特に限定されないが、例えば、請求項２に記載のアドレス推定システムのように、前記ゲートウェイアドレス推定手段により推定された前記ゲートウェイデバイスのＩＰアドレスにおける最上位バイトの値に基づいて、サブネットマスクを算出するサブネットマスク算出手段を備えているとよい。
【００１７】
このアドレス推定システムにおけるサブネットマスク算出手段は、ゲートウェイデバイスのＩＰアドレスにおける最上位バイトの値に基づいて、サブネットマスクを算出する手段である。ＩＰアドレスは、複数のクラスに分類されており、各クラス毎に使用可能な数値範囲と、各クラスにおけるサブネットマスクとが決められている。例えば、クラスＡは、最上位バイトの数値範囲（１０進数）が「１」から「１２７」、サブネットマスクが「255.0.0.0」と決められている。また、クラスＢは、最上位バイトの数値範囲（１０進数）：が「１２８」から「１９１」、サブネットマスクが「255.255.0.0」と決められている。さらに、クラスＣは、最上位バイトの数値範囲（１０進数）が「１９２」から「２２３」、サブネットマスクが「255.255.255.0」と決められている。
【００１８】
このことから、サブネットマスク算出手段は、上述のような各クラス毎に決められた使用可能な数値範囲およびサブネットマスクに基づいて、サブネットマスクを算出する。例えば、ＩＰアドレスの最上位バイトが、「１」から「１２７」までの間の値であれば、サブネットマスクを「255.0.0.0」とする。また、最上位バイトが、「１２８」から「１９１」までの間の値であれば、サブネットマスクを「255.255.0.0」とする。また、最上位バイトが、「１９２」から「２２３」までの間の値であれば、サブネットマスクを「255.255.0.0」とする。
【００１９】
このように構成されたアドレス推定システムによれば、サブネットマスク算出手段によって、ゲートウェイデバイスのＩＰアドレスからサブネットマスクを算出することができる。
【００２０】
また、上記第２の問題を解決するため請求項３に記載のアドレス推定システムは、前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを特定し、該特定したＭＡＣアドレスと対になっているＩＰアドレスと、前記ゲートウェイアドレス推定手段により推定された前記ゲートウェイデバイスのＩＰアドレスとに基づいて、サブネットマスクを算出するサブネットマスク算出手段を備えていることを特徴とする。
【００２１】
このアドレス推定システムにおけるサブネットマスク算出手段は、対になっているＩＰアドレスが単一であるＭＡＣアドレスと、ゲートウェイアドレス推定手段により推定されたゲートウェイデバイスのＩＰアドレスとに基づいてサブネットマスクを算出する手段である。ここで、対になっているＩＰアドレスが単一であるＭＡＣアドレスとは、抽出手段により抽出された複数のＭＡＣアドレスのうち、同一のＭＡＣアドレスに対応するＩＰアドレスの種類が１種類のみとなっているＭＡＣアドレスのことである。このようなＭＡＣアドレスは、抽出手段により複数のＭＡＣアドレスが抽出されたにも拘わらず、対応するＩＰアドレスが１種類のみのＭＡＣアドレスである。これは、ＭＡＣアドレスおよびＩＰアドレスの対が常に同じ組み合わせとなるパケットから抽出されたＭＡＣアドレス、つまり、同一ネットワーク内のネットワークデバイス間で送受信されるパケットから抽出されたＭＡＣアドレスであることを示している。
【００２２】
また、上記第１，第２の問題を解決するため請求項４に記載のアドレス推定システムは、それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、前記複数のネットワークデバイスの中に含まれているゲートウェイデバイスに割り当てられたＩＰアドレスを推定するアドレス推定システムであって、前記ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信元を示す送信元ＭＡＣアドレスと、当該パケットの送信元を示す送信元ＩＰアドレスとを対にして抽出する抽出手段と、ＭＡＣアドレスから、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出すアドレス導出手段と、前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、前記アドレス導出手段を介してＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定するゲートウェイアドレス推定手段と、前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを特定し、該特定したＭＡＣアドレスと対になっているＩＰアドレスと、前記ゲートウェイアドレス推定手段により推定された前記ゲートウェイデバイスのＩＰアドレスとに基づいて、サブネットマスクを算出するサブネットマスク算出手段と、を備えていることを特徴とする。
【００２３】
このアドレス推定システムにおけるゲートウェイデバイスとは、請求項１におけるゲートウェイデバイスと同様のネットワークデバイスである。また、抽出手段は、ネットワーク内を流れるパケットに含まれる情報のうち送信元ＭＡＣアドレスおよび送信元ＩＰアドレスを抽出する手段である。
【００２４】
また、アドレス導出手段は、請求項１におけるアドレス導出手段と同様に、ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出す手段である。また、ゲートウェイアドレス推定手段は、請求項１におけるゲートウェイアドレス推定手段と同様に、ゲートウェイデバイスに割り当てられているＩＰアドレスを推定する手段である。
【００２５】
このアドレス推定システムにおけるゲートウェイアドレス推定手段は、まず、抽出手段を介して抽出した複数の送信元ＭＡＣアドレスのうち、対になっている送信元ＩＰアドレスが複数種類存在する送信元ＭＡＣアドレスについて、アドレス導出手段を介してＩＰアドレスを導き出す。ここで、対になっている送信元ＩＰアドレスが複数種類存在する送信元ＭＡＣアドレスとは、抽出手段により抽出された複数の送信元ＭＡＣアドレスのうち、同一の送信元ＭＡＣアドレスに対応する送信元ＩＰアドレスの種類が複数存在する送信元ＭＡＣアドレスのことである。そして、導き出されたＩＰアドレスをゲートウェイデバイスに割り当てられているＩＰアドレスであると推定する。
【００２６】
通常、同一ネットワーク内のネットワークデバイス間で送受信されるパケットの送信元ＭＡＣアドレスおよび送信元ＩＰアドレスは、両方とも送信元のネットワークデバイスのアドレスである。そのため、同一ネットワーク内のネットワークデバイス間で送受信されるパケットは、送信元ＭＡＣアドレスおよび送信元ＩＰアドレスの対が常に同じ組み合わせとなる。一方、ゲートウェイデバイス経由で他のネットワークから送信されてくるパケットについては、送信元ＩＰアドレスは送信元のネットワークデバイスのＩＰアドレスである。しかし、送信元ＭＡＣアドレスは、パケットがゲートウェイデバイスを通過する際、送信元のネットワークデバイスのＭＡＣアドレスからゲートウェイデバイスのＭＡＣアドレスに変換される。このように、他のネットワークから送信されてくるパケットは、送信元ＩＰアドレスとは無関係にゲートウェイデバイスのＭＡＣアドレスが送信元ＭＡＣアドレスになる。そのため、ゲートウェイデバイス経由で他のネットワークから送信されてくるパケットは、送信元ＭＡＣアドレスおよび送信元ＩＰアドレスの対が常に同じ組合せにはならない。このことから、同一の送信元ＭＡＣアドレスに対応する送信元ＩＰアドレスの種類が複数存在する送信元ＭＡＣアドレスは、ゲートウェイデバイスのＭＡＣアドレスと推定することができる。よって、こうして推定されたＭＡＣアドレスについて、アドレス導出手段を介して導き出されるＩＰアドレスは、ゲートウェイデバイスのＩＰアドレスであると推定できる。
【００２７】
また、このアドレス推定システムにおけるサブネットマスク算出手段は、対になっているＩＰアドレスが単一であるＭＡＣアドレスと、ゲートウェイアドレス推定手段により推定されたゲートウェイデバイスのＩＰアドレスとに基づいてサブネットマスクを算出する手段である。ここで、対になっているＩＰアドレスが単一であるＭＡＣアドレスとは、抽出手段により抽出された複数のＭＡＣアドレスのうち、同一のＭＡＣアドレスに対応するＩＰアドレスの種類が１種類のみとなっているＭＡＣアドレスのことである。このようなＭＡＣアドレスは、抽出手段により複数のＭＡＣアドレスが抽出されたにも拘わらず、対応するＩＰアドレスが１種類のみのＭＡＣアドレスである。これは、ＭＡＣアドレスおよびＩＰアドレスの対が常に同じ組み合わせとなるパケットから抽出されたＭＡＣアドレス、つまり、同一ネットワーク内のネットワークデバイス間で送受信されるパケットから抽出されたＭＡＣアドレスであることを示している。
【００２８】
このように構成されたアドレス推定システムによれば、ネットワーク内を流れるパケットから、ゲートウェイデバイスのＩＰアドレスを推定することができる。
【００２９】
なお、上述したアドレス推定システムにおいては、アドレス導出手段を介してＩＰアドレスを導き出す対象として、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスを利用するように構成されている。しかし、このアドレス導出手段を介してＩＰアドレスを導き出す対象としては、対になっているＩＰアドレスが最も多いＭＡＣアドレスを利用するように構成してもよい。ここで、対になっているＩＰアドレスが最も多いＭＡＣアドレスとは、抽出手段により抽出された複数のＭＡＣアドレスのうち、同一のＭＡＣアドレスに対応するＩＰアドレスの種類が最も多いＭＡＣアドレスのことである。
【００３０】
また、上述した請求項３，請求項４に記載のアドレス推定システムにおいて、サブネットマスク算出手段がサブネットマスクを算出する構成については、特に限定されないが、例えば、請求項５に記載のアドレス推定システムのように、前記サブネットマスク算出手段は、ＩＰアドレスと同じビット数で全てのビットが初期値として１になっている値Ａと、前記ゲートウェイアドレス推定手段により推定された前記ゲートウェイデバイスのＩＰアドレスＢと、前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを１以上特定し、該特定したＭＡＣアドレスと対になっている１以上のＩＰアドレスＣｎとを利用して、前記ＩＰアドレスＢと前記ＩＰアドレスＣｎとの排他的論理和演算を行って値Ｄを算出する第１手順と、該第１手順で算出された前記値Ｄの否定演算を行って値Ｅを算出する第２手順と、該第２手順で算出された前記値Ｅと前記値Ａとの論理積演算を行って値Ｆを算出する第３手順と、該第３手順で算出された前記値Ｆを新たに前記値Ａとする第４手順と、前記第１手順から第４手順を前記１以上のＩＰアドレスＣｎの数に基づいて処理させる第５手順とを実行して、最終的に前記第４手順において前記値Ａとされた値をサブネットマスクとするように構成すればよい。
【００３１】
このアドレス推定システムでは、サブネットマスク算出手段によって、次のような手順でサブネットマスクが算出される。なお、以降に示すＩＰアドレスＣｎの添え字は、複数あるＩＰアドレスの通し番号を示すものである。また、各値（ＤからＦ）の添え字については、第１から第４手順までの手順が何回目に実行された際に算出された値であるかを示すものである。なお、初期値として全てのビットが「１」となっている値Ａは、値Ａ０とする。
【００３２】
まず、第１手順として、ＩＰアドレスＢとＩＰアドレスＣｎとの排他的論理和演算を行うことによって、両者を構成する各ビットのうち、値が一致しないビットが「１」となった値Ｄが算出される（Ｄｎ＝(Ｂ)xor(Ｃｎ））。次に、第２手順として、第１手順で算出された値Ｄｎの否定演算を行うことによって、ＩＰアドレスＢおよびＩＰアドレスＣｎを構成する各ビットのうち、値が一致するビットが「１」となった値Ｅが算出される（Ｅｎ＝not(Ｄｎ)）。
【００３３】
ＩＰアドレスＣｎは、同一のＭＡＣアドレスに対応するＩＰアドレスが１種類のみのＭＡＣアドレスに対応するＩＰアドレスである。このようなＩＰアドレスは、同一ネットワーク内のネットワークデバイス間で送受信されるパケットから抽出されたものである。一方、ＩＰアドレスＢは、ゲートウェイデバイスのＩＰアドレスである。これらのことから、ＩＰアドレスＣｎおよびＩＰアドレスＢは、それぞれ同一ネットワーク内で使用されているＩＰアドレスということになる。そのため、ＩＰアドレスＢとＩＰアドレスＣｎとを構成する各ビットのうち、少なくともネットワークアドレスに対応するビットについては、同じ値になっているはずである。そのため、第２手順により算出された値Ｅｎは、ＩＰアドレスＢおよびＩＰアドレスＣｎの少なくともネットワークアドレスに対応するビットが「１」となっている値ということになる。しかし、この段階では、ホストアドレスに対応する各ビットのうち値が一致してしまっているビットが存在している可能性がある。そのため、以降の手順によって、ホストアドレスに対応する各ビットを「０」としていくことになる。
【００３４】
次に、第３手順として、第２手順で算出された値Ｅｎと値Ａn-1との論理積演算を行うことによって、値Ｅｎおよび値Ａn-1をそれぞれ構成するビットのうち、両者共に「１」となっているビットが「１」となった値Ｆｎが算出される（Ｆｎ＝(Ｅｎ)and(Ａn-1)）。
【００３５】
次に、第４手順として、第３手順で算出された値Ｆｎを新たに値Ａｎとする（Ａ１←Ｆｎ）。こうして値Ａｎにセットされる値は、サブネットマスクの候補となる値である。そして、第５手順として、第１手順から第４手順をＩＰアドレスＣｎの数に基づいて処理させて、最終的に第４手順において値Ａｎとされた値をサブネットマスクとする。この第５手順では、第１手順から第４手順までの手順がＩＰアドレスＣ１から順番にＩＰアドレスＣｎまで繰り返されることになる。
【００３６】
ＩＰアドレスＣ１からＩＰアドレスＣｎは、ネットワークアドレスは同じであるが、ホストアドレスがそれぞれ異なっている。そのため、この第５手順において、第１手順から第４手順までの手順がＩＰアドレスＣ１から順番にＩＰアドレスＣｎまで繰り返すことによって、最終的には、ホストアドレスに対応するビットが「０」となった値Ａｎが算出される。この値Ａｎには、ネットワークアドレスに対応するビットのみが「１」となったものであり、サブネットマスクがセットされていることになる。
【００３７】
このように構成されたアドレス推定システムによれば、サブネットマスク算出手段によって、同一ネットワーク内のネットワークデバイス間で送受信されるパケットから抽出されたＩＰアドレスＣｎを利用してサブネットマスクを算出することができる。よって、同一ネットワーク内のネットワークデバイス間で送受信されるパケットより、他のネットワークに向けて送信される、または、他のネットワークから送信されてくるパケットの数が多くても、ネットワークに関する設定項目であるサブネットマスクを従来よりも正確に推定することができる。
【００３８】
また、請求項６に記載のアドレス推定システムは、前記ゲートウェイアドレス推定手段により推定された前記ゲートウェイデバイスのＩＰアドレスと、前記サブネットマスク算出手段により算出された前記サブネットマスクとに基づいて、ネットワークアドレスを算出するネットワークアドレス算出手段とを備えていることを特徴とする。
【００３９】
このアドレス推定システムにおけるネットワークアドレス算出手段は、ゲートウェイデバイスのＩＰアドレスと、サブネットマスクとの論理積演算を行うことによってネットワークアドレスを算出する手段である。このように構成されたアドレス推定システムによれば、ゲートウェイデバイスのＩＰアドレスと、サブネットマスクとに基づいて、ネットワークアドレスを算出することができる。
【００４０】
また、請求項７に記載のアドレス推定システムは、ＭＡＣアドレスに対応付けて１以上のＩＰアドレスが登録されるアドレスリストを、異なるＭＡＣアドレス毎に作成する手段であり、前記抽出手段を介して対にして抽出されたＭＡＣアドレスおよびＩＰアドレスが過去に抽出されていない対である場合に、該ＭＡＣアドレスに対応するアドレスリストに当該対になっているＩＰアドレスを登録するアドレスリスト作成手段を更に備え、前記ゲートウェイアドレス推定手段は、前記アドレスリスト作成手段により作成された前記アドレスリストに基づいて、対になっているＩＰアドレスが複数種類登録されているＭＡＣアドレスを決定し、該決定したＭＡＣアドレスについて、前記アドレス導出手段を介してＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定することを特徴とする。
【００４１】
このアドレス推定システムにおけるアドレスリストは、ＭＡＣアドレスに対して１種類以上のＩＰアドレスを対応づけた状態で登録するリストである。また、アドレスリスト作成手段は、抽出手段を介して抽出されたＭＡＣアドレスおよびＩＰアドレスの対が過去に抽出されていない対である場合に、抽出されたＭＡＣアドレスに対応するアドレスリストに、抽出されたＩＰアドレスを登録する手段である。
【００４２】
このアドレス推定システムにおいて、ゲートウェイアドレス推定手段は、まず、アドレスリスト作成手段により作成されたアドレスリストに基づいて、対になっているＩＰアドレスが複数種類登録されているＭＡＣアドレスを決定する。ここで、対になっているＩＰアドレスが複数種類登録されているＭＡＣアドレスとは、複数のアドレスリストのうち登録されているＩＰアドレスの種類が複数存在するアドレスリストに対応するＭＡＣアドレスのことである。そして、こうして決定されたＭＡＣアドレスについて、アドレス導出手段を介してＩＰアドレスを導き出し、導き出されたＩＰアドレスを、ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定する。
【００４３】
このように構成されたアドレス推定システムによれば、抽出手段を介して抽出されたＭＡＣアドレスおよびＩＰアドレスの対が過去に抽出されていない対である場合に、抽出されたＭＡＣアドレスに対応するアドレスリストに、抽出されたＩＰアドレスが登録される。そのため、各アドレスリストに登録されたＩＰアドレスの種類に基づいて、対になっているＩＰアドレスが複数種類登録されているＭＡＣアドレスを、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスとして決定することができる。
【００４４】
なお、この請求項７に記載のアドレス推定システムにおいては、アドレス導出手段を介してＩＰアドレスを導き出す対象として、対になっているＩＰアドレスが複数種類登録されているＭＡＣアドレスを利用するように構成されている。しかし、アドレス導出手段を介してＩＰアドレスを導き出す対象として、対になっているＩＰアドレスが最も多く登録されているＭＡＣアドレスを利用するように構成してもよい。ここで、対になっているＩＰアドレスが最も多く登録されているＭＡＣアドレスとは、複数のアドレスリストのうち登録されているＩＰアドレスの種類が最も多いアドレスリストに対応するＭＡＣアドレスのことである。
【００４５】
また、請求項８に記載のネットワークデバイスは、それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、該ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信先を示す送信先ＭＡＣアドレスと、当該パケットの送信先を示す送信先ＩＰアドレスとを対にして抽出する抽出手段と、ＭＡＣアドレスから、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出すアドレス導出手段と、前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、前記アドレス導出手段を介してＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定するゲートウェイアドレス推定手段と、を備えている。
【００４６】
また、請求項９に記載のネットワークデバイスは、それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、該ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信元を示す送信元ＭＡＣアドレスと、当該パケットの送信元を示す送信元ＩＰアドレスとを対にして抽出する抽出手段と、ＭＡＣアドレスから、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出すアドレス導出手段と、前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、前記アドレス導出手段を介してＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定するゲートウェイアドレス推定手段と、前記抽出手段を介して抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを特定し、該特定したＭＡＣアドレスと対になっているＩＰアドレスと、前記ゲートウェイアドレス推定手段により推定された前記ゲートウェイデバイスのＩＰアドレスとに基づいて、サブネットマスクを算出するサブネットマスク算出手段と、を備えている。
【００４７】
また、請求項１０に記載のアドレス推定方法は、それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、前記複数のネットワークデバイスの中に含まれているゲートウェイデバイスに割り当てられたＩＰアドレスを推定するアドレス推定方法であって、前記複数のネットワークデバイスのうち、いずれかのネットワークデバイスが、前記ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信先を示す送信先ＭＡＣアドレスと、当該パケットの送信先を示す送信先ＩＰアドレスとを対にして抽出して、該抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定することを特徴とする。
【００４８】
このような方法によって、ゲートウェイデバイスに割り当てられているＩＰアドレスを推定するネットワークデバイスは、上述した請求項１に記載のアドレス推定システムの一部を構成することができる。そのため、同アドレス推定システムと同様の作用、効果を得ることができる。
【００４９】
また、前記推定された前記ゲートウェイデバイスのＩＰアドレスにおける最上位バイトの値に基づいて、サブネットマスクを算出してもよい。このような方法によって、ゲートウェイデバイスに割り当てられているＩＰアドレスを推定するネットワークデバイスは、上述した請求項２に記載のアドレス推定システムの一部を構成することができる。そのため、同アドレス推定システムと同様の作用、効果を得ることができる。
【００５０】
また、前記抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを特定し、該特定したＭＡＣアドレスと対になっているＩＰアドレスと、前記推定された前記ゲートウェイデバイスのＩＰアドレスとに基づいて、サブネットマスクを算出してもよい。
【００５１】
このような方法によって、ゲートウェイデバイスに割り当てられているＩＰアドレスを推定するネットワークデバイスは、上述した請求項３に記載のアドレス推定システムの一部を構成することができる。そのため、同アドレス推定システムと同様の作用、効果を得ることができる。
【００５２】
また、請求項１１に記載のアドレス推定方法は、それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、前記複数のネットワークデバイスの中に含まれているゲートウェイデバイスに割り当てられたＩＰアドレスを推定するアドレス推定方法であって、前記複数のネットワークデバイスのうち、いずれかのネットワークデバイスが、前記ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信元を示す送信元ＭＡＣアドレスと、当該パケットの送信元を示す送信元ＩＰアドレスとを対にして抽出して、該抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定して、前記抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを特定し、該特定したＭＡＣアドレスと対になっているＩＰアドレスと、前記推定された前記ゲートウェイデバイスのＩＰアドレスとに基づいて、サブネットマスクを算出することを特徴とする。
【００５３】
このような方法によって、ゲートウェイデバイスに割り当てられているＩＰアドレスを推定するネットワークデバイスは、上述した請求項４に記載のアドレス推定システムの一部を構成することができる。そのため、同アドレス推定システムと同様の作用、効果を得ることができる。
【００５４】
また、上述した各アドレス推定方法において、ＩＰアドレスと同じビット数で全てのビットが初期値として１になっている値Ａと、前記推定された前記ゲートウェイデバイスのＩＰアドレスＢと、前記抽出した複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを１以上特定し、該特定したＭＡＣアドレスと対になっている１以上のＩＰアドレスＣｎとを利用して、前記ＩＰアドレスＢと前記ＩＰアドレスＣｎとの排他的論理和演算を行って値Ｄを算出する第１手順と、該第１手順で算出された前記値Ｄの否定演算を行って値Ｅを算出する第２手順と、該第２手順で算出された前記値Ｅと前記値Ａとの論理積演算を行って値Ｆを算出する第３手順と、該第３手順で算出された前記値Ｆを新たに前記値Ａとする第４手順と、前記第１手順から第４手順を前記１以上のＩＰアドレスＣｎの数に基づいて処理させる第５手順とを実行して、最終的に前記第４手順において前記値Ａとされた値をサブネットマスクとしてもよい。
【００５５】
このような方法によって、ゲートウェイデバイスに割り当てられているＩＰアドレスを推定するネットワークデバイスは、上述した請求項５に記載のアドレス推定システムの一部を構成することができる。そのため、同アドレス推定システムと同様の作用、効果を得ることができる。
【００５６】
また、前記推定された前記ゲートウェイデバイスのＩＰアドレスと、前記算出された前記サブネットマスクとに基づいて、ネットワークアドレスを算出してもよい。このような方法によって、ゲートウェイデバイスに割り当てられているＩＰアドレスを推定するネットワークデバイスは、上述した請求項６に記載のアドレス推定システムの一部を構成することができる。そのため、同アドレス推定システムと同様の作用、効果を得ることができる。
【００５７】
また、前記ネットワーク内を流れるパケットに含まれる情報の内、当該パケットのＭＡＣアドレスと、当該パケットの送信元ＩＰアドレスとを対にして抽出し、該抽出されたＭＡＣアドレスおよびＩＰアドレスが過去に抽出されていない対である場合に、当該抽出されたＭＡＣアドレスに対応するアドレスリストに、当該抽出されたＩＰアドレスを登録していき、前記アドレスリストに基づいて、対になっているＩＰアドレスが複数種類登録されているＭＡＣアドレスを決定し、該決定したＭＡＣアドレスのＩＰアドレスを導き出し、該導き出したＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定してもよい。
【００５８】
このような方法によって、ゲートウェイデバイスに割り当てられているＩＰアドレスを推定するネットワークデバイスは、上述した請求項７に記載のアドレス推定システムの一部を構成することができる。そのため、同アドレス推定システムと同様の作用、効果を得ることができる。
【００５９】
また、請求項１２に記載のアドレス推定プログラムは、それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、前記複数のネットワークデバイスの中に含まれているゲートウェイデバイスに割り当てられたＩＰアドレスを推定するアドレス推定プログラムであって、前記複数のネットワークデバイスのうち、いずれかのネットワークデバイスに、前記ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信先を示す送信先ＭＡＣアドレスと、当該パケットの送信先を示す送信先ＩＰアドレスとを対にして抽出する前記抽出手順と、ＭＡＣアドレスから、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出すアドレス導出手順と、前記抽出手順において抽出された複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、前記アドレス導出手順においてＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定するゲートウェイアドレス推定手順とを実行させるためのプログラムである。
【００６０】
このようなプログラムによって制御されるネットワークデバイスは、上述した請求項１に記載のアドレス推定システムの一部を構成することができる。そのため、同アドレス推定システムと同様の作用、効果を得ることができる。
【００６１】
また、前記ゲートウェイアドレス推定手順において推定された前記ゲートウェイデバイスのＩＰアドレスにおける最上位バイトの値に基づいて、サブネットマスクを算出するサブネットマスク算出手順を実行させるためのプログラムとしてもよい。
【００６２】
このようなプログラムによって制御されるネットワークデバイスは、上述した請求項２に記載のアドレス推定システムの一部を構成することができる。そのため、同アドレス推定システムと同様の作用、効果を得ることができる。
【００６３】
また、前記抽出手順において抽出された複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを特定し、該特定したＭＡＣアドレスと対になっているＩＰアドレスと、前記ゲートウェイアドレス推定手順において推定された前記ゲートウェイデバイスのＩＰアドレスとに基づいて、サブネットマスクを算出するサブネットマスク算出手順を実行させるためのプログラムとしてもよい。
【００６４】
このようなプログラムによって制御されるネットワークデバイスは、上述した請求項３に記載のアドレス推定システムの一部を構成することができる。そのため、同アドレス推定システムと同様の作用、効果を得ることができる。
【００６５】
また、請求項１３に記載のアドレス推定プログラムは、それぞれが固有のＭＡＣアドレスを持っている複数のネットワークデバイスに対して互いに異なるＩＰアドレスを割り当て、前記ネットワークデバイス間でインターネットプロトコルを利用した通信を行うネットワークにおいて、前記複数のネットワークデバイスの中に含まれているゲートウェイデバイスに割り当てられたＩＰアドレスを推定するアドレス推定プログラムであって、前記複数のネットワークデバイスのうち、いずれかのネットワークデバイスに、前記ネットワーク内を流れるパケットに含まれる情報の内、当該パケットの送信元を示す送信元ＭＡＣアドレスと、当該パケットの送信元を示す送信元ＩＰアドレスとを対にして抽出する前記抽出手順と、ＭＡＣアドレスから、該ＭＡＣアドレスによって特定されるネットワークデバイスに割り当てられたＩＰアドレスを導き出すアドレス導出手順と、前記抽出手順において抽出された複数のＭＡＣアドレスの内、対になっているＩＰアドレスが複数種類存在するＭＡＣアドレスについて、前記アドレス導出手順においてＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定するゲートウェイアドレス推定手順と、前記抽出手順において抽出された複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを特定し、該特定したＭＡＣアドレスと対になっているＩＰアドレスと、前記ゲートウェイアドレス推定手段により推定された前記ゲートウェイデバイスのＩＰアドレスとに基づいて、サブネットマスクを算出するサブネットマスク算出手順と、を実行させるためのプログラムである。
【００６６】
このようなプログラムによって制御されるネットワークデバイスは、上述した請求項４に記載のアドレス推定システムの一部を構成することができる。そのため、同アドレス推定システムと同様の作用、効果を得ることができる。
【００６７】
また、前記サブネットマスク算出手順として、ＩＰアドレスと同じビット数で全てのビットが初期値として１になっている値Ａと、前記ゲートウェイアドレス推定手順において推定された前記ゲートウェイデバイスのＩＰアドレスＢと、前記抽出手順において抽出された複数のＭＡＣアドレスの内、対になっているＩＰアドレスが単一であるＭＡＣアドレスを１以上特定し、該特定したＭＡＣアドレスと対になっている１以上のＩＰアドレスＣｎとを利用して、前記ＩＰアドレスＢと前記ＩＰアドレスＣｎとの排他的論理和演算を行って値Ｄを算出する第１手順と、該第１手順で算出された前記値Ｄの否定演算を行って値Ｅを算出する第２手順と、該第２手順で算出された前記値Ｅと前記値Ａとの論理積演算を行って値Ｆを算出する第３手順と、該第３手順で算出された前記値Ｆを新たに前記値Ａとする第４手順と、前記第１手順から第４手順を前記１以上のＩＰアドレスＣｎの数に基づいて処理させる第５手順とを実行させて、最終的に前記第４手順において前記値Ａとされた値がサブネットマスクとなるプログラムとしてもよい。
【００６８】
このようなプログラムによって制御されるネットワークデバイスは、上述した請求項５に記載のアドレス推定システムの一部を構成することができる。そのため、同アドレス推定システムと同様の作用、効果を得ることができる。
【００６９】
また、前記ゲートウェイアドレス推定手順において推定された前記ゲートウェイデバイスのＩＰアドレスと、前記サブネットマスク算出手順において算出された前記サブネットマスクとに基づいて、ネットワークアドレスを算出するネットワークアドレス算出手順を実行させるためのプログラムとしてもよい。
【００７０】
このようなプログラムによって制御されるネットワークデバイスは、上述した請求項６に記載のアドレス推定システムの一部を構成することができる。そのため、同アドレス推定システムと同様の作用、効果を得ることができる。
【００７１】
また、ＭＡＣアドレスに対応付けて１以上のＩＰアドレスが登録されるアドレスリストを、異なるＭＡＣアドレス毎に作成する手順であり、前記抽出手順において対にして抽出されたＭＡＣアドレスおよびＩＰアドレスが過去に抽出されていない対である場合に、該ＭＡＣアドレスに対応するアドレスリストに当該対になっているＩＰアドレスを登録するアドレスリスト作成手順を実行させるためのアドレス推定プログラムであって、前記ゲートウェイアドレス推定手順によって、前記アドレスリスト作成手順において作成された前記アドレスリストに基づいて、対になっているＩＰアドレスが複数種類登録されているＭＡＣアドレスを決定し、該決定されたＭＡＣアドレスについて、前記アドレス導出手順においてＩＰアドレスを導き出し、該導き出されたＩＰアドレスを、前記ゲートウェイデバイスに割り当てられているＩＰアドレスであると推定するプログラムとしてもよい。
【００７２】
このようなプログラムによって制御されるネットワークデバイスは、上述した請求項７に記載のアドレス推定システムの一部を構成することができる。そのため、同アドレス推定システムと同様の作用、効果を得ることができる。
【００７３】
なお、上述した請求項１２および請求項１３に記載したアドレス推定プログラムは、例えば、ＣＤ−ＲＯＭなどの記憶媒体、インターネットなどの通信回線を介して利用者に提供されるものである。
【００７４】
【発明の実施の形態】
次に本発明の実施の形態について例を挙げて説明する。
［第１実施形態］
［全体構成］
ネットワークプリンタ（以降、単にプリンタとする）１は、図１に示すように、ルータ２０、ＲＡＲＰ（Reverse Address Resolution Protocol）サーバーとして機能するコン
ピュータシステム（以降、単にＲＡＲＰサーバーとする）３０、および、複数のパーソナルコンピュータ４０などのネットワークデバイスと共にネットワークＮ１を構成するネットワークデバイスである。また、このネットワークＮ１は、ルータ２０を介してネットワークＮ２に接続されている。
【００７５】
このプリンタ１は、制御装置１１、記憶装置１２、通信装置１３、表示装置１４、入力パネル１５などを備えている。また、プリンタ１には、ＲＡＲＰを利用して、ＭＡＣアドレスからこのＭＡＣアドレスを持つネットワークデバイスに割り当てられているＩＰアドレスを特定可能なアプリケーションソフトが組み込まれている。このアプリケーションソフトの機能によって、プリンタ１が、ＭＡＣアドレスを含むデータであるＲＡＲＰリクエストをＲＡＲＰサーバー３０に送信すると、ＲＡＲＰリクエストを受信したＲＡＲＰサーバー３０が、ＲＡＲＰリクエストに含まれるＭＡＣアドレスに基づいて、このＭＡＣアドレスを持つネットワークデバイスのＩＰアドレスを特定し、特定したＩＰアドレスを含むデータであるＲＡＲＰレスポンスをプリンタ１に返信する。こうして、プリンタ１は、ＭＡＣアドレスからこのＭＡＣアドレスを持つネットワークデバイスに割り当てられているＩＰアドレスを特定することができる。なお、このようにＲＡＲＰを利用して、ＭＡＣアドレスを持つネットワークデバイスに割り当てられているＩＰアドレスを特定するプリンタ１０は、本発明におけるアドレス導出手段として機能するものである。
【００７６】
なお、このプリンタ１は、本発明におけるアドレス推定システムを有するネットワークデバイスである。［制御装置１１によるネットワーク設定処理］まず、プリンタ１の備える制御装置１１が実行するネットワーク設定処理を図２に基づいて説明する。このネットワーク設定処理は、入力パネル１５によってネットワーク設定処理を開始するための操作が実行された後に開始される。
【００７７】
まず、制御装置１１は、パケット収集開始処理を行う（ｓ１１）。この処理においては、プリンタ１が、プリンタ１宛（ブロードキャストおよびマルチキャストを含む）のパケットのみを受信する通常状態から、プリンタ１宛を含む全てのパケットを受信するパケット収集状態となる。
【００７８】
次に、制御装置１１は、タイマーをスタートさせる（ｓ１２）。次に、制御装置１１は、タイマーがあらかじめ設定された時間（本実施形態においては、３０ｓｅｃ）に到達したかどうかをチェックする（ｓ１３）。このｓ１３の処理において、タイマーが設定された時間に到達していない場合（ｓ１３：ＮＯ）、制御装置１１は、パケットを受信するまで待機して（ｓ１４：ＮＯ）、パケットを受信したら（ｓ１４：ＹＥＳ）、アドレスリスト作成処理を行う（ｓ１５）。この処理は、ＭＡＣアドレスに対して１種類以上のＩＰアドレスが登録されるアドレスリストを、ｓ１４の処理で受信したパケットの送信元ＭＡＣアドレスおよび送信元ＩＰアドレスに基づいて作成する処理である。この処理では、まず、ｓ１４の処理で受信したパケットの送信元ＭＡＣアドレスに対応するアドレスリストが存在しなければ、対応するアドレスリストが作成される。そして、パケットの送信元ＭＡＣアドレスに対応するアドレスリストに、このパケットの送信元ＩＰアドレスが登録される（図５参照）。なお、詳細な処理手順については、後述の［制御装置１１のアドレスリスト作成処理］において説明する。
【００７９】
次に、制御装置１１は、ｓ１５の処理で作成されたアドレスリストのうち、２種類以上のＩＰアドレスが登録されているアドレスリストが存在しているかどうかをチェックする（ｓ１６）。このｓ１６の処理で、２種類以上のＩＰアドレスが登録されているアドレスリストが存在していれば（ｓ１６：ＹＥＳ）、制御装置１１は、２種類以上のＩＰアドレスが登録されているアドレスリストに対応するＭＡＣアドレスから、このＭＡＣアドレスを持つネットワークデバイスに割り当てられているＩＰアドレスを特定する（ｓ１７）。
【００８０】
通常、ネットワークＮ１内のネットワークデバイス間で送受信されるパケットの送信元ＭＡＣアドレスおよび送信元ＩＰアドレスは、両方とも送信元のネットワークデバイスのアドレスである。そのため、ネットワークＮ１内のネットワークデバイス間で送受信されるパケットは、送信元ＭＡＣアドレスおよび送信元ＩＰアドレスの対が常に同じ組み合わせとなる。一方、ルータ２０経由で他のネットワークＮ２から送信されてくるパケットについては、送信元ＩＰアドレスは送信元のネットワークデバイスのＩＰアドレスである。しかし、送信元ＭＡＣアドレスはパケットがルータ２０を通過する際、送信元のネットワークデバイスのＭＡＣアドレスからルータ２０のＭＡＣアドレスに変換される。このように、他のネットワークＮ２から送信されてくるパケットは、送信元ＩＰアドレスとは無関係にルータ２０のＭＡＣアドレスが送信元ＭＡＣアドレスになる。そのため、ルータ２０経由で他のネットワークＮ２から送信されてくるパケットは、送信元ＭＡＣアドレスおよび送信元ＩＰアドレスの対が常に同じ組合せにはならない。このことから、２種類以上のＩＰアドレスが登録されているアドレスリストに対応する送信元ＭＡＣアドレスは、ルータ２０のＭＡＣアドレスと推定することができる。そのため、この処理において、２種類以上のＩＰアドレスが登録されているアドレスリストに対応するＭＡＣアドレスから特定されるＩＰアドレスは、ルータ２０のＩＰアドレスであると推定できる。
次に、制御装置１１は、ｓ１７の処理で特定されたＩＰアドレスを、ルータ２０に割り当てられたＩＰアドレスとして変数ca_gwにセットする（ｓ１８）。この変数ca_gwは、ＩＰアドレスと同じビット数で構成される変数である。次に、制御装置１１は、ｓ１５の処理で作成されたアドレスリストのうち、１種類だけＩＰアドレスが登録されているアドレスリストの数が所定の数（本実施形態においては、３つ）以上存在しているかどうかをチェックする（ｓ１９）。ここで、１種類だけＩＰアドレスが登録されているアドレスリストは、本アドレスリスト作成処理が繰り返されることによって複数のアドレスリストが作成されたにも拘わらず、登録されているＩＰアドレスが１種類のみのアドレスリストである。これは、アドレスリストに対応するＭＡＣアドレスおよび登録されているＩＰアドレスの対が常に同じ組合せとなるパケット、つまり、ネットワークＮ１内のネットワークデバイス間で送受信されるパケットに基づいて作成されたアドレスリストであることを示している。
このｓ１９の処理で、１種類だけＩＰアドレスが登録されているアドレスリストの数が所定の数以上存在している場合（ｓ１９：ＹＥＳ）、制御装置１１は、サブネットマスク算出処理を行う（ｓ２０）。この処理は、ＩＰアドレスが１種類だけ登録されているアドレスリストに登録されているＩＰアドレスと、ルータ２０のＩＰアドレスがセットされた変数ca_gwとに基づいてサブネットマスクを算出し、算出されたサブネットマスクを変数ca_smにセットする処理である。この変数ca_smは、ＩＰアドレスと同じビット数で構成される変数である。なお、詳細な処理手順については、後述の［制御装置１１のサブネットマスク算出処理］において説明する。
次に、制御装置１１は、ネットワークアドレスを算出し、変数ca_ipにセットする（ｓ２１）。この処理においては、ルータ２０に割り当てられたＩＰアドレスがセットされた変数ca_gwと、サブネットマスクがセットされた変数ca_smとが、論理積演算されることによってネットワークアドレスが算出され、算出されたネットワークアドレスが変数ca_ipにセットされる（ca_ip←(ca_gw)and(ca_sm)）。この変数ca_ipは、ＩＰアドレスと同じビット数で構成される変数である。
【００８１】
こうして、ｓ２１の処理を行った後、ｓ１９の処理で１種類だけＩＰアドレスが登録されているアドレスリストの数が所定の数より少ない場合（ｓ１９：ＮＯ）、または、ｓ１６の処理で２種類以上のＩＰアドレスが登録されているアドレスリストが存在していない場合（ｓ１６：ＮＯ）、ｓ１３の処理に戻る。
【００８２】
この後、ｓ１３の処理からｓ２１の処理までの処理が繰り返し行われた後、ｓ１３の処理で、タイマーが設定された時間に到達した場合（ｓ１３：ＹＥＳ）、制御装置１１は、パケット収集終了処理を行う（ｓ２２）。この処理においては、プリンタ１がパケット収集状態から通常状態となる。
次に、制御装置１１は、表示装置１４に、設定画面を表示する（ｓ２３）。この処理においては、図３に示すように、プリンタ１に割り当てられたＩＰアドレス（IP Address）、サブネットマスク（Subnet mask）およびルータ２０のＩＰアドレスであるデフォルトゲートウェイ（Default Gateway）を設定するための入力欄（図３におけるＡ１からＡ３）、各入力欄に入力された値をプリンタ１のネットワークに関する設定項目として決定するための設定ボタンＢ１、および、本ネットワーク設定処理を終了するための終了ボタンＢ２などを有する設定画面が表示される。この設定画面の有する入力欄のうち、「IP Address」の入力欄Ａ１には変数ca_ipを構成する各ビットを８ビット毎に１０進数表示した値、「Subnet mask」の入力欄Ａ２には変数ca_smを構成する各ビットを８ビット毎に１０進数表示した値、また、「Default Gateway」の入力欄Ａ３には変数ca_gwを構成する各ビットを８ビット毎に１０進数表示した値が、あらかじめ入力された状態となっている。この設定画面が表示装置１４に表示された後、利用者は、入力パネル１５を操作することによって、各入力欄に入力されている値を変更するための操作、設定ボタンＢ１を選択する操作、および、終了ボタンＢ２を選択する操作を実行することができる。なお、これらの入力欄のうち、「IP Address」の入力欄Ａ１に入力されている値は、ネットワークアドレスであるため、利用者は、ホストアドレスに相当する値のみを入力し直すことになる。
【００８３】
次に、制御装置１１は、入力パネル１５が操作されるまで待機する（ｓ２４：ＮＯ）。この処理において制御装置１１は、設定ボタンＢ１を選択する操作、および、終了ボタンＢ２を選択する操作が実行されるまで待機する。このｓ２４の処理で入力パネル１５が操作された際（ｓ２４：ＹＥＳ）、この操作が設定ボタンＢ１を選択する操作である場合（ｓ２５：ＹＥＳ）、設定画面の有する各入力欄に入力された値をプリンタ１のネットワークに関する設定項目として決定する（ｓ２６）。
【００８４】
そして、ｓ２６の処理を行った後、または、ｓ２４の処理で行われた操作が終了ボタンＢ２を選択する操作である場合（ｓ２５：ＮＯ）、本ネットワーク設定処理を終了する。ここで、終了ボタンＢ２を選択する操作が実行された場合には、ネットワークに関する設定項目を変更することなく本ネットワーク設定処理が終了されることになる。
なお、本ネットワーク設定処理におけるｓ１３からｓ１８の処理において、ｓ１７の処理で特定されたＩＰアドレスをルータ２０に割り当てられたＩＰアドレスとして変数ca_gwにセットする制御装置１１は、本発明におけるゲートウェイアドレス推定手段として機能するものである。
また、ｓ２０及びｓ２１の処理で、ネットワークアドレスを算出し、変数ca_ipにセットする制御装置１１は、本発明におけるネットワークアドレス算出手段として機能するものである。また、ｓ２３の処理で、設定画面が表示される表示装置１４は、本発明における表示手段として機能するものである。
【００８５】
また、本ネットワーク設定処理では、ｓ１７の処理において、２種類以上のＩＰアドレスが登録されているアドレスリストに対応するＭＡＣアドレスから、このＭＡＣアドレスを持つネットワークデバイスに割り当てられているＩＰアドレスを特定するように構成されている。しかし、このｓ１７の処理において、登録されているＩＰアドレスの種類が最も多いアドレスリストに対応するＭＡＣアドレスから、ＩＰアドレスを特定するように構成してもよい。
【００８６】
［制御装置１１のアドレスリスト作成処理］
次に、プリンタ１の備える制御装置１１が実行するアドレスリスト作成処理を図４に基づいて説明する。このアドレスリスト作成処理は、図２におけるｓ１５の処理の詳細な処理手順である。
【００８７】
まず、制御装置１１は、図２におけるｓ１４の処理で受信されたパケットから、このパケットの送信元ＭＡＣアドレスおよび送信元ＩＰアドレスを抽出する（ｓ３１）。
次に、制御装置１１は、図２におけるｓ１４の処理で受信されたパケットの送信先ＭＡＣアドレス（あるいは、送信先ＩＰアドレス）が、ブロードキャストアドレスまたはマルチキャストアドレスであるかどうかをチェックする（ｓ３２）。
【００８８】
このｓ３２の処理において、送信先ＭＡＣアドレス（あるいは、送信先ＩＰアドレス）がブロードキャストアドレスまたはマルチキャストアドレスでない場合（ｓ３２：ＮＯ）、制御装置１１は、ｓ３１の処理で抽出された送信元ＭＡＣアドレスに対応するアドレスリストが存在するかどうかをチェックする（ｓ３３）。
【００８９】
このｓ３３の処理において、送信元ＭＡＣアドレスに対応するアドレスリストが存在しない場合（ｓ３３：ＮＯ）、制御装置１１は、ｓ３１の処理で抽出された送信元ＭＡＣアドレスに対応するアドレスリストを作成する（ｓ３４）。この処理においては、例えば、図５に示したように、作成済のアドレスリストの最後尾に、送信元ＭＡＣアドレスに対応するアドレスリストＬｎが作成される。
【００９０】
次に、制御装置１１は、ｓ３４の処理で作成されたアドレスリストに、ｓ３１の処理で抽出された送信元ＩＰアドレスを登録する（ｓ３５）。この処理においては、ｓ３４の処理で作成されたアドレスリストＬｎに、送信元ＩＰアドレスｎ１が登録される。
【００９１】
一方、ｓ３３の処理において、送信元ＭＡＣアドレスに対応するアドレスリストが存在する場合（ｓ３３：ＹＥＳ）、制御装置１１は、送信元ＭＡＣアドレスに対応するアドレスリストに、ｓ３１の処理で抽出された送信元ＩＰアドレスが登録されているかどうかをチェックする（ｓ３６）。
【００９２】
このｓ３６の処理において、送信元ＩＰアドレスが登録されていない場合（ｓ３６：ＮＯ）、制御装置１１は、送信元ＭＡＣアドレスに対応するアドレスリストに、ｓ３１の処理で抽出された送信元ＩＰアドレスを登録する（ｓ３７）。この処理においては、例えば、送信元ＭＡＣアドレスに対応するアドレスリストＬ３の最後尾に、ｓ３１の処理で抽出された送信元ＩＰアドレス３３が登録される。
【００９３】
こうして、ｓ３７の処理を行った後、ｓ３６の処理で送信元ＩＰアドレスが登録されている場合（ｓ３６：ＹＥＳ）、ｓ３５の処理を行った後、または、ｓ３２の処理で送信先ＭＡＣアドレス（あるいは、送信先ＩＰアドレス）がブロードキャストアドレスまたはマルチキャストアドレスである場合（ｓ３２：ＹＥＳ）、本アドレスリスト作成処理を終了する。
【００９４】
なお、本アドレスリスト作成処理におけるｓ３１の処理で、パケットの送信元ＭＡＣアドレスおよび送信元ＩＰアドレスを抽出する制御装置１１は、本発明における抽出手段として機能するものである。また、ｓ３３の処理からｓ３７の処理で、送信元ＭＡＣアドレスに対応するアドレスリストに送信元ＩＰアドレスを登録する制御装置１１は、本発明におけるアドレスリスト作成手段として機能するものである。
【００９５】
［制御装置１１のサブネットマスク算出処理］
次に、プリンタ１の備える制御装置１１が実行するサブネットマスク算出処理を図６に基づいて説明する。このサブネットマスク算出処理は、図２におけるｓ２０の処理の詳細な処理手順である。
【００９６】
まず、制御装置１１は、変数tempを初期化する（ｓ４１）。この処理においては、変数tempの全てのビットに１がセットされる（１６進数で「FF FF FF FF」）。なお、変数tempは、ＩＰアドレスと同じビット数の変数である。次に、制御装置１１は、図４におけるアドレスリスト作成処理で作成された複数のアドレスリストのうち、登録されているＩＰアドレスが１種類だけとなっている全てのアドレスリストから、登録されているＩＰアドレスを抽出する（ｓ４２）。
次に、制御装置１１は、ｓ４２の処理で抽出されたＩＰアドレスを変数IPn（IP1からIPn）にセットする（ｓ４３）。この変数IPnは、ＩＰアドレスと同じビット数で構成される変数である。次に、制御装置１１は、変数temp、変数IPnおよび変数ca_gwに基づく論理演算（ temp ← (temp)and(not( (ca_gw)xor(IPn) )) ）を変数IP1から順番に変数IPnまで繰り返し行う（ｓ４４）。
この処理においては、まず、第１手順として、変数ca_gwと変数IPnとの排他的論理和演算を行うことによって（(ca_gw)xor(IPn)）、両者を構成する各ビットのうち、値が一致しないビットのみが「１」となった値が算出される。続いて、第２手順として、第１手順で算出された値の否定演算を行うことによって（not( (ca_gw)xor(IPn) )）、変数ca_gwおよび変数IPnを構成する各ビットのうち、値が一致するビットのみが「１」となった値が算出される。
変数IPnは、１種類だけＩＰアドレスが登録されているアドレスリストに登録されているＩＰアドレスがセットされた変数である。このようなＩＰアドレスは、登録されているアドレスリストに対応するＭＡＣアドレスとの対が常に同じ組合せとなるパケット、つまり、ネットワークＮ１内のネットワークデバイス間で送受信されるパケットから抽出されたものである。一方、変数ca_gwは、ルータ２０のＩＰアドレスである。これらのことから、変数ca_gwおよび変数IPnには、それぞれネットワークＮ１内で使用されているＩＰアドレスがセットされていることになる。そのため、変数ca_gwと変数IPnとを構成する各ビットのうち、少なくともネットワークアドレスに対応するビットについては、同じ値がセットされているはずである。そのため、第２手順により算出された値（not( (ca_gw)xor(IPn) )）は、変数ca_gwおよび変数IPnの少なくともネットワークアドレスに対応するビットが「１」となっている値ということになる。しかし、この段階では、ホストアドレスに対応するビットのうち値が一致してしまっているビットが存在している可能性がある。そのため、以降の手順によって、ホストアドレスに対応するビットを「０」としていくことになる。
続いて、第３手順として、変数tempと第２手順で算出された値との論理積演算を行うことによって（(temp)and(not( (ca_gw)xor(IPn) ))）、両者をそれぞれ構成するビットのうち、両者共に「１」となっているビットが「１」となった値が算出される。
続いて、第４手順として、第３手順で算出された値を新たに変数tempとする（temp ← (temp)and(not( (ca_gw)xor(IPn) )) ）。こうして変数tempにセットされる値は、サブネットマスクの候補となる値ということになる。そして、第５手順として、第１手順から第４手順を変数IPnの数に基づいて処理させて、最終的に第４手順において変数tempにセットされた値をサブネットマスクとする。この第５手順では、第１手順から第４手順までの手順が変数IP１から順番に変数IPnまで繰り返されることになる。
【００９７】
変数IP１から変数IPnは、ネットワークアドレスは同じであるが、ホストアドレスがそれぞれ異なっている。そのため、この第５手順において、第１手順から第４手順までの手順を変数Ip1から順番に変数IPnまで繰り返すことによって、最終的には、ホストアドレスに対応するビットが「０」となった変数tempが算出される。こうして、変数tempには、ネットワークアドレスに対応するビットのみが「１」となった値、つまり、サブネットマスクがセットされていることになる。
次に、制御装置１１は、変数tempにセットされている値をチェックする（ｓ４５）。このｓ４５の処理で変数tempにセットされている値が、「FF FF FF 00（１６進数）」以上の値であれば（ｓ４６：ＹＥＳ）、変数ca_smに「FF FF FF 00（１６進数）」をセットする（ｓ４７）。
また、ｓ４５の処理で変数tempにセットされている値が、「FF FF 00 00（１６進数）」以上の値であれば（ｓ４６：ＮＯ、ｓ４８：ＹＥＳ）、変数ca_smに「FF FF 00 00（１６進数）」をセットする（ｓ４９）。また、ｓ４５の処理で変数tempにセットされている値が、「FF FF 00 00（１６進数）」より小さい値であれば（ｓ４６：ＮＯ、ｓ４８：ＮＯ）、変数ca_smに「FF 00 00 00（１６進数）」をセットする（ｓ５０）。
【００９８】
なお、本サブネットマスク算出処理におけるｓ４１の処理からｓ５０の処理を行う制御装置１１は、本発明におけるサブネットマスク算出手段として機能するものである。
【００９９】
［第１実施形態の効果］
このように構成されたネットワークプリンタ１によれば、ネットワーク内を流れるパケットから、ルータ２０のＩＰアドレスを推定することができる。
また、図２におけるｓ２１の処理で、ルータ２０に割り当てられたＩＰアドレスがセットされた変数ca_gwと、サブネットマスクがセットされた変数ca_smとからネットワークアドレスを算出することができる。また、ｓ２３の処理で、推定されたルータ２０のＩＰアドレス、サブネットマスクおよびネットワークアドレスを表示装置１４に表示することができる。特に、本プリンタ１においては、ネットワークに関する設定を行う際に、各入力欄（図３におけるＡ１からＡ３）に、推定されたルータ２０のＩＰアドレス、サブネットマスクおよびネットワークアドレスがあらかじめ入力された状態となっている。そのため、利用者は、入力欄の「IP Address」に入力されている値のうち、ホストアドレスに相当する値のみを入力し直せばよいため、利用者への操作の負担を軽減することができる。
【０１００】
また、図４におけるｓ３１の処理で抽出された送信元ＭＡＣアドレスおよび送信元ＩＰアドレスの対が過去に抽出されていない対である場合に、抽出された送信元ＭＡＣアドレスに対応するアドレスリストに、抽出された送信元ＩＰアドレスが登録される。そのため、図２におけるｓ１７の処理で、複数のＩＰアドレスが登録されているアドレスリストに対応するＭＡＣアドレスを、ルータ２０のＭＡＣアドレスとして特定することができる。また、図６におけるｓ４２の処理で、登録されているＩＰアドレスが１種類だけのアドレスリストに登録されているＩＰアドレスを、ネットワークＮ１内のネットワークデバイス間で送受信されるパケットのＩＰアドレスとして抽出することができる。
【０１０１】
また、図６におけるｓ４１の処理からｓ５０の処理で、ネットワークＮ１内のネットワークデバイス間で送受信されるパケットから抽出されたＩＰアドレスのセットされた変数IPnを利用してサブネットマスクを算出することができる。よって、ネットワークＮ１内のネットワークデバイス間で送受信されるパケットより、他のネットワークＮ２から送信されてくるパケットの数が多くても、ネットワークに関する設定項目であるサブネットマスクを従来よりも正確に推定することができる。
【０１０２】
［第２実施形態］
ネットワークプリンタ（以降、単にプリンタとする）２は、第１実施形態におけるネットワークプリンタ１と同様の構成であって、制御装置１１が実行する処理手順が一部異なっているため、この相違点についてのみ詳述することとする。
【０１０３】
［制御装置１１によるネットワーク設定処理］
まず、プリンタ１の備える制御装置１１が実行するネットワーク設定処理を図７に基づいて説明する。このネットワーク設定処理は、第１実施形態における図２のネットワーク設定処理と処理手順が一部異なっているだけであるため、この相違点についてのみ詳述する。
【０１０４】
まず、制御装置１１は、パケット収集開始処理を行う（ｓ１１）。次に、制御装置１１は、タイマーをスタートさせる（ｓ１２）。次に、制御装置１１は、タイマーがあらかじめ設定された時間に到達したかどうかをチェックする（ｓ１３）。
【０１０５】
このｓ１３の処理において、タイマーが設定された時間に到達していない場合（ｓ１３：ＮＯ）、制御装置１１は、パケットを受信するまで待機して（ｓ１４：ＮＯ）、パケットを受信したら（ｓ１４：ＹＥＳ）、アドレスリスト作成処理を行う（ｓ１５）。
【０１０６】
次に、制御装置１１は、ｓ１５の処理で作成されたアドレスリストのうち、２種類以上のＩＰアドレスが登録されているアドレスリストが存在しているかどうかをチェックする（ｓ１６）。このｓ１６の処理で、２種類以上のＩＰアドレスが登録されているアドレスリストが存在していれば（ｓ１６：ＹＥＳ）、制御装置１１は、２種類以上のＩＰアドレスが登録されているアドレスリストに対応するＭＡＣアドレスから、このＭＡＣアドレスを持つネットワークデバイスに割り当てられているＩＰアドレスを特定する（ｓ１７）。
次に、制御装置１１は、ｓ１７の処理で特定されたＩＰアドレスを、ルータ２０に割り当てられたＩＰアドレスとして変数ca_gwにセットする（ｓ１８）。次に、制御装置１１は、ｓ１５の処理で作成されたアドレスリストのうち、１種類だけＩＰアドレスが登録されているアドレスリストの数が所定の数以上存在しているかどうかをチェックする（ｓ１９）。
【０１０７】
このｓ１９の処理で、１種類だけＩＰアドレスが登録されているアドレスリストの数が所定の数以上存在している場合（ｓ１９：ＹＥＳ）、制御装置１１は、第１サブネットマスク算出処理を行う（ｓ２０）。この処理は、第１実施形態の図２におけるｓ２０の処理（サブネットマスク算出処理）と同様の処理である。
一方、ｓ１９の処理で、１種類だけＩＰアドレスが登録されているアドレスリストの数が所定の数以上存在していない場合（ｓ１９：ＮＯ）、制御装置１１は、第２サブネットマスク算出処理を行う（ｓ２７）。この処理は、ルータ２０のＩＰアドレスがセットされた変数ca_gwに基づいてサブネットマスクを算出し、算出されたサブネットマスクを変数ca_smにセットする処理である。なお、詳細な処理手順については、後述の［制御装置１１の第２サブネットマスク算出処理］において説明する。
次に、制御装置１１は、ネットワークアドレスを算出し、変数ca_ipにセット（ca_ip ← (ca_gw)and(ca_sm)）する（ｓ２１）。こうして、ｓ２１の処理を行った後、または、ｓ１６の処理で２種類以上のＩＰアドレスが登録されているアドレスリストが存在していない場合（ｓ１６：ＮＯ）、ｓ１３の処理に戻る。
【０１０８】
その後、ｓ１３の処理からｓ２１の処理が繰り返し行われた後、ｓ１３の処理で、タイマーが設定された時間に到達した場合（ｓ１３：ＹＥＳ）、制御装置１１は、パケット収集終了処理を行う（ｓ２２）。次に、制御装置１１は、表示装置１４に、設定画面を表示する（ｓ２３）。
【０１０９】
次に、制御装置１１は、入力パネル１５が操作されるまで待機する（ｓ２４：ＮＯ）。このｓ２４の処理で入力パネル１５が操作された際（ｓ２４：ＹＥＳ）、この操作が設定ボタンＢ１を選択する操作である場合（ｓ２５：ＹＥＳ）、設定画面の有する各入力欄に入力された値をプリンタ１のネットワークに関する設定項目として決定する（ｓ２６）。
【０１１０】
そして、ｓ２６の処理を行った後、または、ｓ２４の処理で行われた操作が終了ボタンＢ２を選択する操作である場合（ｓ２５：ＮＯ）、本ネットワーク設定処理を終了する。
【０１１１】
［制御装置１１の第２サブネットマスク算出処理］
次に、プリンタ１の備える制御装置１１が実行するｓ２７に関するサブネットマスク算出処理を図８に基づいて説明する。
まず、制御装置１１は、変数ca_gwの最上位バイトの値をチェックする（ｓ６１）。このｓ６１の処理で変数ca_gwの上位８ビットの値が、「１９２（１０進数）」以上の値であれば（ｓ６２：ＹＥＳ）、変数ca_smに「FF FF FF 00（１６進数）」をセットする（ｓ６３）。
また、ｓ６１の処理で変数ca_gwの上位８ビットの値が、「１２８（１０進数）」以上「１９１（１０進数）」以下の値であれば（ｓ６２：ＮＯ、ｓ６４：ＹＥＳ）、変数ca_smに「FF FF 00 00（１６進数）」をセットする（ｓ６５）。また、ｓ６１の処理で変数ca_gwの上位８ビットの値が、「１２８（１０進数）」より小さい値である場合（ｓ６２：ＮＯ、ｓ６４：ＮＯ）、変数ca_smに「FF 00 00 00（１６進数）」をセットする（ｓ６５）。
なお、本サブネットマスク算出処理におけるｓ６１の処理からｓ６６の処理で、変数ca_smに所定の値をセットする制御装置１１は、本発明におけるサブネットマスク算出手段として機能するものである。［第２実施形態の効果］このように構成されたネットワークプリンタ２によれば、第１実施形態におけるネットワークプリンタ１と同様の効果を得ることができ、さらに、図８のｓ６１の処理からｓ６６の処理において、ルータ２０のＩＰアドレスからサブネットマスクを算出することができる。
【０１１２】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、このほかにも様々な形態で実施することができる。例えば、本実施形態においては、本発明をプリンタ１、２に適用した構成を例示したが、プリンタ１、２以外のネットワークデバイスに適用してもよい。
また、本実施形態においては、図２におけるｓ２３の処理で、設定画面の有する入力欄である「IP Address」に、変数ca_ipを構成する各ビットを８ビット毎に１０進数表示し
た値があらかじめ入力されるように構成されている。このとき、あらかじめ入力された値のうち、ホストアドレスに相当する部分を他の部分とは異なる色で表示することによって、ホストアドレスに相当する値の入力を利用者に促すように構成してもよい。また、このｓ２４の処理において、変数ca_ipを構成する各ビットのうち、ネットワークアドレスに
対応するビットのみを８ビット毎に１０進数表示した値が「IP Address」にあらかじめ入力された状態とし、ホストアドレスに対応する入力箇所には、例えば、「＊」などの記号を入力した状態としておくことによって、ホストアドレスに相当する値の入力を利用者に促すように構成してもよい。
【０１１３】
また、上記実施形態においては、図２におけるｓ２３の処理で、設定画面の有する各入力欄に、推定されたルータ２０のＩＰアドレス、サブネットマスクおよびネットワークアドレスなどのパラメータが、入力されるように構成されている。しかし、これらのパラメータが、入力欄以外の領域に表示されるように構成してもよい。
【０１１４】
また、上記実施形態においては、図２におけるｓ２３の処理で、設定画面の有する入力欄Ａ３に、推定されたネットワークアドレスが表示されるように構成されているが、それに加えて更に、図６におけるｓ４２の処理で、登録されているＩＰアドレスが１種類だけとなっている全てのアドレスリストから抽出されたＩＰアドレスを、ネットワークＮ１内で使用されているＩＰアドレスとして入力欄以外の領域に表示するように構成してもよい。この場合、利用者が、入力欄の「IP Address」にＩＰアドレスを入力する操作を実行する際、表示されたＩＰアドレス以外のＩＰアドレスをプリンタ１のＩＰアドレスとして設定すれば、ネットワークＮ１内で既に使用されているＩＰアドレスを間違って設定してしまうといったことが起こらない。
【０１１５】
また、本実施形態においては、図４におけるｓ３１の処理で、パケットの送信元ＭＡＣアドレスおよび送信元ＩＰアドレスを抽出するように構成されたものを例示したが、このｓ３１の処理で、パケットの送信先ＭＡＣアドレスおよび送信先ＩＰアドレスを抽出するように構成してもよい。このように構成しても、本実施形態と同様の作用、効果を得ることができる。
【０１１６】
また、図６におけるｓ４２の処理で、登録されているＩＰアドレスが１種類だけとなっている全てのアドレスリストから抽出されたＩＰアドレスを、ネットワークＮ１内で使用されているＩＰアドレスとし、このようなＩＰアドレスを除くネットワークＮ１内で使用可能なＩＰアドレスを、入力欄以外の領域に表示するように構成してもよい。この場合、利用者が、入力欄の「IP Address」にＩＰアドレスを入力する際、表示されたＩＰアドレスをプリンタ１のＩＰアドレスとして設定すれば、ネットワークＮ１内で既に使用されているＩＰアドレスを間違って設定してしまうといったことが起こらない。
【０１１７】
また、本実施形態においては、図２及び図７におけるｓ１３の処理によって、パケットの収集処理を行う期間をタイマーにて管理するように構成したものを例示したが、当該ネットワーク設定処理を行うために必要となるパケットを収集した時点で当該処理を終了する構成としても良い。
【図面の簡単な説明】
【図１】ネットワークプリンタにより構成されるネットワークを示す図
【図２】第１実施形態におけるネットワーク設定処理の処理手順を示すフローチャート
【図３】表示装置に表示された設定画面を示す図
【図４】第１実施形態におけるアドレスリスト作成処理の処理手順を示すフローチャート
【図５】アドレスリストのデータ構造を示す図
【図６】第１実施形態におけるサブネットマスク算出処理の処理手順を示すフローチャート
【図７】第２実施形態におけるネットワーク設定処理の処理手順を示すフローチャート
【図８】第２実施形態における第２サブネットマスク算出処理の処理手順を示すフローチャート
【図９】従来技術におけるネットワークの構成を示す図
【符号の説明】
１、２・・・ネットワークプリンタ、１１・・・制御装置、１２・・・記憶装置、１３・・・通信装置、１４・・・表示装置、１５・・・入力パネル。
【図１】
0003736451.tif 000002
【図２】
0003736451.tif 000003
【図３】
0003736451.tif 000004
【図４】
0003736451.tif 000005
【図５】
0003736451.tif 000006
【図６】
0003736451.tif 000007
【図７】
0003736451.tif 000008
【図８】
0003736451.tif 000009
【図９】
0003736451.tif 000010