(57)【特許請求の範囲】
【請求項１】
ＤＮＳサーバにより管理されている通信機器のアドレス情報を候補ノードのアドレス情報として取得する取得手段と、
前記取得手段により取得された候補ノードのアドレス情報に基づいて、通信機器の稼働確認を行う稼働確認手段と、
前記稼働確認手段により候補ノードの稼働が確認できた場合に、この候補ノードを稼働ノードとして確定させ、前記取得手段により取得されたアドレス情報の通信機器を稼働ノードとして登録するノード登録手段と
を有するノード検出装置。
【請求項２】
前記取得手段は、ＤＮＳサーバにより管理されているＡＡＡＡレコード及びＡレコードを取得し、
前記稼働確認手段は、取得されたＡＡＡＡレコード及びＡレコードに含まれるＩＰアドレスを用いて、通信機器の稼働確認を行い、
前記ノード登録手段は、稼働が確認されたＩＰアドレスに対応するホスト名を、稼働ノードとして登録する
請求項１に記載のノード検出装置。
【請求項３】
前記稼働確認手段は、ＡＡＡＡレコードに含まれているＩＰアドレスに関しては、ＩＣＭＰｖ６に従って稼働確認を行い、Ａレコードに含まれているＩＰアドレスに関しては、ＩＣＭＰｖ４に従って稼働確認を行う
請求項２に記載のノード検出装置。
【請求項４】
前記ノード登録手段は、ＡＡＡＡレコードに含まれているＩＰアドレスであるかＡレコードに含まれているＩＰアドレスであるかに基づいて、稼働が確認されたホスト名を、ＩＰｖ６又はＩＰｖ４に関連付けて登録する
請求項３に記載のノード検出装置。
【請求項５】
ユーザの操作に応じて、ノード検出の対象となるＩＰアドレスの範囲を設定する範囲設定手段
をさらに有し、
前記取得手段は、前記範囲設定手段により設定されたＩＰアドレスの範囲に対応する、ＡＡＡＡレコード又はＡレコードを取得する
請求項２に記載のノード検出装置。
【請求項６】
前記取得手段は、ユーザにより指定されたＤＮＳサーバから、ＡＡＡＡレコード又はＡレコードを取得する
請求項２に記載のノード検出装置。
【請求項７】
前記稼働確認手段は、ＡＡＡＡレコード又はＡレコードに含まれるＩＰアドレスのうち、前記ノード登録手段により稼働ノードとして登録されていないＩＰアドレスのみに関して、稼働確認を行う
請求項２に記載のノード検出装置。
【請求項８】
近隣キャッシュ又はＡＲＰテーブルに基づいて、稼働が確認された通信機器のＩＰアドレスに対応するＭＡＣアドレスを特定するＭＡＣ特定手段
をさらに有し、
前記ノード登録手段は、稼働が確認された通信機器のＩＰアドレスと、前記ＭＡＣ特定手段により得されたＭＡＣアドレスとを登録する
請求項２に記載のノード検出装置。
【請求項９】
ＤＮＳサーバにより管理されている通信機器のアドレス情報を候補ノードのアドレス情報として取得するステップと、
取得された候補ノードのアドレス情報に基づいて、通信機器の稼働確認を行うステップと、
前記稼働確認により候補ノードの稼働が確認できた場合に、この候補ノードを稼働ノードとして確定させ、取得されたアドレス情報の通信機器を稼働ノードとして登録するステップと
を有するノード検出方法。
【請求項１０】
ＤＮＳサーバにより管理されている通信機器のアドレス情報を候補ノードのアドレス情報として取得するステップと、
取得された候補ノードのアドレス情報に基づいて、通信機器の稼働確認を行うステップと、
前記稼働確認により候補ノードの稼働が確認できた場合に、この候補ノードを稼働ノードとして確定させ、取得されたアドレス情報の通信機器を稼働ノードとして登録するステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノード検出方法に関する。
【背景技術】
【０００２】
例えば、特許文献１には、デバイスの完全に認定されたドメインからネットワーク上のファイバチャネルデバイスアドレスを解決する方法であって、 該デバイスに対するインターネットプロトコルアドレスを決定するために、該完全に認定されたドメイン名を含むドメイン名の問い合わせを、ホストコンピュータから該ネットワークを介して、ドメイン名サーバへと送信するステップと、 該ドメイン名サーバにおいて、該完全に認定されたドメイン名に基づいて、該デバイスに対する該インターネットプロトコルアドレスを位置付けするステップと、該デバイスインターネットプロトコルアドレスを該ホストコンピュータへ送信するステップと、該デバイスのノード名を決定するために、該インターネットプロトコルアドレスを含むアドレス解決プロトコルリクエストを、該ホストコンピュータから該記憶領域ネットワークを介して送信するステップと、該デバイスノード名を含むアドレス解決プロトコル応答を、該ホストコンピュータへ送信するステップと、該デバイスの物理アドレスを決定するために、該デバイスノード名を含むファイバチャネルアドレス解決プロトコルリクエストを、該ホストコンピュータから該デバイスへ送信するステップと、 該デバイスの物理アドレスを含むファイバチャネルアドレス解決プロトコル応答を、該ホストコンピュータへ送信するステップとを含む方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００２−５２５９４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ネットワーク上に存在するノードを検出するノード検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明に係るノード検出装置は、DNSサーバにより管理されている通信機器のアドレス情報を取得する取得手段と、前記取得手段により取得されたアドレス情報に基づいて、通信機器の稼働確認を行う稼働確認手段と、前記稼働確認手段による稼働確認結果に基づいて、前記取得手段により取得されたアドレス情報の通信機器を稼働ノードとして登録するノード登録手段とを有する。
【０００６】
好適には、前記取得手段は、DNSサーバにより管理されているAAAAレコード及びAレコードを取得し、前記稼働確認手段は、取得されたAAAAレコード及びAレコードに含まれるIPアドレスを用いて、通信機器の稼働確認を行い、前記ノード登録手段は、稼働が確認されたIPアドレスに対応するホスト名を、稼働ノードとして登録する。
【０００７】
好適には、前記稼働確認手段は、AAAAレコードに含まれているIPアドレスに関しては、ICMPｖ６に従って稼働確認を行い、Aレコードに含まれているIPアドレスに関しては、ICMPｖ４に従って稼働確認を行う。
【０００８】
好適には、前記ノード登録手段は、AAAAレコードに含まれているIPアドレスであるかAレコードに含まれているIPアドレスであるかに基づいて、稼働が確認されたホスト名を、IPｖ６又はIPｖ４に関連付けて登録する。
【０００９】
好適には、ユーザの操作に応じて、ノード検出の対象となるIPアドレスの範囲を設定する範囲設定手段をさらに有し、前記取得手段は、前記範囲設定手段により設定されたIPアドレスの範囲に対応する、AAAAレコード又はAレコードを取得する。
【００１０】
好適には、前記取得手段は、ユーザにより指定されたDNSサーバから、AAAAレコード又はAレコードを取得する。
【００１１】
好適には、前記稼働確認手段は、AAAAレコード又はAレコードに含まれるIPアドレスのうち、前記ノード登録手段により稼働ノードとして登録されていないIPアドレスのみに関して、稼働確認を行う。
【００１２】
好適には、近隣キャッシュ又はARPテーブルに基づいて、稼働が確認された通信機器のIPアドレスに対応するMACアドレスを特定するMAC特定手段をさらに有し、前記ノード登録手段は、稼働が確認された通信機器のIPアドレスと、前記MAC特定手段により得されたMACアドレスとを登録する。
【００１３】
本発明に係るノード検出方法は、DNSサーバにより管理されている通信機器のアドレス情報を取得するステップと、取得された前記アドレス情報に基づいて、通信機器の稼働確認を行うステップと、前記稼働確認の結果に基づいて、取得されたアドレス情報の通信機器を、稼働ノードとして登録するステップとを有する。
【００１４】
本発明に係るプログラムは、DNSサーバにより管理されている通信機器のアドレス情報を取得するステップと、取得された前記アドレス情報に基づいて、通信機器の稼働確認を行うステップと、前記稼働確認の結果に基づいて、取得されたアドレス情報の通信機器を、稼働ノードとして登録するステップとをコンピュータに実行させる。
【発明の効果】
【００１５】
本発明によれば、ネットワーク上に存在するノードを検出することができる。
【図面の簡単な説明】
【００１６】
【図１】ノード検出システム１の概要を説明する図である。
【図２】ノード検出装置１０の機能構成を例示する図である。
【図３】ノード検出装置１０の動作を説明するフローチャートである。
【図４】ノード検出装置１０により参照される情報を例示する図である。
【図５】ノード検出処理の全体動作を説明するシーケンス図である。
【図６】IPｖ６環境のMACアドレス特定方法を説明する図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を、図面を参照して説明する。
図１は、ノード検出システム１の概要を説明する図である。
図１に例示するように、本実施形態のノード検出システム１は、ノード検出装置１０と、DNSサーバ８とを有する。ノード９０２A〜９０２Dは、検出対象となるノードであり、ルータ９００を介して接続された複数のセグメントに散在する。
ノード検出装置１０は、例えば、後述するノード検出プログラム５がインストールされたサーバ装置であり、ネットワーク上に存在するノードを検出する。ここで、ノードとは、ネットワークを構成する要素であり、コンピュータ端末、ルータ、及びハブなどの通信機器を含む。本例では、ノート型のコンピュータ端末９０２をノードとして説明するが、これに限定されるものではなく、例えば、ルータ９００などもノードとなりうる。
【００１８】
DNSサーバ８は、ドメインネームシステム（Domain Name System）を構成するサーバ装置であり、IPアドレス（Internet Protocol Address）とドメイン名又はホスト名との対応表を管理する。本例のDNSサーバ８は、少なくとも、IPｖ６のIPアドレスが含まれたAAAAレコードと、IPｖ４のIPアドレスが含まれたAレコードとを格納し、ノード９０２のIPアドレス及びホスト名を管理する。
なお、以下の説明では、IPｖ６とIPｖ４のノードがネットワーク上に混在していることを前提として説明するが、これに限定されるものではなく、IPｖ６のノードのみ、又は、IPｖ４のノードのみで構成されるネットワークでも同様に動作可能である。
【００１９】
図２は、ノード検出装置１０の機能構成を例示する図である。
図２に例示するように、ノード検出装置１０は、ノード検出プログラム５と、ノードデータベース６００（ノードDB６００）とを有する。
ノード検出プログラム５は、例えば、CD-ROMなどの記録媒体を介して、ノード検出装置１０にインストールされたコンピュータプログラムである。ノード検出プログラム５は、DNS指定部５００、範囲設定部５０５、取得部５１０、稼働確認部５１５、MAC特定部５２０、及びノード登録部５２５を有する。
ノードDB６００は、ネットワーク上に存在するノードの識別情報（具体的には、ホスト名、IPアドレス、及び、MACアドレス（Physical Address））を管理するデータベースであり、ノード検出装置１０の記録領域を用いて構成されている。なお、ノードDB６００には、各ノードがIPｖ６のノードであるのかIPｖ４のノードであるのかを示す情報が登録されてもよい。
【００２０】
ノード検出プログラム５において、DNS指定部５００は、管理者（ユーザ）の操作に応じて、DNSサーバの指定を受け付ける。
範囲設定部５０５は、管理者の操作に応じて、ノード検出の対象となるアドレスの範囲を設定する。例えば、範囲設定部５０５は、管理者により一つのIPアドレスが直接指定された場合に、指定されたIPアドレスのみを範囲に設定し、管理者によりセグメント（LANなど）が指定された場合に、指定されたセグメントに対応するIPアドレス群を設定し、管理者により開始のIPアドレスと終了のIPアドレスとが指定された場合に、開始のIPアドレスから終了のIPアドレスまでの範囲を設定し、管理者によりホスト名が指定された場合に、指定されたホスト名に対応するIPアドレスを設定し、管理者により、除外するIPアドレスが指定された場合に、指定されたIPアドレスが除外されたIPアドレス群を設定する。
【００２１】
取得部５１０は、DNSサーバ８により管理されているアドレス情報を取得し、取得されたアドレス情報を稼働確認部５１５に出力する。例えば、取得部５１０は、DNS指定部５００により指定されたDNSサーバ８にアクセスして、AAAAレコード又はAレコードを取得し、取得されたAAAAレコード又はAレコードから、範囲設定部５０５により設定された範囲のIPアドレス及びホスト名を抽出し、抽出されたIPアドレス及びホスト名を候補ノードとして稼働確認部５１５に出力する。
【００２２】
稼働確認部５１５は、取得部５１０により取得されたアドレス情報に基づいて、このアドレス情報に対応するノード（通信機器）の稼働確認を行う。例えば、稼働確認部５１５は、ICMPに従って、取得部５１０から入力されたIPアドレスに対応するノードの稼働確認を行い、その確認結果をノード登録部５２５に出力する。
【００２３】
MAC特定部５２０は、ノード登録部５２５により登録されるノードのMACアドレス（Media Access Control address）を特定し、特定されたMACアドレスを、登録されるノードに関連付けてノードDB６００に登録する。例えば、MAC特定部５２０は、登録されるノードのIPアドレスがIPｖ６である場合に、近隣キャッシュを参照して、登録されるノードのIPアドレスに対応するMACアドレスを特定し、登録されるノードのIPアドレスがIPｖ４である場合に、ARP（Address Resolution Protocol）テーブルを参照して、登録されるノードのIPアドレスに対応するMACアドレスを特定する。
【００２４】
ノード登録部５２５は、稼働確認部５１５により稼働が確認されたノードに関する情報（アドレス情報及びホスト名など）をノードDB６００に登録する。例えば、ノード登録部５２５は、稼働確認部５１５により稼働が確認されたノードのIPアドレス、MACアドレス、ホスト名、及び、IPアドレスのバージョン（IPｖ４又はIPｖ６）をノードDB６００に登録する。
【００２５】
図３は、ノード検出装置１０の動作を説明するフローチャートである。
図４は、ノード検出装置１０により参照される情報を例示する図である。
図３に例示するように、ステップ１００（Ｓ１００）において、ノード検出装置１０のDNS指定部５００は、DNSサーバ８に問い合わせて、ドメイン名のリストを表示し、管理者にドメイン名の指定操作を促す。
DNS指定部５００は、管理者がいずれかのドメイン名を選択すると、DNSサーバ８に対して、選択されたドメインのAAAAレコード及びAレコードを要求し、IPアドレス及びホスト名を取得する。具体的には、取得部５１０は、DNSサーバ８に対して、レコード種類を指定したnslookupコマンドを実行する。これにより、図４（A）に例示するDNSレコードが取得部５１０により取得される。DNSレコードには、IPｖ６のAAAAレコードと、IPｖ４のAレコードとが含まれうる。
【００２６】
ステップ１０５（Ｓ１０５）において、ノード検出プログラム５は、範囲設定部５０５によりIPアドレスの範囲が設定されているか否かを判断し、範囲が設定されている場合に、Ｓ１１０の処理に移行し、範囲が設定されていない場合に、Ｓ１１５の処理に移行する。
【００２７】
ステップ１１０（Ｓ１１０）において、取得部５１０は、取得されたIPアドレス及びホスト名の中から、設定されている範囲のIPアドレスと、これに対応するホスト名とを抽出する。
ステップ１１５（Ｓ１１５）において、取得部５１０は、抽出されたIPアドレス及びホスト名から、ノードDB６００に登録されているIPアドレス及びホスト名を除外し、残ったIPアドレス及びホスト名を稼働確認部５１５に出力する。
【００２８】
ステップ１２０（Ｓ１２０）において、稼働確認部５１５は、取得部５１０から入力されたIPアドレス及びホスト名に基づいて、順に稼働確認を行う。具体的には、稼働確認部５１５は、入力されたIPアドレスのノードに対して、ICMPｖ４又はICMPｖ６のECHOREQUESTを送信する。
【００２９】
ステップ１２５（Ｓ１２５）において、ノード検出プログラム５は、稼働確認部５１５によりノードの稼働が確認された場合に、存在するノードと判定しＳ１３０の処理に移行し、ノードの稼働が確認されなかった場合に、存在しないノードと判定してＳ１３５の処理に移行する。具体的には、稼働確認部５１５は、取得部５１０から入力されたIPアドレス及びホスト名に基づいて、順に稼働確認を行う。具体的には、稼働確認部５１５は、送信したECHOREQUESTに対応するECHOREPLYの返信があった場合に、このノードを、稼働ノードとしてノード登録部５２５に通知し、ECHOREPLYの返信がなかった場合に、このノードを、存在しないノードと判定する。
【００３０】
ステップ１３０（Ｓ１３０）において、ノード登録部５２５は、稼働確認部５１５から稼働ノードとして通知されたノードのIPアドレス及びホスト名をノードDB６００に登録する。
ステップ１３５（Ｓ１３５）において、ノード検出プログラム５は、取得部５１０により抽出された全てのノードについて稼働確認を行ったか否かを判断し、稼働確認を行っていないノードが残っている場合に、Ｓ１２０の処理に戻って、次のノードの稼働確認を行い、全てのノードについて稼働確認が終了した場合に、Ｓ１４０の処理に移行する。
【００３１】
ステップ１４０（Ｓ１４０）において、MAC特定部５２０は、ノードDB６００に登録されたIPアドレスに対応するMACアドレスを特定する。具体的には、MAC特定部５２０は、登録されたIPアドレスがIPｖ６アドレスである場合に、図４（B）に例示する近隣キャッシュ情報を参照して、登録されたIPアドレスと同じIPアドレスに対応するMACアドレスを探索する。また、MAC特定部５２０は、登録されたIPアドレスがIPｖ４アドレスである場合に、図４（C）に例示するARPテーブルを参照して、登録されたIPアドレスと同じIPアドレスに対応するMACアドレス（Physical Address）を探索する。
【００３２】
ステップ１４５（Ｓ１４５）において、MAC特定部５２０は、特定されたMACアドレスを、登録されたIPアドレスに関連付けて、ノードDB６００に登録する。本例のMAC特定部５２０は、ノード登録部５２５を介して、MACアドレスをノードDB６００に登録する。
【００３３】
図５は、ノード検出処理の全体動作を説明するシーケンス図である。
図５に示すように、管理者（ユーザ）が、ノード検出装置１０に対して、DNSサーバの指定、及び、アドレス範囲の設定を行って、ノード検出の開始を指示すると（Ｓ２００）、ノード検出装置１０は、管理者により指定されたDNSサーバに対して、AAAAレコードを指定したnslookupコマンドを実行する（Ｓ２０２）。
DNSサーバ８は、ノード検出装置１０からの要求に応じて、AAAAレコードを返信する（Ｓ２０４）。
【００３４】
ノード検出装置１０は、返信されたAAAAレコードの中から、設定されたアドレス範囲内のIPアドレス及びホスト名を抽出し、さらに、抽出されたIPアドレス及びホスト名から、ノードDB６００に登録されているIPアドレス及びホスト名を除外して、残ったIPアドレス及びホスト名を候補ノードとする（Ｓ２０６）。
【００３５】
ノード検出装置１０は、候補ノードのIPアドレスを用いて、ICMPｖ６のECHOREQUESTを送信する（Ｓ２０８）。
ECHOREQUESTを受信したノード９０２は、ECHOREPLYをノード検出装置１０に返信する（Ｓ２１０）。
ノード検出装置１０は、ノード９０２からECHOREPLYを受信すると、このノード９０２のIPアドレス及びホスト名を稼働ノードとして確定させ、ノードDB６００に登録する（Ｓ２１２）。
【００３６】
ノード検出装置１０は、図６に例示するように、netshコマンドを実行して、近隣キャッシュを問い合わせ、近隣キャッシュの情報から、ノードDB６００に登録されたIPアドレスに対応するMACアドレスを探索し、発見されたMACアドレスを、登録されたIPアドレスに関連付けてノードDB６００（検出データベースレコード）に登録する（Ｓ２１４）。
【００３７】
次に、ノード検出装置１０は、管理者により指定されたDNSサーバに対して、Aレコードを指定したnslookupコマンドを実行する（Ｓ２１６）。
DNSサーバ８は、ノード検出装置１０からの要求に応じて、Aレコードを返信する（Ｓ２１８）。
【００３８】
ノード検出装置１０は、返信されたAレコードの中から、設定されたアドレス範囲内のIPアドレス及びホスト名を抽出し、さらに、抽出されたIPアドレス及びホスト名から、ノードDB６００に登録されているIPアドレス及びホスト名を除外して、残ったIPアドレス及びホスト名を候補ノードとする（Ｓ２２０）。
【００３９】
ノード検出装置１０は、候補ノードのIPアドレスを用いて、ICMPのECHOREQUESTを送信する（Ｓ２２２）。
ECHOREQUESTを受信したノード９０２は、ECHOREPLYをノード検出装置１０に返信する（Ｓ２２４）。
ノード検出装置１０は、ノード９０２からECHOREPLYを受信すると、このノード９０２のIPアドレス及びホスト名を稼働ノードとして確定させ、ノードDB６００に登録する（Ｓ２２６）。
【００４０】
ノード検出装置１０は、ARPテーブルを問い合わせ、図４（C）に例示するARPテーブルから、ノードDB６００に登録されたIPアドレスに対応するMACアドレスを探索し、発見されたMACアドレスを、登録されたIPアドレスに関連付けてノードDBに登録する（Ｓ２２８）。
【００４１】
以上説明したように、本実施形態のノード検出装置１０は、DNSサーバ８に登録されているノードを候補ノードとして収集し、候補ノードに対して稼働確認を行って、ネットワーク上に存在するノードを確定させる。これにより、ネットワーク上に存在する多数のノードを容易に検出することができる。特に、複数のサブネットからなる大規模ネットワークにおいて好適である。
また、ノード検出装置１０は、AAAAレコード及びAレコードの双方を対象とすることにより、IPｖ４環境のノードであっても、IPｖ６環境のノードであっても検出できる。また、IPｖ６環境、又は、IPｖ４とIPｖ６とが混在する環境では、アドレス空間が膨大となるため、IPアドレスの総当たりでノードを検出する場合に比べて、ノード検出処理が高速であり、かつ、ネットワーク負荷が軽減される。
また、ノード検出装置１０は、アドレス範囲の設定と、既登録ノードの除外とを行うことによって、ICMP稼働確認の対象となるノードを絞り込み、処理の高速化及びネットワーク負荷の軽減を実現している。
【００４２】
［変形例］
上記実施形態の変形例を説明する。
上記実施形態では、取得部５１０がDNSレコードを取得した後で、設定されたアドレス範囲内のノードに絞り込んでいるが、これに限定されるものではなく、例えば、取得部５１０は、範囲設定部５０５により設定されたアドレス範囲内のDNSレコードのみを取得するようにしてもよい。
また、例えば、DNS指定部５００は、DNSサーバが管理するドメイン名のリストを表示する際に、管理者にDNSサーバの指定操作を促すようにしてもよい。そうすることで幅広いドメインを対象にすることができる。
【符号の説明】
【００４３】
１０…ノード検出装置
５…ノード検出プログラム
５００…DNS指定部
５０５…範囲設定部
５１０…取得部
５１５…稼働確認部
５２０…MAC特定部
５２５…ノード登録部
６００…ノードデータベース
【図１】
0005644710.tif 000002
【図２】
0005644710.tif 000003
【図３】
0005644710.tif 000004
【図４】
0005644710.tif 000005
【図５】
0005644710.tif 000006
【図６】
0005644710.tif 000007