Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4568751B2 - Name resolution device, name resolution method, and socket management method - Google Patents
[go: Go Back, main page]

JP4568751B2 - Name resolution device, name resolution method, and socket management method - Google Patents

Name resolution device, name resolution method, and socket management method Download PDF

Info

Publication number
JP4568751B2
JP4568751B2 JP2007332096A JP2007332096A JP4568751B2 JP 4568751 B2 JP4568751 B2 JP 4568751B2 JP 2007332096 A JP2007332096 A JP 2007332096A JP 2007332096 A JP2007332096 A JP 2007332096A JP 4568751 B2 JP4568751 B2 JP 4568751B2
Authority
JP
Japan
Prior art keywords
name resolution
socket
name
generation time
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007332096A
Other languages
Japanese (ja)
Other versions
JP2009159040A (en
Inventor
祐一 島村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007332096A priority Critical patent/JP4568751B2/en
Publication of JP2009159040A publication Critical patent/JP2009159040A/en
Application granted granted Critical
Publication of JP4568751B2 publication Critical patent/JP4568751B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、名前解決装置、名前解決方法およびソケット管理方法に関する。   The present invention relates to a name resolution device, a name resolution method, and a socket management method.

DNS(Domain Name System)サーバなどと称される名前解決装置は、パーソナルコンピュータなどから送信される名前解決要求内のウェブサーバなどの名前からウェブサーバなどのアドレスを検索し、当該アドレスを含む名前解決応答をパーソナルコンピュータなどに送信することで、パーソナルコンピュータがウェブサーバなどにアクセスできるようにするものである。   A name resolution device called a DNS (Domain Name System) server searches for an address of a web server or the like from the name of a web server or the like in a name resolution request transmitted from a personal computer or the like, and performs name resolution including the address By sending a response to a personal computer or the like, the personal computer can access a web server or the like.

図7は、従来の名前解決装置の動作を示すシーケンス図である。   FIG. 7 is a sequence diagram showing the operation of the conventional name resolution apparatus.

名前解決装置1aは、ソケットSC1を生成する(ステップS101)。他のコンピュータ2は、名前解決要求を送信する(ステップD101)。名前解決装置1aは、当該名前解決要求内の名前に対応するアドレスを記憶している場合、当該アドレスを含む名前解決応答を生成し、当該名前解決応答をコンピュータ2に送信する。   The name resolution device 1a generates the socket SC1 (step S101). The other computer 2 transmits a name resolution request (step D101). If the name resolution device 1 a stores an address corresponding to the name in the name resolution request, the name resolution device 1 a generates a name resolution response including the address and transmits the name resolution response to the computer 2.

一方、記憶していない場合、名前解決装置1aは、ランダムに生成したトランザクションIDと当該名前とソケットSC1を示すポート番号とを含む名前解決要求を生成し、名前解決装置3に送信する(ステップS103)。   On the other hand, if not stored, the name resolution device 1a generates a name resolution request including the randomly generated transaction ID, the name, and the port number indicating the socket SC1, and transmits it to the name resolution device 3 (step S103). ).

名前解決装置1aは、当該名前解決要求に対して名前解決装置3から当該ポート番号宛に送信された名前解決応答をソケットSC1を使用して受信し(ステップS105)、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致した場合、当該名前解決応答内のアドレスを含む名前解決応答を生成し、当該名前解決応答をコンピュータ2に送信する(ステップS107)。これにより、コンピュータ2は、当該アドレスを指定することで、前記名前を有するコンピュータ(サーバなど)にアクセスできるようになる。また、名前解決装置1aは、次回のために、当該名前とアドレスを対応づけて記憶しておく。   In response to the name resolution request, the name resolution device 1a receives the name resolution response transmitted from the name resolution device 3 to the port number using the socket SC1 (step S105), and the transaction in the name resolution response. When the transaction IDs composed of the ID and the transaction ID in the name resolution request match, a name resolution response including the address in the name resolution response is generated, and the name resolution response is transmitted to the computer 2 (step S107). ). Thereby, the computer 2 can access a computer (such as a server) having the name by designating the address. Further, the name resolution device 1a stores the name and address in association with each other for the next time.

かかる名前解決装置1aは、悪意のコンピュータ4から攻撃を受けることがある。この攻撃は、コンピュータ2を偽のサーバなどにアクセスさせ、コンピュータ2のユーザが入力したクレジットカード番号などを盗むべくなされる。   The name resolution device 1a may be attacked by the malicious computer 4. This attack is made to allow the computer 2 to access a fake server and steal the credit card number entered by the user of the computer 2.

コンピュータ2は、例えば、再び名前解決要求を送信し(ステップD103)、悪意のコンピュータ4が、例えば、偽の名前解決応答を送信してくる(ステップE101)。 ここで、悪意のコンピュータ4は、無作為に決定したトランザクションIDと偽のサーバなどのアドレスとを含む偽の名前解決応答を、無作為に決定したポート番号宛で名前解決装置1aに対して大量に送信する(ステップE101)。   For example, the computer 2 transmits a name resolution request again (step D103), and the malicious computer 4 transmits, for example, a fake name resolution response (step E101). Here, the malicious computer 4 sends a large number of fake name resolution responses including a randomly determined transaction ID and a fake server address to the name resolution device 1a addressed to the randomly determined port number. (Step E101).

悪意のコンピュータ4は、ポート番号を無作為に決定するので、これが正しいポート番号となる可能性は低い。つまり、名前解決装置1aがソケットSC1を使用して偽の名前解決応答を受信してしまう可能性は低い。しかし、ソケットSC1は生成されたままであり、ポート番号が不変なので、受信されることは皆無ではない(ステップS115)。しかも、その前に、名前解決装置1aが、名前解決装置3に名前解決要求を送信しており(ステップS113)、正規の名前解決応答の送信が、偽の名前解決応答の受信(S115)よりも遅れ(ステップS117)、当該偽の名前解決応答内のトランザクションIDと、当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致してしまった場合、当該名前解決応答内の偽のアドレスを含む名前解決応答が生成され、当該名前解決応答がコンピュータ2に送信されてしまう(ステップS114)。また、名前解決装置1aは、当該偽のアドレスを記憶してしまう。   Since the malicious computer 4 randomly determines the port number, it is unlikely that this is the correct port number. That is, it is unlikely that the name resolution device 1a receives a fake name resolution response using the socket SC1. However, since the socket SC1 remains generated and the port number remains unchanged, it is not completely received (step S115). Moreover, before that, the name resolution device 1a has transmitted a name resolution request to the name resolution device 3 (step S113), and the transmission of the regular name resolution response is received from the reception of the fake name resolution response (S115). If the transaction IDs of the transaction IDs in the fake name resolution response and the transaction IDs in the name resolution request match with each other (step S117), the fake address in the name resolution response Is generated, and the name resolution response is transmitted to the computer 2 (step S114). Further, the name resolution device 1a stores the fake address.

図8は、従来の他の名前解決装置の動作を示すシーケンス図である。   FIG. 8 is a sequence diagram showing the operation of another conventional name resolution apparatus.

名前解決装置1bは、かかる不都合の解決を図ったものであり、コンピュータ2が名前解決要求を送信した場合(ステップD201)に、ソケットSC1を生成する(ステップS201)。   The name resolution device 1b is for solving such inconvenience. When the computer 2 transmits a name resolution request (step D201), the name resolution device 1b generates a socket SC1 (step S201).

名前解決装置1bは、当該名前解決要求内の名前に対応するアドレスを記憶していない場合、トランザクションIDと名前とソケットSC1のポート番号とを含む名前解決要求を生成し、名前解決装置3に送信する(ステップS203)。   When the name resolution device 1b does not store an address corresponding to the name in the name resolution request, the name resolution device 1b generates a name resolution request including the transaction ID, the name, and the port number of the socket SC1, and transmits it to the name resolution device 3. (Step S203).

名前解決装置1bは、名前解決応答をソケットSC1を使用して受信し(ステップS207)、ソケットSC1を破棄し(ステップS209)、名前解決応答をコンピュータ2に送信する(ステップS211)。   The name resolution device 1b receives the name resolution response using the socket SC1 (step S207), discards the socket SC1 (step S209), and transmits the name resolution response to the computer 2 (step S211).

名前解決装置1bは、次の名前解決要求が送信された場合(ステップD211)、今度は、ソケットSC1とは異なるソケットSC2を生成する(ステップS211)。   When the next name resolution request is transmitted (step D211), the name resolution device 1b generates a socket SC2 that is different from the socket SC1 (step S211).

名前解決装置1bは、アドレスを記憶していない場合、ソケットSC1のポート番号とは異なるソケットSC2のポート番号を含む名前解決要求を生成し、名前解決装置3に送信する(ステップS213)。   If the address is not stored, the name resolution device 1b generates a name resolution request including the port number of the socket SC2 different from the port number of the socket SC1, and transmits it to the name resolution device 3 (step S213).

悪意のコンピュータ4は、例えば、ソケットSC2が存在しているときに偽の名前解決応答を送信してくる(ステップE201)。この中には、ソケットSC1のポート番号宛の名前解決応答があるかもしれず、仮にソケットSC1が存在しているときに当該名前解決応答が送信されたならば当該名前解決応答は名前解決装置1bに受信されてしまうのだが、ソケットSC2はソケットSC1とは異なるので、実際には受信されない。   For example, the malicious computer 4 transmits a fake name resolution response when the socket SC2 exists (step E201). Among them, there may be a name resolution response addressed to the port number of the socket SC1, and if the name resolution response is transmitted when the socket SC1 exists, the name resolution response is sent to the name resolution device 1b. However, since the socket SC2 is different from the socket SC1, it is not actually received.

したがって、名前解決装置1bによれば、ソケットSC2のポート番号宛の名前解決応答が送信され、当該名前解決応答を受信してしまう前に、正規の名前解決応答を受信し(ステップS215)、ソケットSC2を破棄し(ステップS217)、正規の名前解決応答をコンピュータ2に送信し(ステップS219)、正規のアドレスを名前解決装置1b自身に記憶する可能性を高めることができる。   Therefore, according to the name resolution device 1b, before the name resolution response addressed to the port number of the socket SC2 is transmitted and the name resolution response is received, the regular name resolution response is received (step S215), and the socket is resolved. SC2 is discarded (step S217), a regular name resolution response is transmitted to the computer 2 (step S219), and the possibility that the regular address is stored in the name resolution device 1b itself can be increased.

なお、下記の非特許文献1には、ソケットを再利用していることの記述(P.5)とランダムにソケットを生成していることの記述(P.7)とがある。
Joe Stewart GCIH, "DNS Cache Poisoning - The Next Generation", [online], インターネット<URL:http://www.lurhq.com/dnscache.pdf>
The following Non-Patent Document 1 includes a description of reusing sockets (P.5) and a description of randomly generating sockets (P.7).
Joe Stewart GCIH, "DNS Cache Poisoning-The Next Generation", [online], Internet <URL: http: //www.lurhq.com/dnscache.pdf>

しかし、名前解決装置1bは、ソケットの生成および破棄を名前解決ごとに行うので、ソケットの生成および破棄に多大な処理能力が使用される。   However, since the name resolution device 1b performs socket generation and destruction for each name resolution, a great amount of processing capacity is used for socket generation and destruction.

一方、名前解決装置1aは、ソケットを生成したままとし、当該ソケットを破棄しないので、偽の名前解決応答がコンピュータに送信され、自身も偽のアドレスを記憶してしまう可能性が高い。   On the other hand, since the name resolution device 1a keeps generating the socket and does not discard the socket, there is a high possibility that a fake name resolution response is transmitted to the computer and the fake address is stored in itself.

本発明は、このような課題に鑑みてなされたものであり、その目的とするところは、ソケットの生成および破棄に使用される処理能力を低減でき且つ偽の名前解決応答を送信するとともに偽のアドレスを記憶してしまう可能性を低減できる名前解決装置、名前解決方法およびソケット管理方法を提供することにある。   The present invention has been made in view of such a problem, and an object of the present invention is to reduce the processing capacity used for creating and destroying a socket and to transmit a fake name resolution response and fake it. An object of the present invention is to provide a name resolution device, a name resolution method, and a socket management method that can reduce the possibility of storing an address.

上記課題を解決するために、請求項1の本発明は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信する名前解決要求受信部と、当該名前を有するコンピュータのアドレスを含む名前解決応答を生成し、当該名前解決応答を当該名前解決要求を送信したコンピュータに送信する名前解決応答送信部と、前記名前解決要求受信部により受信された名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるアドレス検索部と、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部と、前記アドレスが検索できなかった場合、前記ソケット生成時刻記憶部からソケット生成時刻を読み出し、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求め、当該差が予め設定されたしきい値を超えているか否かを判定するソケット更新部と、前記ソケット更新部により、超えていないと判定された場合において、ランダムに生成したトランザクションIDと前記名前と当該超えていないと判定されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信する名前解決要求送信部と、当該名前解決要求に対して前記名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信し、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定し、一致すると判定した場合、当該名前解決応答内のアドレスを前記名前解決応答送信部に与える名前解決応答受信部とを備えることを特徴とする名前解決装置をもって解決手段とする。
請求項2の本発明は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信する名前解決要求受信部と、当該名前を有するコンピュータのアドレスを含む名前解決応答を生成し、当該名前解決応答を当該名前解決要求を送信したコンピュータに送信する名前解決応答送信部と、前記名前解決要求受信部により受信された名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるアドレス検索部と、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部と、前記アドレスが検索できなかった場合、前記ソケット生成時刻記憶部からソケット生成時刻を読み出し、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求め、当該差が予め設定されたしきい値を超えているか否かを判定し、超えていると判定した場合、当該超えていると判定されたソケットを破棄し、当該ソケットとは異なるソケットを生成し、前記ソケット生成時刻記憶部のソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させるソケット更新部と、前記アドレスが検索できなかった場合、ランダムに生成したトランザクションIDと前記名前と当該超えていないと判定されたソケットまたは当該生成されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信する名前解決要求送信部と、当該名前解決要求に対して前記名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信し、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定し、一致すると判定した場合、当該名前解決応答内のアドレスを前記名前解決応答送信部に与える名前解決応答受信部とを備えることを特徴とする名前解決装置をもって解決手段とする。
In order to solve the above-mentioned problem, the present invention of claim 1 includes a name resolution information database in which a computer name and a computer address are stored in association with each other, and a computer that has transmitted a name resolution request including a name. A name resolution request receiving unit that receives the name resolution request and a name resolution response that includes the address of the computer having the name, and transmits the name resolution response to the computer that transmitted the name resolution request. , An address search unit that attempts to search the name resolution information database for an address associated with the name in the name resolution request received by the name resolution request reception unit, and another name resolution device. Socket creation, which is the creation time of the socket created to be used to receive the name resolution response If the address cannot be retrieved and the socket generation time storage unit in which the time is stored, the socket generation time is read from the socket generation time storage unit, and the difference between the socket generation time and the time at which the address could not be retrieved A socket update unit that determines whether or not the difference exceeds a preset threshold, and a transaction ID that is randomly generated when the socket update unit determines that the difference does not exceed A name resolution request transmitting unit that generates a name resolution request including the name and a port number indicating a socket determined not to exceed the name, and transmits the name resolution request to the other name resolution device, and the name resolution In response to the request, the name resolution response sent from the name resolution device to the port number is received using the socket. It is determined whether or not the transaction IDs composed of the transaction ID in the name resolution response and the transaction ID in the name resolution request match. If it is determined that they match, the address in the name resolution response is set to the name resolution response. A name resolution apparatus including a name resolution response reception unit to be given to the transmission unit is used as a resolution means.
The present invention of claim 2 is a name resolution information database in which a name of a computer and an address of the computer are stored in association with each other, and a name that receives the name resolution request from a computer that has transmitted the name resolution request including the name. A resolution request receiving unit; a name resolution response including an address of a computer having the name; and a name resolution response transmitting unit that transmits the name resolution response to the computer that transmitted the name resolution request; and the name resolution request reception an address searching unit See attempt to search an address associated with the name in the received name resolution request by parts from the name resolution information database, to receive name resolution responses sent from other name resolution device socket raw socket generation time is the generation time of the socket to be generated for use is stored A time storage unit, if the previous SL address can not be retrieved, reading a socket generation time from the socket generation time storage unit, obtains the difference between the time at which the socket creation time and the address can not be retrieved, the difference determines whether exceeds a preset threshold, if it is determined that more than to discard a socket which is determined as exceeding the, produce different socket with the socket, the Instead of the socket generation time of the socket generation time storage unit, a socket update unit that stores the socket generation time of the socket in the socket generation time storage unit, and a transaction ID that is randomly generated when the address cannot be retrieved , names that contain a port number indicating the determined socket or the generated socket does not exceed pre-register before and the Solve generate a request, the name resolution request transmitting unit that transmits the name resolution request to the other name resolution device, the name resolution response with respect to the name resolution request sent from the name resolution device addressed to the port number Is received using the socket, and it is determined whether the transaction IDs of the transaction ID in the name resolution response and the transaction ID in the name resolution request match. and solutions with a name resolution device, characterized in that it comprises a name resolution response receiving unit giving the address name resolution in response to the name resolution response transmission unit.

請求項の本発明は、前記名前解決要求受信部により受信された名前解決要求内の名前と前記名前解決応答送信部に与えられたアドレスを互いに対応づけて前記名前解決情報データベースに記憶させる名前解決情報データベース更新部を備えることを特徴とする請求項1または2記載の名前解決装置をもって解決手段とする。 According to a third aspect of the present invention , the name stored in the name resolution information database is associated with a name in the name resolution request received by the name resolution request receiving unit and an address given to the name resolution response transmitting unit. A resolution information database update unit is provided, and the name resolution device according to claim 1 or 2 is used as a resolution means.

請求項の本発明は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信する名前解決要求受信部と、前記名前解決要求受信部により受信された名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるアドレス検索部と、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部と、前記アドレスが検索できなかった場合、前記ソケット生成時刻記憶部からソケット生成時刻を読み出し、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求め、当該差が予め設定されたしきい値を超えているか否かを判定し、超えていると判定した場合、当該超えていると判定されたソケットを破棄し、当該ソケットとは異なるソケットを生成し、前記ソケット生成時刻記憶部のソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させるソケット更新部とを備えることを特徴とする名前解決装置をもって解決手段とする。 The present invention of claim 4 includes a name resolution information database in which a computer name and an address of the computer are stored in association with each other, and a name that receives the name resolution request from the computer that has transmitted the name resolution request including the name. A resolution request receiving unit; an address search unit that attempts to search the name resolution information database for an address associated with a name in the name resolution request received by the name resolution request receiving unit; and another name resolution device A socket generation time storage unit that stores a socket generation time that is a generation time of a socket generated to be used for receiving a name resolution response transmitted from the socket, and if the address cannot be retrieved, the socket generation time The socket creation time can be read from the storage unit, and the socket creation time and address can be retrieved. Find the difference with the time taken, determine whether or not the difference exceeds a preset threshold, and if determined to exceed, discard the socket determined to exceed, A socket update unit that generates a socket different from the socket and stores the socket generation time of the socket in the socket generation time storage unit instead of the socket generation time of the socket generation time storage unit, The name resolution device is used as the resolution means.

請求項の本発明は、前記ソケット更新部により、ソケットが生成された場合、ランダムに生成したトランザクションIDと前記名前と当該生成されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信する名前解決要求送信部と、当該名前解決要求に対して前記他の名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信し、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定する名前解決応答受信部と、当該トランザクションID同士が一致しないと判定された場合、当該一致しないと判定されたときに存在しているソケットを破棄し、当該ソケットとは異なるソケットを生成し、前記ソケット生成時刻記憶部に記憶されたソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させる第2のソケット更新部と備えることを特徴とする請求項4記載の名前解決装置をもって解決手段とする。 According to the present invention of claim 5 , when a socket is generated by the socket update unit, a name resolution request including a randomly generated transaction ID, the name, and a port number indicating the generated socket is generated. A name resolution request transmission unit for transmitting the name resolution request to the other name resolution device; and a name resolution response transmitted from the other name resolution device to the port number in response to the name resolution request through the socket. The name resolution response receiving unit that determines whether the transaction IDs of the transaction ID in the name resolution response and the transaction ID in the name resolution request match, and the transaction IDs are If it is determined that they do not match, the socket that exists when it is determined that they do not match is discarded, and A second socket updating unit that generates a socket different from the socket and stores the socket generation time of the socket in the socket generation time storage unit instead of the socket generation time stored in the socket generation time storage unit; The name resolution apparatus according to claim 4 is used as a resolution means.

請求項の本発明は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信する名前解決要求受信部と、前記名前解決要求受信部により受信された名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるアドレス検索部と、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部と、前記アドレスが検索できなかった場合、前記ソケット生成時刻記憶部からソケット生成時刻を読み出し、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求め、当該差が予め設定されたしきい値を超えているか否かを判定するソケット更新部と、前記ソケット更新部により、超えていないと判定された場合において、ランダムに生成したトランザクションIDと前記名前と当該超えていないと判定されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信する名前解決要求送信部と、当該名前解決要求に対して前記他の名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信し、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定する名前解決応答受信部と、当該トランザクションID同士が一致しないと判定された場合、当該一致しないと判定されたときに存在しているソケットを破棄し、当該ソケットとは異なるソケットを生成し、前記ソケット生成時刻記憶部に記憶されたソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させる第2のソケット更新部とを備えることを特徴とする名前解決装置をもって解決手段とする。 The present invention of claim 6 is a name resolution information database in which a computer name and an address of the computer are stored in association with each other, and a name that receives the name resolution request from the computer that has transmitted the name resolution request including the name. A resolution request receiving unit; an address search unit that attempts to search the name resolution information database for an address associated with a name in the name resolution request received by the name resolution request receiving unit; and another name resolution device A socket generation time storage unit that stores a socket generation time that is a generation time of a socket generated to be used for receiving a name resolution response transmitted from the socket, and if the address cannot be retrieved, the socket generation time The socket creation time can be read from the storage unit, and the socket creation time and address can be retrieved. A socket update unit that determines a difference from the taken time and determines whether or not the difference exceeds a preset threshold; and when the socket update unit determines that the difference does not exceed A name resolution request including the generated transaction ID, the name, and a port number indicating a socket determined not to exceed the name, and transmitting the name resolution request to the other name resolution device. And the name resolution response transmitted from the other name resolution device to the port number in response to the name resolution request using the socket, and the transaction ID and the name resolution in the name resolution response are received. A name resolution response receiver for determining whether or not transaction IDs consisting of transaction IDs in the request match, and the transaction If it is determined that the application IDs do not match, the socket that exists when it is determined that the IDs do not match is discarded, and a socket different from the socket is generated and stored in the socket generation time storage unit. Instead of the socket generation time, the name resolution device includes a second socket update unit that stores the socket generation time of the socket in the socket generation time storage unit .

