JP2011176468A - Name resolution device, name resolution method, and name resolution program - Google Patents
Name resolution device, name resolution method, and name resolution program Download PDFInfo
- Publication number
- JP2011176468A JP2011176468A JP2010037743A JP2010037743A JP2011176468A JP 2011176468 A JP2011176468 A JP 2011176468A JP 2010037743 A JP2010037743 A JP 2010037743A JP 2010037743 A JP2010037743 A JP 2010037743A JP 2011176468 A JP2011176468 A JP 2011176468A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- name resolution
- unit
- resource record
- verification information
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
本発明は、名前解決装置、名前解決方法および名前解決プログラムに関する。 The present invention relates to a name resolution device, a name resolution method, and a name resolution program.
階層的に構成された名前空間を管理する名前管理システムであるDNS(Domain Name System)における応答の正当性を保証するための拡張仕様としてDNSSEC(DNSSecurity Extensions)が知られている。DNSSECにおいては、正当性を保証するために電子署名が利用される。 DNSSEC (DNS Security Extensions) is known as an extension specification for guaranteeing the validity of a response in a DNS (Domain Name System) that is a name management system that manages a hierarchically configured name space. In DNSSEC, an electronic signature is used to guarantee validity.
DNSSECが有効化されている場合におけるDNSの構成について図18を参照しながら説明する。図18には、クライアント装置10と、DNSキャッシュサーバ20と、DNSサーバ30と、DNSサーバ40と、DNSサーバ50とが図示されている。クライアント装置10は、名前解決によってドメイン名からIPアドレスを獲得してネットワーク上の各種のサービスを利用する。
A DNS configuration when DNSSEC is enabled will be described with reference to FIG. FIG. 18 illustrates the
DNSキャッシュサーバ20は、クライアント装置10とDNSサーバ30〜50の間で名前解決に関するやりとりを中継するとともに、クライアント装置10からの問い合わせに対するDNSサーバ30〜50からの応答を問い合わせ結果のキャッシュ21として記憶する。そして、クライアント装置10からの問い合わせに対する応答が問い合わせ結果のキャッシュ21に含まれる場合、DNSキャッシュサーバ20は、問い合わせをDNSサーバ30〜50へ転送する代わりに、問い合わせに対する応答が問い合わせ結果のキャッシュ21から取得して代理応答する。
The
このようにDNSキャッシュサーバ20がクライアント装置10からの問い合わせに対するDNSサーバ30〜50からの応答を問い合わせ結果のキャッシュ21として記憶し、それを用いて代理応答を行うことにより、DNSサーバ30〜50とネットワークの負荷を軽減させるとともに、問い合わせへの応答時間を短縮させることができる。
As described above, the
DNSサーバ30は、ルートを管理するDNSサーバであり、DNS40は、ルートの配下のjpゾーンを管理するDNSサーバであり、DNS50は、jpゾーンの配下のexample.jpゾーンを管理するDNSサーバである。DNSサーバ30〜50は、名前解決のための従来のリソースレコードに加えて、各リソースレコードの正当性を保証するための署名を保持するリソースレコードと、署名に用いられた秘密鍵に対応する公開鍵を保持するリソースレコードと、配下のゾーンの公開鍵の正当性を保証するための情報を保持するリソースレコードとを記憶する。
The
DNSSECにおいては、公開鍵を保持するリソースレコードの署名に用いられる秘密鍵に対応する公開鍵であるKSK(Key Signing Key)と、それ以外のリソースレコードの署名に用いられる秘密鍵に対応する公開鍵であるZSK(Zone Signing Key)という2種類の公開鍵がゾーン毎に用意される。以下では、各ゾーンのKSKをそのゾーンの名称の末尾にKSKを付加して表し、各ゾーンのZSKをそのゾーンの名称の末尾にZSKを付加して表す。 In DNSSEC, KSK (Key Signing Key), which is a public key corresponding to a secret key used for signing a resource record holding a public key, and a public key corresponding to a secret key used for signing other resource records Two types of public keys called ZSK (Zone Signing Key) are prepared for each zone. In the following, KSK of each zone is expressed by adding KSK to the end of the name of the zone, and ZSK of each zone is expressed by adding ZSK to the end of the name of the zone.
DNS50は、”www.example.jp”というドメイン名に対応するIPアドレスを保持するAリソースレコード51aと、Aリソースレコード51aの署名を保持するRRSIGリソースレコード51bと、Aリソースレコード51aの署名の検証に用いられる公開鍵であるexample.jp.ZSKを保持するDNSKEYリソースレコード52aと、DNSKEYリソースレコード52aの署名を保持するRRSIGリソースレコード52bと、DNSKEYリソースレコード52aの署名の検証に用いられる公開鍵であるexample.jp.KSKを保持するDNSKEYリソースレコード53aと、DNSKEYリソースレコード53aの署名を保持するRRSIGリソースレコード53bとを記憶する。
The DNS 50 verifies the
DNS40は、example.jp.KSKのハッシュを保持するDSリソースレコード41aと、DSリソースレコード41aの署名を保持するRRSIGリソースレコード41bと、DSリソースレコード41aの署名の検証に用いられる公開鍵であるjp.ZSKを保持するDNSKEYリソースレコード42aと、DNSKEYリソースレコード42aの署名を保持するRRSIGリソースレコード42bと、DNSKEYリソースレコード42aの署名の検証に用いられる公開鍵であるjp.KSKを保持するDNSKEYリソースレコード43aと、DNSKEYリソースレコード53aの署名を保持するRRSIGリソースレコード43bとを記憶する。
DNS40 is an example. jp. DS
DNSサーバ30は、jp.KSKのハッシュを保持するDSリソースレコード31aと、DSリソースレコード31aの署名を保持するRRSIGリソースレコード31bと、DSリソースレコード31aの署名の検証に用いられる公開鍵であるルートZSKを保持するDNSKEYリソースレコード32aと、DNSKEYリソースレコード32aの署名を保持するRRSIGリソースレコード32bと、DNSKEYリソースレコード32aの署名の検証に用いられる公開鍵であるルートKSKを保持するDNSKEYリソースレコード33aと、DNSKEYリソースレコード33aの署名を保持するRRSIGリソースレコード33bとを記憶する。
The
このように、リソースレコードの署名と、それを検証するための公開鍵とをリソースレコードとして保持しておくことにより、各リソースレコードの正当性を保証することができる。例えば、Aリソースレコード51aの正当性は、RRSIGリソースレコード51bに保持されている署名とDNSKEYリソースレコード52aに保持されている公開鍵によって保証される。DNSKEYリソースレコード52aの正当性は、RRSIGリソースレコード52bに保持されている署名とDNSKEYリソースレコード53aに保持されている公開鍵によって保証される。
Thus, by holding the signature of the resource record and the public key for verifying it as the resource record, the validity of each resource record can be guaranteed. For example, the validity of the
そして、DNSKEYリソースレコード53aの正当性は、DNSKEYリソースレコード53b保持されている署名に加えて、DNSサーバ40のDSリソースレコード41aによって保証される。DSリソースレコード41aの正当性は、RRSIGリソースレコード41bに保持されている署名とDNSKEYリソースレコード42aに保持されている公開鍵によって保証される。DNSKEYリソースレコード42aの正当性は、RRSIGリソースレコード42bに保持されている署名とDNSKEYリソースレコード43aに保持されている公開鍵によって保証される。
The validity of the DNSKEY
そして、DNSKEYリソースレコード43aの正当性は、DNSKEYリソースレコード43b保持されている署名に加えて、DNSサーバ30のDSリソースレコード31aによって保証される。DSリソースレコード31aの正当性は、RRSIGリソースレコード31bに保持されている署名とDNSKEYリソースレコード32aに保持されている公開鍵によって保証される。DNSKEYリソースレコード32aの正当性は、RRSIGリソースレコード32bに保持されている署名とDNSKEYリソースレコード33aに保持されている公開鍵によって保証される。
The validity of the DNSKEY
さらに、DNSKEYリソースレコード33aの正当性は、DNSKEYリソースレコード33b保持されている署名に加えて、DNSキャッシュサーバ20に予め配布されているルートKSKのハッシュ22によって保証される。このようにDNSSECにおいては、各ゾーン内のリソースレコードの正当性が同一ゾーン内のDNSKEYリソースレコードに格納された公開鍵によって保証されるとともに、下位のゾーンのDNSKEYリソースレコードの正当性を上位のゾーンのDSリソースレコードが保証する信頼の連鎖が構築される(非特許文献1〜3参照)。
Further, the validity of the DNSKEY resource record 33a is guaranteed by the
続いて、図18に示した構成において、”www.example.jp”というドメイン名からIPアドレスを得る場合の処理手順について図19を参照しながら説明する。なお、DNSキャッシュサーバ20が保持する問い合わせ結果のキャッシュ21は、空であるものとする。
Next, a processing procedure for obtaining an IP address from a domain name “www.example.jp” in the configuration shown in FIG. 18 will be described with reference to FIG. It is assumed that the
クライアント装置10は、”www.example.jp”というドメイン名に対応するIPアドレスを得るため、予め知っているDNSキャッシュサーバ20に対して、”www.example.jp”に対応するAリソースレコードを問い合わせる(ステップS10)。
In order to obtain an IP address corresponding to the domain name “www.example.jp”, the
問い合わせを受けたDNSキャッシュサーバ20は、まず、予め知っているDNSサーバ30に対して、”www.example.jp”に対応するAリソースレコードを問い合わせる(ステップS11)。DNSサーバ30は、図示しないNSリソースレコードを参照して、jpゾーンの権威をもつDNSサーバ40に問い合わせるべき旨を応答する(ステップS12)。
The
続いて、DNSキャッシュサーバ20は、応答で示されたDNSサーバ40に対して、”www.example.jp”に対応するAリソースレコードを問い合わせる(ステップS13)。DNSサーバ40は、図示しないNSリソースレコードを参照して、example.jpゾーンの権威をもつDNSサーバ50に問い合わせるべき旨を応答する(ステップS14)。
Subsequently, the
続いて、DNSキャッシュサーバ20は、応答で示されたDNSサーバ50に対して、”www.example.jp”に対応するAリソースレコードを問い合わせる(ステップS15)。DNSサーバ50は、”www.example.jp”に対応するAリソースレコード51aの内容(”192.168.100.1”)と、Aリソースレコード51aの署名を保持するRRSIGリソースレコード51bの内容(”ZZZ”)を応答する(ステップS16)。
Subsequently, the
応答を受けたDNSキャッシュサーバ20は、応答内容を検証するため、DNSサーバ50に対して、example.jpゾーンのDNSKEYを問い合せる(ステップS17)。DNSサーバ50は、DNSKEYリソースレコード52aの内容(example.jp.ZSK)と、DNSKEYリソースレコード53aの内容(example.jp.KSK)と、それらのリソースレコードの署名を保持するRRSIGリソースレコードの内容を応答する(ステップS18)。
Upon receiving the response, the
DNSキャッシュサーバ20は、応答されたKSKの正当性を検証するため、DNSサーバ30に対して、example.jpゾーンのDSリソースレコードを問い合わせる(ステップS19)。DNSサーバ30は、図示しないNSリソースレコードを参照して、jpゾーンの権威をもつDNSサーバ40に問い合わせるべき旨を応答する(ステップS20)。
The
続いて、DNSキャッシュサーバ20は、DNSサーバ40に対して、example.jpゾーンのDSリソースレコードを問い合わせる(ステップS21)。DNSサーバ40は、DSリソースレコード41aの内容(”aaa”)と、DSリソースレコード41aの署名を保持するRRSIGリソースレコード41bの内容(”XXX”)を応答する(ステップS22)。
Subsequently, the
応答を受けたDNSキャッシュサーバ20は、応答内容を検証するため、DNSサーバ40に対して、jpゾーンのDNSKEYを問い合せる(ステップS23)。DNSサーバ40は、DNSKEYリソースレコード42aの内容(jp.ZSK)と、DNSKEYリソースレコード43aの内容(jp.KSK)と、それらのリソースレコードの署名を保持するRRSIGリソースレコードの内容を応答する(ステップS24)。
Upon receiving the response, the
DNSキャッシュサーバ20は、応答されたKSKの正当性を検証するため、DNSサーバ30に対して、jpゾーンのDSリソースレコードを問い合わせる(ステップS25)。DNSサーバ30は、DSリソースレコード31aの内容(”bbb”)と、DSリソースレコード31aの署名を保持するRRSIGリソースレコード31bの内容(”VVV”)を応答する(ステップS26)。
The
応答を受けたDNSキャッシュサーバ20は、応答内容を検証するため、DNSサーバ30に対して、ルートゾーンのDNSKEYを問い合せる(ステップS27)。DNSサーバ30は、DNSKEYリソースレコード32aの内容(ルートZSK)と、DNSKEYリソースレコード33aの内容(ルートKSK)と、それらのリソースレコードの署名を保持するRRSIGリソースレコードの内容を応答する(ステップS28)。
The
DNSキャッシュサーバ20は、Aリソースレコード51aの正当性をDNSKEYリソースレコード52aに含まれるexample.jp.ZSKを用いて検証するとともに、DNSKEYリソースレコード52aの正当性をDNSKEYリソースレコード53aに含まれるexample.jp.KSKを用いて検証する。さらに、DNSキャッシュサーバ20は、DNSKEYリソースレコード53aの正当性を、ルートゾーンのDNSサーバ30から、Aリソースレコード51aを取得したDNSサーバ50の上位のDNSサーバ40まで、再帰的に問い合わせを行って取得したリソースレコードの内容に基づいて検証する。
The
そして全ての検証が成功すると、DNSキャッシュサーバ20は、Aリソースレコード51aの内容をクライアント装置10に応答する(ステップS29)。
If all verifications are successful, the
DNSにDNSSECを有効化した場合、応答の正当性が保証される反面で、問い合わせの効率が低下するおそれがある。その理由の1つは、図19のステップS19〜ステップS28のように、DNSKEYの正当性を検証するために上位のDNSサーバに複数の問い合わせを行う必要があるためである。他の理由は、名前解決のための従来のリソースレコードに加えて、DNSKEYやDS等のDNSSECで用いられるリソースレコードがDNSキャッシュサーバにキャッシュされることになるため、キャッシュが溢れやすくなり、キャッシュミスが発生することが多くなるためである。 When DNSSEC is validated for DNS, the validity of the response is guaranteed, but the efficiency of the inquiry may be reduced. One reason for this is that, as in steps S19 to S28 in FIG. 19, it is necessary to make a plurality of inquiries to the upper DNS server in order to verify the validity of DNSKEY. Another reason is that, in addition to the conventional resource records for name resolution, resource records used in DNSSEC such as DNSKEY and DS are cached in the DNS cache server. This is because there are many cases where the above occurs.
本発明は、上記に鑑みてなされたものであって、名前解決のための問い合わせを効率よく行うことができる名前解決装置、名前解決方法および名前解決プログラムを提供することを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to provide a name resolution device, a name resolution method, and a name resolution program capable of efficiently performing an inquiry for name resolution.
上述した課題を解決し、目的を達成するために、本発明に係る名前解決装置は、階層的に構成された名前空間を管理する名前管理システムに対する問い合わせへの応答内容をキャッシュするキャッシュ部を有する名前解決装置であって、名前解決のための問い合わせへの応答内容の正当性を、該問い合わせの問い合わせ先の階層のサーバから得られた第1の検証情報を用いて検証するとともに、前記第1の検証情報の正当性を、前記名前管理システムの最上位の階層から該問い合わせの問い合わせ先の階層の上位の階層までの各階層のサーバに対して問い合わせて得られた第2の検証情報を用いて検証し、正当性が検証された前記第1の検証情報を前記キャッシュ部に記憶させて再利用する検証部と、前記キャッシュ部に空き領域を作成する場合に、前記第1の検証情報を前記キャッシュ部に残すように制御するキャッシュ制御部とを備えることを特徴とする。 In order to solve the above-described problems and achieve the object, a name resolution device according to the present invention includes a cache unit that caches response contents to an inquiry to a name management system that manages a hierarchically configured name space. The name resolution device verifies the validity of the response content to the query for name resolution using the first verification information obtained from the server of the inquiry destination hierarchy of the query, and The second verification information obtained by inquiring the server of each hierarchy from the highest hierarchy of the name management system to the higher hierarchy of the inquiry destination hierarchy is used. The verification unit that verifies the first verification information that has been verified and stores the first verification information in the cache unit, and creates a free area in the cache unit. The case, characterized in that it comprises a cache control unit for controlling so as to leave the first verification information in the cache unit.
また、本発明に係る名前解決方法は、階層的に構成された名前空間を管理する名前管理システムに対する問い合わせへの応答内容をキャッシュするキャッシュ部を有する名前解決装置によって実行される名前解決方法であって、前記名前解決装置が、名前解決のための問い合わせへの応答内容の正当性を、該問い合わせの問い合わせ先の階層のサーバから得られた第1の検証情報を用いて検証する第1の検証工程と、前記名前解決装置が、前記第1の検証情報の正当性を、前記名前管理システムの最上位の階層から該問い合わせの問い合わせ先の階層の上位の階層までの各階層のサーバに対して問い合わせて得られた第2の検証情報を用いて検証する第2の検証工程と、前記名前解決装置が、前記第2の検証工程において正当性が検証された前記第1の検証情報を再利用のために前記キャッシュ部に記憶させる保管工程と、前記名前解決装置が、前記キャッシュ部に空き領域を作成する場合に、前記第1の検証情報を前記キャッシュ部に残すように制御するキャッシュ解放工程とを含むことを特徴とする。 The name resolution method according to the present invention is a name resolution method executed by a name resolution device having a cache unit that caches response contents to an inquiry to a name management system that manages a hierarchically configured name space. Then, the name resolution device verifies the validity of the response content to the query for name resolution using the first verification information obtained from the server of the inquiry destination hierarchy of the query. And the name resolution device determines the validity of the first verification information for servers in each hierarchy from the highest hierarchy of the name management system to a hierarchy higher than the inquiry inquiry hierarchy. The second verification step for verifying using the second verification information obtained by the inquiry, and the name resolution device has been verified for validity in the second verification step. A storage step of storing the first verification information in the cache unit for reuse; and when the name resolution device creates a free area in the cache unit, the first verification information is stored in the cache unit. And a cache release process for controlling to remain in the system.
また、本発明に係る名前解決プログラムは、コンピュータを、上記の名前解決方法を実行する名前解決装置として機能させることを特徴とする。 A name resolution program according to the present invention causes a computer to function as a name resolution device that executes the above-described name resolution method.
本発明に係る名前解決装置、名前解決方法および名前解決プログラムは、名前解決のための問い合わせを効率よく行うことができるという効果を奏する。 The name resolution device, the name resolution method, and the name resolution program according to the present invention have an effect that a query for name resolution can be efficiently performed.
以下に、本発明に係る名前解決装置、名前解決方法および名前解決プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の例では、階層的に構成された名前空間を管理する名前管理システムの例としてDNSを示すが、LDAP(Lightweight Directory Access Protocol)のような階層的に構成された名前空間を管理する他の名前管理システムにも本発明を適用することができる。 Embodiments of a name resolution device, a name resolution method, and a name resolution program according to the present invention will be described below in detail with reference to the drawings. In the following example, DNS is shown as an example of a name management system that manages a hierarchically configured namespace, but a hierarchically configured namespace such as LDAP (Lightweight Directory Access Protocol) is managed. The present invention can be applied to other name management systems.
本実施例に係る名前解決装置100は、DNS90に対して問い合わせを行って名前を解決する装置であり、名前解決のための従来のリソースレコードに加えて、DNSSECにおいて追加されたリソースレコードのうち、検証済みのDNSKEYリソースレコードのみをキャッシュする。そして、名前解決装置100は、DNSKEYリソースレコードができるだけ長くキャッシュに残るようにキャッシュ制御を行う。
The name resolution device 100 according to the present embodiment is a device that makes an inquiry to the
このように検証済みのDNSKEYリソースレコードを優先的にキャッシュすることにより、DNSSECが有効化されている場合でも、名前解決の完了までの時間をDNSSECが有効化されていない場合とほぼ同等にすることができる。 By preferentially caching verified DNSKEY resource records in this way, even when DNSSEC is enabled, the time until completion of name resolution is almost the same as when DNSSEC is not enabled. Can do.
例えば、Aリソースレコードがキャッシュされていない場合でも、そのAリソースレコードが属するゾーンの検証済みのDNSKEYリソースレコードがキャッシュされていれば、図20に示すように、DNSKEYを検証するためのDSリソースレコード等を上位のゾーンのDNSサーバに再帰的に問い合わせる処理(図19のステップS19〜ステップS27)が不要となるため、名前解決の完了までの時間とやりとりされる情報の量は、DNSSECが有効化されていない場合とほぼ同等となる。 For example, even if the A resource record is not cached, if the verified DNSKEY resource record of the zone to which the A resource record belongs is cached, the DS resource record for verifying the DNSKEY as shown in FIG. The process of recursively inquiring the DNS server of the higher zone etc. (steps S19 to S27 in FIG. 19) is unnecessary, so that DNSSEC enables the time to complete name resolution and the amount of information exchanged. It is almost equivalent to the case where it is not done.
また、ゾーン内のネットワークインターフェース毎に存在するAリソースレコード等と異なり、DNSKEYリソースレコードは、ゾーン毎に比較的少数(例えば、2つ程度)しか存在しないため、優先的にキャッシュしたとしてもDNSKEYリソースレコードがキャッシュ領域に占める割合は比較的小さく、キャッシュミスが多くなることはない。 Also, unlike the A resource record that exists for each network interface in the zone, there are relatively few DNSKEY resource records (for example, about two) for each zone. The proportion of records in the cache area is relatively small, and cache misses do not increase.
なお、名前解決装置100は、図18に示したDNSキャッシュサーバ20のようにDNSへの問い合わせを中継する装置であってもよいし、DNSキャッシュサーバ20のような装置を介さずに、権威をもつDNSサーバへ直接に問い合わせを行うクライアント装置であってもよい。また、以下の説明では、説明を簡単にするため、TTL(Time To Live)等の有効期間については考慮しないこととする。
The name resolution device 100 may be a device that relays an inquiry to the DNS, such as the
次に、図1を参照しながら、本実施例に係る名前解決装置100の構成について説明する。図1に示すように、名前解決装置100は、名前解決部101と、問合せ部102と、キャッシュ部103と、キャッシュ制御部104と、検証部105とを有する。名前解決部101は、名前解決のための問い合わせの生成と、問い合わせに対する応答の解析を行う。
Next, the configuration of the name resolution device 100 according to the present embodiment will be described with reference to FIG. As illustrated in FIG. 1, the name resolution device 100 includes a
問合せ部102は、名前解決部101によって生成された問い合わせをDNS90へ送信し、DNS90から返信された応答を名前解決部101に引き渡すとともにキャッシュ部103に記憶させる。そして、名前解決部101によって新たに生成された問い合わせに対応する応答がキャッシュ部103に記憶されている場合、問合せ部102は、その問い合わせをDNS90へ送信せずに、その問い合わせに対応する応答をキャッシュ部103から取得して名前解決部101に引き渡す。
The
問い合わせ先のゾーンでDNSSECが有効化されている場合、問合せ部102は、名前解決部101によって生成された問い合わせに対応する応答の正当性を検証部105に検証させ、正当性の検証が成功した場合にのみ応答を名前解決部101に引き渡すとともにキャッシュ部103に記憶させる。正当性が確認された応答をキャッシュ部103に記憶させることにより、キャッシュ部103から取得した応答を利用するたびに正当性を確認することが不要となる。なお、問い合わせ先のゾーンでDNSSECが有効化されているか否かは、応答に含まれる所定のビットの値やRRSIGリソースレコードの有無等から判断することができる。
When DNSSEC is enabled in the inquiry destination zone, the
キャッシュ部103は、名前解決のための問い合わせに対する応答と、検証部105によって正当性が検証されたDNSKEYリソースレコードとを記憶する。キャッシュ制御部104は、問合せ部102および検証部105の要求に応じて、キャッシュ部103に記憶されている情報の検索と、キャッシュ部103への情報の格納を行う。また、キャッシュ制御部104は、キャッシュ部103へ新たな情報を格納するにあたって、キャッシュ部103の使用量を確認し、使用量が閾値を超過している場合には、新たな情報を格納する領域を確保するために、キャッシュ部103に記憶されている情報を削除する。なお、削除される情報は、新たな情報を格納する領域が確保されることを条件として、なるべく少ないことが好ましい。
The
キャッシュ制御部104は、キャッシュ部103に記憶されている情報を削除する場合に、記憶されているDNSKEYリソースレコードを優先的に残して、他の種類のリソースレコードを削除する。なお、キャッシュ部103へ新たな情報を格納するタイミングだけでなく、定期的にキャッシュ部103の使用量を確認して使用量が閾値を超過している場合にはキャッシュ部103に記憶されている情報を削除するようにキャッシュ制御部104を構成してもよい。
When deleting information stored in the
また、使用量に関する閾値とキャッシュ部103に記憶されている情報を削除する量については、適宜決定することができ、キャッシュ部103へ新たな情報を格納する場合と定期的にキャッシュ部103の使用量を確認する場合とで値が異なっていてもよい。例えば、キャッシュ部103へ新たな情報を格納する場合における使用量に関する閾値は、解放によって失われる情報量を最小にするために、キャッシュがフルに使用されていることを示す値に設定し、定期的にキャッシュ部103の使用量を確認する場合における使用量に関する閾値は、新たな情報を格納するたびに空き領域を作成することによる負荷の増大を防止するために、ある程度まとまった空き領域を用意できるようにキャッシュ容量の9割程度の値に設定することとしてもよい。
In addition, the threshold regarding the usage amount and the amount of information stored in the
検証部105は、DNSSECが有効化されているゾーンに対して行われた名前解決のための問い合わせに対する応答の正当性を確認する。具体的には、検証部105は、問い合わせが行われたゾーンのDNSKEYリソースレコードを問合せ部102に取得させ、取得されたDNSKEYリソースレコードに含まれる公開鍵(ZSK)を用いて、応答されたリソースレコードの署名を検証する。さらに、検証部105は、取得されたDNSKEYリソースレコードに含まれる公開鍵(KSK)を用いて、DNSKEYリソースレコードの署名を検証するとともに、最上位のゾーンから、問い合わせが行われたゾーンの上位のゾーンまで、問合せ部102に再帰的に問い合わせを行わせ、取得されたDSリソースレコード等を用いて、DNSKEYリソースレコードに含まれる公開鍵(KSK)を含む信頼の連鎖を検証する。
The
DNSKEYリソースレコードの正当性が検証されると、検証部105は、正当性が確認されたDNSKEYリソースレコードをキャッシュ部103に記憶させる。そして、SSECが有効化されているゾーンに対して行われた名前解決のための問い合わせに対する応答の正当性を新たに検証する場合、問い合わせが行われたゾーンのDNSKEYリソースレコードがキャッシュ部103に記憶されていれば、検証部105は、キャッシュ部103に記憶されているDNSKEYリソースレコードに含まれる公開鍵(ZSK)を用いて、応答されたリソースレコードの署名を検証し、DSリソースレコード等を取得するための再帰的な問い合わせを問合せ部102に行わせない。
When the validity of the DNSKEY resource record is verified, the
このように、正当性が検証されたDNSKEYリソースレコードをキャッシュ部103に記憶させ、優先的にキャッシュ部103に残すことにより、図19のステップS19〜ステップS28のような上位のゾーンへの再帰的な問い合わせの発生を抑止し、名前解決の完了までの時間を短縮するとともにやりとりされる情報の量を削減することができる。
In this way, the DNSKEY resource record whose validity has been verified is stored in the
次に、図2を参照しながら名前解決装置100による名前解決処理の処理手順について説明する。図2に示すように、名前解決部101が、名前解決のための問い合わせを生成し、問合せ部102に送信を依頼すると(ステップS101)、キャッシュ制御部104が、その問い合わせに対応する応答であるリソースレコードをキャッシュ部103から検索する(ステップS102)。ここで、該当するリソースレコードが存在した場合(ステップS103肯定)、問合せ部102は、検索されたリソースレコードを名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS113)。
Next, a processing procedure of name resolution processing by the name resolution device 100 will be described with reference to FIG. As shown in FIG. 2, when the
一方、該当するリソースレコードがキャッシュ部103に存在しない場合(ステップS103否定)、問合せ部102がDNS90に対して問い合わせを送信し、応答を受信する(ステップS104)。ここで、DNSSECが有効でない場合(ステップS105否定)、キャッシュ制御部104が、応答されたリソースレコードをキャッシュ部103に記憶させる(ステップS112)。そして、問合せ部102は、応答されたリソースレコードを名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS113)。
On the other hand, when the corresponding resource record does not exist in the cache unit 103 (No at Step S103), the
DNSSECが有効な場合(ステップS105肯定)、キャッシュ制御部104が、問い合わせが行われたゾーンのDNSKEYリソースレコードをキャッシュ部103から検索する(ステップS106)。ここで、該当するDNSKEYリソースレコードが存在した場合(ステップS107肯定)、検証部105が、そのDNSKEYリソースレコードを用いて、ステップS104で得られたリソースレコードの正当性を検証する(ステップS111)。
If DNSSEC is valid (Yes at step S105), the
そして、正当性の検証が成功したならば、キャッシュ制御部104が、ステップS104で得られたリソースレコード(ただし、RRSIGを除く)をキャッシュ部103に記憶させる(ステップS112)。そして、問合せ部102は、ステップS104で得られたリソースレコード(ただし、RRSIGを除く)を名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS113)。
If the validity verification is successful, the
一方、該当するDNSKEYリソースレコードがキャッシュ部103に存在しない場合(ステップS107否定)、問合せ部102は、ステップS104で問い合わせが行われたゾーンのDNSKEYリソースレコードを取得する(ステップS108)。さらに、問合せ部102は、最上位のゾーンから、ステップS104で問い合わせが行われたゾーンの上位のゾーンまで、再帰的に問い合わせを行ってDSリソースレコードとDNSKEYリソースレコードを取得し、取得されたDSリソースレコード等を用いて、検証部105が、ステップS108で取得されたDNSKEYリソースレコードの正当性を検証する(ステップS109)。この再帰的な問い合わせにおいて、取得すべきDNSKEYリソースレコードがキャッシュ部103に存在する場合、問合せ部102は、そのDNSKEYリソースレコードをDNS90から取得する代わりに、キャッシュ部103から取得する。
On the other hand, when the corresponding DNSKEY resource record does not exist in the cache unit 103 (No at Step S107), the
そして、正当性の検証が成功したならば、キャッシュ制御部104が、ステップS108で得られたDNSKEYリソースレコード(ただし、RRSIGを除く)をキャッシュ部103に記憶させる(ステップS110)。続いて、検証部105が、正当性が検証されたDNSKEYリソースレコードを用いて、ステップS104で得られたリソースレコードの正当性を検証する(ステップS111)。
If the validity verification is successful, the
そして、正当性の検証が成功したならば、キャッシュ制御部104が、ステップS104で得られたリソースレコード(ただし、RRSIGを除く)をキャッシュ部103に記憶させる(ステップS112)。そして、問合せ部102は、ステップS104で得られたリソースレコード(ただし、RRSIGを除く)を名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS113)。
If the validity verification is successful, the
次に、図3を参照しながら、キャッシュ制御部104が、新たな情報をキャッシュ部103に格納するタイミング、あるいは、定期的なタイミングで実行するキャッシュ解放処理の処理手順について説明する。キャッシュ制御部104は、キャッシュ部103の使用量を確認し(ステップS201)、使用量が閾値を超過していなければ(ステップS202否定)、特に処理を行うことなくキャッシュ解放処理を終了する。
Next, with reference to FIG. 3, a description will be given of a processing procedure of a cache release process performed by the
一方、使用量が閾値を超過していれば(ステップS202肯定)、キャッシュ制御部104は、DNSKEYリソースレコードを優先的に残しつつ、キャッシュ部103に記憶されているリソースレコードを削除して領域を解放する(ステップS203)。
On the other hand, if the usage amount exceeds the threshold value (Yes in step S202), the
上述してきたように、本実施例では、検証済みのDNSKEYリソースレコードを優先的にキャッシュすることとしたので、DNSSECが有効化されている場合でも、DNSSECが有効化されていない場合とほぼ同等の効率で名前解決を実行することができる。 As described above, in this embodiment, the verified DNSKEY resource record is preferentially cached. Therefore, even when DNSSEC is enabled, it is almost the same as when DNSSEC is not enabled. Name resolution can be performed efficiently.
本実施例では、キャッシュ容量等の問題からキャッシュされているDNSKEYリソースレコードの一部を削除する例について説明する。なお、以下の説明では、既に説明した部分と同様の部分には、既に説明した部分と同一の符号を付すこととし、重複する説明を省略することとする。 In this embodiment, an example will be described in which a part of the DNSKEY resource record that is cached is deleted due to a problem such as cache capacity. In the following description, the same parts as those already described are denoted by the same reference numerals as those already described, and redundant description is omitted.
まず、図4を参照しながら、本実施例に係る名前解決装置200の構成について説明する。図4に示すように、名前解決装置200は、名前解決部101と、問合せ部102と、キャッシュ部103と、キャッシュ制御部204と、検証部105と、深度情報記憶部208とを有する。
First, the configuration of the name resolution device 200 according to the present embodiment will be described with reference to FIG. As illustrated in FIG. 4, the name resolution device 200 includes a
深度情報記憶部208は、キャッシュ部103に記憶されている各DNSKEYリソースレコードに対応するゾーンの階層の深さを深度情報として保持する。深度情報の一例を図5に示す。図5の例が示すように、深度情報は、ゾーンや深度といった項目を有する。ゾーンの項目は、DNSKEYリソースレコードに対応するゾーンの名称が格納される項目である。深度の項目は、DNSKEYリソースレコードに対応するゾーンが、ルートからみて何番目の階層にあたるかを示す値が格納される項目である。
The depth
図5に示す深度情報の1行目には、ゾーンの項目に”tokyo.kanto.example.jp.”が設定され、深度の項目に”4”が設定されている。これは、”tokyo.kanto.example.jp.”という名称のゾーンのDNSKEYリソースレコードがキャッシュ部103に記憶されており、そのゾーンは、ルートからみて4番目の階層にあたることを示している。
In the first line of the depth information shown in FIG. 5, “tokyo.kanto.example.jp.” Is set in the zone item, and “4” is set in the depth item. This indicates that a DNSKEY resource record of a zone named “tokyo.kanto.example.jp.” Is stored in the
なお、深度情報は、キャッシュ部103におけるDNSKEYリソースレコードの格納位置等の他の属性情報を含んでもよい。また、深度情報は、同じ深度のゾーンを連結させたリスト(図6参照)のような他の形式で構成されていてもよい。
Note that the depth information may include other attribute information such as the storage location of the DNSKEY resource record in the
キャッシュ制御部204は、問合せ部102および検証部105の要求に応じて、キャッシュ部103に記憶されている情報の検索と、キャッシュ部103への情報の格納を行う。キャッシュ制御部204は、キャッシュ部103へ新たなDNSKEYリソースレコードを格納する場合、そのDNSKEYリソースレコードに対応するゾーンの深度を取得して、求めた深度をゾーンの名称と対応付けて深度情報記憶部208に記録する。
The
ゾーンの深度は、ゾーンの名称に含まれるラベルの数から取得することができる。例えば、”tokyo.kanto.example.jp.”というゾーンの名称には、”tokyo”、”kanto”、”example”、”jp”という4つのラベルが含まれるため、このゾーンの深度は”4”となる。なお、ゾーンの深度は、DNSKEYリソースレコードの正当性を検証するために再帰的に問い合わせを行った階層の深さから取得してもよい。 The depth of the zone can be obtained from the number of labels included in the name of the zone. For example, since the name of the zone “tokyo.kanto.example.jp.” Includes four labels “tokyo”, “kanto”, “example”, and “jp”, the depth of this zone is “4”. " Note that the zone depth may be acquired from the depth of the hierarchy that is recursively inquired to verify the validity of the DNSKEY resource record.
また、キャッシュ制御部204は、キャッシュ部103へ新たな情報を格納するにあたって、キャッシュ部103の使用量を確認し、使用量が閾値を超過している場合には、新たな情報を格納する領域を確保するために、キャッシュ部103に記憶されている情報を削除する。なお、削除される情報は、新たな情報を格納する領域が確保されることを条件として、なるべく少ないことが好ましい。
In addition, when storing new information in the
キャッシュ制御部204は、キャッシュ部103に記憶されている情報を削除する場合に、記憶されているDNSKEYリソースレコードを優先的に残して、他の種類のリソースレコードを削除する。そして、他の種類のリソースレコードを削除してもキャッシュ部103の使用量が閾値を超過している場合には、キャッシュ制御部204は、深度情報記憶部208を参照して、深度の値が小さいゾーンのDNSKEYリソースレコードをキャッシュ部103から削除するとともに、削除したDNSKEYリソースレコードに対応するゾーンの情報を深度情報記憶部208から削除する。
When deleting the information stored in the
ここで、「深度の値が小さいゾーンのDNSKEYリソースレコードを削除する」とは、例えば、深度の値が最も小さいゾーンのDNSKEYリソースレコードを削除することでもよいし、深度の値が最も大きいゾーンのDNSKEYリソースレコードを残して他のDNSKEYリソースレコードを削除することでもよいし、深度の値が所定値よりも小さいゾーンのDNSKEYリソースレコードを削除することでもよいし、キャッシュ部103の使用量が所定値を下回るまで深度の値が小さい順にDNSKEYリソースレコードを削除することでもよい。
Here, “deleting a DNSKEY resource record in a zone having a small depth value” may be, for example, deleting a DNSKEY resource record in a zone having the smallest depth value or a zone having the largest depth value. Other DNSKEY resource records may be deleted while leaving a DNSKEY resource record, a DNSKEY resource record in a zone whose depth value is smaller than a predetermined value may be deleted, and the usage amount of the
深度の値が小さいゾーンのDNSKEYリソースレコードは、キャッシュ部103から削除されても、ルートからの階層が少ないので、少ないコストで正当性を検証することができる。例えば、”tokyo.kanto.example.jp.”という名称をもつ深度4のゾーンのDNSKEYリソースレコードの正当性を検証するには、ルート、”jp.”、”example.jp.”、”kanto.example.jp.”という4つの階層からDSリソースレコード等を取得する必要があるが、”jp.”という名称をもつ深度1のゾーンのDNSKEYリソースレコードの正当性を検証するには、ルートという1つの階層からDSリソースレコード等を取得すればよい。
Even if the DNSKEY resource record in the zone having a small depth value is deleted from the
このため、階層が深いゾーンのDNSKEYリソースレコードを優先的に残すことにより、DNSKEYリソースレコードの正当性の検証に必要な問い合わせを最小限に抑えて、名前解決の完了までの時間を短くすることができる。 For this reason, by preferentially leaving the DNSKEY resource record in a zone with a deep hierarchy, the number of inquiries required for verifying the validity of the DNSKEY resource record can be minimized, and the time to completion of name resolution can be shortened. it can.
なお、キャッシュ部103へ新たな情報を格納するタイミングだけでなく、定期的にキャッシュ部103の使用量を確認して使用量が閾値を超過している場合にはキャッシュ部103に記憶されている情報を削除するようにキャッシュ制御部204を構成してもよい。また、使用量に関する閾値とキャッシュ部103に記憶されている情報を削除する量については、適宜決定することができ、キャッシュ部103へ新たな情報を格納する場合と定期的にキャッシュ部103の使用量を確認する場合とで値が異なっていてもよい。また、どの階層までのDNSKEYリソースレコードをキャッシュ部103から削除するかについては、予め決めておいてもよいし、削除されるDNSKEYリソースレコードが最少で済むように動的に決定してもよい。
Not only the timing of storing new information in the
次に、図7を参照しながら名前解決装置200による名前解決処理の処理手順について説明する。図7に示すように、名前解決部101が、名前解決のための問い合わせを生成し、問合せ部102に送信を依頼すると(ステップS301)、キャッシュ制御部204が、その問い合わせに対応する応答であるリソースレコードをキャッシュ部103から検索する(ステップS302)。ここで、該当するリソースレコードが存在した場合(ステップS303肯定)、問合せ部102は、検索されたリソースレコードを名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS314)。
Next, a processing procedure of name resolution processing by the name resolution device 200 will be described with reference to FIG. As shown in FIG. 7, when the
一方、該当するリソースレコードがキャッシュ部103に存在しない場合(ステップS303否定)、問合せ部102がDNS90に対して問い合わせを送信し、応答を受信する(ステップS304)。ここで、DNSSECが有効でない場合(ステップS305否定)、キャッシュ制御部204が、応答されたリソースレコードをキャッシュ部103に記憶させる(ステップS313)。そして、問合せ部102は、応答されたリソースレコードを名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS314)。
On the other hand, when the corresponding resource record does not exist in the cache unit 103 (No at Step S303), the
DNSSECが有効な場合(ステップS305肯定)、キャッシュ制御部204が、問い合わせが行われたゾーンのDNSKEYリソースレコードをキャッシュ部103から検索する(ステップS306)。ここで、該当するDNSKEYリソースレコードが存在した場合(ステップS307肯定)、検証部105が、そのDNSKEYリソースレコードを用いて、ステップS304で得られたリソースレコードの正当性を検証する(ステップS312)。
When DNSSEC is valid (Yes at step S305), the
そして、正当性の検証が成功したならば、キャッシュ制御部204が、ステップS304で得られたリソースレコード(ただし、RRSIGを除く)をキャッシュ部103に記憶させる(ステップS313)。そして、問合せ部102は、ステップS304で得られたリソースレコード(ただし、RRSIGを除く)を名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS314)。
If the validity verification is successful, the
一方、該当するDNSKEYリソースレコードがキャッシュ部103に存在しない場合(ステップS307否定)、問合せ部102は、ステップS304で問い合わせが行われたゾーンのDNSKEYリソースレコードを取得する(ステップS308)。さらに、問合せ部102は、最上位のゾーンから、ステップS304で問い合わせが行われたゾーンの上位のゾーンまで、再帰的に問い合わせを行ってDSリソースレコードとDNSKEYリソースレコードを取得し、取得されたDSリソースレコード等を用いて、検証部105が、ステップS308で取得されたDNSKEYリソースレコードの正当性を検証する(ステップS309)。この再帰的な問い合わせにおいて、取得すべきDNSKEYリソースレコードがキャッシュ部103に存在する場合、問合せ部102は、そのDNSKEYリソースレコードをDNS90から取得する代わりに、キャッシュ部103から取得する。
On the other hand, when the corresponding DNSKEY resource record does not exist in the cache unit 103 (No at Step S307), the
そして、正当性の検証が成功したならば、キャッシュ制御部204が、ステップS308で得られたDNSKEYリソースレコード(ただし、RRSIGを除く)をキャッシュ部103に記憶させるとともに(ステップS310)、そのDNSKEYリソースレコードを取得したゾーンの深度を深度情報記憶部208に記録する(ステップS311)。続いて、検証部105が、正当性が検証されたDNSKEYリソースレコードを用いて、ステップS304で得られたリソースレコードの正当性を検証する(ステップS312)。
If the validity verification is successful, the
そして、正当性の検証が成功したならば、キャッシュ制御部204が、ステップS304で得られたリソースレコード(ただし、RRSIGを除く)をキャッシュ部103に記憶させる(ステップS313)。そして、問合せ部102は、ステップS304で得られたリソースレコード(ただし、RRSIGを除く)を名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS314)。
If the validity verification is successful, the
次に、図8を参照しながら、キャッシュ制御部204が、新たな情報をキャッシュ部103に格納するタイミング、あるいは、定期的なタイミングで実行するキャッシュ解放処理の処理手順について説明する。キャッシュ制御部204は、キャッシュ部103の使用量を確認し(ステップS401)、使用量が閾値を超過していなければ(ステップS402否定)、特に処理を行うことなくキャッシュ解放処理を終了する。
Next, with reference to FIG. 8, a description will be given of a processing procedure of a cache release process performed by the
一方、使用量が閾値を超過していれば(ステップS402肯定)、キャッシュ制御部204は、DNSKEYリソースレコードを優先的に残しつつ、キャッシュ部103に記憶されている他の種類のリソースレコードを削除して領域を解放する(ステップS403)。そして、解放によって、キャッシュ部103の使用量が閾値以下となれば(ステップS204否定)、キャッシュ制御部204は、キャッシュ解放処理を終了する。
On the other hand, if the usage amount exceeds the threshold (Yes at step S402), the
解放後もキャッシュ部103の使用量が閾値を超過している場合(ステップS204肯定)、キャッシュ制御部204は、深度情報記憶部208を参照して、上述したように、深度の値が小さいゾーンのDNSKEYリソースレコードをキャッシュ部103から削除して領域を解放するとともに、削除したDNSKEYリソースレコードに対応するゾーンの情報を深度情報記憶部208から削除する(ステップS405)。
When the usage amount of the
上述してきたように、本実施例では、階層が深いゾーンのDNSKEYリソースレコードをキャッシュ部103に優先的に残すこととしたので、DNSKEYリソースレコードをキャッシュ部103から削除することの影響を小さく抑えることができる。
As described above, in this embodiment, since the DNSKEY resource record of the deep zone is preferentially left in the
本実施例では、キャッシュ容量等の問題からキャッシュされているDNSKEYリソースレコードの一部を削除する他の例について説明する。 In this embodiment, another example of deleting a part of the DNSKEY resource record cached due to a problem such as cache capacity will be described.
まず、図9を参照しながら、本実施例に係る名前解決装置300の構成について説明する。図9に示すように、名前解決装置300は、名前解決部101と、問合せ部102と、キャッシュ部103と、キャッシュ制御部304と、検証部105と、頻度情報記憶部309とを有する。
First, the configuration of the
頻度情報記憶部309は、キャッシュ部103に記憶されている各DNSKEYリソースレコードに対応する問い合わせの頻度を頻度情報として保持する。頻度情報の一例を図10に示す。図10の例が示すように、頻度情報は、ゾーンや問い合わせ回数といった項目を有する。ゾーンの項目は、DNSKEYリソースレコードに対応するゾーンの名称が格納される項目である。問い合わせ回数の項目は、DNSKEYリソースレコードに対応するゾーンに対して問い合わせが行われた回数が格納される項目であり、定期的に0にリセットされる。
The frequency
図10に示す頻度情報の1行目には、ゾーンの項目に”tokyo.kanto.example.jp.”が設定され、問い合わせ回数の項目に”1”が設定されている。これは、”tokyo.kanto.example.jp.”という名称のゾーンのDNSKEYリソースレコードがキャッシュ部103に記憶されており、そのゾーンに対して問い合わせが4回行われたことを示している。
In the first line of the frequency information shown in FIG. 10, “tokyo.kanto.example.jp.” Is set as the zone item, and “1” is set as the inquiry count item. This indicates that the DNSKEY resource record of the zone named “tokyo.kanto.example.jp.” Is stored in the
なお、頻度情報は、キャッシュ部103におけるDNSKEYリソースレコードの格納位置等の他の属性情報を含んでもよい。また、頻度情報は、他の形式で構成されていてもよい。
Note that the frequency information may include other attribute information such as the storage location of the DNSKEY resource record in the
キャッシュ制御部304は、問合せ部102および検証部105の要求に応じて、キャッシュ部103に記憶されている情報の検索と、キャッシュ部103への情報の格納を行う。キャッシュ制御部304は、問合せ部102からキャッシュ部103に記憶されている情報の検索を要求されると、要求された情報に対応するゾーンに頻度情報の問い合わせ回数を1を加算する。なお、問い合わせ回数の加算は、名前解決部101や問合せ部102が行ってもよい。
The
また、キャッシュ制御部304は、キャッシュ部103へ新たな情報を格納するにあたって、キャッシュ部103の使用量を確認し、使用量が閾値を超過している場合には、新たな情報を格納する領域を確保するために、キャッシュ部103に記憶されている情報を削除する。なお、削除される情報は、新たな情報を格納する領域が確保されることを条件として、なるべく少ないことが好ましい。
In addition, the
キャッシュ制御部304は、キャッシュ部103に記憶されている情報を削除する場合に、記憶されているDNSKEYリソースレコードを優先的に残して、他の種類のリソースレコードを削除する。そして、他の種類のリソースレコードを削除してもキャッシュ部103の使用量が閾値を超過している場合には、キャッシュ制御部304は、頻度情報記憶部309を参照して、問い合わせ回数の値が小さいゾーンのDNSKEYリソースレコードをキャッシュ部103から削除するとともに、削除したDNSKEYリソースレコードに対応するゾーンの情報を頻度情報記憶部309から削除する。
When deleting information stored in the
ここで、「問い合わせ回数の値が小さいゾーンのDNSKEYリソースレコードを削除する」とは、例えば、問い合わせ回数の値が最も小さいゾーンのDNSKEYリソースレコードを削除することでもよいし、問い合わせ回数の値が最も大きいゾーンのDNSKEYリソースレコードを残して他のDNSKEYリソースレコードを削除することでもよいし、問い合わせ回数の値が所定値よりも小さいゾーンのDNSKEYリソースレコードを削除することでもよいし、キャッシュ部103の使用量が所定値を下回るまで問い合わせ回数の値が小さい順にDNSKEYリソースレコードを削除することでもよい。 Here, “deleting a DNSKEY resource record for a zone with a small inquiry count value” may be, for example, deleting a DNSKEY resource record for a zone with the smallest inquiry count value, or having the highest inquiry count value. Other DNSKEY resource records may be deleted while leaving a DNSKEY resource record in a large zone, or a DNSKEY resource record in a zone whose inquiry count value is smaller than a predetermined value may be deleted. The DNSKEY resource records may be deleted in ascending order of the number of inquiries until the amount falls below a predetermined value.
問い合わせの頻度が高いゾーンのDNSKEYリソースレコードをキャッシュ部103から頻繁に削除すると、DNSKEYリソースレコードの正当性を確認するために再帰的な問い合わせを行ってDSリソースレコード等を取得する処理を頻繁に行うことが必要となり、名前解決の完了までに要する時間が長くなるおそれがある。問い合わせの頻度が低いゾーンのDNSKEYリソースレコードをキャッシュ部103から削除しても、そのような状況が発生する機会は少なくて済む。
If a DNSKEY resource record in a zone with a high inquiry frequency is frequently deleted from the
このため、問い合わせの頻度が高いゾーンのDNSKEYリソースレコードを優先的に残すことにより、DNSKEYリソースレコードの正当性の検証に必要な問い合わせを最小限に抑えて、名前解決の完了までの時間を短くすることができる。 Therefore, by preferentially leaving the DNSKEY resource record in the zone where the frequency of inquiries is high, the time required to complete name resolution is minimized by minimizing the inquiries required to verify the validity of the DNSKEY resource record. be able to.
なお、キャッシュ部103へ新たな情報を格納するタイミングだけでなく、定期的にキャッシュ部103の使用量を確認して使用量が閾値を超過している場合にはキャッシュ部103に記憶されている情報を削除するようにキャッシュ制御部304を構成してもよい。また、使用量に関する閾値とキャッシュ部103に記憶されている情報を削除する量については、適宜決定することができ、キャッシュ部103へ新たな情報を格納する場合と定期的にキャッシュ部103の使用量を確認する場合とで値が異なっていてもよい。また、どの問い合わせ回数までのDNSKEYリソースレコードをキャッシュ部103から削除するかについては、予め決めておいてもよいし、削除されるDNSKEYリソースレコードが最少で済むように動的に決定してもよい。
Not only the timing of storing new information in the
次に、図11を参照しながら名前解決装置300による名前解決処理の処理手順について説明する。図11に示すように、名前解決部101が、名前解決のための問い合わせを生成し、問合せ部102に送信を依頼すると(ステップS501)、キャッシュ制御部304が、その問い合わせに対応するゾーンの頻度情報の問い合わせ回数の値に1を加算するとともに(ステップS502)、その問い合わせに対応する応答であるリソースレコードをキャッシュ部103から検索する(ステップS503)。なお、問い合わせに対応するゾーンが頻度情報に存在しない場合、キャッシュ制御部304は、そのゾーンを頻度情報に追加し、問い合わせ回数として1を設定する。
Next, a processing procedure of name resolution processing by the
ここで、該当するリソースレコードが存在した場合(ステップS504肯定)、問合せ部102は、検索されたリソースレコードを名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS514)。
If the corresponding resource record exists (Yes at step S504), the
一方、該当するリソースレコードがキャッシュ部103に存在しない場合(ステップS504否定)、問合せ部102がDNS90に対して問い合わせを送信し、応答を受信する(ステップS505)。ここで、DNSSECが有効でない場合(ステップS506否定)、キャッシュ制御部304が、応答されたリソースレコードをキャッシュ部103に記憶させる(ステップS513)。そして、問合せ部102は、応答されたリソースレコードを名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS514)。
On the other hand, when the corresponding resource record does not exist in the cache unit 103 (No in step S504), the
DNSSECが有効な場合(ステップS506肯定)、キャッシュ制御部304が、問い合わせが行われたゾーンのDNSKEYリソースレコードをキャッシュ部103から検索する(ステップS507)。ここで、該当するDNSKEYリソースレコードが存在した場合(ステップS508肯定)、検証部105が、そのDNSKEYリソースレコードを用いて、ステップS505で得られたリソースレコードの正当性を検証する(ステップS512)。
If DNSSEC is valid (Yes at step S506), the
そして、正当性の検証が成功したならば、キャッシュ制御部304が、ステップS505で得られたリソースレコード(ただし、RRSIGを除く)をキャッシュ部103に記憶させる(ステップS513)。そして、問合せ部102は、ステップS505で得られたリソースレコード(ただし、RRSIGを除く)を名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS514)。
If the validity verification is successful, the
一方、該当するDNSKEYリソースレコードがキャッシュ部103に存在しない場合(ステップS508否定)、問合せ部102は、ステップS505で問い合わせが行われたゾーンのDNSKEYリソースレコードを取得する(ステップS509)。さらに、問合せ部102は、最上位のゾーンから、ステップS304で問い合わせが行われたゾーンの上位のゾーンまで、再帰的に問い合わせを行ってDSリソースレコードとDNSKEYリソースレコードを取得し、取得されたDSリソースレコード等を用いて、検証部105が、ステップS509で取得されたDNSKEYリソースレコードの正当性を検証する(ステップS510)。この再帰的な問い合わせにおいて、取得すべきDNSKEYリソースレコードがキャッシュ部103に存在する場合、問合せ部102は、そのDNSKEYリソースレコードをDNS90から取得する代わりに、キャッシュ部103から取得する。
On the other hand, when the corresponding DNSKEY resource record does not exist in the cache unit 103 (No in step S508), the
そして、正当性の検証が成功したならば、キャッシュ制御部304が、ステップS509で得られたDNSKEYリソースレコード(ただし、RRSIGを除く)をキャッシュ部103に記憶させる(ステップS511)続いて、検証部105が、正当性が検証されたDNSKEYリソースレコードを用いて、ステップS505で得られたリソースレコードの正当性を検証する(ステップS512)。
If the validity verification is successful, the
そして、正当性の検証が成功したならば、キャッシュ制御部304が、ステップS505で得られたリソースレコード(ただし、RRSIGを除く)をキャッシュ部103に記憶させる(ステップS513)。そして、問合せ部102は、ステップS505で得られたリソースレコード(ただし、RRSIGを除く)を名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS514)。
If the validity verification is successful, the
次に、図12を参照しながら、キャッシュ制御部304が、新たな情報をキャッシュ部103に格納するタイミング、あるいは、定期的なタイミングで実行するキャッシュ解放処理の処理手順について説明する。キャッシュ制御部304は、キャッシュ部103の使用量を確認し(ステップS601)、使用量が閾値を超過していなければ(ステップS602否定)、特に処理を行うことなくキャッシュ解放処理を終了する。
Next, with reference to FIG. 12, the processing procedure of the cache release process executed by the
一方、使用量が閾値を超過していれば(ステップS602肯定)、キャッシュ制御部304は、DNSKEYリソースレコードを優先的に残しつつ、キャッシュ部103に記憶されている他の種類のリソースレコードを削除して領域を解放する(ステップS603)。そして、解放によって、キャッシュ部103の使用量が閾値以下となれば(ステップS604否定)、キャッシュ制御部304は、キャッシュ解放処理を終了する。
On the other hand, if the usage amount exceeds the threshold (Yes in step S602), the
解放後もキャッシュ部103の使用量が閾値を超過している場合(ステップS604肯定)、キャッシュ制御部304は、頻度情報記憶部309を参照して、上述したように、問い合わせ回数が少ないゾーンのDNSKEYリソースレコードをキャッシュ部103から削除して領域を解放するとともに、削除したDNSKEYリソースレコードに対応するゾーンの情報を頻度情報記憶部309から削除する(ステップS605)。
If the usage amount of the
上述してきたように、本実施例では、問い合わせの頻度が高いゾーンのDNSKEYリソースレコードをキャッシュ部103に優先的に残すこととしたので、DNSKEYリソースレコードをキャッシュ部103から削除することの影響を小さく抑えることができる。
As described above, in this embodiment, since the DNSKEY resource record of the zone with the high inquiry frequency is left preferentially in the
なお、本実施例では、問い合わせの頻度が高いゾーンのDNSKEYリソースレコードをキャッシュ部103に優先的に残すこととしたが、DNSKEYリソースレコードがキャッシュ部103に格納されている各ゾーンのうち、最近問い合わせを行った日時が現在日時と近いゾーンのDNSKEYリソースレコードをキャッシュ部103に優先的に残すこととしても同様の効果を得ることができる。
In this embodiment, the DNSKEY resource record of the zone with the high inquiry frequency is left in the
本実施例では、キャッシュ容量等の問題からキャッシュされているDNSKEYリソースレコードの一部を削除するさらに他の例について説明する。 In the present embodiment, a description will be given of still another example in which a part of the DNSKEY resource record that is cached is deleted due to a problem such as cache capacity.
まず、図13を参照しながら、本実施例に係る名前解決装置400の構成について説明する。図13に示すように、名前解決装置400は、名前解決部101と、問合せ部102と、キャッシュ部103と、キャッシュ制御部404と、検証部105と、下位ゾーン数算出部410と、下位ゾーン数記憶部411とを有する。
First, the configuration of the
下位ゾーン数記憶部411は、キャッシュ部103に記憶されている各DNSKEYリソースレコードに対応するゾーンよりも下の階層に存在するゾーンの数を下位ゾーン数情報として保持する。下位ゾーン数情報の一例を図14に示す。図14の例が示すように、下位ゾーン数情報は、ゾーンや下位ゾーン数といった項目を有する。ゾーンの項目は、DNSKEYリソースレコードに対応するゾーンの名称が格納される項目である。下位ゾーン数の項目は、DNSKEYリソースレコードに対応するゾーンよりも下の階層に存在するゾーンの数が格納される項目である。
The lower zone
図14に示す下位ゾーン数情報の4行目には、ゾーンの項目に”kanto.example.jp.”が設定され、下位ゾーン数の項目に”2”が設定されている。これは、”kanto.example.jp.”という名称のゾーンよりも下に、”tokyo.kanto.example.jp.”という名称のゾーンと、”kanagawa.kanto.example.jp.”という名称のゾーンが存在するためである。 In the fourth line of the lower zone number information shown in FIG. 14, “kanto.example.jp.” Is set in the zone item, and “2” is set in the lower zone number item. This is because the zone named “tokyo.kanto.example.jp.” And the zone named “kanagawa.kanto.example.jp.” Are below the zone named “kanto.example.jp.”. This is because there exists.
また、図14に示す下位ゾーン数情報の3行目には、ゾーンの項目に”example.jp.”が設定され、下位ゾーン数の項目に”5”が設定されている。これは、”example.jp.”という名称のゾーンよりも下に、”kanto.example.jp.”という名称のゾーンと、”tokyo.kanto.example.jp.”という名称のゾーンと、”kanagawa.kanto.example.jp.”という名称のゾーンと、”kansai.example.jp.”という名称のゾーンと、”kyoto.kansai.example.jp.”という名称のゾーンが存在するためである。 Further, in the third line of the lower zone number information shown in FIG. 14, “example.jp.” Is set as the zone item, and “5” is set as the lower zone number item. This is because a zone named “kanto.example.jp.”, A zone named “tokyo.kanto.example.jp.”, And a “kanagawa” are located below a zone named “example.jp.”. This is because there is a zone named “.kanto.example.jp.”, A zone named “kansai.example.jp.”, And a zone named “kyoto.kansai.example.jp.”.
なお、下位ゾーン数情報は、キャッシュ部103におけるDNSKEYリソースレコードの格納位置等の他の属性情報を含んでもよい。また、下位ゾーン数情報は、他の形式で構成されていてもよい。
The lower zone number information may include other attribute information such as the storage location of the DNSKEY resource record in the
下位ゾーン数算出部410は、指定されたゾーンよりも下の階層に存在するゾーンの数を算出し、下位ゾーン数記憶部411に登録する。下位ゾーン数算出部410は、キャッシュ部103に格納されているDNSKEYリソースレコードの名称に基づいて各ゾーンの階層関係を判断し、指定されたゾーンよりも下の階層に存在するゾーンの数を算出する。
The lower zone
例えば、”jp.”という名称のゾーンと、”example.jp.”という名称のゾーンと、”kanto.example.jp.”という名称のゾーンと、”tokyo.kanto.example.jp.”という名称のゾーンと、”kanagawa.kanto.example.jp.”という名称のゾーンと、”kansai.example.jp.”という名称のゾーンと、”kyoto.kansai.example.jp.”という名称のゾーンのDNSKEYリソースレコードがキャッシュ部103に格納されている場合、下位ゾーン数算出部410は、図14の例に示したように各ゾーンの下位ゾーン数を算出する。
For example, a zone named “jp.”, A zone named “example.jp.”, A zone named “kanto.example.jp.”, And a name “tokyo.kanto.example.jp.” , A zone named “kanagawa.kanto.example.jp.”, A zone named “kansai.example.jp.”, And a DNSKEY of a zone named “kyoto.kansai.example.jp.” When the resource record is stored in the
この方式では、各ゾーンの下位ゾーン数を厳密に取得することはできないものの、名前解決装置400は、DNSKEYリソースレコードを優先的にキャッシュ部103に残すように構成されているため、各ゾーンよりも下の階層に存在するゾーンのうち、DNSSECが有効化されており、問い合わせを行う可能性があるゾーンの数をほぼ漏れなく取得することができる。
In this method, although the number of lower zones of each zone cannot be strictly acquired, the
キャッシュ制御部404は、問合せ部102および検証部105の要求に応じて、キャッシュ部103に記憶されている情報の検索と、キャッシュ部103への情報の格納を行う。キャッシュ制御部404は、キャッシュ部103へ新たなDNSKEYリソースレコードを格納する場合、そのDNSKEYリソースレコードに対応するゾーンの下位ゾーン数を算出し下位ゾーン数記憶部411に格納する処理を下位ゾーン数算出部410に実行させる。また、キャッシュ制御部404は、キャッシュ部103からDNSKEYリソースレコードが削除された場合、キャッシュ部103に記憶されているDNSKEYリソースレコードに対応する各ゾーンの下位ゾーン数を算出し直して下位ゾーン数記憶部411を更新する処理を下位ゾーン数算出部410に実行させる。
The
また、キャッシュ制御部404は、キャッシュ部103へ新たな情報を格納するにあたって、キャッシュ部103の使用量を確認し、使用量が閾値を超過している場合には、新たな情報を格納する領域を確保するために、キャッシュ部103に記憶されている情報を削除する。なお、削除される情報は、新たな情報を格納する領域が確保されることを条件として、なるべく少ないことが好ましい。
In addition, the
キャッシュ制御部404は、キャッシュ部103に記憶されている情報を削除する場合に、記憶されているDNSKEYリソースレコードを優先的に残して、他の種類のリソースレコードを削除する。そして、他の種類のリソースレコードを削除してもキャッシュ部103の使用量が閾値を超過している場合には、キャッシュ制御部404は、下位ゾーン数記憶部411を参照して、下位ゾーン数の値が小さいゾーンのDNSKEYリソースレコードをキャッシュ部103から削除するとともに、削除したDNSKEYリソースレコードに対応するゾーンの情報を下位ゾーン数記憶部411から削除する。
When the information stored in the
ここで、「下位ゾーン数の値が小さいゾーンのDNSKEYリソースレコードを削除する」とは、例えば、下位ゾーン数の値が最も小さいゾーンのDNSKEYリソースレコードを削除することでもよいし、下位ゾーン数の値が最も大きいゾーンのDNSKEYリソースレコードを残して他のDNSKEYリソースレコードを削除することでもよいし、下位ゾーン数の値が所定値よりも小さいゾーンのDNSKEYリソースレコードを削除することでもよいし、キャッシュ部103の使用量が所定値を下回るまで下位ゾーン数の値が小さい順にDNSKEYリソースレコードを削除することでもよい。
Here, “deleting a DNSKEY resource record of a zone having a lower value of the number of lower zones” may be, for example, deleting a DNSKEY resource record of a zone having the lowest value of the number of lower zones, The DNSKEY resource record of the zone with the largest value may be left and the other DNSKEY resource record may be deleted, or the DNSKEY resource record of the zone having the lower zone number value smaller than the predetermined value may be deleted, or the cache The DNSKEY resource record may be deleted in ascending order of the number of lower zones until the usage amount of the
下位ゾーン数が多いゾーンのDNSKEYリソースレコードは、いずれかの下位ゾーンのDNSKEYリソースレコードの正当性を検証する場合に必要になる。このため、下位ゾーン数が多いゾーンのDNSKEYリソースレコードを優先的に残すことにより、DNSKEYリソースレコードを問い合わせる頻度を最小限に抑えて、名前解決の完了までの時間を短くすることができる。 A DNSKEY resource record of a zone having a large number of lower zones is necessary when verifying the validity of the DNSKEY resource record of any lower zone. For this reason, by preferentially leaving the DNSKEY resource record of the zone having a large number of lower zones, the frequency of querying the DNSKEY resource record can be minimized, and the time until the completion of name resolution can be shortened.
なお、キャッシュ部103へ新たな情報を格納するタイミングだけでなく、定期的にキャッシュ部103の使用量を確認して使用量が閾値を超過している場合にはキャッシュ部103に記憶されている情報を削除するようにキャッシュ制御部404を構成してもよい。また、使用量に関する閾値とキャッシュ部103に記憶されている情報を削除する量については、適宜決定することができ、キャッシュ部103へ新たな情報を格納する場合と定期的にキャッシュ部103の使用量を確認する場合とで値が異なっていてもよい。また、どの下位ゾーン数までのDNSKEYリソースレコードをキャッシュ部103から削除するかについては、予め決めておいてもよいし、削除されるDNSKEYリソースレコードが最少で済むように動的に決定してもよい。
Not only the timing of storing new information in the
次に、図15を参照しながら名前解決装置400による名前解決処理の処理手順について説明する。図15に示すように、名前解決部101が、名前解決のための問い合わせを生成し、問合せ部102に送信を依頼すると(ステップS701)、キャッシュ制御部404が、その問い合わせに対応する応答であるリソースレコードをキャッシュ部103から検索する(ステップS702)。ここで、該当するリソースレコードが存在した場合(ステップS703肯定)、問合せ部102は、検索されたリソースレコードを名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS714)。
Next, a processing procedure of name resolution processing by the
一方、該当するリソースレコードがキャッシュ部103に存在しない場合(ステップS703否定)、問合せ部102がDNS90に対して問い合わせを送信し、応答を受信する(ステップS704)。ここで、DNSSECが有効でない場合(ステップS705否定)、キャッシュ制御部404が、応答されたリソースレコードをキャッシュ部103に記憶させる(ステップS713)。そして、問合せ部102は、応答されたリソースレコードを名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS714)。
On the other hand, when the corresponding resource record does not exist in the cache unit 103 (No at Step S703), the
DNSSECが有効な場合(ステップS705肯定)、キャッシュ制御部404が、問い合わせが行われたゾーンのDNSKEYリソースレコードをキャッシュ部103から検索する(ステップS706)。ここで、該当するDNSKEYリソースレコードが存在した場合(ステップS707肯定)、検証部105が、そのDNSKEYリソースレコードを用いて、ステップS704で得られたリソースレコードの正当性を検証する(ステップS712)。
If DNSSEC is valid (Yes at step S705), the
そして、正当性の検証が成功したならば、キャッシュ制御部404が、ステップS704で得られたリソースレコード(ただし、RRSIGを除く)をキャッシュ部103に記憶させる(ステップS713)。そして、問合せ部102は、ステップS704で得られたリソースレコード(ただし、RRSIGを除く)を名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS714)。
If the validity verification is successful, the
一方、該当するDNSKEYリソースレコードがキャッシュ部103に存在しない場合(ステップS707否定)、問合せ部102は、ステップS704で問い合わせが行われたゾーンのDNSKEYリソースレコードを取得する(ステップS708)。さらに、問合せ部102は、最上位のゾーンから、ステップS704で問い合わせが行われたゾーンの上位のゾーンまで、再帰的に問い合わせを行ってDSリソースレコードとDNSKEYリソースレコードを取得し、取得されたDSリソースレコード等を用いて、検証部105が、ステップS308で取得されたDNSKEYリソースレコードの正当性を検証する(ステップS709)。この再帰的な問い合わせにおいて、取得すべきDNSKEYリソースレコードがキャッシュ部103に存在する場合、問合せ部102は、そのDNSKEYリソースレコードをDNS90から取得する代わりに、キャッシュ部103から取得する。
On the other hand, when the corresponding DNSKEY resource record does not exist in the cache unit 103 (No in step S707), the
そして、正当性の検証が成功したならば、キャッシュ制御部404が、ステップS708で得られたDNSKEYリソースレコード(ただし、RRSIGを除く)をキャッシュ部103に記憶させるとともに(ステップS710)、そのDNSKEYリソースレコードを取得したゾーンの下位ゾーン数を下位ゾーン数記憶部101に記録する(ステップS711)。続いて、検証部105が、正当性が検証されたDNSKEYリソースレコードを用いて、ステップS704で得られたリソースレコードの正当性を検証する(ステップS712)。
If the validity verification is successful, the
そして、正当性の検証が成功したならば、キャッシュ制御部404が、ステップS704で得られたリソースレコード(ただし、RRSIGを除く)をキャッシュ部103に記憶させる(ステップS713)。そして、問合せ部102は、ステップS704で得られたリソースレコード(ただし、RRSIGを除く)を名前解決部101に引き渡し、名前解決部101は、引き渡されたリソースレコードの内容を解析する(ステップS714)。
If the validity verification is successful, the
次に、図16を参照しながら、キャッシュ制御部404が、新たな情報をキャッシュ部103に格納するタイミング、あるいは、定期的なタイミングで実行するキャッシュ解放処理の処理手順について説明する。キャッシュ制御部404は、キャッシュ部103の使用量を確認し(ステップS801)、使用量が閾値を超過していなければ(ステップS802否定)、特に処理を行うことなくキャッシュ解放処理を終了する。
Next, with reference to FIG. 16, a description will be given of a processing procedure of a cache release process performed by the
一方、使用量が閾値を超過していれば(ステップS802肯定)、キャッシュ制御部404は、DNSKEYリソースレコードを優先的に残しつつ、キャッシュ部103に記憶されている他の種類のリソースレコードを削除して領域を解放する(ステップS803)。そして、解放によって、キャッシュ部103の使用量が閾値以下となれば(ステップS804否定)、キャッシュ制御部404は、キャッシュ解放処理を終了する。
On the other hand, if the usage amount exceeds the threshold (Yes in step S802), the
解放後もキャッシュ部103の使用量が閾値を超過している場合(ステップS804肯定)、キャッシュ制御部404は、下位ゾーン数記憶部411を参照して、上述したように、下位ゾーン数が少ないゾーンのDNSKEYリソースレコードをキャッシュ部103から削除して領域を解放するとともに、削除したDNSKEYリソースレコードに対応するゾーンの情報を下位ゾーン数記憶部411から削除し、下位ゾーン数を更新させる(ステップS805)。
If the usage amount of the
上述してきたように、本実施例では、下位のゾーン数が多いゾーンのDNSKEYリソースレコードをキャッシュ部103に優先的に残すこととしたので、DNSKEYリソースレコードをキャッシュ部103から削除することの影響を小さく抑えることができる。
As described above, in this embodiment, since the DNSKEY resource record of the zone having a large number of lower zones is preferentially left in the
上述した各実施例における名前解決装置の構成は、要旨を逸脱しない範囲で種々に変更することができる。例えば、一部のDNSKEYリソースレコードをキャッシュ部103から削除することについて実施例2〜4で示した各方式を何らかの優先順位を付けて組み合わせて用いることができる。
The configuration of the name resolution device in each of the above-described embodiments can be variously changed without departing from the gist. For example, the methods shown in the
優先順位を付けて各方式を組み合わせる例を示す。キャッシュ部103にDNSKEYリソースレコードが格納されているゾーンごとに、深度と、問い合わせ回数および下位ゾーン数を保持し、キャッシュ部103の使用量が閾値を超えていれば、まず、下位ゾーン数の値が最も小さいDNSKEYリソースレコードを削除する。そして、キャッシュ部103の使用量が依然として閾値を超えていれば、深度の値が最も小さいDNSKEYリソースレコードを削除する。そして、キャッシュ部103の使用量が依然として閾値を超えていれば、問い合わせ回数の値が所定値よりも小さいDNSKEYリソースレコードを削除する。
An example of combining the methods with priorities will be shown. For each zone in which the DNSKEY resource record is stored in the
また、上述した各実施例における名前解決装置の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、上述した各実施例における名前解決装置と同等の機能を実現することもできる。以下に、名前解決装置100の機能をソフトウェアとして実装した名前解決プログラム1071を実行するコンピュータの一例を示す。
Further, by implementing the function of the name resolution apparatus in each embodiment described above as software and executing this by a computer, a function equivalent to the name resolution apparatus in each embodiment described above can be realized. An example of a computer that executes a
図17は、名前解決プログラム1071を実行するコンピュータ1000を示す機能ブロック図である。このコンピュータ1000は、各種演算処理を実行するCPU(Central Processing Unit)1010と、ユーザからのデータの入力を受け付ける入力装置1020と、各種情報を表示するモニタ1030と、記録媒体からプログラム等を読み取る媒体読取り装置1040と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置1050と、各種情報を一時記憶するRAM(Random Access Memory)1060と、ハードディスク装置1070とをバス1080で接続して構成される。
FIG. 17 is a functional block diagram showing a
そして、ハードディスク装置1070には、図1に示した名前解決装置100各機能部と同様の機能を有する名前解決プログラム1071と、図1に示したキャッシュ部103に記憶される各種情報に対応するキャッシュデータ1072とが記憶される。
The
そして、CPU1010が名前解決プログラム1071をハードディスク装置1070から読み出してRAM1060に展開することにより、名前解決プログラム1071は、名前解決プロセス1061として機能するようになる。そして、名前解決プロセス1061は、キャッシュデータ1072から読み出した情報等を適宜RAM1060上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。
Then, the
なお、上記の名前解決プログラム1071は、必ずしもハードディスク装置1070に格納されている必要はなく、CD−ROM等の記憶媒体に記憶されたこのプログラムを、コンピュータ1000が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等を介してコンピュータ1000に接続される他のコンピュータ(またはサーバ)等にこのプログラムを記憶させておき、コンピュータ1000がこれらからプログラムを読み出して実行するようにしてもよい。
The
10 クライアント装置
20 DNSキャッシュサーバ
30〜50 DNSサーバ
90 DNS
100、200、300、400 名前解決装置
101 名前解決部
102 問合せ部
103 キャッシュ部
104 キャッシュ制御部
105 検証部
208 深度情報記憶部
304 キャッシュ制御部
309 頻度情報記憶部
404 キャッシュ制御部
410 下位ゾーン数算出部
411 下位ゾーン数記憶部
1000 コンピュータ
1010 CPU
1020 入力装置
1030 モニタ
1040 媒体読取り装置
1050 ネットワークインターフェース装置
1060 RAM
1061 名前解決プロセス
1070 ハードディスク装置
1071 名前解決プログラム
1072 キャッシュデータ
1080 バス
10
100, 200, 300, 400
1020
1061
Claims (11)
名前解決のための問い合わせへの応答内容の正当性を、該問い合わせの問い合わせ先の階層のサーバから得られた第1の検証情報を用いて検証するとともに、前記第1の検証情報の正当性を、前記名前管理システムの最上位の階層から該問い合わせの問い合わせ先の階層の上位の階層までの各階層のサーバに対して問い合わせて得られた第2の検証情報を用いて検証し、正当性が検証された前記第1の検証情報を前記キャッシュ部に記憶させて再利用する検証部と、
前記キャッシュ部に空き領域を作成する場合に、前記第1の検証情報を前記キャッシュ部に残すように制御するキャッシュ制御部と
を備えることを特徴とする名前解決装置。 A name resolution device having a cache unit that caches response contents to an inquiry to a name management system that manages a hierarchically configured name space,
The validity of the response content to the inquiry for name resolution is verified using the first verification information obtained from the server of the inquiry destination hierarchy of the inquiry, and the validity of the first verification information is verified. And verifying using the second verification information obtained by inquiring the servers of each layer from the highest layer of the name management system to the upper layer of the inquiry destination layer of the inquiry, and the validity is A verification unit that stores the verified first verification information in the cache unit and reuses the first verification information;
A name resolution apparatus comprising: a cache control unit that controls to leave the first verification information in the cache unit when a free area is created in the cache unit.
前記名前解決装置が、名前解決のための問い合わせへの応答内容の正当性を、該問い合わせの問い合わせ先の階層のサーバから得られた第1の検証情報を用いて検証する第1の検証工程と、
前記名前解決装置が、前記第1の検証情報の正当性を、前記名前管理システムの最上位の階層から該問い合わせの問い合わせ先の階層の上位の階層までの各階層のサーバに対して問い合わせて得られた第2の検証情報を用いて検証する第2の検証工程と、
前記名前解決装置が、前記第2の検証工程において正当性が検証された前記第1の検証情報を再利用のために前記キャッシュ部に記憶させる保管工程と、
前記名前解決装置が、前記キャッシュ部に空き領域を作成する場合に、前記第1の検証情報を前記キャッシュ部に残すように制御するキャッシュ解放工程と
を含むことを特徴とする名前解決方法。 A name resolution method executed by a name resolution apparatus having a cache unit that caches response contents to an inquiry to a name management system that manages a hierarchically configured name space, comprising:
A first verification step in which the name resolution device verifies the validity of the response content to the query for name resolution by using the first verification information obtained from the server of the inquiry destination hierarchy of the query; ,
The name resolution device obtains the validity of the first verification information by inquiring a server in each layer from the highest layer of the name management system to a higher layer of the inquiry destination layer. A second verification step for verifying using the obtained second verification information;
A storage step in which the name resolution device stores the first verification information verified in the second verification step in the cache unit for reuse;
A cache release step for controlling the first verification information to remain in the cache unit when the name resolution device creates an empty area in the cache unit;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010037743A JP5345577B2 (en) | 2010-02-23 | 2010-02-23 | Name resolution device, name resolution method, and name resolution program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010037743A JP5345577B2 (en) | 2010-02-23 | 2010-02-23 | Name resolution device, name resolution method, and name resolution program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011176468A true JP2011176468A (en) | 2011-09-08 |
JP5345577B2 JP5345577B2 (en) | 2013-11-20 |
Family
ID=44688948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010037743A Active JP5345577B2 (en) | 2010-02-23 | 2010-02-23 | Name resolution device, name resolution method, and name resolution program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5345577B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015201798A (en) * | 2014-04-09 | 2015-11-12 | キヤノン株式会社 | Communication apparatus, control method, and program |
US11212250B2 (en) | 2017-03-31 | 2021-12-28 | Nec Corporation | Relay device, network system, and network control method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009177398A (en) * | 2008-01-23 | 2009-08-06 | Net Agent Kk | Domain name management system |
JP2011530867A (en) * | 2008-08-08 | 2011-12-22 | マイクロソフト コーポレーション | Secure resource name resolution using cache |
-
2010
- 2010-02-23 JP JP2010037743A patent/JP5345577B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009177398A (en) * | 2008-01-23 | 2009-08-06 | Net Agent Kk | Domain name management system |
JP2011530867A (en) * | 2008-08-08 | 2011-12-22 | マイクロソフト コーポレーション | Secure resource name resolution using cache |
Non-Patent Citations (2)
Title |
---|
JPN6013016592; 民田雅人: DNSSECチュートリアル(講演資料) , 20091124, 第72-74,129-134頁 * |
JPN6013016593; BIND 9 Administrator Reference Manual , 20051104, p. 50, Internet Systems Consortium, Inc. * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015201798A (en) * | 2014-04-09 | 2015-11-12 | キヤノン株式会社 | Communication apparatus, control method, and program |
US10257153B2 (en) | 2014-04-09 | 2019-04-09 | Canon Kabushiki Kaisha | Communication apparatus, control method, and storage medium |
US11212250B2 (en) | 2017-03-31 | 2021-12-28 | Nec Corporation | Relay device, network system, and network control method |
Also Published As
Publication number | Publication date |
---|---|
JP5345577B2 (en) | 2013-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11909639B2 (en) | Request routing based on class | |
US8645700B2 (en) | DNSSEC inline signing | |
JP5404766B2 (en) | Method and system for requesting routing | |
US9514243B2 (en) | Intelligent caching for requests with query strings | |
JP6588477B2 (en) | Remote information query method and server | |
JP5320433B2 (en) | Integrated search device, integrated search system, and integrated search method | |
JP2015165657A (en) | Content name resolution for information oriented networking | |
EP3176994B1 (en) | Explicit content deletion commands in a content centric network | |
JP2007072525A (en) | Data server, data management method, and program | |
JP5271925B2 (en) | Cache information update method, computer, program, and storage medium | |
JP5345577B2 (en) | Name resolution device, name resolution method, and name resolution program | |
US20150019755A1 (en) | Data-centric communications system, node, and data forwarding method | |
KR101645222B1 (en) | Advanced domain name system and management method | |
KR101944809B1 (en) | Method for Searching Malware Information Using Domain Name Server | |
JP4965683B2 (en) | Retransmission determination apparatus, retransmission determination method, retransmission determination program, and retransmission determination system | |
JP4331733B2 (en) | SEARCH PROCESSING DEVICE, SEARCH PROCESSING METHOD, AND SEARCH PROCESSING PROGRAM | |
JP5706956B1 (en) | Database system and database control method | |
JP2008250586A (en) | Attached url transmitting/receiving method, system and program | |
JP2009116496A (en) | Directory server device, directory server program, directory service system, and directory service management method | |
JP2016005271A (en) | Allocation of consumer state by interest in content-centered network | |
JP5908057B1 (en) | Database system and database control method | |
JP2006285506A (en) | Electronic information publication certification apparatus, electronic information publication certification method, and electronic information publication certification program, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120309 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130306 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130409 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130607 |
|
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: 20130813 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130814 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5345577 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |