JP4568751B2 - Name resolution device, name resolution method, and socket management method - Google Patents
Name resolution device, name resolution method, and socket management method Download PDFInfo
- 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
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
かかる名前解決装置1aは、悪意のコンピュータ4から攻撃を受けることがある。この攻撃は、コンピュータ2を偽のサーバなどにアクセスさせ、コンピュータ2のユーザが入力したクレジットカード番号などを盗むべくなされる。
The name resolution device 1a may be attacked by the
コンピュータ2は、例えば、再び名前解決要求を送信し(ステップD103)、悪意のコンピュータ4が、例えば、偽の名前解決応答を送信してくる(ステップE101)。 ここで、悪意のコンピュータ4は、無作為に決定したトランザクションIDと偽のサーバなどのアドレスとを含む偽の名前解決応答を、無作為に決定したポート番号宛で名前解決装置1aに対して大量に送信する(ステップE101)。
For example, the computer 2 transmits a name resolution request again (step D103), and the
悪意のコンピュータ4は、ポート番号を無作為に決定するので、これが正しいポート番号となる可能性は低い。つまり、名前解決装置1aがソケットSC1を使用して偽の名前解決応答を受信してしまう可能性は低い。しかし、ソケットSC1は生成されたままであり、ポート番号が不変なので、受信されることは皆無ではない(ステップS115)。しかも、その前に、名前解決装置1aが、名前解決装置3に名前解決要求を送信しており(ステップS113)、正規の名前解決応答の送信が、偽の名前解決応答の受信(S115)よりも遅れ(ステップS117)、当該偽の名前解決応答内のトランザクションIDと、当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致してしまった場合、当該名前解決応答内の偽のアドレスを含む名前解決応答が生成され、当該名前解決応答がコンピュータ2に送信されてしまう(ステップS114)。また、名前解決装置1aは、当該偽のアドレスを記憶してしまう。
Since the
図8は、従来の他の名前解決装置の動作を示すシーケンス図である。 FIG. 8 is a sequence diagram showing the operation of another conventional name resolution apparatus.
名前解決装置1bは、かかる不都合の解決を図ったものであり、コンピュータ2が名前解決要求を送信した場合(ステップD201)に、ソケットSC1を生成する(ステップS201)。
The
名前解決装置1bは、当該名前解決要求内の名前に対応するアドレスを記憶していない場合、トランザクションIDと名前とソケットSC1のポート番号とを含む名前解決要求を生成し、名前解決装置3に送信する(ステップS203)。
When the
名前解決装置1bは、名前解決応答をソケットSC1を使用して受信し(ステップS207)、ソケットSC1を破棄し(ステップS209)、名前解決応答をコンピュータ2に送信する(ステップS211)。
The
名前解決装置1bは、次の名前解決要求が送信された場合(ステップD211)、今度は、ソケットSC1とは異なるソケットSC2を生成する(ステップS211)。
When the next name resolution request is transmitted (step D211), the
名前解決装置1bは、アドレスを記憶していない場合、ソケットSC1のポート番号とは異なるソケットSC2のポート番号を含む名前解決要求を生成し、名前解決装置3に送信する(ステップS213)。
If the address is not stored, the
悪意のコンピュータ4は、例えば、ソケットSC2が存在しているときに偽の名前解決応答を送信してくる(ステップE201)。この中には、ソケットSC1のポート番号宛の名前解決応答があるかもしれず、仮にソケットSC1が存在しているときに当該名前解決応答が送信されたならば当該名前解決応答は名前解決装置1bに受信されてしまうのだが、ソケットSC2はソケットSC1とは異なるので、実際には受信されない。
For example, the
したがって、名前解決装置1bによれば、ソケットSC2のポート番号宛の名前解決応答が送信され、当該名前解決応答を受信してしまう前に、正規の名前解決応答を受信し(ステップS215)、ソケットSC2を破棄し(ステップS217)、正規の名前解決応答をコンピュータ2に送信し(ステップS219)、正規のアドレスを名前解決装置1b自身に記憶する可能性を高めることができる。
Therefore, according to the
なお、下記の非特許文献1には、ソケットを再利用していることの記述(P.5)とランダムにソケットを生成していることの記述(P.7)とがある。
しかし、名前解決装置1bは、ソケットの生成および破棄を名前解決ごとに行うので、ソケットの生成および破棄に多大な処理能力が使用される。
However, since the
一方、名前解決装置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
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.
請求項3の本発明は、前記名前解決要求受信部により受信された名前解決要求内の名前と前記名前解決応答送信部に与えられたアドレスを互いに対応づけて前記名前解決情報データベースに記憶させる名前解決情報データベース更新部を備えることを特徴とする請求項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
請求項4の本発明は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信する名前解決要求受信部と、前記名前解決要求受信部により受信された名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるアドレス検索部と、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部と、前記アドレスが検索できなかった場合、前記ソケット生成時刻記憶部からソケット生成時刻を読み出し、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求め、当該差が予め設定されたしきい値を超えているか否かを判定し、超えていると判定した場合、当該超えていると判定されたソケットを破棄し、当該ソケットとは異なるソケットを生成し、前記ソケット生成時刻記憶部のソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させるソケット更新部とを備えることを特徴とする名前解決装置をもって解決手段とする。
The present invention of
請求項5の本発明は、前記ソケット更新部により、ソケットが生成された場合、ランダムに生成したトランザクションIDと前記名前と当該生成されたソケットを示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を前記他の名前解決装置に送信する名前解決要求送信部と、当該名前解決要求に対して前記他の名前解決装置から当該ポート番号宛に送信された名前解決応答を当該ソケットを使用して受信し、当該名前解決応答内のトランザクションIDと当該名前解決要求内のトランザクションIDとからなるトランザクションID同士が一致するか否かを判定する名前解決応答受信部と、当該トランザクションID同士が一致しないと判定された場合、当該一致しないと判定されたときに存在しているソケットを破棄し、当該ソケットとは異なるソケットを生成し、前記ソケット生成時刻記憶部に記憶されたソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させる第2のソケット更新部と備えることを特徴とする請求項4記載の名前解決装置をもって解決手段とする。
According to the present invention of
請求項6の本発明は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信する名前解決要求受信部と、前記名前解決要求受信部により受信された名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるアドレス検索部と、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部と、前記アドレスが検索できなかった場合、前記ソケット生成時刻記憶部からソケット生成時刻を読み出し、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求め、当該差が予め設定されたしきい値を超えているか否かを判定するソケット更新部と、前記ソケット更新部により、超えていないと判定された場合において、ランダムに生成したトランザクション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 .
請求項7の本発明は、名前解決装置が行う名前解決方法であって、前記名前解決装置は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部とを備え、前記名前解決方法は、前記名前解決装置の名前解決要求受信部が、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信するステップと、前記名前解決装置のアドレス検索部が、当該名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるステップと、前記名前解決装置のソケット更新部が、当該アドレスが検索できなかった場合において、前記ソケット生成時刻記憶部からソケット生成時刻を読み出すステップと、前記ソケット更新部が、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求めるステップと、前記ソケット更新部が、当該差が予め設定されたしきい値を超えているか否かを判定するステップと、前記名前解決装置の名前解決要求送信部が、前記ソケット更新部により、超えていないと判定された場合において、ランダムに生成したトランザクション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.
請求項8の本発明は、名前解決装置が行う名前解決方法であって、前記名前解決装置は、コンピュータの名前と当該コンピュータのアドレスが互いに対応づけられて記憶される名前解決情報データベースと、他の名前解決装置から送信される名前解決応答の受信に使用するために生成されるソケットの生成時刻であるソケット生成時刻が記憶されるソケット生成時刻記憶部とを備え、前記名前解決方法は、前記名前解決装置の名前解決要求受信部が、名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信するステップと、前記名前解決装置のアドレス検索部が、当該名前解決要求内の名前に対応づけられたアドレスを前記名前解決情報データベースから検索することを試みるステップと、前記名前解決装置のソケット更新部が、当該アドレスが検索できなかった場合において、前記ソケット生成時刻記憶部からソケット生成時刻を読み出すステップと、前記ソケット更新部が、当該ソケット生成時刻と当該アドレスが検索できなかった時刻との差を求めるステップと、前記ソケット更新部が、当該差が予め設定されたしきい値を超えているか否かを判定するステップと、前記ソケット更新部が、超えていると判定したソケットを破棄するステップと、前記ソケット更新部が、当該ソケットとは異なるソケットを生成するステップと、前記ソケット更新部が、前記ソケット生成時刻記憶部のソケット生成時刻に代えて、当該ソケットのソケット生成時刻を前記ソケット生成時刻記憶部に記憶させるステップと、前記名前解決装置の名前解決要求送信部が、ランダムに生成したトランザクション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
The present invention of
請求項13の本発明は、請求項1ないし6のいずれかに記載の名前解決装置をコンピュータにより構成するためのコンピュータプログラム。
The present invention of
請求項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
(第1の実施の形態に係る名前解決装置1の動作)
図2は、名前解決装置1の動作を示すフローチャートである。図3は、名前解決装置1の動作を示すシーケンス図である。
(Operation of the
FIG. 2 is a flowchart showing the operation of the
まず、名前解決装置1のソケット生成部16は、ソケットSC1を生成し(ステップS1)、タイマー112から現在時刻すなわちソケットSC1を生成した時刻であるソケット生成時刻を取得し、ソケット生成時刻をソケット生成時刻記憶部15に記憶させる(ステップS3)。
First, the
次に、名前解決要求受信部12が、他のコンピュータ2から送信される名前解決要求を待機する。名前解決要求が送信され(ステップD1)、名前解決要求受信部12が名前解決要求を受信した(ステップS5:YES)なら、アドレス検索部14は、名前解決要求内の名前に対応づけられたアドレスを名前解決情報データベース11から検索することを試みる(ステップS7)。アドレス検索部14は、当該アドレスが検索できた場合(ステップS9:YES)、当該アドレスを名前解決応答送信部13に与え、名前解決応答送信部13は、当該アドレスを含む名前解決応答を生成し、当該名前解決応答を当該名前解決要求を送信したコンピュータ2に送信し(ステップS11)、制御はステップS5に戻る。
Next, the name resolution
アドレスが検索できなかった場合、ソケット更新部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
トランザクション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
次に、名前解決応答受信部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
次に、名前解決応答受信部19は、当該名前解決応答内のアドレスを名前解決情報データベース更新部110に与え、名前解決情報データベース更新部110は、当該アドレスが与えられたときに先だって名前解決要求受信部12により受信された名前解決要求内の名前と当該アドレスを互いに対応づけて名前解決情報データベース11に記憶させる(ステップS29)。トランザクションID同士が一致しないと判定された場合(ステップS25:NO)、または、名前とアドレスが名前解決情報データベース11に記憶された後、制御はステップS5に戻る。
Next, the name resolution
上記の動作は、コンピュータ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
ソケット更新部17は、また、タイマー112から現在時刻すなわちソケットSC2のソケット生成時刻を取得し、ソケット生成時刻記憶部15のソケット生成時刻に代えて、当該ソケットSC2のソケット生成時刻をソケット生成時刻記憶部15に記憶させる(ステップS35)。
The
次に、名前解決要求送信部18が、トランザクションIDをランダムに生成し、当該トランザクションIDをトランザクションID記憶部111に記憶させ、当該トランザクションIDとアドレスが検索できなかったときに先だって名前解決要求受信部12により受信された名前解決要求内の名前とこのときに存在しているソケット(ここでは当該生成されたソケットSC2)を示すポート番号とを含む名前解決要求を生成し、当該名前解決要求を他の名前解決装置3に送信する(ステップS21)。ステップS23以降の動作説明は重複になるので省略する。
Next, the name resolution
悪意のコンピュータ4は、例えば、ソケットSC2が存在しているときに偽の名前解決応答を送信してくる(ステップE51)。この中には、ソケットSC1のポート番号宛の名前解決応答があるかもしれず、仮にソケットSC1が存在しているときに当該名前解決応答が送信されたならば当該名前解決応答は名前解決装置1に受信されてしまうのだが、ソケットSC2はソケットSC1とは異なるので、実際には受信されない。
したがって、悪意のコンピュータ4からソケットSC2のポート番号宛の名前解決応答が送信され、当該名前解決応答を受信してしまう前に、正規の名前解決応答を受信でき(ステップS23)、正規の名前解決応答をコンピュータ2に送信でき(ステップS27)、正規のアドレスを名前解決装置1に記憶できる可能性を高めることができる。
For example, the
Therefore, before the name resolution response addressed to the port number of the socket SC2 is transmitted from the
つまり、名前解決装置1は、ソケットを生成したままとせず、ソケットの生成および破棄を定期的に行うので、偽の名前解決応答がコンピュータ2に送信され、自身も偽のアドレスを記憶してしまう可能性を低減することができる。
That is, the
また、名前解決装置1は、ソケットの生成および破棄を、ソケット生成時刻とアドレスが検索できなかった時刻との差がしきい値を超えている判定された場合に行うので、しきい値を適切に定めれば、ソケットの生成および破棄を名前解決ごとに行う場合に比べて、単位時間あたりのソケットの生成および破棄の回数を少なくでき、その結果、ソケットの生成および破棄に使用される処理能力を低減することができる。
Further, the
例えば、名前解決装置1が1秒間に15000回の名前解決を行う場合、しきい値を500[ミリ秒]とすれば、同じソケットで名前解決装置3から7500回の名前解決応答を受信できるので、ソケットの生成および破棄に使用される処理能力を7500分の1にすることができる。
For example, when the
すなわち、名前解決装置1によれば、ソケットの生成および破棄に使用される処理能力を低減でき且つ偽の名前解決応答を送信するとともに偽のアドレスを記憶してしまう可能性を低くすることができる
[第2の実施の形態]
図4は、第2の実施の形態に係る名前解決装置の構成を示すブロック図である。
That is, according to the
FIG. 4 is a block diagram showing the configuration of the name resolution apparatus according to the second embodiment.
名前解決装置1Aは、名前解決装置1の構成要素と同じものを備えるので、これらには同一符号を付し、詳細説明を省略する。
Since the
名前解決装置1Aは、名前解決装置1の構成要素に加え、名前解決応答受信部19によりトランザクションID同士が一致しないと判定された場合、当該一致しないと判定されたときに存在しているソケットを破棄し、当該ソケットとは異なるソケットを生成し、ソケット生成時刻記憶部15に記憶されたソケット生成時刻に代えて、当該ソケットのソケット生成時刻をソケット生成時刻記憶部15に記憶させる第2のソケット更新部114を備える。
In addition to the components of the
(第2の実施の形態に係る名前解決装置1Aの動作)
図5は、名前解決装置1Aの動作を示すフローチャートである。図6は、名前解決装置1Aの動作を示すシーケンス図である。
(Operation of the
FIG. 5 is a flowchart showing the operation of the
名前解決装置1Aのフローチャートは、名前解決装置1のフローチャートを構成するステップと同じものを含むので、これらには同一符号を付し、詳細説明を省略する。
Since the flowchart of the
名前解決装置1Aでは、トランザクションID同士が一致しないと判定された場合(ステップS25:NO)、制御がステップS5に戻るのではなく、第2のソケット更新部114が、一致しないと判定されたときに存在しているソケットを破棄し(ステップS41)、当該ソケットとは異なるソケットを生成する(ステップS1)。ソケット更新部17は、また、タイマー112から現在時刻すなわち新たなソケットのソケット生成時刻を取得し、ソケット生成時刻記憶部15のソケット生成時刻に代えて、当該ソケットのソケット生成時刻をソケット生成時刻記憶部15に記憶させ(ステップS3)、制御はステップS5に移る。
In the
悪意のコンピュータ4は、例えば、ソケットSC2が存在しているときに偽の名前解決応答を送信してくる(ステップE51)。この中に、ソケットSC2のポート番号宛の名前解決応答があった場合、当該名前解決応答は名前解決装置1Aに受信される(ステップE511)。
For example, the
しかし、トランザクション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
Therefore, before the name resolution response addressed to the port number of the socket SC3 is transmitted from the
つまり、名前解決装置1Aは、名前解決装置1と同様に、ソケットの生成および破棄を定期的に行うので、ソケットを生成したままにする場合に比べ、偽の名前解決応答がコンピュータ2に送信され、自身も偽のアドレスを記憶してしまう可能性を低減することができる。
That is, since the
また、名前解決装置1Aは、名前解決装置1と同様に、ソケットの生成および破棄を、ソケット生成時刻とアドレスが検索できなかった時刻との差がしきい値を超えている判定された場合に行うので、しきい値を適切に定めれば、ソケットの生成および破棄を名前解決ごとに行う場合に比べ、ソケットの生成および破棄に使用される処理能力を低減することができる。
Similarly to the
すなわち、名前解決装置1Aによれば、ソケットの生成および破棄に使用される処理能力を低減でき且つ偽の名前解決応答を送信するとともに偽のアドレスを記憶してしまう可能性を低くすることができる
また、名前解決装置1Aは、ソケットの生成および破棄を、トランザクションID同士が一致しないと判定された場合に行うので、悪意のコンピュータ4が偽の名前解決応答を送信し始めた後においては、トランザクションID同士が一致しない場合が通常より多くなるので、単位時間あたりのソケットの生成および破棄の回数が多くなり、偽の名前解決応答は受信されにくくなる。よって、悪意のコンピュータ4が偽の名前解決応答を送信し始めた後においては、偽の名前解決応答を送信するとともに偽のアドレスを記憶してしまう可能性を一層低くできる。
That is, according to the
一方、悪意のコンピュータ4が偽の名前解決応答を送信し始める前においては、前述のとおり、ソケットの生成および破棄は定期的に行われるので、ソケットの生成および破棄を名前解決ごとに行う場合に比べ、ソケットの生成および破棄に使用される処理能力を低減することができる。
On the other hand, before the
なお、本実施の形態に係る名前解決装置をコンピュータに構成するためのコンピュータプログラム、または、当該名前解決装置が行った上記の名前解決方法またはソケット管理方法を当該名前解決装置に実行させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に格納し、陳列などして流通させたり、当該コンピュータプログラムをインターネットなどの通信網を介して伝送させてもよい。 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、1A、3…名前解決装置
2…コンピュータ
4…悪意のコンピュータ
11…名前解決情報データベース
12…名前解決要求受信部
13…名前解決応答送信部
14…アドレス検索部
15…ソケット生成時刻記憶部
16…ソケット生成部
17…ソケット更新部
18…名前解決要求送信部
19…名前解決応答受信部
110…名前解決情報データベース更新部
111…トランザクションID記憶部
112…タイマー
113…しきい値記憶部
114…第2のソケット更新部
DESCRIPTION OF
Claims (14)
名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信する名前解決要求受信部と、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.
を備えることを特徴とする請求項1または2記載の名前解決装置。The name resolution apparatus according to claim 1, further comprising:
名前を含む名前解決要求を送信したコンピュータから当該名前解決要求を受信する名前解決要求受信部と、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と当該名前解決要求内のトランザクション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 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同士が一致するか否かを判定するステップと、
前記名前解決装置の第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.
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)
| 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 |
-
2007
- 2007-12-25 JP JP2007332096A patent/JP4568751B2/en active Active
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 |