(57)【特許請求の範囲】
【請求項１】
受信したＤＮＳ（Domain  Name  System）クエリに含まれるドメイン名が自装置により認識可能な形式ではない場合に、当該ＤＮＳクエリに応答せずに前記ＤＮＳクエリのパケットを破棄し、当該パケットの送信元のＩＰアドレスを抽出するクエリ受付部と、
前記クエリ受付部が抽出したＩＰアドレスを宛先として、自装置の管理ゾーンに所属するドメイン名について問い合わせる代替クエリ要求を送信する代替クエリ送信部と、
を備えることを特徴とする権威ＤＮＳサーバ装置。
【請求項２】
前記代替クエリ送信部は、自装置が管理するゾーンデータにおいてキャッシュの有効期間がゼロに設定されているドメインに関するクエリ要求を前記代替クエリ要求として送信することを特徴とする請求項１に記載の権威ＤＮＳサーバ装置。
【請求項３】
権威ＤＮＳサーバ装置で実行されるＤＮＳクエリ処理方法であって、
受信したＤＮＳクエリに含まれるドメイン名が前記権威ＤＮＳサーバ装置により認識可能な形式ではない場合に、当該ＤＮＳクエリに応答せずに前記ＤＮＳクエリのパケットを破棄し、当該パケットの送信元のＩＰアドレスを抽出するクエリ受付工程と、
抽出した前記ＩＰアドレスを宛先として、前記権威ＤＮＳサーバ装置の管理ゾーンに所属するドメイン名について問い合わせる代替クエリ要求を送信する代替クエリ送信工程と、
を含んだことを特徴とするＤＮＳクエリ処理方法。
【請求項４】
コンピュータを請求項１または２に記載の権威ＤＮＳサーバ装置として機能させるためのＤＮＳクエリ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、権威ＤＮＳサーバ装置、ＤＮＳクエリ処理方法およびＤＮＳクエリ処理プログラムに関する。
【背景技術】
【０００２】
従来より、一般的なインターネットサービスにおいて、ホスト名（ドメイン名）とＩＰアドレス（Internet  Protocol  Address）とを対応させて名前解決を行うＤＮＳ（Domain  Name  System）システムが用いられている。ＤＮＳシステムは一般的には、権威ＤＮＳサーバ群とキャッシュＤＮＳサーバとから構成される。また、ＤＮＳシステムにおいては、ドメイン名とＩＰアドレスとの対応関係が分散して管理され、該当する対応関係を管理して名前解決を行う権限を有する権威ＤＮＳサーバが分散して設置される。
【０００３】
権威ＤＮＳサーバは、階層的な木構造を有する名前空間の中にある特定のゾーンを管理する。キャッシュＤＮＳサーバは、ＤＮＳクライアントからの名前解決の依頼（ＤＮＳクエリ要求）に応じて、権威ＤＮＳサーバ群に名前解決のための問い合わせ（ＤＮＳクエリ）を行う。権威ＤＮＳサーバ群は、問合せに応じて回答データ（ＤＮＳクエリ応答）をキャッシュＤＮＳサーバに送信する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】「ＤＮＳ問合せのネガティブキャッシュ（DNS  NCACHE）」［２０１５年７月１４日検索］、インターネット＜URL:  http://www5d.biglobe.ne.jp/stssk/rfc/rfc2308j.html＞
【非特許文献２】「ドメインネームシステム（ＤＮＳ）のＩＡＮＡの考慮」［２０１５年７月１４日検索］、インターネット＜URL:  http://www5d.biglobe.ne.jp/stssk/rfc/rfc2929j.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、現在使用されている権威ＤＮＳサーバおよびキャッシュＤＮＳサーバには様々な種類がある。また、名前解決システムにおいて使用されているソフトウェアも多種多様である。さらに、ＤＮＳクライアントとして使用される情報処理端末も多種多様である。このため、キャッシュＤＮＳサーバから権威ＤＮＳサーバに問い合わされるＤＮＳクエリの形式が、権威ＤＮＳサーバが認識できない形式である可能性もある。
【０００６】
この点、従来、認識できない形式のＤＮＳクエリを受信した権威ＤＮＳサーバは、受信したパケットを破棄して応答しないよう構成されていた。しかし、権威ＤＮＳサーバがＤＮＳクエリに応答しない場合、キャッシュＤＮＳサーバは、権威ＤＮＳサーバが故障していると誤判断してしまう。そこで、認識できない形式のＤＮＳクエリを受信した権威ＤＮＳサーバが、エラー応答をキャッシュＤＮＳサーバに返すように構成する場合もある。しかしこの場合、キャッシュＤＮＳサーバは、権威ＤＮＳサーバが故障しているとの誤判断はしないものの、エラー応答に応じてＤＮＳクエリを繰り返し再送しトラヒック量を増大させてしまう。
【０００７】
開示の技術は、上記に鑑みてなされたものであって、権威ＤＮＳサーバが認識できないＤＮＳクエリを受信した場合に、ネガティブキャッシュやトラヒック量の増大を抑止することができる、権威ＤＮＳサーバ装置、ＤＮＳクエリ処理方法およびＤＮＳクエリ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
開示する権威ＤＮＳサーバ装置、ＤＮＳクエリ処理方法およびＤＮＳクエリ処理プログラムによれば、権威ＤＮＳサーバ装置は、受信したＤＮＳクエリに含まれるドメイン名が権威ＤＮＳサーバ装置により認識可能な形式ではない場合に、当該ＤＮＳクエリに応答せずに当該ＤＮＳクエリのパケットを破棄する。権威ＤＮＳサーバ装置は、当該パケットの送信元のＩＰアドレスを抽出する。権威ＤＮＳサーバ装置は、抽出した前記ＩＰアドレスを宛先として、権威ＤＮＳサーバ装置の管理ゾーンに所属するドメイン名について問い合わせる代替クエリ要求を送信する。
【発明の効果】
【０００９】
開示する権威ＤＮＳサーバ装置、ＤＮＳクエリ処理方法およびＤＮＳクエリ処理プログラムは、権威ＤＮＳサーバが認識できないＤＮＳクエリを受信した場合に、ネガティブキャッシュやトラヒック量の増大を抑止することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る名前解決システムの構成の一例を示す概略図である。
【図２】図２は、実施形態に係る名前解決システムが備える権威ＤＮＳサーバの構成の一例を示す概略図である。
【図３】図３は、権威ＤＮＳサーバに記憶されるログ情報の構成の一例を示す図である。
【図４】図４は、実施形態に係るＤＮＳクエリ処理の流れの一例を示すフローチャートである。
【図５】図５は、実施形態に係るＤＮＳクエリ処理の流れの一例を説明するためのシーケンスチャートである。
【図６】図６は、従来の名前解決システムにおける名前解決処理の流れの一例を説明するための図である。
【図７】図７は、権威ＤＮＳサーバが認識できない形式のＤＮＳクエリを受信した場合の処理の第１の例を説明するための図である。
【図８】図８は、権威ＤＮＳサーバが認識できない形式のＤＮＳクエリを受信した場合の処理の第２の例を説明するための図である。
【図９】図９は、実施形態に係るＤＮＳクエリ処理プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下に、開示する装置、方法およびプログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。また、各実施形態は適宜組み合わせることができる。
【００１２】
［従来の名前解決システムにおけるＤＮＳクエリの処理の一例］
まず前提として、従来の名前解決システムにおけるＤＮＳクエリの処理の例について図面を参照して説明する。図６は、従来の名前解決システムにおける名前解決処理の流れの一例を説明するための図である。
【００１３】
図６の例においては、クライアント１がネットワーク（図示せず）を介してキャッシュＤＮＳサーバ３に接続される。そして、キャッシュＤＮＳサーバ３はネットワーク（図示せず）を介して複数の権威ＤＮＳサーバ４，５に接続される。
【００１４】
まず、クライアント１がキャッシュＤＮＳサーバ３に対してＤＮＳクエリ要求を送信する（図６の（１））。ここでは、クライアント１は、「abc.co.jp」の名前解決を要求するＤＮＳクエリ要求を送信したものとする。ＤＮＳクエリ要求を受信したキャッシュＤＮＳサーバ３は、当該ドメイン名に対応するＩＰアドレスを取得するため、まず、「jp」ゾーンを管理する権威ＤＮＳサーバ４にＤＮＳクエリを送信する（図６の（２））。権威ＤＮＳサーバ４は、受信したＤＮＳクエリに応じて、「co.jp」ゾーンを管理する権威ＤＮＳサーバ５のＩＰアドレスをキャッシュＤＮＳサーバ３に送信する（図６の（３））。キャッシュＤＮＳサーバ３は、受信したＩＰアドレスに基づき、権威ＤＮＳサーバ５にＤＮＳクエリを送信する（図６の（４））。権威ＤＮＳサーバ５は、受信したＤＮＳクエリに応じて、キャッシュＤＮＳサーバ３へ「abc.co.jp」のＩＰアドレスを送信する（図６の（５））。キャッシュＤＮＳサーバ３は、「abc.co.jp」に対応するＩＰアドレスをクライアント１に送信する（図６の（６））。そして、キャッシュＤＮＳサーバ３は、「abc.co.jp」に対応するＩＰアドレスとして、受信したＩＰアドレスを自装置内にキャッシュする（図６の（７））。これが、従来の名前解決システムにおける名前解決処理の流れの一例である。
【００１５】
次に、従来の名前解決システムにおいて、権威ＤＮＳサーバ５が認識できない形式のＤＮＳクエリを受信した場合の処理について説明する。図７は、権威ＤＮＳサーバが認識できない形式のＤＮＳクエリを受信した場合の処理の第１の例を説明するための図である。
【００１６】
図７の例では、二つのクライアント１，２がネットワークを介してキャッシュＤＮＳサーバ３に接続されている。キャッシュＤＮサーバ３はネットワークを介して権威ＤＮＳサーバ４，５と接続される。図７には、権威ＤＮＳサーバ５のみを図示する。
【００１７】
図７の例では、クライアント１がまず、
【表１】
0006339538.tif 000002
というドメイン名についてのＤＮＳクエリ要求をキャッシュＤＮＳサーバ３に送信する（図７の（１））。キャッシュＤＮＳサーバ３は、受信したＤＮＳクエリ要求に応じて、ＤＮＳクエリを権威ＤＮＳサーバ５に送信する（図７の（２））。
【００１８】
ここで、ドメイン名
【表１】
0006339538.tif 000003
が含むユニコード文字は、権威ＤＮＳサーバ５が認識できない文字であるとする。すると、権威ＤＮＳサーバ５は、ドメイン名
【表１】
0006339538.tif 000004
を認識できないため、当該ＤＮＳクエリを破棄し（図７の（３））、キャッシュＤＮＳサーバ３に対して応答しない（図７の（４））。キャッシュＤＮＳサーバ３は、予め設定された時間にわたって権威ＤＮＳサーバ５からの応答を受信しない場合、再度ＤＮＳクエリを送信してリトライする（図７の（５））。しかし、権威ＤＮＳサーバ５は、最初と同様にドメイン名を認識できないため、ＤＮＳクエリを破棄して（図７の（６））応答しない（図７の（７））。所定回数のリトライ後も応答を受信しない場合、キャッシュＤＮＳサーバ３は、権威ＤＮＳサーバ５が故障していると判断し、クライアント１に対して名前解決できなかったことを示す「ServFail」を返す（図７の（８））。そして、キャッシュＤＮＳサーバ３は、権威ＤＮＳサーバ５が故障していることを示すネガティブキャッシュを自装置に記憶する（図７の（９））。キャッシュＤＮＳサーバ３は、ネガティブキャッシュにはＴＴＬを設定する。ＴＴＬに設定された時間中は、キャッシュＤＮＳサーバ３は、権威ＤＮＳサーバ５の管理ゾーンに該当するドメイン名についてのＤＮＳクエリ要求を受信しても「ServFail」応答をクライアントに返送する。ＴＴＬ設定時間中に、クライアント２が「xyz.co.jp」のＤＮＳクエリ要求をキャッシュＤＮＳサーバ３に送信したとする（図７の（１０））。このとき、キャッシュＤＮＳサーバ３は、実際には権威ＤＮＳサーバ５が正常に動作しているとしても、ネガティブキャッシュＴＴＬ設定時間中であるため、ＤＮＳクエリを権威ＤＮＳサーバ５に送信しない（図７の（１１））。そして、キャッシュＤＮＳサーバ３は、クライアント２に「ServFail」を送信する（図７の（１２））。このように、権威ＤＮＳサーバ５が認識できないドメイン名についてＤＮＳクエリがあった場合、実際は権威ＤＮＳサーバ５は正常に動作しているにもかかわらず、権威ＤＮＳサーバ５の管理ゾーン内のＩＰアドレスにクライアントはアクセスできないことになってしまう。
【００１９】
次に、従来の名前解決システムにおいて、権威ＤＮＳサーバ５が認識できない形式のＤＮＳクエリを受信した場合の他の処理について説明する。図８は、権威ＤＮＳサーバが認識できない形式のＤＮＳクエリを受信した場合の処理の第２の例を説明するための図である。第２の例は、第１の例で説明したように権威ＤＮＳサーバ５が応答しないことで、キャッシュＤＮＳサーバ３が権威ＤＮＳサーバ５が故障したと誤認識しないよう、権威ＤＮＳサーバ５における処理を変更している。
【００２０】
図８の例では、各装置の接続態様は図７と同様である。図８の例でもまず、クライアント１が
【表１】
0006339538.tif 000005
というドメイン名についてのＤＮＳクエリ要求をキャッシュＤＮＳサーバ３に送信する（図８の（１））。ＤＮＳクエリ要求を受信したキャッシュＤＮＳサーバ３は、ＤＮＳクエリを権威ＤＮＳサーバ５に送信する（図８の（２））。権威ＤＮＳサーバ５は、受信したＤＮＳクエリのドメイン名を認識できないため、キャッシュＤＮＳサーバ３に「FormErr」というエラーコードを含むパケットを返す（図８の（３））。「FormErr」は、ＤＮＳクエリの転送中にエラーが発生したことを示すエラーコードである。キャッシュＤＮＳサーバ３は、「FormErr」を含むパケットを受信すると、ＤＮＳクエリ自体の誤りではなく転送中のエラーであると判定して、再度ＤＮＳクエリを権威ＤＮＳサーバ５に送信する（図８の（４））。しかし、やはり権威ＤＮＳサーバ５では、ドメイン名を認識できないため、再度「FormErr」を含むパケットをキャッシュＤＮＳサーバ３に送信する（図８の（５））。このようにして、キャッシュＤＮＳサーバ３によるリトライと、権威ＤＮＳサーバ５による「FormErr」を含むパケットの送信が繰り返される（図８の（６）〜（１３））。このため、エラー応答とリトライによって一時的に大量のトラヒックが発生する。
【００２１】
このように、従来のＤＮＳクエリ処理によっては、権威ＤＮＳサーバが認識できないドメイン名についてのＤＮＳクエリがあった場合、権威ＤＮＳサーバが故障しているとの誤認識が発生したり、大量のトラヒックが発生したりする。
【００２２】
［実施形態に係る名前解決システムの構成の一例］
図１は、実施形態に係る名前解決システムの構成の一例を示す概略図である。図１に示す名前解決システム１００は、権威ＤＮＳサーバ１０Ａ，１０Ｂ，１０Ｃと、キャッシュＤＮＳサーバ２０と、クライアント３０Ａ，３０Ｂ，３０Ｃと、を備える。キャッシュＤＮＳサーバ２０は、ネットワーク５０を介してクライアント３０Ａ，３０Ｂ，３０Ｃと接続される。また、権威ＤＮＳサーバ１０Ａ，１０Ｂ，１０Ｃはそれぞれネットワーク４０を介してキャッシュＤＮＳサーバ２０と接続される。なお、図１には、クライアントを３つ、キャッシュＤＮＳサーバを１つ、権威ＤＮＳサーバを３つ図示する。しかし、クライアント、キャッシュＤＮＳサーバ、権威ＤＮＳサーバの数は図示される数に限定されない。また、相互の接続態様も図示する形に限定されない。
【００２３】
クライアント３０Ａ，３０Ｂ，３０Ｃは、ネットワークを介して所望の情報にアクセスするため、キャッシュＤＮＳサーバ２０にＤＮＳクエリ要求を送信する。キャッシュＤＮＳサーバ２０は、ＤＮＳクエリ要求に応じたゾーンを管理する権威ＤＮＳサーバ１０Ａ〜１０ＣにＤＮＳクエリを送信し、名前解決を実行する。
【００２４】
図２は、実施形態に係る名前解決システムが備える権威ＤＮＳサーバの構成の一例を示す概略図である。図２には、権威ＤＮＳサーバ１０Ａを示すが、権威ＤＮＳサーバ１０Ｂ，１０Ｃの構成および機能は権威ＤＮＳサーバ１０Ａと同様とする。
【００２５】
権威ＤＮＳサーバ１０Ａは、通信処理部１１０と、制御部１２０と、記憶部１３０と、を備える。
【００２６】
通信処理部１１０は、権威ＤＮＳサーバ１０Ａと他の装置との間での情報の送受信を実行する。通信処理部１１０は、たとえば、キャッシュＤＮＳサーバ２０からＤＮＳクエリを受信し、ＤＮＳクエリに対するＤＮＳクエリ応答をキャッシュＤＮＳサーバ２０に送信する。
【００２７】
記憶部１３０は、権威ＤＮＳサーバ１０Ａにおける処理において生成され、使用される情報を記憶する。記憶部１３０はたとえば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置等である。記憶部１３０は、ログ情報記憶部１３１と、アドレス対応情報記憶部１３２と、を有する。
【００２８】
ログ情報記憶部１３１は、権威ＤＮＳサーバ１０Ａが過去に受信したＤＮＳクエリに関するログ情報を記憶する。たとえば、ログ情報記憶部１３１は、権威ＤＮＳサーバ１０Ａにおいて認識できないフォーマットのドメイン名を含むため破棄されたＤＮＳクエリの情報を記憶する。図３は、権威ＤＮＳサーバ１０Ａに記憶されるログ情報の構成の一例を示す図である。図３の例では、ログ情報は、「タイムスタンプ」と、「キャッシュＤＮＳサーバ」と、「ＤＮＳクエリ破棄」と、の情報を含む。「タイムスタンプ」は、ＤＮＳクエリが破棄された時刻である。このほか「タイムスタンプ」は、破棄されたＤＮＳクエリを権威ＤＮＳサーバ１０Ａが受信した時刻等であってもよい。「キャッシュＤＮＳサーバ」は、破棄されたＤＮＳクエリを送信したキャッシュＤＮＳサーバを特定する情報である。たとえば、図３の例では、「キャッシュＤＮＳサーバ」として、当該キャッシュＤＮＳサーバのＩＰアドレスが記憶される。「ＤＮＳクエリ破棄」は、権威ＤＮＳサーバ１０Ａが受信したＤＮＳクエリが破棄されたことを示す情報である。図３の例では、破棄されたＤＮＳクエリの場合、対応する「ＤＮＳクエリ破棄」の欄に「○」が表示される。
【００２９】
アドレス対応情報記憶部１３２は、ドメイン名とＩＰアドレスとを対応付けた情報を記憶する。アドレス対応情報記憶部１３２はたとえば、リソースレコードファイルを記憶する。権威ＤＮＳサーバ１０Ａは、アドレス対応情報記憶部１３２を参照して、受信したＤＮＳクエリに対応するＩＰアドレスを抽出する。
【００３０】
［制御部の構成および機能の一例］
図２に戻り、制御部１２０は、クエリ受付部１２１と、ログ書込部１２２と、ログ抽出部１２３と、代替クエリ送信部１２４と、を有する。また、制御部１２０は、名前解決部１２５を有する。
【００３１】
クエリ受付部１２１は、通信処理部１１０が受信したＤＮＳクエリを、権威ＤＮＳサーバ１０Ａが認識可能な形式のドメイン名を含むＤＮＳクエリと、認識可能な形式のドメイン名を含まないＤＮＳクエリと、に分類する。クエリ受付部１２１は、権威ＤＮＳサーバ１０Ａが認識可能な形式のドメイン名を含むＤＮＳクエリは、名前解決部１２５に渡す。他方、クエリ受付部１２１は、権威ＤＮＳサーバ１０Ａが認識可能な形式のドメイン名を含まないＤＮＳクエリを破棄する。また、クエリ受付部１２１は、破棄したＤＮＳクエリを送信したキャッシュＤＮＳサーバ２０のＩＰアドレスと、当該ＤＮＳクエリを破棄した旨の通知を、ログ書込部１２２に渡す。
【００３２】
ログ書込部１２２は、クエリ受付部１２１から通知されたキャッシュＤＮＳサーバ２０のＩＰアドレスと、当該キャッシュＤＮＳサーバ２０から送信されたＤＮＳクエリを破棄したことをログ情報記憶部１３１に記憶する。ログ書込部１２２は、ログ情報記憶部１３１に記憶される情報を更新すると、ログ抽出部１２３に通知する。
【００３３】
ログ抽出部１２３は、ログ情報記憶部１３１に記憶されるログ情報が更新されると、ログ書込部１２２の通知を受けてログ情報記憶部１３１を走査し、破棄されたＤＮＳクエリの情報を取得する。ログ抽出部１２３は、破棄されたＤＮＳクエリを送信したキャッシュＤＮＳサーバ２０のＩＰアドレスをログ情報記憶部１３１から抽出し、代替クエリ送信部１２４に渡す。ログの結果表示やフィルタには、tailやgrepを利用してもよい。
【００３４】
代替クエリ送信部１２４は、権威ＤＮＳサーバ１０Ａの管理ゾーン内のドメイン名を一つ選択する。選択するドメイン名は予め設定して記憶部１３０に記憶させてもよい。そして、代替クエリ送信部１２４は、選択したドメイン名について問い合わせるＤＮＳクエリ要求を、通信処理部１１０を介して、ログ抽出部１２３から渡されたＩＰアドレスのキャッシュＤＮＳサーバ２０に送信する。たとえば、代替クエリ送信部１２４は、権威ＤＮＳサーバ１０Ａの管理するゾーンデータにおいてキャッシュの有効期間がゼロに設定されているドメインに関する、クエリ要求を送信する。
【００３５】
名前解決部１２５は、クエリ受付部１２１が認識可能な形式のドメイン名を含むと判定したＤＮＳクエリの名前解決の処理を実行する。すなわち、名前解決部１２５は、アドレス対応情報記憶部１３２を参照して、問い合わされたドメイン名に対応するＩＰアドレスを特定する。そして、名前解決部１２５は、特定したＩＰアドレスをキャッシュＤＮＳサーバ２０に返信する。
【００３６】
［実施形態に係るＤＮＳクエリ処理の流れの一例］
図４は、実施形態に係るＤＮＳクエリ処理の流れの一例を示すフローチャートである。図４を参照して、実施形態に係るＤＮＳクエリ処理の流れについて説明する。
【００３７】
まず、権威ＤＮＳサーバ１０Ａの通信処理部１１０は、キャッシュＤＮＳサーバ２０から送信されるＤＮＳクエリを受信する（ステップＳ４０１）。通信処理部１１０が受信したＤＮＳクエリは、クエリ受付部１２１に渡される。クエリ受付部１２１は、ＤＮＳクエリの問い合わせ対象であるドメイン名が、権威ＤＮＳサーバ１０Ａが認識可能なドメイン名であるか否かを判定する（ステップＳ４０２）。
【００３８】
ステップＳ４０２において、権威ＤＮＳサーバ１０Ａが認識可能なドメイン名ではないと判定された場合（ステップＳ４０２、Ｎｏ）、クエリ受付部１２１は、当該ＤＮＳクエリのパケットを破棄する（ステップＳ４０３）。そして、クエリ受付部１２１は、パケットを破棄したことと、当該パケットの送信元であるキャッシュＤＮＳサーバ２０のＩＰアドレスと、をログ書込部１２２に送信する。ログ書込部１２２は、クエリ受付部１２１から受信した情報をログに出力する（ステップＳ４０４）。たとえば、ログ書込部１２２は、受信した情報に基づき、ログ情報記憶部１３１に、キャッシュＤＮＳサーバ２０のＩＰアドレスと、パケットを破棄した旨とを対応付けて記憶する。ログ書込部１２２は書込みした旨をログ抽出部１２３に通知する。ログ抽出部１２３は、ログ情報記憶部１３１に記憶されるログ情報を走査して、破棄されたパケットの送信元であるキャッシュＤＮＳサーバのＩＰアドレスを特定する（ステップＳ４０５）。ログ抽出部１２３は特定したＩＰアドレスを代替クエリ送信部１２４に渡す。代替クエリ送信部１２４は、権威ＤＮＳサーバ１０Ａの管理下にあるドメイン名を一つ選択する。そして、代替クエリ送信部１２４は、選択したドメイン名について問い合わせるＤＮＳクエリ要求を、ログ抽出部１２３が特定したＩＰアドレスに送信する（ステップＳ４０６）。
【００３９】
なお、ステップＳ４０２において、認識可能なドメイン名であると判定された場合（ステップＳ４０２、Ｙｅｓ）、クエリ受付部１２１は、当該ＤＮＳクエリを名前解決部１２５に渡し、名前解決部１２５は名前解決処理を実行する（ステップＳ４０７）。名前解決処理は、従来の権威ＤＮＳサーバで実行されている処理と同様でよい。名前解決処理部１２５は、たとえば図６に示した処理と同様の処理を実行する。これで、実施形態に係るＤＮＳクエリ処理が終了する。
【００４０】
図５は、実施形態に係るＤＮＳクエリ処理の流れの一例を説明するためのシーケンスチャートである。図５には、キャッシュＤＮＳサーバ２０と、権威ＤＮＳサーバ１０Ａとの間での情報の送受信の流れを示す。
【００４１】
まず、クライアントからＤＮＳクエリ要求がキャッシュＤＮＳサーバ２０に送信される。図５の例では、キャッシュＤＮＳサーバ２０は、
【表１】
0006339538.tif 000006
というドメイン名について問い合わせるＤＮＳクエリ要求を受信する。キャッシュＤＮＳサーバ２０は、受信したＤＮＳクエリ要求に応じて、「co.jp」ゾーンを管理する権威ＤＮＳサーバ１０ＡにＤＮＳクエリを送信する（図５の（１））。権威ＤＮＳサーバ１０Ａでは、通信処理部１１０がＤＮＳクエリを受信して、クエリ受付部１２１に渡す。クエリ受付部１２１は、ＤＮＳクエリによって問い合わされている
【表１】
0006339538.tif 000007
というドメイン名が認識できない文字を含んでいるため、当該ＤＮＳクエリを破棄してキャッシュＤＮＳサーバ２０への応答はしないと判定する。そして、クエリ受付部１２１は、破棄したＤＮＳクエリを送信したキャッシュＤＮＳサーバ２０のＩＰアドレスと、ＤＮＳクエリを破棄した旨の通知を、ログ書込部１２２に渡す（図５の（２））。ログ書込部１２２は、クエリ受付部１２１から渡されたキャッシュＤＮＳサーバ２０のＩＰアドレスと、ＤＮＳクエリを破棄したことを示す情報を、ログ情報記憶部１３１に記憶する。そして、ログ書込部１２２は、ログ情報記憶部１３１を更新したことを、ログ抽出部１２３に通知する（図５の（３））。ログ抽出部１２３は、通知に応じて、ログ情報記憶部１３１に、ＤＮＳクエリが破棄されたことを示す情報に対応付けて記憶されているキャッシュＤＮＳサーバのＩＰアドレスを読み出す。そして、ログ抽出部１２３は、読み出したＩＰアドレスを代替クエリ送信部１２４に渡す（図５の（４））。代替クエリ送信部１２４は、権威ＤＮＳサーバ１０Ａの管理ゾーン内のドメイン名を一つ選択する。そして、代替クエリ送信部１２４は、選択したドメイン名について問い合わせるＤＮＳクエリ要求を、通信処理部１１０を介して、ログ抽出部１２３から渡されたＩＰアドレス宛に送信する（図５の（５））。図５の例では、代替クエリ送信部１２４は、「abc.co.jp」というドメイン名について問い合わせるＤＮＳクエリ要求をキャッシュＤＮＳサーバ２０に送信する。キャッシュＤＮＳサーバ２０は、ＤＮＳクエリ要求に応じて、「abc.co.jp」のＤＮＳクエリを、「co.jp」を管理ゾーンとする権威ＤＮＳサーバ１０Ａに送信する（図５の（６））。権威ＤＮＳサーバ１０Ａのクエリ受付部１２１は自装置の管理ゾーン内の認識可能な形式のドメイン名であるため、ＤＮＳクエリを名前解決部１２５（図５には図示せず。）に渡す。そして、名前解決部１２５は、ドメイン名に対応するＩＰアドレスを通信処理部１１０を介してキャッシュＤＮＳサーバ２０に送信する（図５の（７））。そして、キャッシュＤＮＳサーバ２０は、受信したＩＰアドレスをＤＮＳクエリ要求の送信元である権威ＤＮＳサーバ１０Ａの代替クエリ送信部１２４に送信する（図５の（８））。
【００４２】
このように権威ＤＮＳサーバ１０Ａは、自装置で認識できない形式を含む
【表１】
0006339538.tif 000008
について問い合わせるＤＮＳクエリ自体には応答しない。しかし、権威ＤＮＳサーバ１０Ａは、ＤＮＳクエリを破棄した後、当該ＤＮＳクエリの破棄を契機として、他のドメイン名についての問い合わせ処理を実行する。このため、キャッシュＤＮＳサーバ２０は、権威ＤＮＳサーバ１０ＡからＤＮＳクエリに直接対応する応答がなくても権威ＤＮＳサーバ１０Ａが故障したとは判断せず、ネガティブキャッシュも発生しない。
【００４３】
なお、権威ＤＮＳサーバ１０Ａから代替クエリ要求が送信され名前解決の処理が実行された後、キャッシュＤＮＳサーバ２０は
【表１】
0006339538.tif 000009
についてのＤＮＳクエリを再送信してリトライする（図５の（９））。しかし、権威ＤＮＳサーバ１０ＡがFormErrのような応答を返したことに応じてリトライが行われる場合とは異なり、リトライによるバースト的なトラヒックの増大は発生しない。認識不可能なＤＮＳクエリと、当該ＤＮＳクエリに対するFormErr等の応答は数ミリ秒等の短い時間間隔で発生するが、実施形態の代替クエリ要求は、破棄されるＤＮＳクエリの受信から、たとえば１秒程度経過してから実行される。このため、認識できないＤＮＳクエリが受信された直後にバースト的に大量のリトライによるトラヒックが発生することがない。また、時間をおいて、その後キャッシュＤＮＳサーバ２０がリトライした場合も、やはり図５の（５）〜（８）の処理が実行されるため、権威ＤＮＳサーバ１０Ａが故障しているとキャッシュＤＮＳサーバ２０が誤認識することがない。
【００４４】
［実施形態の効果］
上記のように実施形態に係る権威ＤＮＳサーバ装置は、受信したＤＮＳクエリに含まれるドメイン名が自装置により認識可能な形式ではない場合に、当該ＤＮＳクエリに応答せずに当該ＤＮＳクエリのパケットを破棄し、当該パケットの送信元のＩＰアドレスを抽出するクエリ受付部と、クエリ受付部が抽出したＩＰアドレスを宛先として、自装置の管理ゾーンに所属するドメイン名について問い合わせる代替クエリ要求を送信する代替クエリ送信部と、を備える。このため、権威ＤＮＳサーバが認識できない形式のドメイン名についてキャッシュＤＮＳサーバが問い合わせてきた場合でも、権威ＤＮＳサーバが応答しないことによって故障していると誤認識されることがない。また、権威ＤＮＳサーバは、ＤＮＳクエリに応答するのではなく代替的なＤＮＳクエリ要求を送信するため、ＤＮＳクエリの受信から代替クエリ要求の送信までの時間が、ＤＮＳクエリの受信からその応答までの時間よりも長くなる。このため、認識できないドメイン名を含むＤＮＳクエリの受信後にバースト的に大量のトラヒックが発生することがない。
【００４５】
また、実施形態に係る権威ＤＮＳサーバ装置において、代替クエリ送信部は、自装置が管理するゾーンデータにおいてキャッシュの有効期間がゼロに設定されているドメインに関するクエリ要求を代替クエリ要求として送信する。このため、権威ＤＮＳサーバが故障しているとのキャッシュＤＮＳサーバによる誤認識が防止される。また、キャッシュの有効期間がゼロであれば、キャッシュＤＮＳサーバには情報がキャッシュされていないため、確実に権威ＤＮＳサーバへの問い合わせが行われる。
【００４６】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、ログ書込部１２２とログ抽出部１２３とを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００４７】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００４８】
［プログラム］
また、上記実施形態において説明した名前解決システム１００における各装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る権威ＤＮＳサーバ１０Ａが実行する処理をコンピュータが実行可能な言語で記述したＤＮＳクエリ処理プログラムを作成することもできる。この場合、コンピュータがＤＮＳクエリ処理プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるＤＮＳクエリ処理プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたＤＮＳクエリ処理プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【００４９】
図９は、ＤＮＳクエリ処理プログラムを実行するコンピュータ１０００を示す図である。図９に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００５０】
メモリ１０１０は、図９に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図９に例示するように、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、図９に例示するように、ディスクドライブ１０４１に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１０４１に挿入される。シリアルポートインタフェース１０５０は、図９に例示するように、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、図９に例示するように、例えばディスプレイ１０６１に接続される。
【００５１】
ここで、図９に例示するように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記のＤＮＳクエリ処理プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０３１に記憶される。
【００５２】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、各種処理手順を実行する。
【００５３】
なお、ＤＮＳクエリ処理プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、ＤＮＳクエリ処理プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。  
【符号の説明】
【００５４】
１０Ａ，１０Ｂ，１０Ｃ  権威ＤＮＳサーバ
２０  キャッシュＤＮＳサーバ
３０Ａ，３０Ｂ，３０Ｃ  クライアント
１００  名前解決システム
１１０  通信処理部
１２０  制御部
１２１  クエリ受付部
１２２  ログ書込部
１２３  ログ抽出部
１２４  代替クエリ送信部
１２５  名前解決部
１３０  記憶部
１３１  ログ情報記憶部
１３２  アドレス対応情報記憶部  
【図１】
0006339538.tif 000010
【図２】
0006339538.tif 000011
【図３】
0006339538.tif 000012
【図４】
0006339538.tif 000013
【図５】
0006339538.tif 000014
【図６】
0006339538.tif 000015
【図７】
0006339538.tif 000016
【図８】
0006339538.tif 000017
【図９】
0006339538.tif 000018