JP4331733B2 - SEARCH PROCESSING DEVICE, SEARCH PROCESSING METHOD, AND SEARCH PROCESSING PROGRAM - Google Patents
SEARCH PROCESSING DEVICE, SEARCH PROCESSING METHOD, AND SEARCH PROCESSING PROGRAM Download PDFInfo
- Publication number
- JP4331733B2 JP4331733B2 JP2006058669A JP2006058669A JP4331733B2 JP 4331733 B2 JP4331733 B2 JP 4331733B2 JP 2006058669 A JP2006058669 A JP 2006058669A JP 2006058669 A JP2006058669 A JP 2006058669A JP 4331733 B2 JP4331733 B2 JP 4331733B2
- Authority
- JP
- Japan
- Prior art keywords
- hash value
- label
- domain name
- calculated
- delegation destination
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
この発明は、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理装置、検索処理方法および検索処理プログラムに関する。 The present invention relates to a search processing device, a search processing method, and a search processing program for searching for a resource record and a delegation destination for a domain name related to a DNS query request using a hash function.
従来より、一般的に多く利用されているインターネットサービスにおいて、ホスト名(ドメイン名)とIPアドレス(Internet Protocol Address)とを対応させるDNSシステム(Domain Name System)がある。かかるDNSシステムにおいて、階層的なドメイン名からなる名前空間は、複数の権威サーバにより管理されている。この名前空間の一番最上位を管理する権威サーバは、ルートサーバと呼ばれ、その他の権威サーバは、ルートサーバから直接的または間接的に管理する名前空間の委譲を受けている。 2. Description of the Related Art Conventionally, there is a DNS system (Domain Name System) that associates a host name (domain name) and an IP address (Internet Protocol Address) in Internet services that are generally used. In such a DNS system, a name space consisting of hierarchical domain names is managed by a plurality of authority servers. The authoritative server that manages the highest level of this namespace is called a root server, and other authoritative servers are delegated the namespace managed directly or indirectly from the root server.
このような構成のもと、名前解決問合せ(DNSクエリ)を受信すると、権威サーバは、リソースレコード検索処理(RR検索処理)を行うとともに、そのドメイン名が他の権威サーバに委譲されていないか確認を行う委譲先検索処理(NS−RR検索処置)を行う。そして、他の権威サーバに委譲されている場合、権威サーバは、NS−RRという委譲を示すリソースレコードをクエリ応答として返信する。 In such a configuration, when a name resolution query (DNS query) is received, the authoritative server performs a resource record search process (RR search process), and whether the domain name has been delegated to another authoritative server. Delegation destination search processing (NS-RR search processing) for confirmation is performed. If the authority server has been delegated, the authority server returns a resource record indicating NS-RR delegation as a query response.
具体的に説明すると、図7に示したように、DNSクライアントから送信された名前解決問合せ(QNAME=ns2.sales.ntt.co.jp.)を受信したキャッシュサーバは、「ntt.co.jp.」ゾーンを管理する権威サーバAに、受信した名前解決問合せを送信する。そして、名前解決問合せを受信した権威サーバAは、リソースレコード検索処理と委譲先検索処理を実行し、委譲先処理にて「sales.ntt.co.jp.」ゾーンが権威サーバBに委譲されていることを確認すると、権威サーバBを示すNS−RRをクエリ応答としてキャッシュサーバに送信する。その後、再び、キャッシュサーバは「sales.ntt.co.jp.」ゾーンを管理する権威サーバBに名前解決問合せ(QNAME=ns2.sales.ntt.co.jp.)を送信し、権威サーバBは、リソースレコード検索処理と委譲先処理とを実行して、得られたリソースレコード(Answer=A-RR;192.168.1.1)をクエリ応答としてキャッシュサーバに送信する。そして、キャッシュサーバは、名前解決問合せを送信したDNSクライアントに、受信したクエリ応答を送信することで、DNSクライアントは、「ns2.sales.ntt.co.jp.」の名前解決を行うことができる。 More specifically, as shown in FIG. 7, the cache server that has received the name resolution query (QNAME = ns2.sales.ntt.co.jp.) Sent from the DNS client is “ntt.co.jp”. The name resolution query received is sent to the authoritative server A that manages the zone. Upon receiving the name resolution query, the authoritative server A executes resource record search processing and delegation destination search processing, and the “sales.ntt.co.jp.” Zone is delegated to the authority server B in the delegation destination processing. If it is confirmed, NS-RR indicating the authoritative server B is transmitted as a query response to the cache server. After that, the cache server again sends a name resolution query (QNAME = ns2.sales.ntt.co.jp.) To the authoritative server B that manages the “sales.ntt.co.jp.” Zone. The resource record search process and the delegation destination process are executed, and the obtained resource record (Answer = A-RR; 192.168.1.1) is transmitted as a query response to the cache server. Then, the DNS server can perform name resolution of “ns2.sales.ntt.co.jp.” By transmitting the received query response to the DNS client that has transmitted the name resolution query. .
このように、名前解決問合せ(DNSクエリ)を受信すると、権威サーバは、リソースレコード検索処理を行うとともに、委譲先検索処理を行うため、各々の処理を効率的に行う必要があった。そこで、処理を効率的に行う技術として、権威サーバ内データベースのインデックスにツリーを採用した技術やハッシュテーブルを採用した技術(例えば、特許文献1)が開示されている。 As described above, when the name resolution query (DNS query) is received, the authoritative server performs the resource record search process and the delegation destination search process, and thus each process needs to be performed efficiently. Therefore, as a technique for efficiently performing processing, a technique that employs a tree as an index of the database in the authority server and a technique that employs a hash table (for example, Patent Document 1) are disclosed.
例えば、インデックスにツリーを採用した技術の場合、図8に示したように、名前解決問合せ(QNAME=ns2.sales.ntt.co.jp.)を受信した権威サーバAは、自身が管理するツリーを順に検索していき、委譲されているドメインを発見する。ここでは、まず、ftp1ドメインを検索し、次に、ns1ドメインを検索し、そして、salesドメインを検索して、委譲先(権威サーバB)を発見し、この発見した委譲先を正式回答としてクエリ応答を送信する。 For example, in the case of a technique that employs a tree for the index, as shown in FIG. 8, the authority server A that has received the name resolution query (QNAME = ns2.sales.ntt.co.jp.) Is a tree managed by itself. In order to find the delegated domain. Here, first, the ftp1 domain is searched, then the ns1 domain is searched, then the sales domain is searched, the delegation destination (authoritative server B) is found, and the found delegation destination is queried as an official answer. Send a response.
また、インデックスにハッシュテーブルを採用した技術の場合、図9に示したように、
名前解決問合せ(QNAME=ns2.sales.ntt.co.jp.)を受信した権威サーバAは、はじめに、「ns2.sales」のハッシュ値を計算してハッシュテーブルを検索し、この検索結果を正式回答(クエリ回答)の候補とする。次に、「sales」のハッシュ値を計算してハッシュテーブルを検索し、検索結果に委譲先(NS−RR)が存在するので、このNS−RRレコードを正式回答としてクエリ応答を送信する。
Also, in the case of a technology that uses a hash table for the index, as shown in FIG.
Upon receiving the name resolution query (QNAME = ns2.sales.ntt.co.jp.), The authoritative server A first calculates the hash value of “ns2.sales”, searches the hash table, and formalizes this search result. Candidate for answer (query answer). Next, the hash value of “sales” is calculated to search the hash table, and since the delegation destination (NS-RR) exists in the search result, a query response is transmitted with this NS-RR record as an official answer.
ところで、上記した従来の技術は、インデックスにツリーを採用した技術の場合、リソースレコード検索処理と委譲先検索処理とを、必ずしも効率的に行うことができず検索処理を高速に行えないという課題があり、また、ハッシュテーブルを採用した技術の場合、リソースレコード検索処理と委譲先検索処理とで別個のハッシュ値を算出する必要があるため、処理が効率的でなく高速に行うことができないという課題がある。 By the way, in the case of the above-described conventional technique that employs a tree for the index, there is a problem that the resource record search process and the delegation destination search process cannot always be efficiently performed and the search process cannot be performed at high speed. In addition, in the case of a technology that uses a hash table, it is necessary to calculate separate hash values for resource record search processing and delegation destination search processing, so the processing is not efficient and cannot be performed at high speed There is.
この課題をそれぞれ具体的に説明すると、ツリーを採用した場合、リソースレコード検索処理におけるツリーの検索過程で、委譲先を示すNS−RRを発見することが可能であるため、別個に委譲先(NS−RR)処理を行う必要がない。しかしながら、ツリーの高さが深ければ、検索に時間がかかるため、必ずしも効率的に処理を行えるとは言い難い。 This problem will be described in detail. When a tree is used, an NS-RR indicating a delegation destination can be found in the process of searching for a tree in the resource record search process. -RR) No processing is required. However, if the height of the tree is deep, it takes time to search, and it is not always possible to perform processing efficiently.
また、ハッシュテーブルを採用した技術の場合、各ドメインごとにハッシュ値を算出して、委譲されているか否かを確認するために、ラベル数(ドメイン名を「.」で区切った単位)を短くしながら、ハッシュテーブルを検索する必要があるため、何度もハッシュ値の計算が必要であり、処理が効率的でない。 Also, in the case of technology that uses a hash table, the hash value is calculated for each domain, and the number of labels (units in which the domain name is separated by “.”) Is shortened to check whether it is delegated or not. However, since it is necessary to search the hash table, it is necessary to calculate the hash value many times, and the processing is not efficient.
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、ハッシュテーブルによるインデックスを採用する場合において、DNSクエリ要求に対する検索処理(リソースレコード検索処理および委譲先検索処理)を高速に行うことが可能である検索処理装置、検索処理方法および検索処理プログラムを提供することを目的とする。 Accordingly, the present invention has been made to solve the above-described problems of the prior art, and in the case of employing an index based on a hash table, search processing for a DNS query request (resource record search processing and delegation destination search processing). It is an object of the present invention to provide a search processing device, a search processing method, and a search processing program that can perform the search at high speed.
上述した課題を解決し、目的を達成するため、本発明は、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理装置であって、前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出するハッシュ値算出手段と、前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対してリソースレコードを検索するリソースレコード検索手段と、前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索手段と、を備えたことを特徴とする。また、本発明は、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理装置であって、前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、当該ラベルの直前のラベルまでのハッシュ値と当該ラベル内の文字とに基づいて算出される中間計算値を剰余して順に算出するハッシュ値算出手段と、前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対するリソースレコードを検索するリソースレコード検索手段と、前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索手段と、を備えたことを特徴とする。 In order to solve the above-described problems and achieve the object, the present invention provides a search processing device that searches for a resource record and a delegation destination for a domain name related to a DNS query request using a hash function, and the domain names are sequentially searched from the end. A hash value calculation unit that inputs to the hash function and sequentially calculates a hash value from the end to each label using a hash value up to the label immediately before each label, and the domain calculated by the hash value calculation unit Of the hash values from the end of the name to each label, the resource record search means for searching for the resource record for the domain name using the hash value from the domain name to the beginning, and the hash value calculation means The domain name is hashed from the end of the domain name to each label. Characterized by comprising a transfer destination retrieval means for retrieving the name of the transfer destination, the. The present invention is also a search processing device for searching for a resource record and a delegation destination for a domain name related to a DNS query request by a hash function, wherein the domain name is input to the hash function in order from the end, and A hash value calculation means for sequentially calculating a hash value up to a label by remainder of an intermediate calculation value calculated based on the hash value up to the label immediately before the label and a character in the label; and the hash value calculation Resource record search means for searching for a resource record for the domain name using a hash value from the end of the domain name to each label calculated by means to the beginning of the domain name; and the hash value Hash from the end of the domain name to each label calculated by the calculation means Characterized in that and a transfer destination searching means for searching the delegate of the domain name by using the values.
また、本発明は、上記の発明において、前記委譲先検索手段は、前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該末尾に近いラベルまでのハッシュ値から順に前記ドメイン名の委譲先を検索することを特徴とする。また、本発明は、前記ハッシュ値算出手段は、前記ハッシュ値の算出対象となるラベルを構成する文字列のうちの最尾の文字について、当該最尾の文字と当該入力されたラベルの直前のラベルについて算出されたハッシュ値とに基づいて中間計算値を算出し、前記最尾の文字から先頭よりの文字については、算出対象となる文字と当該文字の直前に算出された中間計算値とに基づいて新たな中間計算値を順に算出した後、前記入力されたラベルを構成する文字列の文字数を示す長さフィールドと前記ハッシュ値の算出対象となるラベルを構成する文字列のうちの先頭の文字について算出された中間計算値とに基づいて新たな中間計算値を算出し、算出された新たな中間計算値を所定の定数で剰余することで、前記算出対象であるラベルのハッシュ値を算出することを特徴とする。 Further, the present invention is the above invention, wherein the delegation destination search unit has a hash value from the end of the domain name to the label calculated by the hash value calculation unit to a label close to the end. The delegation destination of the domain name is searched in order from the value. Further, according to the present invention, the hash value calculation unit is configured to output the last character and the input label immediately before the last character of the character string constituting the hash value calculation target label. An intermediate calculation value is calculated based on the hash value calculated for the label, and for the character from the head of the last character, the calculation target character and the intermediate calculation value calculated immediately before the character are A new intermediate calculation value is sequentially calculated based on the length field indicating the number of characters of the character string constituting the input label and the first character string constituting the label from which the hash value is to be calculated. A new intermediate calculation value is calculated on the basis of the intermediate calculation value calculated for the character, and the calculated new intermediate calculation value is remaindered by a predetermined constant, thereby allocating the label to be calculated. And calculates the Interview value.
また、本発明は、上記の発明において、前記委譲先の情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶手段をさらに備え、前記ハッシュ値算出手段は、前記委譲先情報記憶手段に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを算出することを特徴とする。また、本発明は、上記の発明において、前記委譲先の情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶手段をさらに備え、前記ハッシュ値算出手段は、前記委譲先情報記憶手段が存在する場合には、前記ハッシュ値算出を実行するのに先立って前記委譲先情報記憶手段を参照し、前記委譲先情報記憶手段に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを算出することを特徴とする。 In the above invention, the present invention further includes delegation destination information storage means for preliminarily storing delegation destination information indicating a label including the delegation destination information, wherein the hash value calculation means includes the delegation destination information storage Only the hash value from the delegation destination information stored in the means to the determined label is calculated. In the above invention, the present invention further includes delegation destination information storage means for preliminarily storing delegation destination information indicating a label including the delegation destination information, wherein the hash value calculation means includes the delegation destination information storage If there is a means, refer to the delegation destination information storage means prior to executing the hash value calculation, and only the hash value from the delegation destination information stored in the delegation destination information storage means to the determined label Is calculated.
また、本発明は、上記の発明において、前記委譲先を示す情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶手段をさらに備え、前記委譲先検索手段は、前記委譲先情報記憶手段に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを用いて前記ドメイン名の委譲先を検索することを特徴とする。また、本発明は、上記の発明において、前記委譲先を示す情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶手段をさらに備え、前記委譲先検索手段は、前記委譲先情報記憶手段が存在する場合には、前記ハッシュ値算出を実行するのに先立って前記委譲先情報記憶手段を参照し、前記委譲先情報記憶手段に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを用いて前記ドメイン名の委譲先を検索することを特徴とする。 The present invention further includes, in the above invention, a delegation destination information storage unit that preliminarily stores delegation destination information indicating a label including information indicating the delegation destination, and the delegation destination search unit includes the delegation destination information The delegation destination of the domain name is searched using only the hash value from the delegation destination information stored in the storage means to the determined label. The present invention further includes, in the above invention, a delegation destination information storage unit that preliminarily stores delegation destination information indicating a label including information indicating the delegation destination, and the delegation destination search unit includes the delegation destination information If there is a storage unit, the hash value from the delegation destination information stored in the delegation destination information storage unit to the label determined by referring to the delegation destination information storage unit prior to executing the hash value calculation The delegation destination of the domain name is searched using only.
また、本発明は、上記の発明において、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理方法であって、前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する算出するハッシュ値算出工程と、前記ハッシュ値算出工程によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対してリソースレコードを検索するリソースレコード検索工程と、前記ハッシュ値算出工程によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索工程と、を含んだことを特徴とする。また、本発明は、上記の発明において、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する検索処理方法であって、前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、当該ラベルの直前のラベルまでのハッシュ値と当該ラベル内の文字とに基づいて算出される中間計算値を剰余して順に算出する算出するハッシュ値算出工程と、前記ハッシュ値算出工程によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対するリソースレコードを検索するリソースレコード検索工程と、前記ハッシュ値算出工程によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索工程と、を含んだことを特徴とする。 Further, the present invention provides a search processing method for searching for a resource record and a delegation destination for a domain name related to a DNS query request by using a hash function in the above invention, wherein the domain name is input to the hash function in order from the end. A hash value calculation step of calculating a hash value from the tail to each label in order using a hash value up to the immediately preceding label of each label, and from the end of the domain name calculated by the hash value calculation step Among the hash values up to each label, a resource record search step of searching for a resource record for the domain name using a hash value up to the beginning of the domain name, and the domain name calculated by the hash value calculation step Domain name delegation using the hash value from the end of A transfer destination search step of searching earlier and that it contained characterized. Further, the present invention provides a search processing method for searching for a resource record and a delegation destination for a domain name related to a DNS query request by using a hash function in the above invention, wherein the domain name is input to the hash function in order from the end. Hash value calculation for calculating the hash value from the end to each label by sequentially calculating the intermediate calculation value calculated based on the hash value up to the label immediately before the label and the character in the label And a resource record for searching for a resource record for the domain name using a hash value from the end of the domain name to each label calculated by the hash value calculation step to the beginning of the domain name The domain name calculated by the search step and the hash value calculation step A transfer destination search step of searching the delegate of the domain name by using the hash value from the tail to the label, that it contained characterized.
また、本発明は、上記の発明において、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する方法をコンピュータに実行させる検索処理プログラムであって、前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する算出するハッシュ値算出手順と、前記ハッシュ値算出手順によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対してリソースレコードを検索するリソースレコード検索手順と、前記ハッシュ値算出手順によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索手順と、をコンピュータに実行させることを特徴とする。また、本発明は、上記の発明において、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索する方法をコンピュータに実行させる検索処理プログラムであって、前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、当該ラベルの直前のラベルまでのハッシュ値と当該ラベル内の文字とに基づいて算出される中間計算値を剰余して順に算出する算出するハッシュ値算出手順と、前記ハッシュ値算出手順によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対するリソースレコードを検索するリソースレコード検索手順と、前記ハッシュ値算出手順によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索手順と、をコンピュータに実行させることを特徴とする。 In addition, the present invention provides a search processing program for causing a computer to execute a method for searching for a resource record and a delegation destination for a domain name related to a DNS query request by a hash function in the above-described invention, wherein the domain name is searched in order from the end. A hash value calculation procedure for inputting to the hash function and calculating a hash value from the tail to each label in order using a hash value up to the immediately preceding label of each label, and the hash value calculation procedure Among the hash values from the end of the domain name to each label, the resource record search procedure for searching for the resource record for the domain name using the hash value from the domain name to the beginning, and the hash value calculation procedure From the end of the calculated domain name to each label Characterized in that to execute a delegate search procedure for searching the delegate of the domain name, to the computer using a Mesh value. In addition, the present invention provides a search processing program for causing a computer to execute a method for searching for a resource record and a delegation destination for a domain name related to a DNS query request by a hash function in the above-described invention, wherein the domain name is searched in order from the end. Input to the hash function, and calculate the hash value from the end to each label in turn by calculating the remainder of the intermediate calculation value calculated based on the hash value up to the label immediately before the label and the character in the label Hash value calculation procedure to be calculated, and among the hash values from the end of the domain name to each label calculated by the hash value calculation procedure, a resource for the domain name using a hash value up to the beginning of the domain name Resource record search procedure for searching records, and the hash value calculator Characterized in that to execute a delegate search procedure for searching the delegate of the domain name from the end of the calculated the domain name with a hash value to each label, to the computer through.
本発明によれば、ドメイン名を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、当該ラベルの直前のラベルまでのハッシュ値と当該ラベル内の文字とに基づいて算出される中間計算値を剰余して順に算出し、ドメイン名の先頭までのハッシュ値を用いてドメイン名に対してリソースレコードを検索し、ドメイン名の末尾から各ラベルまでのハッシュ値を用いてドメイン名の委譲先を検索するので、ハッシュテーブルによるインデックスを採用する場合において、リソースレコード検索処理および委譲先検索処理それぞれで別個にハッシュ値を算出する必要がなくなり、ツリーによるインデックスを採用する場合と比較しても、DNSクエリ要求に対する検索処理(リソースレコード検索処理および委譲先検索処理)を高速に行うことが可能である。 According to the present invention, the domain name is input to the hash function in order from the end, and the hash value from the end to each label is calculated based on the hash value up to the label immediately before the label and the characters in the label The intermediate calculated values are calculated in order, and the resource record is searched for the domain name using the hash value up to the beginning of the domain name, and the domain using the hash value from the end of the domain name to each label Since the name delegation destination is searched, there is no need to calculate the hash value separately for the resource record search process and the delegation destination search process when using an index based on a hash table. Compared with the case where a tree index is used. Even so, search processing for DNS query requests (resource record search processing and delegation destination search) It is possible to carry out the management) to high speed.
また、本発明によれば、ドメイン名の末尾から各ラベルまでのハッシュ値のうち、末尾に近いラベルまでのハッシュ値から順にドメイン名の委譲先を検索するので、ドメイン名の先頭方向から委譲先を検索する手法に比較して、委譲先を早く発見する可能性が高く、DNSクエリ要求に対する検索処理を一層高速に行うことが可能である。 Further, according to the present invention, since the domain name delegation destination is searched in order from the hash value from the end of the domain name to each label, from the hash value from the label close to the end, the delegation destination from the head direction of the domain name Compared to the method of searching for the URL, there is a high possibility that the delegation destination will be found earlier, and the search processing for the DNS query request can be performed at higher speed.
また、本発明によれば、委譲先の情報が含まれるラベルを示す委譲先情報(例えば、末尾から2ラベル目、4ラベル目)を予め記憶しておき、ハッシュ値算出を実行するのに先立って、この委譲先情報から定まるラベルまでのハッシュ値(例えば、末尾から2ラベル目までのハッシュ値、4ラベル目までのハッシュ値)のみを算出するので、委譲先の情報が含まれないラベルまでのハッシュ値を算出する必要がなくなり、DNSクエリ要求に対する検索処理を一層高速に行うことが可能である。 In addition, according to the present invention , prior to performing hash value calculation by preliminarily storing delegation destination information (for example, the second label and the fourth label from the end) indicating the label including the delegation destination information. Te, the hash value to the label determined from the transfer destination information (e.g., a hash value from the end to the second label first, a hash value of up to 4 label-th) is calculated. therefore only, until the label does not include the delegation destination information Therefore, it is possible to perform a search process for a DNS query request at a higher speed.
また、本発明によれば、委譲先の情報が含まれるラベルを示す委譲先情報(例えば、末尾から2ラベル目、4ラベル目)を予め記憶しておき、ハッシュ値算出を実行するのに先立って、この委譲先情報から定まるラベルまでのハッシュ値(例えば、末尾から2ラベル目までのハッシュ値、4ラベル目までのハッシュ値)のみを用いてドメイン名の委譲先を検索するので、委譲先の情報が含まれないラベルまでのハッシュ値について委譲先を検索する必要がなくなり、DNSクエリ要求に対する検索処理を一層高速に行うことが可能である。 In addition, according to the present invention , prior to performing hash value calculation by preliminarily storing delegation destination information (for example, the second label and the fourth label from the end) indicating the label including the delegation destination information. Te, the hash value to the label determined from the transfer destination information (e.g., a hash value from the end to the second label first, a hash value of up to 4 label-th) so searching the domain name of the delegate using only delegate Therefore, it is not necessary to search for a delegation destination for a hash value up to a label that does not include the above information, and a search process for a DNS query request can be performed at higher speed.
以下に添付図面を参照して、この発明に係る検索処理装置、検索処理方法および検索処理プログラムの実施例を詳細に説明する。 Exemplary embodiments of a search processing device, a search processing method, and a search processing program according to the present invention will be described below in detail with reference to the accompanying drawings.
以下では、実施例1に係る検索処理装置の概要および特徴、検索処理装置の構成および処理の流れを説明し、最後に実施例1による効果を説明する。なお、以下の実施例1に登場する「権威サーバ」とは、特許請求の範囲に記載の「検索処理装置」に対応する。 In the following, the outline and features of the search processing device according to the first embodiment, the configuration of the search processing device and the flow of processing will be described, and finally the effects of the first embodiment will be described. The “authority server” appearing in the first embodiment corresponds to the “search processing device” described in the claims.
[検索処理装置(権威サーバ)の概要および特徴]
まず最初に、図1を用いて、実施例1に係る検索処理装置の概要および特徴を説明する。図1は、実施例1に係る検索処理装置(権威サーバ)を含むDNSシステムの全体構成を示すDNSシステム構成図である。
[Outline and Features of Search Processing Device (Authoritative Server)]
First, the outline and features of the search processing apparatus according to the first embodiment will be described with reference to FIG. FIG. 1 is a DNS system configuration diagram illustrating an overall configuration of a DNS system including a search processing apparatus (authoritative server) according to the first embodiment.
同図に示すように、かかるDNSシステムにおいて、複数の権威サーバ30と複数のキャッシュサーバ20とがインターネットを介して接続される。また、キャッシュサーバ20には、それぞれ複数のDNSクライアント10がインターネットを介して接続されている。
As shown in the figure, in such a DNS system, a plurality of
このような構成のもと、実施例1に係る権威サーバ30は、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索することを概要とするものであり、DNSクエリ要求に対する検索処理(リソースレコード検索処理および委譲先検索処理)を高速に行うことが可能である点に主たる特徴がある。
Under such a configuration, the
この主たる特徴を具体的に説明すると、DNSクライアント10は、DNSクエリ要求をキャッシュサーバ20に送信する(図1の(1))。そして、キャッシュサーバ20は、受信したDNSクエリ要求に対応したドメインを管理する権威サーバ30に、DNSクエリ要求を送信する(図1の(2))。権威サーバ30は、受信したDNSクエリ要求に基づいて、ハッシュ値計算を行い、検索処理を実行する(図1の(3))。そして、権威サーバ30は、検索結果をクエリ応答としてキャッシュサーバ20に送信する(図1の(4))。キャッシュサーバ20は、受信したクエリ応答をDNSクエリ要求の送信元であるDNSクライアント10に送信する(図1の(5))。
This main feature will be specifically described. The
ここで、権威サーバ30による検索処理について、例を挙げて説明する。DNSクエリ要求として「www.lab.ntt.co.jp.」の検索要求を受信すると、権威サーバ30は、図3に示したハッシュ値計算アルゴリズム(ハッシュ関数)を用いて、「www.lab.ntt.co.jp.」を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する。具体的には、図4に示したように、まず、「.jp.」をハッシュ関数に入力し、ハッシュ値H(1)を算出する(図4の(1))。次に、算出したH(1)を用いて「.co.jp.」のハッシュ値H(2)を算出する(図4の(2))。このようにして、「www.lab.ntt.co.jp.」の各ラベルのハッシュ値H(1)からH(5)を、直前のラベルのハッシュ値を用いて算出する。
Here, the search processing by the
また、権威サーバ30は、算出した「www.lab.ntt.co.jp.」の末尾から各ラベルのハッシュ値(H(1)からH(5))のうち、「www.lab.ntt.co.jp.」の先頭までのハッシュ値H(5)を用いて「www.lab.ntt.co.jp.」のリソースレコードを検索する。ここで、リソースレコードが発見されれば、権威サーバ30は、発見したリソースレコードをクエリ応答候補とする。
Further, the
続いて、権威サーバ30は、算出した「www.lab.ntt.co.jp.」の末尾から各ラベルのハッシュ値(H(1)からH(5))を用いて「www.lab.ntt.co.jp.」の委譲先を検索する。委譲先が発見されれば、権威サーバ30は、委譲先をクエリ応答としてキャッシュサーバ20に送信する。一方、委譲先が発見されなければ、権威サーバ30は、応答候補としていたリソースレコードをクエリ応答としてキャッシュサーバ20に送信する。
Subsequently, the
このように、実施例1に係る権威サーバ30は、ハッシュテーブルによるインデックスを採用する場合において、リソースレコード検索処理および委譲先検索処理それぞれで別個にハッシュ値を算出する必要がなくなり、上記した主たる特徴のごとく、ツリーによるインデックスを採用する場合と比較しても、DNSクエリ要求に対する検索処理(リソースレコード検索処理および委譲先検索処理)を高速に行うことが可能である。
As described above, the
[検索処理装置(権威サーバ)の構成]
次に、図2から図4を用いて、図1に示した権威サーバの構成を説明する。図2は、権威サーバ30の構成を示すブロック図であり、図3は、ハッシュ値計算アルゴリズムを示すハッシュ関数の例を示した図であり、図4は、ハッシュ値計算の例を示した図である。図2に示すように、この権威サーバ30は、通信制御I/F部31と、記憶部32と、制御部33とから構成される。
[Configuration of search processing device (authoritative server)]
Next, the configuration of the authority server shown in FIG. 1 will be described with reference to FIGS. FIG. 2 is a block diagram showing a configuration of the
このうち、通信制御I/F部31は、キャッシュサーバ20またはDNSクライアント10との間でやり取りする各種情報に関する通信を制御する手段である。具体的には、キャッシュサーバ20から送信されるDNSクエリ要求を受信し、クエリ応答を送信元のキャッシュサーバ20に送信する。
Among these, the communication control I /
記憶部32は、制御部33による各種処理に必要なデータおよびプログラムを格納する格納手段(記憶手段)であり、具体的には、制御部33で算出されたハッシュ値を一時記憶領域に記憶したり、権威サーバ部30が管理するゾーンへのクエリ要求に応答するためのリソースレコードなどを記憶する。
The
制御部33は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、ハッシュ値算出部33aと、リソースレコード検索部33bと、委譲先検索部33cとを備える。なお、ハッシュ値算出部33aは、特許請求の範囲に記載の「ハッシュ値算出手段」に対応し、リソースレコード検索部33bは、同様に、「リソースレコード検索手段」に対応し、委譲先検索部33cは、「委譲先検索手段」に対応する。
The
このうち、ハッシュ値算出部33aは、図3に示したハッシュ値計算アルゴリズムを用いて、ドメイン名を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する手段である。具体的には、例えば、「www.lab.ntt.co.jp.」(ラベル数5)のハッシュ値を計算する場合、まず、図3に示したハッシュ関数H(i)を用いて、「www.lab.ntt.co.jp.」の末尾である「.jp.」のハッシュ値H(1)を算出する。そして、H(1)を用いて、「.co.jp.」のハッシュ値H(2)を算出する。このように、ハッシュ値H(1)からH(5)を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する。
Among these, the hash
そして、リソースレコード検索部33bは、ハッシュ値算出部33aによって算出されたドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いてドメイン名のリソースレコードを検索する手段である。具体的には、「www.lab.ntt.co.jp.」(ラベル数5)のリソースレコードを検索する場合、ハッシュ値算出部33aにより算出されたハッシュ値H(5)を用いて、リソースレコードを検索する。
Then, the resource
また、委譲先検索部33cは、ハッシュ値算出部33aによって算出されたドメイン名の末尾から各ラベルまでのハッシュ値を用いてドメイン名の委譲先を検索する手段である。具体的には、「www.lab.ntt.co.jp.」(ラベル数5)のドメイン名の委譲先検索する場合、「www.lab.ntt.co.jp.」に基づいて算出されたハッシュ値H(1)からH(5)を用いて委譲先を検索する。
The delegation
[検索処理装置(権威サーバ)による検索処理(実施例1)]
次に、図5を用いて、検索処理装置(権威サーバ)による検索処理を説明する。図5は、検索処理の流れを示すフローチャートである。
[Search Processing by Search Processing Device (Authoritative Server) (Example 1)]
Next, search processing by the search processing device (authoritative server) will be described with reference to FIG. FIG. 5 is a flowchart showing the flow of search processing.
図5に示すように、DNSクエリを受信すると(ステップS501肯定)、権威サーバ30は、検索対象ドメイン名のラベル数をX(ステップS502)、検索対象ドメイン名のゾーン名のラベル数をYに代入する(ステップS503)。例を挙げると、「.co.jp.」ゾーンで、検索対象が「www.lab.ntt.co.jp.」であった場合、検索対象ドメイン名のラベル数は5、ゾーン名のラベル数は2であるので、Xは5であり、Yは2となる。
As shown in FIG. 5, when the DNS query is received (Yes at Step S501), the
そして、権威サーバ30は、検索処理を実行するための変数として「i」に1を代入する(ステップS504)。続いて、権威サーバ30は、検索対象ドメイン名の右(末尾)からi番目のラベルのハッシュ値H(i)を計算し一時記憶領域に記憶する(ステップS505)。そして、iとXとが等しい値か否かを判定し(ステップS506)、等しい値でない場合(ステップS506否定)、iを1増やして(ステップS507)、上記スップS506に戻る。
Then, the
例を挙げると、まず、「www.lab.ntt.co.jp.」の右から1番目のラベル「.jp.」のハッシュ値H(1)を計算し一時記憶領域に記憶する。そして、i(1)とX(5)とが等しい値でないので、iを1増やして(ここで、iは2)、次に、「www.lab.ntt.co.jp.」の右から2番目のラベル「.co」のハッシュ値H(2)を計算し一時記憶領域に記憶する。このように、iとiとが等しい値になるまで、つまり、iが5になるまで、iを1ずつ増やしてハッシュ値H(i)を計算し一時記憶領域に記憶する。最終的には、H(1)からH5)までのハッシュ値が計算されることとなる。 For example, first, the hash value H (1) of the first label “.jp.” From the right of “www.lab.ntt.co.jp.” is calculated and stored in the temporary storage area. Since i (1) and X (5) are not equal, i is increased by 1 (where i is 2), and then from the right of “www.lab.ntt.co.jp.” The hash value H (2) of the second label “.co” is calculated and stored in the temporary storage area. In this way, until i becomes equal to i, that is, until i becomes 5, i is incremented by 1 to calculate the hash value H (i) and store it in the temporary storage area. Eventually, hash values from H (1) to H5) are calculated.
一方、iとXとが等しい値である場合(ステップS506肯定)、権威サーバ30は、ハッシュ値H(X)に対応するデータをハッシュテーブルから検索し(ステップS508)、リソースレコード(RR)が存在するか否かを判定する(ステップS509)。具体的には、権威サーバ30は、「www.lab.ntt.co.jp.」の末尾から各ラベルまでのハッシュ値のうち、「www.lab.ntt.co.jp.」の先頭までのハッシュ値H(5)に対応するデータをハッシュテーブルから検索し、リソースレコード(RR)が存在するか否かを判定する。
On the other hand, if i and X are equal values (Yes at step S506), the
そして、RRが存在した場合(ステップS509肯定)、権威サーバ30は、検索したRRをクエリ回答候補にする(ステップS510)。一方、RRが存在しない場合、権威サーバ30は、非存在のエラー(NXDOMAIN)をクエリ回答候補にする(ステップS511)。
If an RR exists (Yes at step S509), the
続いて、権威サーバ30は、変数「i」に「Y+1」の値を代入する(ステップS512)。そして、権威サーバ30は、ハッシュ値H(i)に対応するデータをハッシュテーブルから検索し(ステップS513)、NS−RR(委譲先)が存在するか否かを判定する(ステップS514)。続いて、NS−RRが存在しない場合(ステップS514否定)、権威サーバ30は、iとXとの値が等しいか否かを判定する(ステップS515)。一方、NS−RRが存在した場合(ステップS514肯定)、権威サーバ30は、検索したNS−RRを回答候補とし(ステップS517)、この回答候補をクエリ応答として応答する(ステップS518)。
Subsequently, the
そして、iとXとの値が等しくない場合(ステップS515否定)、権威サーバ30は、iを1増やして(ステップS516)、上記ステップS514およびステップS514に戻る。一方、iとXとの値が等しい場合(ステップS515肯定)、権威サーバ30は、記憶する回答候補を応答する(ステップS517)。
If the values of i and X are not equal (No at Step S515), the
例を挙げて説明すると、権威サーバ30は、算出された「www.lab.ntt.co.jp.」の末尾から各ラベルまでのハッシュ値のうち、当該末尾に近いラベルまでのハッシュ値から順に「www.lab.ntt.co.jp.」の委譲先を検索するので、権威サーバ30は、変数「i」に「Y(2)+1」として「3」を代入する。そして、権威サーバ30は、まず、ハッシュ値H(3)に対応するデータをハッシュテーブルから検索し、NR−RRが存在するか否かを判定する。続いて、NS−RRが存在しない場合、権威サーバ30は、i(3)と(5)との値が等しいか否かを判定する。一方、NS−RRが存在した場合、権威サーバ30は、検索したNS−RRを回答候補とし、この回答候補をクエリ応答として応答する。
For example, the
そして、i(3)とX(5)との値が等しくない場合、権威サーバ30は、iを1増やして、ハッシュ値H(4)に対応するデータをハッシュテーブルから検索し、NS−RR(委譲先)が存在するか否かを判定する。ここで、NS−RRが存在しない場合、再び、iを1増やして、ハッシュ値H(5)に対応するデータをハッシュテーブルから検索し、NS−RR(委譲先)が存在するか否かを判定する。ここでも、NS−RRが存在しない場合、iとXとの値が等しいので、以前に記憶していた回答候補をクエリ応答として応答する。しかし、ハッシュ値H(4)または(5)にて、NS−RRが存在した場合、権威サーバ30は、NS−RRをクエリ応答として回答する。
If the values of i (3) and X (5) are not equal, the
[実施例1による効果]
上述してきたように、実施例1によれば、ドメイン名を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出し、ドメイン名の先頭までのハッシュ値を用いてドメイン名のリソースレコードを検索し、ドメイン名の末尾から各ラベルまでのハッシュ値を用いてドメイン名の委譲先を検索するので、ハッシュテーブルによるインデックスを採用する場合において、リソースレコード検索処理および委譲先検索処理それぞれで別個にハッシュ値を算出する必要がなくなり、ツリーによるインデックスを採用する場合と比較しても、DNSクエリ要求に対する検索処理(リソースレコード検索処理および委譲先検索処理)を高速に行うことが可能である。
[Effects of Example 1]
As described above, according to the first embodiment, domain names are input to the hash function in order from the end, and hash values from the end to each label are sequentially calculated using the hash values from the label to the immediately preceding label. The domain name resource record is searched using the hash value up to the beginning of the domain name, and the delegation destination of the domain name is searched using the hash value from the end of the domain name to each label. In the resource record search process and the delegation destination search process, it is not necessary to calculate the hash value separately, and the search process (resource record) for the DNS query request can be compared with the case where a tree index is used. Search processing and delegation destination search processing) can be performed at high speed.
また、実施例1によれば、ドメイン名の末尾から各ラベルまでのハッシュ値のうち、末尾に近いラベルまでのハッシュ値から順にドメイン名の委譲先を検索するので、ドメイン名の先頭方向から委譲先を検索する手法に比較して、委譲先を早く発見する可能性が高く、DNSクエリ要求に対する検索処理を一層高速に行うことが可能である。 Also, according to the first embodiment, the domain name delegation destination is searched in order from the hash value from the end of the domain name to each label, starting from the hash value from the label close to the end. Compared to a method of searching for a destination, there is a high possibility that a delegation destination will be found earlier, and a search process for a DNS query request can be performed at a higher speed.
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例2として、本発明に含まれる他の実施例について説明する。 Although the embodiments of the present invention have been described so far, the present invention may be implemented in various different forms other than the embodiments described above. Therefore, another embodiment included in the present invention will be described below as a second embodiment.
また、実施例1では、キャッシュサーバ20からDNSクエリ要求を受信して、権威サーバ30は検索処理を実行する場合について説明したが、本発明はこれに限定されるものではなく、DNSクライアント10からDNSクエリ要求を受信してもよい。
In the first embodiment, the case where the DNS server request is received from the
また、実施例1では、ハッシュ値算出処置、リソースレコード(RR)検索処理および委譲先(NS−RR)検索処理を順に行う場合を説明したが、本発明はこれに限定されるものではなく、それぞれの処理を並行して行ってもよい。例えば、ハッシュ値計算処理を行った後、リソースレコード検索処理および委譲先検索処理を並行して行うようにしてもよい。 In the first embodiment, the case where the hash value calculation process, the resource record (RR) search process, and the delegation destination (NS-RR) search process are sequentially performed has been described. However, the present invention is not limited to this. Each process may be performed in parallel. For example, after performing the hash value calculation process, the resource record search process and the delegation destination search process may be performed in parallel.
また、実施例1では、図4に示したように、ドメイン名を末尾から順にハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する場合を説明したが、本発明はこれに限定されるものではなく、委譲先の情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶部をさらに備え、委譲先情報記憶部に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを算出するようにしてもよい。 Also, in the first embodiment, as shown in FIG. 4, the domain name is input to the hash function in order from the end, and the hash value from the end to each label is used as the hash value up to the label immediately before each label. The case of calculating in order has been described, but the present invention is not limited to this, and further includes a delegation destination information storage unit that preliminarily stores delegation destination information indicating a label including information on the delegation destination, and the delegation destination information Only the hash value from the delegation destination information stored in the storage unit to the determined label may be calculated.
例えば、図6に示したように、委譲先情報が含まれるラベルを示す末尾から2ラベル目、4ラベル目を予め記憶しておき、この委譲先情報から定まるラベルまでのハッシュ値として末尾から2ラベル目までのハッシュ値、4ラベル目までのハッシュ値のみを算出するようにしてもよい。これにより、当該末尾から各ラベルまでのハッシュ値を、各ラベルの直前ラベルまでのハッシュ値を用いて順に算出する場合(図4参照)に比べて、委譲先の情報が含まれないラベルまでのハッシュ値を算出する必要がなくなり、図4と図6を比較してもわかるように、ハッシュ値の計算を5回から4回に減らすことができ、DNSクエリ要求に対する検索処理を一層高速に行うことが可能である。
For example, as shown in FIG. 6, 2 label counted from the end showing the labels in the transfer destination information, stored in
また、実施例1では、算出されたドメイン名の末尾から各ラベルまでのハッシュ値を用いてドメイン名の委譲先を検索する場合を説明したが、本発明はこれに限定されるものではなく、委譲先を示す情報が含まれるラベルを示す委譲先情報を予め記憶する委譲先情報記憶部をさらに備え、委譲先情報記憶部に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを用いてドメイン名の委譲先を検索するようにしてもよい。 Further, in the first embodiment, the case where the domain name delegation destination is searched using the hash value from the end of the calculated domain name to each label has been described, but the present invention is not limited to this, It further includes a delegation destination information storage unit that preliminarily stores delegation destination information indicating a label including information indicating the delegation destination, and uses only the hash value from the delegation destination information stored in the delegation destination information storage unit to the determined label. You may make it search for the transfer destination of a domain name.
例えば、委譲先情報が含まれるラベルを示す末尾から2ラベル目、4ラベル目を予め権威サーバ単位やゾーン単位に記憶しておき、この委譲先情報から定まるラベルまでのハッシュ値として、末尾から2ラベル目までのハッシュ値、4ラベル目までのハッシュ値のみを用いてドメイン名の委譲先を検索するようにしてもよい。これにより、委譲先の情報が含まれないラベルまでのハッシュ値について委譲先を検索する必要がなくなり、DNSクエリ要求に対する検索処理を一層高速に行うことが可能である。 For example, the second label and the fourth label from the end indicating the label including the delegation destination information are stored in advance in the authority server unit or the zone unit, and the hash value from the delegation destination information to the label determined is 2 from the end. The delegation destination of the domain name may be searched using only the hash value up to the fourth label and the hash value up to the fourth label. This eliminates the need to search for a delegation destination for a hash value up to a label that does not include delegation destination information, and makes it possible to perform a search process for a DNS query request at a higher speed.
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。 In addition, among the processes described in this embodiment, all or part of the processes described as being performed automatically can be performed manually, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.
また、図2に示した検索処理装置(権威サーバ装置)の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、検索処理装置にて行なわれる各処理機能(例えば、ハッシュ値算出処理など)は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。 Each component of the search processing device (authoritative server device) shown in FIG. 2 is functionally conceptual and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. Furthermore, each processing function (for example, hash value calculation processing) performed in the search processing device is realized by a CPU and a program that is analyzed and executed by the CPU, or a part thereof, or It can be realized as hardware by wired logic.
なお、上記の実施例では、本発明を実現する検索処理装置を機能面から説明したが、検索処理装置の各機能はパーソナルコンピュータやワークステーションなどのコンピュータにプログラムを実行させることによって実現することもできる。すなわち、上記の実施例で説明した各種の処理手順は、あらかじめ用意されたプログラムをコンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。つまり、例を挙げれば、実施例に示したような検索処理プログラムを格納したCD−ROM(装置ごとに別個のCD−ROMであってもよい)を配布し、このCD−ROMに格納されたプログラムを各コンピュータが読み出して実行するようにしてもよい。 In the above-described embodiments, the search processing apparatus that implements the present invention has been described in terms of functions. However, each function of the search processing apparatus may be realized by causing a computer such as a personal computer or a workstation to execute a program. it can. That is, the various processing procedures described in the above embodiments can be realized by executing a program prepared in advance on a computer. These programs can be distributed via a network such as the Internet. Further, these programs can be recorded on a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO, and a DVD, and can be executed by being read from the recording medium by the computer. That is, for example, a CD-ROM storing a search processing program as shown in the embodiment (may be a separate CD-ROM for each apparatus) is distributed and stored in this CD-ROM. The program may be read and executed by each computer.
以上のように、本発明に係る検索処理装置、検索処理方法および検索処理プログラムは、DNSクエリ要求に係るドメイン名に対するリソースレコードおよび委譲先をハッシュ関数によって検索するのに有用であり、特に、DNSクエリ要求に対する検索処理(リソースレコード検索処理および委譲先検索処理)を高速に行うことに適する。 As described above, the search processing device, the search processing method, and the search processing program according to the present invention are useful for searching for a resource record and a delegation destination for a domain name related to a DNS query request using a hash function. It is suitable for performing search processing (resource record search processing and delegation destination search processing) for query requests at high speed.
10 DNSクライアント
20 キャッシュサーバ
30 権威サーバ
31 通信制御I/F部
32 記憶部
33 制御部
33a ハッシュ値算出部
33b リソースレコード検索部
33c 委譲先検索部
DESCRIPTION OF
Claims (7)
前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、当該ラベルの直前のラベルまでのハッシュ値と当該ラベル内の文字とに基づいて算出される中間計算値を剰余して順に算出するハッシュ値算出手段と、
前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対するリソースレコードを検索するリソースレコード検索手段と、
前記ハッシュ値算出手段によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索手段と、
を備えたことを特徴とする検索処理装置。 A search processing device for searching for a resource record and a delegation destination for a domain name related to a DNS query request by a hash function,
An intermediate calculation in which the domain name is input to the hash function in order from the end, and the hash value from the end to each label is calculated based on the hash value up to the label immediately before the label and the characters in the label Hash value calculation means for calculating values in order by remainder ,
Resource record search means for searching for a resource record for the domain name using a hash value from the end of the domain name to each label calculated by the hash value calculation means to the beginning of the domain name; ,
Delegation destination search means for searching for a delegation destination of the domain name using a hash value from the end of the domain name to each label calculated by the hash value calculation means;
A search processing apparatus comprising:
前記ハッシュ値算出手段は、前記委譲先情報記憶手段が存在する場合には、前記ハッシュ値算出を実行するのに先立って前記委譲先情報記憶手段を参照し、前記委譲先情報記憶手段に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを算出することを特徴とする請求項1〜3のいずれか一つに記載の検索処理装置。 Delegation destination information storage means for preliminarily storing delegation destination information indicating a label including the information of the delegation destination,
When the delegation destination information storage means exists , the hash value calculation means refers to the delegation destination information storage means prior to executing the hash value calculation, and is stored in the delegation destination information storage means. search processing apparatus according to any one of claims 1-3, characterized in that to calculate only the hash value to the label determined from transfer destination information.
前記委譲先検索手段は、前記委譲先情報記憶手段が存在する場合には、前記ハッシュ値算出を実行するのに先立って前記委譲先情報記憶手段を参照し、前記委譲先情報記憶手段に記憶された委譲先情報から定まるラベルまでのハッシュ値のみを用いて前記ドメイン名の委譲先を検索することを特徴とする請求項1〜3のいずれか一つに記載の検索処理装置。 Delegation destination information storage means for preliminarily storing delegation destination information indicating a label including information indicating the delegation destination,
When the delegation destination information storage unit exists , the delegation destination search unit refers to the delegation destination information storage unit prior to executing the hash value calculation, and is stored in the delegation destination information storage unit. search processing apparatus according to any one of claims 1 to 3 by using only the hash value to the label determined from transfer destination information, wherein the searching for delegate of the domain name.
前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、当該ラベルの直前のラベルまでのハッシュ値と当該ラベル内の文字とに基づいて算出される中間計算値を剰余して順に算出する算出するハッシュ値算出工程と、
前記ハッシュ値算出工程によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対するリソースレコードを検索するリソースレコード検索工程と、
前記ハッシュ値算出工程によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索工程と、
を含んだことを特徴とする検索処理方法。 A search processing method for searching a resource record and a delegation destination for a domain name related to a DNS query request by a hash function,
An intermediate calculation in which the domain name is input to the hash function in order from the end, and the hash value from the end to each label is calculated based on the hash value up to the label immediately before the label and the characters in the label the hash value calculation step of calculating calculates the order by the remainder value,
A resource record search step of searching for a resource record for the domain name using a hash value from the end of the domain name to each label calculated by the hash value calculation step to the beginning of the domain name; ,
A delegation destination search step of searching a delegation destination of the domain name using a hash value from the end of the domain name to each label calculated by the hash value calculation step;
The search processing method characterized by including.
前記ドメイン名を末尾から順に前記ハッシュ関数に入力し、当該末尾から各ラベルまでのハッシュ値を、当該ラベルの直前のラベルまでのハッシュ値と当該ラベル内の文字とに基づいて算出される中間計算値を剰余して順に算出する算出するハッシュ値算出手順と、
前記ハッシュ値算出手順によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値のうち、当該ドメイン名の先頭までのハッシュ値を用いて前記ドメイン名に対するリソースレコードを検索するリソースレコード検索手順と、
前記ハッシュ値算出手順によって算出された前記ドメイン名の末尾から各ラベルまでのハッシュ値を用いて前記ドメイン名の委譲先を検索する委譲先検索手順と、
をコンピュータに実行させることを特徴とする検索処理プログラム。 A search processing program for causing a computer to execute a method of searching for a resource record and a delegation destination for a domain name related to a DNS query request using a hash function,
An intermediate calculation in which the domain name is input to the hash function in order from the end, and the hash value from the end to each label is calculated based on the hash value up to the label immediately before the label and the characters in the label the hash value calculation step of calculating calculates the order by the remainder value,
A resource record search procedure for searching for a resource record for the domain name using a hash value from the end of the domain name to each label calculated by the hash value calculation procedure to the beginning of the domain name; ,
A delegation destination search procedure for searching for a delegation destination of the domain name using a hash value from the end of the domain name to each label calculated by the hash value calculation procedure;
A search processing program characterized by causing a computer to execute.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006058669A JP4331733B2 (en) | 2006-03-03 | 2006-03-03 | SEARCH PROCESSING DEVICE, SEARCH PROCESSING METHOD, AND SEARCH PROCESSING PROGRAM |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006058669A JP4331733B2 (en) | 2006-03-03 | 2006-03-03 | SEARCH PROCESSING DEVICE, SEARCH PROCESSING METHOD, AND SEARCH PROCESSING PROGRAM |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007243248A JP2007243248A (en) | 2007-09-20 |
| JP4331733B2 true JP4331733B2 (en) | 2009-09-16 |
Family
ID=38588392
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006058669A Expired - Lifetime JP4331733B2 (en) | 2006-03-03 | 2006-03-03 | SEARCH PROCESSING DEVICE, SEARCH PROCESSING METHOD, AND SEARCH PROCESSING PROGRAM |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4331733B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4514780B2 (en) * | 2007-10-09 | 2010-07-28 | 西日本電信電話株式会社 | Communication apparatus and communication method |
| JP4992016B2 (en) * | 2008-01-23 | 2012-08-08 | ネットエージェント株式会社 | Domain name management system |
-
2006
- 2006-03-03 JP JP2006058669A patent/JP4331733B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2007243248A (en) | 2007-09-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11647097B2 (en) | Providing access to managed content | |
| JP5828760B2 (en) | Method and system for cache optimization | |
| US7676553B1 (en) | Incremental web crawler using chunks | |
| US9705843B2 (en) | Method and system for domain name system based discovery of devices and objects | |
| JP2013522736A (en) | Method and system for providing a message including a universal resource locator | |
| US9742669B2 (en) | Aliasing of named data objects and named graphs for named data networks | |
| JP2014504411A (en) | Search in peer-to-peer networks | |
| US10834222B1 (en) | Server utilizing multiple object retrieval candidates | |
| JP4331733B2 (en) | SEARCH PROCESSING DEVICE, SEARCH PROCESSING METHOD, AND SEARCH PROCESSING PROGRAM | |
| JP2021068365A5 (en) | ||
| JP2007025843A (en) | Data storage device and version management program | |
| JP2021093104A5 (en) | ||
| JP5345577B2 (en) | Name resolution device, name resolution method, and name resolution program | |
| KR100658299B1 (en) | Web-based Network Network Monitoring Method for Database Structure Change | |
| JP3873975B2 (en) | View access control method by domain name, DNS server system apparatus, view access control program by domain name, and storage medium storing view access control program by domain name | |
| JP2009116496A (en) | Directory server device, directory server program, directory service system, and directory service management method | |
| JP6058503B2 (en) | Name resolution system and cache control method | |
| JP6531080B2 (en) | Load control device, load control method and load control processing program | |
| JP2005018217A (en) | Search server device and search method | |
| JP4217725B2 (en) | Cache server device, cache control method, and cache server device program for enhancing recursive query | |
| US9306900B2 (en) | Communication device, communication system, and communication method | |
| JP4005102B2 (en) | Gateway device | |
| JP4521419B2 (en) | Node device, forwarding node determination method and program | |
| JP2004021530A (en) | Document management device | |
| JP3834770B2 (en) | Name resolution method and apparatus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081128 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081216 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090216 |
|
| 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: 20090616 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090618 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4331733 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120626 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130626 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140626 Year of fee payment: 5 |
|
| 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 |