JP2007150665A - Dnsサーバ装置 - Google Patents

Dnsサーバ装置 Download PDF

Info

Publication number
JP2007150665A
JP2007150665A JP2005341725A JP2005341725A JP2007150665A JP 2007150665 A JP2007150665 A JP 2007150665A JP 2005341725 A JP2005341725 A JP 2005341725A JP 2005341725 A JP2005341725 A JP 2005341725A JP 2007150665 A JP2007150665 A JP 2007150665A
Authority
JP
Japan
Prior art keywords
dns
aaaa
request
reply
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005341725A
Other languages
English (en)
Other versions
JP4668775B2 (ja
Inventor
哲郎 ▲吉▼本
Tetsuo Yoshimoto
Akira Matsukawa
公 松川
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.)
Hitachi Communication Technologies Ltd
Original Assignee
Hitachi Communication Technologies Ltd
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 Hitachi Communication Technologies Ltd filed Critical Hitachi Communication Technologies Ltd
Priority to JP2005341725A priority Critical patent/JP4668775B2/ja
Priority to CNB2006101074864A priority patent/CN100514927C/zh
Priority to US11/494,486 priority patent/US20070124487A1/en
Publication of JP2007150665A publication Critical patent/JP2007150665A/ja
Application granted granted Critical
Publication of JP4668775B2 publication Critical patent/JP4668775B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/167Adaptation for transition between two IP versions, e.g. between IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/59Network arrangements, protocols or services for addressing or naming using proxies for addressing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】IPv6のホスト名解決要求に対してDNSコンテンツサーバの間違った応答を発行した場合でも、要求元端末にIPv4アドレスの取得を可能にする。
【解決手段】端末からIPv6のホスト名解決要求(AAAA query)を受信した時、DNSプロキシサーバが、これと同じドメイン名をもつIPv4のホスト名解決要求(A query)を生成し、これをAAAA queryと共にDNSコンテンツサーバに送信し、DNSコンテンツサーバから受信するIPv6のDNS応答(AAAA Reply)とIPv4のDNS応答(A Reply)の内容から、端末に返信すべきDNS応答を決定する。DNSプロキシサーバは、DNSコンテンツサーバからドメイン名エラーを示す応答メッセージを受信した場合でも、A Replyが正常であれば、目的アドレス無しを示すAAAA Replyを生成して、端末に返送する。
【選択図】図1

Description

本発明は、DNSサーバ装置に関し、更に詳しくは、端末からのホスト名解決要求を受信してDNSコンテンツサーバをアクセスするDNSプロキシサーバに関する。
IP(Internet Protocol)網においては、通信相手装置のドメイン名と対応するIPアドレスを取得するために、DNS(Domain Name System)が広く用いられている。DNSは、二種類のサーバの組み合わせによって運用される。そのうちの一つは、ドメイン名とIPアドレスとの対応表を保持し、ホスト名解決要求に応答してIPアドレスを回答するサーバであり、このサーバは、DNSコンテンツサーバ、もしくは権威DNSサーバなどと呼ばれている。他方は、端末からホスト名解決要求を受け取って、このホスト名解決要求を他の適切なサーバに転送するサーバであり、DNSプロキシサーバまたはDNSキャッシュサーバと呼ばれている。
IPアドレスに従ってパケットを転送するインターネット(Internet)には、それぞれが異なるドメインのIPアドレスを管理する複数のDNSコンテンツサーバが存在する。これらのDNSコンテンツサーバは、ツリー構造化され、階層的なデータベースを構築している。各DNSコンテンツサーバは、一般に、ドメイン名を管理する主体によって設置される。
一方、DNSプロキシサーバとDNSキャッシュサーバは、端末に代わって、DNSコンテンツサーバ・ツリーから、ホスト名解決要求で指定された問い合わせドメイン名をもつ特定のDNSコンテンツサーバを検索し、この特定DNSコンテンツサーバにホスト名解決要求を送信する。これらのサーバは、DNSコンテンツサーバから目的IPアドレスを含むDNS応答メッセージを受信すると、これを要求元の端末に転送する。
DNSキャッシュサーバは、ドメイン名とIPアドレスの対応関係を記憶するキャッシュメモリを備えており、ホスト名解決要求で求められた目的IPアドレスがキャッシュメモリに存在していれば、これを要求元端末に回答する。DNSプロキシサーバとDNSキャッシュサーバは、端末に対して直接IPネットワークアクセスサービスを提供する通信事業者などの組織によって設置されることが多い。通常、端末が指定するDNSサーバは、DNSプロキシサーバまたはDNSキャッシュサーバを意味している。以下、本明細書では、DNSキャッシュサーバとDNSプロキシサーバをDNSプロキシサーバで代表させる。
ところで、IP網には、アドレス体系の異なるIPv4プロトコルとIPv6プロトコルとを選択的に使用できる「IPv4/v6デュアルスタック」という方式が存在する。IPv4/v6デュアルスタック方式のネットワークに所属する各端末は、通信相手装置のIPアドレスを取得する場合、通常は、IPv4ホスト名解決要求メッセージ(以下、「A query」と言う)よりも先に、IPv6ホスト名解決要求メッセージ(以下、「AAAA query」と言う)を発行する。AAAA queryに対して、指定ホスト名にはIPv6アドレスが割り当てられていないという応答メッセージが帰ってきた場合、要求元端末は、A queryを発行し、指定ホスト名に対応するIPv4アドレスを取得する。すなわち、IPv4/v6デュアルスタック方式では、状況に応じて、IPv6アドレスとIPv4アドレスとを使い分けることができる。
然るに、RFC4074(非特許文献1)には、IPv4/v6デュアルスタック方式のネットワーク運用における問題点として、IPv6アドレスを持たないホスト名を指定したAAAA queryに対して、DNSコンテンツサーバが間違った挙動をとる可能性があり、結果的に、目的IPアドレスの取得に失敗したり、要求元端末でのIP網アクセス処理に大幅な遅延が発生することが指摘されている。
すなわち、DNSコンテンツサーバでAAAA queryが無視されると、回答待ちとなっている要求元端末では、予め決められた待ち時間がタイムアウトとなる迄は、A queryを発行できないため、IP網のアクセス処理が大幅に遅れる。また、AAAA queryに対して、「問い合わせドメイン名にはIPv6アドレスデータ(AAAAデータ)が存在しない」と回答すべきところを、DNSコンテンツサーバが、AAAA queryで指定された問い合わせドメイン名がインターネットに存在しないことを示すDNS応答メッセージ(以下、NXDOMAINと言う)を誤って返送した場合、要求元端末では、NXDOMAINを受信した時点でIP網アクセス処理が打ち切られる。この場合、要求元端末は、A queryによるIPv4アドレスの取得もできないため、相手装置との通信が全く不可能となると言う問題がある。
この種の問題は、本来、ホスト名解決要求を処理するDNSコンテンツサーバ側で解決すべき事項であるが、DNSコンテンツサーバが互いに独立した管理主体によって分散管理されているインターネットにおいては、上記問題の解決を全ての管理主体に強制することは不可能に近い。そのため、IPv6 Fixの第三章(非特許文献2)には、この種の問題を回避する1つの方法として、端末側ソフトウェアの改造方法が提案されている。
RFC4074:Common Misbehavior Against DNS Queries for IPv6 Addresses IPv6 Fix:http://v6fix.net/docs/v6fix.html.ja、第三章
しかしながら、インターネットユーザが使用する端末の殆どは、例えば、Windows(登録商標)をはじめとする専売ソフト(Proprietary Software)を搭載しているため、上述した端末ソフトウェアの改造を前提とする解決策は、端末ユーザにとって実施困難となる場合が多い。
本発明の目的は、AAAA queryに対してDNSコンテンツサーバの間違った応答メッセージを発行した場合でも、ユーザ端末のソフトウェアに変更を加えることなく、端末がIPv4アドレスを取得できるようにしたDNSプロキシサーバを提供することにある。
本発明の他の目的は、端末におけるAAAA queryに対する応答待ち時間を短縮可能なDNSプロキシサーバを提供することにある。
本発明は、IPv4のホスト名解決要求メッセージ(A query)に対しては、インターネット内の殆どのDNSコンテンツサーバが正常に応答できることに着目して提案されたものであり、端末からIPv6のホスト名解決要求メッセージ(AAAA query)を受信した時、DNSプロキシサーバが、プローブとして、AAAA queryと同じ問い合わせホスト名をもつA queryを生成し、これをAAAA queryと共にDNSコンテンツサーバに送信することを特徴とする。また、本発明のDNSプロキシサーバは、DNSコンテンツサーバから受信するIPv6のDNS応答メッセージ(AAAA Reply)とIPv4のDNS応答メッセージ(A Reply)の内容から、端末に返信すべきIPv6のDNS応答メッセージを決定することを特徴とする。
更に詳述すると、本発明のDNSプロキシサーバは、
端末からIPv6のDNS問い合わせメッセージAAAA requestを受信した時、該問い合わせメッセージと同一の問い合わせドメイン名をもつIPv4のDNS問い合わせメッセージA requestを生成し、上記AAAA requestとA requestとをインターネット内の特定のDNSコンテンツサーバに送信する要求処理部と、
上記AAAA requestに対するIPv6のDNS応答メッセージとして、上記DNSコンテンツサーバから、問い合わせドメイン名がエラーであることを示すNXDOMAINを受信した場合、上記DNSコンテンツサーバから受信する上記A requestに対するIPv4のDNS応答メッセージの内容に応じて、上記NXDOMAINとは異なる別のDNS応答メッセージを生成し、これを上記端末に送信する応答処理部とを備えたことを特徴とする。
更に具体的に言うと、本発明のDNSプロキシサーバは、IPv6のDNS応答メッセージとしてNXDOMAINを受信した場合であっても、IPv4のDNS応答メッセージとして、問い合わせドメイン名と対応するIPv4アドレスを示す正常なA replyを受信した時は、上記応答処理部が、問い合わせドメイン名にはIPv6アドレスがないことを示すメッセージAAAA replyを生成し、これを要求元端末に送信することを特徴とする。
例えば、DNSコンテンツサーバから、IPv4のDNS応答メッセージよりも先にNXDOMAINを受信した場合、本発明のDNSプロキシサーバでは、応答処理部が、上記NXDOMAINを保持した状態で、DNSコンテンツサーバからのIPv4のDNS応答メッセージの受信を待つ。本発明の実施例では、上記NXDOMAINを受信した時、応答処理部は、IPv4のDNS応答メッセージの待ち時間を制限するためのタイマをスタートし、IPv4のDNS応答メッセージを受信することなく上記タイマがタイムアウトした場合、タイムアウト時点で、上記NXDOMAINを要求元端末に送信する。
本発明の好ましい実施例では、AAAA requestまたはA requestの送信時に、DNSプロキシサーバの要求処理部が、DNSコンテンツサーバの応答時間を計測するためのタイマをスタートし、NXDOMAINを先に受信した時、応答処理部が、上記計測タイマが示す応答時間に応じて、IPv4のDNS応答メッセージの待ち時間を決定する。DNSコンテンツサーバからIPv6のDNS応答メッセージとIPv4のDNS応答メッセージの何れも受信することなく、上記応答時間計測用のタイマが予め決められたタイムアウト時間に達した場合、DNSプロキシサーバの応答処理部は、IPv6のDNS応答メッセージとして、AAAA requestの問い合わせドメイン名がエラーであることを示すNXDOMAINを生成し、これを要求元端末に送信する。
例えば、DNSコンテンツサーバから、IPv6のDNS応答メッセージよりも先にA replyを受信した場合、DNSプロキシサーバの応答処理部は、IPv6のDNS応答メッセージ待ち時間を制限するためのタイマをスタートし、該タイマがタイムアウトする前にNXDOMAUNを受信した時、問い合わせドメイン名にはIPv6アドレスがないことを示すメッセージAAAA replyを生成し、これを要求元端末に送信する。
IPv6のDNS応答メッセージを受信することなく上記タイマがタイムアウトした時、応答処理部は、問い合わせドメイン名にはIPv6アドレスがないことを示すメッセージAAAA replyを生成し、これを要求元端末に送信する。IPv6のDNS応答メッセージ待ち時間も、DNSコンテンツサーバの応答時間計測タイマが示す応答時間に応じて決定できる。
DNSコンテンツサーバからIPv6のDNS応答メッセージもIPv4のDNS応答メッセージを受信することなく、応答時間計測用のタイマが予め決められたタイムアウト時間に達した場合、DNSプロキシサーバの応答処理部は、IPv6のDNS応答メッセージとして、AAAA requestの問い合わせドメイン名がエラーであることを示すNXDOMAINを生成し、これを要求元端末に送信する。
AAAA requestに対するIPv6のDNS応答メッセージとして、DNSコンテンツサーバから、問い合わせドメイン名と対応するIPv6アドレスを示す正常なAAAA replyを受信した場合、DNSプロキシサーバの応答処理部は、該AAAA replyを要求元端末に送信する。
尚、本発明のDNSプロキシサーバが、DNSコンテンツサーバから受信したAAAA replyおよびA replyが示す問い合わせドメイン名とIPアドレスとの関係を記憶するキャッシュメモリを備えたDNSキャッシュサーバの場合、端末からAAAA requestまたはA requestを受信した時、前記要求処理部が、上記キャッシュメモリを参照し、受信したrequestが示す問い合わせドメイン名と対応するIPアドレスが上記キャッシュメモリに存在した場合は、該IPアドレスを示すDNS応答メッセージを生成して、これを要求元の端末に送信することができる。
本発明によれば、IPv4/v6デュアルスタックを利用するユーザ端末のソフトウェアに変更を加えることなく、DNSコンテンツサーバの間違った挙動に対処できる。また、本発明をDNSキャッシュサーバに適用した場合、DNSキャッシュサーバが、AAAA requestの転送時にA requestも送信することによって、DNSコンテンツサーバからIPv4アドレスを先行取得することができるため、端末からA queryを受信した時、キャッシュメモリから読み出したIPv4アドレスを迅速に回答することが可能となる。
以下、図面を参照して本発明の実施例について詳細に説明する。
図1は、本発明のDNSプロキシサーバが適用されるネットワークを模式的に示した図である。ここで、40は、ユーザ端末1が所属するIPv4/v6デュアルスタック対応のLAN、41は、DNSプロキシサーバ10が所属するIPv4/v6デュアルスタック対応のアクセス網である。DNSプロキシサーバ10は、境界ルータ20Aを介して上記LAN40に接続され、別の境界ルータ20Bを介して、インターネット42に接続されている。アクセス網41は、具体的には、企業基幹網またはプロバイダ網であり、端末1は、予め契約したプロバイダのDNSプロキシサーバ10を介して、インターネット42内のホスト装置(サーバ、その他のコンピュータ)と通信する。
インターネット42は、実際には、多様な管理主体によって管理される多数のドメイン網43(43A、43B、43C、・・・)の集合体である。図1では、ドメイン網43Aと43BはIPv4アドレス網、ドメイン網43Cと43Dは、IPv4/IPv6デュアルアドレス網、ドメイン網43EはIPv6アドレス網となっている。管理主体毎に個別のDNSコンテンツサーバ30(30A、30B、30C、・・・)が存在しており、各DNSコンテンツサーバ30は、管理下にあるドメイン網43内のホスト装置毎に、ホスト名とIPアドレスとの対応関係を管理テーブルに記憶している。
インターネット42内の複数のDNSコンテンツサーバ30は、体系化されてDNSツリーを構築している。DNSプロキシサーバ10は、ルートサーバと呼ばれる最上位のコンテンツサーバ30Aから順に検索することによって、インターネット上の全ホスト名のIPアドレスを解決することが可能となっている。
従来技術で問題としたAAAA queryに誤った挙動をする可能性のあるサーバは、例えば、IPv4アドレスのみが適用可能なドメイン網43Bを管理するコンテンツサーバ30Bである。DNSコンテンツサーバ30Bは、例えば、ドメイン網43B内のホスト2に関して、ホスト名「host.example.co.jp」とIPv4アドレス「1.1.1.1」との対応関係は記憶しているが、ホスト2のIPv6アドレスは保持していない。
図1では、説明の都合上、DNSプロキシサーバ10が独立したサーバとして図示されているが、DNSプロキシサーバ10の機能は、境界ルータ20Aまたは20B上に実装してもよい。また、DNSプロキシサーバ10は、必ずしもアクセス網41内に位置する必要はなく、端末1およびDNSコンテンツサーバ30と通信可能な範囲でどこに配置されてもよい。端末1は、DNSコンテンツサーバ30をアクセスする際に、DNSプロキシサーバ10以外の別のDNSサーバを経由してもよい。
図2は、本発明のDNSプロキシサーバ10の機能を示す通信シーケンスの第1の例を示す。
IPv4/IPv6デュアルスタック網40に所属した端末1は、通信相手となるインターネット42内の特定ホストのIPアドレスを取得したい場合、IPv4のホスト名解決要求メッセージ(A query)に先立って、IPv6のホスト名解決要求メッセージ(AAAA query)をDNSプロキシサーバ10に送信する(SQ1)。後述するように、AAAA queryはヘッダ部と問い合わせ部とからなり、問い合わせ部に、アドレス解決対象となる特定のホスト名(問い合わせホスト名)が含まれている。
本発明の特徴は、上記AAAA queryを受信したDNSプロキシサーバ10が、受信したAAAA queryから、同じ問い合わせホスト名をもつA queryを自動的に生成し(S10)、DNSコンテンツサーバ30(例えば、30B)に、AAAA queryとA queryとを略同時に送信する(SQ2、SQ3)ことにある。これらのqueryを送信したDNSプロキシサーバ10は、DNSコンテンツサーバ30からの最初の応答を受信する迄の所要時間(応答時間)T1の計測を開始する(S11)。
尚、実際の応用において、DNSプロキシサーバ10は、これらのqueryの送信(SQ2、SQ3)に先立って、queryの宛先となるDNSコンテンツサーバ30(例えば、30B)を特定するためのDNSツリー検索などの処理を実行するが、これらの処理シーケンスは、DNSプロキシサーバが一般的に実行するものであり、図2では簡単化のために省略してある。
また、DNSプロキシサーバ10が、キャッシュ機能を備えたDNSキャッシュサーバの場合、DNSキャッシュサーバは、AAAA queryの受信時に、キャッシュメモリから問い合わせホスト名と対応するIPv6アドレスを検索し、もし、目的のIPアドレスが存在していれば、AAAA queryをDNSコンテンツサーバに転送することなく、自分でDNS応答メッセージを要求元端末1に送信することになる。DNSキャッシュサーバの場合、以下に説明する通信シーケンスは、キャッシュメモリに目的IPv6アドレスが存在していなかった場合の通信シーケンスに相当する。
ここでは、DNSコンテンツサーバ30が、A queryに応答して、問い合わせホスト名と対応するIPv4アドレスを示すA replyを返信(SQ4)した後、AAAA queryに対する応答として、問い合わせホスト名はインターネットに存在していないことを示すNXDOMAIN(AAAA)を返信(SQ5)した場合のシーケンスを示している。
DNSプロキシサーバ10は、DNSコンテンツサーバ30からA replyを受信すると、T2タイマをスタートし(S12)、AAAA queryに対するDNSコンテンツサーバ30からのIPv6DNS応答メッセージを待つ。T2タイマは、IPv6DNS応答メッセージの待ち時間を制限するためのものであり、スタートしてから時間T2が経過した時点で、タイムアウトとなる。
タイムアウト時間T2の値は、固定値でもよいが、AAAA queryまたはA queryを送信してから最初の応答(A reply)が届くまでの時間T1の値に応じて、予め用意されたT1の一次関数(T2=α・T1)から算出してもよい。係数αは、整数値または小数値をもつ任意の値である。
ここで、DNSコンテンツサーバ30が返信したNXDOMAIN(AAAA)が、T2タイマがタイムアウト(S15)となる前に、DNSプロキシサーバ10に届いたと仮定する。この場合、DNSプロキシサーバ10は、上記NXDOMAIN(AAAA)が、既に受信したA replyと矛盾しており、NXDOMAIN(AAAA)は、DNSコンテンツサーバ30が誤って発行したものと判断する。そこで、DNSプロキシサーバ10は、受信したNXDOMAINの内容に基づいて、指定ホスト名にはIPv6アドレスが無いことを示すAAAA reply(Noアドレス)を生成し(S14)、これを要求元の端末1に送信する(SQ10)。
上記AAAA reply(Noアドレス)を受信した端末1は、通信相手となる特定ホストにはIPv6アドレスを適用できないと判断し、IPv4アドレスを取得するためにIPv4のホスト名解決要求メッセージA queryを送信する(SQ21)。
DNSプロキシサーバ10は、上記A queryを受信すると、これをDNSコンテンツサーバ30に転送する(SQ22)。DNSコンテンツサーバ30は、受信したA queryに応答して、指定ホスト名と対応するIPv4アドレスを示すA replyを返信する(SQ23)。DNSプロキシサーバ10は、上記A replyを端末1に転送する(SQ24)。
上記通信シーケンスにより、端末1は、DNSコンテンツサーバ30が誤って発行したNXDOMAINによって、インターネットへの接続処理を打ち切られることなく、IPv4アドレスを適用して、通信相手のホストとの通信が可能となる。
尚、DNSプロキシサーバ10がキャッシュサーバの場合、ステップSQ4でDNSプロキシサーバ10から受信したA replyの内容をキャッシュメモリに保存しておくことによって、DNSプロキシサーバ10は、端末1からA queryを受信した時(SQ21)、ステップSQ22、SQ23を省略して、端末1にA replyを送信することが可能となる。
図3は、図2のシーケンスにおいて、DNSプロキシサーバ10がA replyを受信(SQ4)した後、AAAA queryに対する応答待ちの状態で、T2タイマがタイムアウト(S15)した場合の通信シーケンスを示す。
DNSプロキシサーバ10は、A replyを受信(SQ4)したことによって、インターネット内でのAAAA queryで指定されたホスト名(ドメイン)の存在が確認済みとなっている。そこで、T2タイムアウト(S15)になった場合、DNSプロキシサーバ10は、上記A replyの内容に基づいて、指定ホスト名にはIPv6アドレスが無いことを示すAAAA reply(Noアドレス)を生成し(S16)、これを要求元の端末1に送信する(SQ10)。以下のシーケンスは、図2と同様である。
このように、T2タイムアウトを契機にして、DNSプロキシサーバ10にAAAA reply(Noアドレス)を発行させると、AAAA queryに対する応答待ち時間を制限するために設定されていた従来のタイムアウト時間T0よりも短い待ち時間で、要求元の端末1にA queryを送信(SQ21)させることができ、端末1とホストとの通信開始を早めることが可能となる。特に、DNSプロキシサーバ10がキャッシュサーバの場合、A query(SQ21)に応答して、DNSプロキシサーバ10から直ちにA replyを返送(SQ24)できるため、端末1とホストとの通信開始を一層早めることが可能となる。
尚、破線で示すように、T2タイムアウトとなる前に、DNSコンテンツサーバ30が、ホスト名に対応するIPv6アドレスを示す正常な応答メッセージAAAA reply(アドレスデータ)を返送した場合(SQ6)、DNSプロキシサーバ10は、受信したAAAA replyを要求元の端末1に転送する。この場合、端末1は、AAAA replyが示すIPv6アドレスを適用して、直ちにホストとの通信を開始できる。
図4は、DNSコンテンツサーバ30が、最初に、AAAA queryに対する応答メッセージNXDOMAIN(AAAA)を返信し(SQ5)、その後、A queryに対する応答メッセージとして、問い合わせホスト名と対応するIPv4アドレスを示すA replyを返信(SQ4)した場合の通信シーケンスを示す。
DNSプロキシサーバ10は、DNSコンテンツサーバ30からNXDOMAINを受信すると(SQ5)、T3タイマをスタートし(S13)、NXDOMAINを端末1に転送することなくサーバ内に保持して、A queryへの応答メッセージが受信されるのを待つ。T3タイマは、それがスタートしてから時間T3が経過した時点で、タイムアウトとなる。時間T3の値は、A queryを送信してから最初の応答(この例では、NXDOMAINA)が届くまでの時間T1の値に応じて、予め用意されたT1の一次関数(T3=β・T1)から算出される。ここでβは、整数値または小数値をもつ係数であり、β=αであっても構わない。
T3タイマがタイムアウトする前に、指定ホスト名と対応するIPv4アドレスを示すA replyを受信すると(SQ4)と、DNSプロキシサーバ10は、ステップSQ5で受信したNXDOMAINを誤って発行されたものと判断し、A replyの内容に基づいて、問い合わせホスト名にはIPv6アドレスが無いことを示すIPv6のDNS応答メッセージAAAA reply(Noアドレス)を生成し(S14)、これを要求元の端末1に送信する(SQ10)。その後のシーケンスSQ21〜SQ24は、図2と同様である。
図5は、図4のシーケンスにおいて、DNSプロキシサーバ10がNXDOMAINを受信(SQ5)した後、A queryに対する応答待ちの状態で、T3タイマがタイムアウト(S15)となった場合の通信シーケンスを示す。
この場合、DNSプロキシサーバ10は、送信待ちとなっていたNXDOMAINを端末1に転送する(SQ11)。端末1は、上記NXDOMAINを受信したことによって、自分がAAAA queryで指定したホスト名がインターネットには存在していないと判断し、ホストとの通信を断念する。
図6は、DNSメッセージのパケットフォーマットを示す。
上述したAAAA query、A query、AAAA reply、NXDOMAIN、A reply等のDNSメッセージMは、IPヘッダH1とTCP/UDPヘッダH2とをもつIPパケット形式で送信される。
図7は、端末1が発行するAAAA queryのメッセージフォーマットを示す。
AAAA query60は、図7に示すように、ヘッダ部H6と問い合わせ部Q6とからなり、ヘッダ部H6に、メッセージID61とその他のヘッダ情報部62とを含む。問い合わせ部Q6は、アドレス検索の対象となるホスト名を示す問い合わせドメイン名(QNAME)63と、検索すべきアドレスがIPv6かIPv4かを示す問い合わせタイプ(QTYPE)64と、問い合わせクラス(QCLASS)65とを含む。
例えば、図1に示したホスト2のIPv6アドレスを取得するために端末1が発行するAAAA query60は、QNAME63として、ホスト名「host.example.co.jp」を含み、QTYPE64として、IPv6のホスト名解決メッセージであることを示す値「28」を含む。
図8は、DNSプロキシサーバ10が生成するA queryのメッセージフォーマットを示す。A query70は、ヘッダ部H7と問い合わせ部Q7とからなり、AAAA query60と同様の情報項目71〜75を含む。
DNSプロキシサーバ10は、端末1からAAAA query60を受信すると、メッセージID71にAAAA queryとは異なるID値を含み、QTYPE74に、IPv4のホスト名解決メッセージであることを示す値「1」を含むA queryを生成する。QNAME73には、AAAA queryのQNAME63と同じホスト名が設定される。
図9は、DNSコンテンツサーバ30が発行するAAAA replyのメッセージフォーマットを示す。AAAA reply80は、ヘッダ部H8と、問い合わせ部Q8と、回答情報部R8とからなる。
ヘッダ部H8は、メッセージID81と、RCODE83と、その他のヘッダ情報82、84からなる。問い合わせ部Q8は、AAAA query60と同様の情報項目85〜87からなり、回答情報部R8は、回答部88Aと、権威部88Bと、付加情報部88Cとを含む。
メッセージID81には、AAAA query60と同じID値が設定され、問い合わせ部Q8のQNAME85、QTYPE86、QCLASS87には、それぞれAAAA query60のQNAME63、QTYPE64、QCLASS65と同じ値が設定される。RCODE83は、DNSコンテンツサーバ30で実行した解決処理におけるエラーの有無を示している。
NXDOMAINの場合、RCODE83に「3」が設定され、回答部88A、権威部88B、付加情報部88Cは、それぞれブランクとなっている。IPv6アドレスデータの検索に成功した場合は、RCODE83にエラーなしを示す「0」が設定され、回答部88Aに、ホストのIPv6アドレスの値が設定される。権威部88Bと付加情報部88Cは、DNSコンテンツサーバ30における状況に応じた値が設定される。
図10は、DNSプロキシサーバ10が生成するAAAA reply(Noアドレス)80Pのメッセージフォーマットを示す。
AAAA reply(Noアドレス)80Pは、DNSコンテンツサーバ30が発行するAAAA reply80と同様のフォーマットを有し、メッセージID81に、AAAA query60と同じID値が設定され、RCODE83に、エラーなしを示す「0」が設定されている。
QNAME85、QTYPE86、QCLASS87には、それぞれAAAA query60のQNAME63、QTYPE64、QCLASS65と同じ値が設定され、回答部88A、権威部88B、付加情報部88Cは、それぞれブランクとなっている。
DNSコンテンツサーバ30が、図8に示したA query70に応答して発行するA replyは、図9に示したAAAA reply80と同様のフォーマットを有し、QTYPE86にIPv4を示す「1」が設定され、回答部88Aに、ホストがもつIPv4のアドレス値が設定されている。また、メッセージID81には、A query70のメッセージIDが設定される。
図11は、DNSプロキシサーバ10の構成の1例を示す。
DNSプロキシサーバ10は、プロセッサ11と、プログラムメモリ12と、データメモリ13と、ネットワークインタフェース14と、これらの要素を相互に接続する内部バス15とからなる。
プログラムメモリ12には、DNSプロキシサーバ(あるいはキャッシュサーバ)として機能を実現するためにプロセッサが実行する各種のソフトウェアを格納してある。本発明のDNSプロキシサーバ10は、DNSプロキシサーバ機能の一部として、図13A、図13Bで詳述する改良されたAAAA query処理ルーチン200を備えている。
データメモリ13には、DNSプロキシサーバが必要とする各種のデータが格納されている。DNSキャッシュサーバの場合、データメモリ13の一部がキャッシュメモリとして利用される。図12で後述するquery管理テーブル16は、データメモリ13に形成される。
図13A、図13Bは、端末からAAAA queryを受信した時、プロセッサ11が実行するAAAA query処理ルーチン200の1実施例を示すフローチャートである。
図2の説明でも触れたように、実際の応用では、DNSプロキシサーバ10は、query送信先となるDNSコンテンツサーバを特定するため、query送信に先立ってDNSツリー検索などの処理を実行するが、これらの処理は、DNSプロキシサーバにとって一般的にものとなっているため、説明簡単化のために、フローチャートからは省略してある。また、ここでは、DNSキャッシュサーバの場合に、query受信時に実行されるキャッシュメモリの検索処理も省略してある。
従って、AAAA query処理ルーチン200は、キャッシュメモリの検索処理の結果、問い合わせ要求に該当するアドレスデータがキャッシュメモリにないことが確認され、且つ、DNSツリー検索処理によって、queryの送信先となるDNSコンテンツサーバが特定された時に実行される処理を示すことになる。
AAAA query処理ルーチン200は、AAAA queryの受信時に実行される要求処理部と、DNSコンテンツサーバからの応答メッセージの受信時に実行される応答処理部とからなっている。
端末1からAAAA queryを受信すると、プロセッサ11は、AAAA queryと同一の問い合わせドメイン名を有し、メッセージIDを変えたA queryを作成し(201)、端末から受信したAAAA queryと、自分で作成したA queryをDNSコンテンツサーバ30に送信する(202)。この後、プロセッサ11は、DNSコンテンツサーバ30からの最初の応答までの所要時間T1の計測タイマと、予め決められた最大待ち時間T0のタイムアウトを知らせるT0タイマをスタートして(203)、DNSコンテンツサーバ30からの応答メッセージの受信を待つ(204)。
DNSコンテンツサーバ30から、A replyもAAAA replyも受信できない状態で、T0タイマがタイムアウトとなった場合(205)、プロセッサ11は、要求元の端末1に、タイムアウトエラーメッセージを送信して(206)、このルーチンを終了する。
DNSコンテンツサーバ30から最初の応答メッセージを受信すると、プロセッサ11は、受信メッセージのQTYPEから、受信メッセージがA queryに対する応答メッセージか、AAAAqueryに対する応答メッセージかを判定する(210)。受信メッセージが、A queryに対する応答メッセージ(A reply)の場合、プロセッサ11は、後述する図13Bのステップ220以降の処理を実行する。
受信メッセージがAAAA queryに対する応答メッセージ(AAAA reply)の場合、プロセッサ11は、受信メッセージのRCODEから、受信メッセージがNXDOMAINか否かを判定する(211)。受信メッセージがNXDOMAINでなかった場合、すなわち、ホストのIPv6アドレスデータを示す通常のAAAA replまたは問合せドメイン名がIPv6アドレスを持たないことを示すAAAA replyの場合、プロセッサ11は、受信メッセージ(AAAA reply)を要求元の端末1に送信して(212)、このルーチンを終了する。
受信メッセージがNXDOMAINの場合、プロセッサ11は、NXDOMAINをメモリに保持した状態で、A queryに対する応答メッセージ(A reply)の受信待ち時間を制限するT3タイマをスタートし(213)、A replyの受信を待つ(214)。上記T3タイマの設定値は、T1タイマの計測値T1に応じて決定され、T0タイマよりも早くタイムアウトとなる。A replyが受信されないまま、T3タイマがタイムアウトになった場合(215)、プロセッサ11は、メモリに保持してあったNXDOMAINを要求元に端末1に送信して(216)、このルーチンを終了する。上記NXDOMAINの送信は、図5のステップSQ11に相当する。
T3タイマがタイムアウトとなる前に、A queryに対する応答メッセージを受信すると、プロセッサ11は、受信メッセージのRCODEから受信メッセージがNXDOMAINか否かを判定する(217)。受信メッセージがNXDOMAINの場合、プロセッサ11は、メモリに保持してあったNXDOMAINを要求元に端末1に送信して(216)、このルーチンを終了する。
受信メッセージがNXDOMAINでなかった場合、すなわち、ホストのIPv4アドレスデータを示す通常のA replyの場合、プロセッサ11は、受信したA replyに基づいて、目的のIPv6アドレスデータが無いことを示すAAAA replyを生成し(218)、これを要求元の端末1に送信して(219)、このルーチンを終了する。上記AAAA replyの生成は、図4のステップS14に相当する。
最初に受信したメッセージがA queryに対する応答メッセージの場合、プロセッサ11は、図13Bに示すように、AAAA queryに対する応答メッセージ(AAAA reply)の受信待ち時間を制限するT2タイマをスタートする(220)。プロセッサ11は、上記最初の受信メッセージのRCODEをチェックし(221)、RCODEが「0」(エラーなし)、すなわち、受信メッセージが指定ホストのIPv4アドレスを示すA replyメッセージの場合、DNSコンテンツサーバ30からのAAAA replyの受信を待つ(222)。
AAAA replyを受信しない状態で、T2タイマがタイムアウトとなった場合(223)、既に、正常なA replyメッセージの受信によって、インターネットにおける問合せドメイン名の存在が確されているため、プロセッサ11は、図13Aのステップ218、219を実行し、要求元端末1に目的IPv6アドレスが無いことを示すAAAA replyを送信して、このルーチンを終了する。上記AAAA replyの送信は、図3のステップSQ10に相当する。
T2タイマがタイムアウトとなる前に、AAAA replyを受信した場合、プロセッサ11は、受信メッセージのRCODEをチェックする(224)。RCODEがエラー表示値「3」、すなわち、受信メッセージがNXDOMAINの場合、プロセッサ11は、図13Aのステップ218、219を実行し、要求元端末1に目的IPv6アドレスが無いことを示すAAAA replyを送信して、このルーチンを終了する。受信メッセージのRCODEが「0」(エラーなし)の場合、プロセッサ11は、受信メッセージ(目的IPv6アドレスを示すAAAA reply)を要求元端末1に送信して(226)、このルーチンを終了する。上記AAAA replyの送信は、図3に破線で示したステップSQ9に相当する。
最初に受信したA replyメッセージのRCODEがエラーを示す値となっていた場合、すなわち、受信メッセージがIPv4のNXDOMAINの場合(221)、プロセッサ11は、DNSコンテンツサーバ30からのAAAA replyの受信を待つ(225)。T2タイマがタイムアウトとなる前に、AAAA replyを受信した場合、プロセッサ11は、受信メッセージを要求元の端末1に送信して(226)、このルーチンを終了する。
AAAA replyを受信しない状態で、T2タイマがタイムアウトとなった場合(227)、既に、IPv4のNXDOMAINの受信によって、インターネットにおける指定ドメイン名の不在が確認済みとなっているため、プロセッサ11は、指定されたホスト名がインターネットに存在しないことを示すIPv6のNXDOMAINを生成し(228)、これを要求元端末1に送信して(229)、このルーチンを終了する。
上述したAAAA query処理ルーチン200は、1つのAAAA queryに着目して、DNSプロキシサーバ10のプロセッサ11が実行する動作を時系列的に示している。しかしながら、実際の応用においては、DNSプロキシサーバ10は、複数の端末からAAAA queryを受信し、DNSコンテンツサーバからも、メッセージIDの異なる複数のAAAA replyとA replyを次々と受信する。従って、プロセッサ11は、発生したAAAA query毎に、DNSコンテンツサーバからの応答受信状態を管理し、各端末への応答メッセージの送信を制御する必要がある。
図12は、各端末への応答メッセージの送信を制御するためにプロセッサ11が参照するquery管理テーブル16の1例を示す。
query管理テーブル16は、AAAA queryと対応する複数のテーブルエントリ160−1、・・・からなる。各テーブルエントリは、AAAA queryID161と、A queryID162と、AAAA replyのRCODE163と、A replyのRCODE164と、要求元IPアドレス165と、T0タイムアウト166と、T2(T3)タイムアウト167とを示している。
プロセッサ11は、AAAA queryを受信した時、これと同一の問い合わせドメイン名をもつA queryを生成した後、query管理テーブル16に、上記AAAA query用の新たなテーブルエントリ160−jを追加する。この時点では、テーブルエントリ160−jのRCODE164、165と、T2(T3)タイムアウト167はブランク状態で、AAAA queryID161には、受信AAAA queryのメッセージID81の値が設定され、A queryID62には、生成されたA queryのメッセージID71、要求元IPアドレス165には、受信したAAAA queryのIPヘッダH1から抽出された送信元IPアドレスの値が設定される。また、T0タイムアウト166には、T0タイマのタイムアウト時刻が設定される。
プロセッサ11は、DNSコンテンツサーバからのreplyメッセージの受信の都度、上記query管理テーブル16から受信メッセージのメッセージIDと対応するテーブルエントリ160−kを検索し、テーブルエントリの状態に応じた動作を行う。
DNSコンテンツサーバからreplyメッセージを受信した時、RCODE164と165が共に空欄状態であれは、プロセッサ11は、受信メッセージのRCODEの値を上記テーブルエントリ160−kのRCODE164または165に記憶した後、AAAA query処理ルーチン200のステップ210〜213または220を実行し、ステップ213または220で、T2タイマまたはT3タイマのタイムアウト時刻を算出し、これを上記テーブルエントリにT2(T3)タイマ165のタイムアウト時刻として記憶すればよい。
DNSコンテンツサーバからreplyメッセージを受信した時、RCODE164と165の一方に既に有効データが記憶された状態であれば、プロセッサ11は、受信メッセージのQTYPEから、受信メッセージが、AAAA replyかA replyかを判定する。プロセッサ11は、受信メッセージがA replyの場合は、AAAA query処理ルーチン200のステップ216〜219を実行し、受信メッセージがAAAA replyの場合は、上記RCODE164または165が示すA replyの状態に応じて、AAAA query処理ルーチン200のステップ222、224〜226を実行すればよい。
また、プロセッサ11は、query管理テーブル16のタイマ166と167が示すタイムアウト時刻を定期的にチェックし、タイムアウト時刻に達したテーブルエントリについて、RCODE164と165の状態に応じて、AAAA query処理ルーチン200のステップ206、216、218〜219または228〜229を選択的に実行する。ステップ212、216、219、226または229で、要求元端末に応答メッセージを送信した時、query管理テーブル16から不要テーブルエントリを削除すればよい。
本発明のDNSプロキシサーバが適用されるネットワーク構成を模式的に示した図。 本発明のDNSプロキシサーバの機能を示す通信シーケンスの第1の例を示す図。 本発明のDNSプロキシサーバの機能を示す通信シーケンスの第2の例を示す図。 本発明のDNSプロキシサーバの機能を示す通信シーケンスの第3の例を示す図。 本発明のDNSプロキシサーバの機能を示す通信シーケンスの第4の例を示す図。 DNSメッセージのパケットフォーマットを示す図。 端末が発行するAAAA queryのメッセージフォーマットを示す図。 DNSプロキシサーバが生成するA queryのメッセージフォーマットを示す図。 DNSコンテンツサーバが発行するAAAA repryのメッセージフォーマットを示す図。 DNSプロキシサーバが生成するAAAA repryのメッセージフォーマットを示す図。 DNSプロキシサーバの構成図。 DNSプロキシサーバが備えるquery管理テーブル16の1例を示す図。 DNSプロキシサーバが実行するAAAA query処理ルーチン200の一部を示すフローチャート。 AAAA query処理ルーチン200の残部を示すフローチャート。
符号の説明
1:端末、2:ホスト、10:DNSプロキシサーバ、11:プロセッサ、12:プログラムメモリ、13:データメモリ、14:ネットワークインタフェース、16:query管理テーブル、20:境界ルータ、30:DNSコンテンツサーバ、40:LAN、41:アクセス網、42:インターネット、43:ドメイン網。

