(57)【要約】【課題】通信に際して通信装置を識別するために利用するアドレスをより短時間で決定する。【解決手段】通信装置において、ネットワーク内で通信装置を識別するために通信装置に付与するアドレスの候補となるＮ個の候補アドレスを生成し、生成された候補アドレスがネットワーク内の１以上の通信機器のアドレスと重複しているか否かを確認し、重複していないと確認された候補アドレスの１つを通信装置に付与するアドレスとして選択する。アドレスの重複の確認処理において、第１の候補アドレスの重複確認要求の送出から所定期間が経過する前に第２の候補アドレスの重複確認要求を送出し、応答が送出から所定期間内に有ったか否かに基づいて重複の有無を判定する。【選択図】図４
2017011411.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続し該ネットワークに接続している１以上の通信機器と通信を行うことが可能な通信装置であって、
前記ネットワーク内で前記通信装置を識別するために該通信装置に付与するアドレスの候補となるＮ個（Ｎは２以上の整数）の候補アドレスを生成する生成手段と、
前記生成手段により生成された候補アドレスが前記１以上の通信機器のアドレスと重複しているか否かを確認する確認手段と、
前記確認手段により前記１以上の通信機器のアドレスと重複していないと確認された候補アドレスの１つを前記通信装置に付与するアドレスとして選択する選択手段と、
を有し、
前記確認手段は、
前記Ｎ個の候補アドレスに含まれる候補アドレスの重複確認要求を前記ネットワークに送出する送出手段と、
前記重複確認要求に対する応答が該重複確認要求の送出から所定期間内に有ったか否かに基づいて、前記候補アドレスが前記１以上の通信機器のアドレスと重複しているか否かを判定する判定手段と、
を有し、
前記送出手段は、前記Ｎ個の候補アドレスに含まれる第１の候補アドレスの重複確認要求の送出から前記所定期間が経過する前に、前記Ｎ個の候補アドレスに含まれかつ前記第１の候補アドレスとは異なる第２の候補アドレスの重複確認要求を送出するように構成されている
ことを特徴とする通信装置。
【請求項２】
前記生成手段により生成する候補アドレスの個数Ｎを設定する設定手段を更に有する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記設定手段は、前記個数Ｎを前記ネットワークの通信特性に基づいて算出する
ことを特徴とする請求項２に記載の通信装置。
【請求項４】
前記確認手段により前記Ｎ個の候補アドレスの全てで前記１以上の通信機器のアドレスとの重複が確認された場合に前記個数Ｎを更新する更新手段を更に有する
ことを特徴とする請求項２又は３に記載の通信装置。
【請求項５】
前記確認手段により前記Ｎ個の候補アドレスの全てで前記１以上の通信機器のアドレスとの重複が確認された場合に前記生成手段が候補アドレスの生成に利用する生成アルゴリズムを変更する変更手段を更に有する
ことを特徴とする請求項１乃至４の何れか１項に記載の通信装置。
【請求項６】
前記候補アドレスは、ＩＰｖ４アドレスであり、
前記送出手段は、前記Ｎ個の候補アドレスに含まれる候補アドレスを設定したＡＲＰ要求を前記ネットワークに送出し、
前記判定手段は、前記ＡＲＰ要求に対する応答が該ＡＲＰ要求の送出から前記所定期間内に有った場合に、前記候補アドレスが前記１以上の通信機器のアドレスと重複していると判定する
ことを特徴とする請求項１乃至５の何れか１項に記載の通信装置。
【請求項７】
前記候補アドレスは、ＩＰｖ６アドレスであり、
前記送出手段は、前記Ｎ個の候補アドレスに含まれる候補アドレスを設定した近隣要請（ＮＳ）メッセージを前記ネットワークに送出し、
前記判定手段は、前記ＮＳメッセージに対する応答が該ＮＳメッセージの送出から前記所定期間内に有った場合に、前記候補アドレスが前記１以上の通信機器のアドレスと重複していると判定する
ことを特徴とする請求項１乃至５の何れか１項に記載の通信装置。
【請求項８】
前記選択手段は、前記確認手段により前記１以上の通信機器のアドレスと重複していないと最初に確認された候補アドレスを前記通信装置に付与するアドレスとして選択する
ことを特徴とする請求項１乃至７の何れか１項に記載の通信装置。
【請求項９】
ネットワークに接続し該ネットワークに接続している１以上の通信機器と通信を行うことが可能な通信装置の制御方法であって、
前記ネットワーク内で前記通信装置を識別するために該通信装置に付与するアドレスの候補となるＮ個（Ｎは２以上の整数）の候補アドレスを生成する生成工程と、
前記生成工程により生成された候補アドレスが前記１以上の通信機器のアドレスと重複しているか否かを確認する確認工程と、
前記確認工程により前記１以上の通信機器のアドレスと重複していないと確認された候補アドレスの１つを前記通信装置に付与するアドレスとして選択する選択工程と、
を含み、
前記確認工程は、
前記Ｎ個の候補アドレスに含まれる候補アドレスの重複確認要求を前記ネットワークに送出する送出工程と、
前記重複確認要求に対する応答が該重複確認要求の送出から所定期間内に有ったか否かに基づいて、前記候補アドレスが前記１以上の通信機器のアドレスと重複しているか否かを判定する判定工程と、
を含み、
前記送出工程では、前記Ｎ個の候補アドレスに含まれる第１の候補アドレスの重複確認要求の送出から前記所定期間が経過する前に、前記Ｎ個の候補アドレスに含まれかつ前記第１の候補アドレスとは異なる第２の候補アドレスの重複確認要求を送出する
ことを特徴とする通信装置の制御方法。
【請求項１０】
コンピュータを、請求項１乃至８の何れか１項に記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信に際して通信装置を識別するために利用するアドレスを決定する技術に関するものである。
【背景技術】
【０００２】
近年、ＴＣＰ／ＩＰ通信機能を有する通信端末が数多く発売されている。これらの通信端末が通信を行うためには、ネットワーク上で通信端末を識別するため、各通信端末に個別のＩＰアドレスを設定する必要がある。ただし、一般の利用者がＩＰアドレスを手動で設定することは困難であることから、ＩＰアドレス自動的に設定するＤＨＣＰ（Dynamic Host Configuration Protocol）という手法が利用されている。ＤＨＣＰにおいては、ＩＰアドレスの他、ネットワーク接続のための構成パラメータを動的に割り当てることが可能である。
【０００３】
ところで、ＩＰアドレスが設定されていない通信端末が、ＤＨＣＰサーバが稼働していないネットワークに接続される場合も存在する。このような場合、ＩＰｖ４においては、ＲＦＣ３９２７で規定されるＡｕｔｏＩＰという方式を用いて、ローカルネットワーク内での通信に使用されるＩＰアドレス（リンクローカルアドレス）を設定することが可能である。通常、リンクローカルアドレスの自動設定においては、他の通信端末のアドレスとの重複確認のための待機処理が必要となり、設定完了には時間を要する。そのため、特許文献１には、リンクローカルアドレスの自動設定処理をＤＨＣＰの処理と並行して実施する手法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２７０８６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したように、リンクローカルアドレスを自動設定する際には、他の通信端末のアドレスとの重複確認のための待機処理が必要となる。具体的には、自動生成したアドレスの重複確認パケットを送出し、当該重複確認パケットに対する応答を所定期間待機する。そして、応答を検出した場合（重複していた場合）には、別のアドレスを自動生成し同様の処理を繰り返す。そのため、アドレスの重複が検出された場合に、実際に使用するアドレスの確定までに長い処理時間を要するという問題があった。
【０００６】
本発明は、このような問題に鑑みてなされたものであり、通信に際して通信装置を識別するために利用するアドレスをより短時間で決定可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の問題点を解決するため、本発明に係る通信装置は以下の構成を備える。すなわち、ネットワークに接続し該ネットワークに接続している１以上の通信機器と通信を行うことが可能な通信装置において、前記ネットワーク内で前記通信装置を識別するために該通信装置に付与するアドレスの候補となるＮ個（Ｎは２以上の整数）の候補アドレスを生成する生成手段と、前記生成手段により生成された候補アドレスが前記１以上の通信機器のアドレスと重複しているか否かを確認する確認手段と、前記確認手段により前記１以上の通信機器のアドレスと重複していないと確認された候補アドレスの１つを前記通信装置に付与するアドレスとして選択する選択手段と、を有し、前記確認手段は、前記Ｎ個の候補アドレスに含まれる候補アドレスの重複確認要求を前記ネットワークに送出する送出手段と、前記重複確認要求に対する応答が該重複確認要求の送出から所定期間内に有ったか否かに基づいて、前記候補アドレスが前記１以上の通信機器のアドレスと重複しているか否かを判定する判定手段と、を有し、前記送出手段は、前記Ｎ個の候補アドレスに含まれる第１の候補アドレスの重複確認要求の送出から前記所定期間が経過する前に、前記Ｎ個の候補アドレスに含まれかつ前記第１の候補アドレスとは異なる第２の候補アドレスの重複確認要求を送出するように構成されている。
【発明の効果】
【０００８】
本発明によれば、通信に際して通信装置を識別するために利用するアドレスをより短時間で決定可能とする技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る通信装置を含むシステムの全体構成を示す図である。
【図２Ａ】通信装置のハードウェア構成を示すブロック図である。
【図２Ｂ】通信装置の機能構成を示すブロック図である。
【図３】第１実施形態におけるアドレス決定処理のフローチャートである。
【図４】第２実施形態におけるアドレス決定処理のフローチャートである。
【図５】変形例１におけるアドレス決定処理のフローチャートである。
【図６】変形例２におけるアドレス決定処理のフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１１】
（第１実施形態）
本発明に係る通信装置の第１実施形態として、ＡｕｔｏＩＰをベースとしたアドレス自動設定を利用する通信装置を例に挙げて以下に説明する。なお、ＲＦＣ３９２７で規定されるＡｕｔｏＩＰとの相違部分については以下で詳細に説明する。
【００１２】
＜前提技術＞
ローカルネットワーク内（ブロードキャストドメイン内）でのみ使用可能なリンクローカルアドレスを自動設定する方法としてＡｕｔｏＩＰが規定されている。ＡｕｔｏＩＰでは、ＩＰｖ４リンクローカル用として予約されたアドレス範囲からアドレスを無作為に選択し、ＡＲＰ（Address Resolution Protocol）要求をネットワークに送出する。そして、ＡＲＰ要求に対する応答の有無に基づいて、選択したアドレスを使用する他の通信端末が当該ネットワーク上に存在しないことを確認する（以下、重複確認と呼ぶ）。ＡＲＰ要求に対して応答があれば選択したアドレスは他の端末が使用中であるため、再度別のアドレスを選択し同じ処理を繰り返す。一方、ＡＲＰ要求に対して応答がなければ選択したアドレスは他の端末で使用されていないため、自装置を識別するアドレスとして使うことが可能であると判断する。
【００１３】
また、ＩＰｖ４においてはリンクローカルアドレスはオプション機能であるが、ＩＰｖ６においてはリンクローカルアドレスは標準機能として規定されている。ＩＰｖ６においては、リンクローカル用として予約されたプリフィックスとインターフェースＩＤとを組み合わせてリンクローカルアドレスを構成する。ここで、インターフェースＩＤは、通信端末のＭＡＣアドレスに基づいて、または、無作為に生成される。そして、ＩＣＭＰｖ６（Internet Control Message Protocol for IPv6）の近隣要請（ＮＳ：Neighbor Solicitation）メッセージを利用してアドレスの重複確認を行う。インターフェースＩＤを無作為に生成している場合においてアドレスの重複を検出したときは、別のインターフェースＩＤを生成し同じ処理を繰り返す。この処理手順はＤＡＤ（Duplicate Address Detection）と呼ばれている。
【００１４】
＜装置構成＞
図１は、第１実施形態に係る通信装置（ステーション（ＳＴＡ）１０１）を含むシステムの全体構成を示す図である。図１に示すように、ＳＴＡ１０１が接続するネットワークであるローカルエリアネットワーク（以下、ＬＡＮ）１０４には、ＳＴＡ１０２、１０３が接続している。
【００１５】
ここでは、ＬＡＮ１０４に接続している１以上の通信機器であるＳＴＡ１０２、１０３においては既にＩＰアドレスが付与されていることを想定する。なお、ここでは３台のＳＴＡ１０１、１０２、１０３が接続されている例を示しているが、任意の数のＳＴＡが接続し得る。また、これらのＳＴＡはＬＡＮ１０４を介して相互に通信を行う。なお、ＬＡＮ１０４は、有線ネットワークでもよいし無線ネットワークでもよい。
【００１６】
図２Ａは、通信装置（ＳＴＡ１０１）のハードウェア構成を示すブロック図である。ここでは、ＳＴＡ１０１が一般的なパーソナルコンピュータ（ＰＣ）で構成される例を示している。
【００１７】
ＣＰＵ１２０は、ＳＴＡ１０１を統括的に制御する。ＣＰＵ１２０は、例えばＲＯＭ１２２やハードディスクドライブ（ＨＤＤ）１２６に格納された制御プログラムを実行することにより図２Ｂに示される各機能部を実現する。
【００１８】
ＨＤＤ１２６は、例えば、ＳＴＡ１０１で利用されるアプリケーションプログラムあるいは各種の制御プログラムを記憶する。また、アプリケーションプログラムあるいは各種の制御プログラムに関連する各種情報を保存する。ここでは、各種情報としては、後述する、アドレス数、候補アドレス、ＡＲＰの送受信に関する情報、重複検出に関する情報を想定する。また、一時的に各種情報を記憶するためにＲＡＭ１２１も利用される。
【００１９】
キーボード１２５は、ユーザからのデータ入力を受け付ける機能部である。また、ディスプレイ１２３は、ユーザに各種情報を提供する機能部である。なお、キーボード１２５やディスプレイ１２３は必須の構成ではない。すなわち、ＳＴＡ１０１を、キーボード１２５やディスプレイ１２３を備えない構成としてもよい。
【００２０】
通信インターフェース（Ｉ／Ｆ）１２４は、ＬＡＮ１０４に接続するためのインターフェースであり、例えば、有線通信又は無線通信のインターフェースである。
【００２１】
図２Ｂは、通信装置（ＳＴＡ１０１）の機能構成を示すブロック図である。大きく、入出力部２０１、アドレス管理部２０４、制御部２０９、パケット処理部２１７、送受信部２２０により構成される。
【００２２】
入出力部２０１は、ＡｕｔｏＩＰ処理開始要求を受け付ける開始要求入力部２０３及びＡｕｔｏＩＰ処理結果を出力する結果出力部２０２を含む。
【００２３】
アドレス管理部２０４は、重複確認を行う候補アドレスを管理する機能部である。通信性能計測部２０５は、ＬＡＮ１０４の通信特性を取得する機能部である。アドレス数算出部２０６は、付与するアドレスの候補となる候補アドレスの個数を算出する。詳しくは後述するが、ＡＲＰ応答待ちが完了する前に並行して重複確認するアドレスの個数である。アドレス生成部２０７は、所定の生成アルゴリズムに基づきアドレスを生成する。アドレス情報記憶部２０８は、生成した複数の候補アドレスの情報を記憶する。
【００２４】
制御部２０９は、候補アドレスの重複確認処理を制御する機能部である。タイマー部２１０は、計時機能を有し、後述のＡＲＰ応答待ち時間の経過確認に使用される。タイムアウト比較部２１１は、ＡＲＰ応答待ち時間が経過（満了）したか否かを判定する。ＡＲＰ応答待ち完了時間記憶部２１２はＡＲＰ応答待ちが完了する時間（満了時間）を記録する。ＡＲＰ要求送信情報記憶部２１４は、候補アドレスのＡＲＰ要求送信に関わる情報を記憶する。未送信判定部２１３は、候補アドレスの情報とＡＲＰ要求送信情報とに基づいてＡＲＰ要求が未送信の候補アドレスの有無を判定する。未確定判定部２１５は、候補アドレスの情報と重複検出情報とに基づいて重複確認が未確定の候補アドレスあるか否かを判定する。重複検出情報記憶部２１６は、重複が検出された候補アドレスの情報を記憶する。
【００２５】
パケット処理部２１７は、ネットワーク内でのＩＰアドレスの重複を確認するためのＡＲＰパケットの生成や解析を行う機能部である。ＡＲＰ要求生成部２１８は、重複確認要求としてのＡＲＰ要求パケットの生成を行う。ＡＲＰ応答解析部２１９は、受信したＡＲＰ応答パケットを解析する。送受信部２２０は、ＡＲＰパケットの送受信を行う機能部である。ＡＲＰ要求送信部２２１は、ＡＲＰ要求パケットの送信を行う。ＡＲＰ応答受信部２２２は、ＡＲＰ応答パケットを受信する。
【００２６】
＜装置の動作＞
図３は、第１実施形態におけるアドレス決定処理のフローチャートである。具体的には、ＳＴＡ１０１が、ＳＴＡ１０２，１０３と重複しないＩＰアドレスを決定するための重複確認のフローチャートである。図３の各ステップは、ＳＴＡ１０１のＣＰＵ１２０が、ＲＯＭ１２２やＨＤＤ１２６に格納されたプログラムを実行することによって処理される。
【００２７】
ステップＳ３０１では、ＳＴＡ１０１は、重複確認に用いる候補アドレスの個数Ｎを取得する。ここでは個数Ｎは、予め指定された２以上の整数値であるとする。ステップＳ３０２では、ＳＴＡ１０１は、取得した個数Ｎの候補アドレスを生成する。ステップＳ３０３では、ＳＴＡ１０１は、生成したＮ個の候補アドレスの情報を保存する。
【００２８】
ステップＳ３０４では、ＳＴＡ１０１は、保存した候補アドレスの情報に従ってＡＲＰ要求を生成し送信する。具体的には、Ｎ個の候補アドレスの１つを選択し、当該候補アドレスを設定したＡＲＰ要求を生成し送信する。ステップＳ３０５では、ＳＴＡ１０１は、送信したＡＲＰ要求に対応するＡＲＰ応答の待ち完了時間を保存する。ステップＳ３０６では、ＳＴＡ１０１は、ＡＲＰ要求を送信した候補アドレスをＡＲＰ要求送信情報として保存（更新）する。ステップＳ３０７では、ＳＴＡ１０１は、ＡＲＰ要求送信情報とＮ個の候補アドレスの情報から、ＡＲＰ要求を未送信の候補アドレスがあるか否かを判定する。未送信の候補アドレスがあればＳ３０４に進んで、他の候補アドレスのＡＲＰ要求を送信する。一方、Ｎ個すべての候補アドレスについてＡＲＰ要求の送信を完了した場合Ｓ３０８に進む。
【００２９】
ステップＳ３０８では、ＳＴＡ１０１は、候補アドレスの重複が検出されたか否かを判定する。具体的には、Ｓ３０４で送信したＡＲＰ要求に対するＡＲＰ応答を受信したか否かに基づいて重複を検出する。重複が検出された場合はＳ３１２に進み、検出されていない場合はＳ３０９に進む。
【００３０】
ステップＳ３１２では、ＳＴＡ１０１は、重複検出アドレスの情報を保存（更新）する。ステップＳ３１３では、ＳＴＡ１０１は、候補アドレスの個数（Ｎ個）と重複検出アドレスの個数とを比較する。候補アドレスの個数の方が多いときはＳ３０８へ進む。一方、重複検出アドレスの個数が候補アドレスの個数と同数になった場合、すなわち、Ｎ個すべての候補アドレスの重複が検出された場合はＳ３０２に進み、新たな候補アドレスを生成する。
【００３１】
ステップＳ３０９では、ＳＴＡ１０１は、ＡＲＰ要求の送信からＡＲＰ応答の待ち完了時間が経過（満了）したか判定する。経過していない場合はＳ３０８へ戻り重複の有無の検出を行う。待ち完了時間が経過するとＳ３１０に進む。
【００３２】
ステップＳ３１０では、ＳＴＡ１０１は、ＡＲＰ応答待ちが完了したもの以外にＡＲＰ応答待ちをしている候補アドレスがあれば、この状態を停止する。このとき停止以降に受信したＡＲＰ応答は重複検出を行われない。
【００３３】
ステップＳ３１１では、ＳＴＡ１０１は、ＡＲＰ応答待ちが完了したアドレス、すなわち、重複が検出されなかった候補アドレスをＳＴＡ１０１に設定するアドレスとして選択する。例えば、最初にＡＲＰ応答待ちが完了したアドレスを選択することにより、より早期にアドレスを選択することが可能になる。ただし、重複が検出されなかった候補アドレスが複数個ある場合、１つの候補アドレスを任意に選択するよう構成してもよい。
【００３４】
以上説明したとおり第１実施形態によれば、Ｎ個の候補アドレスを生成し、並行して重複確認を行うことにより、利用するアドレスをより短時間で決定することが可能となる。すなわち、候補アドレスの重複確認を１つずつ確認する従来の方法に比較して、アドレスの重複が発生した場合のアドレス確定までの期間を短縮することが可能となる。
【００３５】
なお、上述の説明においてはＡｕｔｏＩＰをベースとしたＩＰｖ４アドレスの選択について述べているが、ＤＡＤをベースとしたＩＰｖ６アドレスの選択に適用することも可能である。その場合は、ＡＲＰメッセージの代わりに近隣要請（ＮＳ）メッセージを使用することになる。
【００３６】
（第２実施形態）
第２実施形態では上述した第１実施形態に加えて、候補アドレスの個数（Ｎ個）を、接続するネットワークの通信特性に基づいて決定する方法を示す。第２実施形態におけるシステム及び通信装置の構成は第１実施形態と同様であるため説明を省略する。
【００３７】
図４は、第２実施形態におけるアドレス決定処理のフローチャートである。具体的には、ＳＴＡ１０１が、ＳＴＡ１０２，１０３と重複しないＩＰアドレスを決定するための重複確認のフローチャートである。図４の各ステップは、ＳＴＡ１０１のＣＰＵ１２０が、ＲＯＭ１２２やＨＤＤ１２６に格納されたプログラムを実行することによって処理される。
【００３８】
ステップＳ４０１では、ＳＴＡ１０１は、ＬＡＮ１０４の通信特性を取得する。例えば、通信Ｉ／Ｆ１２４に対して設定されているパラメータを取得する。通信特性としては、例えば、接続しているネットワークの種別（有線接続であるか無線接続であるか）をしめす接続種別情報、または当該ネットワークにおける転送速度情報などを利用するとよい。
【００３９】
ステップＳ４０２では、ＳＴＡ１０１は、Ｓ４０１で取得した通信特性に依存して重複確認に用いる候補アドレスの個数Ｎ（Ｎは２以上の整数）を算出する。例えば、無線接続などのパケットロスが発生しやすい環境である場合、有線接続の場合に比較し候補アドレスの個数を多くする。ステップＳ４０３では、ＳＴＡ１０１は、取得した個数Ｎの候補アドレスを生成する。ステップＳ４０４では、ＳＴＡ１０１は、生成したＮ個の候補アドレスの情報を保存する。
【００４０】
ステップＳ４０５では、ＳＴＡ１０１は、保存した候補アドレスの情報に従ってＡＲＰ要求を生成し送信する。具体的には、Ｎ個の候補アドレスの１つを選択し、当該候補アドレスを設定したＡＲＰ要求を生成し送信する。ステップＳ４０６では、ＳＴＡ１０１は、送信したＡＲＰ要求に対応するＡＲＰ応答の待ち完了時間を保存する。ステップＳ４０７では、ＳＴＡ１０１は、ＡＲＰ要求を送信した候補アドレスをＡＲＰ要求送信情報として保存（更新）する。ステップＳ４０８では、ＳＴＡ１０１は、ＡＲＰ要求送信情報とＮ個の候補アドレスの情報から、ＡＲＰ要求を未送信の候補アドレスがあるか否かを判定する。未送信の候補アドレスがあればＳ４０５に進んで、他の候補アドレスのＡＲＰ要求を送信する。一方、Ｎ個すべての候補アドレスについてＡＲＰ要求の送信を完了した場合Ｓ４０９に進む。
【００４１】
ステップＳ４０９では、ＳＴＡ１０１は、候補アドレスの重複が検出されたか否かを判定する。具体的には、Ｓ４０５で送信したＡＲＰ要求に対して、ＡＲＰ応答の待ち完了時間である所定期間内にＡＲＰ応答を受信したか否かに基づいて重複を検出する。重複が検出された場合はＳ４１３に進み、検出されていない場合はＳ４１０に進む。
【００４２】
ステップＳ４１３では、ＳＴＡ１０１は、重複検出アドレスの情報を保存（更新）する。ステップＳ４１４では、ＳＴＡ１０１は、候補アドレスの個数（Ｎ個）と重複検出アドレスの個数とを比較する。候補アドレスの個数の方が多いときはＳ４０９へ進む。一方、重複検出アドレスの個数が候補アドレスの個数と同数になった場合、すなわち、Ｎ個すべての候補アドレスの重複が検出された場合はＳ４０３に進み、新たな候補アドレスを生成する。
【００４３】
ステップＳ４１０では、ＳＴＡ１０１は、ＡＲＰ要求の送信からＡＲＰ応答の待ち完了時間である所定期間が経過（満了）したか判定する。経過していない場合はＳ４０９へ戻り重複の有無の検出を行う。待ち完了時間が経過するとＳ４１１に進む。
【００４４】
ステップＳ４１１では、ＳＴＡ１０１は、ＡＲＰ応答待ちが完了したもの以外にＡＲＰ応答待ちをしている候補アドレスものがあれば、この状態を停止する。このとき停止以降に受信したＡＲＰ応答は重複検出を行われない。
【００４５】
ステップＳ４１２では、ＳＴＡ１０１は、ＡＲＰ応答待ちが完了したアドレス、すなわち、重複が検出されなかった候補アドレスをＳＴＡ１０１に設定するアドレスとして選択する。例えば、最も早くＡＲＰ応答待ちが完了したアドレスを選択することにより、より早期にアドレスを選択することが可能になる。ただし、重複が検出されなかった候補アドレスが複数個ある場合、１つの候補アドレスを任意に選択するよう構成してもよい。
【００４６】
以上説明したとおり第２実施形態によれば、接続するネットワークの通信特性に依存して、生成する候補アドレスを設定する。この構成により、使用するアドレスをより効率的に選択することが可能となる。
【００４７】
（変形例１）
変形例１では、第２実施形態に加えて、Ｎ個の候補アドレス全てで重複を検出し再度候補アドレスを生成する際に、候補アドレスの個数を更新する方法を示す。
【００４８】
図５は、変形例１におけるアドレス決定処理のフローチャートである。なお、Ｓ５０１〜Ｓ５１４は、図４のＳ４０１〜４１４と同様であるため説明は省略する。
【００４９】
Ｓ５１４において、重複検出アドレスの個数が候補アドレスの個数と同数になった場合、すなわち、Ｎ個すべての候補アドレスの重複が検出された場合はＳ５１５に進む。
【００５０】
ステップＳ５１５では、ＳＴＡ１０１は、Ｓ５０２で導出した候補アドレスの個数を更新する。例えば、Ｓ５０２で算出した値に対して、ネットワークの通信特性に依存した所定値を加算した値とする。すなわち、ＡＲＰ応答待ちの完了時間が経過する（Ｓ５１０）のに先立って、追加の新たな候補アドレスを生成し重複確認を行う。
【００５１】
このように、候補アドレス全てで重複を検出した場合に候補アドレスの個数を更新することにより、候補アドレス全てで重複を検出した場合におけるアドレス確定までの時間を短縮することが可能となる。
【００５２】
（変形例２）
変形例２では、変形例１に加えて、Ｎ個の候補アドレス全てで重複を検出し再度候補アドレスを生成する際に、候補アドレスのアドレス生成アルゴリズムを変更する方法を示す。
【００５３】
図６は、変形例２におけるアドレス決定処理のフローチャートである。なお、Ｓ６０１〜Ｓ６１４は、図４のＳ４０１〜４１４と同様であるため説明は省略する。また、Ｓ６１５は、図５のＳ５１５と同様であるため説明は省略する。
【００５４】
Ｓ６１４において、重複検出アドレスの個数が候補アドレスの個数と同数になった場合、すなわち、Ｎ個すべての候補アドレスの重複が検出された場合はＳ６１５に進む。そして、Ｓ６１５では、Ｓ５０２で導出した候補アドレスの個数を更新する。
【００５５】
ステップＳ５１５では、ＳＴＡ１０１は、Ｓ５０２で使用される、候補アドレスのアドレス生成アルゴリズムを変更する。なお、アドレス生成アルゴリズムは任意のものでよい。すなわち、前回のループで生成したＮ個の候補アドレスと異なる複数の候補アドレスが生成されるようなものであれば足りる。
【００５６】
このように、候補アドレス全てで重複を検出した場合に、候補アドレスの生成アルゴリズムを変更することにより、引き続き実施されるＳ５０２で生成される候補アドレスが重複する可能性を低減することが可能となる。そのため、使用するアドレスをより効率的に選択することが可能となる。
【００５７】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５８】
１０１〜１０３  ＳＴＡ；  １０４  ネットワーク；  ２０１  入出力部；  ２０４  アドレス管理部；  ２０９  制御部；  ２１７  パケット処理部；  ２２０  送受信部
【図１】
2017011411.tif 000003
【図２Ａ】
2017011411.tif 000004
【図２Ｂ】
2017011411.tif 000005
【図３】
2017011411.tif 000006
【図４】
2017011411.tif 000007
【図５】
2017011411.tif 000008
【図６】
2017011411.tif 000009