請求項の本発明は、名前解決装置が行う名前解決方法であって、前記名前解決装置は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部とを備え、前記名前解決方法は、前記名前解決装置の名前解決要求受信部が、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信するステップと、前記名前解決装置のアドレス検索部が、当該名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるステップと、前記名前解決装置のソケット更新部が、当該アドレスが検索できなかった場合において、前記ソケット生成時刻記憶部からソケット生成時刻を読み出すステップと、前記ソケット更新部が、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求めるステップと、前記ソケット更新部が、当該差が予め設定されたしきい値を超えているか否かを判定するステップと、前記名前解決装置の名前解決要求送信部が、前記ソケット更新部により、超えていないと判定された場合において、ランダムに生成したトランザクションIDと前記名前と当該超えていないと判定されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信するステップと、前記名前解決装置の名前解決応答受信部が、当該名前解決要求に対して前記他の名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信するステップと、前記名前解決応答受信部が、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定するステップと、前記名前解決応答受信部が、一致すると判定した場合において、当該名前解決応答内のアドレスを前記名前解決装置の名前解決応答送信部に与えるステップと、前記名前解決応答送信部が、当該アドレスを含む名前解決応答を生成し、当該名前解決応答を前記コンピュータに送信するステップとを含むことを特徴とする名前解決方法をもって解決手段とする。 The present invention of claim 7 is a name resolution method performed by a name resolution device, wherein the name resolution device includes a name resolution information database in which a computer name and a computer address are stored in association with each other; A socket generation time storage unit that stores a socket generation time, which is a generation time of a socket generated for use in receiving a name resolution response transmitted from the name resolution device. The name resolution request receiving unit of the name resolution device receives the name resolution request from the computer that has transmitted the name resolution request including the name, and the address search unit of the name resolution device sets the name in the name resolution request. Attempting to retrieve the associated address from the name resolution information database; and a socket of the name resolution device When the new part cannot retrieve the address, the step of reading the socket generation time from the socket generation time storage unit, and the socket update unit, the socket generation time and the time when the address could not be searched A step of obtaining a difference; a step in which the socket update unit determines whether the difference exceeds a preset threshold; and a name resolution request transmission unit of the name resolution device includes the socket update unit When it is determined that the number does not exceed, a name resolution request including a randomly generated transaction ID, the name, and a port number indicating a socket determined not to exceed the name is generated, and the name resolution request is A step of transmitting to the other name resolution device, and a name resolution response receiving unit of the name resolution device Receiving a name resolution response transmitted from the other name resolution device to the port number in response to the request using the socket; and the name resolution response receiver receives a transaction ID in the name resolution response. And the transaction ID consisting of the transaction ID in the name resolution request, and the name resolution response receiving unit determines that they match, the address in the name resolution response is Providing to the name resolution response transmission unit of the name resolution device, and the name resolution response transmission unit generating a name resolution response including the address and transmitting the name resolution response to the computer. A feature name resolution method is used as a resolution means.

請求項の本発明は、名前解決装置が行う名前解決方法であって、前記名前解決装置は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部とを備え、前記名前解決方法は、前記名前解決装置の名前解決要求受信部が、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信するステップと、前記名前解決装置のアドレス検索部が、当該名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるステップと、前記名前解決装置のソケット更新部が、当該アドレスが検索できなかった場合において、前記ソケット生成時刻記憶部からソケット生成時刻を読み出すステップと、前記ソケット更新部が、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求めるステップと、前記ソケット更新部が、当該差が予め設定されたしきい値を超えているか否かを判定するステップと、前記ソケット更新部が、超えていると判定したソケットを破棄するステップと、前記ソケット更新部が、当該ソケットとは異なるソケットを生成するステップと、前記ソケット更新部が、前記ソケット生成時刻記憶部のソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させるステップと、前記名前解決装置の名前解決要求送信部が、ランダムに生成したトランザクションIDと前記名前と当該生成されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信するステップと、前記名前解決装置の名前解決応答受信部が、当該名前解決要求に対して前記他の名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信するステップと、前記名前解決応答受信部が、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定するステップと、前記名前解決応答受信部が、一致すると判定した場合において、当該名前解決応答内のアドレスを前記名前解決装置の名前解決応答送信部に与えるステップと、前記名前解決装置の名前解決応答送信部が、当該アドレスを含む名前解決応答を生成し、当該名前解決応答を前記コンピュータに送信するステップとを含むことを特徴とする名前解決方法をもって解決手段とする。
請求項9の本発明は、前記名前解決装置の名前解決情報データベース更新部が、前記名前解決要求受信部により受信された名前解決要求内の名前と前記名前解決応答送信部に与えられたアドレスを互いに対応づけて前記名前解決情報データベースに記憶させるステップを含むことを特徴とする請求項7または8記載の名前解決方法をもって解決手段とする。
請求項10の本発明は、名前解決装置が行うソケット管理方法であって、前記名前解決装置は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部とを備え、前記ソケット管理方法は、前記名前解決装置の名前解決要求受信部が、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信するステップと、前記名前解決装置のアドレス検索部が、当該名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるステップと、前記名前解決装置のソケット更新部が、当該アドレスが検索できなかった場合において、前記ソケット生成時刻記憶部からソケット生成時刻を読み出すステップと、前記ソケット更新部が、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求めるステップと、前記ソケット更新部が、当該差が予め設定されたしきい値を超えているか否かを判定するステップと、前記ソケット更新部が、超えていると判定したソケットを破棄するステップと、前記ソケット更新部が、当該ソケットとは異なるソケットを生成するステップと、前記ソケット更新部が、前記ソケット生成時刻記憶部のソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させるステップとを含むことを特徴とするソケット管理方法をもって解決手段とする。
請求項11の本発明は、前記名前解決装置の名前解決要求送信部が、ランダムに生成したトランザクションIDと前記名前と前記生成されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信するステップと、前記名前解決装置の名前解決応答受信部が、当該名前解決要求に対して前記他の名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信するステップと、前記名前解決応答受信部が、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定するステップと、前記名前解決装置の第2のソケット更新部が、当該トランザクションID同士が一致しないと判定されたときに存在しているソケットを破棄するステップと、前記第2のソケット更新部が、当該ソケットとは異なるソケットを生成するステップと、前記第2のソケット更新部が、前記ソケット生成時刻記憶部に記憶されたソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させるステップとを含むことを特徴とする請求項10記載のソケット管理方法をもって解決手段とする。
請求項12の本発明は、名前解決装置が行うソケット管理方法であって、前記名前解決装置は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部とを備え、前記ソケット管理方法は、前記名前解決装置の名前解決要求受信部が、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信するステップと、前記名前解決装置のアドレス検索部が、当該名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるステップと、前記名前解決装置のソケット更新部が、当該アドレスが検索できなかった場合において、前記ソケット生成時刻記憶部からソケット生成時刻を読み出すステップと、前記ソケット更新部が、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求めるステップと、前記ソケット更新部が、当該差が予め設定されたしきい値を超えているか否かを判定するステップと、前記名前解決装置の名前解決要求送信部が、前記ソケット更新部により、超えていないと判定された場合において、ランダムに生成したトランザクションIDと前記名前と当該超えていないと判定されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信するステップと、前記名前解決装置の名前解決応答受信部が、当該名前解決要求に対して前記他の名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信するステップと、前記名前解決応答受信部が、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定するステップと、前記名前解決装置の第2のソケット更新部が、当該トランザクションID同士が一致しないと判定された場合、当該一致しないと判定されたときに存在しているソケットを破棄するステップと、前記第2のソケット更新部が、当該ソケットとは異なるソケットを生成するステップと、前記第2のソケット更新部が、前記ソケット生成時刻記憶部に記憶されたソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させるステップとを含むことを特徴とするソケット管理方法をもって解決手段とする。
The present invention of claim 8 is a name resolution method performed by a name resolution device, wherein the name resolution device includes a name resolution information database in which a name of a computer and an address of the computer are stored in association with each other; A socket generation time storage unit that stores a socket generation time, which is a generation time of a socket generated for use in receiving a name resolution response transmitted from the name resolution device. The name resolution request receiving unit of the name resolution device receives the name resolution request from the computer that has transmitted the name resolution request including the name, and the address search unit of the name resolution device sets the name in the name resolution request. Attempting to retrieve the associated address from the name resolution information database; and a socket of the name resolution device When the new part cannot retrieve the address, the step of reading the socket generation time from the socket generation time storage unit, and the socket update unit, the socket generation time and the time when the address could not be searched A step of obtaining a difference, a step in which the socket updating unit determines whether or not the difference exceeds a preset threshold, and a socket that the socket updating unit has determined to be exceeded is discarded. A step in which the socket update unit generates a socket different from the socket, and the socket update unit sets the socket generation time of the socket in place of the socket generation time in the socket generation time storage unit. A step of storing in the generation time storage unit, and a name resolution request transmitting unit of the name resolution device, Generating a name resolution request including the transaction ID, the name, and the port number indicating the generated socket, and transmitting the name resolution request to the other name resolution device; Receiving a name resolution response transmitted from the other name resolution device to the port number in response to the name resolution request using the socket; and receiving the name resolution response Determining that the transaction IDs of the transaction ID in the name resolution response and the transaction ID in the name resolution request match, and the name resolution response receiving unit determines that they match And providing an address in the name resolution response to the name resolution response transmitter of the name resolution device. A name resolution response transmitting unit of the name resolution device generates a name resolution response including the address, and transmits the name resolution response to the computer. To do.
In the ninth aspect of the present invention, the name resolution information database update unit of the name resolution device uses the name in the name resolution request received by the name resolution request reception unit and the address given to the name resolution response transmission unit. 9. The name resolution method according to claim 7 or 8, comprising the step of storing the name resolution information database in association with each other.
The present invention of claim 10 is a socket management method performed by a name resolution device, wherein the name resolution device stores a name resolution information database in which a computer name and an address of the computer are stored in association with each other; A socket generation time storage unit that stores a socket generation time that is a generation time of a socket generated to be used for receiving a name resolution response transmitted from the name resolution device of the socket, and the socket management method includes: The name resolution request receiving unit of the name resolution device receives the name resolution request from the computer that has transmitted the name resolution request including the name, and the address search unit of the name resolution device sets the name in the name resolution request. Attempting to retrieve the associated address from the name resolution information database; and the name resolution device. When the socket update unit cannot find the address, the step of reading the socket generation time from the socket generation time storage unit, and the socket update unit, the socket generation time and the time when the address could not be searched, Determining the difference between the socket updating unit, determining whether the difference exceeds a preset threshold value, and discarding the socket determined by the socket updating unit to exceed And the socket updating unit generates a socket different from the socket, and the socket updating unit replaces the socket generation time of the socket generation time storage unit with the socket generation time of the socket. Socket management method comprising the step of storing in a socket generation time storage unit With a the resolution means.
In the eleventh aspect of the present invention, the name resolution request transmission unit of the name resolution device generates a name resolution request including a randomly generated transaction ID, the name, and a port number indicating the generated socket, and A step of transmitting a name resolution request to the other name resolution device; and a name resolution response receiving unit of the name resolution device is transmitted from the other name resolution device to the port number in response to the name resolution request. The step of receiving a name resolution response using the socket, and whether the name resolution response reception unit matches the transaction IDs of the transaction ID in the name resolution response and the transaction ID in the name resolution request The step of determining whether or not the second socket update unit of the name resolution device A step of discarding a socket existing when it is determined not to perform, a step of generating a socket different from the socket by the second socket update unit, and the second socket update unit of the socket 11. The method according to claim 10, further comprising: storing the socket generation time of the socket in the socket generation time storage unit instead of the socket generation time stored in the generation time storage unit. Means.
The present invention of claim 12 is a socket management method performed by a name resolution device, wherein the name resolution device includes a name resolution information database in which a computer name and a computer address are stored in association with each other; A socket generation time storage unit that stores a socket generation time that is a generation time of a socket generated to be used for receiving a name resolution response transmitted from the name resolution device of the socket, and the socket management method includes: The name resolution request receiving unit of the name resolution device receives the name resolution request from the computer that has transmitted the name resolution request including the name, and the address search unit of the name resolution device sets the name in the name resolution request. Attempting to retrieve the associated address from the name resolution information database; and the name resolution device. When the socket update unit cannot find the address, the step of reading the socket generation time from the socket generation time storage unit, and the socket update unit, the socket generation time and the time when the address could not be searched, Determining the difference between the socket, the socket updating unit determining whether the difference exceeds a preset threshold value, and the name resolution request transmitting unit of the name resolution device is configured to update the socket. The name resolution request including the randomly generated transaction ID, the name, and the port number indicating the socket determined not to exceed the transaction ID. To the other name resolution device, and a name resolution response receiving unit of the name resolution device Receiving a name resolution response transmitted from the other name resolution device to the port number in response to the name resolution request using the socket; and the name resolution response reception unit includes the name resolution response in the name resolution response. The step of determining whether or not the transaction IDs consisting of the transaction ID and the transaction ID in the name resolution request match, and the second socket update unit of the name resolution device does not match the transaction IDs. If it is determined, the step of discarding sockets that exist when it is determined that they do not match, the step of generating a socket different from the socket by the second socket update unit, The socket update unit replaces the socket generation time stored in the socket generation time storage unit with the socket And storing the socket generation time in the socket generation time storage unit as a solution means.