Claims (11)

  1. 端末とDNSメッセージを交信するDNSプロキシサーバであって、
    端末からIPv6のDNS問い合わせメッセージAAAA requestを受信した時、該問い合わせメッセージと同一の問い合わせドメイン名をもつIPv4のDNS問い合わせメッセージA requestを生成し、上記AAAA requestとA requestとをインターネット内の特定のDNSコンテンツサーバに送信する要求処理部と、
    上記AAAA requestに対するIPv6のDNS応答メッセージとして、上記DNSコンテンツサーバから、問い合わせドメイン名がエラーであることを示すNXDOMAINを受信した場合、上記DNSコンテンツサーバから受信する上記A requestに対するIPv4のDNS応答メッセージの内容に応じて、上記NXDOMAINとは異なる別のDNS応答メッセージを生成し、これを上記端末に送信する応答処理部とを備えたことを特徴とするDNSプロキシサーバ。
  2. 前記IPv4のDNS応答メッセージとして、前記問い合わせドメイン名と対応するIPv4アドレスを示すA replyを受信した場合、前記応答処理部が、前記AAAA requestに対するIPv6のDNS応答メッセージとして、前記問い合わせドメイン名にはIPv6アドレスがないことを示すメッセージAAAA replyを生成し、前記端末に送信することを特徴とする請求項1に記載のDNSプロキシサーバ。
  3. 前記DNSコンテンツサーバから、前記IPv4のDNS応答メッセージよりも先に前記NXDOMAINを受信した場合、前記応答処理部が、上記NXDOMAINを保持した状態で、前記DNSコンテンツサーバからのIPv4のDNS応答メッセージの受信を待つことを特徴とする請求項2に記載のDNSプロキシサーバ。
  4. 前記NXDOMAINを受信した時、前記応答処理部が、IPv4のDNS応答メッセージの待ち時間を制限するためのタイマをスタートし、IPv4のDNS応答メッセージを受信することなく上記タイマがタイムアウトした時、前記NXDOMAINを前記端末に送信することを特徴とする請求項3に記載のDNSプロキシサーバ。
  5. 前記要求処理部が、AAAA requestまたはA requestの送信時に、前記DNSコンテンツサーバの応答時間を計測するためのタイマをスタートし、
    前記NXDOMAINを受信した時、前記応答処理部が、上記計測タイマが示す応答時間に応じて、前記IPv4のDNS応答メッセージの待ち時間を決定することを特徴とする請求項4に記載のDNSプロキシサーバ。
  6. 前記DNSコンテンツサーバから、IPv6のDNS応答メッセージよりも先に前記A replyを受信した場合、前記応答処理部が、IPv6のDNS応答メッセージ待ち時間を制限するためのタイマをスタートし、該タイマがタイムアウトする前に前記NXDOMAUNを受信した時、前記問い合わせドメイン名にはIPv6アドレスがないことを示すメッセージAAAA replyを生成し、前記端末に送信することを特徴とする請求項2に記載のDNSプロキシサーバ。
  7. 前記DNSコンテンツサーバから、IPv6のDNS応答メッセージよりも先に前記A replyを受信した場合、前記応答処理部が、IPv6のDNS応答メッセージ待ち時間を制限するためのタイマをスタートし、IPv6のDNS応答メッセージを受信することなく上記タイマがタイムアウトした時、前記問い合わせドメイン名にはIPv6アドレスがないことを示すメッセージAAAA replyを生成し、前記端末に送信することを特徴とする請求項2に記載のDNSプロキシサーバ。
  8. 前記要求処理部が、AAAA requestまたはA requestの送信時に、前記DNSコンテンツサーバの応答時間を計測するためのタイマをスタートし、
    前記A replyを受信した時、前記応答処理部が、上記計測タイマが示す応答時間に応じて、前記IPv6のDNS応答メッセージの待ち時間を決定することを特徴とする請求項6または請求項7に記載のDNSプロキシサーバ。
  9. 前記要求処理部が、AAAA requestまたはA requestの送信時に、前記DNSコンテンツサーバの応答時間を計測するためのタイマをスタートし、
    前記DNSコンテンツサーバからIPv6のDNS応答メッセージもIPv4のDNS応答メッセージも受信することなく、前記応答時間計測用のタイマが予め決められたタイムアウト時間に達した時、前記応答処理部が、IPv6のDNS応答メッセージとして、前記AAAA requestの問い合わせドメイン名がエラーであることを示すNXDOMAINを生成し、これを前記端末に送信することを特徴とする請求項1〜請求項8の何れかに記載のDNSプロキシサーバ。
  10. 前記AAAA requestに対するIPv6のDNS応答メッセージとして、前記DNSコンテンツサーバから、前記問い合わせドメイン名と対応するIPv6アドレスを示すAAAA replyを受信した場合、前記応答処理部が、該AAAA replyを前記端末に送信することを特徴とする請求項1〜請求項9の何れかに記載にDNSプロキシサーバ。
  11. DNSコンテンツサーバから受信したAAAA replyおよびA replyが示す問い合わせドメイン名とIPアドレスとの関係を記憶するキャッシュメモリを備え、
    端末からAAAA requestまたはA requestを受信した時、前記要求処理部が、上記キャッシュメモリを参照し、受信したrequestが示す問い合わせドメイン名と対応するIPアドレスが上記キャッシュメモリに存在した場合は、該IPアドレスを示すDNS応答メッセージを生成して、要求元の端末に送信することを特徴とする請求項1〜請求項9の何れかに記載にDNSプロキシサーバ。
