(57)【要約】【課題】ＤＮＳサーバに登録されている情報が正しいか否かを簡単に判定することを課題とする。【解決手段】ＤＮＳ試験装置は、ＤＮＳサーバに問い合わせるホスト情報を示すリソースレコードを保持する試験内容保持手段を有する。そして、ＤＮＳ試験装置は、保持されるリソースレコードをクエリとして、試験対象のＤＮＳサーバに対して発行し、発行されたクエリに対するクエリ応答を試験対象のＤＮＳサーバから受信し、発行されたクエリに含まれるリソースレコードとクエリ応答に含まれるリソースレコードとを比較することにより、発行されたクエリとＤＮＳサーバに登録されているリソースレコードの対応関係を示す試験結果を生成する。【選択図】図１
2011004369.tif 000002
【特許請求の範囲】
【請求項１】
ＤＮＳサーバに登録されている情報が正しいか否かを判定するＤＮＳ試験装置であって、
前記ＤＮＳサーバに問い合わせるホスト情報を示すリソースレコードを保持する試験内容保持手段と、
前記試験内容保持手段に保持されるリソースレコードをクエリとして、試験対象のＤＮＳサーバに対して発行するクエリ発行手段と、
前記クエリ発行手段により発行されたクエリに対するクエリ応答を前記試験対象のＤＮＳサーバから受信し、前記クエリ発行手段により発行されたクエリに含まれるリソースレコードと前記クエリ応答に含まれるリソースレコードとを比較することにより、発行されたクエリと前記ＤＮＳサーバに登録されているリソースレコードの対応関係を示す試験結果を生成する結果生成手段と、
を有することを特徴とするＤＮＳ試験装置。
【請求項２】
前記試験結果生成手段は、前記クエリ発行手段により発行されたクエリに対する前記ＤＮＳサーバの応答がエラーであるか否か、前記ＤＮＳサーバから受信したクエリ応答内のリソースレコードと前記発行されたクエリ内のリソースレコードとが一致するか否か、前記ＤＮＳサーバから受信したクエリ応答数が前記発行されたクエリ数と一致するか否かの少なくとも一つを試験結果として生成することを特徴とする請求項１に記載のＤＮＳ試験装置。
【請求項３】
前記試験結果生成手段は、前記クエリ発行手段により発行されたクエリに含まれるリソースレコードと前記クエリ応答に含まれるリソースレコードとを比較することにより、前記発行されたクエリ内のリソースレコード数と前記ＤＮＳサーバから受信したクエリ応答内のリソースレコード数とを比較した試験結果を生成することを特徴とする請求項１に記載のＤＮＳ試験装置。
【請求項４】
前記試験内容保持手段は、前記ＤＮＳサーバに登録されているか否かを問い合わせるリソースレコードだけが記述されているか否かを示す情報をさらに保持し、
前記結果生成手段は、前記クエリ発行手段により発行されたクエリに含まれるリソースレコードと前記クエリ応答に含まれるリソースレコードとを比較することにより、問い合わせたホスト情報が前記ＤＮＳサーバに登録されているか否かを示す試験結果を生成することを特徴とする請求項１に記載のＤＮＳ試験装置。
【請求項５】
前記結果生成手段は、前記ホスト情報と前記クエリ応答を比較する際に、前記クエリ応答のリソースレコードを１トランザクションとして比較することを特徴とする請求項１〜４のいずれか一つに記載のＤＮＳ試験装置。
【請求項６】
ＤＮＳサーバに登録されている情報が正しいか否かを判定するＤＮＳ試験方法であって、
前記ＤＮＳサーバに問い合わせるホスト情報を示すリソースレコードを保持する試験内容保持手段に保持されるリソースレコードをクエリとして、試験対象のＤＮＳサーバに対して発行するクエリ発行ステップと、
前記クエリ発行ステップにより発行されたクエリに対するクエリ応答を前記試験対象のＤＮＳサーバから受信し、前記クエリ発行ステップにより発行されたクエリに含まれるリソースレコードと前記クエリ応答に含まれるリソースレコードとを比較することにより、発行されたクエリと前記ＤＮＳサーバに登録されているリソースレコードの対応関係を示す試験結果を生成する結果生成ステップと、
を含んだことを特徴とするＤＮＳ試験方法。
【請求項７】
請求項１〜５のいずれか一つに記載の手段に対応する処理をコンピュータに実行させることを特徴とするＤＮＳ試験プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＮＳサーバに登録されている情報が正しいか否かを判定するＤＮＳ試験装置、ＤＮＳ試験方法およびＤＮＳ試験プログラムに関する。
【背景技術】
【０００２】
従来より、インターネットサービスにおいて、ホスト名（ドメイン名）とＩＰアドレス（Internet  Protocol  Address）とを対応させるＤＮＳシステム（Domain  Name  System）が一般的に広く利用されている。
【０００３】
かかるＤＮＳシステムでは、名前解決を依頼するクライアント装置と、クライアント装置から受信した要求に対して、名前解決を行って応答するＤＮＳサーバとを有している。また、ＤＮＳサーバは、権威サーバとキャッシュサーバとを有していることが多い。なお、権威サーバとは、名前空間の中にある特定のゾーンを管理する装置である。また、キャッシュサーバとは、クライアント装置からの問合せを受け付けて、自身がキャッシュ情報を持っていない場合は、他の権威サーバへ再帰問合せして名前解決を行い、キャッシュ情報を持っている場合は、キャッシュデータを用いて応答する装置である。
【０００４】
このようなＤＮＳサーバは、インターネットを介して様々なＷｅｂサービスが提供される現代のネットワーク環境において、非常に重要な役割を担っている。したがって、ＤＮＳサーバに正しい情報が登録されているか否か等、ＤＮＳサーバの設定情報を確認する様々な手法が開示されている。
【０００５】
例えば、ＤＮＳサーバの設定情報を確認する手法として、ｄｉｇコマンド（domain  information  groper  コマンド）が多く利用されている。ＤＮＳサーバの設定内容を確認する管理者等は、ｄｉｇコマンドをＤＮＳサーバに発行し、リソースレコード（ＲＲ）やドメイン名の応答を受け付けて、ＤＮＳサーバに登録されている情報を取得することができる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】「ＤＮＳ＆ＢＩＮＤ  第５版」、第１２章ｎｓｌｏｏｋｕｐとｄｉｇ、オライリージャパン出版、2008年12月
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の技術では、ＤＮＳサーバに登録されている情報が正しいか否かを簡単に判定することができないという課題があった。例えば、ＤＮＳサーバに登録されている情報が正しいか否かを判定するには、ＤＮＳに関する専門的な知識が必要である。そのため、ＤＮＳの専門的知識を有しない管理者等が、上記したｄｉｇコマンドを用いて、ＤＮＳサーバに登録されている情報を取得したとしても、取得した情報が正しいのか間違っているのかを判断することができない。
【０００８】
本発明は、上記に鑑みてなされたものであって、ＤＮＳサーバに登録されている情報が正しいか否かを簡単に判定することが可能であるＤＮＳ試験装置、ＤＮＳ試験方法およびＤＮＳ試験プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、ＤＮＳサーバに登録されている情報が正しいか否かを判定するＤＮＳ試験装置であって、前記ＤＮＳサーバに問い合わせるホスト情報を示すリソースレコードを保持する試験内容保持手段と、前記試験内容保持手段に保持されるリソースレコードをクエリとして、試験対象のＤＮＳサーバに対して発行するクエリ発行手段と、前記クエリ発行手段により発行されたクエリに対するクエリ応答を前記試験対象のＤＮＳサーバから受信し、前記クエリ発行手段により発行されたクエリに含まれるリソースレコードと前記クエリ応答に含まれるリソースレコードとを比較することにより、発行されたクエリと前記ＤＮＳサーバに登録されているリソースレコードの対応関係を示す試験結果を生成する結果生成手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明にかかるＤＮＳ試験装置、ＤＮＳ試験方法およびＤＮＳ試験プログラムは、ＤＮＳサーバに登録されている情報が正しいか否かを簡単に判定することが可能であるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係るＤＮＳ試験装置を含むシステムの全体構成を示す図である。
【図２】図２は、実施例１に係るＤＮＳ試験装置の構成を示すブロック図である。
【図３】図３は、試験対象ＤＢ１６に記憶される情報の例を示す図である。
【図４】図４は、試験シナリオＤＢ１７に記憶される情報の例を示す図である。
【図５】図５は、試験結果ＤＢ１８に記憶される情報の例を示す図である。
【図６】図６は、総合判定ＤＢ１９に記憶される情報の例を示す図である。
【図７】図７は、試験クエリとクエリ応答との比較判定を説明する図である。
【図８】図８は、試験クエリとクエリ応答とのＲＲ数の比較判定を説明する図である。
【図９】図９は、試験クエリとクエリ応答との例を示す図である。
【図１０】図１０は、試験結果の例を示す図である。
【図１１】図１１は、総合判定を説明する図である。
【図１２】図１２は、実施例１に係るＤＮＳ権威サーバの構成を示すブロック図である。
【図１３】図１３は、実施例１に係るＤＮＳ試験装置における試験処理の流れを示すフローチャートである。
【図１４】図１４は、実施例１に係るＤＮＳ試験装置における試験結果作成処理の流れを示すフローチャートである。
【図１５】図１５は、試験実施したいＲＲだけを記述した試験シナリオの例を示す図である。
【図１６】図１６は、試験実施したいＲＲだけを記述した試験シナリオを用いた場合の試験クエリとクエリ応答との比較判定を説明する図である。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかるＤＮＳ試験装置、ＤＮＳ試験方法およびＤＮＳ試験プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１３】
［全体構成］
まず、図１を用いて、開示するＤＮＳ試験装置を含むシステムの全体構成について説明する。図１は、実施例１に係るＤＮＳ試験装置を含むシステムの全体構成を示す図である。
【００１４】
図１に示すように、ＤＮＳ試験装置は、ネットワークを介して、名前空間の中にある特定のゾーンを管理するＤＮＳ権威サーバと接続される。なお、ここでは、ＤＮＳ試験装置が１台のＤＮＳ権威サーバと接続されている例を図示しているが、接続される台数を限定するものではない。
【００１５】
また、ＤＮＳ権威サーバは、一般的に広く利用されているＤＮＳシステムにおけるＤＮＳサーバであり、ＩＰアドレスとドメイン名との対応表を記憶しており、クライアントからクエリを受信し、名前解決を実施して応答する。例えば、ＤＮＳ権威サーバは、クライアントからクエリとしてＩＰアドレスを受信した場合に、受信したＩＰアドレスに対応するドメイン名をクエリ応答として送信する。また、ＤＮＳ権威サーバは、クライアントからクエリとしてドメイン名を受信した場合に、受信したドメイン名に対応するＩＰアドレスをクエリ応答として送信する。
【００１６】
ＤＮＳ試験装置は、ＤＮＳ権威サーバに対して、ＤＮＳ権威サーバが正しい情報を保持しているか否かを試験する装置である。このようなＤＮＳ試験装置は、ＤＮＳ権威サーバに登録されているか否かを問い合わせるホスト情報を示すリソースレコードを保持する（図１の（１）参照）。例えば、ＤＮＳ試験装置は、ＤＮＳ権威サーバに問い合わせる情報として、「sample.co.jp」のネームサーバが「ns01.sample.co.jp」と「ns02.sample.co.jp」であることを示す２つのリソースレコードを試験シナリオとして保持している。つまり、ＤＮＳ試験装置は、ＤＮＳ権威サーバに登録されていると期待する「sample.co.jp」のネームサーバが「ns01.sample.co.jp」と「ns02.sample.co.jp」であることを示している。
【００１７】
そして、ＤＮＳ試験装置は、試験シナリオに保持されるリソースレコードをクエリとして、試験対象のＤＮＳサーバに対して発行する（図１の（２）参照）。例えば、ＤＮＳ試験装置は、試験シナリオに保持される１つ目のリソースレコードに対する試験として、「sample.co.jp」のＮＳ（ネームサーバ）レコードを問い合わせるクエリをＤＮＳ権威サーバに送信する。そして、ＤＮＳ権威サーバは、ＤＮＳ試験装置からクエリ（試験）を受信すると、自装置が保持するＲＤＡＴＡ（可変長であるリソースの中身）を応答する。
【００１８】
その後、ＤＮＳ試験装置は、発行されたクエリに対するクエリ応答を試験対象のＤＮＳ権威サーバから受信する（図１の（３）参照）。例えば、ＤＮＳ試験装置は、発行されたクエリに対するクエリ応答として、応答ＲＤＡＴＡ（ns01.sample.co.jp、ns02.sample.co.jp）をＤＮＳ権威サーバから受信する。
【００１９】
そして、ＤＮＳ試験装置は、試験シナリオに保持されるホスト情報がＤＮＳ権威サーバに登録されているか否かを示す問い合わせ結果を生成する（図１の（４）参照）。例えば、ＤＮＳ試験装置は、エラーなく応答を受信したので、応答受信ＯＫと判断する。また、ＤＮＳ試験装置は、試験シナリオに保持する「ns01.sample.co.jp」と、応答ＲＤＡＴＡに含まれる「ns01.sample.co.jp」とが一致し、１つの試験クエリで二つのＲＤＡＴＡ（ns01.sample.co.jp、ns02.sample.co.jp）を受信したと判定する。さらに、ＤＮＳ試験装置は、クエリ応答で受信したＲＤＡＴＡに「ns02.sample.co.jp」が含まれていることから、試験シナリオに保持する「ns02.sample.co.jp」についても、上述した各判定と同様の判定を行う。また、ＤＮＳ試験装置は、試験シナリオに保持する「sample.co.jp」の１トランザクションにおけるリソースレコードが２つであり、応答ＲＤＡＴＡにおける１トランザクションのリソースレコードも２つであることから、試験対象のシンボル数（リソースレコード数）が一致すると判定する。
【００２０】
以上から、ＤＮＳ試験装置は、「ドメイン名に対するＮＳレコードが試験シナリオとＤＮＳ権威サーバとで同じ数だけ登録されており、サーバ名も一致する」試験結果として、「sample.co.jp.，ＮＳ，“ns01.sample.co.jp.”、ＯＫ、ＥＱ」と「sample.co.jp.，ＮＳ，“ns02.sample.co.jp.”、ＯＫ、ＥＱ」を作成する。
【００２１】
このように、実施例１に係るＤＮＳ試験装置は、ＤＮＳの専門的知識がない人でも確認できる試験結果を作成することができる。その結果、ＤＮＳサーバに登録されている情報が正しいか否かを簡単に判定することが可能である。
【００２２】
［ＤＮＳ試験装置の構成］
次に、図２を用いて、図１に示したＤＮＳ試験装置の構成を説明する。図２は、実施例１に係るＤＮＳ試験装置の構成を示すブロック図である。図２に示すように、ＤＮＳ試験装置１０は、通信制御Ｉ／Ｆ部１１と、入力部１２と、出力部１３と、記憶部１５と、制御部２０とを有する。
【００２３】
通信制御Ｉ／Ｆ部１１は、ＤＮＳ権威サーバとの間でやり取りする各種情報に関する通信を制御する。例えば、通信制御Ｉ／Ｆ部１１は、ＤＮＳ権威サーバに対して試験クエリを送信し、試験クエリに対するクエリ応答をＤＮＳ権威サーバから受信する。
【００２４】
入力部１２は、各種の情報の入力を受付ける入力手段であり、キーボードやマウス、マイクなどを有し、例えば、試験開始指示、後述する試験対象ＤＢ１６や試験シナリオＤＢ１７の更新、試験結果の参照要求などを受け付けて入力する。なお、後述するモニタも、マウスと協働してポインティングディバイス機能を実現する。
【００２５】
出力部１３は、各種の情報を出力する出力手段であり、モニタ（若しくはディスプレイ、タッチパネル）やスピーカなどを有し、例えば、後述する制御部２０によって作成された試験結果などを表示出力する。
【００２６】
記憶部１５は、制御部２０による各種処理に必要なデータおよびプログラムを格納するとともに、試験対象ＤＢ１６と、試験シナリオＤＢ１７と、試験結果ＤＢ１８と、総合判定ＤＢ１９とを有する。
【００２７】
試験対象ＤＢ１６は、試験対象とするＤＮＳ権威サーバのホスト情報を記憶する。例えば、試験対象ＤＢ１６は、図３に示すように、「ＤＮＳ権威サーバ名＝ＩＰアドレス」として「ＤＮＳ権威サーバＡ＝192.168.1.1」や「ＤＮＳ権威サーバＢ＝192.168.1.2」などと記憶する。なお、図３は、試験対象ＤＢ１６に記憶される情報の例を示す図である。
【００２８】
試験シナリオＤＢ１７は、ＤＮＳ権威サーバに登録されているか否かを問い合わせるホスト情報を示すリソースレコードを保持する。例えば、試験シナリオＤＢ１７は、図４に示すように、「ドメイン、ＴＹＰＥ、期待ＲＤＡＴＡ」として「sample.co.jp.,Ａ,“192.168.1.1”」や「sample.co.jp.,ＮＳ,“ns01.sample.co.jp.”」などと記憶する。なお、図４は、試験シナリオＤＢ１７に記憶される情報の例を示す図である。
【００２９】
ここで記憶される「ドメイン」とは、試験対象となるＤＮＳ権威サーバが管理するドメイン名を示している。「ＴＹＰＥ」とは、リソースレコードに保存されるリソースのタイプを示しており、例えば、ホストのアドレスの場合「Ａ」タイプ、ドメインが管理するネームサーバの場合「ＮＳ」、ドメインのメールサーバの場合「ＭＸ」などとなる。なお、このＴＹＰＥは、一般的なＤＮＳシステムで利用されるものである。また、「期待ＲＤＡＴＡ」は、試験対象であるＤＮＳ権威サーバに登録されていることを期待するデータである。
【００３０】
試験結果ＤＢ１８は、後述する制御部２０によって作成された詳細な試験結果を、試験を実施したＤＮＳ権威サーバごとに記憶する。例えば、試験を実施したサーバをＤＮＳ権威サーバＡとした場合、試験結果ＤＢ１８は、図５の（１）に示すように、総試験数（total_RR）、総問い合わせ数（total_query）、正常応答数（normal_response）、異常応答数（error_response）、タイムアウトクエリ数（loss）、試験実施元ホスト名（source_host_name）、試験実施日時分秒（date）を記憶する。なお、総試験数とは、試験シナリオＤＢ１７に記憶される試験シナリオ内のＲＲ数（リソースレコード数）であり、総問い合わせ数は、ＤＮＳ権威サーバに送信した総トランザクション数である。
【００３１】
また、試験結果ＤＢ１８は、図５の（１）に示すように、「ドメイン、タイプ、期待ＲＤＡＴＡ」の試験結果を記憶する。例えば、図５の（１）の（ａ）は、ＤＮＳ権威サーバＡに、試験シナリオと同じタイプが登録されていて、かつ、試験シナリオと同じＲＤＡＴＡが登録されていて、かつ、このタイプにおいて１件のリソースレコードがＤＮＳ権威サーバＡに登録されていることを示している。具体的に図５の（１）の（ａ）の各レコードについて説明すると、「sample.co.jp.」はドメインを示しており、「Ａ」は、ホストのアドレスを示すリソースレコードのタイプであり、「192.168.1.1」は、ドメインのアドレスを示しており、「ＯＫ」は、192.168.1.1と同じリソースレコードがＤＮＳ権威サーバＡに登録されていたことを示しており、「ＥＱ」は、Ａと同じタイプのリソースレコードがＤＮＳ権威サーバＡに１件登録されていたことを示している。したがって、図５の（１）の（ａ）は、ドメイン「sample.co.jp.」とホストアドレス「192.168.1.1」とが対応付けられたリソースレコードが１件、ＤＮＳ権威サーバに登録されていることを示している。
【００３２】
また、図５の（１）の（ｂ）は、ＤＮＳ権威サーバＡに、試験シナリオと同じタイプが登録されていて、かつ、２件の試験シナリオ各々と同じＲＤＡＴＡが登録されていて、かつ、このタイプにおいて２件よりも多くのリソースレコードがＤＮＳ権威サーバＡに登録されていることを示している。具体的に図５の（１）の（ｂ）の各レコードについて説明すると、「sample.co.jp.」はドメインを示しており、「ＮＳ」は、ドメインが管理するネームサーバを示すリソースレコードのタイプであり、「ns01.sample.co.jp.」は、ドメインが管理するネームサーバを示しており、「ＯＫ」は、ns01.sample.co.jp.と同じリソースレコードがＤＮＳ権威サーバＡに登録されていたことを示しており、「ＯＶＥＲ」は、ＮＳと同じタイプのリソースレコードがＤＮＳ権威サーバＡに２件以上登録されていたことを示している。同様に、「sample.co.jp.」はドメインを示しており、「ＮＳ」は、ドメインが管理するネームサーバを示すリソースレコードのタイプであり、「ns02.sample.co.jp.」は、ドメインが管理するネームサーバを示しており、「ＯＫ」は、ns02.sample.co.jp.と同じリソースレコードがＤＮＳ権威サーバＡに登録されていたことを示しており、「ＯＶＥＲ」は、ＮＳと同じタイプのリソースレコードがＤＮＳ権威サーバＡに２件以上登録されていたことを示している。したがって、図５の（２）の（ｂ）は、ドメイン「sample.co.jp.」とネームサーバ「ns01.sample.co.jp.」、ドメイン「sample.co.jp.」とネームサーバ「ns02.sample.co.jp.」とがそれぞれ対応付けられたリソースレコードがＤＮＳ権威サーバに登録されているとともに、他のネームサーバがＤＮＳ権威サーバに登録されていることを示している。
【００３３】
また、図５の（１）の（ｃ）は、ＤＮＳ権威サーバＡに、試験シナリオと同じタイプが登録されていて、かつ、試験シナリオと同じＲＤＡＴＡが登録されていなくて、かつ、別の異なる１件のＲＤＡＴＡがＤＮＳ権威サーバＡに登録されていることを示している。具体的に図５の（１）の（ｃ）の各レコードについて説明すると、「sample.co.jp.」はドメインを示しており、「ＣＮＡＭＥ」は、ドメインのエイリアス（別名）を示すリソースレコードのタイプであり、「real.sample.co.jp.」は、ドメインのエイリアスを示しており、「ＮＧ」は、「real.sample.co.jp.」と同じリソースレコードがＤＮＳ権威サーバＡに登録されていないことを示しており、「ＥＱ」は、ＣＮＡＭＥと同じタイプのリソースレコードがＤＮＳ権威サーバＡに１件登録されていたことを示している。したがって、図５の（１）の（ｃ）は、ドメイン「sample.co.jp.」のエイリアス「real.sample.co.jp.」を示すリソースレコードがＤＮＳ権威サーバに登録されておらず、ＣＮＡＭＥと同じタイプの他のリソースレコードが登録されていることを示している。
【００３４】
なお、図５の（２）は、試験を実施したサーバをＤＮＳ権威サーバＢとした場合の例であり、図５の（１）と同様の内容であるのでここでは省略する。また、図５は、試験結果ＤＢ１８に記憶される情報の例を示す図である。
【００３５】
総合判定ＤＢ１９は、後述する制御部２０によって作成された試験結果の総合判定情報を記憶する。例えば、総合判定ＤＢ１９は、図６に示すように、試験対象となったＤＮＳ権威サーバの台数（The  total  number  of  target）、総合判定結果（ＤＮＳ権威サーバ＝ＯＫorＮＧ）、試験完了日時などを記憶する。ここで記憶される「総合判定結果」は、試験結果ＤＢ１８に記憶される試験結果が全てＯＫの場合、例えば、図５の（１）の（ａ）〜（ｃ）が全てＯＫの場合に「ＯＫ」が記憶される。また、「総合判定結果」は、試験結果ＤＢ１８に記憶される試験結果のうちいずれかがＮＧの場合、例えば、図５の（１）の（ａ）〜（ｃ）のうちいずれかがＮＧの場合に「ＮＧ」が記憶される。ここで「ＯＫ」が記憶された場合、実施した試験に問題がなかったことを示している。「ＮＧ」が記憶された場合、ＲＤＡＴＡが一致していない又はＲＲ数が一致していないことを示しており、利用者は、試験結果ＤＢ１８を確認して、次への対応に備えることができる。なお、図６は、総合判定ＤＢ１９に記憶される情報の例を示す図である。
【００３６】
制御部２０は、ＯＳ（Operating  System）などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、特に、シナリオ読込部２１と、クエリ発行部２２と、結果生成部２３とを有し、これらによって種々の処理を実行する。
【００３７】
シナリオ読込部２１は、入力部１２を介して試験開始指示を受け付けた場合またはタイマー等の所定の契機に基づいて、試験対象ＤＢ１６から試験対象のＤＮＳ権威サーバ情報を読み込み、試験シナリオＤＢ１７からリソースレコードを読み込む。そして、シナリオ読込部２１は、読み込んだ試験対象のＤＮＳ権威サーバ情報や試験シナリオ（リソースレコード）を、後述するクエリ発行部２２に出力する。
【００３８】
クエリ発行部２２は、試験シナリオＤＢ１７に保持されるリソースレコードをクエリとして、試験対象のＤＮＳサーバに対して発行する。例えば、クエリ発行部２２は、試験対象となるＤＮＳ権威サーバの情報として「ＩＰアドレス」や「ホスト名」をシナリオ読込部２１から受信するとともに、試験シナリオ（リソースレコード）をシナリオ読込部２１から受信する。そして、クエリ発行部２２は、受信した試験シナリオに含まれるドメインとＴＹＰＥをキー情報として、図示しないメモリなどに格納する。
【００３９】
そして、クエリ発行部２２は、シナリオ読込部２１から受信した宛先（ＩＰアドレスなど）に対して、メモリに書き込んだリソースレコードを１行ずつクエリとして送信する。なお、必ずしも１行ずつ送信する必要はなく、トランザクション単位で送信することもできる。例えば、クエリ発行部２２は、メモリに書き込んだ試験シナリオのリソースレコード１行（１ＲＲ）を最低トランザクションとして、トランザクション単位で送信してもよい。また、クエリ発行部２２は、メモリに書き込んだ試験シナリオのドメインとＴＹＰＥが同一で連続している場合には、複数リソースレコードを１トランザクションとして送信してもよい。また、クエリ発行部２２は、メモリに書き込んだ試験シナリオのドメインとＴＹＰＥが同一のものは、連続していていなくても、まとめて１トランザクションとして送信してもよい。
【００４０】
結果生成部２３は、クエリ発行部２２により発行されたクエリに対するクエリ応答を試験対象のＤＮＳサーバから受信し、ホスト情報がＤＮＳサーバに登録されているか否かを示す試験結果を生成する。具体的には、結果生成部２３は、ＤＮＳ権威サーバから受信したクエリ応答（応答ＲＤＡＴＡ）に基づいて、試験結果を作成し、試験結果ＤＢ１８に格納する。また、結果生成部２３は、作成した試験結果に基づいて、総合判定を作成し、総合判定ＤＢ１９に格納する。
【００４１】
例えば、結果生成部２３は、図７に示す図に基づいて、ＤＮＳ権威サーバから受信したクエリ応答（応答ＲＤＡＴＡ）に対して、「エラーでない応答であるか否か（ＲＣＯＤＥ）、受信した応答数（ＡＮＳＷＥＲＳＥＣＴＩＯＮ）、期待ＲＤＡＴＡと応答ＲＤＡＴＡとの一致ｏｒ不一致」について判定する。例を挙げると、結果生成部２３は、ＤＮＳ権威サーバから受信したクエリ応答が「エラー応答ではなく」、「応答数が１以上であり」、「送信したクエリのＲＤＡＴＡと受信したクエリ応答のＲＤＡＴＡとが一致する」場合には、「ＯＫ」を試験結果とする。また、結果生成部２３は、ＤＮＳ権威サーバから受信したクエリ応答が「エラー応答ではなく」、「応答数が１以上であり」、「送信したクエリのＲＤＡＴＡと受信したクエリ応答のＲＤＡＴＡとが不一致」の場合には、「ＮＧ」を試験結果とする。また、結果生成部２３は、上述した以外の場合には、図７に示すように、ＲＦＣ２１３６に基づいた、ＮＧ＿ＮＯＤＡＴＡなどの判定を行う。図７は、試験クエリとクエリ応答との比較判定を説明する図である。なお、図７に示した情報は、特許請求の範囲に記載の対応関係の一例を示すものである。
【００４２】
次に、結果生成部２３は、図７を用いて「ＯＫ」または「ＮＧ」と判定したクエリ応答に対して、図８に示すように、１トランザクションあたりのリソースレコード数（ＲＲ数）と応答リソースレコード数（ＲＲ数）とを比較する。例を挙げると、結果生成部２３は、クエリとしてＤＮＳ権威サーバに送信した１トランザクションあたりのＲＲ数と応答ＲＲ数とが一致する場合、試験結果を「ＥＱ」とする。つまり、結果生成部２３は、図７に示した判定において「ＯＫ」と判定されたクエリ応答に対して、「ＥＱ」と判定した場合、試験結果は「ＯＫ、ＥＱ」と判定されたこととなる。図８は、試験クエリとクエリ応答とのＲＲ数の比較判定を説明する図である。
【００４３】
また、結果生成部２３は、クエリとしてＤＮＳ権威サーバに送信した１トランザクションあたりのＲＲ数よりも応答ＲＲ数の方が多い場合、試験結果を「ＯＶＥＲ」とする。また、結果生成部２３は、クエリとしてＤＮＳ権威サーバに送信した１トランザクションあたりのＲＲ数よりも応答ＲＲ数の方が少ない場合、試験結果を「ＬＥＳＳ」とする。
【００４４】
ここで、上述した判定をより具体的に説明する。例えば、クエリ発行部２２は、図９に示すように「sample.co.jp.,ＮＳ,“ns01.sample.co.jp.”」と「sample.co.jp.,ＮＳ,“ns02.sample.co.jp.”」とを試験クエリとしてＤＮＳ権威サーバに送信する。そして、結果生成部２３は、クエリ応答として、図９に示すように、「“ns01.sample.co.jp.”」と「“ns03.sample.co.jp.”」とを受信したとする。図９は、試験クエリとクエリ応答との例を示す図であり、図１０は、試験結果の例を示す図である。
【００４５】
この場合、結果生成部２３は、「sample.co.jp.,ＮＳ,“ns01.sample.co.jp.”」について、クエリ応答が「エラー応答ではなく」、「応答数が１であり」、「送信したクエリのＲＤＡＴＡと受信したクエリ応答のＲＤＡＴＡとが一致する」ので、「ＯＫ」を試験結果とする。さらに、結果生成部２３は、両クエリの１トランザクション内に含まれるＲＲ数が１なので、試験結果を「ＥＱ」とする。
【００４６】
また、結果生成部２３は、「sample.co.jp.,ＮＳ,“ns02.sample.co.jp.”」について、クエリ応答が「エラー応答ではなく」、「応答数が１であり」、「送信したクエリのＲＤＡＴＡと受信したクエリ応答のＲＤＡＴＡとが一致しない」ので、「ＮＧ」を試験結果とする。さらに、結果生成部２３は、両クエリの１トランザクション内に含まれるＲＲ数が１なので、試験結果を「ＥＱ」とする。
【００４７】
以上より、結果生成部２３は、図９に示した「sample.co.jp.,ＮＳ,“ns01.sample.co.jp.”」と「sample.co.jp.,ＮＳ,“ns02.sample.co.jp.”」の試験について、図１０に示すように、「sample.co.jp.，ＮＳ，“ns01.sample.co.jp.”、ＯＫ、ＥＱ」と「sample.co.jp.，ＮＳ，“ns02.sample.co.jp.”、ＮＧ、ＥＱ」とする試験結果を作成する。
【００４８】
また、結果生成部２３は、作成した試験結果に基づいて、総合判定を作成し総合判定ＤＢ１９に格納する。具体的には、結果生成部２３は、図１１に示すように、図９で「ＯＫ」と判定し、かつ、図１０で「ＥＱ」と判定した場合にのみ、総合判定を「ＯＫ」とする。この総合判定は、１ＲＲ数ごとに判定してもよく、ＤＮＳ権威サーバごとに判定してもよい。ＤＮＳ権威サーバごとに判定する場合には、全レコードが「ＯＫ」と判定された場合に、総合判定を「ＯＫ」とし、いずれかのレコードが「ＮＧ」と判定された場合に、総合判定を「ＮＧ」とする。図１１は、総合判定を説明する図である。
【００４９】
さらに、結果生成部２３は、受信リソースレコードをトランザクション単位でまとめて上記処理を実施してもよい。このとき、同一のドメインとＴＹＰＥが連続している必要はなく、連続していない場合でも、ドメインとＴＹＰＥとが同一の受信リソースレコードについては、トランザクション単位でまとめて上記処理を実施することができる。
【００５０】
［ＤＮＳ試験装置の構成］
次に、図１２を用いて、図１に示したＤＮＳ権威サーバの構成を説明する。図１２は、実施例１に係るＤＮＳ権威サーバの構成を示すブロック図である。図１２に示すように、ＤＮＳ権威サーバ５０は、通信制御Ｉ／Ｆ部５１と、入力部５２と、出力部５３と、記憶部５５と、制御部６０とを有する。なお、ＤＮＳ権威サーバ５０は、ＤＮＳシステムで一般的に利用されているＤＮＳ権威サーバと同様の機能を有するので、ここでは、簡単に説明する。
【００５１】
通信制御Ｉ／Ｆ部５１は、ＤＮＳ試験装置１０との間でやり取りする各種情報に関する通信を制御する。例えば、通信制御Ｉ／Ｆ部５１は、ＤＮＳ試験装置１０から試験クエリを受信し、ＤＮＳ試験装置１０に対して試験クエリに対するクエリ応答を送信する。
【００５２】
入力部５２は、各種の情報の入力を受付ける入力手段であり、キーボードやマウス、マイクなどを有し、後述するモニタや、マウスと協働してポインティングディバイス機能を実現する。出力部５３は、各種の情報を出力する出力手段であり、モニタ（若しくはディスプレイ、タッチパネル）やスピーカなどを有し、各種情報を表示出力する。
【００５３】
記憶部５５は、制御部６０による各種処理に必要なデータおよびプログラムを格納するとともに、ＤＮＳ情報ＤＢ５６を有する。ＤＮＳ情報ＤＢ５６は、ＤＮＳ権威サーバ５０がクライアントからのクエリに対して名前解決を行うための情報を記憶し、例えば、「ドメイン名」と「ＩＰアドレス」とを対応付けて記憶する。
【００５４】
制御部６０は、ＯＳ（Operating  System）などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、特に、クエリ受信部６１と、ＤＮＳクエリ応答部６２と、試験クエリ応答部６３とを有し、これらによって種々の処理を実行する。
【００５５】
クエリ受信部６１は、クライアント装置から名前解決を要求するクエリを受信したり、ＤＮＳ試験装置１０から試験クエリを受信したりする。また、クエリ受信部６１は、名前解決を要求するクエリを受信した場合には、当該クエリを後述するＤＮＳクエリ応答部６２に出力する。また、クエリ受信部６１は、試験クエリを受信した場合には、当該クエリを後述する試験クエリ応答部６３に出力する。
【００５６】
ＤＮＳクエリ応答部６２は、名前解決を要求するクエリに対するクエリ応答を行う。例えば、ＤＮＳクエリ応答部６２は、クエリ受信部６１から入力されたクエリに対して、ＤＮＳ情報ＤＢ５６を参照して名前解決を実施し、名前解決した結果をクエリ応答として、クライアント装置に送信する。
【００５７】
試験クエリ応答部６３は、試験を要求する試験クエリに対するクエリ応答を行う。例えば、試験クエリ応答部６３は、クエリ受信部６１から入力された試験クエリに対して、試験クエリに含まれるリソースレコードに対応するレコードをＤＮＳ情報ＤＢ５６から特定し、特定した結果をクエリ応答としてＤＮＳ試験装置１０に送信する。
【００５８】
［ＤＮＳ試験装置による処理］
次に、図１３と図１４を用いて、ＤＮＳ試験装置による処理を説明する。図１３は、実施例１に係るＤＮＳ試験装置における試験処理の流れを示すフローチャートであり、図１４は、実施例１に係るＤＮＳ試験装置における試験結果作成処理の流れを示すフローチャートである。
【００５９】
（試験処理の流れ）
図１３に示すように、ＤＮＳ試験装置１０のシナリオ読込部２１は、入力部１２によって試験開始コマンドが受け付けられると（ステップＳ１０１肯定）、試験シナリオＤＢ１７から試験シナリオを読み込むとともに（ステップＳ１０２）、試験対象ＤＢ１６から試験対象サーバのホスト情報を読み込む（ステップＳ１０３）。
【００６０】
続いて、ＤＮＳ試験装置１０のクエリ発行部２２は、読み込まれた試験対象のＤＮＳ権威サーバに対して、読み込まれたリソースレコードを試験クエリとして送信する（ステップＳ１０４）。
【００６１】
続いて、ＤＮＳ試験装置１０の結果生成部２３は、試験クエリを送信したＤＮＳ権威サーバからクエリ応答を受信した場合（ステップＳ１０５肯定）、読み込まれた試験シナリオのリソースレコードが全て終了したか、言い換えると、全てのリソースレコードについて試験を実施したか否かについて判定する（ステップＳ１０６）。
【００６２】
その後、ＤＮＳ試験装置１０の結果生成部２３は、全てのリソースレコードについて試験を実施した場合（ステップＳ１０６肯定）、試験結果作成処理を実施し（ステップＳ１０７）、作成した試験結果を出力部１３に表示出力し（ステップＳ１０８）、さらに、試験結果を試験結果ＤＢ１８に格納する（ステップＳ１０９）。このとき、ＤＮＳ試験装置１０の結果生成部２３は、作成した試験結果から総合判定を作成して、総合判定ＤＢ１９に格納する。また、ＤＮＳ試験装置１０の結果生成部２３は、ステップＳ１０６において、全てのリソースレコードについて試験を実施していないと判定した場合（ステップＳ１０６否定）、ステップＳ１０４に戻って以降の処理を実行する。
【００６３】
（試験結果作成処理の流れ）
次に、図１４を用いて、図１３に示したステップＳ１０７の処理を具体的に説明する。図１４に示すようにＤＮＳ試験装置１０の結果生成部２３は、試験結果作成処理が開始されると（ステップＳ２０１肯定）、図７に示した図を用いた判定処理を実施し、試験結果を特定する（ステップＳ２０２）。すなわち、ＤＮＳ試験装置１０の結果生成部２３は、受信したクエリ応答について、「エラーでない応答であるか否か（ＲＣＯＤＥ）、受信した応答数（ＡＮＳＷＥＲＳＥＣＴＩＯＮ）、期待ＲＤＡＴＡと応答ＲＤＡＴＡとの一致ｏｒ不一致」を判定する。
【００６４】
そして、結果生成部２３は、ステップＳ２０２の判定結果をＯＫまたはＮＧと判定した場合（ステップＳ２０２  「ＯＫ」ｏｒ「ＮＧ」）、比較判定された試験クエリの１トランザクション内の１行目のリソースレコードを以後の比較対象から削除し（ステップＳ２０３）、受信したクエリ応答（１トランザクション内）に２行目のＲＲが存在するか否かを判定する（ステップＳ２０４）。
【００６５】
なお、ここでは、ステップＳ２０２の判定が「ＯＫ」、「ＮＧ」の場合にステップ２０３の処理を実行する場合を例示したが、これに限定されるものではなく、例えば、「ＯＫ」または「ＮＧ」または「ＮＧ＿ＮＯＤＡＴＡ」の場合に、ステップ２０３の処理を実行することもできる。このような設定は、初期設定時や試験シナリオ送信前に任意に設定することができる。
【００６６】
その後、結果生成部２３は、受信したクエリ応答（１トランザクション内）に２行目のＲＲが存在する場合には（ステップＳ２０４肯定）、ステップＳ２０２に戻って以降の処理を実行する。一方、結果生成部２３は、受信したクエリ応答（１トランザクション内）に２行目のＲＲが存在しない場合には（ステップＳ２０４否定）、図８に示した図を用いて、試験クエリの１トランザクション内のＲＲ数とクエリ応答のＲＲ数とを比較し（ステップＳ２０５）、その比較結果とステップＳ２０２の判定結果とを用いて、試験結果を作成する（ステップＳ２０６）。
【００６７】
ステップＳ２０２に戻り、結果生成部２３は、ステップＳ２０２の判定結果をＯＫまたはＮＧ以外と判定した場合（ステップＳ２０２  ＯＫ、ＮＧ以外）、ステップＳ２０６の処理を実行する。なお、ＯＫ、ＮＧ以外とは、図７に示した「ＮＧ＿ＮＯＤＡＴＡ、ＮＧ＿ＦｏｒｍＥｒｒ、ＮＧ＿ＳｅｒｖＦａｉｌ、ＮＧ＿ＮＸＤｏｍａｉｎ、ＮＧ＿Ｒｅｆｕｓｅｄ、ＮＧ＿ＯｔｈｅｒＲＣＯＤＥ、ＮＧ＿ＴＩＭＥＯＵＴ、ＮＧ＿ＯＴＨＥＲ」と結果生成部２３によって判定された場合を示している。また、これに限定されるものではなく、例えば、「ＯＫ」、「ＮＧ」、「ＮＧ＿ＮＯＤＡＴＡ」以外の場合に、ステップ２０６の処理を実行してもよく、これは初期設定時や試験シナリオ送信前に任意に設定することができる。なお、ステップＳ２０２の判定結果をＯＫまたはＮＧ（またはＮＧ＿ＮＯＤＡＴＡ）以外と判定した場合、ステップＳ２０６ではなくステップＳ２０４へ移行して実行するようにしてもよい。
【００６８】
［実施例１による効果］
このように、実施例１によって作成された総合判定を参照するだけで、試験者は、試験対象であるＤＮＳ権威サーバに登録されている情報が正しいか否かを判断することができる。また、試験者は、ＤＮＳ権威サーバに登録されている情報が正しくないと判断した場合には、試験結果を参照することで、ＤＮＳ権威サーバ上に登録されているリソースレコードを把握することができ、どのような観点で見直せばよいかを容易に判断することができ、次の対策の立て易くなる。したがって、ＤＮＳサーバに登録されている情報が正しいか否かを簡単に判定することが可能である。
【００６９】
また、実施例１によれば、クエリ応答と比較したリソースレコードについては、比較対象から除外するので、判定が終わったリソースレコードについて再度判定処理を行うことを防止でき、意図しない誤った試験結果を導出することを防止できる。この他にも、例えば、自動チェック機能等を用いて同一ＲＲを含まない試験シナリオを生成し、この試験シナリオに基づいて、この試験シナリオの上の行から１つずつ順に判定処理を行うこともできる。
【００７０】
また、実施例１によれば、発行されたクエリに含まれるリソースレコード数とクエリ応答に含まれるリソースレコード数とを比較し、当該比較した結果を試験結果としてさらに生成するので、試験者が認識していない情報も取得することができ、試験精度を高めることができる。
【００７１】
また、実施例１によれば、リソースレコードのドメインとタイプが同一で連続する場合には、連続するリソースレコードを１トランザクションとして送信するので、試験対象に送信するリソースレコード数と、試験対象から受信した応答リソースレコード数との比較処理を効率化できる。
【実施例２】
【００７２】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【００７３】
（ＲＲ数の比較）
例えば、実施例１では、試験実施したいＲＲだけでなく、以前から登録されているいないに関わらず、ＲＲ全てが試験シナリオに記載されている例について説明したが、例えば、試験実施したいＲＲだけを記述した試験シナリオを用いることもできる。このようにすることで、試験シナリオにある試験のみを確実に試験することができる。
【００７４】
例えば、図１５に示すように、Ｆｌａｇ＝１を試験シナリオに記載することで、試験シナリオに登録ＲＲのみが試験対象であることを示している。この場合、図８に示した「ＥＱ」、「ＯＶＥＲ」、「ＬＥＳＳ」判定は、図１６に示すように、全て「ＥＱ」と判定する。なお、Ｆｌａｇ＝０の場合は、権威サーバ側のデータにおいて、実施例１と同様、以前から登録されているＲＲ全てが試験シナリオの対象となり、図８と同様の判定が行われる。図１５は、試験実施したいＲＲだけを記述した試験シナリオの例を示す図であり、図１６は、試験実施したいＲＲだけを記述した試験シナリオを用いた場合の試験クエリとクエリ応答との比較判定を説明する図である。
【００７５】
（システム構成等）
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７７】
（プログラム）
なお、本実施例で説明したＤＮＳ試験方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【産業上の利用可能性】
【００７８】
以上のように、本発明にかかるＤＮＳ試験装置、ＤＮＳ試験方法およびＤＮＳ試験プログラムは、ＤＮＳサーバに登録されている情報が正しいか否かを判定することに有用であり、特に、ＤＮＳサーバに登録されている情報が正しいか否かを簡単に判定することに適している。
【符号の説明】
【００７９】
１０  ＤＮＳ試験装置
１１  通信制御Ｉ／Ｆ部
１２  入力部
１３  出力部
１５  記憶部
１６  試験対象ＤＢ
１７  試験シナリオＤＢ
１８  試験結果ＤＢ
１９  総合判定ＤＢ
２０  制御部
２１  シナリオ読込部
２２  クエリ発行部
２３  結果生成部
５０  ＤＮＳ権威サーバ
５１  通信制御Ｉ／Ｆ部
５２  入力部
５３  出力部
５５  記憶部
５６  ＤＮＳ情報ＤＢ
６０  制御部
６１  クエリ受信部
６２  ＤＮＳクエリ応答部
６３  試験クエリ応答部
【図１】
2011004369.tif 000003
【図２】
2011004369.tif 000004
【図３】
2011004369.tif 000005
【図４】
2011004369.tif 000006
【図５】
2011004369.tif 000007
【図６】
2011004369.tif 000008
【図７】
2011004369.tif 000009
【図８】
2011004369.tif 000010
【図９】
2011004369.tif 000011
【図１０】
2011004369.tif 000012
【図１１】
2011004369.tif 000013
【図１２】
2011004369.tif 000014
【図１３】
2011004369.tif 000015
【図１４】
2011004369.tif 000016
【図１５】
2011004369.tif 000017
【図１６】
2011004369.tif 000018