請求項13の本発明は、請求項1ないし6のいずれかに記載の名前解決装置をコンピュータにより構成するためのコンピュータプログラム。 The present invention of claim 13 is a computer program for configuring the name resolution device according to any one of claims 1 to 6 by a computer.

請求項14の本発明は、請求項13記載のコンピュータプログラムが格納されたコンピュータ読み取り可能な記録媒体をもって解決手段とする。 The fourteenth aspect of the present invention provides a computer-readable recording medium storing the computer program according to the thirteenth aspect as a solving means.

本発明によれば、ソケットの生成および破棄に使用される処理能力を低減でき且つ偽の名前解決応答を送信するとともに偽のアドレスを記憶してしまう可能性を低くすることができる。   According to the present invention, it is possible to reduce the processing capacity used for creating and destroying sockets, and to reduce the possibility of sending a fake name resolution response and storing a fake address.

以下、本発明の実施の形態に係る名前解決装置、名前解決方法およびソケット管理方法を図面を参照して説明する。   Hereinafter, a name resolution device, a name resolution method, and a socket management method according to embodiments of the present invention will be described with reference to the drawings.

[第1の実施の形態]
図1は、第1の実施の形態に係る名前解決装置の構成を示すブロック図である。
[First Embodiment]
FIG. 1 is a block diagram showing the configuration of the name resolution apparatus according to the first embodiment.

名前解決装置1は、ウェブサーバなどの他のコンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベース11と、名前を含む名前解決要求を送信したパーソナルコンピュータなどのコンピュータから当該名前解決要求を受信する名前解決要求受信部12と、当該名前を有するコンピュータのアドレスを含む名前解決応答を生成し、当該名前解決応答を当該名前解決要求を送信したコンピュータに送信する名前解決応答送信部13と、名前解決要求受信部12により受信された名前解決要求内の名前に対応づけられたアドレスを名前解決情報データベース11から検索することを試み、当該アドレスが検索できた場合、当該アドレスを名前解決応答送信部13に与えるアドレス検索部14と、図示しない名前解決装置から送信される名前解決応答の受信に使用されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部15と、最初のソケットを生成し、当該ソケットのソケット生成時刻をソケット生成時刻記憶部15に記憶させるソケット生成部16と、アドレスが検索できなかった場合、ソケット生成時刻記憶部15からソケット生成時刻を読み出し、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求め、当該差が予め設定されたしきい値を超えているか否かを判定し、超えていると判定した場合、当該超えていると判定されたときに存在しているソケットを破棄し、当該ソケットとは異なるソケットを生成し、ソケット生成時刻記憶部15のソケット生成時刻に代えて、当該ソケットのソケット生成時刻をソケット生成時刻記憶部15に記憶させるソケット更新部17と、ランダムに生成したトランザクションIDとアドレスが検索できなかったときに先だって名前解決要求受信部12により受信された名前解決要求内の名前と当該生成されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を図示しない名前解決装置に送信する名前解決要求送信部18と、当該名前解決要求に対して図示しない名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信し、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定し、一致すると判定した場合、当該名前解決応答内のアドレスを名前解決応答送信部13に与える名前解決応答受信部19と、名前解決応答受信部19により名前解決応答送信部13にアドレスが与えられたときに先だって名前解決要求受信部12により受信された名前解決要求内の名前と当該アドレスを互いに対応づけて名前解決情報データベース11に記憶させる名前解決情報データベース更新部110と、トランザクションIDが記憶されるトランザクションID記憶部111と、現在時刻を計時するタイマー112と、しきい値が記憶されるしきい値記憶部113とを備える。   The name resolution device 1 includes a name resolution information database 11 in which the name of another computer such as a web server and the address of the computer are stored in association with each other, and a computer such as a personal computer that has transmitted a name resolution request including the name Name resolution request receiving unit 12 that receives the name resolution request from the server, and generates a name resolution response including the address of the computer having the name, and transmits the name resolution response to the computer that transmitted the name resolution request When it is attempted to search the name resolution information database 11 for an address associated with the name in the name resolution request received by the response transmission unit 13 and the name resolution request reception unit 12, and the address can be retrieved, An address search unit 14 for giving an address to the name resolution response transmission unit 13; A socket generation time storage unit 15 for storing a socket generation time, which is a generation time of a socket used for receiving a name resolution response transmitted from a name resolution device (not shown), a first socket, and a socket of the socket If the socket generation unit 16 that stores the generation time in the socket generation time storage unit 15 and the address cannot be searched, the socket generation time is read from the socket generation time storage unit 15 and the socket generation time and the address cannot be searched. It is present when it is determined that the difference is exceeded, if it is determined that the difference exceeds the preset threshold Discard the socket, generate a socket different from the socket, and replace the socket generation time in the socket generation time storage unit 15 with The socket update unit 17 that stores the socket generation time of the socket in the socket generation time storage unit 15, and the name resolution received by the name resolution request reception unit 12 when the randomly generated transaction ID and address cannot be retrieved. A name resolution request including a name in the request and a port number indicating the generated socket, and transmitting the name resolution request to a name resolution device (not shown); On the other hand, a name resolution response transmitted from the name resolution device (not shown) to the port number is received using the socket, and a transaction consisting of the transaction ID in the name resolution response and the transaction ID in the name resolution request If it is determined whether or not the IDs match, A name resolution response receiving unit 19 that gives an address in the name resolution response to the name resolution response transmitting unit 13, and a name resolution request receiving unit when an address is given to the name resolution response transmitting unit 13 by the name resolution response receiving unit 19 12, the name resolution information database update unit 110 that stores the name in the name resolution request received in FIG. 12 and the address in the name resolution information database 11 in association with each other, the transaction ID storage unit 111 that stores the transaction ID, The timer 112 which measures time is provided with the threshold value memory | storage part 113 in which a threshold value is memorize | stored.

(第1の実施の形態に係る名前解決装置1の動作)
図2は、名前解決装置1の動作を示すフローチャートである。図3は、名前解決装置1の動作を示すシーケンス図である。
(Operation of the name resolution device 1 according to the first embodiment)
FIG. 2 is a flowchart showing the operation of the name resolution device 1. FIG. 3 is a sequence diagram showing the operation of the name resolution device 1.

まず、名前解決装置1のソケット生成部16は、ソケットSC1を生成し(ステップS1)、タイマー112から現在時刻すなわちソケットSC1を生成した時刻であるソケット生成時刻を取得し、ソケット生成時刻をソケット生成時刻記憶部15に記憶させる(ステップS3)。   First, the socket generation unit 16 of the name resolution device 1 generates the socket SC1 (step S1), obtains the current time, that is, the socket generation time that is the time when the socket SC1 was generated from the timer 112, and generates the socket generation time as the socket generation. The time is stored in the time storage unit 15 (step S3).

次に、名前解決要求受信部12が、他のコンピュータ2から送信される名前解決要求を待機する。名前解決要求が送信され(ステップD1)、名前解決要求受信部12が名前解決要求を受信した(ステップS5:YES)なら、アドレス検索部14は、名前解決要求内の名前に対応づけられたアドレスを名前解決情報データベース11から検索することを試みる(ステップS7)。アドレス検索部14は、当該アドレスが検索できた場合(ステップS9:YES)、当該アドレスを名前解決応答送信部13に与え、名前解決応答送信部13は、当該アドレスを含む名前解決応答を生成し、当該名前解決応答を当該名前解決要求を送信したコンピュータ2に送信し(ステップS11)、制御はステップS5に戻る。   Next, the name resolution request receiving unit 12 waits for a name resolution request transmitted from another computer 2. If the name resolution request is transmitted (step D1) and the name resolution request receiving unit 12 receives the name resolution request (step S5: YES), the address search unit 14 addresses corresponding to the name in the name resolution request. Is searched from the name resolution information database 11 (step S7). If the address can be searched (step S9: YES), the address search unit 14 gives the address to the name resolution response transmission unit 13, and the name resolution response transmission unit 13 generates a name resolution response including the address. The name resolution response is transmitted to the computer 2 that transmitted the name resolution request (step S11), and the control returns to step S5.

アドレスが検索できなかった場合、ソケット更新部17は、まず、タイマー112から現在時刻すなわちアドレスが検索できなかった時刻を取得する(ステップS13)。ソケット更新部17は、また、ソケット生成時刻記憶部15からソケット生成時刻を読み出す(ステップS15)。次に、ソケット更新部17は、ソケット生成時刻とアドレスが検索できなかった時刻との差を求める(ステップS17)。ソケット更新部17は、しきい値記憶部113からしきい値を読み出し、差がしきい値を超えているか否かを判定する(ステップS19)。超えていないと判定した場合(ステップS17:NO)、名前解決要求送信部18が、トランザクションIDをランダムに生成し、当該トランザクションIDをトランザクションID記憶部111に記憶させ、当該トランザクションIDとアドレスが検索できなかったときに先だって名前解決要求受信部12により受信された名前解決要求内の名前とこのときに存在しているソケット(ここでは当該超えていないと判定されたときに存在しているソケットSC1)を示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を他の名前解決装置3に送信する(ステップS21)。   When the address cannot be searched, the socket updating unit 17 first acquires the current time, that is, the time when the address could not be searched from the timer 112 (step S13). The socket updating unit 17 also reads the socket generation time from the socket generation time storage unit 15 (step S15). Next, the socket updating unit 17 obtains a difference between the socket generation time and the time when the address could not be retrieved (step S17). The socket update unit 17 reads the threshold value from the threshold value storage unit 113 and determines whether or not the difference exceeds the threshold value (step S19). If it is determined that it does not exceed (NO at Step S17), the name resolution request transmission unit 18 randomly generates a transaction ID, stores the transaction ID in the transaction ID storage unit 111, and searches for the transaction ID and address. The name in the name resolution request received by the name resolution request receiving unit 12 when it could not be made and the socket existing at this time (here, the socket SC1 existing when it is determined that the name does not exceed the name) A name resolution request including a port number indicating () is generated, and the name resolution request is transmitted to another name resolution device 3 (step S21).

トランザクションIDは、例えば、16ビットの情報であり、16ビットで表現できる約65000の値の中の1つがランダムに生成される。   The transaction ID is, for example, 16-bit information, and one of about 65000 values that can be expressed by 16 bits is randomly generated.

ポート番号も、例えば、16ビットの情報であり、16ビットで表現できる約65000の値の中の1つがソケットに割り当てられる。   The port number is also 16-bit information, for example, and one of about 65000 values that can be expressed by 16 bits is assigned to the socket.

名前解決装置3は、例えば、DNS権威サーバなどと称されるものである。名前解決装置3は、名前解決装置1などから送信される名前解決要求内の名前から当該名前を有するコンピュータのアドレスを検索し、当該アドレスを含む名前解決応答を名前解決装置1などに送信するものである。   The name resolution device 3 is called, for example, a DNS authority server. The name resolution device 3 retrieves the address of the computer having the name from the name in the name resolution request transmitted from the name resolution device 1 and transmits the name resolution response including the address to the name resolution device 1 and the like It is.

