JP6529139B2 - Dnsサーバ装置、方法、及びプログラム - Google Patents

Dnsサーバ装置、方法、及びプログラム Download PDF

Info

Publication number
JP6529139B2
JP6529139B2 JP2017190424A JP2017190424A JP6529139B2 JP 6529139 B2 JP6529139 B2 JP 6529139B2 JP 2017190424 A JP2017190424 A JP 2017190424A JP 2017190424 A JP2017190424 A JP 2017190424A JP 6529139 B2 JP6529139 B2 JP 6529139B2
Authority
JP
Japan
Prior art keywords
dns server
response
resource
server device
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017190424A
Other languages
English (en)
Other versions
JP2019068199A (ja
Inventor
徹哉 杉田
徹哉 杉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2017190424A priority Critical patent/JP6529139B2/ja
Publication of JP2019068199A publication Critical patent/JP2019068199A/ja
Application granted granted Critical
Publication of JP6529139B2 publication Critical patent/JP6529139B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明の実施形態は、DNSサーバ装置、方法、及びプログラムに関する。
ドメイン名(domain name)とIPアドレス(Internet Protocol Address)とを対応させる名前管理システム(DNS:Domain Name System)が知られている。名前管理システムは、権威DNSサーバ装置群とDNSサーバ装置とから構成される。
DNSサーバ装置は、クライアント装置が送信した名前解決の依頼(DNSクエリ要求)に応じて、権威DNSサーバ装置群に含まれる権威DNSサーバ装置に名前解決のための問い合わせ(再帰DNSクエリ要求)を行う。この問い合わせに応じて、権威DNSサーバ装置群に含まれる権威DNSサーバ装置は、回答データ(再帰DNSクエリ応答)を送信する。権威DNSサーバ装置が送信した再帰DNSクエリ応答を受信したDNSサーバ装置は、受信した再帰DNSクエリ応答を一次キャッシュに記憶する。
その後、クライアント装置が、そのドメイン名と同じドメイン名を解決するためのDNSクエリ要求を送信した場合について説明する。DNSサーバ装置は、そのDNSクエリ要求を受信し、受信したDNSクエリ要求に含まれるドメイン名が、一次キャッシュに記憶されているか否かを判定する。DNSサーバ装置は、DNSクエリ要求に含まれるドメイン名が、一次キャッシュに記憶されている場合、その一次キャッシュに、そのドメイン名と関連付けて記憶されているDNSクエリ応答を作成し、作成したDNSクエリ応答を、クライアント装置へ送信する。これによって、名前管理システムの処理負荷を低減することができる。
ここで、名前管理システムにおいて、ドメイン名の名前を解決できない場合には、そのドメイン名を、名前を解決できないドメイン名として、DNSサーバ装置の一次キャッシュに記憶する。そして、DNSサーバ装置は、他のDNSクエリ要求を受信した場合に、一次キャッシュを参照して、そのDNSクエリ要求に含まれるドメイン名が、名前を解決できないドメイン名と同一である場合には、名前を解決できないことを示す情報を返送する。このようにすることで、DNSサーバ装置が、権威DNSサーバ装置へ、名前を解決できないドメイン名の名前を解決するための問い合わせを行うことによる名前管理システムの負荷が生じないようにできる。
名前管理システムに関して、権威サーバ装置へのアクセスを低減する技術が知られている(例えば、特許文献1参照)。この技術によれば、ENUMキャッシュサーバ10は、クエリ要求を受信した場合に、ENUMデータ記憶部13aに記憶された電話番号ごとに、各レコードに対応するクエリ要求を受信した回数を計数する。そして、ENUMキャッシュサーバ10は、計数された回数が所定の回数を超えたレコードが存在する場合には、該レコードを記憶する期間を延長して、ENUMデータ記憶部13aに記憶させる。
特開2014−211758号公報
権威DNSサーバ装置がダウンした場合や、権威DNSサーバ装置がDNSサーバ装置からの接続要求を拒否した場合や、ネットワーク障害などにより無応答となる場合および該当の権威DNSサーバ装置に問い合わせたドメインが存在しなかった場合や、異常応答などによって、ドメイン名の名前を解決ができなかった場合を考える。この場合、その名前の解決ができなかったドメイン名によっては、多くのクライアント装置によって、そのドメイン名の名前を解決するための問い合わせが行われるため、DNSサーバ装置に過剰な負荷が発生することにより、多数のユーザのサービスへ影響が及ぶおそれがある。
本発明は、上記問題を解決すべくなされたもので、クライアント装置からDNSサーバ装置への名前解決問い合わせに対して、名前解決ができないことを低減することを第1の目的とする。
また、DNSサーバ装置への過剰な負荷を下げ、多数のユーザのサービスに悪影響を与えないようにすることを第2の目的とする。
(1)本発明の一態様は、クライアント装置と、権威DNSサーバ装置との間に設けられたDNSサーバ装置であって、前記クライアント装置が送信したDNSクエリ要求に基づき、前記権威DNSサーバ装置へ、資源を問い合わせる要求部と、前記要求部による前記資源の前記問い合わせに応じて、前記権威DNSサーバ装置へ名前を問い合わせた結果を記憶する一次キャッシュと、前記一次キャッシュに記憶された前記問い合わせた結果のうち、名前を解決できる情報であるポジティブキャッシュを記憶する二次キャッシュとを備え、前記要求部は、前記資源の前記問い合わせに対して、前記権威DNSサーバ装置が送信した応答が名前を解決できないことを示す場合に、前記二次キャッシュへ、前記資源を問い合わせる、DNSサーバ装置である。ここで、資源は、ドメイン名、IPアドレスやメールサーバ名などのRデータ、Type、クラス、有効生存期間(TTL)など少なくとも1つを含む。
(2)本発明の一態様は、上記(1)に記載のDNSサーバ装置において、前記二次キャッシュは、前記一次キャッシュがキャッシュする時間よりも長い時間、前記ポジティブキャッシュを記憶する、DNSサーバ装置である。
(3)本発明の一態様は、上記(1)又は上記(2)に記載のDNSサーバ装置において、前記資源の有効生存期間として、前記権威DNSサーバ装置で設定された有効生存期間と、前記二次キャッシュで設定された有効生存期間とのうち、短い有効生存期間を、前記クライアント装置に応答する応答部をさらに備える、DNSサーバ装置である。
(4)本発明の一態様は、上記(1)から上記(3)のいずれか一項に記載のDNSサーバ装置において、前記要求部は、前記資源の前記問い合わせに対して、前記権威DNSサーバ装置からの応答がない場合に、前記二次キャッシュへ、前記資源を問い合わせる、DNSサーバ装置である。
(5)本発明の一態様は、上記(1)から上記(4)のいずれか一項に記載のDNSサーバ装置において、前記要求部は、前記資源の前記問い合わせを行っている間に、前記DNSクエリ要求に含まれる名前、タイプ、クラスと、複数の前記クライアント装置の各々が送信したDNSクエリ要求に含まれる名前、タイプ、クラスとが一致する場合に、前記資源を、前記二次キャッシュから取得する、DNSサーバ装置である。
(6)本発明の一態様は、上記(1)から上記(5)のいずれか一項に記載のDNSサーバ装置において、前記権威DNSサーバ装置が送信した応答又は無応答であることに基づいて、クライアント装置が新たに送信したDNSクエリ要求に対して、前記権威DNSサーバ装置へ、資源を問い合わせるか否かを判定する判定部を備える、DNSサーバ装置である。
(7)本発明の一態様は、クライアント装置と、権威DNSサーバ装置との間に設けられたDNSサーバ装置が実行する方法であって、前記DNSサーバ装置は、前記クライアント装置が送信したDNSクエリ要求に基づき、前記権威DNSサーバ装置へ名前を問い合わせた結果を記憶する一次キャッシュと、前記一次キャッシュに記憶された前記問い合わせた結果のうち、名前を解決できる情報であるポジティブキャッシュを記憶する二次キャッシュとを備え、前記DNSサーバ装置が実行する方法は、前記クライアント装置が送信したDNSクエリ要求に基づき、前記権威DNSサーバ装置へ、資源を問い合わせるステップと、前記資源の前記問い合わせに対して、前記権威DNSサーバ装置が送信した応答又は無応答であることに基づき名前を解決できないことを示す場合に、二次キャッシュへ、前記資源を問い合わせるステップとを有する、方法である。
(8)本発明の一態様は、クライアント装置と、権威DNSサーバ装置との間に設けられ、前記クライアント装置が送信したDNSクエリ要求に基づき、前記権威DNSサーバ装置へ名前を問い合わせた結果を記憶する一次キャッシュと、前記一次キャッシュに記憶された前記問い合わせた結果のうち、名前を解決できる情報であるポジティブキャッシュを記憶する二次キャッシュとを備えたDNSサーバ装置のコンピュータに、前記クライアント装置が送信したDNSクエリ要求に基づき、前記権威DNSサーバ装置へ、資源を問い合わせるステップと、前記資源の前記問い合わせに対して、前記権威DNSサーバ装置が送信した応答又は無応答であることに基づき名前を解決できないことを示す場合に、前記二次キャッシュへ、前記資源を問い合わせるステップとを実行させる、プログラムである。
本発明の実施形態によれば、クライアント装置が送信した名前解決問い合わせに対して、名前解決ができないことを低減することができる。
また、DNSサーバ装置への過剰な負荷を下げ、多数のユーザのサービスに悪影響を与えないようにすることができる。
本実施形態に係る通信システムの一例を示す図である。 本実施形態に係る通信システムを構成する端末装置、DNSサーバ装置、権威DNSサーバ装置の一例を示す図である。 リソースレコードに記憶される情報の一例を示す図である。 本実施形態に係る通信システムの動作の一例(その1)を示すシーケンスチャートである。 本実施形態に係る通信システムの動作の一例(その2)を示すシーケンスチャートである。 本実施形態に係る通信システムの動作の一例(その3)を示すシーケンスチャートである。 本実施形態に係る通信システムの動作の一例(その4)を示すシーケンスチャートである。
次に、本実施形態に係るDNSサーバ装置、方法、及びプログラムを、図面を参照しつつ説明する。以下で説明する実施形態は一例に過ぎず、本発明が適用される実施形態は、以下の実施形態に限られない。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づく」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づく」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
(実施形態)
(通信システム)
図1は、本実施形態に係る通信システムの一例を示す図である。通信システム1は、端末装置100−1、端末装置100−2、・・・、端末装置100−N(Nは、N>0の整数)と、名前管理システム(DNS:Domain Name System)サーバ装置200と、権威DNSサーバ装置300とを備える。端末装置100−1、端末装置100−2、・・・、端末装置100−Nと、DNSサーバ装置200と、権威DNSサーバ装置300とは、インターネットなどのネットワーク50を介して接続される。
以下、端末装置100−1、端末装置100−2、・・・、端末装置100−Nのうち、任意の端末装置を、端末装置100と記載する。
端末装置100は、ユーザが利用するクライアント装置である。例えば、端末装置100は、ユーザによってドメイン名を示す情報が入力された場合に、入力されたドメイン名を示す情報を含み、そのドメイン名に対応するIPアドレスなどの資源を問い合わせる情報であるDNSクエリ要求を作成し、作成したDNSクエリ要求を、DNSサーバ装置200へ送信する。
DNSサーバ装置200は、端末装置100が送信したDNSクエリ要求を受信し、受信したDNSクエリ要求に含まれるドメイン名、type、クラスなどを示す情報を取得する。DNSサーバ装置200は、ドメイン名、type、クラスなどを示す情報と資源を示す情報とを関連付けて、一次キャッシュメモリに記憶している。DNSサーバ装置200は、取得したドメイン名を示す情報に関連付けて資源を示す情報が一次キャッシュメモリに記憶されているか否かを判定する。一次キャッシュメモリに、取得したドメイン名を示す情報に関連付けて、資源を示す情報が記憶されていない場合、DNSサーバ装置200は、再帰DNSクエリ要求を作成する。DNSサーバ装置200は、作成した再帰DNSクエリ要求を、権威DNSサーバ装置300へ送信する。
権威DNSサーバ装置300は、例えば、ドメイン名を示す情報と資源を示す情報とを関連付けた変換表(リソースレコードファイル)を管理している。
権威DNSサーバ装置300は、DNSサーバ装置200が送信した再帰DNSクエリ要求を受信し、受信した再帰DNSクエリ要求に含まれるドメイン名を示す情報に関連付けて記憶されている資源を示す情報を、リソースレコードファイルを検索することによって取得する。権威DNSサーバ装置300は、検索結果を含む再帰DNSクエリ応答を、DNSサーバ装置200へ送信する。ここで、検索結果には、ドメイン名に関連付けて記憶されている資源を示す情報、又はドメイン名の名前を解決できないことを示す情報が含まれる。
DNSサーバ装置200は、権威DNSサーバ装置300が送信した再帰DNSクエリ応答を受信し、受信した再帰DNSクエリ応答に含まれる情報に基づいて、一次キャッシュメモリに記憶されている情報を更新する。
具体的には、DNSサーバ装置200は、受信した再帰DNSクエリ応答に、ドメイン名に関連付けて記憶されている資源を示す情報が含まれる場合には、そのドメイン名を示す情報と、その資源を示す情報とを関連付けて、一次キャッシュメモリに記憶する。また、DNSサーバ装置200は、再帰DNSクエリ応答に、ドメイン名の名前を解決できないことを示す情報が含まれる場合には、ドメイン名を示す情報と、そのドメイン名の名前を解決できないことを示す情報とを関連付けて、一次キャッシュメモリに記憶する。
また、DNSサーバ装置200は、例えば、ドメイン名を示す情報と資源を示す情報とを対応付けた変換表(リソースレコード)がキャッシュされた二次キャッシュメモリを備える。
DNSサーバ装置200は、一次キャッシュメモリにキャッシュした情報に基づいて、二次キャッシュメモリに記憶される情報を更新する。具体的には、DNSサーバ装置200は、一次キャッシュメモリを更新する際にキャッシュした情報のうち、ポジティブキャッシュを記憶する。ここで、ポジティブキャッシュとは、再帰DNSクエリ応答に、ドメイン名に関連付けられた資源を示す情報が含まれる場合に、一次キャッシュメモリに記憶されるそのドメイン名を示す情報と、その資源を示す情報とを関連付けた情報の内、名前解決が出来る情報である。DNSサーバ装置200は、ポジティブキャッシュを記憶する際に、二次キャッシュ特有のTTLを設定する。TTLについては、後述する。
DNSサーバ装置200は、端末装置100へ、DNSクエリ要求に対するDNSクエリ応答を送信する。DNSクエリ応答には、ドメイン名に関連付けられている資源を示す情報、及びドメイン名の名前を解決できないことを示す情報のいずれかが含まれる。
端末装置100は、DNSサーバ装置200が送信したDNSクエリ応答を受信する。端末装置100は、受信したDNSクエリ応答に含まれる情報に基づいて、資源を示す情報が含まれる場合には、その資源を示す情報に基づいて、サーバ装置(図示なし)と通信を行う。また、端末装置100は、受信したDNSクエリ応答に、ドメイン名の名前を解決できないことを示す情報が含まれる場合には、ドメイン名の名前を解決できないことを表した文字情報又は画像を表示する。
(通信システムの構成)
図2は、本実施形態に係る通信システムを構成する端末装置、DNSサーバ装置、権威DNSサーバ装置の一例を示す図である。以下、端末装置100、DNSサーバ装置200、権威DNSサーバ装置300について順次説明する。
(端末装置)
端末装置100は、通信部110と、記憶部120と、情報処理部130と、操作部140と、表示部160と、前記各構成要素を図2に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン150とを備える。
通信部110は、通信モジュールによって実現される。通信部110は、ネットワーク50を経由して、DNSサーバ装置200などの他の装置と通信を行う。通信部110は、DNSサーバ装置200へ、情報処理部130が出力したDNSクエリ要求を送信する。また、通信部110は、DNSサーバ装置200が送信したDNSクエリ応答を受信し、受信したDNSクエリ応答を、情報処理部130へ出力する。
記憶部120は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。記憶部120には、情報処理部130により実行されるプログラム122が記憶される。
情報処理部130の全部または一部は、例えば、CPU(Central Processing Unit)などのプロセッサが記憶部120に格納されたプログラム122を実行することにより実現される機能部(以下、ソフトウェア機能部と称する)である。なお、情報処理部130の全部または一部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。
情報処理部130は、例えば、処理部132と、作成部134とを備える。
処理部132は、ユーザが操作部140を操作することによってドメイン名を示す情報を入力した場合に、操作部140が出力するドメイン名を示す情報を取得する。操作部140は、取得したドメイン名を示す情報を、作成部134へ出力する。
また、処理部132は、通信部110が出力したDNSクエリ応答を取得し、取得したDNSクエリ応答に含まれる情報に基づいて、処理を行う。具体的には、処理部132は、取得したDNSクエリ応答に、資源を示す情報が含まれる場合には、その資源を示す情報に基づいて、サーバ装置(図示なし)へアクセスする。一方、処理部132は、取得したDNSクエリ応答に、ドメイン名の名前を解決できないことを示す情報が含まれる場合には、ドメイン名の名前を解決できないことを表す文字情報又は画像を作成し、作成した文字情報又は画像を、表示部160に出力する。
また、作成部134は、処理部132が出力したドメイン名を示す情報を含むDNSクエリ要求を作成する。作成部134は、作成したDNSクエリ要求を、通信部110へ出力する。
操作部140は、例えば、タッチパネルなどによって構成され、表示部160に表示される画面に対するタッチ操作を検出し、タッチ操作の検出結果を、情報処理部130へ出力する。タッチ操作には、ドメイン名を入力する操作などが含まれる。
表示部160は、処理部132が出力した文字情報又は画像を表示する。
(DNSサーバ装置)
DNSサーバ装置200は、通信部210と、記憶部220と、情報処理部230と、前記各構成要素を図2に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン250とを備える。
通信部210は、通信モジュールによって実現される。通信部210は、ネットワーク50を経由して、端末装置100、権威DNSサーバ装置300などの他の装置と通信を行う。
通信部210は、端末装置100が送信したDNSクエリ要求を受信し、受信したDNSクエリ要求を、情報処理部230へ出力する。通信部210は、情報処理部230が出力した再帰DNSクエリ要求を取得し、取得した再帰DNSクエリ要求を、権威DNSサーバ装置300へ、送信する。通信部210は、権威DNSサーバ装置300が送信した再帰DNSクエリ応答を受信し、受信した再帰DNSクエリ応答を、情報処理部230へ出力する。通信部210は、情報処理部230が出力したDNSクエリ応答を取得し、取得したDNSクエリ応答を、端末装置100へ、送信する。
記憶部220は、例えば、RAM、ROM、HDD、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。記憶部220には、情報処理部230により実行されるプログラム222が記憶される。
情報処理部230の全部または一部は、例えば、CPUなどのプロセッサが記憶部220に格納されたプログラム222を実行することにより実現されるソフトウェア機能部である。なお、情報処理部230の全部または一部は、LSI、ASIC、またはFPGAなどのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。
情報処理部230は、例えば、処理部232と、要求部234と、更新部236と、応答部238と、一次キャッシュメモリ240と、二次キャッシュメモリ242とを備える。
一次キャッシュメモリ240は、端末装置100が送信したDNSクエリ要求に基づいて、権威DNSサーバ装置300へ、ドメイン名の名前を解決することを問い合わせた結果を記憶する。具体的には、一次キャッシュメモリ240は、権威DNSサーバ装置300が記憶するリソースレコードの少なくとも一部の情報を記憶する。
図3は、リソースレコードに記憶される情報の一例を示す図である。リソースレコードは、図3に示すように、ドメイン名と、Rデータ、タイプ(Type)、クラス、TTLなどの資源とを関連付けて記憶する。
「ドメイン名」は、リソースレコードを定義しているドメイン名などのNAMEを示す情報である。「ドメイン名」は、端末装置100によって、名前の解決が要求されたドメイン名を示す。
「Rデータ」は、リソースレコードの資源の場所などを示す。「Rデータ」は、「ドメイン名」に該当する場所を示す。
「Type」は、リソースレコードのタイプを示す。具体的には、タイプには、A、AAAA、NS、CNAME,SOA、PTR、HINFO、MINFO、MX、TXTなどが含まれる。
「クラス」は、リソースレコードのクラスを示す。具体的には、クラスには、インターネット用を表す「1」が含まれる。
「TTL(Time to live)」は、一次キャッシュメモリ240に記憶される情報の有効生存期間を示す。「TTL」は、権威DNSサーバ装置300によって設定される。
図3に示される例では、ドメイン名「www.AAA.co.jp」と、Rデータ「192.0.2.1」と、Type「1」と、クラス「1」と、TTL「1980」とが関連付けて記憶されている。
図2に戻り、二次キャッシュメモリ242について説明する。二次キャッシュメモリ242に記憶される情報の一例は、一次キャッシュメモリ240に記憶される情報の少なくとも一部の情報を記憶する。
二次キャッシュメモリ242は、権威DNSサーバ装置300がドメイン名の名前を解決できた場合に、その権威DNSサーバ装置300が送信する再帰DNSクエリ応答に含まれるドメイン名と、資源を示す情報との組み合わせを記憶する。二次キャッシュメモリ242は、権威DNSサーバ装置300がドメイン名の名前を解決できなかった場合に、その権威DNSサーバ装置300が送信する再帰DNSクエリ応答に含まれるドメイン名と、ドメイン名の名前を解決できないことを示す情報との組み合わせ(ネガティブキャッシュ)は記憶しない。
また、二次キャッシュメモリ242は、一次キャッシュメモリ240がキャッシュする時間よりも長い時間、ポジティブキャッシュを記憶する。
また、二次キャッシュメモリ242は、記憶している情報を、TTLが満了しても消去しない。ここで、TTLは、二次キャッシュ特有のTTLである。ここで、二次キャッシュメモリ242のTTLは、クライアントが二次キャッシュの情報を長期間保持し続けないようにするため、五分等の短時間を設定する運用を想定する。二次キャッシュメモリ242は、記憶しているドメイン名と、資源を示す情報との関連付けの数が、予め設定されるキャッシュ数閾値を超える場合には、更新された時刻が古いものから消去する。
また、二次キャッシュメモリ242に記憶される情報は、DNSサーバ装置200がリスタートした際に消去してもよいし、リスタートしても消去されないようにしてもよい。
さらに、二次キャッシュメモリ242に記憶される情報は、他のDNSサーバ装置によって参照できるようにされる。このようにすることによって、他のDNSサーバ装置が送信したDNSクエリ要求を処理することができるとともに、二次キャッシュメモリ242を、他のDNSサーバ装置と共用できる。DNSサーバ装置200は、キャッシュヒット率によって性能が大きく異なる。ここで、DNSサーバ装置200を起動した際に、他のDNSサーバ装置との間で共用した二次キャッシュメモリ242から、一次キャッシュメモリ240に記憶する情報を生成するようにしてもよい。このように構成することによって、DNSサーバ装置を起動した直後からキャッシュヒット率が高くすることができる。
処理部232は、通信部210が出力したDNSクエリ要求を取得し、取得したDNSクエリ要求に含まれるドメイン名を示す情報を取得する。そして、処理部232は、取得したドメイン名を示す情報に関連付けて資源を示す情報が一次キャッシュメモリ240に記憶されているか否かを判定する。この場合、処理部232は、取得したドメイン名を示す情報に関連付けて資源を示す情報が一次キャッシュメモリ240に記憶されている場合には、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を、一次キャッシュメモリ240から取得する。
処理部232は、取得した資源を示す情報を含むDNSクエリ応答を作成し、作成したDNSクエリ応答を応答部238に出力し、応答部238は、通信部210へ出力する。
一方、処理部232は、取得したドメイン名を示す情報と関連付けて、一次キャッシュメモリ240にドメイン名の名前を解決できないことを示す情報が記憶されている場合には、一次キャッシュメモリ240からドメイン名の名前を解決できないとする情報を取得し、ドメイン名の名前を解決できないとするDNSクエリ応答を作成し、作成したDNSクエリ応答を応答部238に出力し、応答部238は通信部210へ出力する。
また、処理部232は、取得したドメイン名を示す情報に関連付けて資源を示す情報が一次キャッシュメモリ240に記憶されていない場合には、要求部234にDNSクエリ要求を出力し、要求部234は再帰DNSクエリ要求を作成し、通信部210へ出力する。
また、要求部234が作成した再帰DNSクエリ要求を通信部210へ出力してから時間閾値によって示される時間が経過する以前に、処理部232が、通信部210が出力した再帰DNSクエリ応答を取得した場合、処理部232は、取得した再帰DNSクエリ応答を、更新部236へ出力する。また再帰DNSクエリ応答からDNSクエリ応答を作成し、応答部238とへ出力する。
一方、処理部232は、要求部234が作成した再帰DNSクエリ要求を通信部210へ出力してから時間閾値が経過したことを示す情報を取得した場合、そのDNSクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報が二次キャッシュメモリ242に記憶されているか否かを判定する。
処理部232は、そのDNSクエリ要求に含まれるドメイン名に関連付けて資源を示す情報が二次キャッシュメモリ242に記憶されている場合には、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を、二次キャッシュメモリ242から取得する。処理部232は、取得した資源を示す情報を含むDNSクエリ応答を作成し、作成したDNSクエリ応答を、応答部238に出力し、応答部238は通信部210へ出力する。
一方、処理部232は、取得したドメイン名を示す情報に関連付けて資源を示す情報が、二次キャッシュメモリ242に記憶されていない場合には、ドメイン名の名前を解決できないことを示す情報を含むDNSクエリ応答を作成し、作成したDNSクエリ応答を、応答部238に出力し、応答部238は通信部210へ出力する。通信部210は、DNSクエリ要求を送信した端末装置100へDNSクエリ応答を送
信する。
更新部236は、処理部232が出力した再帰DNSクエリ応答を取得し、取得した再帰DNSクエリ応答に含まれる情報に基づいて、一次キャッシュメモリ240を更新する。具体的には、更新部236は、再帰DNSクエリ応答に、ドメイン名と、資源を示す情報とが含まれる場合には、そのドメイン名と、その資源を示す情報とを関連付けて、一次キャッシュメモリ240に記憶することによって更新する。一方、更新部236は、再帰DNSクエリ応答に、ドメイン名と、ドメイン名の名前を解決できないことを示す情報とが含まれる場合には、ドメイン名と関連付けて、ドメイン名の名前を解決できないことを示す情報とを関連付けて、一次キャッシュメモリ240に記憶することによって更新する。
また、更新部236は、一次キャッシュメモリ240を更新する際に記憶した情報に基づいて、二次キャッシュメモリ242を更新する。一次キャッシュメモリ240を更新する際に記憶した情報に基づいて、二次キャッシュメモリ242を更新することによって、一次キャッシュメモリ240に記憶される情報と、二次キャッシュメモリ242に記憶される情報とを同期させる。具体的には、更新部236は、一次キャッシュメモリ240を更新する際に記憶した情報のうち、ドメイン名と、資源を示す情報との組み合わせを、二次キャッシュメモリ242に記憶することによって更新する。更新部236は、二次キャッシュメモリ242に関連付けて記憶されるドメイン名と、Rデータと、Typeと、クラスと、TTLとのうち、TTLについては、権威DNSサーバ装置300が設定したTTLと、DNSサーバ装置200が設定した二次キャッシュ特有のTTLを、両方保持する。そして、端末装置100へ通知する資源を示す情報として、そのTTLよりも短い時間が通知される。これによって、仮に、端末装置100に、ドメイン名を示す情報と、資源を示す情報とが通知された場合に、そのドメイン名を示す情報と、その資源を示す情報とが、端末装置100に、長い期間キャッシュされないようにできる。これは、二次キャッシュメモリ242に記憶される情報は、ドメイン名の名前が解決できないことを低減するためのものであり、最新の情報でないおそれがある。このため、二次キャッシュメモリ242に記憶された資源を示す情報に関連付けて記憶されるTTLは、本来のTTLと、そのTTLよりも短い時間とする。これによって、二次キャッシュメモリ242に記憶された情報を取得した端末装置100は、同じドメイン名を示す情報が入力された場合に、TTLが満了している場合には、DNSサーバ装置200に、そのドメイン名の名前を解決することを問い合わせることができるため、最新の情報を取得する機会を増加させることができる。また、本来のTTLと、そのTTLよりも短い時間とが記憶されることによって、本来のTTLが分からなくなってしまうことを避けることができる。
更新部236は、ドメイン名と、そのドメイン名の名前を解決できないことを示す情報とについては、二次キャッシュメモリ242に記憶しない。これにより、二次キャッシュのメモリ量を節約する。
(権威DNSサーバ装置)
権威DNSサーバ装置300は、通信部310と、記憶部320と、情報処理部330と、前記各構成要素を図2に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン350とを備える。
通信部310は、通信モジュールによって実現される。通信部310は、ネットワーク50を経由して、DNSサーバ装置200と通信を行う。通信部310は、DNSサーバ装置200が送信した再帰DNSクエリ要求を受信し、受信した再帰DNSクエリ要求を、情報処理部330へ出力する。通信部310は、情報処理部330が出力した再帰DNSクエリ応答を、DNSサーバ装置200へ送信する。
記憶部320は、例えば、RAM、ROM、HDD、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。記憶部320は、情報処理部330が実行するプログラム322と、リソースレコードファイル324とを記憶する。リソースレコードファイル324は、ドメイン名を示す情報と資源を示す情報とを関連付けた変換表である。リソースレコードファイル324の一例については、図3に示される。リソースレコードファイル324は、図3に示すように、ドメイン名と、Rデータ、Type、クラス、TTLなどの資源とを関連付けて記憶する。
情報処理部330の全部または一部は、例えば、CPUなどのプロセッサが記憶部320に格納されたプログラム322を実行することにより実現されるソフトウェア機能部である。なお、情報処理部330の全部または一部は、LSI、ASIC、またはFPGAなどのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。
情報処理部330は、例えば、処理部332を備える。
処理部332は、通信部310が出力した再帰DNSクエリ要求を取得し、取得した再帰DNSクエリ要求に含まれるドメイン名を示す情報を取得する。処理部332は、取得したドメイン名を示す情報に関連付けて資源を示す情報がリソースレコードファイル324に記憶されているか否かを判定する。
具体的には、処理部332は、再帰DNSクエリ要求に含まれるQNAME、QTYPEなどのドメイン名を示す情報に一致する資源を示す情報(リソースレコード)を検索する。処理部332は、そのドメイン名を示す情報に一致するリソースレコードがリソースレコードファイル324に記憶されている場合には、そのドメイン名を示す情報に関連付けて記憶されているリソースレコードを、リソースレコードファイル324から取得する。
処理部332は、取得したリソースレコードを含む再帰DNSクエリ応答を作成し、作成した再帰DNSクエリ応答を、通信部310へ出力する。例えば、QTYPEがAレコードの場合には、ドメイン名に関連付けて記憶されているIPアドレス(IPv4)を問い合わせることを意味する。この場合、処理部332は、再帰DNAクエリ要求に含まれるQNAME(ドメイン名)、TYPE、クラスをコピーし、これに続けて、TTL、レングス、IPアドレス(v4)などを含む再帰DNS応答を作成する。
一方、処理部332は、取得したドメイン名を示す情報に関連付けてリソースレコードがリソースレコードファイル324に記憶されていない場合には、ドメイン名を示す情報と、ドメイン名の名前を解決できないことを示す情報とを含む再帰DNSクエリ応答を作成し、作成した再帰DNSクエリ応答を、通信部310へ出力する。
(通信システムの動作)
図4−図7を参照して、本実施形態に係る通信システム1の動作について説明する。
(通信システムの動作の一例(その1))
図4は、本実施形態に係る通信システムの動作の一例(その1)を示すシーケンスチャートである。
(ステップS101) 端末装置100の処理部132は、ユーザが操作部140を操作することによってドメイン名を示す情報を入力した場合に、操作部140が出力するドメイン名を示す情報を取得し、取得したドメイン名を示す情報を、作成部134へ出力する。ここで、ユーザが操作部140を操作することなく、ドメイン名を示す情報が、作成部134へ出力されてもよい。
作成部134は、処理部132が出力したドメイン名を示す情報を取得し、取得したドメイン名を示す情報を含み、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を問い合わせる情報であるDNSクエリ要求を作成する。作成部134は、作成したDNSクエリ要求を、通信部110へ出力する。通信部110は、作成部134が出力したDNSクエリ要求を、DNSサーバ装置200へ送信する。
(ステップS102) DNSサーバ装置200の通信部210は、端末装置100が送信したDNSクエリ要求を受信し、受信したDNSクエリ要求を、情報処理部230へ出力する。
情報処理部230の処理部232は、通信部210が出力したDNSクエリ要求を取得する。処理部232は、取得したDNSクエリ要求に含まれるドメイン名を示す情報を取得し、取得したドメイン名を示す情報に関連付けて資源を示す情報が一次キャッシュメモリ240に記憶されているか否かを判定する。ここでは、一次キャッシュメモリ240に、取得したドメイン名を示す情報に関連付けて、資源を示す情報が記憶されていない場合について説明を続ける。
(ステップS103) 処理部232は、取得したDNSクエリ要求を、要求部234へ出力する。
要求部234は、再帰DNSクエリ要求を作成する。要求部234は、作成した再帰DNSクエリ要求を通信部210へ出力する。通信部210は、要求部234が出力した再帰DNSクエリ要求を、権威DNSサーバ装置300へ送信する。
(ステップS104) 権威DNSサーバ装置300の通信部310は、DNSサーバ装置200が送信した再帰DNSクエリ要求を受信し、受信した再帰DNSクエリ要求を、情報処理部330へ出力する。
情報処理部330の処理部332は、通信部310が出力した再帰DNSクエリ要求を取得する。処理部332は、取得した再帰DNSクエリ要求に含まれるドメイン名を示す情報に関連付けられる資源を示す情報が、リソースレコードファイル324に記憶されているか否かを判定する。
(ステップS105) 処理部332は、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を含む再帰DNSクエリ応答又は名前を解決できないことを示す情報を含む再帰DNSクエリ応答を作成する。処理部332は、作成した再帰DNSクエリ応答を、通信部310へ出力する。
(ステップS106) 権威DNSサーバ装置300の通信部310は、処理部332が出力した再帰DNSクエリ応答を、DNSサーバ装置200へ送信する。
(ステップS107) DNSサーバ装置200の通信部210は、権威DNSサーバ装置300が送信した再帰DNSクエリ応答を受信し、受信した再帰DNSクエリ応答を、処理部232へ出力する。
処理部232は、通信部210が出力した再帰DNSクエリ応答を、更新部236と、応答部238とへ出力する。更新部236は、処理部232が出力した再帰DNSクエリ応答を取得し、取得した再帰DNSクエリ応答が不正応答に該当するか否かを判定する。ここで、不正応答とは、フォーマットエラー、再帰クエリに紐付かない応答などである。
(ステップS108) 更新部236は、不正応答に該当しないと判定した場合、その再帰DNSクエリ応答に含まれる情報に基づいて、一次キャッシュメモリ240を更新する。
更新部236は、再帰DNSクエリ応答に含まれるドメイン名と、資源を示す情報とを関連付けて、一次キャッシュメモリ240に記憶することによって更新する。
(ステップS109) DNSサーバ装置200の処理部232は、通信部210が出力した再帰DNSクエリ応答を取得し、取得した再帰DNSクエリ応答に含まれる情報に基づいて、DNSクエリ要求を送信した端末装置100へ送信するDNSクエリ応答を作成する。処理部232は、作成したDNSクエリ応答を、応答部238に出力し、応答部238は通信部210へ出力する。通信部210は、応答部238が出力したDNSクエリ応答を、端末装置100へ送信する。
(ステップS110) DNSサーバ装置200の更新部236は、再帰DNSクエリ応答がポジティブ応答であるか否かを判定する。ここで、ポジティブ応答とは、ドメイン名に関連付けて資源が記憶されている再帰DNSクエリ応答をいう。なお、更新部236は再帰DNSクエリ応答がポジティブ応答でないと判定した場合、処理を終了する。
(ステップS111) DNSサーバ装置200の更新部236は、再帰DNSクエリ応答がポジティブ応答であると判定した場合、一次キャッシュメモリ240に記憶した情報に基づいて、二次キャッシュメモリ242を更新する。更新部236は、一次キャッシュメモリ240を更新する際に記憶した情報のうち、ドメイン名と、資源を示す情報との組み合わせを、二次キャッシュメモリ242に記憶することによって更新する。更新部236は、二次キャッシュメモリ242に関連付けて記憶されるドメイン名と、IPアドレスと、Typeと、クラスと、TTLと、更新日時とのうち、TTLについては、権威DNSサーバ装置300が設定したTTLと、DNSサーバ装置200が設定した二次キャッシュ特有のTTLを、両方保持する。
(ステップS112) 更新部236はステップS107で不正応答に該当すると判定した場合、再帰DNSクエリ応答を破棄する。
図4に示されるシーケンスチャートにおいて、ステップS108と、ステップS109の処理の順序は、逆であってもよい。
図4に示されるシーケンスチャートによれば、ステップS107で不正応答にあたる再帰DNSクエリ応答を一次キャッシュから除外することが可能になる。また、ステップS110により、更に、ポジティブ応答のみ二次キャッシュで保持し、かつ、権威DNSサーバ装置300が設定したTTLと、DNSサーバ装置200が設定した二次キャッシュ特有のTTLを、両方保持することにより、一次キャッシュと異なる機能を有する二次キャッシュのサービス提供が可能になるという効果がある。
(通信システムの動作の一例(その2))
図5は、本実施形態に係る通信システムの動作の一例(その2)を示すシーケンスチャートである。
(ステップS201) 端末装置100の処理部132は、ユーザが操作部140を操作することによってドメイン名を示す情報を入力した場合に、操作部140が出力するドメイン名を示す情報を取得し、取得したドメイン名を示す情報を、作成部134へ出力する。ここで、ユーザが操作部140を操作することなく、ドメイン名を示す情報が、作成部134へ出力されてもよい。
作成部134は、処理部132が出力したドメイン名を示す情報を取得し、取得したドメイン名を示す情報を含み、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を問い合わせる情報であるDNSクエリ要求を作成する。作成部134は、作成したDNSクエリ要求を、通信部110へ出力する。通信部110は、作成部134が出力したDNSクエリ要求を、DNSサーバ装置200へ送信する。
(ステップS202) DNSサーバ装置200の通信部210は、端末装置100が送信したDNSクエリ要求を受信し、受信したDNSクエリ要求を、処理部232へ出力する。
処理部232は、取得したDNSクエリ要求に含まれるドメイン名を示す情報を取得し、取得したドメイン名を示す情報に関連付けて資源を示す情報が記憶されているか否かを、一次キャッシュメモリ240に記憶されている情報を検索することによって判定する。ここでは、ドメイン名を示す情報に関連付けて資源を示す情報が、一次キャッシュメモリ240に記憶されていない場合について説明を続ける。
(ステップS203) DNSサーバ装置200の処理部232は、DNSクエリ要求を、要求部234へ出力する。
要求部234は、再帰DNSクエリ要求を作成する。要求部234は、作成した再帰DNSクエリ要求を通信部210へ出力する。通信部210は、要求部234が出力した再帰DNSクエリ要求を、権威DNSサーバ装置300へ送信する。ここで、権威DNSサーバ装置300は、ダウンなどの原因によって、再帰DNSクエリ応答を送信しない。
(ステップS204) DNSサーバ装置200の処理部232は、要求部234が再帰DNSクエリ要求を通信部210へ出力してから時間閾値によって示される時間が経過しても、通信部210から再帰DNSクエリ応答が出力されない場合に、そのDNSクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報を、二次キャッシュメモリ242から検索する。
(ステップS205) 処理部232は、そのDNSクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報が二次キャッシュメモリ242に記憶されているか否かを判定する。
(ステップS206) 処理部232は、DNSクエリ応答に含まれるドメイン名を示す情報に関連付けて資源を示す情報が、二次キャッシュメモリ242に記憶されている場合には、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を、二次キャッシュメモリ242から取得する。処理部232は、DNSサーバ装置200が設定した二次キャッシュ特有のTTLを参照する。
(ステップS207) 処理部232は、参照した二次キャッシュ特有のTTLが、権威DNSサーバ装置300が設定したTTLより短いか否かを判定する。
(ステップS208) 参照した二次キャッシュ特有のTTLが、権威DNSサーバ装置300が設定したTTLより短い場合、処理部232は、取得した資源を示す情報と二次キャッシュ特有のTTLに基づくDNSクエリ応答を作成し、作成したDNSクエリ応答を、応答部238に出力し、応答部238は通信部210へ出力する。通信部210は、処理部232が出力したDNSクエリ応答を、端末装置100へ送信する。
(ステップS209) 参照したTTLが、権威DNSサーバ装置300が設定したTTLより長い場合、処理部232は、取得した資源を示す情報と権威DNSサーバ装置300が設定したTTLとを含むDNSクエリ応答を作成し、作成したDNSクエリ応答を、応答部238に出力し、応答部238は通信部210へ出力する。通信部210は、処理部232が出力したDNSクエリ応答を、端末装置100へ送信する。
(ステップS210) 処理部232は、DNSクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報が、二次キャッシュメモリ242に記憶されていない場合には、ダミー応答を返すべきか否かを判定する。判定基準は任意に設定できる。一例として、MTAがMXレコードの名前を解決しようとした場合には、ダミー応答を返すべきでないと判定する。
(ステップS211) 処理部232は、ダミー応答を返すべきでないと判定した場合、DNSクエリ応答を破棄する。
(ステップS212) 処理部232は、ダミー応答を返すべきと判定した場合、ダミー応答を参照する。端末装置100からの無駄な再送を抑止する観点から、有効なダミー応答が選択される。
(ステップS213) 処理部232は、選択した内容のダミー応答を作成し、作成したダミー応答を、DNSクエリ応答として、応答部238に出力し、応答部238は通信部210へ出力する。通信部210は、処理部232が出力したダミー応答を、端末装置100へ送信する。
図5に示されるシーケンスチャートのステップS202において、処理部232は、取得したドメイン名を示す情報に関連付けて資源を示す情報が、一次キャッシュメモリ240に記憶されている場合には、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を、一次キャッシュメモリ240から取得する。処理部232は、取得した資源を示す情報を含むDNSクエリ応答を作成し、作成したDNSクエリ応答を、応答部238に出力し、応答部238は通信部210へ出力する。通信部210は、処理部232が出力したDNSクエリ応答を、端末装置100へ送信する。
(通信システムの動作の一例(その3))
図6は、本実施形態に係る通信システムの動作の一例(その3)を示すシーケンスチャートである。
ステップS501−S503は、図5を参照して説明したステップS201−S202を適用できる。端末装置100が複数となる以外、同様である。
(ステップS504) DNSサーバ装置200の処理部232は、取得したドメイン名を示す情報に関連付けて資源を示す情報が、一次キャッシュメモリ240にヒットするか否かを判定する。
(ステップS505) 処理部232は、取得したドメイン名を示す情報に関連付けて資源を示す情報が、一次キャッシュメモリ240に記憶されている場合には、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を、一次キャッシュメモリ240から取得する。処理部232は、取得した資源を示す情報を含むDNSクエリ応答を作成し、作成したDNSクエリ応答を、応答部238に出力し、応答部238は通信部210へ出力する。通信部210は、処理部232が出力したDNSクエリ応答を、端末装置100−1、端末装置100−Nへ送信する。
(ステップS506) 処理部232は、取得したドメイン名を示す情報に関連付けて資源を示す情報が、一次キャッシュメモリ240に記憶されていない場合には、該当のDNSクエリ要求は、再帰DNSクエリ中であるか否かを判定する。
(ステップS507) DNSサーバ装置200の処理部232は、該当のDNSクエリ要求が再帰クエリ中であると判定した場合、そのDNSクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報を、二次キャッシュメモリ242から検索する。
(ステップS508) 処理部232は、そのDNSクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報が二次キャッシュメモリ242に記憶されているか否かを判定する。
(ステップS509) 処理部232は、DNSクエリ応答に含まれるドメイン名を示す情報に関連付けて資源を示す情報が、二次キャッシュメモリ242に記憶されている場合には、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を、二次キャッシュメモリ242から取得する。処理部232は、DNSサーバ装置200が設定した二次キャッシュ特有のTTLを参照する。
(ステップS510) 処理部232は、参照した二次キャッシュ特有のTTLが、権威DNSサーバ装置300が設定したTTLより短いか否かを判定する。
(ステップS511) 参照した二次キャッシュ特有のTTLが、権威DNSサーバ装置300が設定したTTLより短い場合、処理部232は、取得した資源を示す情報と、参照した二次キャッシュ特有のTTLとを含むDNSクエリ応答を作成し、作成したDNSクエリ応答を、応答部238に出力し、応答部238は通信部210へ出力する。通信部210は、応答部238が出力したDNSクエリ応答を、端末装置100へ送信する。
(ステップS512) 参照した二次キャッシュ特有のTTLが、権威DNSサーバ装置300が設定したTTLより長い場合、処理部232は、取得した資源を示す情報と、権威DNSサーバ装置300が設定したTTLとを含むDNSクエリ応答を作成し、作成したDNSクエリ応答を、応答部238に出力し、応答部238は通信部210へ出力する。通信部210は、応答部238が出力したDNSクエリ応答を、端末装置100−1、端末装置100−Nへ送信する。
(ステップS513) 処理部232は、DNSクエリ応答に含まれるドメイン名を示す情報に関連付けて資源を示す情報が、二次キャッシュメモリ242に記憶されていない場合には、ダミー応答を返すべきか否かを判定する。具体的には、図5ステップS210−212と同様である。
(ステップS514) 処理部232は、ダミー応答を返すべきと判定した場合、ダミー応答を参照する。端末装置100からの無駄な再送を抑止する観点から、有効なダミー応答が選択される。選択したダミー応答を作成し、作成したダミー応答を、DNSクエリ応答として、応答部238に出力し、応答部238は通信部210へ出力する。通信部210は、応答部238が出力したダミー応答を、端末装置100へ送信する。
(ステップS515) 処理部232は、該当のDNSクエリ要求が、再帰DNSクエリ中でないと判定した場合、クエリ内容を記憶する。
(ステップS516) 処理部232は、記録したクエリ内容を含むDNSクエリ要求を、要求部234へ出力する。要求部234は、再帰DNSクエリ要求を作成する。要求部234は、作成した再帰DNSクエリ要求を通信部210へ出力する。通信部210は、要求部234が出力した再帰DNSクエリ要求を、権威DNSサーバ装置300へ送信する。なお、ステップS516は再帰DNSクエリ要求中であり、まだ名前解決が出来ていない状態を示す。図6は、端末装置から同じタイミングで同じ名前解決要求が一斉集中するケースにおいて、再帰DNSクエリを抑制出来ることで、DNSサーバ装置の負荷低減および、キャッシュポイズニングのリスク低減を図りながら、二次キャッシュを用いた名前解決サービスを継続出来る効果がある。
(通信システムの動作の一例(その4))
図7は、本実施形態に係る通信システムの動作の一例(その4)を示すシーケンスチャートである。図7は、図5のステップS202−S204の間の処理を示す。なお、DNSサーバ装置200は、図7のステップS603−606に該当するドメイン及び権威DNSサーバ装置300の状態を継続的に把握しているものとする。
(ステップS601) DNSサーバ装置200は、端末装置100からDNSクエリ要求を受信すると、一次キャッシュを検索する。一次キャッシュにヒットすれば、DNSサーバ装置200は端末装置100にDNSクエリ応答を送信する。一方、一次キャッシュにヒットしない場合、ステップS602に進む。
(ステップS602) DNSサーバ装置200の処理部232は、DNSクエリ要求について、二次キャッシュメモリ242を参照できる有効時間内であるか否かを判定する。二次キャッシュメモリ242を参照できる有効時間内である場合、図5のステップS204(二次キャッシュを検索)へ移行する。
S204により、該当するドメインまたは権威DNSサーバ装置300の状態に基づき再帰DNSクエリ要求による名前解決が適切ではない状態と判断している時間内には、DNSクエリ要求ごとにS603−S611の処理をスキップして再帰DNSクエリを行わず、DNSサーバ装置の負荷低減を図りながら二次キャッシュによる名前解決サービスを継続できる効果がある。
(ステップS603) 処理部232は、二次キャッシュメモリ242を参照できる有効時間内でない場合、継続的に把握しているドメイン及び権威DNSサーバ装置300の状態に基づき、当該DNSクエリ要求に伴う権威DNSサーバ装置300との通信において、単位時間に再帰DNSクエリ要求に紐付かない不正応答数が閾値を超過しているか否かを判定する。ステップS603は、キャッシュポイズニングのリスクの高低を判別し、リスクが高い場合は、再帰DNSクエリを行わず二次キャッシュによる名前解決サービスが継続できる効果がある。
(ステップS604) 処理部232は、単位時間に不正応答が閾値を超過していない場合、当該DNSクエリ要求に伴う権威DNSサーバ装置300との単位時間あたりの再帰クエリ数が閾値を超過しているか否かを判定する。
(ステップS605) 処理部232は、当該DNSクエリ要求に伴う権威DNSサーバ装置300との単位時間あたりの再帰クエリ数が閾値を超過している場合、単位時間あたりのネガティブ応答率や無応答率が閾値を超過しているか否かを判定する。ステップS604とS605により、権威DNSサーバ装置300がダウンしている、又は、多くの攻撃が発生しているなどの場合において、再帰DNSクエリ要求を行わないことでDNSサーバ装置の負荷低減を図りながら二次キャッシュによる名前解決サービスが継続できる効果がある。
(ステップS606) 処理部232は、当該DNSクエリ要求に伴う権威DNSサーバ装置300との単位時間あたりの再帰クエリ数が閾値を超過していない場合、又は単位時間あたりのネガティブ応答・無応答率が閾値を超過していない場合に、単位時間あたりの該当ドメインに関する通信のダミー応答数及び率が閾値を超過しているか否かを判定する。ステップS606により、二次キャッシュに存在しない名前解決要求が多く発生していることで、DNSサーバ装置200及び権威DNSサーバ装置300に対し、多くの攻撃が継続しているかを判別して、再帰DNSクエリ要求を抑制することで、DNSサーバ装置の負荷低減を図りながら二次キャッシュを用いた名前解決サービスを継続できる効果がある。
(ステップS607) 処理部232は、単位時間あたりの該当ドメインに関する通信のダミー応答数及び率が閾値を超過していないと判定した場合、取得したDNSクエリ要求を、要求部234へ出力する。
要求部234は、再帰DNSクエリ要求を作成する。要求部234は、作成した再帰DNSクエリ要求を通信部210へ出力する。通信部210は、要求部234が出力した再帰DNSクエリ要求を、権威DNSサーバ装置300へ送信する。
なお、権威DNSサーバ装置300から応答があった場合は、図4のステップS107に移行する。また、権威DNSサーバ装置300から無応答であった場合は、図5のステップS204に移行する。
(ステップS608) 処理部232は、単位時間あたりの該当ドメインに関するダミー応答数及び率が閾値を超過していると判定した場合、二次キャッシュメモリ242の参照延長時間内であるか否かを判定する。二次キャッシュメモリ242の参照延長時間内である場合、図5のステップS204へ移行する。
(ステップS609) 処理部232は、二次キャッシュメモリ242の参照延長時間内でないと判定した場合、取得したDNSクエリ要求を、要求部234へ出力する。
要求部234は、再帰DNSクエリ要求を作成する。要求部234は、作成した再帰DNSクエリ要求を通信部210へ出力する。通信部210は、要求部234が出力した再帰DNSクエリ要求を、権威DNSサーバ装置300へ送信する。
なお、権威DNSサーバ装置300から応答があった場合は、図4のステップS107に移行する。また、権威DNSサーバ装置300から無応答であった場合は、図5のステップS204に移行する。
(ステップS610) 処理部232は、単位時間に再帰DNSクエリ要求に紐付かない不正応答が閾値を超過している場合、または、単位時間あたりの再帰DNSクエリ数が閾値を超過しかつネガティブ応答率や無応答率が閾値を超過している場合は、当該ドメイン又は権威DNSサーバ装置300との再帰DNSクエリ要求を一定時間抑止するため、二次キャッシュメモリ242を参照させる有効時間を設定する。
(ステップS611) 処理部232は、二次キャッシュ参照時間を超えても、ダミー応答数&率が閾値を超えている際に二次キャッシュ参照を延長し再帰クエリ要求を抑止するため、二次キャッシュメモリ242の参照延長時間を設定する。その後、図5のステップS204(二次キャッシュを検索)へ移行する。
図7に示されるシーケンスチャートによれば、DNSサーバ装置200がDNSクエリ要求を受信した場合に、DNSサーバ装置200及び権威DNSサーバ装置300への負荷を下げつつ、端末装置100にDNSクエリ応答をするにあたり、二次キャッシュメモリ242の参照又は権威DNSサーバ装置300への再帰DNSクエリ要求のどちらが最適解かを判別することができる。
前述した実施形態では、通信システム1が、DNSサーバ装置200、及び権威DNSサーバ装置300の各々を一台備える場合について説明したが、この例に限られない。例えば、DNSサーバ装置200、及び権威DNSサーバ装置300の各々を複数台備えるようにしてもよい。
前述した実施形態では、リソースレコードに、ドメイン名と、Rデータと、Typeと、クラスと、TTLとが関連付けて記憶される場合について説明したがこの例に限られない。例えば、ドメイン名と関連付けて、Rデータと、Typeと、クラスと、TTLとに加え、再帰DNSクエリ応答のソースIP、名前解決時のプロトコル(UDP、TCP)、再帰DNSクエリ時にトンネリング検出有無などの他の情報が記憶されてもよい。
前述した実施形態では、資源に、Rデータと、Typeと、クラスと、TTLとが含まれる場合について説明したが、この例に限られない。例えば、資源に、RデータType、クラス、及びTTL以外の情報が含まれてもよい。
前述した実施形態では、DNSサーバ装置200が、ポジティブキャッシュを記憶する際に、権威DNSサーバ装置300が設定したTTLと、そのTTLよりも短い時間とを設定する場合について説明したが、この例に限られない。例えば、運用によって、二次キャッシュメモリ242で設定するTTLと、権威DNSサーバ装置300で設定済みのTTLとを比較して、最適な一つに設定を切り替えるようにしてもよい。
前述した実施形態では、二次キャッシュメモリ242に設定される権威DNSサーバ装置300が設定したTTLよりも短い時間として、五分等の画一的な時間に設定される場合について説明したが、この例に限られない。例えば、二次キャッシュメモリ242に記憶される情報の性質によりTTLを異ならせてもよい。具体的には、二次キャッシュメモリ242に記憶される性質に応じて情報を区分し、区分Aの場合には一分とし、区分Bの場合には五分、・・・、区分Xの場合には十二時間などに設定してもよい。また、二次キャッシュメモリ242に記憶される情報の性質によりTTLを、動的に変更してもよい。具体的には、最初は、デフォルトで五分に設定し、五分後に問い合わせがあり、二次キャッシュメモリ242に記憶される情報を使用する状況が継続されている場合は、二次キャッシュ特有のTTLを十分等の長い時間に再設定する。
なお、相手方サービスの種類によって、最適なTTLを決めてもよい。相手方サービスの更新頻度、各種検索エンジンが動作する相手方システムの回復予想時間等が考慮されてもよい。システムのサービス継続が前提で更新頻度が高いものは、二次キャッシュメモリ242のTTLを短く設定する。他方で、システムのサービス継続が難しい場合にはTTLを長く設定する。また、過去の履歴から最適なTTLを割り出して、区分することによって、振分が可能である。
前述した実施形態では、二次キャッシュメモリ242が、記憶しているドメイン名と、資源を示す情報との関連付けの数が、予め設定されるキャッシュ数閾値を超える場合に、更新された時刻が古いものから消去する場合について説明したが、この例に限られない。例えば、二次キャッシュメモリ242は、DNSクエリ要求の数が少ないドメイン名から削除するようにしてもよい。このように構成することによって、重要性の低いものから削除することができる。また、予め設定したドメインリストに基づき優先して削除する、又は優先して残してもよい。
前述した実施形態において、二次キャッシュメモリ242を、複数のDNSサーバ装置200で共用するようにしてもよいし、DNSサーバ装置200毎に二次キャッシュメモリ242を備えるようにしてもよい。また、DNSサーバ装置200毎に二次キャッシュメモリ242を備える場合に、二次キャッシュメモリ202毎に同期をとるようにしてもよい。
前述した実施形態では、DNSサーバ装置200は、再帰DNSクエリ要求を送信してから時間閾値経過しても、再帰DNSクエリ応答を取得できなかった場合に、二次キャッシュメモリ242に、再帰DNSクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報が二次キャッシュメモリ242に記憶されているか否かを判定する場合について説明したが、この例に限られない。例えば、DNSサーバ装置200は、権威DNSサーバ装置300が送信した再帰DNSクエリ応答を受信し、受信した再帰DNSクエリ応答に、ドメイン名の名前を解決できない情報が含まれる場合に、再帰DNSクエリ要求に含まれるドメイン名を示す情報に関連付けて資源を示す情報が二次キャッシュメモリ242に記憶されているか否かを判定するようにしてもよい。
前述した実施形態では、端末装置100からの無駄な再送を抑止する観点から、有効なダミー応答が選択しているが、選択したダミー応答の内容によっては抑止効果が得られない場合も考えられることから、例えば、単位時間あたりの該当するDNSクエリ要求数、ダミー応答数および割合などから、動的にダミー応答内容を選択し直してもよい。加えて、抑止効果のあったダミー応答内容の自動的に記憶学習し、次回ダミー応答が発動される際に、抑止効果の高いダミー応答内容順で選択出来るようにしてもよい。また、学習する際には、端末装置100やDNSサーバ装置200のIPアドレス、ポート番号、およびDNSクエリ要求に含まれるドメインなどと組み合わせて記憶し、次回ダミー応答が発動される際に、優先して選択できる応答内容の条件に加えてもよい。また、ダミー応答を返しても抑止効果が得られない時には、動的に該当の端末装置からのDNSクエリ要求を一時的に遮断してもよい。
前述した実施形態では、ユーザが操作部140を操作することによってドメイン名を示す情報を入力した場合に、そのドメイン名を示す情報を含み、そのドメイン名を示す情報に関連付けて記憶されている資源を示す情報を問い合わせる情報であるDNSクエリ要求を作成する場合について説明したがこの例に限られない。例えば、ユーザが操作部140を操作することによって入力されたドメイン名に限らず、端末装置100で、何らかの処理が行われるのに伴って、ドメイン名の名前を解決するための問い合わせを行う場合についても適用できる。
以上説明した少なくとも一つの実施形態に係るDNSサーバ装置によれば、DNSサーバ装置は、クライアント装置と、権威DNSサーバ装置との間に設けられる。DNSサーバ装置は、クライアント装置が送信したDNSクエリ要求に基づき、権威DNSサーバ装置へ、資源を問い合わせ、その資源の問い合わせに応じて、権威DNSサーバ装置へ名前を問い合わせた結果を一次キャッシュメモリに記憶する。DNSサーバ装置は、一次キャッシュに記憶された問い合わせた結果のうち、ポジティブキャッシュを二次キャッシュメモリに記憶する。DNSサーバ装置は、資源の問い合わせに対して、権威DNSサーバ装置が送信した応答が名前を解決できないことを示す場合に、二次キャッシュへ、資源を問い合わせる。
このように構成することによって、二次キャッシュメモリを、権威DNSサーバ装置が攻撃を受けた場合、権威DNSサーバ装置がダウンした場合、キャッシュポイズニング、ネットワーク障害、輻輳、規制などによってドメイン名の名前を解決するのに問題が生じる場面において、一時的に名前を解決するための避難先として活用できる。このため、クライアント装置が送信したDNSクエリ要求に対して、ドメイン名の名前を解決ができないことを低減することができ、ユーザに対してサービスを継続できる。
本実施形態に係るDNSサーバ装置によれば、二次キャッシュは、一次キャッシュがキャッシュする時間よりも長い時間、ポジティブキャッシュを記憶する。このように構成することによって、一次キャッシュに記憶されている情報が消去されても、二次キャッシュに記憶されている情報が消去されないようにできるので、クライアント装置が送信したDNSクエリ要求に対して、ドメイン名の名前を解決ができないことを低減することができ、ユーザに対してサービスを継続できる。また、ドメイン名の名前を解決ができないことを低減することができるため、DNSサーバ装置への過剰な負荷を下げることができるため、多数のユーザのサービスに悪影響を与えないようにすることができる。
本実施形態に係るDNSサーバ装置によれば、資源のTTLとして、権威DNSサーバ装置で設定されたTTLと、二次キャッシュで設定されたTTLとのうち、短いTTLを、クライアント装置に応答する。DNSサーバ装置が、二次キャッシュに記憶している資源を示す情報を通知することによって、名前を解決することを優先することができるとともに、短いTTLを、クライアント装置へ通知することによって、端末装置に、資源を示す情報が、長い期間キャッシュされないようにできる。
本実施形態に係るDNSサーバ装置によれば、資源の問い合わせに対して、権威DNSサーバ装置からの応答がない場合に、二次キャッシュへ、資源を問い合わせる。このように構成することによって、DNSサーバ装置が、権威DNSサーバ装置へ、再帰DNSクエリ要求を送信した場合に、権威DNSサーバ装置が応答を送信しなかった場合でも、二次キャッシュメモリに、その再帰DNSクエリ要求に含まれるドメイン名を示す情報に関連付けて、資源を示す情報が記憶されている否かを判定することができる。これによって、ドメイン名の名前を解決することができるため、クライアント装置が送信したDNSクエリ要求に対して、ドメイン名の名前を解決ができないことを低減することができ、ユーザに対してサービスを継続できる。また、ドメイン名の名前を解決ができないことを低減することができるため、DNSサーバ装置への過剰な負荷を下げることができるため、多数のユーザのサービスに悪影響を与えないようにすることができる。
本実施形態に係るDNSサーバ装置によれば、資源の問い合わせを行っている間に、DNSクエリ要求に含まれる名前、タイプ、クラスと、複数の前記クライアント装置の各々が送信したDNSクエリ要求に含まれる名前、タイプ、クラスとが一致する場合に、前記資源を、二次キャッシュから取得する。
このように構成することによって、キャッシュポイズニングのリスクを低減することができるとともに、スパイクトラヒックによるDNSサーバ装置の負荷を低減できる。ここで、スパイクトラヒックとは、同一のドメイン名の名前を解決することを要求するDNSクエリ要求が、複数のクライアントから一斉に送信された場合によって生じる。
本実施形態に係るDNSサーバ装置によれば、権威DNSサーバ装置が送信した応答又は無応答であることに基づいて、クライアント装置が新たに送信したDNSクエリ要求に対して、権威DNSサーバ装置へ、資源を問い合わせるか否かを判定する。このように構成することによって、DNSサーバ装置は、権威DNSサーバ装置との間の通信に基づいて、権威DNSサーバ装置に異常が発生していると想定される場合には再帰DNSクエリ要求を送信しないと判定し、権威DNSサーバ装置に異常が発生していないと想定される場合には再帰DNSクエリ要求を送信すると判定できる。
以上、本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。これら実施形態及びその変形例は、発明の範囲や要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
なお、前述の端末装置、DNSサーバ装置、及び権威DNSサーバ装置は内部にコンピュータを有している。そして、前述した各装置の各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1…通信システム、50…ネットワーク、100、100−1、100−2、・・・、100−N…端末装置、200…DNSサーバ装置、300…権威DNSサーバ装置、110、210、310…通信部、120、220、320…記憶部、122、222、322…プログラム、130、230、330…情報処理部、132、232、332…処理部、134…作成部、140…操作部、160…表示部、234…要求部、236…更新部、238…応答部、240…一次キャッシュメモリ、242…二次キャッシュメモリ、324…リソースレコードファイル

Claims (8)

  1. クライアント装置と、権威DNSサーバ装置との間に設けられたDNSサーバ装置であって、
    前記クライアント装置が送信したDNSクエリ要求に基づき、前記権威DNSサーバ装置へ、資源を問い合わせる要求部と、
    前記要求部による前記資源の前記問い合わせに応じて、前記権威DNSサーバ装置へ名前を問い合わせた結果を記憶する一次キャッシュと、
    前記一次キャッシュに記憶された前記問い合わせた結果のうち、名前を解決できる情報であるポジティブキャッシュを記憶する二次キャッシュとを備え、
    前記要求部は、前記資源の前記問い合わせに対して、名前を解決できない所定の場合に、前記二次キャッシュへ、前記資源を問い合わせる、DNSサーバ装置。
  2. 前記二次キャッシュは、前記一次キャッシュが記憶する時間よりも長い時間、前記ポジティブキャッシュを記憶する、請求項1に記載のDNSサーバ装置。
  3. 前記資源の有効生存期間として、前記権威DNSサーバ装置で設定された有効生存期間と、前記二次キャッシュで設定された有効生存期間とのうち、短い有効生存期間を、前記クライアント装置に応答する応答部をさらに備える、
    請求項1又は請求項2に記載のDNSサーバ装置。
  4. 前記要求部は、前記資源の前記問い合わせに対して、前記権威DNSサーバ装置からの応答がない場合に、前記二次キャッシュへ、前記資源を問い合わせる、請求項1から請求項3のいずれか一項に記載のDNSサーバ装置。
  5. 前記要求部は、前記資源の前記問い合わせを行っている間に、前記DNSクエリ要求に含まれる名前、タイプ、クラスと、複数の前記クライアント装置の各々が送信したDNSクエリ要求に含まれる名前、タイプ、クラスとが一致する場合に、前記資源を、前記二次キャッシュから取得する、請求項1から請求項4のいずれか一項に記載のDNSサーバ装置。
  6. 前記権威DNSサーバ装置が送信した応答又は無応答であることに基づいて、クライアント装置が新たに送信したDNSクエリ要求に対して、前記権威DNSサーバ装置へ、資源を問い合わせるか否かを判定する判定部
    を備える、請求項1から請求項5のいずれか一項に記載のDNSサーバ装置。
  7. クライアント装置と、権威DNSサーバ装置との間に設けられたDNSサーバ装置が実行する方法であって、
    前記DNSサーバ装置は、前記クライアント装置が送信したDNSクエリ要求に基づき、前記権威DNSサーバ装置へ名前を問い合わせた結果を記憶する一次キャッシュと、前記一次キャッシュに記憶された前記問い合わせた結果のうち、名前を解決できる情報であるポジティブキャッシュを記憶する二次キャッシュとを備え、
    前記DNSサーバ装置が実行する方法は、
    前記クライアント装置が送信したDNSクエリ要求に基づき、前記権威DNSサーバ装置へ、資源を問い合わせるステップと、
    前記資源の前記問い合わせに対して、前記権威DNSサーバ装置が送信した応答又は無応答であることに基づき名前を解決できないことを示す場合に、前記二次キャッシュへ、前記資源を問い合わせるステップと
    を有する、方法。
  8. クライアント装置と、権威DNSサーバ装置との間に設けられ、前記クライアント装置が送信したDNSクエリ要求に基づき、前記権威DNSサーバ装置へ名前を問い合わせた結果を記憶する一次キャッシュと、前記一次キャッシュに記憶された前記問い合わせた結果のうち、名前を解決できる情報であるポジティブキャッシュを記憶する二次キャッシュとを備えたDNSサーバ装置のコンピュータに、
    前記クライアント装置が送信したDNSクエリ要求に基づき、前記権威DNSサーバ装置へ、資源を問い合わせるステップと、
    前記資源の前記問い合わせに対して、前記権威DNSサーバ装置が送信した応答又は無応答であることに基づき名前を解決できないことを示す場合に、前記二次キャッシュへ、前記資源を問い合わせるステップと
    を実行させる、プログラム。
JP2017190424A 2017-09-29 2017-09-29 Dnsサーバ装置、方法、及びプログラム Active JP6529139B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017190424A JP6529139B2 (ja) 2017-09-29 2017-09-29 Dnsサーバ装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017190424A JP6529139B2 (ja) 2017-09-29 2017-09-29 Dnsサーバ装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019068199A JP2019068199A (ja) 2019-04-25
JP6529139B2 true JP6529139B2 (ja) 2019-06-12

Family

ID=66340829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017190424A Active JP6529139B2 (ja) 2017-09-29 2017-09-29 Dnsサーバ装置、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6529139B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472914B (zh) * 2021-06-28 2023-09-26 北京天地互连信息技术有限公司 Dns定向预取缓存方法及系统

Also Published As

Publication number Publication date
JP2019068199A (ja) 2019-04-25

Similar Documents

Publication Publication Date Title
US10148612B2 (en) Method and system for increasing speed of domain name system resolution within a computing device
US11606388B2 (en) Method for minimizing the risk and exposure duration of improper or hijacked DNS records
JP4159337B2 (ja) 仮想ネットワーク名の解決方法
US9264358B2 (en) Alias resource record sets
EP2769307B1 (en) Answer augmentation system for authoritative dns servers
US11347797B2 (en) Asset search and discovery system using graph data structures
US20050021841A1 (en) Dynamic DNS registration method, domain name solution method, DNS proxy server, and address translation device
JPWO2006067951A1 (ja) アクセス制御装置およびアクセス制御方法
US20160021055A1 (en) Methods and systems for implementing very large dns zones
JP2011517193A (ja) ルーティングをリクエストするための方法とシステム
US9954815B2 (en) Domain name collaboration service using domain name dependency server
WO2018214853A1 (zh) 一种减小dns报文长度的方法、装置、介质及设备
US10826868B2 (en) NAT aware DNS
JP6529139B2 (ja) Dnsサーバ装置、方法、及びプログラム
JP2018169638A (ja) キャッシュサーバおよびキャッシュ方法
JP6571737B2 (ja) Dnsサーバ装置、方法、及びプログラム
CN115118700B (zh) 一种通信方法及通信系统
JP4757063B2 (ja) キャッシュサーバ装置、キャッシュ制御方法およびキャッシュサーバ装置用プログラム
JP2019186659A (ja) Dns水責め攻撃を防御する方法、プログラム、及び装置
JP5345577B2 (ja) 名前解決装置、名前解決方法および名前解決プログラム
JP4217725B2 (ja) 再帰問合わせを高度化するためのキャッシュサーバ装置、キャッシュ制御方法およびキャッシュサーバ装置用プログラム
JP4745190B2 (ja) アドレス取得装置、アドレス取得方法、及びプログラム
EP3657741A1 (en) Data packet routing method and data packet routing device
CN116708361A (zh) 域名解析器识别方法、装置和电子设备

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190408

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190510

R150 Certificate of patent or registration of utility model

Ref document number: 6529139

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150