(57)【要約】【課題】ＤＮＳクエリ要求に対する応答をＤＮＳクライアントごとに制御することを課題とする。【解決手段】権威サーバ３０は、応答を拒否するキャッシュサーバ２０のＩＰアドレス（キャッシュサーバＩＰ）だけでなく、応答を拒否するＤＮＳクライアント１０のＩＰアドレス（クライアントＩＰ）が列挙されたアクセスコントロールリストを管理している。そして、キャッシュサーバ２０は、ＤＮＳクライアント１０から受信したクエリ要求を権威サーバ３０に送信する場合に、ＤＮＳクライアント１０のクライアントＩＰをクエリ要求に含めて送信する。一方、権威サーバ３０は、キャッシュサーバ２０からクエリ要求を受信した場合に、クエリ要求の追加部に含まれるクライアントＩＰに基づいてアクセスコントロールリストを参照し、クライアントＩＰごとにクエリ要求に対する応答を制御する。【選択図】        図１
2007243356.tif 000002
【特許請求の範囲】
【請求項１】
ＤＮＳクライアント装置とＤＮＳサーバ装置との間にキャッシュサーバ装置を介して構成されるＤＮＳサーバクライアントシステムであって、
前記キャッシュサーバ装置は、
前記ＤＮＳクライアント装置から受信したＤＮＳクエリ要求を前記ＤＮＳサーバ装置に送信する場合に、前記ＤＮＳクライアント装置を識別するためのクライアントアドレスを前記ＤＮＳクエリ要求に含めて送信するＤＮＳクエリ要求送信手段と、
前記ＤＮＳサーバ装置は、
前記キャッシュサーバ装置からＤＮＳクエリ要求を受信した場合に、当該ＤＮＳクエリ要求に含まれる前記クライアントアドレスに基づいて、当該ＤＮＳクエリ要求に対する応答を制御するＤＮＳクエリ応答制御手段と、
を備えたことを特徴とするＤＮＳサーバクライアントシステム。
【請求項２】
前記ＤＮＳクエリ要求送信手段は、前記ＤＮＳクエリ要求の追加部分に前記クライアントアドレスを含めて送信することを特徴とする請求項１に記載のＤＮＳサーバクライアントシステム。
【請求項３】
前記キャッシュサーバ装置は、前記クライアントアドレスを含んだＤＮＳクエリ要求について応答可能なＤＮＳサーバ装置を識別するための情報を記憶したＤＮＳサーバ情報記憶手段をさらに備え、
前記ＤＮＳクエリ要求送信手段は、前記ＤＮＳサーバ情報記憶手段に記憶された情報に基づいて、前記クライアントアドレスを含んだＤＮＳクエリ要求について応答可能なＤＮＳサーバ装置に対してのみ、当該クライアントアドレスを含んだＤＮＳクエリ要求を送信することを特徴とする請求項１または２に記載のＤＮＳサーバクライアントシステム。
【請求項４】
前記ＤＮＳサーバ情報記憶手段は、前記ＤＮＳサーバ装置を識別するための情報の他に、前記クライアントアドレスを含んだＤＮＳクエリ要求の送信対象とすべきＤＮＳクライアント装置を識別するための情報をさらに記憶するものであって、
前記ＤＮＳクエリ要求送信手段は、前記ＤＮＳサーバ情報記憶手段に記憶された情報に基づいて、前記クライアントアドレスを含んだＤＮＳクエリ要求の送信対象とすべきＤＮＳクライアント装置からＤＮＳクエリ要求を受信した場合にのみ、当該クライアントアドレスを含んだＤＮＳクエリ要求を送信することを特徴とする請求項３に記載のＤＮＳサーバクライアントシステム。
【請求項５】
前記ＤＮＳサーバ装置は、前記クライアントアドレスを含んだＤＮＳクエリ要求の送信が許可されているキャッシュサーバ装置を識別するための情報を記憶したキャッシュサーバ情報記憶手段をさらに備え、
前記ＤＮＳクエリ応答制御手段は、前記ＤＮＳクエリ要求の送信元であるキャッシュサーバ装置について前記ＤＮＳサーバ情報記憶手段において前記クライアントアドレスを含んだＤＮＳクエリ要求の送信が許可されている場合にのみ、当該ＤＮＳクエリ要求に含まれる前記クライアントアドレスに基づいて、当該ＤＮＳクエリ要求に対する応答を制御することを特徴とする請求項１〜４のいずれか一つに記載のＤＮＳサーバクライアントシステム。
【請求項６】
前記ＤＮＳサーバ装置は、前記クライアントアドレスに対応付けて、前記ＤＮＳクエリ要求に対する応答制御内容として、無応答、拒否応答、リソースレコードのいずれか一つを記憶する応答制御内容記憶手段をさらに備え、
前記ＤＮＳクエリ応答制御手段は、前記応答制御内容記憶手段に記憶されている応答制御内容から前記ＤＮＳクエリ要求に含まれるクライアントアドレスに対応付けられた応答制御内容を検索し、前記無応答、拒否応答、リソースレコード応答のいずれか一つを行うことを特徴とする請求項１〜５のいずれか一つに記載のＤＮＳサーバクライアントシステム。
【請求項７】
前記キャッシュサーバ装置は、前記ＤＮＳサーバ装置からＤＮＳクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めて送信されたＤＮＳクエリ要求に対する応答として受信したリソースレコードを除き、前記クライアントアドレスを含めることなく送信されたＤＮＳクエリ要求に対する応答として受信したリソースレコードのみを記憶するリソースレコード記憶手段をさらに備え、
前記ＤＮＳクエリ要求送信手段は、前記ＤＮＳクライアント装置から受信したＤＮＳクエリ要求に対応するリソースレコードが前記リソースレコード記憶手段に記憶されていない場合に、当該ＤＮＳクエリ要求を前記ＤＮＳサーバ装置に送信することを特徴とする請求項１〜６のいずれか一つに記載のＤＮＳサーバクライアントシステム。
【請求項８】
前記キャッシュサーバ装置は、前記ＤＮＳサーバ装置からＤＮＳクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めて送信されたＤＮＳクエリ要求に対する応答として受信したリソースレコードについては、当該リソースレコードに前記クライアントアドレスを対応付けて記憶するリソースレコード記憶手段をさらに備え、
前記ＤＮＳクエリ要求送信手段は、前記ＤＮＳクライアント装置から受信したＤＮＳクエリ要求に対応するリソースレコードと当該ＤＮＳクライアント装置のクライアントアドレスとが前記リソースレコード記憶手段に対応付けて記憶されていない場合に、当該ＤＮＳクエリ要求を前記ＤＮＳサーバ装置に送信することを特徴とする請求項１〜６のいずれか一つに記載のＤＮＳサーバクライアントシステム。
【請求項９】
前記ＤＮＳサーバ装置は、前記クライアントアドレスに対応付けて、システム単位および／またはゾーン単位ごとに前記ＤＮＳクエリ要求に対する応答制御内容を記憶するとともに、ドメイン単位ごとに前記ＤＮＳクエリ要求に対する応答制御内容を記憶する応答制御内容記憶手段をさらに備え、
前記ＤＮＳクエリ応答制御手段は、前記システム単位および／またはゾーン単位、並びに、前記ドメイン単位で、前記応答制御内容記憶手段に記憶されている応答制御内容から前記ＤＮＳクエリ要求に含まれるクライアントアドレスに対応付けられた応答制御内容を検索し、当該検索した応答制御内容に基づいて前記ＤＮＳクエリ要求に対する応答を制御することを特徴とする請求項１〜８のいずれか一つに記載のＤＮＳサーバクライアントシステム。
【請求項１０】
ＤＮＳクライアント装置から送信されたＤＮＳクエリ要求をキャッシュサーバ装置経由で受信して制御するＤＮＳサーバ装置であって、
前記ＤＮＳクライアント装置を識別するためのクライアントアドレスを含んだＤＮＳクエリ要求を前記キャッシュサーバ装置から受信するＤＮＳクエリ要求受信手段と、
前記キャッシュサーバ装置からＤＮＳクエリ要求を受信した場合に、当該ＤＮＳクエリ要求に含まれる前記クライアントアドレスに基づいて、当該ＤＮＳクエリ要求に対する応答を制御するＤＮＳクエリ応答制御手段と、
を備えたことを特徴とするＤＮＳサーバ装置。
【請求項１１】
ＤＮＳクライアント装置とＤＮＳサーバ装置との間でＤＮＳクエリ要求を制御するキャッシュサーバ装置であって、
前記ＤＮＳクライアント装置から受信したＤＮＳクエリ要求を前記ＤＮＳサーバ装置に送信する場合に、前記ＤＮＳクライアント装置を識別するためのクライアントアドレスを前記ＤＮＳクエリ要求に含めて送信するＤＮＳクエリ要求送信手段を備えたことを特徴とするキャッシュサーバ装置。
【請求項１２】
ＤＮＳクライアント装置とＤＮＳサーバ装置との間にキャッシュサーバ装置を介して構成されるＤＮＳサーバクライアントシステムに適用されるＤＮＳクエリ要求制御方法であって、
前記キャッシュサーバ装置が、
前記ＤＮＳクライアント装置から受信したＤＮＳクエリ要求を前記ＤＮＳサーバ装置に送信する場合に、前記ＤＮＳクライアント装置を一意に識別するためのクライアントアドレスを前記ＤＮＳクエリ要求に含めて送信するＤＮＳクエリ要求送信工程と、
前記ＤＮＳサーバ装置が、
前記キャッシュサーバ装置からＤＮＳクエリ要求を受信した場合に、当該ＤＮＳクエリ要求に含まれる前記クライアントアドレスに基づいて、当該ＤＮＳクエリ要求に対する応答を制御するＤＮＳクエリ応答制御工程と、
を含んだことを特徴とするＤＮＳクエリ要求制御方法。
【請求項１３】
ＤＮＳクライアント装置から送信されたＤＮＳクエリ要求をキャッシュサーバ装置経由で受信して制御するＤＮＳクエリ要求制御方法をコンピュータに実行させるＤＮＳクエリ要求制御プログラムであって、
前記ＤＮＳクライアント装置を一意に識別するためのクライアントアドレスを含んだＤＮＳクエリ要求を前記キャッシュサーバ装置から受信するＤＮＳクエリ要求受信手順と、
前記キャッシュサーバ装置からＤＮＳクエリ要求を受信した場合に、当該ＤＮＳクエリ要求に含まれる前記クライアントアドレスに基づいて、当該ＤＮＳクエリ要求に対する応答を制御するＤＮＳクエリ応答制御手順と、
をコンピュータに実行させることを特徴とするＤＮＳクエリ要求制御プログラム。
【請求項１４】
ＤＮＳクライアント装置とＤＮＳサーバ装置との間でＤＮＳクエリ要求を制御するＤＮＳクエリ要求制御方法をコンピュータに実行させるＤＮＳクエリ要求制御プログラムであって、
前記ＤＮＳクライアント装置から受信したＤＮＳクエリ要求を前記ＤＮＳサーバ装置に送信する場合に、前記ＤＮＳクライアント装置を識別するためのクライアントアドレスを前記ＤＮＳクエリ要求に含めて送信するＤＮＳクエリ要求送信手順をコンピュータに実行させることを特徴とするＤＮＳクエリ要求制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＤＮＳクライアント装置とＤＮＳサーバ装置との間にキャッシュサーバ装置を介するＤＮＳサーバクライアントシステム、ＤＮＳサーバ装置、キャッシュサーバ装置、ＤＮＳクエリ要求制御方法およびＤＮＳクエリ要求制御プログラムに関する。
【背景技術】
【０００２】
従来より、インターネット上のホスト名（ドメイン名）とＩＰアドレス（Internet Protocol Address）とを対応させるＤＮＳ（Domain Name System）と呼ばれるシステムがある。かかるＤＮＳシステムは、例えば、図１６に示すように、インターネットに複数の権威サーバと複数のサブネットとが接続され、また、各サブネットにＤＮＳのフルサービスリゾルバとしてのキャッシュサーバが設置され、さらに、各サブネット内に複数のＤＮＳクライアントが配置されて構成される。なお、図１６は、従来技術に係るＤＮＳシステムを説明するための図である。
【０００３】
図１６に示すＤＮＳシステムおいて、各権威サーバは、ホスト名とＩＰアドレスとを対応付けた変換表（リソースレコードファイル）を管理している。そして、サブネット内のＤＮＳクライアントからクエリ要求が発信されると、このクエリ要求を受信したキャッシュサーバは、任意のドメインを管理する権威サーバに対してクエリ要求を送信する。一方、かかるクエリ要求を受信した権威サーバは、変換表（リソースレコードファイル）から対応するリソースレコードを検索し、検索結果としてのリソースレコードをクエリ応答としてキャッシュサーバに送信し、このクエリ応答を受信したキャッシュサーバは、クエリ要求を発信したＤＮＳクライアントに対してクエリ応答を送信する。ここで、ＤＮＳクライアントからキャッシュサーバに対して送信されるクエリ要求の発ＩＰアドレスは、ＤＮＳクライアントのＩＰアドレス（クライアントＩＰ）であり、一方、キャッシュサーバから権威サーバに対して送信されるクエリ要求の発ＩＰアドレスは、キャッシュサーバのＩＰアドレス（キャッシュサーバＩＰ）である。
【０００４】
ところで、図１６に示すようなＤＮＳシステムおいては、クエリ要求の発ＩＰアドレスに基づいて不正ユーザからのクエリ要求を拒否するなど、発ＩＰアドレスによってクエリ応答を制御することが一般的に行われている。具体的に説明すると、権威サーバでは、システム単位またはゾーン単位でクエリ要求元のＩＰアドレス（もしくはネットワークアドレス）ごとに応答許可（もしくは応答拒否）を規定したアクセスコントロールリストを管理している。そして、キャッシュサーバからクエリ要求を受信すると、権威サーバでは、クエリ要求の発ＩＰアドレス（ここでは、キャッシュサーバＩＰ）に基づいてアクセスコントロールリストを参照し、応答許可もしくは応答拒否を行う。また、権威サーバによっては、ゾーン単位でクエリ要求元のＩＰアドレス（もしくはネットワークアドレス）ごとに異なるリソースレコードを規定しておき、クエリ要求の発ＩＰアドレス（ここでは、キャッシュサーバＩＰ）に基づいて異なるリソースレコードを応答するものもある（例えば、特許文献１参照）。
【０００５】
【特許文献１】特開２００５−２１０５１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上記した従来の技術は、ＤＮＳクライアントと権威サーバとの間にキャッシュサーバを介する場合に、クエリ要求に対するクエリ応答をＤＮＳクライアントごとに制御することができないという課題がある。
【０００７】
この課題について具体的に説明すると、例えば、あるサブネット内に不正なＤＮＳクライアントが存在し、ある権威サーバに対してＤｏｓ攻撃（Denial of Service attack）などを行っているような場合でも、権威サーバ側では、クエリ要求の発ＩＰアドレスとしてキャッシュサーバＩＰを取得できるだけであるので、不正なＤＮＳクライアントが存在するサブネットのキャッシュサーバからＤｏｓ攻撃が行われているように見える。そして、上記した従来の技術では、このような不正なＤＮＳクライアントからのクエリ要求を拒否しようとする場合には、その不正なＤＮＳクライアントが存在するサブネットのキャッシュサーバのＩＰアドレスに対してアクセスコントロールを規定しなければならない。
【０００８】
しかしながら、このようにして所定のキャッシュサーバが所定の権威サーバのアクセスコントロールリストに応答拒否として規定されると、そのキャッシュサーバが存在するサブネット内のＤＮＳクライアント全てに対して（正規なＤＮＳクライアントに対しても）クエリ応答が拒否されることになり、結果として、クエリ要求に対するクエリ応答をＤＮＳクライアントごとに制御することができない。その一方、所定のキャッシュサーバが所定の権威サーバのアクセスコントロールリストに応答許可として規定されたような場合には、そのキャッシュサーバが存在するサブネット内のＤＮＳクライアント全てに対して（不正なＤＮＳクライアントに対しても）クエリ応答が許可されることになり、結果として、クエリ要求に対するクエリ応答をＤＮＳクライアントごとに制御することができない。なお、このような課題を解決するために、サブネット内に不正なＤＮＳクライアント用のキャッシュサーバを新たに設置するという手法も考えられるが、設備コストを考慮すると必ずしも適切な解決手法とは言い得ない。
【０００９】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、ＤＮＳクライアント装置との間にキャッシュサーバ装置を介するＤＮＳサーバ装置であっても、ＤＮＳクエリ要求に対する応答をＤＮＳクライアント装置ごとに制御することが可能なＤＮＳサーバクライアントシステム、ＤＮＳサーバ装置、キャッシュサーバ装置、ＤＮＳクエリ要求制御方法およびＤＮＳクエリ要求制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、ＤＮＳクライアント装置とＤＮＳサーバ装置との間にキャッシュサーバ装置を介して構成されるＤＮＳサーバクライアントシステムであって、前記キャッシュサーバ装置は、前記ＤＮＳクライアント装置から受信したＤＮＳクエリ要求を前記ＤＮＳサーバ装置に送信する場合に、前記ＤＮＳクライアント装置を識別するためのクライアントアドレスを前記ＤＮＳクエリ要求に含めて送信するＤＮＳクエリ要求送信手段と、前記ＤＮＳサーバ装置は、前記キャッシュサーバ装置からＤＮＳクエリ要求を受信した場合に、当該ＤＮＳクエリ要求に含まれる前記クライアントアドレスに基づいて、当該ＤＮＳクエリ要求に対する応答を制御するＤＮＳクエリ応答制御手段と、を備えたことを特徴とする。
【００１１】
また、請求項２に係る発明は、上記の発明において、前記ＤＮＳクエリ要求送信手段は、前記ＤＮＳクエリ要求の追加部分に前記クライアントアドレスを含めて送信することを特徴とする。
【００１２】
また、請求項３に係る発明は、上記の発明において、前記キャッシュサーバ装置は、前記クライアントアドレスを含んだＤＮＳクエリ要求について応答可能なＤＮＳサーバ装置を識別するための情報を記憶したＤＮＳサーバ情報記憶手段をさらに備え、前記ＤＮＳクエリ要求送信手段は、前記ＤＮＳサーバ情報記憶手段に記憶された情報に基づいて、前記クライアントアドレスを含んだＤＮＳクエリ要求について応答可能なＤＮＳサーバ装置に対してのみ、当該クライアントアドレスを含んだＤＮＳクエリ要求を送信することを特徴とする。
【００１３】
また、請求項４に係る発明は、上記の発明において、前記ＤＮＳサーバ情報記憶手段は、前記ＤＮＳサーバ装置を識別するための情報の他に、前記クライアントアドレスを含んだＤＮＳクエリ要求の送信対象とすべきＤＮＳクライアント装置を識別するための情報をさらに記憶するものであって、前記ＤＮＳクエリ要求送信手段は、前記ＤＮＳサーバ情報記憶手段に記憶された情報に基づいて、前記クライアントアドレスを含んだＤＮＳクエリ要求の送信対象とすべきＤＮＳクライアント装置からＤＮＳクエリ要求を受信した場合にのみ、当該クライアントアドレスを含んだＤＮＳクエリ要求を送信することを特徴とする。
【００１４】
また、請求項５に係る発明は、上記の発明において、前記ＤＮＳサーバ装置は、前記クライアントアドレスを含んだＤＮＳクエリ要求の送信が許可されているキャッシュサーバ装置を識別するための情報を記憶したキャッシュサーバ情報記憶手段をさらに備え、前記ＤＮＳクエリ応答制御手段は、前記ＤＮＳクエリ要求の送信元であるキャッシュサーバ装置について前記ＤＮＳサーバ情報記憶手段において前記クライアントアドレスを含んだＤＮＳクエリ要求の送信が許可されている場合にのみ、当該ＤＮＳクエリ要求に含まれる前記クライアントアドレスに基づいて、当該ＤＮＳクエリ要求に対する応答を制御することを特徴とする。
【００１５】
また、請求項６に係る発明は、上記の発明において、前記ＤＮＳサーバ装置は、前記クライアントアドレスに対応付けて、前記ＤＮＳクエリ要求に対する応答制御内容として、無応答、拒否応答、リソースレコードのいずれか一つを記憶する応答制御内容記憶手段をさらに備え、前記ＤＮＳクエリ応答制御手段は、前記応答制御内容記憶手段に記憶されている応答制御内容から前記ＤＮＳクエリ要求に含まれるクライアントアドレスに対応付けられた応答制御内容を検索し、前記無応答、拒否応答、リソースレコード応答のいずれか一つを行うことを特徴とする。
【００１６】
また、請求項７に係る発明は、上記の発明において、前記キャッシュサーバ装置は、前記ＤＮＳサーバ装置からＤＮＳクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めて送信されたＤＮＳクエリ要求に対する応答として受信したリソースレコードを除き、前記クライアントアドレスを含めることなく送信されたＤＮＳクエリ要求に対する応答として受信したリソースレコードのみを記憶するリソースレコード記憶手段をさらに備え、前記ＤＮＳクエリ要求送信手段は、前記ＤＮＳクライアント装置から受信したＤＮＳクエリ要求に対応するリソースレコードが前記リソースレコード記憶手段に記憶されていない場合に、当該ＤＮＳクエリ要求を前記ＤＮＳサーバ装置に送信することを特徴とする。
【００１７】
また、請求項８に係る発明は、上記の発明において、前記キャッシュサーバ装置は、前記ＤＮＳサーバ装置からＤＮＳクエリ応答として受信したリソースレコードのうち、前記クライアントアドレスを含めて送信されたＤＮＳクエリ要求に対する応答として受信したリソースレコードについては、当該リソースレコードに前記クライアントアドレスを対応付けて記憶するリソースレコード記憶手段をさらに備え、前記ＤＮＳクエリ要求送信手段は、前記ＤＮＳクライアント装置から受信したＤＮＳクエリ要求に対応するリソースレコードと当該ＤＮＳクライアント装置のクライアントアドレスとが前記リソースレコード記憶手段に対応付けて記憶されていない場合に、当該ＤＮＳクエリ要求を前記ＤＮＳサーバ装置に送信することを特徴とする。
【００１８】
また、請求項９に係る発明は、上記の発明において、前記ＤＮＳサーバ装置は、前記クライアントアドレスに対応付けて、システム単位および／またはゾーン単位ごとに前記ＤＮＳクエリ要求に対する応答制御内容を記憶するとともに、ドメイン単位ごとに前記ＤＮＳクエリ要求に対する応答制御内容を記憶する応答制御内容記憶手段をさらに備え、前記ＤＮＳクエリ応答制御手段は、前記システム単位および／またはゾーン単位、並びに、前記ドメイン単位で、前記応答制御内容記憶手段に記憶されている応答制御内容から前記ＤＮＳクエリ要求に含まれるクライアントアドレスに対応付けられた応答制御内容を検索し、当該検索した応答制御内容に基づいて前記ＤＮＳクエリ要求に対する応答を制御することを特徴とする。
【００１９】
また、請求項１０に係る発明は、ＤＮＳクライアント装置から送信されたＤＮＳクエリ要求をキャッシュサーバ装置経由で受信して制御するＤＮＳサーバ装置であって、前記ＤＮＳクライアント装置を識別するためのクライアントアドレスを含んだＤＮＳクエリ要求を前記キャッシュサーバ装置から受信するＤＮＳクエリ要求受信手段と、前記キャッシュサーバ装置からＤＮＳクエリ要求を受信した場合に、当該ＤＮＳクエリ要求に含まれる前記クライアントアドレスに基づいて、当該ＤＮＳクエリ要求に対する応答を制御するＤＮＳクエリ応答制御手段と、を備えたことを特徴とする。
【００２０】
また、請求項１１に係る発明は、ＤＮＳクライアント装置とＤＮＳサーバ装置との間でＤＮＳクエリ要求を制御するキャッシュサーバ装置であって、前記ＤＮＳクライアント装置から受信したＤＮＳクエリ要求を前記ＤＮＳサーバ装置に送信する場合に、前記ＤＮＳクライアント装置を識別するためのクライアントアドレスを前記ＤＮＳクエリ要求に含めて送信するＤＮＳクエリ要求送信手段を備えたことを特徴とする。
【００２１】
また、請求項１２に係る発明は、ＤＮＳクライアント装置とＤＮＳサーバ装置との間にキャッシュサーバ装置を介して構成されるＤＮＳサーバクライアントシステムに適用されるＤＮＳクエリ要求制御方法であって、前記キャッシュサーバ装置が、前記ＤＮＳクライアント装置から受信したＤＮＳクエリ要求を前記ＤＮＳサーバ装置に送信する場合に、前記ＤＮＳクライアント装置を一意に識別するためのクライアントアドレスを前記ＤＮＳクエリ要求に含めて送信するＤＮＳクエリ要求送信工程と、前記ＤＮＳサーバ装置が、前記キャッシュサーバ装置からＤＮＳクエリ要求を受信した場合に、当該ＤＮＳクエリ要求に含まれる前記クライアントアドレスに基づいて、当該ＤＮＳクエリ要求に対する応答を制御するＤＮＳクエリ応答制御工程と、を含んだことを特徴とする。
【００２２】
また、請求項１３に係る発明は、ＤＮＳクライアント装置から送信されたＤＮＳクエリ要求をキャッシュサーバ装置経由で受信して制御するＤＮＳクエリ要求制御方法をコンピュータに実行させるＤＮＳクエリ要求制御プログラムであって、前記ＤＮＳクライアント装置を一意に識別するためのクライアントアドレスを含んだＤＮＳクエリ要求を前記キャッシュサーバ装置から受信するＤＮＳクエリ要求受信手順と、前記キャッシュサーバ装置からＤＮＳクエリ要求を受信した場合に、当該ＤＮＳクエリ要求に含まれる前記クライアントアドレスに基づいて、当該ＤＮＳクエリ要求に対する応答を制御するＤＮＳクエリ応答制御手順と、をコンピュータに実行させることを特徴とする。
【００２３】
また、請求項１４に係る発明は、ＤＮＳクライアント装置とＤＮＳサーバ装置との間でＤＮＳクエリ要求を制御するＤＮＳクエリ要求制御方法をコンピュータに実行させるＤＮＳクエリ要求制御プログラムであって、前記ＤＮＳクライアント装置から受信したＤＮＳクエリ要求を前記ＤＮＳサーバ装置に送信する場合に、前記ＤＮＳクライアント装置を識別するためのクライアントアドレスを前記ＤＮＳクエリ要求に含めて送信するＤＮＳクエリ要求送信手順をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２４】
請求項１または１２の発明によれば、キャッシュサーバ装置は、ＤＮＳクライアント装置から受信したＤＮＳクエリ要求をＤＮＳサーバ装置に送信する場合に、ＤＮＳクライアント装置を識別するためのクライアントアドレス（クライアントＩＰアドレス）をＤＮＳクエリ要求に含めて送信し、ＤＮＳサーバ装置は、キャッシュサーバ装置からＤＮＳクエリ要求を受信した場合に、ＤＮＳクエリ要求に含まれるクライアントアドレスに基づいてＤＮＳクエリ要求に対する応答を制御するので、ＤＮＳクライアント装置との間にキャッシュサーバ装置を介するＤＮＳサーバ装置であっても、ＤＮＳクエリ要求に対する応答をＤＮＳクライアント装置ごとに制御することが可能である。そして、これによって、サブネットの管理者がサブネット内に不正ユーザ用のキャッシュサーバ装置を設置する必要がなくなる結果、設備コストを抑制することが可能であり、また、サブネット内のユーザ全てではなく、不正ユーザからのＤＮＳクエリ要求のみを拒否することができる結果、ネットワーク全体のセキュリティを高めることが可能である。
【００２５】
また、請求項２の発明によれば、キャッシュサーバ装置は、ＤＮＳクエリ要求の追加部分にクライアントアドレスを含めて送信するので、例えば、ＲＦＣ１０３４で標準化されているＤＮＳクエリ追加部にクライアントアドレスを追加記述してＤＮＳクエリ要求を送信することで、クライアントアドレスに基づいた応答制御が不可能なＤＮＳサーバ装置であっても、不正フォーマットのＤＮＳクエリ要求を受信したことにはならず、ＤＮＳクエリ追加部を無視してキャッシュサーバ装置のＩＰアドレス等に基づいて応答制御することができる結果、キャッシュサーバ装置では、ＤＮＳクエリ要求の送信先であるＤＮＳサーバ装置がクライアントアドレスごとの応答制御を行うか否かを認識する必要がなく、クライアントアドレスに基づいた応答制御を行うＤＮＳサーバ装置とクライアントアドレスに基づいた応答制御を行わないＤＮＳサーバ装置とを共存させることが可能である。
【００２６】
また、請求項３の発明によれば、キャッシュサーバ装置は、クライアントアドレスを含んだＤＮＳクエリ要求について応答可能なＤＮＳサーバ装置を識別するための情報（例えば、ＩＰアドレスまたはホスト名）を記憶しておき、クライアントアドレスを含んだＤＮＳクエリ要求について応答可能なＤＮＳサーバ装置に対してのみ、クライアントアドレスを含んだＤＮＳクエリ要求を送信するので、キャッシュサーバ装置では、クライアントアドレスに基づいた応答制御が不可能なＤＮＳサーバ装置に対して無駄にクライアントアドレスを送信することがない結果、送信するＤＮＳクエリ要求の情報量を抑制することが可能である。
【００２７】
また、請求項４の発明によれば、キャッシュサーバ装置は、ＤＮＳサーバ装置を識別するための情報の他に、クライアントアドレスを含んだＤＮＳクエリ要求の送信対象とすべきＤＮＳクライアント装置を識別するための情報（例えば、クライアントアドレス、ネットワークアドレス）をさらに記憶しておき、クライアントアドレスを含んだＤＮＳクエリ要求の送信対象とすべきＤＮＳクライアント装置からＤＮＳクエリ要求を受信した場合にのみ、当該クライアントアドレスを含んだＤＮＳクエリ要求を送信するので、キャッシュサーバ装置では、ＤＮＳクライアント装置ごとにＤＮＳクエリ要求にクライアントアドレスを含めるかどうかを制御することも可能である。
【００２８】
また、請求項５の発明によれば、ＤＮＳサーバ装置は、クライアントアドレスを含んだＤＮＳクエリ要求の送信が許可されているキャッシュサーバ装置を識別するための情報（例えば、キャッシュサーバ装置のＩＰアドレス）を記憶しておき、ＤＮＳクエリ要求の送信元であるキャッシュサーバ装置についてクライアントアドレスを含んだＤＮＳクエリ要求の送信が許可されている場合にのみ、クライアントアドレスに基づいてＤＮＳクエリ要求に対する応答を制御するので、ＤＮＳサーバ装置では、クライアントアドレスを含んだＤＮＳクエリ要求の送信が許可されていないキャッシュサーバ装置からクライアントアドレスを含んだＤＮＳクエリ要求を受信した場合でも、クライアントアドレスを無視してキャッシュサーバ装置のＩＰアドレス等に基づいて応答制御することができる結果、クライアントアドレスの部分を詐称しているおそれがあるＤＮＳクエリ要求に対してキャッシュサーバ装置単位（サブネット単位）で応答制御することが可能である。
【００２９】
また、請求項６の発明によれば、ＤＮＳサーバ装置は、クライアントアドレスに対応付けて、ＤＮＳクエリ要求に対する応答制御内容として、無応答、拒否応答、リソースレコードのいずれか一つを記憶しておき、ＤＮＳクエリ要求に含まれるクライアントアドレスに対応付けられた応答制御内容を検索し、無応答、拒否応答、リソースレコード応答のいずれか一つを行うので、ＤＮＳサーバ装置では、クライアントアドレスに応じて、無応答、拒否応答、リソースレコード応答（例えば、全クライアント向けに用意された一つのリソースレコード、クライアントアドレスごとに用意されたリソースレコード、国ごとに用意されたリソースレコード、社内外ごとに用意されたリソースレコードなどの応答）のいずれか一つを行うという多様な応答制御を実現することが可能である。
【００３０】
また、請求項７の発明によれば、キャッシュサーバ装置は、ＤＮＳサーバ装置からＤＮＳクエリ応答として受信したリソースレコードのうち、クライアントアドレスを含めて送信されたＤＮＳクエリ要求に対する応答として受信したリソースレコードを除き、クライアントアドレスを含めることなく送信されたＤＮＳクエリ要求に対する応答として受信したリソースレコードのみを記憶しおき、ＤＮＳクライアント装置から受信したＤＮＳクエリ要求に対応するリソースレコードが記憶されていない場合にのみ、ＤＮＳクエリ要求をＤＮＳサーバ装置に送信するので、キャッシュサーバ装置では、ＤＮＳサーバ装置においてクライアントアドレスに基づいた応答制御が行われるべきＤＮＳクエリ要求をＤＮＳサーバ装置に必ず送信することとなり、不正ユーザからのＤＮＳクエリ要求に対してキャッシュサーバ装置で応答してしまう事態を回避することができる結果、ネットワーク全体のセキュリティを高めることが可能である。
【００３１】
また、請求項８の発明によれば、キャッシュサーバ装置は、ＤＮＳサーバ装置からＤＮＳクエリ応答として受信したリソースレコードのうち、クライアントアドレスを含めて送信されたＤＮＳクエリ要求に対する応答として受信したリソースレコードについては、当該リソースレコードにクライアントアドレスを対応付けて記憶しておき、ＤＮＳクライアント装置から受信したＤＮＳクエリ要求に対応するリソースレコードと当該ＤＮＳクライアント装置のクライアントアドレスとが対応付けて記憶されていない場合に、ＤＮＳクエリ要求をＤＮＳサーバ装置に送信するので、キャッシュサーバ装置では、ＤＮＳサーバ装置においてクライアントアドレスに基づいた応答制御が未だ行われていないＤＮＳクエリ要求については、ＤＮＳサーバ装置にＤＮＳクエリ要求を必ず送信することとなり、不正ユーザからのＤＮＳクエリ要求に対してキャッシュサーバ装置で応答してしまう事態を回避することができる結果、ネットワーク全体のセキュリティを高めることが可能である。また、キャッシュサーバ装置では、ＤＮＳサーバ装置においてクライアントアドレスに基づいた応答制御が過去に行われているＤＮＳクエリ要求については、ＤＮＳサーバ装置に改めてＤＮＳクエリ要求を送信することなく、自ら過去に行われた通りにＤＮＳクエリ応答を行うことができる結果、ＤＮＳクエリ応答の迅速化を図ることが可能である。
【００３２】
また、請求項９の発明によれば、ＤＮＳサーバ装置は、クライアントアドレスに対応付けて、システム単位および／またはゾーン単位ごとにＤＮＳクエリ要求に対する応答制御内容を記憶するとともに、ドメイン単位ごとにＤＮＳクエリ要求に対する応答制御内容を記憶しておき、システム単位および／またはゾーン単位、並びに、ドメイン単位で、ＤＮＳクエリ要求に含まれるクライアントアドレスに対応付けられた応答制御内容を検索し、当該検索した応答制御内容に基づいてＤＮＳクエリ要求に対する応答を制御するので、ＤＮＳサーバ装置では、ＤＮＳクエリ要求に対して、システム単位および／またはゾーン単位による応答制御と、ドメイン単位による応答制御とを組み合わせて適用することができる結果、システム単位やゾーン単位による簡易かつ迅速な応答制御とともに、ドメイン単位による細かな応答制御をクライアントアドレスごとに実現することが可能である。
【００３３】
また、請求項１０または１３の発明によれば、ＤＮＳサーバ装置は、ＤＮＳクライアント装置を識別するためのクライアントアドレス（クライアントＩＰアドレス）を含んだＤＮＳクエリ要求をキャッシュサーバ装置から受信し、ＤＮＳクエリ要求に含まれるクライアントアドレスに基づいてＤＮＳクエリ要求に対する応答を制御するので、ＤＮＳクライアント装置との間にキャッシュサーバ装置を介するＤＮＳサーバ装置であっても、ＤＮＳクエリ要求に対する応答をＤＮＳクライアント装置ごとに制御することが可能である。そして、これによって、サブネットの管理者がサブネット内に不正ユーザ用のキャッシュサーバ装置を設置する必要がなくなる結果、設備コストを抑制することが可能であり、また、サブネット内のユーザ全てではなく、不正ユーザからのＤＮＳクエリ要求のみを拒否することができる結果、ネットワーク全体のセキュリティを高めることが可能である。
【００３４】
また、請求項１１または１４の発明によれば、キャッシュサーバ装置は、ＤＮＳクライアント装置から受信したＤＮＳクエリ要求をＤＮＳサーバ装置に送信する場合に、ＤＮＳクライアント装置を識別するためのクライアントアドレス（クライアントＩＰアドレス）をＤＮＳクエリ要求に含めて送信するので、ＤＮＳサーバ装置では、キャッシュサーバ装置からＤＮＳクエリ要求を受信した場合に、ＤＮＳクエリ要求に含まれるクライアントアドレスに基づいてＤＮＳクエリ要求に対する応答を制御することでき、これによって、ＤＮＳクライアント装置との間にキャッシュサーバ装置を介するＤＮＳサーバ装置であっても、ＤＮＳクエリ要求に対する応答をＤＮＳクライアント装置ごとに制御することが可能である。そして、これによって、サブネットの管理者がサブネット内に不正ユーザ用のキャッシュサーバ装置を設置する必要がなくなる結果、設備コストを抑制することが可能であり、また、サブネット内のユーザ全てではなく、不正ユーザからのＤＮＳクエリ要求のみを拒否することができる結果、ネットワーク全体のセキュリティを高めることが可能である。
【発明を実施するための最良の形態】
【００３５】
以下に添付図面を参照して、この発明に係るＤＮＳサーバクライアントシステム、ＤＮＳサーバ装置、キャッシュサーバ装置、ＤＮＳクエリ要求制御方法およびＤＮＳクエリ要求制御プログラムの実施例を詳細に説明する。
【実施例１】
【００３６】
以下では、実施例１に係るＤＮＳシステムの概要および特徴を説明した後に、実施例１におけるキャッシュサーバの構成、権威サーバの構成、実施例１によるクエリ要求制御処理の流れを説明し、最後に、実施例１による効果を説明する。なお、以下の実施例に登場する「ＤＮＳシステム」は、特許請求の範囲に記載の「ＤＮＳクライアントサーバシステム」に対応し、「ＤＮＳクライアント」は同じく「ＤＮＳクライアント装置」に対応し、「キャッシュサーバ」は同じく「キャッシュサーバ装置」に対応し、「権威サーバ」は同じく「ＤＮＳサーバ装置」に対応する。
【００３７】
［ＤＮＳシステムの概要および特徴］
最初に、図１を用いて、実施例１に係るＤＮＳシステムの概要および特徴を説明する。図１は、実施例１に係るＤＮＳシステムの全体構成を示すシステム構成図である。
【００３８】
図１に示すように、実施例１に係るＤＮＳシステムは、インターネットに複数の権威サーバ３０と複数のサブネットとが接続され、また、各サブネットにＤＮＳのフルサービスリゾルバとしてのキャッシュサーバ２０が設置され、さらに、各サブネット内に複数のＤＮＳクライアント１０が配置されて構成される。
【００３９】
かかるＤＮＳシステムおいて、各権威サーバ３０は、ホスト名とＩＰアドレスとを対応付けた変換表（リソースレコードファイル）を管理している。そして、サブネット内のＤＮＳクライアント１０からクエリ要求が発信されると、このクエリ要求を受信したキャッシュサーバ２０は、任意のドメインを管理する権威サーバ３０に対してクエリ要求を送信する。ここで、ＤＮＳクライアント１０からキャッシュサーバ２０に対して送信されるクエリ要求の発ＩＰアドレス（ソースＩＰ）は、ＤＮＳクライアント１０のＩＰアドレス（クライアントＩＰ）であり、一方、キャッシュサーバ２０から権威サーバ３０に対して送信されるクエリ要求の発ＩＰアドレス（ソースＩＰ）は、キャッシュサーバ２０のＩＰアドレス（キャッシュサーバＩＰ）である。
【００４０】
一方、かかるクエリ要求を受信した権威サーバ３０は、クエリ要求に対応したリソースレコードをクエリ応答としてキャッシュサーバ２０に送信したり、クエリ要求の発ＩＰアドレスに基づいて不正ユーザからのクエリ要求を拒否するなど、クエリ要求に対するクエリ応答を制御する。ここで、実施例１に係るＤＮＳシステムは、かかるクエリ要求制御処理に主たる特徴があり、以下に説明するように、ＤＮＳクライアント１０との間にキャッシュサーバ２０を介する権威サーバ３０であっても、ＤＮＳクエリ要求に対する応答をＤＮＳクライアント１０ごとに制御することができるようにしている。
【００４１】
この主たる特徴を具体的に説明すると、図１において、権威サーバ３０は、応答を拒否するキャッシュサーバ２０のＩＰアドレス（キャッシュサーバＩＰ）だけでなく、応答を拒否するＤＮＳクライアント１０のＩＰアドレス（クライアントＩＰ）が列挙されたアクセスコントロールリスト（例えば、実施例１では、システム単位の拒否応答リスト）を管理している。そして、キャッシュサーバ２０は、ＤＮＳクライアント１０から受信したクエリ要求を権威サーバ３０に送信する場合に、ＤＮＳクライアント１０のクライアントＩＰをクエリ要求の追加部に含めて送信する。
【００４２】
一方、権威サーバ３０は、キャッシュサーバ２０からクエリ要求を受信した場合に、クエリ要求の追加部に含まれるクライアントＩＰに基づいて、ＤＮＳクエリ要求に対する応答を制御する。具体的には、権威サーバ３０は、クライアントＩＰに基づいてアクセスコントロールを参照し、そのクライアントＩＰが応答拒否として規定されている場合には、拒否応答をクエリ応答としてキャッシュサーバ２０に送信し、これを受信したキャッシュサーバ２０は、クエリ要求を発信したＤＮＳクライアント１０に対して拒否応答のクエリ応答を送信する（例えば、図１に示すＤＮＳクライアントａ参照）。これとは反対に、クライアントＩＰがアクセスコントロールリストに応答拒否として規定されていない場合には、権威サーバ３０は、リソースレコードファイルからクエリ要求に対応するリソースレコードを検索し、検索結果としてのリソースレコードをクエリ応答としてキャッシュサーバ２０に送信し、これを受信したキャッシュサーバ２０は、クエリ要求を発信したＤＮＳクライアント１０に対してリソースレコードのクエリ応答を送信する（例えば、図１に示すＤＮＳクライアントｂ参照）。
【００４３】
このように、実施例１に係るＤＮＳシステムは、同じサブネット内に存在する各ＤＮＳクライアント１０に対して応答拒否もしくは正常応答を個々に行うことができ、上記した主たる特徴の如く、ＤＮＳクライアント１０との間にキャッシュサーバ２０を介する権威サーバ３０であっても、ＤＮＳクエリ要求に対する応答をＤＮＳクライアント１０ごとに制御することが可能である。そして、これによって、サブネットの管理者がサブネット内に不正ユーザ用のキャッシュサーバ２０を設置する必要がなくなる結果、設備コストを抑制することが可能であり、また、サブネット内のユーザ全てではなく、不正ユーザからのＤＮＳクエリ要求のみを拒否することができる結果、ネットワーク全体のセキュリティを高めることが可能である。
【００４４】
［キャッシュサーバの構成］
続いて、図２から図４を用いて、実施例１におけるキャッシュサーバ２０の構成を説明する。図２は、実施例１におけるキャッシュサーバの構成を示すブロック図であり、図３は、権威サーバリストに記憶される情報の例を示す図であり、図４は、クライアントＩＰが追加されたクエリ要求の例を示す図である。
【００４５】
実施例１におけるキャッシュサーバ２０は、図２に示すように、通信制御ＩＦ部２１と、記憶部２２と、制御部２３とを備えて構成される。このうち、通信制御ＩＦ部２１は、ＤＮＳクライアント１０や権威サーバ３０との間でやり取りする各種情報に関する通信を制御する手段であり、例えば、ＤＮＳクライアント１０からクエリ要求を受信し、権威サーバ３０にクエリ要求を送信し、権威サーバ３０からクエリ応答を受信し、ＤＮＳクライアント１０にクエリ応答を送信する。
【００４６】
記憶部２２は、制御部２３による各種処理に必要なデータおよびプログラムを格納する格納手段（記憶手段）であり、特に本発明に密接に関連するものとしては、図２に示すように、権威サーバリスト２２ａを備える。なお、権威サーバリスト２２ａは、特許請求の範囲に記載の「ＤＮＳサーバ情報記憶手段」に対応する。
【００４７】
かかる権威サーバリスト２２ａは、クライアントＩＰを含んだクエリ要求（以下、適宜「拡張クエリ」と記す）について応答可能な権威サーバ３０を識別するための情報、さらには、拡張クエリの送信対象とすべきＤＮＳクライアント１０を識別するための情報を記憶する手段であり、具体的には、図３に示すように、発端末ＩＰであるクライアントＩＰを通知可能な権威サーバのドメイン名や、発端末ＩＰであるクライアントＩＰの通知を許容するＤＮＳクライアント１０のＩＰアドレス（もしくはネットワークアドレス）を列挙して記憶する。
【００４８】
なお、キャッシュサーバ２０における記憶部２２は、通常ならば、権威サーバ３０からクエリ応答として受信したリソースレコードをキャッシュして記憶するものであるが、実施例１におけるキャッシュサーバ２０では、権威サーバ３０から受信したリソースレコードをキャッシュせず（いわゆる「ＴＴＬ＝０」が設定されており）、ＤＮＳクライアント１０から受信したクエリ要求を常に権威サーバ３０に送信するようにしており、これによって、常に権威サーバ３０においてクエリ要求に対する応答をＤＮＳクライアント１０ごとに制御できるようにしている。
【００４９】
制御部２３は、ＯＳ（Operating System）などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、図２に示すように、クエリ要求送信部２３ａと、クエリ応答送信部２３ｂとを備える。なお、クエリ要求送信部２３ａは、特許請求の範囲に記載の「ＤＮＳクエリ要求送信手段」に対応する。
【００５０】
かかる制御部２３のうち、クエリ要求送信部２３ａは、ＤＮＳクライアント１０からクエリ要求を受信して、かかるクエリ要求を権威サーバ３０に送信する処理部である。具体的には、クエリ要求送信部２３ａは、ＤＮＳクライアント１０からクエリ要求を受信すると、権威サーバリスト２２ａを参照して、クエリ要求の送信先となる権威サーバ３０が拡張クエリ（クライアントＩＰを含んだクエリ要求）を受信可能であるかを判定し、さらに、受信可能である場合には、クエリ要求の発信元であるＤＮＳクライアント１０が拡張クエリの送信対象であるかを判定する。
【００５１】
かかる判定によって、クエリ要求の送信先となる権威サーバ３０が拡張クエリを受信可能であり、かつ、クエリ要求の発信元であるＤＮＳクライアント１０が拡張クエリの送信対象である場合には、クエリ要求送信部２３ａは、図４に示すように、クエリ要求の発信元であるＤＮＳクライアント１０を識別するためのクライアントＩＰを、ＲＦＣ１０３４で標準化されているクエリ要求の追加部に設定し、ソースＩＰ（キャッシュサーバＩＰ）に加えてクライアントＩＰが追加された拡張クエリを権威サーバ３０に対して送信する。一方、クエリ要求の送信先となる権威サーバ３０が拡張クエリを受信可能でないか、クエリ要求の発信元であるＤＮＳクライアント１０が拡張クエリの送信対象でない場合には、クエリ要求送信部２３ａは、ソースＩＰ（キャッシュサーバＩＰ）のみが設定されたクエリ要求を権威サーバ３０に対して送信する。
【００５２】
クエリ応答送信部２３ｂは、権威サーバ３０からクエリ応答を受信して、かかるクエリ応答をＤＮＳクライアント１０に送信する処理部である。具体的には、権威サーバ３０からクエリ応答（応答拒否またはリソースレコード）を受信すると、クエリ要求を発信したＤＮＳクライアント１０に対して応答拒否またはリソースレコードのクエリ応答を送信する。なお、上記したように、実施例１におけるキャッシュサーバ２０では、権威サーバ３０からクエリ応答として受信したリソースレコードをキャッシュしないようにしている。
【００５３】
なお、上述してきたキャッシュサーバ２０は、既知のパーソナルコンピュータやワークステーションに、上記した各部の各機能を搭載することによって実現することもできる。
【００５４】
［権威サーバの構成］
続いて、図５および図６を用いて、実施例１における権威サーバ３０の構成を説明する。図５は、実施例１における権威サーバの構成を示すブロック図であり、図６は、アクセスコントロールリストに記憶される情報の例を示す図である。
【００５５】
実施例１における権威サーバ３０は、図５に示すように、通信制御ＩＦ部３１と、記憶部３２と、制御部３３とを備えて構成される。このうち、通信制御ＩＦ部３１は、キャッシュサーバ２０との間でやり取りする各種情報に関する通信を制御する手段であり、例えば、キャッシュサーバ２０からクエリ要求を受信し、キャッシュサーバ２０にクエリ応答を送信する。
【００５６】
記憶部３２は、制御部３３による各種処理に必要なデータおよびプログラムを格納する格納手段（記憶手段）であり、特に本発明に密接に関連するものとしては、図５に示すように、アクセスコントロールリスト３２ａと、リソースレコードファイル３２ｂとを備える。なお、アクセスコントロールリスト３２ａは、特許請求の範囲に記載の「応答制御内容記憶手段」に対応する。
【００５７】
かかるアクセスコントロールリスト３２ａは、クエリ要求の発ＩＰアドレスとなるクライアントＩＰやキャッシュサーバＩＰに対応付けて、クエリ要求に対する応答制御内容を記憶する手段であり、具体的には、図６に示すように、クエリ要求に対して無応答となるクライアントＩＰやキャッシュサーバＩＰ、クエリ要求に対して拒否応答を行うクライアントＩＰやキャッシュサーバＩＰを列挙して記憶する。また、リソースレコードファイル３２ｂは、ホスト名（ドメイン名）とＩＰアドレス（リソースレコード）とを対応付けて記憶する手段である。
【００５８】
制御部３３は、ＯＳ（Operating System）などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、図５に示すように、クエリ応答制御部３３ａを備える。なお、クエリ応答制御部３３ａは、特許請求の範囲に記載の「ＤＮＳクエリ応答制御手段」に対応する。
【００５９】
かかるクエリ応答制御部３３ａは、キャッシュサーバ２０からクエリ要求を受信して、クエリ応答を制御する処理部である。具体的には、クエリ応答制御部３３ａは、キャッシュサーバ２０からクエリ要求を受信すると、クエリ要求の拡張部にクライアントＩＰが追加されているか（拡張クエリであるか）を判定し、拡張クエリである場合には、拡張部からクライアントＩＰを取得し、拡張クエリでない場合には、クエリ要求から通常通りキャッシュサーバＩＰ（ソースＩＰ）を取得する。
【００６０】
このようにしてＩＰアドレスを取得した後、クエリ応答制御部３３ａは、ＩＰアドレスに基づいてアクセスコントロールリスト３２ａを参照して応答制御内容を決定し、クエリ応答を行う。具体的に例を挙げて説明すると、上記で取得したＩＰアドレス（クライアントＩＰまたはキャッシュサーバＩＰ）に対応付けてアクセスコントロールリスト３２ａに「無応答」が規定されている場合には、無応答のクエリ応答を行い、また、取得したＩＰアドレス（クライアントＩＰまたはキャッシュサーバＩＰ）に対応付けてアクセスコントロールリスト３２ａに「拒否応答」が規定されている場合には、拒否応答のクエリ応答をキャッシュサーバ２０に対して送信し、さらに、取得したＩＰアドレス（クライアントＩＰまたはキャッシュサーバＩＰ）に対応付けて「無応答」や「拒否応答」が規定されていない場合には、リソースレコードファイル３２ｂからクエリ要求に対応するリソースレコードを検索し、検索結果としてのリソースレコードをクエリ応答としてキャッシュサーバ２０に送信する。
【００６１】
なお、上述してきた権威サーバ３０は、既知のパーソナルコンピュータやワークステーションに、上記した各部の各機能を搭載することによって実現することもできる。
【００６２】
［クエリ要求制御処理の流れ］
続いて、図７を用いて、実施例１によるクエリ要求制御処理の流れを説明する。図７は、実施例１によるクエリ要求制御処理の流れを示すフローチャートである。
【００６３】
図７に示すように、ＤＮＳクライアント１０からクエリ要求が送信され（ステップＳ７０１）、キャッシュサーバ２０からクエリ要求を受信すると、キャッシュサーバ２０では、権威サーバリスト２２ａを参照して、クエリ要求の送信先となる権威サーバ３０が拡張クエリ（クライアントＩＰを含んだクエリ要求）を受信可能であるかを判定し（ステップＳ７０２）、さらに、受信可能である場合には（ステップＳ７０２肯定）、クエリ要求の発信元であるＤＮＳクライアント１０が拡張クエリの送信対象であるかを判定する（ステップＳ７０３）。
【００６４】
かかる判定によって、クエリ要求の送信先となる権威サーバ３０が拡張クエリを受信可能であり（ステップＳ７０２肯定）、かつ、クエリ要求の発信元であるＤＮＳクライアント１０が拡張クエリの送信対象である場合には（ステップＳ７０３肯定）、キャッシュサーバ２０は、クエリ要求の発信元であるＤＮＳクライアント１０のクライアントＩＰをクエリ要求の追加部に設定し（ステップＳ７０４）、ソースＩＰ（キャッシュサーバＩＰ）に加えてクライアントＩＰが追加された拡張クエリを権威サーバ３０に対して送信する（ステップＳ７０５）。
【００６５】
一方、クエリ要求の送信先となる権威サーバ３０が拡張クエリを受信可能でないか（ステップＳ７０２否定）、クエリ要求の発信元であるＤＮＳクライアント１０が拡張クエリの送信対象でない場合には（ステップＳ７０３否定）、キャッシュサーバ２０は、ソースＩＰ（キャッシュサーバＩＰ）のみが設定されたクエリ要求を権威サーバ３０に対して送信する（ステップＳ７０５）。
【００６６】
このようにしてキャッシュサーバ２０から送信されたクエリ要求を受信した権威サーバ３０では、クエリ要求の拡張部にクライアントＩＰが追加されているか（拡張クエリであるか）を判定し（ステップＳ７０６）、拡張クエリである場合には（ステップＳ７０６肯定）、拡張部からクライアントＩＰを取得し（ステップＳ７０７）、拡張クエリでない場合には（ステップＳ７０６否定）、クエリ要求から通常通りキャッシュサーバＩＰ（ソースＩＰ）を取得する（ステップＳ７０８）。
【００６７】
このようにしてＩＰアドレスを取得した後、権威サーバ３０は、ＩＰアドレスに基づいてアクセスコントロールリスト３２ａを参照して応答制御内容を決定し（ステップＳ７０９）、クエリ応答を行う（ステップＳ７１０）。具体的に例を挙げて説明すると、上記で取得したＩＰアドレス（クライアントＩＰまたはキャッシュサーバＩＰ）に対応付けてアクセスコントロールリスト３２ａに「無応答」が規定されている場合には、無応答のクエリ応答を行い、また、取得したＩＰアドレス（クライアントＩＰまたはキャッシュサーバＩＰ）に対応付けてアクセスコントロールリスト３２ａに「拒否応答」が規定されている場合には、拒否応答のクエリ応答をキャッシュサーバ２０に対して送信し、さらに、取得したＩＰアドレス（クライアントＩＰまたはキャッシュサーバＩＰ）に対応付けて「無応答」や「拒否応答」が規定されていない場合には、リソースレコードファイル３２ｂからクエリ要求に対応するリソースレコードを検索し、検索結果としてのリソースレコードをクエリ応答としてキャッシュサーバ２０に送信する。
【００６８】
その後、キャッシュサーバ２０は、権威サーバ３０からクエリ応答（応答拒否またはリソースレコード）を受信すると、クエリ要求を発信したＤＮＳクライアント１０に対して応答拒否またはリソースレコードのクエリ応答を送信する（ステップＳ７１１）。
【００６９】
なお、クライアントＩＰに基づいた応答制御が不可能な権威サーバ３０が、上記の拡張クエリをキャッシュサーバ２０から受信した場合でも、かかる拡張クエリはＲＦＣ１０３４で標準化されているＤＮＳクエリ追加部に追加記述されたものであるので、不正フォーマットのクエリ要求を受信したことにはならず、追加部を無視してキャッシュサーバＩＰ（ソースＩＰ）に基づいて応答制御することになる。
【００７０】
［実施例１による効果］
上述してきたように、実施例１によれば、キャッシュサーバ２０は、ＤＮＳクライアント１０から受信したクエリ要求を権威サーバ３０に送信する場合に、ＤＮＳクライアント１０を識別するためのクライアントアドレス（クライアントＩＰ）をクエリ要求に含めて送信し、権威サーバ３０は、キャッシュサーバ２０からクエリ要求を受信した場合に、クエリ要求に含まれるクライアントＩＰに基づいてクエリ要求に対する応答を制御するので、ＤＮＳクライアント１０との間にキャッシュサーバ２０を介する権威サーバ３０であっても、クエリ要求に対する応答をＤＮＳクライアント１０ごとに制御することが可能である。そして、これによって、サブネットの管理者がサブネット内に不正ユーザ用のキャッシュサーバ２０を設置する必要がなくなる結果、設備コストを抑制することが可能であり、また、サブネット内のユーザ全てではなく、不正ユーザからのクエリ要求のみを拒否することができる結果、ネットワーク全体のセキュリティを高めることが可能である。
【００７１】
また、実施例１によれば、キャッシュサーバ２０は、クエリ要求の追加部分にクライアントＩＰを含めて送信するので、例えば、ＲＦＣ１０３４で標準化されているＤＮＳクエリ追加部にクライアントＩＰを追加記述してクエリ要求を送信することで、クライアントＩＰに基づいた応答制御が不可能な権威サーバ３０であっても、不正フォーマットのクエリ要求を受信したことにはならず、クエリ追加部を無視してキャッシュサーバ２０のＩＰアドレス等に基づいて応答制御することができる結果、キャッシュサーバ２０では、クエリ要求の送信先である権威サーバ３０がクライアントＩＰごとの応答制御を行うか否かを認識する必要がなく、クライアントＩＰに基づいた応答制御を行う権威サーバ３０とクライアントＩＰに基づいた応答制御を行わない権威サーバ３０とを共存させることが可能である。
【００７２】
また、実施例１によれば、キャッシュサーバ２０は、クライアントＩＰを含んだクエリ要求について応答可能な権威サーバ３０を識別するための情報（例えば、ＩＰアドレスまたはホスト名）を記憶しておき、クライアントＩＰを含んだクエリ要求について応答可能な権威サーバ３０に対してのみ、クライアントＩＰを含んだクエリ要求を送信するので、キャッシュサーバ２０では、クライアントＩＰに基づいた応答制御が不可能な権威サーバ３０に対して無駄にクライアントＩＰを送信することがない結果、送信するクエリ要求の情報量を抑制することが可能である。
【００７３】
また、実施例１によれば、キャッシュサーバ２０は、権威サーバ３０を識別するための情報の他に、クライアントＩＰを含んだクエリ要求の送信対象とすべきＤＮＳクライアント１０を識別するための情報（例えば、クライアントＩＰ、ネットワークアドレス）をさらに記憶しておき、クライアントＩＰを含んだクエリ要求の送信対象とすべきＤＮＳクライアント１０からクエリ要求を受信した場合にのみ、当該クライアントＩＰを含んだクエリ要求を送信するので、キャッシュサーバ２０では、ＤＮＳクライアント１０ごとにクエリ要求にクライアントＩＰを含めるかどうかを制御することも可能である。
【実施例２】
【００７４】
ところで、上記した実施例１では、権威サーバ３０において拡張クエリに含まれるクライアントＩＰをクエリ応答制御に常に用いる場合を説明したが、本発明はこれに限定されるものではなく、信頼性があるキャッシュサーバ２０から受信した拡張クエリに含まれるクライアントＩＰのみをクエリ応答制御に用いるようにしてもよい。
【００７５】
そこで、以下では、信頼性があるキャッシュサーバ２０から拡張クエリが送信されてきたかを判定した上でクエリ応答制御を行う場合を実施例２として説明する。ただし、実施例２に係るＤＮＳシステムは、基本的には、実施例１に係るＤＮＳシステムと同様の構成であり、権威サーバ３０が後述するキャッシュサーバ管理リストを新たに管理する点が異なるのみであるので、以下では、図８を用いて、かかるキャッシュサーバ管理リストを説明した後に、図９を用いて、実施例２における権威サーバによるクエリ応答処理の流れを説明する。なお、図８は、実施例２における権威サーバが有するキャッシュサーバ管理リストに記憶される情報の例を示す図であり、図９は、実施例２における権威サーバによるクエリ応答処理の流れを示すフローチャートである。
【００７６】
実施例２における権威サーバ３０の記憶部３２は、図８に示すようなキャッシュサーバ管理リストを備える。このキャッシュサーバ管理リストは、クライアントＩＰを含んだクエリ要求（拡張クエリ）の送信が許可されているキャッシュサーバ２０を識別するための情報を記憶した手段であり、具体的には、図８に示すように、拡張クエリの送信が許可されているキャッシュサーバ２０のキャッシュサーバＩＰを列挙して記憶する。なお、キャッシュサーバ管理リストは、特許請求の範囲に記載の「キャッシュサーバ情報記憶手段」に対応する。
【００７７】
そして、図９に示すように、キャッシュサーバ２０から送信されたクエリ要求を受信した権威サーバ３０では、クエリ要求の拡張部にクライアントＩＰが追加されているか（拡張クエリであるか）を判定し（ステップＳ９０１）、拡張クエリである場合には（ステップＳ９０１肯定）、さらに、クエリ要求のソースＩＰであるキャッシュサーバＩＰに基づいてキャッシュサーバ管理リストを参照し、拡張クエリの送信について許可されている信頼できるキャッシュサーバ２０が送信元であるかを判定する（ステップＳ９０２）。
【００７８】
その結果、拡張クエリの送信元が信頼できるキャッシュサーバ２０である場合には（ステップＳ９０２肯定）、権威サーバ３０は、クエリ要求の拡張部からクライアントＩＰを取得する（ステップＳ９０３）。その一方、拡張クエリの送信元が信頼できるキャッシュサーバ２０でない場合には（ステップＳ９０２否定）や、キャッシュサーバ２０から受信したクエリ要求が拡張クエリでない場合には（ステップＳ９０１否定）、権威サーバ３０は、クエリ要求から通常通りキャッシュサーバＩＰ（ソースＩＰ）を取得する（ステップＳ９０４）。
【００７９】
このようにしてＩＰアドレスを取得した後、権威サーバ３０は、上記した実施例１と同様、ＩＰアドレスに基づいてアクセスコントロールリスト３２ａを参照して応答制御内容を決定し（ステップＳ９０５）、クエリ応答を行う（ステップＳ９０６）。
【００８０】
上述してきたように、実施例２によれば、権威サーバ３０は、クライアントＩＰを含んだクエリ要求（拡張クエリ）の送信が許可されているキャッシュサーバ２０を識別するための情報（例えば、キャッシュサーバ２０のＩＰアドレス）を記憶しておき、クエリ要求の送信元であるキャッシュサーバ２０についてクライアントＩＰを含んだクエリ要求の送信が許可されている場合にのみ、クライアントＩＰに基づいてクエリ要求に対する応答を制御するので、権威サーバ３０では、クライアントＩＰを含んだクエリ要求の送信が許可されていないキャッシュサーバ２０からクライアントＩＰを含んだクエリ要求（拡張クエリ）を受信した場合でも、クライアントＩＰを無視してキャッシュサーバ２０のＩＰアドレス等に基づいて応答制御することができる結果、クライアントＩＰの部分を詐称しているおそれがあるクエリ要求に対してキャッシュサーバ２０単位（サブネット単位）で応答制御することが可能である。
【実施例３】
【００８１】
ところで、上記した実施例１では、キャッシュサーバ２０においてリソースレコードのクエリ応答をキャッシュしない場合を説明したが、本発明はこれに限定されるものではなく、キャッシュサーバ２０においてリソースレコードのクエリ応答をキャッシュするようにしてもよい。
【００８２】
そこで、以下では、キャッシュサーバ２０においてリソースレコードのクエリ応答をキャッシュする場合を実施例３として説明する。ただし、実施例３に係るＤＮＳシステムは、基本的には、実施例１に係るＤＮＳシステムと同様の構成であり、キャッシュサーバ２０によるクエリ要求送信処理およびクエリ応答送信処理が異なるのみであるので、以下では、図１０を用いて、実施例３におけるキャッシュサーバ２０によるクエリ応答送信処理の流れを説明した後に、図１１を用いて、実施例３におけるキャッシュサーバ２０によるクエリ要求送信処理の流れを説明する。なお、図１０は、実施例３におけるキャッシュサーバによるクエリ応答送信処理の流れを示すフローチャートであり、図１１は、実施例３におけるキャッシュサーバによるクエリ要求送信処理の流れを示すフローチャートである。
【００８３】
まずは、図１０を用いて、実施例３におけるキャッシュサーバ２０によるクエリ応答送信処理の流れを説明する。図１０に示すように、実施例３におけるキャッシュサーバ２０では、権威サーバ３０からリソースレコードのクエリ応答を受信すると（ステップＳ１００１肯定）、このクエリ応答が拡張クエリ（クエリ要求の拡張部にクライアントＩＰが追加されて権威サーバ３０に送信されたクエリ要求）に対するものであるかを判別する（ステップＳ１００２）。
【００８４】
ここで、このクエリ応答が拡張クエリに対するものでない場合には（ステップＳ１００２否定）、キャッシュサーバ２０は、クエリ応答のリソースレコードを記憶部２２にキャッシュした後に（ステップＳ１００３）、クエリ要求を発信したＤＮＳクライアント１０に対してリソースレコードのクエリ応答を送信する（ステップＳ１００４）。すなわち、拡張クエリに対するクエリ応答でないならば、そのリソースレコードはＤＮＳクライアント１０ごとに制御されるべき対象ではないので、これをキャッシュしてサブネット内の全ＤＮＳクライアント１０向けに利用してもセキュリティ上は問題ないと考えられるからである。
【００８５】
これとは反対に、クエリ応答が拡張クエリに対するものである場合には（ステップＳ１００２肯定）、キャッシュサーバ２０は、上記した実施例１と同様、クエリ応答のリソースレコードをキャッシュすることなく、クエリ要求を発信したＤＮＳクライアント１０に対してリソースレコードのクエリ応答を送信する（ステップＳ１００４）。すなわち、拡張クエリに対するクエリ応答であるならば、そのリソースレコードはＤＮＳクライアント１０ごとに制御されるべき対象であるので、これをキャッシュしてサブネット内で利用することはセキュリティ上も問題であると考えられるからである。
【００８６】
続いて、図１１を用いて、実施例３におけるキャッシュサーバによるクエリ要求送信処理の流れを説明する。図１１に示すように、ＤＮＳクライアント１０から送信されたクエリ要求を受信したキャッシュサーバ２０では、上記した実施例１と同様、権威サーバリスト２２ａを参照して、クエリ要求の送信先となる権威サーバ３０が拡張クエリ（クライアントＩＰを含んだクエリ要求）を受信可能であるかを判定し（ステップＳ１１０１）、さらに、受信可能である場合には（ステップＳ１１０１肯定）、クエリ要求の発信元であるＤＮＳクライアント１０が拡張クエリの送信対象であるかを判定する（ステップＳ１１０２）。
【００８７】
かかる判定によって、クエリ要求の送信先となる権威サーバ３０が拡張クエリを受信可能であり（ステップＳ１１０１肯定）、かつ、クエリ要求の発信元であるＤＮＳクライアント１０が拡張クエリの送信対象である場合には（ステップＳ１１０２肯定）、キャッシュサーバ２０は、上記した実施例１と同様、クエリ要求の発信元であるＤＮＳクライアント１０のクライアントＩＰをクエリ要求の追加部に設定し（ステップＳ１１０３）、ソースＩＰ（キャッシュサーバＩＰ）に加えてクライアントＩＰが追加された拡張クエリを権威サーバ３０に対して送信する（ステップＳ１１０４）。
【００８８】
一方、クエリ要求の送信先となる権威サーバ３０が拡張クエリを受信可能でないか（ステップＳ１１０１否定）、クエリ要求の発信元であるＤＮＳクライアント１０が拡張クエリの送信対象でない場合には（ステップＳ１１０２否定）、キャッシュサーバ２０は、クエリ要求に対応するリソースレコードが記憶部２２にキャッシュされているかを検索する（ステップＳ１１０５）。そして、クエリ要求に対応するリソースレコードが記憶部２２にキャッシュされている場合には（ステップＳ１１０５肯定）、キャッシュサーバ２０は、権威サーバ３０にクエリ要求を送信することなく、キャッシュからリソースレコードを取得し、かかるリソースレコードをクエリ応答としてＤＮＳクライアント１０に送信する（ステップＳ１１０６）。
【００８９】
これとは反対に、クエリ要求に対応するリソースレコードが記憶部２２にキャッシュされていない場合には（ステップＳ１１０５否定）、キャッシュサーバ２０は、上記した実施例１と同様、ソースＩＰ（キャッシュサーバＩＰ）のみが設定されたクエリ要求を権威サーバ３０に対して送信する（ステップＳ１１０４）。
【００９０】
上述してきたように、実施例３によれば、キャッシュサーバ２０は、権威サーバ３０からクエリ応答として受信したリソースレコードのうち、クライアントＩＰを含めて送信されたクエリ要求（拡張クエリ）に対する応答として受信したリソースレコードを除き、クライアントＩＰを含めることなく送信されたクエリ要求に対する応答として受信したリソースレコードのみを記憶しおき、ＤＮＳクライアント１０から受信したクエリ要求に対応するリソースレコードが記憶されていない場合にのみ、クエリ要求を権威サーバ３０に送信するので、キャッシュサーバ２０では、権威サーバ３０においてクライアントＩＰに基づいた応答制御が行われるべきクエリ要求を権威サーバ３０に必ず送信することとなり、不正ユーザからのクエリ要求に対してキャッシュサーバ２０で応答してしまう事態を回避することができる結果、ネットワーク全体のセキュリティを高めることが可能である。
【実施例４】
【００９１】
ところで、上記した実施例３では、拡張クエリ（クライアントＩＰを含めて送信されたクエリ要求）に対する応答として受信したリソースレコードはキャッシュしない場合を説明したが、本発明はこれに限定されるものではなく、拡張クエリに対する応答として受信したリソースレコードについては、クライアントＩＰを対応付けてキャッシュするようにしてもよい。
【００９２】
そこで、以下では、拡張クエリに対する応答として受信したリソースレコードについて、クライアントＩＰを対応付けてキャッシュする場合を実施例４として説明する。ただし、実施例４におけるキャッシュサーバ２０は、基本的には、実施例３におけるキャッシュサーバ２０と同様であり、クエリ要求送信処理およびクエリ応答送信処理が僅かに異なるのみであるので、以下では、図１２を用いて、実施例４におけるキャッシュサーバ２０によるクエリ応答送信処理の流れを説明した後に、図１３を用いて、実施例４におけるキャッシュサーバ２０によるクエリ要求送信処理の流れを説明する。なお、図１２は、実施例４におけるキャッシュサーバによるクエリ応答送信処理の流れを示すフローチャートであり、図１３は、実施例４におけるキャッシュサーバによるクエリ要求送信処理の流れを示すフローチャートである。
【００９３】
まずは、図１２を用いて、実施例４におけるキャッシュサーバ２０によるクエリ応答送信処理の流れを説明する。図１２に示すように、実施例４におけるキャッシュサーバ２０では、権威サーバ３０からリソースレコードのクエリ応答を受信すると（ステップＳ１２０１肯定）、このクエリ応答が拡張クエリ（クエリ要求の拡張部にクライアントＩＰが追加されて権威サーバ３０に送信されたクエリ要求）に対するものであるかを判別する（ステップＳ１２０２）。
【００９４】
ここで、このクエリ応答が拡張クエリに対するものでない場合には（ステップＳ１２０２否定）、キャッシュサーバ２０は、クエリ応答のリソースレコードを記憶部２２にキャッシュした後に（ステップＳ１２０４）、クエリ要求を発信したＤＮＳクライアント１０に対してリソースレコードのクエリ応答を送信する（ステップＳ１２０５）。すなわち、拡張クエリに対するクエリ応答でないならば、そのリソースレコードはＤＮＳクライアント１０ごとに制御されるべき対象ではないので、これをキャッシュしてサブネット内の全ＤＮＳクライアント１０向けに利用してもセキュリティ上は問題ないと考えられるからである。
【００９５】
これとは反対に、クエリ応答が拡張クエリに対するものである場合には（ステップＳ１２０２肯定）、キャッシュサーバ２０は、クエリ応答のリソースレコードをＤＮＳクライアント１０のクライアントＩＰに対応付けて記憶部２２にキャッシュした後に（ステップＳ１２０３）、クエリ要求を発信したＤＮＳクライアント１０に対してリソースレコードのクエリ応答を送信する（ステップＳ１２０５）。すなわち、拡張クエリに対するクエリ応答であるならば、そのリソースレコードはＤＮＳクライアント１０ごとに制御されるべき対象であるので、これをキャッシュしてサブネット内で全ＤＮＳクライアント１０向けに利用することはセキュリティ上も問題であるが、これをキャッシュして同一のＤＮＳクライアント１０限定で利用することはセキュリティ上も問題ないと考えられるからである。
【００９６】
続いて、図１３を用いて、実施例４におけるキャッシュサーバによるクエリ要求送信処理の流れを説明する。図１３に示すように、ＤＮＳクライアント１０から送信されたクエリ要求を受信したキャッシュサーバ２０では、上記した実施例１と同様、権威サーバリスト２２ａを参照して、クエリ要求の送信先となる権威サーバ３０が拡張クエリ（クライアントＩＰを含んだクエリ要求）を受信可能であるかを判定し（ステップＳ１３０１）、さらに、受信可能である場合には（ステップＳ１３０１肯定）、クエリ要求の発信元であるＤＮＳクライアント１０が拡張クエリの送信対象であるかを判定する（ステップＳ１３０２）。
【００９７】
かかる判定によって、クエリ要求の送信先となる権威サーバ３０が拡張クエリを受信可能であり（ステップＳ１３０１肯定）、かつ、クエリ要求の発信元であるＤＮＳクライアント１０が拡張クエリの送信対象である場合には（ステップＳ１３０２肯定）、キャッシュサーバ２０は、クエリ要求に対応するリソースレコードが記憶部２２にキャッシュされているかを検索し（ステップＳ１３０３）、クエリ要求に対応するリソースレコードが記憶部２２にキャッシュされている場合には（ステップＳ１３０３肯定）、ＤＮＳクライアント１０のクライアントＩＰに対応付けてキャッシュされているか（クエリ要求の発信元であるＤＮＳクライアント１０のクライアントＩＰと一致するか）をさらに判定する（ステップＳ１３０４）。
【００９８】
ここで、クエリ要求に対応するリソースレコードが記憶部２２にキャッシュされてないか（ステップＳ１３０３否定）、キャッシュされているが発信元が一致しない場合には（ステップＳ１３０４否定）、上記した実施例１と同様、クエリ要求の発信元であるＤＮＳクライアント１０のクライアントＩＰをクエリ要求の追加部に設定し（ステップＳ１３０５）、ソースＩＰ（キャッシュサーバＩＰ）に加えてクライアントＩＰが追加された拡張クエリを権威サーバ３０に対して送信する（ステップＳ１３０６）。
【００９９】
一方、クエリ要求に対応するリソースレコードが記憶部２２にキャッシュされており（ステップＳ１３０３肯定）、かつ、クエリ要求の発信元であるＤＮＳクライアント１０のクライアントＩＰと一致する場合には（ステップＳ１３０４肯定）、キャッシュサーバ２０は、権威サーバ３０にクエリ要求を送信することなく、キャッシュからリソースレコードを取得し、かかるリソースレコードをクエリ応答としてＤＮＳクライアント１０に送信する（ステップＳ１３０８）。すなわち、クライアントＩＰに対応付けてキャッシュされたものであっても、クエリ要求元であるＤＮＳクライアント１０が同一であるならば、同一のＤＮＳクライアント１０限定で利用することはセキュリティ上も問題ないと考えられるからである。
【０１００】
上記のステップＳ１３０１およびＳ１３０２に戻ると、クエリ要求の送信先となる権威サーバ３０が拡張クエリを受信可能でないか（ステップＳ１３０１否定）、クエリ要求の発信元であるＤＮＳクライアント１０が拡張クエリの送信対象でない場合には（ステップＳ１３０２否定）、キャッシュサーバ２０は、クエリ要求に対応するリソースレコードが記憶部２２にキャッシュされているかを検索する（ステップＳ１３０７）。そして、クエリ要求に対応するリソースレコードが記憶部２２にキャッシュされている場合には（ステップＳ１３０７肯定）、キャッシュサーバ２０は、権威サーバ３０にクエリ要求を送信することなく、キャッシュからリソースレコードを取得し、かかるリソースレコードをクエリ応答としてＤＮＳクライアント１０に送信する（ステップＳ１３０８）。
【０１０１】
これとは反対に、クエリ要求に対応するリソースレコードが記憶部２２にキャッシュされていない場合には（ステップＳ１３０７否定）、キャッシュサーバ２０は、上記した実施例１と同様、ソースＩＰ（キャッシュサーバＩＰ）のみが設定されたクエリ要求を権威サーバ３０に対して送信する（ステップＳ１３０６）。
【０１０２】
上述してきたように、実施例４によれば、キャッシュサーバ２０は、権威サーバ３０からクエリ応答として受信したリソースレコードのうち、クライアントＩＰを含めて送信されたクエリ要求（拡張クエリ）に対する応答として受信したリソースレコードについては、当該リソースレコードにクライアントＩＰを対応付けて記憶しておき、ＤＮＳクライアント１０から受信したクエリ要求に対応するリソースレコードと当該ＤＮＳクライアント１０のクライアントＩＰとが対応付けて記憶されていない場合に、クエリ要求を権威サーバ３０に送信するので、キャッシュサーバ２０では、権威サーバ３０においてクライアントＩＰに基づいた応答制御が未だ行われていないクエリ要求については、権威サーバ３０にクエリ要求を必ず送信することとなり、不正ユーザからのクエリ要求に対してキャッシュサーバ２０で応答してしまう事態を回避することができる結果、ネットワーク全体のセキュリティを高めることが可能である。また、キャッシュサーバ２０では、権威サーバ３０においてクライアントＩＰに基づいた応答制御が過去に行われているクエリ要求については、権威サーバ３０に改めてクエリ要求を送信することなく、自ら過去に行われた通りにクエリ応答を行うことができる結果、ＤＮＳクエリ応答の迅速化を図ることが可能である。
【実施例５】
【０１０３】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例１から４以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例５として本発明に含まれる他の実施例を説明する。
【０１０４】
（１）クライアントＩＰの送信態様
例えば、上記の実施例では、クエリ要求の追加部分にクライアントＩＰを含めて送信する場合を説明したが、本発明はこれに限定されるものではなく、例えば、キャッシュサーバ２０は、クエリ要求にクライアントＩＰを別途添付して送信するなど、クライアントＩＰを何かしらの態様でクエリ要求とともに送信する場合であれば本発明を同様に適用することができる。
【０１０５】
（２）クライアントＩＰの送信条件
また、上記の実施例では、クエリ要求の送信先となる権威サーバ３０が拡張クエリを受信可能であり、かつ、クエリ要求の発信元であるＤＮＳクライアント１０が拡張クエリの送信対象であることを条件に、クエリ要求にクライアントＩＰを含めて送信する場合を説明したが、本発明はこれに限定されるものではなく、例えば、キャッシュサーバ２０は、クエリ要求の送信先となる権威サーバ３０が拡張クエリを受信可能であることのみを条件にしてもよく、また、クエリ要求の発信元であるＤＮＳクライアント１０が拡張クエリの送信対象であることのみを条件にしてもよく、さらには、常に（無条件で）クエリ要求にクライアントＩＰを含めて送信するようにしてもよい。
【０１０６】
（３）ＩＰアドレスごとに異なるリソースレコード
また、上記の実施例では、ＩＰアドレス（クライアントＩＰまたはキャッシュサーバＩＰ）に対応付けて「無応答」や「拒否応答」がアクセスコントロールリスト３２ａに規定されていなければ、リソースレコードファイル３２ｂからクエリ要求に対応するリソースレコードを検索してクエリ応答する場合を説明したが、本発明はこれに限定されるものではなく、例えば、権威サーバ３０は、ＩＰアドレス（クライアントＩＰまたはキャッシュサーバＩＰ）ごとに異なるリソースレコードを記憶しておき、クエリ要求の発ＩＰアドレスに基づいて異なるリソースレコードをクエリ応答するようにしてもよい。
【０１０７】
このように、権威サーバ３０は、クライアントＩＰに対応付けて、クエリ要求に対する応答制御内容として、無応答、拒否応答、リソースレコードのいずれか一つを記憶しておき、クエリ要求に含まれるクライアントＩＰに対応付けられた応答制御内容を検索し、無応答、拒否応答、リソースレコード応答のいずれか一つを行うようにすれば、権威サーバ３０では、クライアントＩＰに応じて、無応答、拒否応答、リソースレコード応答（例えば、全クライアント向けに用意された一つのリソースレコード、クライアントＩＰごとに用意されたリソースレコード、国ごとに用意されたリソースレコード、社内外ごとに用意されたリソースレコードなどの応答）のいずれか一つを行うという多様な応答制御を実現することが可能である。
【０１０８】
（４）システム単位、ゾーン単位、ドメイン単位
また、上記の実施例では、システム単位（クライアントＩＰごと、キャッシュサーバＩＰごと）でクエリ応答を制御する場合を説明したが、本発明はこれに限定されるものではなく、例えば、権威サーバ３０では、ゾーン単位のアクセスコントロールリスト（図１４参照）、および、ドメイン単位のアクセスコントロールリスト（図１５参照）をさらに記憶しておき、システム単位および／またはゾーン単位、並びに、ドメイン単位で、クエリ応答を制御するようにしてもよい。なお、図１４は、他の実施例におけるアクセスコントロールリストに記憶される情報の例を示す図であり、図１５は、他の実施例におけるアクセスコントロールリストに記憶される情報の例を示す図である。
【０１０９】
つまり、例を挙げれば、権威サーバ３０では、クエリ要求に含まれるクライアントＩＰに基づいて、システム単位のアクセスコントロールリスト、ゾーン単位のアクセスコントロールリスト、ドメイン単位のアクセスコントロールリストを順に参照することで、クライアントＩＰに対応する応答制御内容を検索し、当該検索した応答制御内容に基づいてクエリ要求に対する応答を制御する。
【０１１０】
このように、権威サーバ３０は、クライアントＩＰに対応付けて、システム単位および／またはゾーン単位ごとにクエリ要求に対する応答制御内容を記憶するとともに、ドメイン単位ごとにクエリ要求に対する応答制御内容を記憶しておき、システム単位および／またはゾーン単位、並びに、ドメイン単位で、クエリ要求に含まれるクライアントＩＰに対応付けられた応答制御内容を検索し、当該検索した応答制御内容に基づいてクエリ要求に対する応答を制御するようにすれば、権威サーバ３０では、クエリ要求に対して、システム単位および／またはゾーン単位による応答制御と、ドメイン単位による応答制御とを組み合わせて適用することができる結果、システム単位やゾーン単位による簡易かつ迅速な応答制御とともに、ドメイン単位による細かな応答制御をクライアントＩＰごとに実現することが可能である。
【０１１１】
（５）ＥＮＵＭのＤＮＳ
また、上記の実施例では、インターネット上のホスト名（ドメイン名）とＩＰアドレスとを対応させるＤＮＳに本発明を適用した場合を説明したが、本発明はこれに限定されるものではなく、電話番号をネット上のアドレスやサービスに対応付けてアクセス手段として利用するＥＮＵＭのＤＮＳにも本発明を同様に適用することができる。
【０１１２】
（６）システム構成等
また、上記の実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報（特に、図３、図６、図８、図１４、図１５に示した情報）については、特記する場合を除いて任意に変更することができる。
【０１１３】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１１４】
なお、上記の実施例では、本発明を実現する各装置（例えば、キャッシュサーバ２０や権威サーバ３０）を機能面から説明したが、各装置の各機能はパーソナルコンピュータやワークステーションなどのコンピュータにプログラムを実行させることによって実現することもできる。すなわち、上記の実施例で説明した各種の処理手順は、あらかじめ用意されたプログラムをコンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。つまり、例を挙げれば、実施例１に示したようなキャッシュサーバ用プログラムや、権威サーバ用プログラムを格納したＣＤ−ＲＯＭ（装置ごとに別個のＣＤ−ＲＯＭであってもよい）を配布し、このＣＤ−ＲＯＭに格納されたプログラムを各コンピュータが読み出して実行するようにしてもよい。
【産業上の利用可能性】
【０１１５】
以上のように、本発明に係るＤＮＳサーバクライアントシステム、ＤＮＳサーバ装置、キャッシュサーバ装置、ＤＮＳクエリ要求制御方法およびＤＮＳクエリ要求制御プログラムは、ＤＮＳクライアント装置とＤＮＳサーバ装置との間にキャッシュサーバ装置を介する場合に有用であり、特に、ＤＮＳクエリ要求に対する応答をＤＮＳクライアント装置ごとに制御することに適する。
【図面の簡単な説明】
【０１１６】
【図１】実施例１に係るＤＮＳシステムの全体構成を示すシステム構成図である。
【図２】実施例１におけるキャッシュサーバの構成を示すブロック図である。
【図３】権威サーバリストに記憶される情報の例を示す図である。
【図４】クライアントＩＰが追加されたクエリ要求の例を示す図である。
【図５】実施例１における権威サーバの構成を示すブロック図である。
【図６】アクセスコントロールリストに記憶される情報の例を示す図である。
【図７】実施例１によるクエリ要求制御処理の流れを示すフローチャートである。
【図８】実施例２における権威サーバが有するキャッシュサーバ管理リストに記憶される情報の例を示す図である。
【図９】実施例２における権威サーバによるクエリ応答処理の流れを示すフローチャートである。
【図１０】実施例３におけるキャッシュサーバによるクエリ応答送信処理の流れを示すフローチャートである。
【図１１】実施例３におけるキャッシュサーバによるクエリ要求送信処理の流れを示すフローチャートである。
【図１２】実施例４におけるキャッシュサーバによるクエリ応答送信処理の流れを示すフローチャートである。
【図１３】実施例４におけるキャッシュサーバによるクエリ要求送信処理の流れを示すフローチャートである。
【図１４】他の実施例におけるアクセスコントロールリストに記憶される情報の例を示す図である。
【図１５】他の実施例におけるアクセスコントロールリストに記憶される情報の例を示す図である。
【図１６】従来技術に係るＤＮＳシステムを説明するための図である。
【符号の説明】
【０１１７】
１０  ＤＮＳクライアント
２０  キャッシュサーバ
２１  通信制御ＩＦ部
２２  記憶部
２２ａ  権威サーバリスト
２３  制御部
２３ａ  クエリ要求送信部
２３ｂ  クエリ応答送信部
３０  権威サーバ
３１  通信制御ＩＦ部
３２  記憶部
３２ａ  アクセスコントロールリスト
３２ｂ  リソースレコードファイル
３３  制御部
３３ａ  クエリ応答制御部
【図１】
2007243356.tif 000003
【図２】
2007243356.tif 000004
【図３】
2007243356.tif 000005
【図４】
2007243356.tif 000006
【図５】
2007243356.tif 000007
【図６】
2007243356.tif 000008
【図７】
2007243356.tif 000009
【図８】
2007243356.tif 000010
【図９】
2007243356.tif 000011
【図１０】
2007243356.tif 000012
【図１１】
2007243356.tif 000013
【図１２】
2007243356.tif 000014
【図１３】
2007243356.tif 000015
【図１４】
2007243356.tif 000016
【図１５】
2007243356.tif 000017
【図１６】
2007243356.tif 000018