次に、名前解決応答受信部19が、当該名前解決要求に対して名前解決装置3から当該ポート番号宛に送信された名前解決応答をソケットSC1を使用して受信する(ステップS23)。次に、名前解決応答受信部19は、トランザクションID記憶部111からトランザクションIDすなわち名前解決装置3に送信された名前解決要求内のトランザクションIDと同じものを読み出し、当該名前解決応答内のトランザクションIDとトランザクションID記憶部111から読み出したトランザクションIDとからなるトランザクションID同士が一致するか否かを判定する(ステップS25)。一致すると判定した場合(ステップS25:YES)、名前解決応答受信部19は、当該名前解決応答内のアドレスを名前解決応答送信部13に与え、名前解決応答送信部13は、当該アドレスを含む名前解決応答を生成し、当該名前解決応答を当該アドレスが与えられたときに先だって名前解決要求受信部12により受信された名前解決要求を送信したコンピュータ2に送信する(ステップS27)。   Next, the name resolution response receiver 19 receives the name resolution response transmitted from the name resolution device 3 to the port number in response to the name resolution request using the socket SC1 (step S23). Next, the name resolution response receiving unit 19 reads the transaction ID, that is, the same transaction ID in the name resolution request transmitted to the name resolution device 3 from the transaction ID storage unit 111, and the transaction ID in the name resolution response. It is determined whether or not the transaction IDs composed of the transaction IDs read from the transaction ID storage unit 111 match (step S25). When it is determined that they match (step S25: YES), the name resolution response receiver 19 gives the address in the name resolution response to the name resolution response transmitter 13, and the name resolution response transmitter 13 includes the name including the address. A resolution response is generated, and the name resolution response is transmitted to the computer 2 that has transmitted the name resolution request received by the name resolution request receiving unit 12 prior to the given address (step S27).

次に、名前解決応答受信部19は、当該名前解決応答内のアドレスを名前解決情報データベース更新部110に与え、名前解決情報データベース更新部110は、当該アドレスが与えられたときに先だって名前解決要求受信部12により受信された名前解決要求内の名前と当該アドレスを互いに対応づけて名前解決情報データベース11に記憶させる(ステップS29)。トランザクションID同士が一致しないと判定された場合(ステップS25:NO)、または、名前とアドレスが名前解決情報データベース11に記憶された後、制御はステップS5に戻る。   Next, the name resolution response receiving unit 19 gives the address in the name resolution response to the name resolution information database update unit 110, and the name resolution information database update unit 110 gives a name resolution request in advance when the address is given. The name in the name resolution request received by the receiving unit 12 and the address are associated with each other and stored in the name resolution information database 11 (step S29). If it is determined that the transaction IDs do not match (step S25: NO), or after the name and address are stored in the name resolution information database 11, the control returns to step S5.

上記の動作は、コンピュータ2以外のコンピュータから名前解決要求が送信された場合においても同様になされる。また、上記の動作は、名前解決要求が送信されるタイミングによらず、同様になされる。   The above operation is similarly performed even when a name resolution request is transmitted from a computer other than the computer 2. The above operation is performed in the same manner regardless of the timing at which the name resolution request is transmitted.

例えば、コンピュータ2から次の名前解決要求が送信され(ステップD3)、その後、ソケット生成時刻とアドレスが検索できなかった時刻との差がしきい値を超えていると判定された場合(ステップS19:YES)、ソケット更新部17は、超えていると判定されたときに存在しているソケットすなわちソケットSC1を破棄し(ステップS31)、当該ソケットとは異なるソケットSC2を生成する(ステップS33)。ソケットSC1を示すポート番号とソケットSC2を示すポート番号は互いに異なる。   For example, the next name resolution request is transmitted from the computer 2 (step D3), and then it is determined that the difference between the socket generation time and the time when the address could not be retrieved exceeds the threshold (step S19). : YES), the socket update unit 17 discards the socket, that is, the socket SC1 existing when it is determined that the socket is exceeded (step S31), and generates a socket SC2 different from the socket (step S33). The port number indicating the socket SC1 and the port number indicating the socket SC2 are different from each other.

ソケット更新部17は、また、タイマー112から現在時刻すなわちソケットSC2のソケット生成時刻を取得し、ソケット生成時刻記憶部15のソケット生成時刻に代えて、当該ソケットSC2のソケット生成時刻をソケット生成時刻記憶部15に記憶させる(ステップS35)。   The socket update unit 17 also obtains the current time, that is, the socket generation time of the socket SC2 from the timer 112, and stores the socket generation time of the socket SC2 in place of the socket generation time of the socket generation time storage unit 15. The data is stored in the unit 15 (step S35).

次に、名前解決要求送信部18が、トランザクションIDをランダムに生成し、当該トランザクションIDをトランザクションID記憶部111に記憶させ、当該トランザクションIDとアドレスが検索できなかったときに先だって名前解決要求受信部12により受信された名前解決要求内の名前とこのときに存在しているソケット(ここでは当該生成されたソケットSC2)を示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を他の名前解決装置3に送信する(ステップS21)。ステップS23以降の動作説明は重複になるので省略する。   Next, the name resolution request transmission unit 18 randomly generates a transaction ID, stores the transaction ID in the transaction ID storage unit 111, and when the transaction ID and address cannot be retrieved, the name resolution request reception unit 12 generates a name resolution request including the name in the name resolution request received by the terminal 12 and the port number indicating the socket existing at this time (the generated socket SC2 in this case). To the name resolution device 3 (step S21). The description of the operation after step S23 is redundant and will be omitted.

悪意のコンピュータ4は、例えば、ソケットSC2が存在しているときに偽の名前解決応答を送信してくる(ステップE51)。この中には、ソケットSC1のポート番号宛の名前解決応答があるかもしれず、仮にソケットSC1が存在しているときに当該名前解決応答が送信されたならば当該名前解決応答は名前解決装置1に受信されてしまうのだが、ソケットSC2はソケットSC1とは異なるので、実際には受信されない。
したがって、悪意のコンピュータ4からソケットSC2のポート番号宛の名前解決応答が送信され、当該名前解決応答を受信してしまう前に、正規の名前解決応答を受信でき(ステップS23)、正規の名前解決応答をコンピュータ2に送信でき(ステップS27)、正規のアドレスを名前解決装置1に記憶できる可能性を高めることができる。
For example, the malicious computer 4 transmits a fake name resolution response when the socket SC2 exists (step E51). Among them, there may be a name resolution response addressed to the port number of the socket SC1, and if the name resolution response is transmitted when the socket SC1 exists, the name resolution response is sent to the name resolution device 1. However, since the socket SC2 is different from the socket SC1, it is not actually received.
Therefore, before the name resolution response addressed to the port number of the socket SC2 is transmitted from the malicious computer 4 and the name resolution response is received, the regular name resolution response can be received (step S23). The response can be transmitted to the computer 2 (step S27), and the possibility that the regular address can be stored in the name resolution device 1 can be increased.

つまり、名前解決装置1は、ソケットを生成したままとせず、ソケットの生成および破棄を定期的に行うので、偽の名前解決応答がコンピュータ2に送信され、自身も偽のアドレスを記憶してしまう可能性を低減することができる。   That is, the name resolution device 1 does not keep generating sockets, but periodically generates and discards sockets, so a fake name resolution response is sent to the computer 2 and itself stores a fake address. The possibility can be reduced.

また、名前解決装置1は、ソケットの生成および破棄を、ソケット生成時刻とアドレスが検索できなかった時刻との差がしきい値を超えている判定された場合に行うので、しきい値を適切に定めれば、ソケットの生成および破棄を名前解決ごとに行う場合に比べて、単位時間あたりのソケットの生成および破棄の回数を少なくでき、その結果、ソケットの生成および破棄に使用される処理能力を低減することができる。   Further, the name resolution device 1 performs the generation and destruction of the socket when it is determined that the difference between the socket generation time and the time when the address could not be retrieved exceeds the threshold value. The number of sockets created and destroyed per unit time can be reduced compared to the case where sockets are created and destroyed for each name resolution, and as a result, the processing capacity used for socket creation and destruction Can be reduced.

例えば、名前解決装置1が1秒間に15000回の名前解決を行う場合、しきい値を500[ミリ秒]とすれば、同じソケットで名前解決装置3から7500回の名前解決応答を受信できるので、ソケットの生成および破棄に使用される処理能力を7500分の1にすることができる。   For example, when the name resolution device 1 performs name resolution 15000 times per second, if the threshold is set to 500 [milliseconds], the name resolution response can be received 7500 times from the name resolution device 3 using the same socket. , The processing capacity used to create and destroy sockets can be reduced by a factor of 7500.

すなわち、名前解決装置1によれば、ソケットの生成および破棄に使用される処理能力を低減でき且つ偽の名前解決応答を送信するとともに偽のアドレスを記憶してしまう可能性を低くすることができる
[第2の実施の形態]
図4は、第2の実施の形態に係る名前解決装置の構成を示すブロック図である。
That is, according to the name resolution device 1, it is possible to reduce the processing capacity used for socket generation and destruction, and to reduce the possibility of sending a fake name resolution response and storing a fake address. [Second Embodiment]
FIG. 4 is a block diagram showing the configuration of the name resolution apparatus according to the second embodiment.

名前解決装置1Aは、名前解決装置1の構成要素と同じものを備えるので、これらには同一符号を付し、詳細説明を省略する。   Since the name resolution device 1A includes the same components as the name resolution device 1, they are denoted by the same reference numerals and will not be described in detail.

名前解決装置1Aは、名前解決装置1の構成要素に加え、名前解決応答受信部19によりトランザクションID同士が一致しないと判定された場合、当該一致しないと判定されたときに存在しているソケットを破棄し、当該ソケットとは異なるソケットを生成し、ソケット生成時刻記憶部15に記憶されたソケット生成時刻に代えて、当該ソケットのソケット生成時刻をソケット生成時刻記憶部15に記憶させる第2のソケット更新部114を備える。   In addition to the components of the name resolution device 1, the name resolution device 1 </ b> A, when the name resolution response reception unit 19 determines that the transaction IDs do not match, identifies the socket that exists when it is determined that the transaction IDs do not match A second socket that discards and generates a socket different from the socket, and stores the socket generation time of the socket in the socket generation time storage unit 15 instead of the socket generation time stored in the socket generation time storage unit 15 An update unit 114 is provided.

(第2の実施の形態に係る名前解決装置1Aの動作)
図5は、名前解決装置1Aの動作を示すフローチャートである。図6は、名前解決装置1Aの動作を示すシーケンス図である。
(Operation of the name resolution apparatus 1A according to the second embodiment)
FIG. 5 is a flowchart showing the operation of the name resolution device 1A. FIG. 6 is a sequence diagram showing the operation of the name resolution device 1A.

名前解決装置1Aのフローチャートは、名前解決装置1のフローチャートを構成するステップと同じものを含むので、これらには同一符号を付し、詳細説明を省略する。   Since the flowchart of the name resolution device 1A includes the same steps as those constituting the flowchart of the name resolution device 1, they are denoted by the same reference numerals and detailed description thereof is omitted.

名前解決装置1Aでは、トランザクションID同士が一致しないと判定された場合(ステップS25:NO)、制御がステップS5に戻るのではなく、第2のソケット更新部114が、一致しないと判定されたときに存在しているソケットを破棄し(ステップS41)、当該ソケットとは異なるソケットを生成する(ステップS1)。ソケット更新部17は、また、タイマー112から現在時刻すなわち新たなソケットのソケット生成時刻を取得し、ソケット生成時刻記憶部15のソケット生成時刻に代えて、当該ソケットのソケット生成時刻をソケット生成時刻記憶部15に記憶させ(ステップS3)、制御はステップS5に移る。   In the name resolution device 1A, when it is determined that the transaction IDs do not match (step S25: NO), the control does not return to step S5, but the second socket update unit 114 determines that they do not match Is discarded (step S41), and a socket different from the socket is generated (step S1). The socket update unit 17 also acquires the current time, that is, the socket generation time of a new socket from the timer 112, and stores the socket generation time of the socket in place of the socket generation time of the socket generation time storage unit 15. The data is stored in the unit 15 (step S3), and the control proceeds to step S5.