JP2005341725A 2005-11-28 2005-11-28 Dnsサーバ装置 Expired - Fee Related JP4668775B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005341725A JP4668775B2 (ja) 2005-11-28 2005-11-28 Dnsサーバ装置
CNB2006101074864A CN100514927C (zh) 2005-11-28 2006-07-26 Dns服务器装置
US11/494,486 US20070124487A1 (en) 2005-11-28 2006-07-28 DNS server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005341725A JP4668775B2 (ja) 2005-11-28 2005-11-28 Dnsサーバ装置

Publications (2)

Publication Number Publication Date
JP2007150665A true JP2007150665A (ja) 2007-06-14
JP4668775B2 JP4668775B2 (ja) 2011-04-13

Family

ID=38088836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005341725A Expired - Fee Related JP4668775B2 (ja) 2005-11-28 2005-11-28 Dnsサーバ装置

Country Status (3)

Country Link
US (1) US20070124487A1 (ja)
JP (1) JP4668775B2 (ja)
CN (1) CN100514927C (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009130501A (ja) * 2007-11-21 2009-06-11 Hitachi Communication Technologies Ltd 終端装置
JP2012065350A (ja) * 2011-11-24 2012-03-29 Hitachi Ltd 終端装置
JP2013535905A (ja) * 2010-07-28 2013-09-12 中国移▲動▼通信集▲団▼公司 ネットワーク通信の方法および機器
JP2014502434A (ja) * 2010-10-22 2014-01-30 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ネットワークアドレス検索の適応を用いるデータトラフィックの区別された処理
JP2015511415A (ja) * 2011-12-26 2015-04-16 ▲ホア▼▲ウェイ▼技術有限公司 モバイル端末のインターネットアクセスサービスの品質を監視するための方法、デバイス、およびシステム
JP2015220483A (ja) * 2014-05-14 2015-12-07 西日本電信電話株式会社 DNS−Proxy機能を有する中継装置
JP2016140070A (ja) * 2009-12-21 2016-08-04 クゥアルコム・インコーポレイテッドQualcomm Incorporated プリエンプティブ(preemptive)なDNS解決のためのシステムおよび方法

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8079077B2 (en) 2006-08-08 2011-12-13 A10 Networks, Inc. System and method for distributed multi-processing security gateway
US8332925B2 (en) * 2006-08-08 2012-12-11 A10 Networks, Inc. System and method for distributed multi-processing security gateway
US7634562B2 (en) * 2006-10-27 2009-12-15 Cyscape, Inc. Method and apparatus for determining application responsiveness over a network
CN101350841A (zh) * 2007-07-17 2009-01-21 华为技术有限公司 媒体资源访问关系建立方法及通讯***及相关设备
US8935748B2 (en) * 2007-10-31 2015-01-13 Microsoft Corporation Secure DNS query
CN101170585B (zh) * 2007-11-13 2011-08-24 中兴通讯股份有限公司 一种域名查询方法
CN101651720B (zh) * 2008-08-11 2014-05-21 上海可鲁***软件有限公司 一种网络域名的解析方法
US9258269B1 (en) * 2009-03-25 2016-02-09 Symantec Corporation Methods and systems for managing delivery of email to local recipients using local reputations
US8224923B2 (en) 2009-06-22 2012-07-17 Verisign, Inc. Characterizing unregistered domain names
CN101917491A (zh) * 2010-05-20 2010-12-15 中兴通讯股份有限公司 一种提高域名解析效率的方法及终端
EP2638687B1 (en) * 2010-11-08 2016-10-19 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for enabling dns redirection in mobile telecommunication systems
US10270755B2 (en) 2011-10-03 2019-04-23 Verisign, Inc. Authenticated name resolution
US8990356B2 (en) 2011-10-03 2015-03-24 Verisign, Inc. Adaptive name resolution
CN103167045B (zh) * 2011-12-12 2016-05-18 中国电信股份有限公司 选择网络层协议的方法、dns服务器和域名管理***
US9118618B2 (en) 2012-03-29 2015-08-25 A10 Networks, Inc. Hardware-based packet editor
US9596286B2 (en) 2012-05-25 2017-03-14 A10 Networks, Inc. Method to process HTTP header with hardware assistance
US9444779B2 (en) * 2012-06-04 2016-09-13 Microsoft Technology Lincensing, LLC Dynamic and intelligent DNS routing with subzones
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
CN108027805B (zh) 2012-09-25 2021-12-21 A10网络股份有限公司 数据网络中的负载分发
CN103856436B (zh) * 2012-11-28 2017-12-05 中国电信股份有限公司 用户设备选择网络层协议的方法、家庭网关和互联网网络
US20140258491A1 (en) * 2013-03-11 2014-09-11 Bluebox Security Inc. Methods and apparatus for hostname selective routing in dual-stack hosts
US10027761B2 (en) 2013-05-03 2018-07-17 A10 Networks, Inc. Facilitating a secure 3 party network session by a network device
CN103347103B (zh) * 2013-07-23 2016-06-08 网宿科技股份有限公司 实现IPv4和IPv6双网内容分发的***和方法
US10020979B1 (en) 2014-03-25 2018-07-10 A10 Networks, Inc. Allocating resources in multi-core computing environments
US9900281B2 (en) 2014-04-14 2018-02-20 Verisign, Inc. Computer-implemented method, apparatus, and computer-readable medium for processing named entity queries using a cached functionality in a domain name system
US9806943B2 (en) 2014-04-24 2017-10-31 A10 Networks, Inc. Enabling planned upgrade/downgrade of network devices without impacting network sessions
US9332022B1 (en) 2014-07-07 2016-05-03 Symantec Corporation Systems and methods for detecting suspicious internet addresses
US10791085B2 (en) 2015-11-12 2020-09-29 Verisign, Inc. Techniques for directing a domain name service (DNS) resolution process
US10270806B2 (en) * 2015-12-15 2019-04-23 Microsoft Technology Licensing, Llc Defense against NXDOMAIN hijacking in domain name systems
JP6861219B2 (ja) * 2016-03-09 2021-04-21 ダイナミック・ネットワーク・サービシーズ・インコーポレイテッドDynamic Network Services, Inc. インテリジェントドメインネームシステム転送のための方法および装置
CN106101088B (zh) * 2016-06-04 2019-05-24 北京兰云科技有限公司 清洗设备、检测设备、路由设备和防范dns攻击的方法
US10999240B1 (en) 2016-08-31 2021-05-04 Verisign, Inc. Client controlled domain name service (DNS) resolution
US10547636B2 (en) * 2016-12-28 2020-01-28 Verisign, Inc. Method and system for detecting and mitigating denial-of-service attacks
WO2018180767A1 (ja) * 2017-03-31 2018-10-04 日本電気株式会社 中継装置、ネットワークシステムおよびネットワーク制御方法
US11032127B2 (en) 2017-06-26 2021-06-08 Verisign, Inc. Resilient domain name service (DNS) resolution when an authoritative name server is unavailable
US10666603B2 (en) * 2017-07-13 2020-05-26 T-Mobile Usa, Inc. Optimizing routing of access to network domains via a wireless communication network
CN111262958B (zh) * 2020-01-09 2023-02-03 深信服科技股份有限公司 内外网站交互方法、装置、设备及计算机可读存储介质
CN114374669B (zh) * 2022-01-11 2024-04-26 杭州迪普科技股份有限公司 Vpn客户端代理dns解析方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003289340A (ja) * 2002-03-27 2003-10-10 Toshiba Corp 識別子問い合わせ方法、通信端末及びネットワークシステム
JP2004350133A (ja) * 2003-05-23 2004-12-09 Canon Inc 接続制御方法、接続制御プログラム、及び、接続装置
JP2005286948A (ja) * 2004-03-31 2005-10-13 Fujitsu Ltd ネットワーク制御システム及びネットワーク制御方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6016512A (en) * 1997-11-20 2000-01-18 Telcordia Technologies, Inc. Enhanced domain name service using a most frequently used domain names table and a validity code table
US6249813B1 (en) * 1998-08-06 2001-06-19 Mci Communications Corporation Automated method of and apparatus for internet address management
US6351743B1 (en) * 1999-05-26 2002-02-26 Lucent Technologies Inc. Method and apparatus for operating domain name servers
US6442602B1 (en) * 1999-06-14 2002-08-27 Web And Net Computing System and method for dynamic creation and management of virtual subdomain addresses
JP3596400B2 (ja) * 2000-01-21 2004-12-02 日本電気株式会社 Dnsサーバフィルタ
EP1410579B1 (en) * 2000-08-17 2014-02-26 Advanced Network Technology Laboratories Pte Ltd. Method for configuring a computer network
JP4349766B2 (ja) * 2001-12-07 2009-10-21 株式会社日立製作所 アドレス変換装置
KR100453050B1 (ko) * 2002-05-29 2004-10-15 삼성전자주식회사 IPv4/IPv6 통신 방법 및 그 장치
US7526562B1 (en) * 2003-04-11 2009-04-28 Cisco Technology, Inc. Stateful IPv4-IPv6 DNS application level gateway for handling topologies with coexisting IPv4-only, Ipv6-only and dual-stack devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003289340A (ja) * 2002-03-27 2003-10-10 Toshiba Corp 識別子問い合わせ方法、通信端末及びネットワークシステム
JP2004350133A (ja) * 2003-05-23 2004-12-09 Canon Inc 接続制御方法、接続制御プログラム、及び、接続装置
JP2005286948A (ja) * 2004-03-31 2005-10-13 Fujitsu Ltd ネットワーク制御システム及びネットワーク制御方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009130501A (ja) * 2007-11-21 2009-06-11 Hitachi Communication Technologies Ltd 終端装置
JP2016140070A (ja) * 2009-12-21 2016-08-04 クゥアルコム・インコーポレイテッドQualcomm Incorporated プリエンプティブ(preemptive)なDNS解決のためのシステムおよび方法
JP2013535905A (ja) * 2010-07-28 2013-09-12 中国移▲動▼通信集▲団▼公司 ネットワーク通信の方法および機器
JP2014502434A (ja) * 2010-10-22 2014-01-30 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ネットワークアドレス検索の適応を用いるデータトラフィックの区別された処理
US9231867B2 (en) 2010-10-22 2016-01-05 Telefonaktiebolaget L M Ericsson (Publ) Differentiated handling of data traffic with adaptation of network address lookup
JP2012065350A (ja) * 2011-11-24 2012-03-29 Hitachi Ltd 終端装置
JP2015511415A (ja) * 2011-12-26 2015-04-16 ▲ホア▼▲ウェイ▼技術有限公司 モバイル端末のインターネットアクセスサービスの品質を監視するための方法、デバイス、およびシステム
US9398475B2 (en) 2011-12-26 2016-07-19 Huawei Technologies Co., Ltd. Method, device, and system for monitoring quality of internet access service of mobile terminal
JP2015220483A (ja) * 2014-05-14 2015-12-07 西日本電信電話株式会社 DNS−Proxy機能を有する中継装置

Also Published As

Publication number Publication date
US20070124487A1 (en) 2007-05-31
JP4668775B2 (ja) 2011-04-13
CN100514927C (zh) 2009-07-15
CN1976307A (zh) 2007-06-06

Similar Documents

Publication Publication Date Title
JP4668775B2 (ja) Dnsサーバ装置
US7415536B2 (en) Address query response method, program, and apparatus, and address notification method, program, and apparatus
US10284659B2 (en) Hybrid unicast/multicast DNS-based service discovery
US7937471B2 (en) Creating a public identity for an entity on a network
US7558880B2 (en) Dynamic DNS registration method, domain name solution method, DNS proxy server, and address translation device
US7228359B1 (en) Methods and apparatus for providing domain name service based on a client identifier
EP2306689B1 (en) Devices and method for accessing a web server in a local space
US20060056397A1 (en) Access management apparatus, program and remote start-up method of terminal device
US20060031534A1 (en) Position identifier management apparatus and method, mobile computer, and position identifier processing method
US20060153230A1 (en) IPv6 / IPv4 translator
JP2001257720A (ja) Dnsサーバ、dhcpサーバ、端末および通信システム
TW200924462A (en) System and method for connection of hosts behind NATs
US8234358B2 (en) Communicating with an entity inside a private network using an existing connection to initiate communication
US7440466B2 (en) Method, apparatus and system for accessing multiple nodes on a private network
CN114338597B (zh) 一种网络访问方法及装置
Stapp DHCPv6 Bulk Leasequery
US20040153502A1 (en) Enhanced DNS server
WO2001033364A1 (fr) Dispositif pour rechercher le nom d'un noeud de communication dans un reseau de communication
US20110235641A1 (en) Communication apparatus, method of controlling the communication apparatus,and program
JP2004350133A (ja) 接続制御方法、接続制御プログラム、及び、接続装置
JP4889617B2 (ja) ゲートウエイ装置および通信制御方法
JP2009182750A (ja) 複数のネットワークプロトコルに対応した通信システムおよび通信方法
JPH1155319A (ja) IPv4−IPv6通信方法およびIPv4−IPv6変換装置
Kinnear et al. DHCPv4 Bulk Leasequery
KR100761984B1 (ko) 자국어 인터넷주소의 처리방법 및 이를 실행시키기 위한프로그램을 기록한 기록매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081016

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101202

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees