(57)【特許請求の範囲】
【請求項１】
通信ネットワークに接続され、当該通信ネットワークとの間でデータの送受信を行う通信インタフェースと、
所定のプロトコル階層において自装置を一意に識別するための通信アドレスを生成するアドレス生成手段と、
自装置に割り当てられる通信アドレスが前記通信ネットワークに属する他のネットワーク機器に重複して割り当てられているか否かのチェックを行うアドレス重複チェック手段と、
重複しているとのチェック結果が前記アドレス重複チェック手段により得られたことを契機として、前記アドレス生成手段による新たな通信アドレスの生成および当該新たな通信アドレスについての前記アドレス重複チェック手段によるチェックを、上限回数或いは重複していないとのチェック結果が得られるまで繰り返すチェック制御手段と、
重複していないとのチェック結果が得られた通信アドレスを前記通信インタフェースに設定するアドレス設定手段と、を備え、
前記アドレス重複チェック手段は、
互いに異なる複数の方法で自装置に割り当てられる通信アドレスが前記通信ネットワークに属する他のネットワーク機器に重複して割り当てられているか否かのチェックを行い、
前記チェック制御手段は、前記複数の方法の全てにおいて重複していないとのチェック結果が得られるまで、前記アドレス重複チェック手段によるチェックを繰り返す
ことを特徴とする中継装置。
【請求項２】
前記アドレス重複チェック手段は、
前記所定のプロトコル階層において自装置を一意に識別するために前記通信インタフェースに割り当てる通信アドレスを割り当てられているネットワーク機器に対して応答を要求するデータブロックであって、前記プロトコル階層と同等または上位の階層の通信プロトコルにしたがって送受信されるデータブロックを前記通信インタフェースにより受信した場合に、当該通信アドレスは重複していると判定する
ことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記アドレス重複チェック手段は、
前記通信インタフェースに割り当てる通信アドレスを割り当てられているネットワーク機器に対して応答を要求するデータブロックを送信し当該データブロックに対する応答を受信した場合に、自装置の方が当該応答の送信元よりも優先度が高ければ前記送信元へ再起動を指示するとともに、当該通信アドレスについて重複していないと判定する一方、自装置の方が優先度が低ければ当該通信アドレスは重複していると判定する
ことを特徴とする請求項１に記載の中継装置。
【請求項４】
通信ネットワークに接続され、当該通信ネットワークとの間でデータの送受信を行う通信インタフェースと、
所定のプロトコル階層において自装置を一意に識別するための通信アドレスを生成するアドレス生成手段と、
自装置に割り当てられる通信アドレスが前記通信ネットワークに属する他のネットワーク機器に重複して割り当てられているか否かのチェックを行うアドレス重複チェック手段と、
重複しているとのチェック結果が前記アドレス重複チェック手段により得られたことを契機として、前記アドレス生成手段による新たな通信アドレスの生成および当該新たな通信アドレスについての前記アドレス重複チェック手段によるチェックを、上限回数或いは重複していないとのチェック結果が得られるまで繰り返すチェック制御手段と、
重複していないとのチェック結果が得られた通信アドレスを前記通信インタフェースに設定するアドレス設定手段と、を備え、
前記アドレス重複チェック手段は、
前記所定のプロトコル階層において自装置を一意に識別するために前記通信インタフェースに割り当てる通信アドレスを割り当てられているネットワーク機器に対して応答を要求するデータブロックであって、前記プロトコル階層と同等または上位の階層の通信プロトコルにしたがって送受信されるデータブロックを前記通信インタフェースにより受信した場合に、当該通信アドレスは重複していると判定する
ことを特徴とする中継装置。
【請求項５】
通信ネットワークに接続され、当該通信ネットワークとの間でデータの送受信を行う通信インタフェースと、
所定のプロトコル階層において自装置を一意に識別するための通信アドレスを生成するアドレス生成手段と、
自装置に割り当てられる通信アドレスが前記通信ネットワークに属する他のネットワーク機器に重複して割り当てられているか否かのチェックを行うアドレス重複チェック手段と、
重複しているとのチェック結果が前記アドレス重複チェック手段により得られたことを契機として、前記アドレス生成手段による新たな通信アドレスの生成および当該新たな通信アドレスについての前記アドレス重複チェック手段によるチェックを、上限回数或いは重複していないとのチェック結果が得られるまで繰り返すチェック制御手段と、
重複していないとのチェック結果が得られた通信アドレスを前記通信インタフェースに設定するアドレス設定手段と、を備え、
前記アドレス重複チェック手段は、
前記通信インタフェースに割り当てる通信アドレスを割り当てられているネットワーク機器に対して応答を要求するデータブロックを送信し当該データブロックに対する応答を受信した場合に、自装置の方が当該応答の送信元よりも優先度が高ければ前記送信元へ再起動を指示するとともに、当該通信アドレスについて重複していないと判定する一方、自装置の方が優先度が低ければ当該通信アドレスは重複していると判定する
ことを特徴とする中継装置。
【請求項６】
前記通信アドレスの少なくとも一部は接続先の通信ネットワークを示し、
前記アドレス生成手段は、
新たな通信アドレスを生成する際に、前記アドレス重複チェック手段により重複しているとのチェック結果が得られた通信アドレスと同じ通信ネットワークを示す通信アドレスを生成する
ことを特徴とする請求項１〜５の何れか１項に記載の中継装置。
【請求項７】
前記アドレス生成手段は、
新たな通信アドレスを生成する際に、接続先の通信ネットワークを示す部分以外を疑似乱数を用いて、または所定値の加算により生成する
ことを特徴とする請求項６に記載の中継装置。
【請求項８】
前記チェック制御手段は、
前記アドレス重複チェック手段により重複しているとのチェック結果が得られた通信アドレスを重複アドレスリストに登録し、
前記アドレス生成手段は、
前記重複アドレスリストに登録されている通信アドレスの何れとも異なる通信アドレスを生成する
ことを特徴とする請求項１〜７の何れか１項に記載の中継装置。
【請求項９】
通信ネットワークに接続され、当該通信ネットワークとの間でデータの送受信を行う通信インタフェースと、
所定のプロトコル階層において自装置を一意に識別するための通信アドレスを生成するアドレス生成手段と、
自装置に割り当てられる通信アドレスが前記通信ネットワークに属する他のネットワーク機器に重複して割り当てられているか否かのチェックを行うアドレス重複チェック手段と、
重複しているとのチェック結果が前記アドレス重複チェック手段により得られたことを契機として、前記アドレス生成手段による新たな通信アドレスの生成および当該新たな通信アドレスについての前記アドレス重複チェック手段によるチェックを、上限回数或いは重複していないとのチェック結果が得られるまで繰り返すチェック制御手段と、
重複していないとのチェック結果が得られた通信アドレスを前記通信インタフェースに設定するアドレス設定手段と、を有し、
前記アドレス重複チェック手段は、
前記通信インタフェースに割り当てる通信アドレスを割り当てられているネットワーク機器に対して応答を要求するデータブロックを送信し当該データブロックに対する応答を受信した場合に、自装置の方が当該応答の送信元よりも優先度が高ければ前記送信元へ再起動を指示するとともに、当該通信アドレスについて重複していないと判定する一方、自装置の方が優先度が低ければ当該通信アドレスは重複していると判定する
ことを特徴とするネットワーク機器。
【請求項１０】
通信ネットワークに接続され、当該通信ネットワークとの間でデータの送受信を行う中継装置における通信アドレスの設定方法において、
所定のプロトコル階層において当該中継装置を一意に識別するために当該中継装置に設定する新たな通信アドレスを生成し当該新たな通信アドレスが前記通信ネットワークに属する他のネットワーク機器に重複して割り当てられているか否かをチェックする処理を、上限回数に達するまで或いは重複していないとのチェック結果が得られるまで繰り返し、重複していないとのチェック結果が得られた通信アドレスを当該中継装置に設定し、
前記チェックする処理では、互いに異なる複数の方法で前記中継装置に割り当てられる通信アドレスが前記通信ネットワークに属する他のネットワーク機器に重複して割り当てられているか否かのチェックを行い、前記複数の方法の全てにおいて重複していないとのチェック結果が得られるまで、チェックを繰り返す
ことを特徴とする通信アドレスの設定方法。
【請求項１１】
コンピュータを、
通信ネットワークに接続され、当該通信ネットワークとの間でデータの送受信を行う中継装置として機能させるとともに、
所定のプロトコル階層において自装置を一意に識別するための通信アドレスを生成するアドレス生成手段と、
当該コンピュータに割り当てられる通信アドレスが前記通信ネットワークに属する他のネットワーク機器に重複して割り当てられているか否かのチェックを行うアドレス重複チェック手段と、
重複しているとのチェック結果が前記アドレス重複チェック手段により得られたことを契機として、前記アドレス生成手段による新たな通信アドレスの生成および当該新たな通信アドレスについての前記アドレス重複チェック手段によるチェックを、上限回数に達するまで或いは重複していないとのチェック結果が得られるまで繰り返すチェック制御手段と、
重複していないとのチェック結果が得られた通信アドレスを当該コンピュータに設定するアドレス設定手段と、
して機能させ、
前記アドレス重複チェック手段は、
互いに異なる複数の方法で自装置に割り当てられる通信アドレスが前記通信ネットワークに属する他のネットワーク機器に重複して割り当てられているか否かのチェックを行い、
前記チェック制御手段は、前記複数の方法の全てにおいて重複していないとのチェック結果が得られるまで、前記アドレス重複チェック手段によるチェックを繰り返す
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信ネットワークに含まれるネットワーク機器に関する。
【背景技術】
【０００２】
近年では、企業や学校、医療現場等にＬＡＮ（Local Area Network）などの通信ネットワークを敷設することが一般に行われている。また、このような通信ネットワークをルータなどのネットワーク機器を介してインターネットなどの他の通信ネットワークに接続して通信システムを構築することも一般に行われている。なお、通信ネットワークに含まれるネットワーク機器の具体例としては、上記ルータの他にネットワーク対応のプリンタ装置やスキャナ装置、パーソナルコンピュータ等が挙げられる。このような通信ネットワークを新たに導入する場合或いは既存の通信ネットワークに新たなネットワーク機器を導入する場合或いは既存のネットワーク機器の置き換えを行う場合などには、その通信ネットワークに含まれる各ネットワーク機器に対して一意の通信アドレス（例えば、ＩＰ（Internet Protocol）アドレス）が割り当てられるようにする必要がある。この種の通信アドレスは、通信ネットワークにおいて各ネットワーク機器を一意に識別する識別子の役割を果たすからである。例えば、ＩＰアドレスは、ＯＳＩ参照モデルの第３層（ネットワーク層）において各ネットワーク機器を一意に識別する識別子の役割を果たす。このＩＰアドレスには、ＩＰｖ６に準拠したものとＩＰｖ４に準拠したものの２種類がある。以下では、ＩＰｖ６に準拠したＩＰアドレスを「ＩＰｖ６アドレス」と呼び、ＩＰｖ４に準拠したＩＰアドレスを「ＩＰｖ４アドレス」と呼ぶ。また、ＩＰｖ６アドレスには、リンクローカルアドレス、グローバルローカルアドレス、ユニークローカルアドレス、サイトローカルアドレス等がある。
【０００３】
しかし、機器の故障や人為的ミス等により複数のネットワーク機器に対して同一の通信アドレスが重複して設定されてしまう場合がある。このような通信アドレスの重複が発生すると、その通信アドレスを割り当てられたネットワーク機器は他のネットワーク機器との間でデータ通信を行えなくなることが多く、ＳＩやＮＩ等の専門家であっても原因の特定に時間を要する場合がある。特に上記通信アドレスとしてＩＰｖ６のリンクローカルアドレスを用いる場合には、ネットワーク機器ベンダによってその生成アルゴリズムが異なるため、予期せぬ通信アドレスの重複が発生することがある。また、リンクローカルアドレスの重複が発生した場合には再起動するまでそのネットワーク機器を使えないといったケースもある（非特許文献１参照）。そこで、このような不具合を解消するための技術が種々提案されており、その一例としては特許文献１に開示の技術が挙げられる。特許文献１には、ＩＰｖ６対応のアグリゲーションネットワークに加入者装置を接続するためのアクセスノードを設け、各ネットワーク機器の通信アドレス自体をＮＡＴ（Network
Address Translation）と同様に変換することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５２４１９５７号
【特許文献２】特開２００６−１７３８７９号公報
【非特許文献】
【０００５】
【非特許文献１】ＲＦＣ２４８２／５．４．５「リンクローカルアドレスの衝突したインタフェースは不使用（ＳＨＯＵＬＤ）」
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に開示の技術には、アドレス変換を行うアクセスノードが別途必要となり汎用性に欠けるといった問題がある。特許文献２には、セキュリティ上の問題を解決するためのＭＡＣ（Media Access Control）アドレスをランダムに生成し、このＭＡＣアドレスに基づいてＩＰｖ６アドレスを生成することが開示されている。ＭＡＣアドレスとはＯＳＩ参照モデルの第２層（データリンク層）における通信アドレスである。ＭＡＣアドレスに基づいてＩＰｖ６アドレスを生成することで自動生成されるＩＰｖ６アドレスの振れ幅を小さくし、予期せぬ重複の発生を軽減できると期待される。しかし、ＭＡＣアドレスをランダム生成されたものに変えてしまうと、ＭＡＣアドレスに基づく個体の特定ができなくなるなど、やはり汎用性の低下を招いてしまう。
【０００７】
本発明は上記課題に鑑みて為されたものであり、通信ネットワークに接続される複数のネットワーク機器に同一の通信アドレスが重複して設定された場合であっても、その重複を自動的に解消することが可能で、かつ汎用性の低下を生じさせない技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明は、通信ネットワークに接続され、当該通信ネットワークとの間でデータの送受信を行う通信インタフェースと、所定のプロトコル階層において自装置を一意に識別するための通信アドレスを生成するアドレス生成手段と、自装置に割り当てられる通信アドレスが前記通信ネットワークに属する他のネットワーク機器に重複して割り当てられているか否かのチェックを行うアドレス重複チェック手段と、重複しているとのチェック結果が前記アドレス重複チェック手段により得られたことを契機として、前記アドレス生成手段による新たな通信アドレスの生成および当該新たな通信アドレスについての前記アドレス重複チェック手段によるチェックを、上限回数（例えば、５や１０などの所定値）或いは重複していないとのチェック結果が得られるまで繰り返すチェック制御手段と、重複していないとのチェック結果が得られた通信アドレスを前記通信インタフェースに設定するアドレス設定手段と、を有することを特徴とするネットワーク機器、を提供する。
【０００９】
アドレス重複チェック手段によるチェックの具体的な実現態様としては、上記所定のプロトコル階層と同等或いはより下位のプロトコル階層の通信を利用して上記チェックを行う態様が挙げられる。また、上記通信アドレスの具体例としては、ＩＰアドレス（すなわち、ＩＰｖ６アドレス或いはＩＰｖ４アドレス）が挙げられる。上記通信アドレスがＩＰアドレスである場合、本発明のネットワーク機器に他のネットワーク機器と重複するＩＰアドレスが誤って設定されると、アドレス重複チェック手段はＩＰアドレスの重複を以下の要領で検出する。上記ＩＰアドレスがＩＰｖ６アドレスであれば、ＩＣＭＰｖ６（第３層の通信）を利用して重複を検出する。また、上記ＩＰアドレスがＩＰｖ４アドレスであればＡＲＰ（第２層の通信）を利用して重複を検出する。そして、本発明のネットワーク機器では、重複していないとのチェック結果が得られるか或いは上限回数に達するまで新たな通信アドレスを生成して重複の有無をチェックする処理が繰り返し実行され、重複していないとのチェック結果が得られたＩＰアドレスが通信インタフェース部に設定される。なお、アドレス重複チェック手段によるチェックの実現態様は、上記所定のプロトコル階層と同等或いはより下位のプロトコル階層の通信を利用する態様には限定されず、上記所定のプロトコル階層よりも上位のプロトコル階層の通信を利用した態様も考えられる。また、各ネットワーク機器がＯＳＩ参照モデルに準拠した通信プロトコルとは全く別個の通信（例えば、ＵＳＢ規格に準拠した通信）を行えるのであれば、当該通信を利用してアドレス重複チェックを行うようにしても良い。
【００１０】
このように本発明のネットワーク機器によれば、通信ネットワークに接続される複数のネットワーク機器に同一の通信アドレスが重複して設定された場合であっても、通信アドレスの重複が自動で解消される。加えて本発明によれば、アクセスノードが必要となることはなく、またＭＡＣアドレスのランダム生成も行われないため、汎用性が低下することもない。なお、上記上限値をコマンド等でユーザが更新できるようにしても勿論良い。さらに、上記処理の繰り返し回数が上記上限回数を超えたら当該処理の繰り返しを中断し、ネットワーク機器のユーザ（或いはネットワーク管理者）に対して報知を行うようにしても良い。
【００１１】
より好ましい態様においては、上記通信アドレスの少なくとも一部は接続先の通信ネットワークを示し、アドレス生成手段は、新たな通信アドレスを生成する際にアドレス重複チェック手段により重複しているとのチェック結果が得られた通信アドレスと同じ通信ネットワークを示し、かつ当該通信アドレスとは異なる通信アドレスを生成する。上記通信アドレスがＩＰｖ６アドレスである場合には、上記少なくとも一部はプレフィックスである。この場合、アドレス生成手段は、アドレス重複チェック手段により重複しているとのチェック結果が得られたＩＰｖ６アドレスとプレフィックスが一致し、かつプレフィックス以外の部分が異なるＩＰｖ６アドレスを生成する。これに対して、上記通信アドレスがＩＰｖ４アドレスである場合には、上記少なくとも一部はネットワークアドレスである。この場合、アドレス生成手段は、アドレス重複チェック手段により重複しているとのチェック結果が得られたＩＰｖ４アドレスとネットワークアドレスが一致し、かつネットワークアドレス以外の部分が異なるＩＰｖ４アドレスを生成する。
【００１２】
このような態様によれば、通信アドレス全体を新たに生成する態様に比較して上記上限回数を小さな値とすることが可能になる。具体的には、上記通信アドレスのビット数から接続先の通信ネットワークを示している部分のビット数（ＩＰｖ４アドレスであればネットワークアドレスのビット数、ＩＰｖ６アドレスであればプレフィックス長）を減算して得られる値（すなわち、接続先の通信ネットワークにおいて利用可能な通信アドレスの総数）に応じて上記上限回数を定めれば良い。
【００１３】
より好ましい態様においては、アドレス重複チェック手段は、重複しているとのチェック結果が得られた通信アドレスを重複アドレスリストに登録し、アドレス生成手段は、重複アドレスリストに登録されている通信アドレスの何れとも異なる通信アドレスを生成することを特徴とする。アドレス重複チェック手段により重複しているとのチェック結果が得られた通信アドレスは以降も他のネットワーク機器に割り当てられている可能性が高く、このような通信アドレスについて再度アドレス重複チェックを行ったとしても、重複しているとのチェック結果が再度得られる可能性が高い。本態様によれば、過去に重複しているとのチェック結果が得られた通信アドレスはアドレス生成手段による生成対象から除外され、無駄なアドレス重複チェックが行われることを回避することができる。
【００１４】
また、別の好ましい態様においては、前記アドレス重複チェック手段は、前記通信インタフェースに割り当てる通信アドレスを割り当てられているネットワーク機器に対して応答を要求するデータブロックを前記通信インタフェースにより受信した場合に、当該通信アドレスは重複していると判定することを特徴とする。上記通信アドレスがＩＰｖ４アドレスである場合、上記データブロックの具体例としてはＡＲＰフレームが挙げられる。ＡＲＰフレームとは、そのＡＲＰフレームに書き込まれているＩＰｖ４アドレスを割り当てられているネットワーク機器のＭＡＣアドレスを取得するためのフレームであり、フレームとは第２層（すなわち、データリンク層）におけるデータの送受信単位のデータブロックである。一般的には、ＡＲＰフレームに書き込まれているＩＰｖ４アドレスが自装置のＩＰｖ４アドレスと一致する場合にはネットワーク機器は所定の応答フレームを返信する。この応答フレームを受信することでＡＲＰフレームの送信元はそのＡＲＰフレームに書き込んだＩＰｖ４アドレスを割り当てられているネットワーク機器のＭＡＣアドレスを取得する（換言すれば、当該ＩＰｖ４アドレスが既に他のネットワーク機器に割り当てられることを検出する）。これに対して本態様では、上記応答フレームの返信に代えて新たなＩＰアドレスを生成して自装置の通信インタフェースに設定する処理が実行される。そして、ＡＲＰフレームの送信元では、上記応答フレームが返信されてこないため、そのＡＲＰフレームに書き込んだＩＰｖ４アドレスは使用されていないと判定し当該ＩＰｖ４アドレスを自装置の通信インタフェースに割り当てることができる。つまり、本態様によれば、自装置に割り当てられている通信アドレスを他のネットワーク機器に譲ることにより通信アドレスの重複が解消される。
【００１５】
さらに別の好ましい態様においては、前記アドレス重複チェック手段は、前記通信インタフェースに割り当てる通信アドレスを割り当てられているネットワーク機器に対して応答を要求するフレームを送信し当該フレームに対する応答フレームを受信した場合に、自装置の方が当該応答フレームの送信元よりも優先度が高ければ前記送信元へ例えばアドレスの削除或いは通信インタフェースの再起動、装置の再起動などを指示するとともに、当該通信アドレスについて重複していないと判定する一方、自装置の方が優先度が低ければ当該通信アドレスは重複していると判定する。このような態様によれば、自装置と同じ通信アドレスを割り当てられている他のネットワーク機器よりも自装置のほうが優先度が高ければ、当該他のネットワーク機器から当該通信アドレスを奪うことで通信アドレスの重複が解消される。なお、上記通信アドレスがＩＰｖ４アドレスであれば、通信インタフェースに割り当てたアドレスの削除を行えば十分であるが、上記ＩＰｖ６アドレスであれば少なくとも通信インタフェースの再起動が必要となる。
【００１６】
上記課題を解決するための本発明の別の態様としては、ネットワーク機器の通信インタフェースに対する通信アドレスの設定方法であって、所定のプロトコル階層において当該ネットワーク機器を一意に識別するための通信アドレスを生成するアドレス生成ステップと、当該ネットワーク機器に割り当てられる通信アドレスが前記通信ネットワークに属する他のネットワーク機器に重複して割り当てられているか否かのチェックを行うアドレス重複チェックステップと、重複しているとのチェック結果が前記アドレス重複ステップにて得られたことを契機として、前記アドレス生成ステップによる新たな通信アドレスの生成および当該新たな通信アドレスについての前記アドレス重複チェックステップによるチェックを、上限回数或いは重複していないとのチェック結果が得られるまで繰り返すチェック制御ステップと、重複していないとのチェック結果が得られた通信アドレスを前記通信インタフェースに設定するアドレス設定ステップと、を当該ネットワーク機器に実行させることを特徴とする通信アドレスの設定方法を提供する態様が考えられる。
【００１７】
上記課題を解決するためのさらに別の態様としては、コンピュータを、所定のプロトコル階層において自装置を一意に識別するための通信アドレスを生成するアドレス生成手段と、当該コンピュータに割り当てられる通信アドレスが当該コンピュータの接続先の通信ネットワークに属する他のネットワーク機器に重複して割り当てられているか否かのチェックを行うアドレス重複チェック手段と、重複しているとのチェック結果が前記アドレス重複チェック手段により得られたことを契機として、前記アドレス生成手段による新たな通信アドレスの生成および当該新たな通信アドレスについての前記アドレス重複チェック手段によるチェックを、上限回数或いは重複していないとのチェック結果が得られるまで繰り返すチェック制御手段と、重複していないとのチェック結果が得られた通信アドレスを、当該コンピュータを前記通信ネットワークに接続するための通信インタフェースに設定するアドレス設定手段と、して機能させることを特徴とするプログラムを提供する態様が考えられる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態の通信システム１Ａの構成例を示すブロック図である。
【図２】ネットワーク機器１０の構成例を示すブロック図である。
【図３】ネットワーク機器１０の制御部１１０が重複解消プログラムにしたがって実行する重複解消処理の流れを示すフローチャートである。
【図４】本発明の第２実施形態の通信システム１Ｂの構成例を示すブロック図である。
【図５】本発明の第３実施形態を説明するための図である。
【図６】本発明の第４実施形態を説明するための図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しつつ、本発明の実施形態について説明する。
（Ａ：第１実施形態）
（Ａ−１：構成）
図１は、本発明の第１実施形態であるネットワーク機器１０−１および１０−２を含む通信システム１Ａの構成例を示すブロック図である。図１に示すように通信システム１Ａはネットワーク機器１０−１〜１０−２と集中管理サーバ２０とを含んでいる。ネットワーク機器１０−１〜１０−２と集中管理サーバ２０はインターネット３０に接続されている。
【００２０】
ネットワーク機器１０−１〜１０−２の各々は例えばルータである。ネットワーク機器１０−１および１０−２の各々は企業や学校等に敷設されたＬＡＮ（図１では図示略）をインターネット３０に接続する中継装置である。ネットワーク機器１０−１および１０−２の各々はインターネット３０を介して当該インターネット３０に接続された他のネットワーク機器と所定の通信プロトコルにしたがったデータ通信を行う。この通信プロトコルについては、プロトコル階層毎に適宜好適なものを採用すれば良く、本実施形態では第３層（すなわち、ネットワーク層）についてはＩＰｖ６が採用されている。ネットワーク機器１０−１とネットワーク機器１０−２は同一のハードウェア構成を有している。このため、以下では、ネットワーク機器１０−１とネットワーク機器１０−２の各々を区別する必要がない場合には「ネットワーク機器１０」と表記する。また、本実施形態では、通信システム１Ａに２台のネットワーク機器１０が含まれている場合について説明するが、３台以上のネットワーク機器１０が含まれていても良い。
【００２１】
集中管理サーバ２０は、ネットワーク機器１０がインターネット３０を介したデータ通信を行えるようにするための各種情報を一元管理し、ネットワーク機器１０の各々に設定するためのものである。集中管理サーバ２０によって各ネットワーク機器１０に設定される情報の一例としては、各ネットワーク機器１０に割り当てるＩＰｖ６アドレスが挙げられる。集中管理サーバ２０は、各ネットワーク機器１０に割り当てたＩＰｖ６アドレスとそのネットワーク機器１０を一意に示すハードウェア識別子（本実施形態では、ＭＡＣアドレス）とを対応付けて記憶する。これにより上記一元管理が実現される。なお、集中管理サーバ２０により一元管理する情報は、各ネットワーク機器１０に割り当てるＩＰｖ６アドレスに限定される訳ではなく、例えば、ネットワーク機器１０−１と１０−２の間にインターネット３０を介してＶＰＮ（Virtual Private Network）を構築する場合には、そのＶＰＮにて使用する暗号化通信に関する情報等も含まれる。
【００２２】
このように本実施形態ではネットワーク機器１０へのＩＰｖ６アドレスの設定は集中管理サーバ２０によって行われるのであるが、集中管理サーバ２０に対する各種設定に誤りがあると、同一のＩＰｖ６アドレスが複数のネットワーク機器１０に重複して設定されるといったことが起こり得る。本実施形態のネットワーク機器１０は、このようなＩＰｖ６アドレスの重複が発生したとしても自動的にその重複を解消することができるように構成されており、この点に本実施形態の特徴がある。以下、本実施形態の特徴を顕著に示すネットワーク機器１０を中心に説明する。
【００２３】
図２は、ネットワーク機器１０の構成例を示すブロック図である。
図２に示すように、ネットワーク機器１０は、制御部１１０、通信インタフェース１２０、記憶部１３０、およびこれら構成要素間のデータ授受を仲介するバス１４０を含んでいる。
【００２４】
制御部１１０は、例えばＣＰＵ（Central Processing Unit）である。制御部１１０は、記憶部１３０（より正確には不揮発性記憶部１３４）に記憶されている通信制御プログラム１３４ａにしたがって作動することによりネットワーク機器１０の制御中枢として機能する。制御部１１０が通信制御プログラム１３４ａにしたがって実行する処理の詳細については後に明らかにする。
【００２５】
通信インタフェース１２０は例えばＮＩＣ（Network Interface Card）であり、インターネット３０とネットワーク機器１０の設置場所に敷設されているＬＡＮに接続されている。通信インタフェース１２０は接続先の通信ネットワーク（インターネット３０或いは上記ＬＡＮ）から送信されてくるデータを受信して制御部１１０に引き渡す一方、制御部１１０から引き渡されたデータを上記接続先の通信ネットワークへ送出する。
【００２６】
記憶部１３０は、図２に示すように、揮発性記憶部１３２と不揮発性記憶部１３４を含んでいる。揮発性記憶部１３２は例えばＲＡＭ（Random Access Memory）である。揮発性記憶部１３２は通信制御プログラム１３４ａを実行する際のワークメモリとして制御部１１０によって利用される。不揮発性記憶部１３４は例えばフラッシュＲＯＭ（Read Only Memory）やハードディスクである。不揮発性記憶部１３４には、通信制御プログラム１３４ａが予め記憶されている。また、不揮発性記憶部１３４の記憶領域の一部は重複アドレスリスト１３４ｂとして使用される。この重複アドレスリスト１３４ｂの詳細については後に明らかにする。また、不揮発性記憶部１３４には、集中管理サーバ２０によって与えられた情報（本実施形態では、通信インタフェース１２０に割り当てるＩＰｖ６アドレス）も格納されている。
【００２７】
ネットワーク機器１０の電源（図２では図示略）がオンにされると、制御部１１０は通信制御プログラム１３４ａを不揮発性記憶部１３４から揮発性記憶部１３２に読み出し、その実行を開始する。通信制御プログラム１３４ａにしたがって作動している制御部１１０は、データ通信処理と重複解消処理とを実行する。データ通信処理は通信インタフェース１２０を介してＩＰｖ６パケットを受信する毎に実行される処理である。このデータ通信処理には、受信したＩＰｖ６パケットの送信先アドレスに基づく転送制御（所謂ルーティング、すなわち、第３層におけるデータの転送制御）が含まれている。このデータ通信処理については既存のルータにおけるものと特段に変わるところはないため、説明を省略する。
【００２８】
上記重複解消処理は、通信制御プログラム１３４ａの実行開始直後に制御部１１０によって実行される処理であり、自装置に割り当てられた通信アドレス（本実施形態では、ＩＰｖ６アドレス）が他のネットワーク機器１０に重複して割り当てられていた場合にその重複を検出し、その重複を解消する処理である。図３は重複解消処理の流れを示すフローチャートである。図３に示すように、制御部１１０は、まず、通信インタフェース１２０に割り当てる通信アドレスについて、同じ通信アドレスが他のネットワーク機器１０の通信インタフェースに割り当てられていないかを同等（すなわち、第３層）或いはより下位の階層のプロトコルにしたがったデータ通信を行ってチェックするアドレス重複チェック処理を実行する（ステップＳＡ１００）。本実施形態では、上記プロトコルとしてＤＡＤ（Duplication Address Detection）が採用されている。ＤＡＤとは、チェック対象のＩＰｖ６アドレスを使用中か否かを他のネットワーク機器に問い合わせ、その問い合わせに対する応答の有無により当該アドレスの重複を検出する第３層のプロトコルである。
【００２９】
ステップＳＡ１００にて重複して割り当てられていないとのチェック結果が得られた場合（ステップＳＡ１１０：Ｎｏ）には、制御部１１０は、重複していないとの判定結果が得られたＩＰｖ６アドレスを通信インタフェース１２０に設定し（ステップＳＡ１２０）、本重複解消処理を終了する。逆に、ステップＳＡ１００にて重複しているとの判定結果が得られた場合（ステップＳＡ１１０：Ｙｅｓ）には、制御部１１０はステップＳＡ１３０以降の処理を実行する。
【００３０】
ステップＳＡ１１０の判定結果が“Ｙｅｓ”である場合に実行されるステップＳＡ１３０では、制御部１１０は、重複しているとの判定結果が得られたＩＰｖ６アドレスを重複アドレスリスト１３４ｂに登録する。ステップＳＡ１３０に後続するステップＳＡ１４０では、制御部１１０は、新たなＩＰｖ６アドレスを生成するアドレス生成処理を実行する。
【００３１】
アドレス生成処理ＳＡ１４０では、制御部１１０は、ステップＳＡ１１０にて重複しているとの判定結果が得られた通信アドレスとは異なるものの、少なくとも一部（接続先の通信ネットワークを示す部分）が一致する通信アドレスを生成する。より詳細に説明すると、制御部１１０は、通信インタフェース１２０に設定する新たなＩＰｖ６アドレスを以下の要領で生成する。ＩＰｖ６アドレスは、そのＩＰｖ６アドレスを割り当てられるネットワーク機器の接続先の通信ネットワークを示すプレフィックスを含んでいる。制御部１１０は、新たなＩＰｖ６アドレスを生成する際にアドレス重複チェック処理にて重複しているとのチェック結果が得られたＩＰｖ６アドレスとプレフィックスが一致し、かつプレフィックス以外の部分が異なるＩＰｖ６アドレスを生成する。なお、制御部１１０は、新たに生成したＩＰｖ６アドレスが重複アドレスリスト１３４ｂに登録されている何れかのＩＰｖ６アドレスと一致した場合には、当該新たなＩＰｖ６アドレスを破棄してＩＰｖ６アドレスを生成し直す。重複アドレスリスト１３４ｂに記憶されているＩＰｖ６アドレスについて再度アドレス重複チェックを行っても、重複しているとのチェック結果が再度得られる可能性が高く、このような無駄なアドレス重複チェックが為されることを回避するためである。
【００３２】
ここで、ＩＰｖ６アドレスのプレフィックス以外の部分の生成方法の具体的な態様としては種々の態様が考えられる。例えば、プレフィックス以外の部分を疑似乱数を用いて生成する態様や、重複しているとのチェック結果が得られたＩＰｖ６アドレスのプレフィックス以外の部分に所定値（例えば、１０）加算或いは減算することで新たな値を生成する態様が考えられる。本実施形態では前者の態様（すなわち、疑似乱数を利用する態様）が採用されている。疑似乱数の生成アルゴリズムについては混合合同法やＭ系列法など周知のアルゴリズムを用いるようにすれば良い。また、上記所定値を疑似乱数に置き換えても勿論良い。
【００３３】
そして、制御部１１０は、ステップＳＡ１４０にて生成した新たな通信アドレスを対象としてステップＳＡ１００のアドレス重複チェック処理を再度実行する。つまり、ステップＳＡ１１０の判定結果が“Ｎｏ”になるまでステップＳＡ１３０およびステップＳＡ１４０の処理が繰り返し実行される。
以上が本実施形態における重複解消処理の流れである。
【００３４】
以上説明したように本実施形態では、制御部１１０を通信制御プログラム１３４ａにしたがって作動させることで、当該制御部１１０を、図２におけるアドレス重複チェック手段、チェック制御手段、アドレス生成手段およびアドレス設定手段として機能させている。すなわち、アドレス重複チェック手段は、図３におけるステップＳＡ１００の処理を実行する手段である。チェック制御手段は、図３のステップＳＡ１１０およびＳＡ１３０の処理を実行する手段である。アドレス生成手段は、図３のステップＳＡ１４０の処理を実行する手段であり、アドレス設定手段は図３のステップＳＡ１２０の処理を実行する手段である。本実施形態では、上記各手段をソフトウェアモジュールで実現したが電子回路などのハードウェアモジュールで実現しても勿論良い。
以上がネットワーク機器１０の構成である。
【００３５】
（Ａ−２：動作）
以下、ネットワーク機器１０−１とネットワーク機器１０−２に同じＩＰｖ６アドレス（例えば、fe80::11/64）が集中管理サーバ２０によって割り当てられている状況下で、ネットワーク機器１０−１の方が先に電源をオンとされて当該ＩＰｖ６アドレスの通信インタフェース１２０への設定を完了した後にネットワーク機器１０−２の電源がオンとされた場合を例にとって、本実施形態の動作を説明する。なお、上記ＩＰｖ６アドレスにおけるプレフィックスは“fe80::/64”である。
【００３６】
前述したように、ネットワーク機器１０−２の制御部１１０は、電源投入を契機として重複解消処理を実行する。本動作例では、ネットワーク機器１０−１には集中管理サーバ２０によってネットワーク機器１０−２と同一のＩＰｖ６アドレスが割り当てられており、ネットワーク機器１０−２における重複解消処理の実行時点ではネットワーク機器１０−１においては上記ＩＰｖ６アドレスの通信インタフェース１２０への設定を完了している。このため、ネットワーク機器１０−２の制御部１１０の実行する重複解消処理においてステップＳＡ１１０の判定結果は“Ｙｅｓ”となり、ステップＳＡ１３０以降の処理が実行される。つまり、ネットワーク機器１０−２では、プレフィックスが同一の新たなＩＰｖ６アドレス（例えば、fe80::628d:bf46:ce3f:c041/64）が生成され、ＤＡＤに成功すれば、当該新たなＩＰｖ６アドレスが通信インタフェース１２０に設定される。これにより、ネットワーク機器１０−１とネットワーク機器１０−２のＩＰｖ６アドレスの重複が解消され、第３層の通信プロトコル（本実施形態では、ＩＰｖ６）に準拠したデータ通信を行うことが可能になる。
【００３７】
上記の要領でＩＰｖ６アドレスの重複が解消されると、ネットワーク機器１０−２の制御部１１０は、最初に重複してしまったＩＰｖ６アドレスの削除依頼と新たに割り当てたＩＰｖ６アドレスの情報を集中管理サーバ２０に送信する。集中管理サーバ２０では、ネットワーク機器１０−２から送信された情報の登録が行われ、以後、重複アドレスを割り当てるような誤った設定が集中管理サーバ２０によって為されることはない。
【００３８】
以上説明したよう本実施形態によれば、インターネット３０に接続される複数のネットワーク機器１０に同一のＩＰｖ６アドレスが重複して設定された場合であっても、その重複を自動で解消することができる。加えて本実施形態では、特許文献１に開示の技術のようなアクセスノードを設ける必要はなく、また、ＭＡＣアドレスのランダム生成も行わないため、汎用性が低下することはない。なお、本実施形態では、ネットワーク機器１０にＩＰｖ６に準拠したデータ通信を行わせる場合（すなわち、ネットワーク機器１０にＩＰｖ６アドレスを割り当てる場合）について説明したが、ネットワーク機器１０にＩＰｖ４アドレスを割り当て、ＩＰｖ４に準拠したデータ通信を行わせるようにしても良い。このようにネットワーク機器１０にＩＰｖ４アドレスを割り当てる場合には、図３のアドレス重複チェック処理においてＤＡＤに代えてＡＲＰ（Address Resolution Protocol）を利用してＩＰｖ４アドレスの重複を検出するようにすれば良い。
【００３９】
ＡＲＰとは、ＩＰｖ４アドレスに対応するＭＡＣアドレス（すなわち、そのＩＰｖ４アドレスを割り当てられているネットワーク機器のＭＡＣアドレス）を動的に取得することを実現する第２層のプロトコルである。また、アドレス生成処理ＳＡ１４０にて新たなＩＰｖ４アドレスを生成する際には、重複しているとの判定結果が得られたＩＰｖ４アドレスとネットワークアドレス部分が一致しその他の部分が異なるＩＰｖ４アドレスを生成するようにすれば良い。ＩＰｖ４アドレスでは、ネットワークアドレス部分が接続先の通信ネットワークを示すからである。
【００４０】
また、アドレス重複の検出の具体的な実現態様は、ＤＡＤ或いはＡＲＰを利用した態様には限定されず、ｐｉｎｇまたはｐｉｎｇ６を利用した態様も考えられる。具体的には、ｐｉｎｇまたはｐｉｎｇ６を実行し、応答があればアドレスの重複割り当てがあると判定し、応答がなければ重複割り当てはないと判定する、といった具合である。ただし、ｐｉｎｇを利用してアドレス重複チェックを行う場合は、各ネットワーク機器１０が一つ以上の有効なグローバルアドレス(或いはプライベートアドレス)を持っていることが必要となる。各ネットワーク機器１０が有効なグローバルアドレス(或いはプライベートアドレス)を持っていなければ、ｐｉｎｇを用いたアドレス重複チェックを行えないからである。同様に、ＩＰｖ６を利用してアドレス重複チェックを行う場合は、各ネットワーク機器１０が一つ以上の有効なリンクローカルアドレス以外のアドレス(例えばグローバルアドレス、ユニークローカルアドレスなど)を持っていることが必要となる。加えて、ｐｉｎｇまたはｐｉｎｇ６を利用してアドレス重複チェックを行う場合は、各ネットワーク機器１０についてＩＣＭＰ (echo request/echo reply)をブロックしないように予め設定しておく必要がある。
【００４１】
また、アドレス重複チェック専用のフレームを新たに定義しても良い。例えば、新たなに通信アドレス（ＩＰｖ４アドレス或いはＩＰｖ６アドレス）を通信インタフェース部１２０に割り当てようとするネットワーク機器１０には、当該新たな通信アドレスをペイロード部等に書き込んだ上記フレームを送信（例えば、ブロードキャスト）させ、当該フレームを受信したネットワーク機器１０には当該フレームのペイロード部等に書き込まれている通信アドレスを使用中であれば、当該フレームの受信時点から規定時間内に応答を返信する処理を実行させるようにすれば良い。このような専用フレームを用いてアドレス重複チェックを行う場合は、同じネットワーク内(オンリンク)の全てのネットワーク機器１０が、この専用フレームを送受信する機能を有していることが必要となるが、専用フレームをブロックするもの（ｐｉｎｇを利用してアドレス重複チェックを行う場合のＩＣＭＰフィルタやＡＲＰを利用してアドレス重複チェックを行う場合のＭＡＣフィルタ）はないため、確実にアドレス重複を検出できる。
【００４２】
また、以上に説明した複数種のアドレス重複チェック方法（ｐｉｎｇを利用した方法、ＡＲＰを利用した方法、専用フレームを利用した方法）のうちの複数を併用しても良い。例えば、ｐｉｎｇを利用した方法でアドレス重複チェックを試み、応答がなかった場合には、ＡＲＰを利用した方法でアドレス重複チェックを試み、応答がなかった場合には、さらに専用フレームによりアドレス重複チェックを試みる、といった具合である。ｐｉｎｇを利用した方法やＡＲＰを利用した方法では、ＩＣＭＰフィルタやＭＡＣフィルタによってブロックされる場合があり、応答がなかったからといってアドレスが重複していないとは限らないからである。なお、上記のようにｐｉｎｇを利用した方法、ＡＲＰを利用した方法、および専用フレームを利用した方法をこの順に試みる態様であっても、ｐｉｎｇを利用した方法でアドレスの重複が検出された場合にはその時点で処理を打ち切れば良い（すなわち、ＡＲＰを利用したチェックや専用フレームを利用したチェックを行わない）ことは勿論である。
【００４３】
（Ｂ：第２実施形態）
図４は、本発明の第２実施形態の通信システム１Ｂの構成例を示すブロック図である。図４では図１におけるものと同一の構成要素には同一の符号が付されている。図４と図１とを対比すれば明らかなように、通信システム１Ｂの構成は、ネットワーク機器１０−３を有している点と、集中管理サーバ２０を有していない点の２点において通信システム１Ａの構成と異なる。また、本実施形態では、インターネット３０を介して行われるデータ通信の第３層の通信プロトコルとしてＩＰｖ４が採用されている点が異なる。
【００４４】
図４に示すように本実施形態の通信システム１Ｂには集中管理サーバ２０は含まれていない。本実施形態では、各ネットワーク機器１０へのＩＰｖ４アドレス等の設定はユーザ（或いはネットワーク管理者）によって手動で行われる。このため、人為的ミスによって同一のＩＰｖ４アドレスが複数のネットワーク機器１０に重複して設定されることが起こり得る。しかし、本実施形態のネットワーク機器１０では前述した重複解消処理が実行されるため、同一のＩＰｖ４アドレスの複数のネットワーク機器１０への重複設定が発生したとしてもその重複は自動的に解消される。
【００４５】
例えば、人為的ミスによってネットワーク機器１０−２とネットワーク機器１０−３に同じＩＰｖ４アドレス（例えば、192.168.0.1/24：ネットワークアドレスは192.168.0.0）が割り当てられている状況下で、ネットワーク機器１０−２の方が先に電源をオンとされて当該ＩＰｖ４アドレスの通信インタフェース１２０への設定を完了した後にネットワーク機器１０−３の電源がオンとされたとする。前述した第１実施形態と同様にネットワーク機器１０−３の制御部１１０は、電源投入を契機として重複解消処理を実行する。本実施形態の重複解消処理のステップＳＡ１００では、制御部１１０は自装置に割り当てられたＩＰｖ４アドレスについての重複の有無をＡＲＰを利用して判定する。具体的には、上記ステップＳＡ１００では、制御部１１０は、自装置に割り当てられたＩＰｖ４アドレスを対象とするＡＲＰフレーム（すなわち、ＭＡＣアドレス解決の対象のＩＰｖ４アドレスを設定されたネットワーク機器に対して応答フレームの返信を要求するフレーム）を送信し、所定時間内に応答フレームを受信した場合に重複ありと判定する。
【００４６】
前述したように本動作例では、ネットワーク機器１０−２にはネットワーク機器１０−３と同一のＩＰｖ４アドレスが割り当てられており、上記ＡＲＰフレームの送信時点ではネットワーク機器１０−２では通信インタフェース１２０へのＩＰｖ４アドレスの設定を完了している。このため、ネットワーク機器１０−２の制御部１１０は上記ＡＲＰフレームを受信すると、応答フレームを返信する。このようにしてネットワーク機器１０−２から返信された応答フレームを受信すると、ネットワーク機器１０−３の制御部１１０の実行する重複解消処理では、この応答フレームの受信によりステップＳＡ１１０の判定結果がＹｅｓとなり、ステップＳＡ１３０以降の処理が実行される。前述したようにＩＰｖ４アドレスではネットワークアドレス部分が接続先の通信ネットワークを示しているため、ネットワーク機器１０−３では、新たなＩＰｖ４アドレス（例えば、上記ＩＰｖ４アドレスのネットワークアドレス以外の部分に＋１して得られる192.168.0.2/24）が生成され、ＡＲＰによるアドレス重複チェックに成功すれば、当該新たなＩＰｖ４アドレスが通信インタフェース１２０に割り当てられる。
【００４７】
以上説明したように集中管理サーバ２０を用いない態様であっても、インターネット３０に接続される複数のネットワーク機器１０に同一のＩＰｖ４アドレスが重複して設定された場合には、その重複を自動で解消することができる。また、本実施形態においても、特許文献１に開示の技術のようなアクセスノードを設ける必要はなく、また、ＭＡＣアドレスのランダム生成も行わないため、汎用性が低下することはない。なお、本実施形態では、ネットワーク機器１０にＩＰｖ４に準拠したデータ通信を行わせる場合（すなわち、ネットワーク機器１０にＩＰｖ４アドレスを割り当てる場合）について説明したが、第１実施形態と同様にネットワーク機器１０にＩＰｖ６アドレスを割り当て、ＩＰｖ６に準拠したデータ通信を行わせるようにしても良い。この場合、ＩＰｖ６アドレスの重複チェックについては第１実施形態と同様にＤＡＤを利用して行えば良い。
【００４８】
本実施形態では、通信システム１Ｂに含まれる各ネットワーク機器１０へのＩＰｖ４アドレスの設定をユーザ等が手動で行う場合について説明した。しかし、ＩＰｖ４アドレスの設定が手動で行われるネットワーク機器とＤＨＣＰ（Dynamic
Host Configuration Protocol）によってＩＰｖ４アドレスが割り当てられるネットワーク機器とが混在している場合も、同一のＩＰｖ４アドレスの複数のネットワーク機器１０への重複設定が発生し得る。例えば、ＤＨＣＰにより割り当てるＩＰｖ４アドレスの範囲に属するＩＰｖ４アドレスが前者のネットワーク機器に誤って設定された場合などである。このように通信システム１ＢにＩＰｖ４アドレスの設定が手動で行われるネットワーク機器とＤＨＣＰによってＩＰｖ４アドレスが割り当てられるネットワーク機器とが混在している場合であっても、それらネットワーク機器が本実施形態のネットワーク機器１０であれば、制御部１１０に重複解消処理を実行させることで、ＩＰｖ４アドレスの重複を自動的に解消することができる。また、各ネットワーク機器にＩＰｖ６に準拠したデータ通信を行わせるとともに、ＩＰｖ６アドレスの設定が手動で行われるネットワーク機器とＤＨＣＰｖ６（ＩＮ＿ＮＡオプション）によってＩＰｖ６アドレスが割り当てられるネットワーク機器とが混在している通信システムにおいても同一のＩＰｖ６アドレスの複数のネットワーク機器への重複設定が発生し得るが、それらネットワーク機器が本実施形態のネットワーク機器１０であれば、当該重複設定を同様に解消することができる。
【００４９】
（Ｃ：第３実施形態）
上記第２実施形態では、自装置に割り当てられたＩＰｖ４アドレスについてのＭＡＣアドレス解決を要求するＡＲＰフレームを送信することで、そのＩＰｖ４アドレスの重複を検出し、重複が検出された場合には上記ＡＲＰフレームの送信元のネットワーク機器１０に新たなＩＰｖ４アドレスを生成する場合について説明した。つまり、第２実施形態では、同一のＩＰｖ４アドレスを割り当てられたネットワーク機器１０が複数ある場合には、先に通信インタフェースへの設定を行った方に優先的にそのＩＰｖ４アドレスを使用させた。これに対して、本実施形態では、通信インタフェースへの設定が後の方を優先させる（換言すれば、先に設定していた方が後の方に譲る）点に特徴がある。
【００５０】
前述した第２実施形態と同様にネットワーク機器１０−２とネットワーク機器１０−３に同じＩＰｖ４アドレス（例えば、192.168.0.1/24）が割り当てられている状況下で、ネットワーク機器１０−２の方が先に電源をオンとされて当該ＩＰｖ４アドレスの通信インタフェース１２０への設定を完了した後にネットワーク機器１０−３の電源がオンとされた場合を例にとって、本実施形態の動作を説明する。なお、ネットワーク機器１０へのＩＰｖ４アドレスの割り当ては、集中管理サーバ２０を用いる態様であっても良いし、手動で割り当てる態様であっても良い。
【００５１】
図５は、本実施形態における通信シーケンスの一例を示す図である。ネットワーク機器１０−３の制御部１１０は、電源投入を契機として自装置に割り当てられたＩＰｖ４アドレスをＭＡＣアドレスの解決対象とするＡＲＰフレームを送信し（図５：Ｓ１０１）、当該ＩＰｖ４アドレスについてのアドレス重複チェックを行う。前述したように本動作例ではネットワーク機器１０−２においては上記ＡＲＰフレームによるＭＡＣアドレス解決の対象のＩＰｖ４アドレスと同一のＩＰｖ４アドレスがネットワーク機器１０−２の通信インタフェース１２０に設定済である。ネットワーク機器１０−２が従来のネットワーク機器であれば、ネットワーク機器１０−２の制御部１１０は上記ＡＲＰフレームに対応する応答フレームを返信する。しかし、本実施形態のネットワーク機器１０では、制御部１１０は当該応答フレームの返信に代えて図３のステップＳＡ１３０以降の処理を実行する（図５：Ｓ１０２）。
【００５２】
つまり、本実施形態ではネットワーク機器１０−２の制御部１１０は上記ＡＲＰフレームの受信を契機として自装置に割り当てられたＩＰｖ４アドレスについての重複を検知し、ステップＳＡ１３０以降の処理を実行する。このため、ネットワーク機器１０−２の通信インタフェース１２０には、新たに生成されたＩＰｖ４アドレス（例えば、192.168.0.2/24）が設定される（図５：Ｓ１０２）。一方、ネットワーク機器１０−３では、上記ＡＲＰフレームに対応する応答が返信されてこないため、ネットワーク機器１０−３の制御部１１０は自装置に割り当てられたＩＰｖ４アドレス（例えば、192.168.0.1/24）について重複割り当てはないと判定し（図３:ステップＳＡ１１０、Ｙｅｓ）、当該ＩＰｖ４アドレスを自装置の通信インタフェース１２０に設定する（図５：Ｓ１０３）。
【００５３】
以上説明したように本実施形態によっても、インターネット３０に接続される複数のネットワーク機器１０に同一のＩＰｖ４アドレスが重複して設定された場合であっても、その重複を自動で解消することができる。なお、ネットワーク機器１０に手動でＩＰｖ４アドレスの割り当てが行われるものとＤＨＣＰによってＩＰｖ４アドレスの割り当てが行われるものが混在していても特段の問題が生じないことは前述した第２実施形態と同様である。また、本実施形態では、ネットワーク機器１０にＩＰｖ４に準拠したデータ通信を行わせる場合（すなわち、ネットワーク機器１０にＩＰｖ４アドレスを割り当てる場合）について説明したが、第１実施形態と同様にネットワーク機器１０にＩＰｖ６アドレスを割り当て、ＩＰｖ６に準拠したデータ通信を行わせるようにしても良い。
【００５４】
さらに本実施形態においては、ネットワーク機器１０−３が仮に従来のネットワーク機器であったとしても、特段の問題は生じない。上記動作例においてネットワーク機器１０−３はＡＲＰに準拠した動作を実行しているだけだからである。したがって、図４に示す通信システム１Ｂにおいて、ネットワーク機器１０−１とネットワーク機器１０−３が従来のネットワーク機器であったとしても、ネットワーク機器１０−２が本実施形態のネットワーク機器であれば、少なくともネットワーク機器１０−１とネットワーク機器１０−２の間のＩＰｖ４アドレスの重複或いはネットワーク機器１０−２とネットワーク機器１０−３の間のＩＰｖ４アドレスの重複を自動的に解消することができる。
【００５５】
（Ｄ：第４実施形態）
上記第３実施形態では、同一のＩＰｖ４アドレスを割り当てられたネットワーク機器１０が複数ある場合に先に設定していた方が後から設定した方に当該ＩＰｖ４アドレスを譲ることでＩＰｖ４アドレスの重複を解消する場合について説明した。これに対して本実施形態では、ネットワーク機器１０に対して予め優先度を定めておき、同一のＩＰｖ４アドレスを割り当てられた複数のネットワーク機器１０のうち後から設定する方が先に設定していた方より優先度が高い場合に当該ＩＰｖ４アドレスを奪うことで重複を解消する点が異なる。以下、前述した第２実施形態と同様にネットワーク機器１０−２とネットワーク機器１０−３に同じＩＰｖ４アドレス（例えば、192.168.0.1/24）が割り当てられている状況下で、ネットワーク機器１０−２の方が先に電源をオンとされて当該ＩＰｖ４アドレスの通信インタフェース１２０への設定を完了した後にネットワーク機器１０−３の電源がオンとされた場合を例にとって、本実施形態の動作を説明する。
【００５６】
図６は、本実施形態における通信シーケンスの一例を示す図である。本実施形態の重複解消処理ではステップＳＡ１００のアドレス重複チェック処理において、ネットワーク機器１０−３の制御部１１０は、まず、自装置に割り当てられたＩＰｖ４アドレスを対象とするＡＲＰフレームを送信する（図６：Ｓ２０１）。そして、制御部１１０はこのＡＲＰフレームに対する応答フレームを受信した場合にその応答フレームの送信元と自装置の何れの優先度が高いかを判定する（図６：Ｓ２０２）。なお、各ネットワーク機器１０の優先度を表すデータについては予め各ネットワーク機器１０の不揮発性記憶部１３４に記憶させておいても良いし、ＭＡＣアドレスを優先度を表すデータとして用い、ＭＡＣアドレスの若い方を優先度が高いとして扱うようにしても良い。自装置の方が優先度が低いと判定した場合（Ｓ２０２：Ｎｏ）には制御部１１０は、重複ありと判定し、ステップＳＡ１３０以降の処理を実行する。この点は前述した第１実施形態と同様である。これに対して、自装置の方が優先度が高いと判定した場合（Ｓ２０２：Ｙｅｓ）には、上記応答フレームの送信元へ再起動を指示する再起動指示フレームを送信し（Ｓ２０３）、重複はないものとしてステップＳＡ１２０の処理を実行する（Ｓ２０４）。なお、上記応答フレームの送信元へ再起動指示フレームを送信する際には、再起動の対象（通信インタフェースのみ、或いはネットワーク機器全体）を表すデータを書き込んで送信しても良く、このようなデータを書き込まずに送信しても良い。再起動指示フレームに再起動の対象を示すデータが含まれていない場合には、当該フレームの送信先のネットワーク機器では通信インタフェースのみの再起動と機器全体の再起動のうちの予め定められた方を実行するようにすれば良い。以下、ネットワーク機器１０−３の方が優先度が高い場合について説明する。
【００５７】
上記再起動指示フレームを受信したネットワーク機器１０−２の制御部１１０は、その再起動指示フレームにしたがって再起動を行い（Ｓ２０５）、改めて通信インタフェース１２０へのＩＰｖ４アドレスの設定（すなわち、図３の重複解消処理）を行う（図６：Ｓ２０６）。この設定処理が開始される時点では、当該ＩＰｖ４アドレスは既に上記再起動指示フレームの送信元のネットワーク機器の通信インタフェース１２０に設定されている。加えて、当該送信元よりも自装置の方が優先度が低いため、上記設定処理におけるステップＳ２０２の判定結果は“Ｎｏ”となり、ステップＳＡ１３０以降の処理が実行される。その結果、ネットワーク機器１０−２の通信インタフェース１２０には新たなＩＰｖ４アドレス（例えば、192.168.0.2/24）が設定される。
【００５８】
このように本実施形態によっても、通信ネットワークに接続される複数のネットワーク機器に同一の通信アドレスが重複して設定された場合であっても、その重複を自動的に解消することができる。また、前述した第１〜第３実施形態と同様に本実施形態によっても汎用性が損なわれることはない。ただし、本実施形態では、前述した第３実施形態とは異なり、通信システムに含まれる全てのネットワーク機器が本実施形態のネットワーク機器であることが必要となる。再起動指示フレームの送信先がその再起動指示フレームを解釈できる必要があるからである。なお、本実施形態においても、ネットワーク機器１０にＩＰｖ４に準拠したデータ通信を行わせる場合（すなわち、ネットワーク機器１０にＩＰｖ４アドレスを割り当てる場合）について説明したが、第１実施形態と同様にネットワーク機器１０にＩＰｖ６アドレスを割り当て、ＩＰｖ６に準拠したデータ通信を行わせるようにしても良い。
【００５９】
本実施形態では、ＡＲＰフレームに対する応答フレームを受信したネットワーク機器１０に、自装置と当該応答フレームの送信元との優先度の比較を行わせたが、応答フレームを受信したネットワーク機器１０には無条件に再起動指示フレームを送信させ、当該再起動指示フレームを受信したネットワーク機器に自装置と当該再起動指示フレームの送信元との優先度の比較を行わせるようにしても良い。この場合。当該再起動指示フレームを受信したネットワーク機器の方が優先度が低ければ、その再起動指示フレームにしたがって再起動を実行し、優先度が高ければ再起動指示フレームを返信させるようにすれば良い。また、上記再起動指示フレームの送受信に関しては再送信処理や暗号化などを施しても良く、また、その送信元についての認証を課すようにしても良い。
【００６０】
また、相手方の再起動の実行を検出することができるように、再起動指示フレームに応じて再起動を行う場合には所定の応答フレームを返信し、再起動指示フレームの送信元ではその応答フレームの受信を待ってステップＳＡ１２０の処理を実行するようにしても良く、さらに、再起動指示フレームの送信から応答フレームの受信までにタイムアウト時間を設定し、タイムアウト時間が経過しても応答フレームが返信されてこない場合には、再度、再起動指示フレームを送信するようにしても良い。
【００６１】
（Ｅ：変形）
以上本発明の第１〜第４実施形態について説明したが、これら実施形態に以下の変形を加えても勿論良い。
（１）上記各実施形態では、ルータへの本発明の適用例を説明したが、本発明の適用対象はルータに限定される訳ではなく、パーソナルコンピュータであっても良いし通信機能を備えたプリンタ装置或いはスキャナ装置であっても良い。要は所定の通信プロトコルにしたがってデータ通信を行うネットワーク機器であって、そのデータ通信の実行に先立って通信アドレスを設定する必要のあるネットワーク機器であれば良い。また、上記各実施形態では、ＬＡＮとインターネット３０とを有線接続するルータへの本発明の適用例を説明したが、無線ＬＡＮルータや無線アクセスポイント装置など無線通信を行うネットワーク機器に本発明を適用しても勿論良い。
【００６２】
（２）上記各実施形態では、他のネットワーク機器１０の通信アドレスと重複した通信アドレスを重複アドレスリスト１３４ｂに追記したが、このような追記は必ずしも必須ではなく、省略しても良い。重複アドレスの追記を省略する場合には重複アドレスリスト１３４ｂを不揮発性記憶部１３４に記憶させておく必要はない。また、ネットワーク機器１０から他のネットワーク機器１０へ重複アドレスリスト１３４ｂを送信し、当該他のネットワーク機器１０に当該重複アドレスリスト１３４ｂを記憶させるための専用フレームを定義しておき、当該フレームを互いに送受信することで複数のネットワーク機器１０に重複アドレスリスト１３４ｂを共有させても良い。また、本実施形態の重複アドレスリスト１３４ｂには他のネットワーク機器と重複したＩＰアドレスが登録されていたが、当該ＩＰアドレスに対応付けて当該重複アドレスリスト１３４ｂを記憶しているネットワーク機器のＭＡＣアドレスを登録しても良い。このような態様によれば、１つのＭＡＣアドレスに対応付けて複数のＩＰアドレスが重複アドレスリスト１３４ｂに登録されているといった事象が発生したことを契機として、そのＭＡＣアドレスの示すネットワーク機器に故障が発生している可能性があること等をユーザに報知することが可能になる。
【００６３】
（３）上記実施形態では、通信制御プログラム１３４ａがネットワーク機器１０の不揮発性記憶部１３４に予め記憶されていたが、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）などのコンピュータ読み取り可能な記録媒体に当該プログラムを書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより当該プログラムを配布しても良い。このようにして配布される通信制御プログラム１３４ａにしたがって一般的なコンピュータを作動させることで当該コンピュータを本発明のネットワーク機器として機能させることが可能になるからである。また、上記各実施形態では、データ通信を制御部１１０に実行させる通信制御プログラム１３４ａに本発明の特徴を顕著に示す重複解消処理を制御部１１０に実行させるプログラム（以下、重複解消プログラム）を含めておいたが、通信制御プログラムと重複解消プログラムを別個のプログラムとしても良い。重複解消プログラムについても、コンピュータ読み取り可能な記録媒体に書き込んで配布しても良く、電気通信回線経由のダウンロードにより配布しても良い。
【符号の説明】
【００６４】
１Ａ，１Ｂ…通信システム、１０，１０−１〜１０−３…ネットワーク機器、２０…集中管理サーバ、３０…インターネット、１１０…制御部、１２０…通信インタフェース、１３０…記憶部、１３２…揮発性記憶部、１３４…不揮発性記憶部、１３４ａ…通信制御プログラム、１４０…バス。
【図１】
0006497010.tif 000002
【図２】
0006497010.tif 000003
【図３】
0006497010.tif 000004
【図４】
0006497010.tif 000005
【図５】
0006497010.tif 000006
【図６】
0006497010.tif 000007