(57)【特許請求の範囲】
【請求項１】
インターネットプロトコルを使用して通信する複数の装置を接続するネットワークにおいて特定すべき装置のアドレスを決定する方法であって、
(a) 前記ネットワークを流れている信号を受信して解析することで他の装置のアドレスを検知すること、
(b) 検知されたアドレスからＩＰアドレスとＭＡＣアドレスを選択して、当該ＩＰアドレスとＭＡＣアドレスを持つ装置になりすますこと、
(c) なりすました装置のアドレスを使用して前記ネットワーク上に相手先を特定した信号を送り、これに対する応答を得ることにより、他の装置のアドレスを収集すること、及び
(d) ＩＰアドレスとして採用できるアドレスの範囲から、上記(c)で収集したアドレス以外のＩＰアドレスを選択すること
を含むことを特徴とするインターネットアドレス決定方法。
【請求項２】
請求項１記載の方法において、前記応答の返ってこない装置に対しては、前記なりすました装置以外のＩＰアドレスとＭＡＣアドレスの組を選択して、なりすます装置を変更していくことで全ての装置になりすまし、なりすました各装置について前記(c)のステップを実行することにより完全なアドレス情報を収集することを特徴とするインターネットアドレス決定方法。
【請求項３】
請求項１又は２記載の方法において、更に
(e) 選択したＩＰアドレスが他の装置のＩＰアドレスと同一か否かをチェックし、同一の場合には、前記(d)の処理をＩＰアドレスが同一でなくなるまで繰り返すことを特徴とするインターネットアドレス決定方法。
【請求項４】
ＩＰアドレスとして許容される有効範囲から他と重複しないＩＰアドレスを選択する方法であって、
(a) ネットワーク上を流れている信号を受信して解析することで他の装置のＩＰアドレスを検知し、収集すること、
(b) 収集したＩＰアドレスの２進数表現の最小桁からＮビット（１≦Ｎ≦Ｋ，Ｋは予め決められた自然数）目の桁で当該２進数表現を区切り、該Ｎビット以上の桁を上位ビット、該Ｎビット未満の桁を下位ビットとすること、
(c) 収集した複数のＩＰアドレスについて、それらの上位ビットが全て同一か否かの判定を行うこと、
(d) 前記上位ビットが全て同一でないときは、Ｎを１つ増加若しくは減少し又は任意の数に変えて前記(b)の２進数表現を区切り、前記(c)の判定を行うこと、  (e) 前記上位ビットが全て同一になるまで、前記(d)を繰り返すこと、
(f) 前記上位ビットが全て同一であれば、当該上位ビットの数字はそのままで、前記複数のＩＰアドレスの下位ビットの数字を全て０にした２進数で表わされる値をＩＰネットワークアドレスとし、かつ、当該上位ビットの数字は全て１で、前記複数のＩＰアドレスの下位ビットの数字を全て０にした２進数で表わされる値をサブネットマスクとすること、及び
(g) 前記ＩＰネットワークアドレスと前記ネットマスクで得られる有効な範囲のＩＰアドレスから、他の装置のＩＰアドレスを除いたＩＰアドレスを選択すること
を含むことを特徴とするＩＰアドレスの選択方法。
【請求項５】
請求項１乃至４のいずれか記載の方法を実行するコンピュータプログラムを記録した記録媒体。
【請求項６】
インターネットプロトコルを使用して通信する複数の装置を接続するネットワークにおいて特定すべき装置のアドレスを決定する装置であって、
(a) 前記ネットワークを流れている信号を受信して解析することで他の装置のアドレスを検知する手段と、
(b) 検知されたアドレスからＩＰアドレスとＭＡＣアドレスを選択して、当該ＩＰアドレスとＭＡＣアドレスを持つ装置になりすます手段と、
(c) なりすました装置のアドレスを使用して前記ネットワーク上に相手先を特定した信号を送り、これに対する応答を得ることにより、他の装置のアドレスを収集する手段と、
(d) ＩＰアドレスとして採用できるアドレスの範囲から、上記(c)で収集したアドレス以外のＩＰアドレスを選択するアドレス選択手段と
を含むことを特徴とするインターネットアドレス決定装置。
【請求項７】
請求項６記載の装置において、前記応答の返ってこない装置に対しては、前記なりすました装置以外のＩＰアドレスとＭＡＣアドレスの組を選択して、なりすます装置を変更していくことで全ての装置になりすまし、なりすました各装置について前記(c)のステップを実行することにより完全なアドレス情報を収集することを特徴とするインターネットアドレス決定装置。
【請求項８】
請求項６又は７記載の装置において、更に
(e) 選択したＩＰアドレスが他の装置のＩＰアドレスと同一か否かをチェックし、同一の場合には、前記(d)の処理をＩＰアドレスが同一でなくなるまで繰り返す手段
を備えたことを特徴とするインターネットアドレス決定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターネットプロトコル（以下“ＩＰ”と記述する）を使用して通信する複数の装置（パーソナルコンピュータやルータ等の通信装置のほか、コンピュータプログラム上で設定された仮想的装置を含む）を接続するネットワークにおいて特定すべき装置のアドレスを決定する技術に関する。より具体的には、本発明は、他の装置と重複しないインターネットアドレス（ＩＰアドレス）を決定するための方法及び装置に関する。
【０００２】
【従来の技術】
ＩＰを使用したコンピュータネットワークでは、接続されている個々のコンピュータやルータのような装置をネットワーク内で一意に識別するため、それらの装置ごとに他と重複しないアドレスを設定する必要がある。このために、従来は手動で個々の装置に設定する方法が用いられてきた。この方法では、各装置のアドレスが重複しないように、管理者が予めすべての装置のアドレスを管理しておき、装置ごとに管理者や利用者が設定しなければならないという問題がある。また、誤設定により重複するアドレスが使用され、アドレスの衝突が発生するという問題もあった。
【０００３】
【発明が解決しようとする課題】
この問題を解決するため、ネットワーク内に重複しないアドレスを配分するサーバを配置してそのサーバに割当て可能なアドレスを予め設定しておき、各装置からの要求によって重複しないアドレスを割り当てる方法が使用されるようになったが、この方法においては、サーバを設置して維持管理を行わなければならないという問題がある。
【０００４】
本発明の目的は、これらの問題を解決するものとして、ネットワークに接続される装置がサーバなしに重複しない一意のアドレスを自律的に決定する方法と、それを実施するための手段を提供することである。
【０００５】
【課題を解決するための手段】
本発明の第１の方法は、インターネットプロトコルを使用して通信する複数の装置を接続するネットワークにおいて特定すべき装置のアドレスを決定する方法であって、以下のステップによって構成される。
【０００６】
(a) ネットワーク上を流れている信号を受信して解析することで他の装置のアドレスを検知する。例えば、ブロードキャストパケット（ＢＣＰ）のようなアドレス解決を要求する信号を観測して得られたアドレス情報から、ネットワークに既に接続されている他のコンピュ−タ等の装置の論理アドレス（ＩＰアドレス）とそれに対応する物理アドレス（ＭＡＣアドレス）との組を検知する。
【００１１】
(b) 得られたアドレス情報の中からＩＰアドレスとＭＡＣアドレスの組を選択し、選択したアドレスの組を持つ装置になりすます。
【００１２】
(c) なりすました装置のアドレスを使用して、ネットワーク上に相手先を特定した信号、例えばＩＰアドレスの有効範囲にある装置の全てに対して、アドレス解決要求パケットをＢＣＰとして送る。そして、これに対する応答パケットを集めることにより、ネットワーク内に接続されている装置のアドレスを収集する。
【００１３】
なお、ＩＰアドレスの有効範囲が広い場合は、アドレスの収集に非常に時間がかかるので、例えば後述のクラスＣ相当（有効範囲数２５６）のネットマスクを使用し、全て使用中の場合はネットマスクの値を小さくして再度探索を行う。
【００１４】
(d) ＩＰアドレスとして採用できるアドレスの範囲から、上記(c)で収集したアドレス以外のＩＰアドレスを選択する。
【００１５】
上記第１の方法においては、応答パケットの返ってこない装置に対しては、なりすました装置以外のＩＰアドレスとＭＡＣアドレスの組を適宜選択して、なりすます装置を変更していくことで全ての装置になりすまし、なりすました各装置について上記(c)のステップを行うことにより、完全なアドレス情報を収集することが好ましい。
【００１６】
更に、(e) 選択したＩＰアドレスが他の装置のＩＰアドレスと同一か否かをチェックし、同一の場合には、上記(d)の処理をＩＰアドレスが同一でなくなるまで繰り返すことが好ましい。
【００１７】
第２の方法は、既に使用されているＩＰアドレスを観測によって検出し、ＩＰアドレスとして許容される有効な範囲のアドレスから重複しないアドレスを選択する方法であって、以下のステップによって構成される。
【００１８】
(a) ネットワーク上を流れている信号を受信して解析することで他の装置のＩＰアドレスを検知し、収集すること、
(b) 収集したＩＰアドレスの２進数表現の最小桁からＮビット（１≦Ｎ≦Ｋ，Ｋは予め決められた自然数）目の桁で当該２進数表現を区切り、Ｎビット以上の桁を上位ビット、Ｎビット未満の桁を下位ビットとすること、
(c) 収集した複数のＩＰアドレスについて、それらの上位ビットが全て同一か否かの判定を行うこと、
(d) 上位ビットが全て同一でないときは、Ｎを１つ増加若しくは減少し又は任意の数に変えて上記(b)の２進数表現を区切り、上記(c)の判定を行うこと、
(e) 上位ビットが全て同一になるまで、上記(d)を繰り返すこと、
(f) 上位ビットが全て同一であれば、当該上位ビットの数字はそのままで、複数のＩＰアドレスの下位ビットの数字を全て０にした２進数で表わされる値をＩＰネットワークアドレスとし、かつ、当該上位ビットの数字は全て1で、複数のＩＰアドレスの下位ビットの数字を全て０にした２進数で表わされる値をサブネットマスクとすること、及び
(g) 前記ＩＰネットワークアドレスとネットマスクで得られる有効な範囲のＩＰアドレスから、他の装置のＩＰアドレスを除いたＩＰアドレスを選択すること。
【００１９】
上記ＩＰネットワークアドレス及びネットマスクについては、後で具体的に説明する。
【００２０】
第３の方法は、スイッチングハブやブリッジ等の接続手段で接続されたネットワークを流れるパケットの全てを観測できない環境においても、既に使用されている全てのアドレスを探索して収集する方法であって、
(a) 既になりすました以外のアドレスを選択し、当該組のアドレスになりすますこと、
(b) 応答がないＩＰアドレスをもった他の装置に対し、なりすました装置のＩＰアドレスを使用して、ネットワーク上に相手先を特定した信号を送り、これに対する応答を集めることにより、他の装置のアドレスを収集すること、及び
(c) なりすましていないアドレスが無くなるまで(a)(b)を繰り返すこと
を含むことを特徴とする。
【００２１】
第４の方法は、広大なアドレス空間が使用されている環境において、探索するアドレス範囲を限定する方法であって、探索する範囲のアドレスを適当な大きさのネットマスクを利用することで限定すること、及び探索する対象の全てが発見された場合は、前記ネットマスクの値を小さくして、再度探索することを含むことを特徴とする。
【００２４】
更に、第５の方法は、同様のＩＰアドレス決定装置が複数個使用されている環境においてもＩＰアドレスの決定値が重複しない方法であって、以下のステップによって構成される。
【００２５】
使用する予定のＩＰアドレスと自分本来のＭＡＣアドレスを選択し、その選択したアドレスを使用したアドレス解決要求パケット（ＢＣＰ）を送る。
【００２６】
使用する予定のＩＰアドレスで自分と異なるＭＡＣアドレスを持つアドレス解決要求パケット（ＢＣＰ）が送られてくるかを、一定時間観測する。
【００２７】
使用予定のＩＰアドレスでＭＡＣアドレスが異なる信号（ＢＣＰ）が観測された場合は、ＩＰアドレス重複となり、ＭＡＣアドレスの小さい方の装置が再度ＩＰアドレスを選択しなおす。
【００２８】
本発明によれば、上記の方法を実行するコンピュータプログラムを記録した記録媒体が提供される。
【００２９】
更に、本発明によれば、上記の方法を実行するため、インターネットプロトコルを使用して通信する複数の装置を接続するネットワークにおいて特定すべき装置のアドレスを決定する装置であって、以下の各手段を備えたインターネットアドレス決定装置が提供される。
(a) 前記ネットワークを流れている信号を受信して解析することで他の装置のアドレスを検知する手段、
(b) 検知されたアドレスからＩＰアドレスとＭＡＣアドレスを選択して、当該ＩＰアドレスとＭＡＣアドレスを持つ装置になりすます手段、
(c) なりすました装置のアドレスを使用して前記ネットワーク上に相手先を特定した信号を送り、これに対する応答を得ることにより、他の装置のアドレスを収集する手段、及び
(d) ＩＰアドレスとして採用できるアドレスの範囲から、上記(c)で収集したアドレス以外のＩＰアドレスを選択するアドレス選択手段。
本発明の装置においては、前記応答の返ってこない装置に対しては、前記なりすました装置以外のＩＰアドレスとＭＡＣアドレスの組を選択して、なりすます装置を変更していくことで全ての装置になりすまし、なりすました各装置について前記(c)のステップを実行することにより完全なアドレス情報を収集することが好ましい。
本発明の装置は、更に (e) 選択したＩＰアドレスが他の装置のＩＰアドレスと同一か否かをチェックし、同一の場合には、前記(d)の処理をＩＰアドレスが同一でなくなるまで繰り返す手段を備えることが好ましい。
【００３０】
【作用及び効果】
本発明によれば、ネットワークにおいて特定すべき装置について、重複しないアドレスが自動的に決定される。
【００３１】
特に、既に使用されている装置になりすます方法をとれば、他の装置との間でアドレスの重複は発生しないことが保証される。しかも、なりすまされた装置がアドレス解決応答パケットをそのまま受理するため、既に使用されている装置に擾乱を与えることがない。
【００３２】
従って、従来のように管理者が手動で個々の装置にアドレスを設定し、或いはアドレス割り当て用のサーバを設置して維持管理することは不要であり、インターネットアドレスの決定及び管理を自動化することができる。
【００３３】
本発明によれば、管理者や利用者の介入なしに各装置が自律的に重複しないインターネットアドレスを検出できるので、運用の自動化ができ、更に、サーバが不要になる。
【００３４】
【発明の実施の形態】
図１は、本発明の方法を実施するコンピュータネットワークの構成例を示す。図示のネットワークは、通信路としてのＬＡＮケーブル１と、この通信路を介して相互に或いはインターネットに接続される装置としての複数のコンピュータ＃１〜＃５とで構成されている。ＬＡＮケーブル１には、送信先のアドレスなどの通信制御情報が付加されたデータのパケットが流れる。各コンピュータ＃１，…，＃５には、論理アドレスであるＩＰアドレス、及びこれと対をなす物理アドレスであるＭＡＣアドレスが付けられる。
【００３５】
ここで、ＭＡＣアドレスとは、イーサネットアドレスやトークンリングアドレス等のMedia Access Control（媒体アクセス制御）アドレスのことであり、各装置の媒体は世界で一意のアドレスを固定的に持つ。
【００３６】
また、ＩＰアドレスは、インターネット上で各装置を一意に識別するための論理的アドレスである。コンピュータがＬＡＮケーブルに接続される場合、ＩＰアドレスは、ＬＡＮケーブルを識別するネットワークアドレス部と、そのＬＡＮに接続されている個々の装置を識別するためのホストアドレス部とで構成される。同じＬＡＮケーブルに接続されている全ての装置は、同じネットワークアドレス部の値を持たなければならない。ＩＰアドレスからホストアドレス部だけを取り出すための演算には、ネットマスクが使用される。ネットマスクの値はＬＡＮごとに異なる。代表的なネットマスクとして、ホストを最大２５４個まで使用できるネットワークに使用するクラスＣのネットマスクがある。
【００３７】
ＩＰでパケットを送信する場合には、前もって転送先のＩＰアドレスに対応するＭＡＣアドレスを知ってパケットに設定する必要があるため、コンピュータは、当該ＩＰアドレスをターゲットとする「アドレス解決要求パケット」を、相手を特定しないで送信（ブロードキャスト）する。それを受信した各装置では、自己のＩＰアドレスと比較し、等しいアドレスを持つ装置だけが、上記「アドレス解決要求パケット」を送信した装置に対して、「アドレス解決応答パケット」を返信する。これにより、送信側の装置は、対応するＭＡＣアドレスを知ることができる。
【００３８】
アドレス解決とは、上記のように、或るＩＰアドレスに対応するＭＡＣアドレスを知るための手順であり、ＡＲＰ(Address Resolution Protocol) がインターネット標準として規定されている。このプロトコルでは、アドレス解決要求パケットに、▲１▼自分のＩＰアドレス、▲２▼自分のＭＡＣアドレス、▲３▼目的のＩＰアドレスの３つを入れて、ネットワークにブロードキャストする。これを受信した装置は、そのパケット内の目的のＩＰアドレス部分を検査し、そのＩＰアドレスと自分のＩＰアドレスが等しい場合のみ、それを送ってきた装置に対し、▲１▼及び▲２▼のアドレスを入れた「アドレス解決応答パケット」を送り返す。これにより、求めるインターネットアドレスを持つ装置のＭＡＣアドレスが得られる。そして、両方のアドレスを入れたデータパケットを組み立ててネットワークへ送信すると、目的の装置がそれを受信することができる。このようにＭＡＣアドレスがわからない限り、送信はできない。
【００３９】
図１のコンピュータネットワークにおいて、新たにＬＡＮケーブル１に接続されるコンピュータ＃１００が、他のコンピュータと重複しない一意のアドレスを自律的に決定するために、図２に示すような構成を有する。すなわち、
多重アクセス制御機構２は、ＬＡＮケーブル１上にパケットを送り出したり、ＬＡＮケーブル１からパケットを受信したりする。
【００４０】
アドレス解決要求パケット受信機構３は、多重アクセス制御機構２が受信したパケットの中から「アドレス解決要求パケット」だけを処理する。アドレス解決要求パケットは、図４に示すように、「転送元ＩＰアドレス」、「転送元ＭＡＣアドレス」及び「取得要求先ＩＰアドレス」の各データを含む。
【００４１】
アドレス探索機構４は、アドレス解決要求パケット受信機構３が受信処理したパケットを受け取り、その中から一組のＩＰアドレスとＭＡＣアドレスのペアを選択して、それを自装置（この場合、初めてネットワークに接続されるコンピュータ＃１００）のアドレスとして設定し、当該アドレスを持つ装置になりすます。これにより、ネットワーク上にある全ての装置のＩＰアドレスをアドレステーブルとして、メモリなどの格納手段又は記録領域に記録する。
【００４２】
アドレステーブル５は、図３に示すように、収集されたＩＰアドレスとＭＡＣアドレスのペアを記録するテーブルであり、コンピュータ内の記憶手段に格納される。
【００４３】
アドレス解決応答パケット受信機構６は、多重アクセス制御機構２が受信したパケットの中から「アドレス解決応答パケット」だけを処理し、そのパケットに含まれているＩＰアドレスとＭＡＣアドレスのペアをアドレステーブル５に記録する。「アドレス解決応答パケット」は、図５に示すように、「自ＩＰアドレス」と「自ＭＡＣアドレス」のペアを含むデータである。
【００４４】
アドレス解決要求パケット送信機構７は、アドレス探索機構４でなりすました装置のアドレスペアを使用して、ネットワーク上の全ての装置にアドレス解決要求パケットを送信する。
【００４５】
アドレス使用パターン解析機構８は、アドレステーブル５を参照して、インターネットアドレス利用の特徴を抽出し、重複が発生する確率が最も小さいインターネットアドレスを選択する。
【００４６】
アドレス決定機構９は、アドレス使用パターン解析機構８で選択したインターネットアドレスが他の装置のアドレスと重複していないことを確認し、重複していた場合は、アドレス使用パターン解析機構８に次の候補を要求して得られたアドレスを再度検証する。
【００４７】
上記アドレス解決要求パケット受信機構３、アドレス解決応答パケット受信機構６、アドレス解決要求パケット送信機構７及びアドレス決定機構９により、アドレス検証機構１０が構成されている。
【００４８】
次に図６を参照して、コンピュータ＃１００の動作を説明する。
【００４９】
初めに、コンピュータ＃１００がＬＡＮケーブル１に接続されたとき、多重アクセス制御機構２により、ネットワーク上を流れているパケットを受信し、受信したパケットの中にブロードキャストで送られてくる「アドレス解決要求パケット」の有無をチェックする（ステップＳＴ１）。その結果、「アドレス解決要求パケット」を見つけたときは、それをアドレス解決要求パケット受信機構３に送り、その転送元ＩＰアドレスと取得要求先ＩＰアドレスとが異なるかどうかをチェックする（ＳＴ２）。そして、“ＮＯ”（両アドレスが同じ）であれば、「アドレス解決要求パケット」受信探索に戻る一方、“ＹＥＳ”（両アドレスが異なる）のとき、後述のＳＴ８以下の処理を行う。
【００５０】
上記ステップＳＴ１で「アドレス解決要求パケット」が無いまま、ＳＴ３の時間チェックで所定時間経過（タイムアウト）したとき、すなわち、所定時間以内に「アドレス解決要求パケット」が受信できなかったときは、他の装置が全くネットワークに接続されていないものとして、予め決められたネットワークアドレスの中からランダムにアドレスを選択する（ＳＴ４）。そして、アドレス検証機構１０により「アドレス検証」を行う（ＳＴ５）。これは、選択したアドレスが他の装置のアドレスと重複しているかの検証を行う処理であり、後で図８を参照して説明する。
【００５１】
上記「アドレス検証」の結果がアドレス重複か否かをチェックし（ＳＴ６）、重複しないときは、選択したアドレスを自装置のアドレスとして記録し（ＳＴ７）、この動作を終了する。重複が発見された場合は、後述（図７）のＳＴ１６以降の処理が行われる。
【００５２】
上記ステップＳＴ２の判定で、判定結果が“ＹＥＳ”であると、アドレス解決要求パケット受信機構３により、転送元ＩＰアドレスとアドレス要求先のＩＰアドレスが異なる有効なアドレス解決要求パケットだけがアドレステーブル５に登録され（ＳＴ８）、アドレス探索機構４により、ネットワーク上の全装置のＩＰアドレスとＭＡＣアドレスが収集される。
【００５３】
アドレス探索機構４は、アドレステーブルに登録されたＩＰアドレスとＭＡＣアドレスのペアを一組選択して、その両方のアドレスを自アドレスとしてなりすまし、選択したインターネットアドレスを解析して、アドレスの有効範囲にある全ての装置に対して「アドレス解決要求パケット」を送るようにアドレス解決要求パケット送信機構７に命令する（ＳＴ９）。
【００５４】
その命令を受けたアドレス解決要求パケット送信機構７は、有効範囲のインターネットアドレスの解決を要求する「アドレス解決要求パケット」を多重アクセス制御機構２に渡してネットワーク上にブロードキャストする（ＳＴ１０）。それを受信したネットワーク上の装置は、「アドレス解決応答パケット」を返してくるので、それを多重アクセス制御機構２が受信してアドレス解決応答パケット受信機構６に渡す。
【００５５】
アドレス解決応答パケット受信機構６は、受信したパケットを解析し、それを送ってきた装置のＩＰアドレスとＭＡＣアドレスのペアをアドレステーブル５に登録する（ＳＴ１１）。
【００５６】
ネットワークにブリッジやスイッチングハブのようなフィルタ機能を有するネットワーク間接続装置が入っている場合には、どこにどのＭＡＣアドレスを持った装置が接続されているかを動的に学習し、そのような装置が接続されていないＬＡＮには転送しないというフィルタリングをかけることがある。すなわち、なりすまされた方のオリジナルの装置に、期待したアドレス解決応答パケットが転送され、上記フィルタの機能により、当該装置に応答が転送されないことがある。そこで、これを防止するため、ネットワーク上で発見したすべての装置にラウンドロビンでなりすまし、アドレスの探索を継続する。
【００５７】
詳細には、図７に示すように、アドレステーブル５から別のＩＰアドレスとＭＡＣアドレスのペアを選択して、「アドレス解決要求パケット」を生成し（ＳＴ１２）、まだアドレス解決応答パケットを受信していないＩＰアドレスに対してのみ、なりすまし「アドレス解決要求パケット」をアドレス解決要求パケット送信機構７から送る（ＳＴ１３）。そして、「アドレス解決応答パケット」を返してこない場合、上記ＳＴ１２及びＳＴ１３の処理を繰り返す（ＳＴ１４）。
【００５８】
ラウンドロビンで探索が一巡すると、アドレステーブル５には、ネットワーク上に存在する装置のＩＰアドレスとＭＡＣアドレスとのペアがすべて登録されている。
【００５９】
次に、アドレス探索機構４は、アドレス使用パターン解析機構８を起動して、ＩＰアドレスが
小さい番号から割り当てられているか
大きい番号から割り当てられているのか
ランダムに割り当てられているのか
中ほどの番号から割り当てられているのか
小さい番号と大きい番号の両方から割り当てられているのか
という割当てパターンを解析する（ＳＴ１５）。そして、既に使用されているアドレス空間に隣接しない空間のうち最も広く空いているアドレスの範囲を探索し、その中からランダムに１つのＩＰアドレスを選択して、アドレス決定機構９に渡す（ＳＴ１６）。
【００６０】
アドレス決定機構９は、以下のようなアドレス検証を行う（ＳＴ５）。
【００６１】
次に、図８を参照して「アドレス検証」の処理動作を説明する。
【００６２】
アドレス決定機構９は、選択されたＩＰアドレスを転送元とし、アドレス要求先も同じＩＰアドレスとした無効なアドレス解決要求パケットを生成し（ＳＴ２１）、ＬＡＮケーブル１を介してネットワーク上にブロードキャストする（ＳＴ２２）。送信元ＭＡＣアドレスは、当該装置が本来持つオリジナルのアドレスである。これは、同じ方法を採用している他の装置へアドレス決定を宣言するものである。そして、他の装置から同じＩＰアドレスを使用するアドレス決定宣言がネットワーク上にブロードキャストされたかどうかをチェックし（ＳＴ２３）、所定時間待って（ＳＴ２４），その時間内に同じＩＰアドレスのアドレス解決要求パケットが送信されなければ、宣言したアドレスが他の装置のＩＰアドレスと重複しないことが確認され、アドレス検証結果を「非同一」として（ＳＴ２５）、アドレス検証を終了する。
【００６３】
一方、所定時間内に他装置からの当該パケットを受信したときは、ＩＰアドレスは同一かを判定し（ＳＴ２６）、“ＹＥＳ”であれば、アドレス検証結果を「同一」とする（ＳＴ２８）。“ＮＯ”の場合には、そのアドレス解決要求パケットに含まれる送信元のＭＡＣアドレスを取り出し、自装置のそれと比較して小さいかどうかを判定する（ＳＴ２７）。そして、“ＹＥＳ”のとき、すなわち自装置のＭＡＣアドレスの方が大きい場合は、優先権があると考え、アドレス検証結果を「非同一」とする（ＳＴ２５）。一方、“ＮＯ”のとき、すなわち自装置のＭＡＣアドレスの方が小さい場合は、そのインターネットアドレスの使用の優先度が低いものとみなし、アドレス検証結果を「同一」とする（ＳＴ２８）。
【００６４】
再び図６において、上記アドレス検証が終了すると、アドレスが重複か否かを判定する（ＳＴ６）。アドレス検証結果が「非同一」の場合、判定結果は“ＮＯ”であり、選択したアドレスを自装置のアドレスとして記録し（ＳＴ７）、この動作を終了する。ステップＳＴ６の判定結果が“ＹＥＳ”の場合は、重複するアドレスが既にあるということで、前記ステップＳＴ１６以降の手順を繰り返す。
【００６５】
以上の手順により、最終的に重複しないアドレスを自律的に各装置が決定し、ＩＰアドレスの自動割当てが達成される。
【００６６】
次に、本発明の第３の方法により、ＩＰアドレスとして許容される有効な範囲のアドレスから重複しないＩＰアドレスを選択するために用いられる「ＩＰネットワークアドレス」及び「サブネットマスク」について説明する。
【００６７】
まず、図９に示すように、「ＩＰアドレス」及び「ネットマスク」が10進記法で、それぞれ「192.168.0.1」及び「255.255.255.0」と表わされる場合、これらの２進数表現は、それぞれ「11000000.10101000.00000000.00000001」及び「11111111.11111111.11111111.00000000」となる。
【００６８】
ＬＡＮケーブルを識別するネットワークアドレス部と、そのＬＡＮに接続されている個々の装置を識別するためのホストアドレス部とで構成される。同じＬＡＮケーブルに接続されている全ての装置は、同じネットワークアドレス部の値を持たなければならない。ＩＰアドレスからホストアドレス部だけを取り出すための演算には、ネットマスクが使用される。
【００６９】
また、図１０に示すように、ネットマスクのクラスはＡ,Ｂ,Ｃの３つあり、各クラスのデフォルト値（デフォルトマスク）は、それぞれ10進記法で「255.0.0.0」、「255.255.0.0」、「255.255.255.0」である。各クラスに対応するＩＰアドレスの範囲は、「1.0.0.0〜126.0.0.0」、「128.1.0.0〜191.254.0.0」、「192.0.1.0〜223.255.254.0」で、１つのネットワーク当りのホスト数は1600万、65534、254である。
【００７０】
ここで、図１１に示すように、10進記法で「192.168.0.1」、「192.168.0.4」、「192.168.0.6」、「192.168.0.10」と表わされ、２進記法で「11000000.10101000.00000000.00000001」、「11000000.10101000.00000000.00000100」、「11000000.10101000.00000000.00000110」、「11000000.10101000.00000000.00001010」と表わされる４つのＩＰアドレスが収集されたものとする。
【００７１】
「ＩＰネットワークアドレス」及び「サブネットマスク」は、これら４つのＩＰアドレスから次のようにして決定される。
【００７２】
図１２に示すように、初めに、（１）４つの収集されたＩＰアドレスの２進数表現の最小桁からＮ＝１ビット目の桁で各２進数表現を区切り、１ビット以上の桁を上位ビット、１ビット未満の桁を下位ビットとして、各ＩＰアドレスの上位ビットを比較すると、全ての上位ビットは同一でない。従って、ＩＰネットワークアドレスとサブネットマスクは決まらない。
【００７３】
次に、（２）Ｎを１つ増やして、すなわちＮ＝２として、各ＩＰアドレスの上位ビットを比較すると、この場合も、全ての上位ビットは同一でない。従って、ＩＰネットワークアドレスとサブネットマスクは決まらない。
【００７４】
そこで、（３）Ｎを更に１つ増やして、すなわちＮ＝３として、各ＩＰアドレスの上位ビットを比較すると、この場合も、全ての上位ビットは同一でない。従って、ＩＰネットワークアドレスとサブネットマスクは決まらない。
【００７５】
そこで、（４）Ｎを更に１つ増やして、すなわちＮ＝４として、各ＩＰアドレスの上位ビットを比較すると、全ての上位ビットが一致する、すなわち同一になる。従って、当該上位ビットの数字はそのままで、各ＩＰアドレスの下位ビットの数字を全て０にした２進数で表わされる
「11000000.10101000.00000000.00000000」を「ＩＰネットワークアドレス」とし、かつ、当該上位ビットの数字は全て１で、前記複数のＩＰアドレスの下位ビットの数字を全て０にした２進数で表わされる
「11111111.11111111.11111111.11110000」を「サブネットマスク」とする。
【００７６】
次に、（５）Ｎ＝５として、各ＩＰアドレスの上位ビットを比較すると、全ての上位ビットが同一になる。従って、当該上位ビットの数字はそのままで、各ＩＰアドレスの下位ビットの数字を全て０にした２進数で表わされる
「11000000.10101000.00000000.00000000」を「ＩＰネットワークアドレス」とし、かつ、当該上位ビットの数字は全て１で、前記複数のＩＰアドレスの下位ビットの数字を全て０にした２進数で表わされる
「11111111.11111111.11111111.11100000」を「サブネットマスク」とする。
【００７７】
以下、同様にＮを１ずつ（この例の場合、Ｎ＝３２まで）増加させ、各ＩＰアドレスのＮ以上の上位ビットが全て同一か否かの判定を行い、上位ビットが全て同一のとき、上記のようにＩＰネットワークアドレスとサブネットマスクを決めることにより、最後に選択すべきＩＰアドレスを決定するためのＩＰネットワークアドレスとサブネットマスクの組み合わせ（この例の場合、Ｎ＝４〜８に対応した５通りの組み合わせ）が得られる。具体的には、
（６）Ｎ＝６のとき、「11000000.10101000.00000000.00000000」を「ＩＰネットワークアドレス」とし、かつ、「11111111.11111111.11111111.11000000」を「サブネットマスク」とする。
【００７８】
（7）Ｎ＝７のとき、「11000000.10101000.00000000.00000000」を「ＩＰネットワークアドレス」とし、かつ、「11111111.11111111.11111111.10000000」を「サブネットマスク」とする。
【００７９】
（８）Ｎ＝８のとき、「11000000.10101000.00000000.00000000」を「ＩＰネットワークアドレス」とし、かつ、「11111111.11111111.11111111.00000000」を「サブネットマスク」とする。
【００８０】
最後にＮ＝３２のときは、各ＩＰアドレスの上位ビットは無くなり、これを全ての上位ビットが同一とみると、各ＩＰアドレスの下位ビットの数字を全て０にした「00000000.00000000.00000000.00000000」が「ＩＰネットワークアドレス」、そして各ＩＰアドレスの下位ビットの数字を全て０にした
「00000000.00000000.00000000.00000000」が「サブネットマスク」となるが、これらの値は「０」であるので、これらは採用しない。
【００８１】
従って、新たにＬＡＮに接続される装置であるコンピュータ#１００の使用者などは、上記のようにして得られたＩＰネットワークアドレスとネットマスクの組み合わせに対応した有効な範囲のＩＰアドレスから、適切な（つまり、他の装置のＩＰアドレスを除いた）ＩＰアドレスを選択することができる。
【００８２】
上記の例では、収集したＩＰアドレスの各２進数表現を区切る桁数Ｎを右（最小桁）から順次１つ増加させているが、これに限らず、Ｎを最大桁（左）から順次減少させるか、或いはＮを所定範囲（例えば、１≦Ｎ≦３２）内の適当な数値から始めてランダムに任意の数に変えるようにしてもよい。
【図面の簡単な説明】
【図１】  本発明の方法を実施するネットワークの構成例を示す図。
【図２】  ネットワークに接続されるコンピュータの通信手段の構成を示す図。
【図３】  アドレステーブルの一例を示す図。
【図４】  アドレス解決要求パケットの構造の一例を示す図。
【図５】  アドレス解決応答パケットの構造の一例を示す図。
【図６】  本発明の方法による処理手順を示すフローチャート。
【図７】  図６に続くフローチャート。
【図８】  アドレス検証の処理手順を示すフローチャート。
【図９】  ＩＰアドレス及びネットマスクを１０進記法と２進記法で表した例を示す図。
【図１０】  ネットマスクのクラスと各クラスのデフォルト値、及び対応するＩＰアドレスの範囲と１ネットワーク当りのホスト数を示す図。
【図１１】  収集したＩＰアドレス（例）の表記法を示す図。
【図１２】  ＩＰネットワークアドレスとサブネットマスクを決定する手順を示す図。
【符号の説明】
１…ＬＡＮケーブル、２…多重アクセス制御機構、３…アドレス解決要求パケット受信機構、４…アドレス探索機構、５…アドレステーブル、６…アドレス解決応答パケット受信機構、７…アドレス解決要求パケット送信機構、８…アドレス使用パターン解析機構、９…アドレス決定機構、１０…アドレス検証機構。
【図１】
0003718621.tif 000002
【図２】
0003718621.tif 000003
【図３】
0003718621.tif 000004
【図４】
0003718621.tif 000005
【図５】
0003718621.tif 000006
【図６】
0003718621.tif 000007
【図７】
0003718621.tif 000008
【図８】
0003718621.tif 000009
【図９】
0003718621.tif 000010
【図１０】
0003718621.tif 000011
【図１１】
0003718621.tif 000012
【図１２】
0003718621.tif 000013