悪意のコンピュータ4は、例えば、ソケットSC2が存在しているときに偽の名前解決応答を送信してくる(ステップE51)。この中に、ソケットSC2のポート番号宛の名前解決応答があった場合、当該名前解決応答は名前解決装置1Aに受信される(ステップE511)。   For example, the malicious computer 4 transmits a fake name resolution response when the socket SC2 exists (step E51). If there is a name resolution response addressed to the port number of the socket SC2, the name resolution response is received by the name resolution device 1A (step E511).

しかし、トランザクションID同士が一致することは稀であり、多くの場合、一致しないと判定され、そのときに存在しているソケットが破棄される(ステップS41)、新たなソケットSC3が生成される(ステップS1)。   However, it is rare that the transaction IDs match, and in many cases, it is determined that they do not match, and the socket that exists at that time is discarded (step S41), and a new socket SC3 is generated ( Step S1).

コンピュータ2は、例えば、ソケットSC3が存在しているときに名前解決要求を送信し(ステップD5)、悪意のコンピュータ4は、例えば、ソケットSC3が存在しているときに偽の名前解決応答を送信してくる(ステップE53)。この中には、ソケットSC2のポート番号宛の名前解決応答があるかもしれず、仮にソケットSC2が存在しているときに当該名前解決応答が送信されたならば当該名前解決応答は名前解決装置1Aに受信されてしまうのだが、ソケットSC3はソケットSC2とは異なるので、実際には受信されない。
したがって、悪意のコンピュータ4からソケットSC3のポート番号宛の名前解決応答が送信され、当該名前解決応答を受信してしまう前に、正規の名前解決応答を受信でき(ステップS23)、正規の名前解決応答をコンピュータ2に送信でき(ステップS27)、正規のアドレスを名前解決装置1Aに記憶できる可能性を高めることができる。
For example, the computer 2 sends a name resolution request when the socket SC3 exists (step D5), and the malicious computer 4 sends a fake name resolution response when the socket SC3 exists, for example. (Step E53). Among them, there may be a name resolution response addressed to the port number of the socket SC2, and if the name resolution response is transmitted when the socket SC2 exists, the name resolution response is sent to the name resolution device 1A. However, since the socket SC3 is different from the socket SC2, it is not actually received.
Therefore, before the name resolution response addressed to the port number of the socket SC3 is transmitted from the malicious computer 4 and the name resolution response is received, the regular name resolution response can be received (step S23). The response can be transmitted to the computer 2 (step S27), and the possibility that the regular address can be stored in the name resolution device 1A can be increased.

つまり、名前解決装置1Aは、名前解決装置1と同様に、ソケットの生成および破棄を定期的に行うので、ソケットを生成したままにする場合に比べ、偽の名前解決応答がコンピュータ2に送信され、自身も偽のアドレスを記憶してしまう可能性を低減することができる。   That is, since the name resolution device 1A periodically generates and discards the socket as in the name resolution device 1, a fake name resolution response is transmitted to the computer 2 compared to the case where the socket is left generated. , It is possible to reduce the possibility of storing a fake address.

また、名前解決装置1Aは、名前解決装置1と同様に、ソケットの生成および破棄を、ソケット生成時刻とアドレスが検索できなかった時刻との差がしきい値を超えている判定された場合に行うので、しきい値を適切に定めれば、ソケットの生成および破棄を名前解決ごとに行う場合に比べ、ソケットの生成および破棄に使用される処理能力を低減することができる。   Similarly to the name resolution device 1, the name resolution device 1 </ b> A performs socket generation and destruction when it is determined that the difference between the socket generation time and the time when the address could not be retrieved exceeds a threshold value. Therefore, if the threshold value is appropriately determined, the processing capacity used for socket generation and destruction can be reduced as compared with the case where socket generation and destruction are performed for each name resolution.

すなわち、名前解決装置1Aによれば、ソケットの生成および破棄に使用される処理能力を低減でき且つ偽の名前解決応答を送信するとともに偽のアドレスを記憶してしまう可能性を低くすることができる
また、名前解決装置1Aは、ソケットの生成および破棄を、トランザクションID同士が一致しないと判定された場合に行うので、悪意のコンピュータ4が偽の名前解決応答を送信し始めた後においては、トランザクションID同士が一致しない場合が通常より多くなるので、単位時間あたりのソケットの生成および破棄の回数が多くなり、偽の名前解決応答は受信されにくくなる。よって、悪意のコンピュータ4が偽の名前解決応答を送信し始めた後においては、偽の名前解決応答を送信するとともに偽のアドレスを記憶してしまう可能性を一層低くできる。
That is, according to the name resolution device 1A, it is possible to reduce the processing capacity used for generating and destroying sockets, and to reduce the possibility of sending a fake name resolution response and storing a fake address. Further, since the name resolution device 1A generates and discards sockets when it is determined that the transaction IDs do not match each other, the transaction after the malicious computer 4 starts to transmit a fake name resolution response Since there are more cases where the IDs do not match each other, the number of sockets generated and discarded per unit time increases, making it difficult to receive a fake name resolution response. Therefore, after the malicious computer 4 starts to send a fake name resolution response, the possibility of sending a fake name resolution response and storing a fake address can be further reduced.

一方、悪意のコンピュータ4が偽の名前解決応答を送信し始める前においては、前述のとおり、ソケットの生成および破棄は定期的に行われるので、ソケットの生成および破棄を名前解決ごとに行う場合に比べ、ソケットの生成および破棄に使用される処理能力を低減することができる。   On the other hand, before the malicious computer 4 starts to send a fake name resolution response, as described above, the socket is generated and destroyed periodically. Therefore, when the socket is generated and destroyed for each name resolution, In comparison, the processing capacity used to create and destroy sockets can be reduced.

なお、本実施の形態に係る名前解決装置をコンピュータに構成するためのコンピュータプログラム、または、当該名前解決装置が行った上記の名前解決方法またはソケット管理方法を当該名前解決装置に実行させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に格納し、陳列などして流通させたり、当該コンピュータプログラムをインターネットなどの通信網を介して伝送させてもよい。   A computer program for configuring the name resolution device according to the present embodiment in a computer, or a computer for causing the name resolution device to execute the name resolution method or the socket management method performed by the name resolution device. The program is stored in a computer-readable recording medium such as a semiconductor memory, a magnetic disk, an optical disk, a magneto-optical disk, or a magnetic tape, and distributed as a display, or the computer program is transmitted via a communication network such as the Internet. You may let them.

第1の実施の形態に係る名前解決装置の構成を示すブロック図である。It is a block diagram which shows the structure of the name resolution apparatus which concerns on 1st Embodiment. 名前解決装置1の動作を示すフローチャートである。3 is a flowchart showing the operation of the name resolution device 1. 名前解決装置1の動作を示すシーケンス図である。FIG. 4 is a sequence diagram showing an operation of the name resolution device 1. 第2の実施の形態に係る名前解決装置の構成を示すブロック図である。It is a block diagram which shows the structure of the name resolution apparatus which concerns on 2nd Embodiment. 名前解決装置1Aの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the name resolution apparatus 1A. 名前解決装置1Aの動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the name resolution apparatus 1A. 従来の名前解決装置の動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the conventional name resolution apparatus. 従来の他の名前解決装置の動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the other conventional name resolution apparatus.

符号の説明Explanation of symbols

1、1A、3…名前解決装置
2…コンピュータ
4…悪意のコンピュータ
11…名前解決情報データベース
12…名前解決要求受信部
13…名前解決応答送信部
14…アドレス検索部
15…ソケット生成時刻記憶部
16…ソケット生成部
17…ソケット更新部
18…名前解決要求送信部
19…名前解決応答受信部
110…名前解決情報データベース更新部
111…トランザクションID記憶部
112…タイマー
113…しきい値記憶部
114…第2のソケット更新部
DESCRIPTION OF SYMBOLS 1, 1A, 3 ... Name resolution apparatus 2 ... Computer 4 ... Malicious computer 11 ... Name resolution information database 12 ... Name resolution request receiving part 13 ... Name resolution response transmission part 14 ... Address search part 15 ... Socket generation time memory | storage part 16 ... Socket generation unit 17 ... Socket update unit 18 ... Name resolution request transmission unit 19 ... Name resolution response reception unit 110 ... Name resolution information database update unit 111 ... Transaction ID storage unit 112 ... Timer 113 ... Threshold storage unit 114 ... No. 2 socket update unit

Claims (14)

コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、A name resolution information database in which computer names and computer addresses are stored in association with each other;
名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信する名前解決要求受信部と、A name resolution request receiving unit that receives the name resolution request from the computer that has transmitted the name resolution request including the name;
当該名前を有するコンピュータのアドレスを含む名前解決応答を生成し、当該名前解決応答を当該名前解決要求を送信したコンピュータに送信する名前解決応答送信部と、A name resolution response transmission unit that generates a name resolution response including the address of the computer having the name, and transmits the name resolution response to the computer that transmitted the name resolution request;
前記名前解決要求受信部により受信された名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるアドレス検索部と、An address search unit that attempts to search the name resolution information database for an address associated with a name in the name resolution request received by the name resolution request reception unit;
他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部と、A socket generation time storage unit that stores a socket generation time that is a generation time of a socket generated for use in receiving a name resolution response transmitted from another name resolution device;
前記アドレスが検索できなかった場合、前記ソケット生成時刻記憶部からソケット生成時刻を読み出し、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求め、当該差が予め設定されたしきい値を超えているか否かを判定するソケット更新部と、If the address cannot be retrieved, the socket creation time is read from the socket creation time storage unit, the difference between the socket creation time and the time at which the address could not be retrieved is obtained, and the difference is set in advance. A socket updater that determines whether the value is exceeded;
前記ソケット更新部により、超えていないと判定された場合において、ランダムに生成したトランザクションIDと前記名前と当該超えていないと判定されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信する名前解決要求送信部と、When it is determined by the socket update unit that it does not exceed, a name resolution request including a randomly generated transaction ID, the name, and a port number indicating a socket determined not to exceed the name is generated, A name resolution request transmitter for transmitting a name resolution request to the other name resolution device;
当該名前解決要求に対して前記名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信し、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定し、一致すると判定した場合、当該名前解決応答内のアドレスを前記名前解決応答送信部に与える名前解決応答受信部とIn response to the name resolution request, the name resolution response transmitted from the name resolution device to the port number is received using the socket, and the transaction ID in the name resolution response and the transaction ID in the name resolution request are received. A name resolution response receiver that gives an address in the name resolution response to the name resolution response transmitter when it is determined that the transaction IDs match.
を備えることを特徴とする名前解決装置。A name resolution device comprising:
コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、
名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信する名前解決要求受信部と、
当該名前を有するコンピュータのアドレスを含む名前解決応答を生成し、当該名前解決応答を当該名前解決要求を送信したコンピュータに送信する名前解決応答送信部と、
前記名前解決要求受信部により受信された名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるアドレス検索部と、
他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部と
記アドレスが検索できなかった場合、前記ソケット生成時刻記憶部からソケット生成時刻を読み出し、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求め、当該差が予め設定されたしきい値を超えているか否かを判定し、超えていると判定した場合、当該超えていると判定されたソケットを破棄し、当該ソケットとは異なるソケットを生成し、前記ソケット生成時刻記憶部のソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させるソケット更新部と、
前記アドレスが検索できなかった場合、ランダムに生成したトランザクションIDと前記名前と当該超えていないと判定されたソケットまたは当該生成されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信する名前解決要求送信部と、
当該名前解決要求に対して前記名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信し、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定し、一致すると判定した場合、当該名前解決応答内のアドレスを前記名前解決応答送信部に与える名前解決応答受信部
備えることを特徴とする名前解決装置。
A name resolution information database in which computer names and computer addresses are stored in association with each other;
A name resolution request receiving unit that receives the name resolution request from the computer that has transmitted the name resolution request including the name;
A name resolution response transmission unit that generates a name resolution response including the address of the computer having the name, and transmits the name resolution response to the computer that transmitted the name resolution request;
An address searching unit See attempt to search an address associated with the name in the received name resolution request by the name resolution request receiving unit from the name resolution information database,
A socket generation time storage unit that stores a socket generation time that is a generation time of a socket generated for use in receiving a name resolution response transmitted from another name resolution device ;
If the previous SL address can not be retrieved, the read socket generation time from the socket generation time storage unit, obtains the difference between the time at which the socket creation time and the address can not be searched, to the difference preset determining whether more than a threshold, if it is determined that more than to discard a socket which is determined as exceeding the, produce different socket with the socket, the socket generation time storage unit Instead of the socket generation time, a socket update unit that stores the socket generation time of the socket in the socket generation time storage unit,
If the address can not be searched, generates a name resolution request including the port number indicating the determined socket or the generated socket does not exceed the the front and the front register transaction ID generated randomly, the A name resolution request transmitter for transmitting a name resolution request to the other name resolution device;
In response to the name resolution request, the name resolution response transmitted from the name resolution device to the port number is received using the socket, and the transaction ID in the name resolution response and the transaction ID in the name resolution request are received. transaction ID with each other to determine whether the match consisting of, if it is determined that they agree with each other, and name resolution response receiving unit giving the address of the name resolution in response to the name resolution response transmission unit
Name resolution device, characterized in that it comprises a.
前記名前解決要求受信部により受信された名前解決要求内の名前と前記名前解決応答送信部に与えられたアドレスを互いに対応づけて前記名前解決情報データベースに記憶させる名前解決情報データベース更新部Name resolution information database updating unit for storing the name in the name resolution request received by the name resolution request receiving unit and the address given to the name resolution response transmitting unit in the name resolution information database in association with each other
を備えることを特徴とする請求項1または2記載の名前解決装置。The name resolution apparatus according to claim 1, further comprising:
コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、A name resolution information database in which computer names and computer addresses are stored in association with each other;
名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信する名前解決要求受信部と、A name resolution request receiving unit that receives the name resolution request from the computer that has transmitted the name resolution request including the name;
前記名前解決要求受信部により受信された名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるアドレス検索部と、An address search unit that attempts to search the name resolution information database for an address associated with a name in the name resolution request received by the name resolution request reception unit;
他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部と、A socket generation time storage unit that stores a socket generation time that is a generation time of a socket generated for use in receiving a name resolution response transmitted from another name resolution device;
前記アドレスが検索できなかった場合、前記ソケット生成時刻記憶部からソケット生成時刻を読み出し、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求め、当該差が予め設定されたしきい値を超えているか否かを判定し、超えていると判定した場合、当該超えていると判定されたソケットを破棄し、当該ソケットとは異なるソケットを生成し、前記ソケット生成時刻記憶部のソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させるソケット更新部とIf the address cannot be retrieved, the socket creation time is read from the socket creation time storage unit, the difference between the socket creation time and the time at which the address could not be retrieved is obtained, and the difference is set in advance. If it is determined whether or not the value is exceeded, if it is determined that the value is exceeded, the socket determined to be exceeded is discarded, a socket different from the socket is generated, and the socket of the socket generation time storage unit A socket update unit that stores the socket generation time of the socket in the socket generation time storage unit instead of the generation time;
を備えることを特徴とする名前解決装置。A name resolution device comprising:
前記ソケット更新部により、ソケットが生成された場合、ランダムに生成したトランザクションIDと前記名前と当該生成されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信する名前解決要求送信部と、When a socket is generated by the socket update unit, a name resolution request including a randomly generated transaction ID, the name, and a port number indicating the generated socket is generated, and the name resolution request is transferred to the other A name resolution request transmission unit to be transmitted to the name resolution device;
当該名前解決要求に対して前記他の名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信し、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定する名前解決応答受信部と、In response to the name resolution request, the name resolution response transmitted from the other name resolution device to the port number is received using the socket, and the transaction ID in the name resolution response and the name resolution request A name resolution response receiving unit that determines whether or not transaction IDs including transaction IDs match;
当該トランザクションID同士が一致しないと判定された場合、当該一致しないと判定されたときに存在しているソケットを破棄し、当該ソケットとは異なるソケットを生成し、前記ソケット生成時刻記憶部に記憶されたソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させる第2のソケット更新部とIf it is determined that the transaction IDs do not match, the socket that exists when it is determined that they do not match is discarded, a socket different from the socket is generated, and stored in the socket generation time storage unit A second socket update unit that stores the socket generation time of the socket in the socket generation time storage unit instead of the socket generation time.
備えることを特徴とする請求項4記載の名前解決装置。The name resolution apparatus according to claim 4, further comprising:
コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、A name resolution information database in which computer names and computer addresses are stored in association with each other;
名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信する名前解決要求受信部と、A name resolution request receiving unit that receives the name resolution request from the computer that has transmitted the name resolution request including the name;
前記名前解決要求受信部により受信された名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるアドレス検索部と、An address search unit that attempts to search the name resolution information database for an address associated with a name in the name resolution request received by the name resolution request reception unit;
他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部と、A socket generation time storage unit that stores a socket generation time that is a generation time of a socket generated for use in receiving a name resolution response transmitted from another name resolution device;
前記アドレスが検索できなかった場合、前記ソケット生成時刻記憶部からソケット生成時刻を読み出し、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求め、当該差が予め設定されたしきい値を超えているか否かを判定するソケット更新部と、If the address cannot be retrieved, the socket creation time is read from the socket creation time storage unit, the difference between the socket creation time and the time at which the address could not be retrieved is obtained, and the difference is set in advance. A socket updater that determines whether the value is exceeded;
前記ソケット更新部により、超えていないと判定された場合において、ランダムに生成したトランザクションIDと前記名前と当該超えていないと判定されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信する名前解決要求送信部と、When it is determined by the socket update unit that it does not exceed, a name resolution request including a randomly generated transaction ID, the name, and a port number indicating a socket determined not to exceed the name is generated, A name resolution request transmitter for transmitting a name resolution request to the other name resolution device;
当該名前解決要求に対して前記他の名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信し、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定する名前解決応答受信部と、In response to the name resolution request, the name resolution response transmitted from the other name resolution device to the port number is received using the socket, and the transaction ID in the name resolution response and the name resolution request A name resolution response receiving unit that determines whether or not transaction IDs including transaction IDs match;
当該トランザクションID同士が一致しないと判定された場合、当該一致しないと判定されたときに存在しているソケットを破棄し、当該ソケットとは異なるソケットを生成し、前記ソケット生成時刻記憶部に記憶されたソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させる第2のソケット更新部とIf it is determined that the transaction IDs do not match, the socket that exists when it is determined that they do not match is discarded, a socket different from the socket is generated, and stored in the socket generation time storage unit A second socket update unit that stores the socket generation time of the socket in the socket generation time storage unit instead of the socket generation time.
を備えることを特徴とする名前解決装置。A name resolution device comprising:
前解決装置が行う名前解決方法であって、
前記名前解決装置は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部とを備え、
前記名前解決方法は、
前記名前解決装置の名前解決要求受信部が、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信するステップと、
前記名前解決装置のアドレス検索部が、当該名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるステップと、
前記名前解決装置のソケット更新部が、当該アドレスが検索できなかった場合において、前記ソケット生成時刻記憶部からソケット生成時刻を読み出すステップと、
前記ソケット更新部が、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求めるステップと、
前記ソケット更新部が、当該差が予め設定されたしきい値を超えているか否かを判定するステップと、
前記名前解決装置の名前解決要求送信部が、前記ソケット更新部により、超えていないと判定された場合において、ランダムに生成したトランザクションIDと前記名前と当該超えていないと判定されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信するステップと、
前記名前解決装置の名前解決応答受信部が、当該名前解決要求に対して前記他の名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信するステップと、
前記名前解決応答受信部が、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定するステップと、
前記名前解決応答受信部が、一致すると判定した場合において、当該名前解決応答内のアドレスを前記名前解決装置の名前解決応答送信部に与えるステップと
前記名前解決応答送信部が、当該アドレスを含む名前解決応答を生成し、当該名前解決応答を前記コンピュータに送信するステップ
含むことを特徴とする名前解決方法。
A name resolution method of name resolution device performs,
The name resolution device is generated for use in receiving a name resolution information database in which a computer name and an address of the computer are stored in association with each other and a name resolution response transmitted from another name resolution device. A socket generation time storage unit that stores a socket generation time that is a socket generation time.
The name resolution method is:
A name resolution request receiving unit of the name resolution device receives the name resolution request from a computer that has transmitted a name resolution request including a name ;
An address search unit of the name resolution device tries to search an address associated with a name in the name resolution request from the name resolution information database;
When the socket update unit of the name resolution device cannot retrieve the address, reading the socket generation time from the socket generation time storage unit;
The socket updater obtains a difference between the socket generation time and the time when the address could not be retrieved;
The socket updater determines whether the difference exceeds a preset threshold; and
Name resolution request transmitting unit of the name resolution device, by the socket updating unit, when it is determined not to exceed, showing a socket that is determined not to exceed the generated transaction ID and the name at random Generating a name resolution request including a port number and transmitting the name resolution request to the other name resolution device ;
A name resolution response reception unit of the name resolution device receives a name resolution response transmitted from the other name resolution device to the port number in response to the name resolution request using the socket;
The step of determining whether or not the name resolution response receiving unit matches a transaction ID composed of a transaction ID in the name resolution response and a transaction ID in the name resolution request;
The name resolution response receiving unit, when it is determined matching the the steps of Ru gives the address of the name resolution in response to the name resolution response transmission portion of the name resolution device,
The name resolution response transmission unit generates a name resolution response including the address, and transmits the name resolution response to the computer ;
A name resolution method characterized by including:
前解決装置が行う名前解決方法であって、
前記名前解決装置は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部とを備え、
前記名前解決方法は、
前記名前解決装置の名前解決要求受信部が、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信するステップと、
前記名前解決装置のアドレス検索部が、当該名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるステップと、
前記名前解決装置のソケット更新部が、当該アドレスが検索できなかった場合において、前記ソケット生成時刻記憶部からソケット生成時刻を読み出すステップと、
前記ソケット更新部が、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求めるステップと、
前記ソケット更新部が、当該差が予め設定されたしきい値を超えているか否かを判定するステップと、
前記ソケット更新部が、超えていると判定したソケットを破棄するステップと、
前記ソケット更新部が、当該ソケットとは異なるソケットを生成するステップと、
前記ソケット更新部が、前記ソケット生成時刻記憶部のソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させるステップと、
前記名前解決装置の名前解決要求送信部が、ランダムに生成したトランザクションIDと前記名前と当該生成されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信するステップと、
前記名前解決装置の名前解決応答受信部が、当該名前解決要求に対して前記他の名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信するステップと、
前記名前解決応答受信部が、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定するステップと、
前記名前解決応答受信部が、一致すると判定した場合において、当該名前解決応答内のアドレスを前記名前解決装置の名前解決応答送信部に与えるステップと
前記名前解決装置の名前解決応答送信部が、当該アドレスを含む名前解決応答を生成し、当該名前解決応答を前記コンピュータに送信するステップ
含むことを特徴とする名前解決方法。
A name resolution method of name resolution device performs,
The name resolution device is generated for use in receiving a name resolution information database in which a computer name and an address of the computer are stored in association with each other and a name resolution response transmitted from another name resolution device. A socket generation time storage unit that stores a socket generation time that is a socket generation time.
The name resolution method is:
A name resolution request receiving unit of the name resolution device receives the name resolution request from a computer that has transmitted a name resolution request including a name ;
An address search unit of the name resolution device tries to search an address associated with a name in the name resolution request from the name resolution information database;
When the socket update unit of the name resolution device cannot retrieve the address, reading the socket generation time from the socket generation time storage unit;
The socket updater obtains a difference between the socket generation time and the time when the address could not be retrieved;
The socket updater determines whether the difference exceeds a preset threshold; and
Said socket updating unit, and the discarding step the socket where it is determined as exceeding,
The socket updating unit generating a socket different from the socket;
The socket update unit stores the socket generation time of the socket in the socket generation time storage unit instead of the socket generation time of the socket generation time storage unit;
The name resolution request transmitting unit of the name resolution device generates a name resolution request including a randomly generated transaction ID, the name, and a port number indicating the generated socket, and the name resolution request is transmitted to the other name. Sending to the resolution device ;
A name resolution response reception unit of the name resolution device receives a name resolution response transmitted from the other name resolution device to the port number in response to the name resolution request using the socket;
The step of determining whether or not the name resolution response receiving unit matches a transaction ID composed of a transaction ID in the name resolution response and a transaction ID in the name resolution request;
The name resolution response receiving unit, when it is determined matching the the steps of Ru gives the address of the name resolution in response to the name resolution response transmission portion of the name resolution device,
A name resolution response transmitter of the name resolution device generates a name resolution response including the address and transmits the name resolution response to the computer ;
A name resolution method characterized by including:
前記名前解決装置の名前解決情報データベース更新部が、前記名前解決要求受信部により受信された名前解決要求内の名前と前記名前解決応答送信部に与えられたアドレスを互いに対応づけて前記名前解決情報データベースに記憶させるステップ
を含むことを特徴とする請求項7または8記載の名前解決方法。
The name resolution information database updating unit of the name resolution device associates the name in the name resolution request received by the name resolution request reception unit with the address given to the name resolution response transmission unit, and the name resolution information Step to store in database
9. The name resolution method according to claim 7 or 8, further comprising:
前解決装置が行うソケット管理方法であって、
前記名前解決装置は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部とを備え、
前記ソケット管理方法は、
前記名前解決装置の名前解決要求受信部が、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信するステップと、
前記名前解決装置のアドレス検索部が、当該名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるステップと、
前記名前解決装置のソケット更新部が、当該アドレスが検索できなかった場合において、前記ソケット生成時刻記憶部からソケット生成時刻を読み出すステップと、
前記ソケット更新部が、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求めるステップと、
前記ソケット更新部が、当該差が予め設定されたしきい値を超えているか否かを判定するステップと、
前記ソケット更新部が、超えていると判定したソケットを破棄するステップと、
前記ソケット更新部が、当該ソケットとは異なるソケットを生成するステップと、
前記ソケット更新部が、前記ソケット生成時刻記憶部のソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させるステップと
を含むことを特徴とするソケット管理方法。
A socket management method name resolution device performs,
The name resolution device is generated for use in receiving a name resolution information database in which a computer name and an address of the computer are stored in association with each other and a name resolution response transmitted from another name resolution device. A socket generation time storage unit that stores a socket generation time that is a socket generation time.
The socket management method includes:
A name resolution request receiving unit of the name resolution device receives the name resolution request from a computer that has transmitted a name resolution request including a name ;
An address search unit of the name resolution device tries to search an address associated with a name in the name resolution request from the name resolution information database;
When the socket update unit of the name resolution device cannot retrieve the address, reading the socket generation time from the socket generation time storage unit;
The socket updater obtains a difference between the socket generation time and the time when the address could not be retrieved;
The socket updater determines whether the difference exceeds a preset threshold; and
Said socket updating unit, and the discarding step the socket where it is determined as exceeding,
The socket updating unit generating a socket different from the socket;
The socket updating unit includes a step of storing the socket generation time of the socket in the socket generation time storage unit instead of the socket generation time of the socket generation time storage unit.
前記名前解決装置の名前解決要求送信部が、ランダムに生成したトランザクションIDと前記名前と前記生成されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信するステップと、
前記名前解決装置の名前解決応答受信部が、当該名前解決要求に対して前記他の名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信するステップと、
前記名前解決応答受信部が、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定するステップと、
前記名前解決装置の第2のソケット更新部が、当該トランザクションID同士が一致しないと判定されたときに存在しているソケットを破棄するステップと、
前記第2のソケット更新部が、当該ソケットとは異なるソケットを生成するステップと、
前記第2のソケット更新部が、前記ソケット生成時刻記憶部に記憶されたソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させるステップと
を含むことを特徴とする請求項10記載のソケット管理方法。
Name The name resolution request transmitting unit of the name resolution device generates a name resolution request including the port number indicating the transaction ID generated randomly the name and the generated socket, the name resolution request of the other Sending to the resolution device ;
A name resolution response reception unit of the name resolution device receives a name resolution response transmitted from the other name resolution device to the port number in response to the name resolution request using the socket;
The step of determining whether or not the name resolution response receiving unit matches a transaction ID composed of a transaction ID in the name resolution response and a transaction ID in the name resolution request;
The second socket update unit of the name resolution device discards a socket that exists when it is determined that the transaction IDs do not match;
The second socket update unit generates a socket different from the socket;
The second socket update unit includes a step of storing the socket generation time of the socket in the socket generation time storage unit instead of the socket generation time stored in the socket generation time storage unit. The socket management method according to claim 10 .
前解決装置が行うソケット管理方法であって、
前記名前解決装置は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部とを備え、
前記ソケット管理方法は、
前記名前解決装置の名前解決要求受信部が、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信するステップと、
前記名前解決装置のアドレス検索部が、当該名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるステップと、
前記名前解決装置のソケット更新部が、当該アドレスが検索できなかった場合において、前記ソケット生成時刻記憶部からソケット生成時刻を読み出すステップと、
前記ソケット更新部が、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求めるステップと、
前記ソケット更新部が、当該差が予め設定されたしきい値を超えているか否かを判定するステップと、
前記名前解決装置の名前解決要求送信部が、前記ソケット更新部により、超えていないと判定された場合において、ランダムに生成したトランザクションIDと前記名前と当該超えていないと判定されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信するステップと、
前記名前解決装置の名前解決応答受信部が、当該名前解決要求に対して前記他の名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信するステップと、
前記名前解決応答受信部が、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定するステップと、
前記名前解決装置の第2のソケット更新部が、当該トランザクションID同士が一致しないと判定されたときに存在しているソケットを破棄するステップと、
前記第2のソケット更新部が、当該ソケットとは異なるソケットを生成するステップと、
前記第2のソケット更新部が、前記ソケット生成時刻記憶部に記憶されたソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させるステップと
を含むことを特徴とするソケット管理方法。
A socket management method name resolution device performs,
The name resolution device is generated for use in receiving a name resolution information database in which a computer name and an address of the computer are stored in association with each other and a name resolution response transmitted from another name resolution device. A socket generation time storage unit that stores a socket generation time that is a socket generation time.
The socket management method includes:
A name resolution request receiving unit of the name resolution device receives the name resolution request from a computer that has transmitted a name resolution request including a name ;
An address search unit of the name resolution device tries to search an address associated with a name in the name resolution request from the name resolution information database;
When the socket update unit of the name resolution device cannot retrieve the address, reading the socket generation time from the socket generation time storage unit;
The socket updater obtains a difference between the socket generation time and the time when the address could not be retrieved;
The socket updater determines whether the difference exceeds a preset threshold; and
Name resolution request transmitting unit of the name resolution device, by the socket updating unit, when it is determined not to exceed, showing a socket that is determined not to exceed the generated transaction ID and the name at random Generating a name resolution request including a port number and transmitting the name resolution request to the other name resolution device ;
A name resolution response reception unit of the name resolution device receives a name resolution response transmitted from the other name resolution device to the port number in response to the name resolution request using the socket;
The step of determining whether or not the name resolution response receiving unit matches a transaction ID composed of a transaction ID in the name resolution response and a transaction ID in the name resolution request;
The second socket update unit of the name resolution device discards a socket that exists when it is determined that the transaction IDs do not match;
The second socket update unit generates a socket different from the socket;
The second socket update unit includes a step of storing the socket generation time of the socket in the socket generation time storage unit instead of the socket generation time stored in the socket generation time storage unit. Socket management method to do.
請求項1ないし6のいずれかに記載の名前解決装置をコンピュータにより構成するためのコンピュータプログラム。 It claims 1 to computer program for configuring a computer name resolution device according to any one of 6. 請求項13記載のコンピュータプログラムが格納されたコンピュータ読み取り可能な記録媒体。 A computer-readable recording medium in which the computer program according to claim 13 is stored.
JP2007332096A 2007-12-25 2007-12-25 Name resolution device, name resolution method, and socket management method Active JP4568751B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007332096A JP4568751B2 (en) 2007-12-25 2007-12-25 Name resolution device, name resolution method, and socket management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007332096A JP4568751B2 (en) 2007-12-25 2007-12-25 Name resolution device, name resolution method, and socket management method

Publications (2)

Publication Number Publication Date
JP2009159040A JP2009159040A (en) 2009-07-16
JP4568751B2 true JP4568751B2 (en) 2010-10-27

Family

ID=40962619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007332096A Active JP4568751B2 (en) 2007-12-25 2007-12-25 Name resolution device, name resolution method, and socket management method

Country Status (1)

Country Link
JP (1) JP4568751B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4223045B2 (en) * 2006-03-13 2009-02-12 日本電信電話株式会社 DNS server device, request message processing method, and request message processing program

Also Published As

Publication number Publication date
JP2009159040A (en) 2009-07-16

Similar Documents

Publication Publication Date Title
CN102769529B (en) Dnssec signing server
JP2008519362A (en) Content address storage device for maintaining content address mapping
JP6373025B2 (en) Information processing apparatus, information processing system, information processing method, and computer program
CN108280369B (en) Cloud document offline access system, intelligent terminal and method
US20050138004A1 (en) Link modification system and method
JP5121828B2 (en) E-mail processing apparatus, e-mail processing method, e-mail processing program, and e-mail processing system
JP5084569B2 (en) Printing system and image forming apparatus
JP4327900B1 (en) Information processing system, terminal device, transmission server device, information processing method, and program
CN113300848A (en) Method and device for determining certificate state
KR20050053707A (en) Information processing apparatus and receiving apparatus
JP5202370B2 (en) Gateway apparatus and access control method
JP4568751B2 (en) Name resolution device, name resolution method, and socket management method
JP2009123062A (en) System and method for content display control
CN113014567B (en) Internet IP message data verification processing method, device and system
JP4568752B2 (en) Name resolution device, name resolution method, and socket management method
JP2011049745A (en) Device for defending dns cache poisoning attack
KR102093166B1 (en) A method for reducing connection time to website and an apparatus for the method
US20160050292A1 (en) Local web resource access
JP2002358229A (en) Cache device and computer program
US20070027918A1 (en) Mail processing server, mail processing method, and mail processing program
KR20150119668A (en) File sharing method and system using a e-mail message
JP5345577B2 (en) Name resolution device, name resolution method, and name resolution program
JP4292273B2 (en) Account information management system, server and method, and program and recording medium
JP2002183002A (en) Server device for notifying a domain name of a correction candidate, a client computer using the domain name of the correction candidate notified by the server device, a recording medium on which a program running on this client computer is recorded, and a mail for the correction candidate Mail server that notifies the address
JP4079133B2 (en) File transmission apparatus and file network system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100702

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: 20100727

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: 20100809

R150 Certificate of patent or registration of utility model

Ref document number: 4568751

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: 20130813

Year of fee payment: 3

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350