ノード検出装置、ノード検出方法、及びプログラム
【課題】 ネットワーク上に存在するノードを検出するノード検出装置を提供する。
【解決手段】 ノード検出装置10は、DNSサーバ8に登録されているノードを候補ノードとして収集し、候補ノードに対して稼働確認を行って、ネットワーク上に存在するノードを確定させる。これにより、ネットワーク上のノードを容易に検出することができる。また、ノード検出装置10は、AAAAレコード及びAレコードの双方を対象とすることにより、IPv4環境のノードであっても、IPv6環境のノードであっても高速に検出でき、IPアドレスの総当たりでノードを検出する場合に比べて、ネットワーク負荷も軽減される。
【解決手段】 ノード検出装置10は、DNSサーバ8に登録されているノードを候補ノードとして収集し、候補ノードに対して稼働確認を行って、ネットワーク上に存在するノードを確定させる。これにより、ネットワーク上のノードを容易に検出することができる。また、ノード検出装置10は、AAAAレコード及びAレコードの双方を対象とすることにより、IPv4環境のノードであっても、IPv6環境のノードであっても高速に検出でき、IPアドレスの総当たりでノードを検出する場合に比べて、ネットワーク負荷も軽減される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ノード検出方法に関する。
【背景技術】
【0002】
例えば、特許文献1には、デバイスの完全に認定されたドメインからネットワーク上のファイバチャネルデバイスアドレスを解決する方法であって、 該デバイスに対するインターネットプロトコルアドレスを決定するために、該完全に認定されたドメイン名を含むドメイン名の問い合わせを、ホストコンピュータから該ネットワークを介して、ドメイン名サーバへと送信するステップと、 該ドメイン名サーバにおいて、該完全に認定されたドメイン名に基づいて、該デバイスに対する該インターネットプロトコルアドレスを位置付けするステップと、該デバイスインターネットプロトコルアドレスを該ホストコンピュータへ送信するステップと、該デバイスのノード名を決定するために、該インターネットプロトコルアドレスを含むアドレス解決プロトコルリクエストを、該ホストコンピュータから該記憶領域ネットワークを介して送信するステップと、該デバイスノード名を含むアドレス解決プロトコル応答を、該ホストコンピュータへ送信するステップと、該デバイスの物理アドレスを決定するために、該デバイスノード名を含むファイバチャネルアドレス解決プロトコルリクエストを、該ホストコンピュータから該デバイスへ送信するステップと、 該デバイスの物理アドレスを含むファイバチャネルアドレス解決プロトコル応答を、該ホストコンピュータへ送信するステップとを含む方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2002−525944号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ネットワーク上に存在するノードを検出するノード検出装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明に係るノード検出装置は、DNSサーバにより管理されている通信機器のアドレス情報を取得する取得手段と、前記取得手段により取得されたアドレス情報に基づいて、通信機器の稼働確認を行う稼働確認手段と、前記稼働確認手段による稼働確認結果に基づいて、前記取得手段により取得されたアドレス情報の通信機器を稼働ノードとして登録するノード登録手段とを有する。
【0006】
好適には、前記取得手段は、DNSサーバにより管理されているAAAAレコード及びAレコードを取得し、前記稼働確認手段は、取得されたAAAAレコード及びAレコードに含まれるIPアドレスを用いて、通信機器の稼働確認を行い、前記ノード登録手段は、稼働が確認されたIPアドレスに対応するホスト名を、稼働ノードとして登録する。
【0007】
好適には、前記稼働確認手段は、AAAAレコードに含まれているIPアドレスに関しては、ICMPv6に従って稼働確認を行い、Aレコードに含まれているIPアドレスに関しては、ICMPv4に従って稼働確認を行う。
【0008】
好適には、前記ノード登録手段は、AAAAレコードに含まれているIPアドレスであるかAレコードに含まれているIPアドレスであるかに基づいて、稼働が確認されたホスト名を、IPv6又はIPv4に関連付けて登録する。
【0009】
好適には、ユーザの操作に応じて、ノード検出の対象となるIPアドレスの範囲を設定する範囲設定手段をさらに有し、前記取得手段は、前記範囲設定手段により設定されたIPアドレスの範囲に対応する、AAAAレコード又はAレコードを取得する。
【0010】
好適には、前記取得手段は、ユーザにより指定されたDNSサーバから、AAAAレコード又はAレコードを取得する。
【0011】
好適には、前記稼働確認手段は、AAAAレコード又はAレコードに含まれるIPアドレスのうち、前記ノード登録手段により稼働ノードとして登録されていないIPアドレスのみに関して、稼働確認を行う。
【0012】
好適には、近隣キャッシュ又はARPテーブルに基づいて、稼働が確認された通信機器のIPアドレスに対応するMACアドレスを特定するMAC特定手段をさらに有し、前記ノード登録手段は、稼働が確認された通信機器のIPアドレスと、前記MAC特定手段により得されたMACアドレスとを登録する。
【0013】
本発明に係るノード検出方法は、DNSサーバにより管理されている通信機器のアドレス情報を取得するステップと、取得された前記アドレス情報に基づいて、通信機器の稼働確認を行うステップと、前記稼働確認の結果に基づいて、取得されたアドレス情報の通信機器を、稼働ノードとして登録するステップとを有する。
【0014】
本発明に係るプログラムは、DNSサーバにより管理されている通信機器のアドレス情報を取得するステップと、取得された前記アドレス情報に基づいて、通信機器の稼働確認を行うステップと、前記稼働確認の結果に基づいて、取得されたアドレス情報の通信機器を、稼働ノードとして登録するステップとをコンピュータに実行させる。
【発明の効果】
【0015】
本発明によれば、ネットワーク上に存在するノードを検出することができる。
【図面の簡単な説明】
【0016】
【図1】ノード検出システム1の概要を説明する図である。
【図2】ノード検出装置10の機能構成を例示する図である。
【図3】ノード検出装置10の動作を説明するフローチャートである。
【図4】ノード検出装置10により参照される情報を例示する図である。
【図5】ノード検出処理の全体動作を説明するシーケンス図である。
【図6】IPv6環境のMACアドレス特定方法を説明する図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態を、図面を参照して説明する。
図1は、ノード検出システム1の概要を説明する図である。
図1に例示するように、本実施形態のノード検出システム1は、ノード検出装置10と、DNSサーバ8とを有する。ノード902A〜902Dは、検出対象となるノードであり、ルータ900を介して接続された複数のセグメントに散在する。
ノード検出装置10は、例えば、後述するノード検出プログラム5がインストールされたサーバ装置であり、ネットワーク上に存在するノードを検出する。ここで、ノードとは、ネットワークを構成する要素であり、コンピュータ端末、ルータ、及びハブなどの通信機器を含む。本例では、ノート型のコンピュータ端末902をノードとして説明するが、これに限定されるものではなく、例えば、ルータ900などもノードとなりうる。
【0018】
DNSサーバ8は、ドメインネームシステム(Domain Name System)を構成するサーバ装置であり、IPアドレス(Internet Protocol Address)とドメイン名又はホスト名との対応表を管理する。本例のDNSサーバ8は、少なくとも、IPv6のIPアドレスが含まれたAAAAレコードと、IPv4のIPアドレスが含まれたAレコードとを格納し、ノード902のIPアドレス及びホスト名を管理する。
なお、以下の説明では、IPv6とIPv4のノードがネットワーク上に混在していることを前提として説明するが、これに限定されるものではなく、IPv6のノードのみ、又は、IPv4のノードのみで構成されるネットワークでも同様に動作可能である。
【0019】
図2は、ノード検出装置10の機能構成を例示する図である。
図2に例示するように、ノード検出装置10は、ノード検出プログラム5と、ノードデータベース600(ノードDB600)とを有する。
ノード検出プログラム5は、例えば、CD-ROMなどの記録媒体を介して、ノード検出装置10にインストールされたコンピュータプログラムである。ノード検出プログラム5は、DNS指定部500、範囲設定部505、取得部510、稼働確認部515、MAC特定部520、及びノード登録部525を有する。
ノードDB600は、ネットワーク上に存在するノードの識別情報(具体的には、ホスト名、IPアドレス、及び、MACアドレス(Physical Address))を管理するデータベースであり、ノード検出装置10の記録領域を用いて構成されている。なお、ノードDB600には、各ノードがIPv6のノードであるのかIPv4のノードであるのかを示す情報が登録されてもよい。
【0020】
ノード検出プログラム5において、DNS指定部500は、管理者(ユーザ)の操作に応じて、DNSサーバの指定を受け付ける。
範囲設定部505は、管理者の操作に応じて、ノード検出の対象となるアドレスの範囲を設定する。例えば、範囲設定部505は、管理者により一つのIPアドレスが直接指定された場合に、指定されたIPアドレスのみを範囲に設定し、管理者によりセグメント(LANなど)が指定された場合に、指定されたセグメントに対応するIPアドレス群を設定し、管理者により開始のIPアドレスと終了のIPアドレスとが指定された場合に、開始のIPアドレスから終了のIPアドレスまでの範囲を設定し、管理者によりホスト名が指定された場合に、指定されたホスト名に対応するIPアドレスを設定し、管理者により、除外するIPアドレスが指定された場合に、指定されたIPアドレスが除外されたIPアドレス群を設定する。
【0021】
取得部510は、DNSサーバ8により管理されているアドレス情報を取得し、取得されたアドレス情報を稼働確認部515に出力する。例えば、取得部510は、DNS指定部500により指定されたDNSサーバ8にアクセスして、AAAAレコード又はAレコードを取得し、取得されたAAAAレコード又はAレコードから、範囲設定部505により設定された範囲のIPアドレス及びホスト名を抽出し、抽出されたIPアドレス及びホスト名を候補ノードとして稼働確認部515に出力する。
【0022】
稼働確認部515は、取得部510により取得されたアドレス情報に基づいて、このアドレス情報に対応するノード(通信機器)の稼働確認を行う。例えば、稼働確認部515は、ICMPに従って、取得部510から入力されたIPアドレスに対応するノードの稼働確認を行い、その確認結果をノード登録部525に出力する。
【0023】
MAC特定部520は、ノード登録部525により登録されるノードのMACアドレス(Media Access Control address)を特定し、特定されたMACアドレスを、登録されるノードに関連付けてノードDB600に登録する。例えば、MAC特定部520は、登録されるノードのIPアドレスがIPv6である場合に、近隣キャッシュを参照して、登録されるノードのIPアドレスに対応するMACアドレスを特定し、登録されるノードのIPアドレスがIPv4である場合に、ARP(Address Resolution Protocol)テーブルを参照して、登録されるノードのIPアドレスに対応するMACアドレスを特定する。
【0024】
ノード登録部525は、稼働確認部515により稼働が確認されたノードに関する情報(アドレス情報及びホスト名など)をノードDB600に登録する。例えば、ノード登録部525は、稼働確認部515により稼働が確認されたノードのIPアドレス、MACアドレス、ホスト名、及び、IPアドレスのバージョン(IPv4又はIPv6)をノードDB600に登録する。
【0025】
図3は、ノード検出装置10の動作を説明するフローチャートである。
図4は、ノード検出装置10により参照される情報を例示する図である。
図3に例示するように、ステップ100(S100)において、ノード検出装置10のDNS指定部500は、DNSサーバ8に問い合わせて、ドメイン名のリストを表示し、管理者にドメイン名の指定操作を促す。
DNS指定部500は、管理者がいずれかのドメイン名を選択すると、DNSサーバ8に対して、選択されたドメインのAAAAレコード及びAレコードを要求し、IPアドレス及びホスト名を取得する。具体的には、取得部510は、DNSサーバ8に対して、レコード種類を指定したnslookupコマンドを実行する。これにより、図4(A)に例示するDNSレコードが取得部510により取得される。DNSレコードには、IPv6のAAAAレコードと、IPv4のAレコードとが含まれうる。
【0026】
ステップ105(S105)において、ノード検出プログラム5は、範囲設定部505によりIPアドレスの範囲が設定されているか否かを判断し、範囲が設定されている場合に、S110の処理に移行し、範囲が設定されていない場合に、S115の処理に移行する。
【0027】
ステップ110(S110)において、取得部510は、取得されたIPアドレス及びホスト名の中から、設定されている範囲のIPアドレスと、これに対応するホスト名とを抽出する。
ステップ115(S115)において、取得部510は、抽出されたIPアドレス及びホスト名から、ノードDB600に登録されているIPアドレス及びホスト名を除外し、残ったIPアドレス及びホスト名を稼働確認部515に出力する。
【0028】
ステップ120(S120)において、稼働確認部515は、取得部510から入力されたIPアドレス及びホスト名に基づいて、順に稼働確認を行う。具体的には、稼働確認部515は、入力されたIPアドレスのノードに対して、ICMPv4又はICMPv6のECHOREQUESTを送信する。
【0029】
ステップ125(S125)において、ノード検出プログラム5は、稼働確認部515によりノードの稼働が確認された場合に、存在するノードと判定しS130の処理に移行し、ノードの稼働が確認されなかった場合に、存在しないノードと判定してS135の処理に移行する。具体的には、稼働確認部515は、取得部510から入力されたIPアドレス及びホスト名に基づいて、順に稼働確認を行う。具体的には、稼働確認部515は、送信したECHOREQUESTに対応するECHOREPLYの返信があった場合に、このノードを、稼働ノードとしてノード登録部525に通知し、ECHOREPLYの返信がなかった場合に、このノードを、存在しないノードと判定する。
【0030】
ステップ130(S130)において、ノード登録部525は、稼働確認部515から稼働ノードとして通知されたノードのIPアドレス及びホスト名をノードDB600に登録する。
ステップ135(S135)において、ノード検出プログラム5は、取得部510により抽出された全てのノードについて稼働確認を行ったか否かを判断し、稼働確認を行っていないノードが残っている場合に、S120の処理に戻って、次のノードの稼働確認を行い、全てのノードについて稼働確認が終了した場合に、S140の処理に移行する。
【0031】
ステップ140(S140)において、MAC特定部520は、ノードDB600に登録されたIPアドレスに対応するMACアドレスを特定する。具体的には、MAC特定部520は、登録されたIPアドレスがIPv6アドレスである場合に、図4(B)に例示する近隣キャッシュ情報を参照して、登録されたIPアドレスと同じIPアドレスに対応するMACアドレスを探索する。また、MAC特定部520は、登録されたIPアドレスがIPv4アドレスである場合に、図4(C)に例示するARPテーブルを参照して、登録されたIPアドレスと同じIPアドレスに対応するMACアドレス(Physical Address)を探索する。
【0032】
ステップ145(S145)において、MAC特定部520は、特定されたMACアドレスを、登録されたIPアドレスに関連付けて、ノードDB600に登録する。本例のMAC特定部520は、ノード登録部525を介して、MACアドレスをノードDB600に登録する。
【0033】
図5は、ノード検出処理の全体動作を説明するシーケンス図である。
図5に示すように、管理者(ユーザ)が、ノード検出装置10に対して、DNSサーバの指定、及び、アドレス範囲の設定を行って、ノード検出の開始を指示すると(S200)、ノード検出装置10は、管理者により指定されたDNSサーバに対して、AAAAレコードを指定したnslookupコマンドを実行する(S202)。
DNSサーバ8は、ノード検出装置10からの要求に応じて、AAAAレコードを返信する(S204)。
【0034】
ノード検出装置10は、返信されたAAAAレコードの中から、設定されたアドレス範囲内のIPアドレス及びホスト名を抽出し、さらに、抽出されたIPアドレス及びホスト名から、ノードDB600に登録されているIPアドレス及びホスト名を除外して、残ったIPアドレス及びホスト名を候補ノードとする(S206)。
【0035】
ノード検出装置10は、候補ノードのIPアドレスを用いて、ICMPv6のECHOREQUESTを送信する(S208)。
ECHOREQUESTを受信したノード902は、ECHOREPLYをノード検出装置10に返信する(S210)。
ノード検出装置10は、ノード902からECHOREPLYを受信すると、このノード902のIPアドレス及びホスト名を稼働ノードとして確定させ、ノードDB600に登録する(S212)。
【0036】
ノード検出装置10は、図6に例示するように、netshコマンドを実行して、近隣キャッシュを問い合わせ、近隣キャッシュの情報から、ノードDB600に登録されたIPアドレスに対応するMACアドレスを探索し、発見されたMACアドレスを、登録されたIPアドレスに関連付けてノードDB600(検出データベースレコード)に登録する(S214)。
【0037】
次に、ノード検出装置10は、管理者により指定されたDNSサーバに対して、Aレコードを指定したnslookupコマンドを実行する(S216)。
DNSサーバ8は、ノード検出装置10からの要求に応じて、Aレコードを返信する(S218)。
【0038】
ノード検出装置10は、返信されたAレコードの中から、設定されたアドレス範囲内のIPアドレス及びホスト名を抽出し、さらに、抽出されたIPアドレス及びホスト名から、ノードDB600に登録されているIPアドレス及びホスト名を除外して、残ったIPアドレス及びホスト名を候補ノードとする(S220)。
【0039】
ノード検出装置10は、候補ノードのIPアドレスを用いて、ICMPのECHOREQUESTを送信する(S222)。
ECHOREQUESTを受信したノード902は、ECHOREPLYをノード検出装置10に返信する(S224)。
ノード検出装置10は、ノード902からECHOREPLYを受信すると、このノード902のIPアドレス及びホスト名を稼働ノードとして確定させ、ノードDB600に登録する(S226)。
【0040】
ノード検出装置10は、ARPテーブルを問い合わせ、図4(C)に例示するARPテーブルから、ノードDB600に登録されたIPアドレスに対応するMACアドレスを探索し、発見されたMACアドレスを、登録されたIPアドレスに関連付けてノードDBに登録する(S228)。
【0041】
以上説明したように、本実施形態のノード検出装置10は、DNSサーバ8に登録されているノードを候補ノードとして収集し、候補ノードに対して稼働確認を行って、ネットワーク上に存在するノードを確定させる。これにより、ネットワーク上に存在する多数のノードを容易に検出することができる。特に、複数のサブネットからなる大規模ネットワークにおいて好適である。
また、ノード検出装置10は、AAAAレコード及びAレコードの双方を対象とすることにより、IPv4環境のノードであっても、IPv6環境のノードであっても検出できる。また、IPv6環境、又は、IPv4とIPv6とが混在する環境では、アドレス空間が膨大となるため、IPアドレスの総当たりでノードを検出する場合に比べて、ノード検出処理が高速であり、かつ、ネットワーク負荷が軽減される。
また、ノード検出装置10は、アドレス範囲の設定と、既登録ノードの除外とを行うことによって、ICMP稼働確認の対象となるノードを絞り込み、処理の高速化及びネットワーク負荷の軽減を実現している。
【0042】
[変形例]
上記実施形態の変形例を説明する。
上記実施形態では、取得部510がDNSレコードを取得した後で、設定されたアドレス範囲内のノードに絞り込んでいるが、これに限定されるものではなく、例えば、取得部510は、範囲設定部505により設定されたアドレス範囲内のDNSレコードのみを取得するようにしてもよい。
また、例えば、DNS指定部500は、DNSサーバが管理するドメイン名のリストを表示する際に、管理者にDNSサーバの指定操作を促すようにしてもよい。そうすることで幅広いドメインを対象にすることができる。
【符号の説明】
【0043】
10…ノード検出装置
5…ノード検出プログラム
500…DNS指定部
505…範囲設定部
510…取得部
515…稼働確認部
520…MAC特定部
525…ノード登録部
600…ノードデータベース
【技術分野】
【0001】
本発明は、ノード検出方法に関する。
【背景技術】
【0002】
例えば、特許文献1には、デバイスの完全に認定されたドメインからネットワーク上のファイバチャネルデバイスアドレスを解決する方法であって、 該デバイスに対するインターネットプロトコルアドレスを決定するために、該完全に認定されたドメイン名を含むドメイン名の問い合わせを、ホストコンピュータから該ネットワークを介して、ドメイン名サーバへと送信するステップと、 該ドメイン名サーバにおいて、該完全に認定されたドメイン名に基づいて、該デバイスに対する該インターネットプロトコルアドレスを位置付けするステップと、該デバイスインターネットプロトコルアドレスを該ホストコンピュータへ送信するステップと、該デバイスのノード名を決定するために、該インターネットプロトコルアドレスを含むアドレス解決プロトコルリクエストを、該ホストコンピュータから該記憶領域ネットワークを介して送信するステップと、該デバイスノード名を含むアドレス解決プロトコル応答を、該ホストコンピュータへ送信するステップと、該デバイスの物理アドレスを決定するために、該デバイスノード名を含むファイバチャネルアドレス解決プロトコルリクエストを、該ホストコンピュータから該デバイスへ送信するステップと、 該デバイスの物理アドレスを含むファイバチャネルアドレス解決プロトコル応答を、該ホストコンピュータへ送信するステップとを含む方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2002−525944号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ネットワーク上に存在するノードを検出するノード検出装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明に係るノード検出装置は、DNSサーバにより管理されている通信機器のアドレス情報を取得する取得手段と、前記取得手段により取得されたアドレス情報に基づいて、通信機器の稼働確認を行う稼働確認手段と、前記稼働確認手段による稼働確認結果に基づいて、前記取得手段により取得されたアドレス情報の通信機器を稼働ノードとして登録するノード登録手段とを有する。
【0006】
好適には、前記取得手段は、DNSサーバにより管理されているAAAAレコード及びAレコードを取得し、前記稼働確認手段は、取得されたAAAAレコード及びAレコードに含まれるIPアドレスを用いて、通信機器の稼働確認を行い、前記ノード登録手段は、稼働が確認されたIPアドレスに対応するホスト名を、稼働ノードとして登録する。
【0007】
好適には、前記稼働確認手段は、AAAAレコードに含まれているIPアドレスに関しては、ICMPv6に従って稼働確認を行い、Aレコードに含まれているIPアドレスに関しては、ICMPv4に従って稼働確認を行う。
【0008】
好適には、前記ノード登録手段は、AAAAレコードに含まれているIPアドレスであるかAレコードに含まれているIPアドレスであるかに基づいて、稼働が確認されたホスト名を、IPv6又はIPv4に関連付けて登録する。
【0009】
好適には、ユーザの操作に応じて、ノード検出の対象となるIPアドレスの範囲を設定する範囲設定手段をさらに有し、前記取得手段は、前記範囲設定手段により設定されたIPアドレスの範囲に対応する、AAAAレコード又はAレコードを取得する。
【0010】
好適には、前記取得手段は、ユーザにより指定されたDNSサーバから、AAAAレコード又はAレコードを取得する。
【0011】
好適には、前記稼働確認手段は、AAAAレコード又はAレコードに含まれるIPアドレスのうち、前記ノード登録手段により稼働ノードとして登録されていないIPアドレスのみに関して、稼働確認を行う。
【0012】
好適には、近隣キャッシュ又はARPテーブルに基づいて、稼働が確認された通信機器のIPアドレスに対応するMACアドレスを特定するMAC特定手段をさらに有し、前記ノード登録手段は、稼働が確認された通信機器のIPアドレスと、前記MAC特定手段により得されたMACアドレスとを登録する。
【0013】
本発明に係るノード検出方法は、DNSサーバにより管理されている通信機器のアドレス情報を取得するステップと、取得された前記アドレス情報に基づいて、通信機器の稼働確認を行うステップと、前記稼働確認の結果に基づいて、取得されたアドレス情報の通信機器を、稼働ノードとして登録するステップとを有する。
【0014】
本発明に係るプログラムは、DNSサーバにより管理されている通信機器のアドレス情報を取得するステップと、取得された前記アドレス情報に基づいて、通信機器の稼働確認を行うステップと、前記稼働確認の結果に基づいて、取得されたアドレス情報の通信機器を、稼働ノードとして登録するステップとをコンピュータに実行させる。
【発明の効果】
【0015】
本発明によれば、ネットワーク上に存在するノードを検出することができる。
【図面の簡単な説明】
【0016】
【図1】ノード検出システム1の概要を説明する図である。
【図2】ノード検出装置10の機能構成を例示する図である。
【図3】ノード検出装置10の動作を説明するフローチャートである。
【図4】ノード検出装置10により参照される情報を例示する図である。
【図5】ノード検出処理の全体動作を説明するシーケンス図である。
【図6】IPv6環境のMACアドレス特定方法を説明する図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態を、図面を参照して説明する。
図1は、ノード検出システム1の概要を説明する図である。
図1に例示するように、本実施形態のノード検出システム1は、ノード検出装置10と、DNSサーバ8とを有する。ノード902A〜902Dは、検出対象となるノードであり、ルータ900を介して接続された複数のセグメントに散在する。
ノード検出装置10は、例えば、後述するノード検出プログラム5がインストールされたサーバ装置であり、ネットワーク上に存在するノードを検出する。ここで、ノードとは、ネットワークを構成する要素であり、コンピュータ端末、ルータ、及びハブなどの通信機器を含む。本例では、ノート型のコンピュータ端末902をノードとして説明するが、これに限定されるものではなく、例えば、ルータ900などもノードとなりうる。
【0018】
DNSサーバ8は、ドメインネームシステム(Domain Name System)を構成するサーバ装置であり、IPアドレス(Internet Protocol Address)とドメイン名又はホスト名との対応表を管理する。本例のDNSサーバ8は、少なくとも、IPv6のIPアドレスが含まれたAAAAレコードと、IPv4のIPアドレスが含まれたAレコードとを格納し、ノード902のIPアドレス及びホスト名を管理する。
なお、以下の説明では、IPv6とIPv4のノードがネットワーク上に混在していることを前提として説明するが、これに限定されるものではなく、IPv6のノードのみ、又は、IPv4のノードのみで構成されるネットワークでも同様に動作可能である。
【0019】
図2は、ノード検出装置10の機能構成を例示する図である。
図2に例示するように、ノード検出装置10は、ノード検出プログラム5と、ノードデータベース600(ノードDB600)とを有する。
ノード検出プログラム5は、例えば、CD-ROMなどの記録媒体を介して、ノード検出装置10にインストールされたコンピュータプログラムである。ノード検出プログラム5は、DNS指定部500、範囲設定部505、取得部510、稼働確認部515、MAC特定部520、及びノード登録部525を有する。
ノードDB600は、ネットワーク上に存在するノードの識別情報(具体的には、ホスト名、IPアドレス、及び、MACアドレス(Physical Address))を管理するデータベースであり、ノード検出装置10の記録領域を用いて構成されている。なお、ノードDB600には、各ノードがIPv6のノードであるのかIPv4のノードであるのかを示す情報が登録されてもよい。
【0020】
ノード検出プログラム5において、DNS指定部500は、管理者(ユーザ)の操作に応じて、DNSサーバの指定を受け付ける。
範囲設定部505は、管理者の操作に応じて、ノード検出の対象となるアドレスの範囲を設定する。例えば、範囲設定部505は、管理者により一つのIPアドレスが直接指定された場合に、指定されたIPアドレスのみを範囲に設定し、管理者によりセグメント(LANなど)が指定された場合に、指定されたセグメントに対応するIPアドレス群を設定し、管理者により開始のIPアドレスと終了のIPアドレスとが指定された場合に、開始のIPアドレスから終了のIPアドレスまでの範囲を設定し、管理者によりホスト名が指定された場合に、指定されたホスト名に対応するIPアドレスを設定し、管理者により、除外するIPアドレスが指定された場合に、指定されたIPアドレスが除外されたIPアドレス群を設定する。
【0021】
取得部510は、DNSサーバ8により管理されているアドレス情報を取得し、取得されたアドレス情報を稼働確認部515に出力する。例えば、取得部510は、DNS指定部500により指定されたDNSサーバ8にアクセスして、AAAAレコード又はAレコードを取得し、取得されたAAAAレコード又はAレコードから、範囲設定部505により設定された範囲のIPアドレス及びホスト名を抽出し、抽出されたIPアドレス及びホスト名を候補ノードとして稼働確認部515に出力する。
【0022】
稼働確認部515は、取得部510により取得されたアドレス情報に基づいて、このアドレス情報に対応するノード(通信機器)の稼働確認を行う。例えば、稼働確認部515は、ICMPに従って、取得部510から入力されたIPアドレスに対応するノードの稼働確認を行い、その確認結果をノード登録部525に出力する。
【0023】
MAC特定部520は、ノード登録部525により登録されるノードのMACアドレス(Media Access Control address)を特定し、特定されたMACアドレスを、登録されるノードに関連付けてノードDB600に登録する。例えば、MAC特定部520は、登録されるノードのIPアドレスがIPv6である場合に、近隣キャッシュを参照して、登録されるノードのIPアドレスに対応するMACアドレスを特定し、登録されるノードのIPアドレスがIPv4である場合に、ARP(Address Resolution Protocol)テーブルを参照して、登録されるノードのIPアドレスに対応するMACアドレスを特定する。
【0024】
ノード登録部525は、稼働確認部515により稼働が確認されたノードに関する情報(アドレス情報及びホスト名など)をノードDB600に登録する。例えば、ノード登録部525は、稼働確認部515により稼働が確認されたノードのIPアドレス、MACアドレス、ホスト名、及び、IPアドレスのバージョン(IPv4又はIPv6)をノードDB600に登録する。
【0025】
図3は、ノード検出装置10の動作を説明するフローチャートである。
図4は、ノード検出装置10により参照される情報を例示する図である。
図3に例示するように、ステップ100(S100)において、ノード検出装置10のDNS指定部500は、DNSサーバ8に問い合わせて、ドメイン名のリストを表示し、管理者にドメイン名の指定操作を促す。
DNS指定部500は、管理者がいずれかのドメイン名を選択すると、DNSサーバ8に対して、選択されたドメインのAAAAレコード及びAレコードを要求し、IPアドレス及びホスト名を取得する。具体的には、取得部510は、DNSサーバ8に対して、レコード種類を指定したnslookupコマンドを実行する。これにより、図4(A)に例示するDNSレコードが取得部510により取得される。DNSレコードには、IPv6のAAAAレコードと、IPv4のAレコードとが含まれうる。
【0026】
ステップ105(S105)において、ノード検出プログラム5は、範囲設定部505によりIPアドレスの範囲が設定されているか否かを判断し、範囲が設定されている場合に、S110の処理に移行し、範囲が設定されていない場合に、S115の処理に移行する。
【0027】
ステップ110(S110)において、取得部510は、取得されたIPアドレス及びホスト名の中から、設定されている範囲のIPアドレスと、これに対応するホスト名とを抽出する。
ステップ115(S115)において、取得部510は、抽出されたIPアドレス及びホスト名から、ノードDB600に登録されているIPアドレス及びホスト名を除外し、残ったIPアドレス及びホスト名を稼働確認部515に出力する。
【0028】
ステップ120(S120)において、稼働確認部515は、取得部510から入力されたIPアドレス及びホスト名に基づいて、順に稼働確認を行う。具体的には、稼働確認部515は、入力されたIPアドレスのノードに対して、ICMPv4又はICMPv6のECHOREQUESTを送信する。
【0029】
ステップ125(S125)において、ノード検出プログラム5は、稼働確認部515によりノードの稼働が確認された場合に、存在するノードと判定しS130の処理に移行し、ノードの稼働が確認されなかった場合に、存在しないノードと判定してS135の処理に移行する。具体的には、稼働確認部515は、取得部510から入力されたIPアドレス及びホスト名に基づいて、順に稼働確認を行う。具体的には、稼働確認部515は、送信したECHOREQUESTに対応するECHOREPLYの返信があった場合に、このノードを、稼働ノードとしてノード登録部525に通知し、ECHOREPLYの返信がなかった場合に、このノードを、存在しないノードと判定する。
【0030】
ステップ130(S130)において、ノード登録部525は、稼働確認部515から稼働ノードとして通知されたノードのIPアドレス及びホスト名をノードDB600に登録する。
ステップ135(S135)において、ノード検出プログラム5は、取得部510により抽出された全てのノードについて稼働確認を行ったか否かを判断し、稼働確認を行っていないノードが残っている場合に、S120の処理に戻って、次のノードの稼働確認を行い、全てのノードについて稼働確認が終了した場合に、S140の処理に移行する。
【0031】
ステップ140(S140)において、MAC特定部520は、ノードDB600に登録されたIPアドレスに対応するMACアドレスを特定する。具体的には、MAC特定部520は、登録されたIPアドレスがIPv6アドレスである場合に、図4(B)に例示する近隣キャッシュ情報を参照して、登録されたIPアドレスと同じIPアドレスに対応するMACアドレスを探索する。また、MAC特定部520は、登録されたIPアドレスがIPv4アドレスである場合に、図4(C)に例示するARPテーブルを参照して、登録されたIPアドレスと同じIPアドレスに対応するMACアドレス(Physical Address)を探索する。
【0032】
ステップ145(S145)において、MAC特定部520は、特定されたMACアドレスを、登録されたIPアドレスに関連付けて、ノードDB600に登録する。本例のMAC特定部520は、ノード登録部525を介して、MACアドレスをノードDB600に登録する。
【0033】
図5は、ノード検出処理の全体動作を説明するシーケンス図である。
図5に示すように、管理者(ユーザ)が、ノード検出装置10に対して、DNSサーバの指定、及び、アドレス範囲の設定を行って、ノード検出の開始を指示すると(S200)、ノード検出装置10は、管理者により指定されたDNSサーバに対して、AAAAレコードを指定したnslookupコマンドを実行する(S202)。
DNSサーバ8は、ノード検出装置10からの要求に応じて、AAAAレコードを返信する(S204)。
【0034】
ノード検出装置10は、返信されたAAAAレコードの中から、設定されたアドレス範囲内のIPアドレス及びホスト名を抽出し、さらに、抽出されたIPアドレス及びホスト名から、ノードDB600に登録されているIPアドレス及びホスト名を除外して、残ったIPアドレス及びホスト名を候補ノードとする(S206)。
【0035】
ノード検出装置10は、候補ノードのIPアドレスを用いて、ICMPv6のECHOREQUESTを送信する(S208)。
ECHOREQUESTを受信したノード902は、ECHOREPLYをノード検出装置10に返信する(S210)。
ノード検出装置10は、ノード902からECHOREPLYを受信すると、このノード902のIPアドレス及びホスト名を稼働ノードとして確定させ、ノードDB600に登録する(S212)。
【0036】
ノード検出装置10は、図6に例示するように、netshコマンドを実行して、近隣キャッシュを問い合わせ、近隣キャッシュの情報から、ノードDB600に登録されたIPアドレスに対応するMACアドレスを探索し、発見されたMACアドレスを、登録されたIPアドレスに関連付けてノードDB600(検出データベースレコード)に登録する(S214)。
【0037】
次に、ノード検出装置10は、管理者により指定されたDNSサーバに対して、Aレコードを指定したnslookupコマンドを実行する(S216)。
DNSサーバ8は、ノード検出装置10からの要求に応じて、Aレコードを返信する(S218)。
【0038】
ノード検出装置10は、返信されたAレコードの中から、設定されたアドレス範囲内のIPアドレス及びホスト名を抽出し、さらに、抽出されたIPアドレス及びホスト名から、ノードDB600に登録されているIPアドレス及びホスト名を除外して、残ったIPアドレス及びホスト名を候補ノードとする(S220)。
【0039】
ノード検出装置10は、候補ノードのIPアドレスを用いて、ICMPのECHOREQUESTを送信する(S222)。
ECHOREQUESTを受信したノード902は、ECHOREPLYをノード検出装置10に返信する(S224)。
ノード検出装置10は、ノード902からECHOREPLYを受信すると、このノード902のIPアドレス及びホスト名を稼働ノードとして確定させ、ノードDB600に登録する(S226)。
【0040】
ノード検出装置10は、ARPテーブルを問い合わせ、図4(C)に例示するARPテーブルから、ノードDB600に登録されたIPアドレスに対応するMACアドレスを探索し、発見されたMACアドレスを、登録されたIPアドレスに関連付けてノードDBに登録する(S228)。
【0041】
以上説明したように、本実施形態のノード検出装置10は、DNSサーバ8に登録されているノードを候補ノードとして収集し、候補ノードに対して稼働確認を行って、ネットワーク上に存在するノードを確定させる。これにより、ネットワーク上に存在する多数のノードを容易に検出することができる。特に、複数のサブネットからなる大規模ネットワークにおいて好適である。
また、ノード検出装置10は、AAAAレコード及びAレコードの双方を対象とすることにより、IPv4環境のノードであっても、IPv6環境のノードであっても検出できる。また、IPv6環境、又は、IPv4とIPv6とが混在する環境では、アドレス空間が膨大となるため、IPアドレスの総当たりでノードを検出する場合に比べて、ノード検出処理が高速であり、かつ、ネットワーク負荷が軽減される。
また、ノード検出装置10は、アドレス範囲の設定と、既登録ノードの除外とを行うことによって、ICMP稼働確認の対象となるノードを絞り込み、処理の高速化及びネットワーク負荷の軽減を実現している。
【0042】
[変形例]
上記実施形態の変形例を説明する。
上記実施形態では、取得部510がDNSレコードを取得した後で、設定されたアドレス範囲内のノードに絞り込んでいるが、これに限定されるものではなく、例えば、取得部510は、範囲設定部505により設定されたアドレス範囲内のDNSレコードのみを取得するようにしてもよい。
また、例えば、DNS指定部500は、DNSサーバが管理するドメイン名のリストを表示する際に、管理者にDNSサーバの指定操作を促すようにしてもよい。そうすることで幅広いドメインを対象にすることができる。
【符号の説明】
【0043】
10…ノード検出装置
5…ノード検出プログラム
500…DNS指定部
505…範囲設定部
510…取得部
515…稼働確認部
520…MAC特定部
525…ノード登録部
600…ノードデータベース
【特許請求の範囲】
【請求項1】
DNSサーバにより管理されている通信機器のアドレス情報を取得する取得手段と、
前記取得手段により取得されたアドレス情報に基づいて、通信機器の稼働確認を行う稼働確認手段と、
前記稼働確認手段による稼働確認結果に基づいて、前記取得手段により取得されたアドレス情報の通信機器を稼働ノードとして登録するノード登録手段と
を有するノード検出装置。
【請求項2】
前記取得手段は、DNSサーバにより管理されているAAAAレコード及びAレコードを取得し、
前記稼働確認手段は、取得されたAAAAレコード及びAレコードに含まれるIPアドレスを用いて、通信機器の稼働確認を行い、
前記ノード登録手段は、稼働が確認されたIPアドレスに対応するホスト名を、稼働ノードとして登録する
請求項1に記載のノード検出装置。
【請求項3】
前記稼働確認手段は、AAAAレコードに含まれているIPアドレスに関しては、ICMPv6に従って稼働確認を行い、Aレコードに含まれているIPアドレスに関しては、ICMPv4に従って稼働確認を行う
請求項2に記載のノード検出装置。
【請求項4】
前記ノード登録手段は、AAAAレコードに含まれているIPアドレスであるかAレコードに含まれているIPアドレスであるかに基づいて、稼働が確認されたホスト名を、IPv6又はIPv4に関連付けて登録する
請求項3に記載のノード検出装置。
【請求項5】
ユーザの操作に応じて、ノード検出の対象となるIPアドレスの範囲を設定する範囲設定手段
をさらに有し、
前記取得手段は、前記範囲設定手段により設定されたIPアドレスの範囲に対応する、AAAAレコード又はAレコードを取得する
請求項2に記載のノード検出装置。
【請求項6】
前記取得手段は、ユーザにより指定されたDNSサーバから、AAAAレコード又はAレコードを取得する
請求項2に記載のノード検出装置。
【請求項7】
前記稼働確認手段は、AAAAレコード又はAレコードに含まれるIPアドレスのうち、前記ノード登録手段により稼働ノードとして登録されていないIPアドレスのみに関して、稼働確認を行う
請求項2に記載のノード検出装置。
【請求項8】
近隣キャッシュ又はARPテーブルに基づいて、稼働が確認された通信機器のIPアドレスに対応するMACアドレスを特定するMAC特定手段
をさらに有し、
前記ノード登録手段は、稼働が確認された通信機器のIPアドレスと、前記MAC特定手段により得されたMACアドレスとを登録する
請求項2に記載のノード検出装置。
【請求項9】
DNSサーバにより管理されている通信機器のアドレス情報を取得するステップと、
取得された前記アドレス情報に基づいて、通信機器の稼働確認を行うステップと、
前記稼働確認の結果に基づいて、取得されたアドレス情報の通信機器を、稼働ノードとして登録するステップと
を有するノード検出方法。
【請求項10】
DNSサーバにより管理されている通信機器のアドレス情報を取得するステップと、
取得された前記アドレス情報に基づいて、通信機器の稼働確認を行うステップと、
前記稼働確認の結果に基づいて、取得されたアドレス情報の通信機器を、稼働ノードとして登録するステップと
をコンピュータに実行させるプログラム。
【請求項1】
DNSサーバにより管理されている通信機器のアドレス情報を取得する取得手段と、
前記取得手段により取得されたアドレス情報に基づいて、通信機器の稼働確認を行う稼働確認手段と、
前記稼働確認手段による稼働確認結果に基づいて、前記取得手段により取得されたアドレス情報の通信機器を稼働ノードとして登録するノード登録手段と
を有するノード検出装置。
【請求項2】
前記取得手段は、DNSサーバにより管理されているAAAAレコード及びAレコードを取得し、
前記稼働確認手段は、取得されたAAAAレコード及びAレコードに含まれるIPアドレスを用いて、通信機器の稼働確認を行い、
前記ノード登録手段は、稼働が確認されたIPアドレスに対応するホスト名を、稼働ノードとして登録する
請求項1に記載のノード検出装置。
【請求項3】
前記稼働確認手段は、AAAAレコードに含まれているIPアドレスに関しては、ICMPv6に従って稼働確認を行い、Aレコードに含まれているIPアドレスに関しては、ICMPv4に従って稼働確認を行う
請求項2に記載のノード検出装置。
【請求項4】
前記ノード登録手段は、AAAAレコードに含まれているIPアドレスであるかAレコードに含まれているIPアドレスであるかに基づいて、稼働が確認されたホスト名を、IPv6又はIPv4に関連付けて登録する
請求項3に記載のノード検出装置。
【請求項5】
ユーザの操作に応じて、ノード検出の対象となるIPアドレスの範囲を設定する範囲設定手段
をさらに有し、
前記取得手段は、前記範囲設定手段により設定されたIPアドレスの範囲に対応する、AAAAレコード又はAレコードを取得する
請求項2に記載のノード検出装置。
【請求項6】
前記取得手段は、ユーザにより指定されたDNSサーバから、AAAAレコード又はAレコードを取得する
請求項2に記載のノード検出装置。
【請求項7】
前記稼働確認手段は、AAAAレコード又はAレコードに含まれるIPアドレスのうち、前記ノード登録手段により稼働ノードとして登録されていないIPアドレスのみに関して、稼働確認を行う
請求項2に記載のノード検出装置。
【請求項8】
近隣キャッシュ又はARPテーブルに基づいて、稼働が確認された通信機器のIPアドレスに対応するMACアドレスを特定するMAC特定手段
をさらに有し、
前記ノード登録手段は、稼働が確認された通信機器のIPアドレスと、前記MAC特定手段により得されたMACアドレスとを登録する
請求項2に記載のノード検出装置。
【請求項9】
DNSサーバにより管理されている通信機器のアドレス情報を取得するステップと、
取得された前記アドレス情報に基づいて、通信機器の稼働確認を行うステップと、
前記稼働確認の結果に基づいて、取得されたアドレス情報の通信機器を、稼働ノードとして登録するステップと
を有するノード検出方法。
【請求項10】
DNSサーバにより管理されている通信機器のアドレス情報を取得するステップと、
取得された前記アドレス情報に基づいて、通信機器の稼働確認を行うステップと、
前記稼働確認の結果に基づいて、取得されたアドレス情報の通信機器を、稼働ノードとして登録するステップと
をコンピュータに実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図2】
【図3】
【図4】
【図5】
【図6】
【公開番号】特開2013−26993(P2013−26993A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−162744(P2011−162744)
【出願日】平成23年7月26日(2011.7.26)
【出願人】(000136136)株式会社PFU (354)
【Fターム(参考)】
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願日】平成23年7月26日(2011.7.26)
【出願人】(000136136)株式会社PFU (354)
【Fターム(参考)】
[ Back to top ]