JP2015220483A - DNS−Proxy機能を有する中継装置 - Google Patents

DNS−Proxy機能を有する中継装置 Download PDF

Info

Publication number
JP2015220483A
JP2015220483A JP2014100328A JP2014100328A JP2015220483A JP 2015220483 A JP2015220483 A JP 2015220483A JP 2014100328 A JP2014100328 A JP 2014100328A JP 2014100328 A JP2014100328 A JP 2014100328A JP 2015220483 A JP2015220483 A JP 2015220483A
Authority
JP
Japan
Prior art keywords
dns
dns query
response
query
history
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.)
Pending
Application number
JP2014100328A
Other languages
English (en)
Inventor
俊宏 馬場
Toshihiro Baba
俊宏 馬場
元秀 田村
Motohide Tamura
元秀 田村
大畑 博敬
Hirotaka Ohata
博敬 大畑
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.)
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone West Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone West Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, Nippon Telegraph and Telephone West Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014100328A priority Critical patent/JP2015220483A/ja
Publication of JP2015220483A publication Critical patent/JP2015220483A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】デュアルスタック環境で使用される中継装置におけるDNSの名前の解決において、サーバへの問い合わせ回数を減らし、端末側で体感される応答速度を向上させる。【解決手段】IPv4及びIPv6のうちの一方のDNSクエリをLAN側から受信すると、WAN側のDNSサーバへ中継するとともに、上記DNSクエリに対応するIPv4及びIPv6のうちの他方のDNSクエリを生成して上記DNSサーバへ送信し、返答を受け取って名前の解決がされた上記他方のIPアドレスを保持し、LAN側からIPv4及びIPv6のうちの他方のDNSクエリを受信したら、上記IPアドレスをDNSレスポンスとして返答する中継装置を用いる。【選択図】図4

Description

この発明は、ホームゲートウェイなどに用いられる中継装置に関する。
インターネットに接続する端末の利用者はほとんどの場合、通信するサーバのアドレスを、IPアドレスではなくドメイン名(FQDN:Fully Qualified Domain Name)で指定する。FQDNで指定されたアドレスは、DNSサーバに問い合わせて名前の解決を行い、得られたIPアドレス(IPv4、IPv6)によって、当該IPアドレスのサーバと通信する。現在のインターネットはIPv4アドレスとIPv6アドレスが混在しており、端末がDNSサーバに送信する問い合わせであるクエリにはIPv6/AAAAクエリとIPv4/Aクエリとがある。
また、一般家庭や小規模事業者では、端末を直接にインターネットに接続するのではなく、WANとの間にホームゲートウェイとなる中継装置を設けて、その中継装置によって区切られたLANに接続し、上記中継装置を介してインターネットへ接続することが一般的である。DNSの名前の解決にあたっても、端末はWAN上のDNSサーバに直接接続するのではなく、DNSプロキシとして動作する上記中継装置にDNSクエリを送ることがある。この場合、上記中継装置は端末からのDNSクエリをproxyしてDNSサーバへ送り、名前の解決が出来ればIPアドレスを、出来なければNoSuchNameを端末に返送する。
しかし、IPv4アドレスとIPv6アドレスが混在している現在は、それらのうちのどちらかでしか接続できないケースがある。そのため、接続できない方で接続を試みた場合、一旦問い合わせや通信などに失敗するため、待ち時間が発生したり、タイムアウトしてエラーが起こる可能性がある。こういったユーザが感じる不利益を無くすため、種々の方法によりデュアルスタック問題の解決や影響の低減が試みられている。
例えば、特許文献1には、DNSクエリに対するDNSレスポンスを受け取った中継装置が、名前の解決がされたアドレスに対して実際に通信を試みて、実際に応答が得られたアドレスのみを端末に返すことで、エラーを抑制する方法が記載されている。
特開2013−192156号公報
しかしながら、特許文献1のアプローチによると、端末側で体感する応答の確実性は確保できるものの、サーバへの問い合わせ回数が増え、待ち時間が生じることがあった。
そこでこの発明は、デュアルスタック環境で使用される中継装置におけるDNSの名前の解決において、サーバへの問い合わせ回数を減らし、端末側で体感される応答速度を向上させることを目的とする。
この発明は、
IPv4及びIPv6のうちの一方のDNSクエリをLAN側から受信すると、WAN側のDNSサーバへ中継するとともに、上記DNSクエリに対応するIPv4及びIPv6のうちの他方のDNSクエリを生成して上記DNSサーバへ送信し、返答を受け取って名前の解決がされた上記他方のIPアドレスを保持し、
LAN側からIPv4及びIPv6のうちの他方のDNSクエリを受信したら、上記IPアドレスをDNSレスポンスとして返答する中継装置により、上記の課題を解決したのである。
すなわち、上記一方のクエリ(例えばIPv6/AAAA)では名前の解決ができなかった場合、待ち時間経過後に、端末は上記他方のクエリ(例えばIPv4/A)を改めて送出することになる。従来であればこの上記他方のクエリを受信した中継装置は改めてDNSサーバへクエリを中継することになるが、上記一方のクエリを受信した段階で、上記他方のDNSクエリをDNSサーバに送出していれば、この段階で既にDNSサーバからのDNSレスポンスが返ってきており、速やかに端末へ上記他方のクエリに対するレスポンスを返すことができる。
具体的には、次のような構成によりこの発明を実現できる。
LAN側とWAN側とにインターフェースを有し、DNSクエリ及びDNSレスポンスを中継するDNS−proxy部を有する中継装置であって、
IPv4及びIPv6のうちの一方のDNSクエリを受信すると、当該DNSクエリとはIPのバージョンが異なるIPv4及びIPv6のうちの他方のDNSクエリを生成して上記DNS−proxy部へ渡すDNSクエリ変換部を有し、
上記DNS−proxy部は、
上記の他方のDNSクエリに対するDNSサーバからのDNSレスポンスの内容を一時的に記憶部に保持する生成返答一時保持手段と、
上記他方のDNSクエリとドメインとIPのバージョンが同じであるDNSクエリを受信すると、上記生成返答一時保持手段で保持していたDNSレスポンスの内容を、送信元アドレスへと返答するレスポンス即応手段とを実行する
中継装置である。
さらに、第二の発明として、上記の構成に加えて
過去にDNSサーバに名前の解決を問い合わせたドメイン名について、IPv4とIPv6のいずれかでの名前の解決の結果を記録するDNS問合履歴保持部を有し、
上記DNS−proxy部が、
LAN側から受信したDNSクエリについて上記DNS問合履歴保持部を検索して、そのDNSクエリのドメインについて該当するIPバージョンで名前の解決ができなかったか否かの履歴の有無を得る、履歴結果判断手段と、
上記履歴結果判断手段により、当該ドメイン名及び当該IPバージョンのDNSクエリでは名前の解決ができなかった履歴が得られれば、当該DNSクエリに対するNoSuchNameの返答を送信元アドレス宛に生成する履歴返答即応手段とを実行する
中継装置とすると、DNSサーバへの無駄な問い合わせの結果を待つことなく、好適なバージョンでのDNSクエリの送出に切り替えることができるので、端末の体感レスポンスが向上する。
この発明にかかる中継装置を用いることにより、履歴が無い場合でもバージョン違いのIPアドレスについてのDNSサーバへの問い合わせを端末からの要求に先んじて行っているため、端末が改めてDNSクエリを送出したとき、DNSサーバまでの問い合わせを行うまでもなく、中継装置から即座にDNSレスポンスを返すことができるので、端末が体感する即応性が向上する。
また、履歴を用いると、当該バージョンのIPアドレスについてはDNSサーバに問い合わせても無駄な通信になることが予めわかり、これを送出することなく即座に端末に対して回答できない旨を回答できるので、ネットワーク負荷を軽減させるとともに、バージョン違いでのDNSクエリの送出を端末に早めさせる効果があり、これによっても即応性が向上する。
この発明にかかる中継装置の機能ブロックと、周囲とのネットワーク構成を示すブロック図 (a)、(b)DNS問合履歴保持部の例を示すテーブル この発明にかかる中継装置をIPv6優先で使用したときのフロー例図 図3のフロー例図の続き この発明にかかる中継装置が端末からの問合と同じバージョンで履歴を保持していた際のシーケンス例図 この発明にかかる中継装置が端末からの問合に該当するドメインの履歴を保持していない際のシーケンス例図 この発明にかかる中継装置が端末からの問合と異なるバージョンで履歴を保持していた際のシーケンス例図 図7のシーケンスにおいて名前の解決に失敗した際のシーケンス例図
以下、この発明について詳細に説明する。
この発明にかかる中継装置11の機能ブロック図と、LAN13側の端末12、WAN16側のDNSサーバ14、WEBサーバ15との関係図を図1に示す。
LAN13側には端末12がある。LAN13は例えば家庭内ネットワークや小規模事業者内ネットワークなど、大規模通信事業者やプロバイダと契約する個人などが管理するネットワークである。端末12は、パソコンやスマートフォンなどのLAN接続可能な端末であり、中継装置11を通じてWAN16と接続する。
WAN16は、通信事業者ネットワークやインターネットなどであり、プロバイダや通信事業者が管理するDNSサーバ14が少なくとも一基、中継装置11から接続可能に設けられてある。また、DNSの名前を解決することにより端末12がアクセスしようとするWEBサーバ15も設置されている。
中継装置11は、LAN側ネットワークインターフェースとWAN側ネットワークインターフェースを有し、端末12によるWAN16との通信を中継する。DNSに関する名前の解決だけでなく、DHCPサーバなどの一般的ルータ機能を兼ね備えたホームゲートウェイであってもよい。その場合は、中継装置11には図示しないその他の機能を兼ね備える。また、中継装置11は、演算処理を行う制御部と、データを記憶するメモリである記憶部25を有し、これらの環境で実行されるソフトウェア又はハードウェアとして、下記のDNS−proxy部21を始めとする機能を実行する。
上記の記憶部25は揮発性メモリでも不揮発性メモリでもよいが、後述するDNS問合履歴保持部23の記録を一定時間保持できるものである必要がある。
DNS−Proxy部21は、LAN13側の端末12からのDNSクエリを受け付けてDNSレスポンスを返すDNSサーバ機能41と、当該DNSクエリをDNSサーバ14に送出してDNSレスポンスを受け取るDNSリゾルバ機能42とを基本機能として有する。
また、中継装置11は、DNS−proxy部21が受け取ったIPv4及びIPv6のうちの一方のDNSクエリについて、IPのバージョンが異なるIPv4及びIPv6のうちの他方のDNSクエリを生成するDNSクエリ変換部22を有する。IPのバージョンが異なるDNSクエリを生成するとは、すなわち、受け取ったDNSクエリがIPv6であれば、IPv4のDNSクエリを生成し、受け取ったDNSクエリがIPv4であれば、IPv6のDNSクエリを生成することを意味する。この中継装置11が生成した他方のIPのバージョンのDNSクエリを下記で「生成DNSクエリ」と呼ぶことがある。この生成DNSクエリはDNS−proxy部21に渡され、DNS−proxy部21は上記DNSリゾルバ機能42に従い、DNSサーバ14に送る。
ただし、上記生成DNSクエリに対するDNSレスポンスがDNSサーバ14から返ってきたら、中継装置11のDNS−proxy部21は、その内容を一時的に上記記憶部25に保持する生成返答一時保持手段31を実行する。上記生成DNSクエリは端末12から送出されたものではないため、この段階で端末12に送っても意味はなく、同じ内容のDNSクエリが端末12から送信されて来るまで待機する必要があるからである。
一方で、上記の生成DNSクエリに対する応答と並行して、元のDNSクエリに対するDNSレスポンスがDNSサーバ14から返ってくる。これを受けたDNS−proxy部21はDNSサーバ機能41として、元のDNSクエリを送信した端末12宛にこのDNSレスポンスを返答する。このDNSレスポンスによって名前の解決がされれば、端末12はそのままそのアドレスを使ってWEBサーバ15にアクセスすることができる。しかし、このDNSレスポンスがNoSuchNameであったり、通知されたIPアドレスでは直接に接続できなかったりするなどの理由により、WEBサーバ15へのアクセスが出来ない場合は、端末12は改めて、IPのバージョンが異なるDNSクエリを中継装置11に送信することになる。例えば、IPv6でのDNSクエリで名前の解決が出来なかった場合には、改めてIPv4でのDNSクエリを送信することになる。
これに対して、中継装置11のDNS−proxy部21は、上記他方のIPのバージョンのDNSクエリ(生成DNSクエリ)と、ドメイン名及びIPのバージョンが同じであるDNSクエリを受信すると、上記生成返答一時保持手段31で保持していたDNSレスポンスの内容を、送信元アドレスである端末12へと返答するレスポンス即応手段32とを実行する。保持していた結果を即座に返すため、改めてDNSサーバ14に問い合わせてその返答を待つ必要がなく、端末12に対して速やかに名前の解決を提供することができる。なお、改めて送られてきたDNSクエリについては、改めてDNSサーバ14へ中継する必要はない。
さらに、中継装置11は、上記のDNSリゾルバ機能42やDNSクエリ変換部22の実行を管理するために、個々に問い合わせたドメインについて、IPv4及びIPv6のいずれか一方、又は両方で解決できたかを記録する、DNS問合履歴保持部23を有していると好ましい。具体的には、記憶部25の中に、図2(a)や図2(b)のようなテーブルを有するとよい。ここで、最低限記録するのは管理番号と、ドメイン名、いずれのバージョンのIPで名前の解決に失敗したかの情報である。なお、図2(b)に記載のように、「IPv4」と「IPv6」との異なる単独のIPのバージョンのそれぞれについて、名前の解決に失敗したIPのバージョン(図中「×」で表示)だけでなく、名前の解決に成功したIPのバージョン(図中「○」で表示)も記録しておくと、複数の端末12が存在する場合には、それぞれの端末12が優先的に用いるIPのバージョンが異なっている場合でも処理を適切に行えるためより好ましい。なお、図中「―」はまだ成功や失敗の記録が無い状態である。ただし、具体的なIPアドレスをキャッシュして応答に用いようとすると、IPアドレスの変更や負荷分散のためのIPアドレスの分配に対応しきれないため、IPアドレスのキャッシュは使用しない方がよい。名前の解決に失敗したIPのバージョンとして、端末12が優先的に用いるIPのバージョンが登録されてあれば、最初のDNSクエリで応答が得られず名前の解決に失敗してDNSクエリを送信し直す必要があったことを意味する。名前の解決に失敗したIPのバージョンとして、両方のIPのバージョンが登録されていれば、新たにバージョンを変更して送信し直したDNSクエリでも名前の解決ができなかったことを意味する。
DNS問合履歴保持部23のレコード数は記憶部25の容量次第であるが、多すぎると処理が滞り、また、状況が変化して履歴が役に立たなくなることがあるため、適宜古いレコードを削除することが好ましい。例えば、件数に上限を設けて超過した分は古いレコードから順に削除したり、図2のテーブルにさらに問合した日時を記録するレコードとして、一定の保持期間を超過したものから削除するといった方式が挙げられる。
DNS−proxy部21は、これらのレコードからなるテーブルに対し、NoSuchNameであるDNSレスポンスがDNSサーバ14から返ってきたタイミングで、その結果をテーブルに書き込む履歴登録手段33を実行する。
中継装置11がこのDNS問合履歴保持部23を有する場合、DNS−proxy部21は、名前の解決ができないIPのバージョンでのDNSクエリに対して、速やかにNoSuchNameを返すことができる。具体的にはまず、DNS−proxy部21は、LAN13側の端末12から受信したDNSクエリについてDNS問合履歴保持部23を検索して、そのDNSクエリのIPバージョンで名前の解決に失敗した履歴の有無を得る履歴結果判断手段34を実行する。これにより、当該ドメイン名及び当該IPのバージョンのDNSクエリでは名前の解決ができなかった旨の履歴が得られれば、当該DNSクエリに対するNoSuchNameの返答を送信元アドレス宛に生成する履歴返答即応手段35を実行する。これにより、端末12はDNSサーバ14までの問い合わせにかかる時間を省略して、当該バージョンのIPではアクセスできないことを検知し、別バージョンのIPでのDNSクエリ送信に切り替えることができる。
中継装置11の全体の処理としては、DNSクエリを受信したら、これらの履歴結果判断手段34及び履歴返答即応手段35と並行して、当該DNSクエリに対応した生成DNSクエリを生成する生成返答一時保持手段31も実行する。この生成DNSクエリを予めDNSサーバ14に送出しておくことにより、上記の履歴返答即応手段35による応答後に端末12が送出してきたバージョン違いのDNSクエリに対して、速やかなDNSレスポンスの応答が可能となる。
この発明にかかる中継装置11を実施した際の動作フローの例を、図3を用いて説明する。仮に、中継装置11のLAN13側にある端末12は、IPv6を優先的に使用する設定になっているとする。
最初に、LAN13側のインターフェースからDNSクエリを受信する(S101)。初期設定から、IPv6のDNSクエリであるとする。ここで履歴結果判断手段34を実行して、当該DNSクエリに含まれるドメインについてのレコードがDNS問合履歴保持部23にあるか否かを検索する(S102)。無ければS111へ、有ればS131(以降のフローは図4で説明。)へ進む。なお、DNS問合履歴保持部23自体を有しない場合は当然にS111以降のフローとなる。
レコードが無い場合から説明する(S102−履歴無)。DNS−proxy部21はDNSリゾルバ機能42を実行して、DNSサーバ14に受信したDNSクエリと同じバージョンのDNSクエリを送信する(S111)。これと並行して、DNSクエリ変換部が、当該DNSクエリ(ここではIPv6)とIPのバージョンの異なる生成DNSクエリ(ここではIPv4)を生成する(S112)。この生成DNSクエリも、DNS−proxy部21のDNSリゾルバ機能42によりDNSサーバ14へ送信する(S113)。
先に送信したDNSクエリに対するDNSレスポンスが返ってきたら、そのDNSレスポンスで名前の解決がされているか否かを判断する(S114)。名前の解決がされていたら(S114−名前解決完了)、端末12にDNSレスポンスを返して名前の解決が図られる(S115)。
一方、DNSレスポンスで名前の解決がされていなければ(S114−名前解決未完)、履歴登録手段33を実行してDNS問合履歴保持部23へ、当該DNSレスポンスで解決しようとするドメイン名が当該バージョンのIP(ここではIPv6)で名前の解決に失敗した旨を登録した上で(S120)、端末12に対してNoSuchNameを返却する(S121)。これに対して端末12は新たに別バージョンのIPによるDNSクエリ(ここではIPv4)を生成して送信してくるが、それと前後するタイミングで、先の生成DNSクエリ(ここではIPv4)に対する返答がDNSサーバ14から返ってくる(S122)。この結果がNoSuchNameで名前の解決がされていなければ、履歴登録手段33を実行してDNS問合履歴保持部23へ、当該DNSレスポンスで解決しようとするドメイン名が当該バージョンのIP(ここではIPv4)で名前の解決に失敗した旨を登録する(S123)。
なお、S122で受け取るべきDNSサーバからのDNSレスポンスが、DNSクエリ送信からタイムアウトするまで返ってこない場合は、履歴には特に記録することなく、端末12へタイムアウトを通知する(図示せず)。
上記の生成DNSクエリに対するDNSレスポンスを受信した(S122)の段階で、既にLAN13側の端末12から、別バージョンのIPによるDNSクエリ(ここではIPv4)を受信していれば(S124−Yes)、このDNSレスポンスの内容を速やかに端末12へ送信するレスポンス即応手段32を実行する(S115)。既にS122で名前の解決がされたDNSレスポンスを受け取っていたのであれば、これにより端末12はDNSサーバ14のさらなる返答を待たずに名前の解決ができる。また、名前の解決がされなかったDNSレスポンスを受け取っていた場合も、端末12は同じくDNSサーバ14のさらなる返答を待たずに、NoSuchNameである情報を速やかに得ることができる。
S122の段階でまだ別バージョンのIPによるDNSクエリ(ここではIPv4)を受信していなければ(S124−No)そのDNSレスポンスの内容を一時的に記憶部25に保持する生成返答一時保持手段31を実行する(S125)。規定の時間が経過するまで待機し、待機時間中に端末12から別バージョンのIPによるDNSクエリ(ここではIPv4)を受信すれば(S126−Yes)、DNSレスポンスの内容を速やかに端末12へ送信するレスポンス即応手段32を実行する(S115)。規定時間が経過しても端末12からの同一ドメインに対する別バージョンのDNSクエリが送信されてこなければ、DNSレスポンスの内容を破棄する(S127)。
次に、履歴結果判断手段34においてDNS問合履歴保持部23に、当該DNSクエリに対応する、レコードが存在する場合について図4を用いて説明する(S102−履歴有→S131)。この履歴が、当該DNSクエリとは異なるバージョンのIPについてのみ名前の解決が失敗した旨の記録(ここでは「IPv4」)となっていれば(S131−IPv4/Aのみ)、少なくとも当該DNSクエリのバージョン(ここでは「IPv6」)による問い合わせでは、名前の解決に失敗していないことを意味する。これは、先に成功している場合と、未だ問い合わせを行っていない場合の両方が考えられる。このいずれの場合であっても、当該DNSクエリのバージョンでのDNSサーバ14への問い合わせは行うべきであるので、当該DNSクエリをそのままDNSサーバ14へ送信する(S132)。DNSサーバ14からDNSレスポンスが返ってきたら(S133)、名前の解決がされているか否かを確認する。名前の解決に失敗していたら、当該ドメインについて当該バージョンでの問い合わせが失敗した旨のレコードを登録するように履歴登録手段33を実行する(S134)。具体的には、問い合わせのあったバージョン(ここではIPv6)をレコードに追記する。このようなレコードはIPv4とIPv6のどちらでもアクセスできないことを意味する。一方、問い合わせが成功していたら、当該レコードについて上書き登録するように履歴登録手段33を実行する(S134)。具体的にはタイムアウト時刻を更新したり、削除順を最後に移動したりする。その上で中継装置11はDNSサーバ機能41としてDNSレスポンスを端末12に送信する(S135)。
一方、DNS問合履歴保持部23に記録されている、名前の解決に失敗した履歴のバージョンが、元のDNSクエリと同じバージョンのみ(ここではIPv6)である場合は(S131−IPv6/AAAAのみ)、先に行った当該バージョン(ここではIPv6)のDNSクエリでは名前の解決に失敗したことを意味する。そのため、DNSサーバ14にDNSクエリを送るまでもなく、当該DNSクエリに対するNoSuchNameの返答を端末12宛に生成する履歴返答即応手段35を実行し(S141)、DNSサーバ機能41によりこれを端末12へ送信する。これに並行して、DNSクエリ変換部22が、元のDNSクエリとはバージョンの異なる(ここではIPv4)生成DNSクエリを生成してDNS−proxy部21へ渡す(S142)。DNS−proxy部21はDNSリゾルバ機能42により生成DNSクエリをDNSサーバ14へ送信する(S143)。
この後の処理はS122以降と同様である。生成DNSクエリに対するDNSサーバ14からのDNSレスポンスを受けて(S144)保持し、名前の解決ができなかった場合は生成DNSクエリのバージョンで名前の解決を失敗した旨を履歴に登録する履歴登録手段33を実行する(S145)。なおDNSレスポンスで名前の解決がされていた場合は当該レコード(ここではIPv4)について時刻の更新や削除順の移動などの上書き登録を行う。端末12からのバージョンの違うDNSクエリの出し直し(ここではIPv4)を受ければ(S146−Yes,S148−Yes)その内容を端末12に返送する。ただし、こちらのフローではS141において先にNoSuchNameを端末12に送信しているため、次のDNSクエリがS146に間に合う可能性が高くなる。
一方、DNS問合履歴保持部23に記録されている、名前の解決に失敗した履歴が、IPv4とIPv6の両方であった場合は(S131−IPv6/AAAA,IPv4/A)、端末に当該DNSクエリのバージョン(ここではIPv6)でのNoSuchNameのレスポンスを速やかに返す(S151)。さらにその後、端末12から元のDNSクエリとはバージョンの異なる(ここではIPv4)DNSクエリが届いたら(S152)、同じく速やかにNoSuchNameのレスポンスを返す(S153)。いずれの場合もDNSサーバ14への無駄な問い合わせが発生することなく、端末12の待ち時間を最少にすることができる。
次に、実施形態のシーケンス図を用いて各状況におけるフローを説明することで、端末12が得られる待ち時間の短縮効果について説明する。図5のシーケンスではまず、端末12からDNSクエリが送信される(S201)。ここで図中(1)及び(2)はそれぞれIPv4とIPv6のいずれかであることを意味する。仮に(1)がIPv6であれば、(2)はIPv4となる。DNSクエリを受け取った中継装置11はDNS問合履歴保持部23を検索する履歴結果判断手段34を実行する(S202)。ここで名前の解決に失敗した履歴として(1)が記録されていると、過去に(1)で問い合わせて失敗していることになるため、速やかに端末12にNoSuchNameを返す履歴返答即応手段35を実行する(S203)。これに引き続く端末12からの次のクエリ(S206)を待たずに、DNSクエリ変換部22が(2)の生成DNSクエリを生成し(S204)、(2)の生成DNSクエリをDNSサーバ14へ送信する(S205)。この後に端末12から(2)のDNSクエリが送信されてくる(S206)が、このDNSクエリに対応する内容は既にS205でDNSサーバ14に送信済みである。これに前後してDNSレスポンスが返ってくること(S207)で、S205とS206の間の時間が短縮されて、端末12へDNSレスポンスが返答される(S208)。
次に、問い合わせたDNSクエリの履歴がDNS問合履歴保持部23に無い場合における待ち時間の短縮効果を図6のシーケンス図を用いて説明する。まず端末12から(1)のDNSクエリが送信される(S211)。DNSクエリを受け取った中継装置11はDNS問合履歴保持部23を検索する履歴結果判断手段34を実行する(S212)。ここまでは図5のシーケンス図と同じである。ここで当該DNSクエリが問い合わせたドメインについてのレコードが存在しないと、中継装置11は通常のDNS−proxy部21の動作としてDNSリゾルバ機能42を実行してDNSサーバ14に(1)のDNSクエリをそのまま送信する(S213)。その返答を待つ時間と並行して中継装置はDNSクエリ変換部22で、(2)の生成DNSクエリを生成する(S214)。これは、DNSサーバ14からの返答を待たずして、先んじて行う。この後にDNSサーバ14からの(1)のDNSレスポンスが返ってくるが、これがNoSuchNameであった場合(S215)、DNS問合履歴保持部23に(1)での名前の解決が失敗した旨の履歴を登録する履歴登録手段33を実行した上で(S216)、その内容をDNSサーバ機能41としてそのまま端末12に転送する(S217)。このS215〜S217と前後しうるタイミングで、S214にて生成された(2)の生成DNSクエリをDNSサーバ14に送信する(S218)。この後のS219にて端末12から送信されてくる(2)のDNSクエリの到着よりも速くDNSサーバ14に問合をするため、DNSサーバ14から返ってくる(2)のDNSレスポンスの到着(S220)は、S218とS219とのタイムラグ分だけ短縮されることになる。これにより、(2)のDNSレスポンスは速やかに端末12に到着する(S221)。
さらに、問い合わせたDNSクエリの履歴が、(2)のDNSクエリで名前の解決が失敗したとの記録である場合を念のため図7のシーケンス図に示す。この場合は特に時間短縮効果は無く、通常の応答速度で名前の解決がされる(S231〜S235)。
さらに、図7のシーケンスにおいてDNSサーバからの返答で名前の解決がされなかった場合を図8に示す。(1)のDNSクエリでも名前の解決に失敗した場合は(S236)、図6と同様にDNS問合履歴保持部に(2)での名前の解決が失敗した旨の履歴を登録する履歴登録手段33が実行される(S241)。その上でNoSuchNameが端末12に返される(S242)。その後、(2)のDNSクエリが端末12から送信されてくるが(S243)、DNS問合履歴保持部23には(2)での名前の解決が失敗した履歴が記録されているので(S244)、履歴返答即応手段35が実行され、DNSサーバ14への問い合わせを省略してNoSuchNameが端末12に返送される(S245)。
11 中継装置
12 端末
13 LAN
14 DNSサーバ
15 WEBサーバ
16 WAN
21 DNS−proxy部
22 DNSクエリ変換部
23 DNS問合履歴保持部
25 記憶部
31 生成返答一時保持手段
32 レスポンス即応手段
33 履歴登録手段
34 履歴結果判断手段
35 履歴返答即応手段
41 DNSサーバ機能
42 DNSリゾルバ機能

Claims (3)

  1. IPv4及びIPv6のうちの一方のDNSクエリをLAN側から受信すると、WAN側のDNSサーバへ中継するとともに、上記DNSクエリに対応するIPv4及びIPv6のうちの他方のDNSクエリを生成して上記DNSサーバへ送信し、返答を受け取って名前の解決がされた上記他方のIPアドレスを保持し、
    LAN側からIPv4及びIPv6のうちの他方のDNSクエリを受信したら、上記IPアドレスをDNSレスポンスとして返答する中継装置。
  2. LAN側とWAN側とにインターフェースを有し、DNSクエリ及びDNSレスポンスを中継するDNS−proxy部を有する中継装置であって、
    IPv4及びIPv6のうちの一方のDNSクエリを受信すると、当該DNSクエリとはIPのバージョンが異なるIPv4及びIPv6のうちの他方のDNSクエリを生成して上記DNS−proxy部へ渡すDNSクエリ変換部を有し、
    上記DNS−proxy部は、
    上記の他方のDNSクエリに対するDNSサーバからのDNSレスポンスの内容を一時的に記憶部に保持する生成返答一時保持手段と、
    上記他方のDNSクエリとドメイン名及びIPのバージョンが同じであるDNSクエリを受信すると、上記生成返答一時保持手段で保持していたDNSレスポンスの内容を、送信元アドレスへと返答するレスポンス即応手段とを実行する
    中継装置。
  3. 過去にDNSサーバに名前の解決を問い合わせたドメイン名について、IPv4とIPv6のいずれかでの名前の解決の結果を記録するDNS問合履歴保持部を有し、
    上記DNS−proxy部が、
    LAN側から受信したDNSクエリについて上記DNS問合履歴保持部を検索して、そのDNSクエリのドメインについて該当するIPのバージョンで名前の解決ができなかったか否かの履歴の有無を得る履歴結果判断手段と、
    上記履歴結果判断手段により、当該ドメイン名及び当該IPのバージョンのDNSクエリでは名前の解決ができなかった履歴が得られれば、当該DNSクエリに対するNoSuchNameの返答をLAN側の送信元アドレス宛に生成する履歴返答即応手段とを実行する
    請求項2に記載の中継装置。
JP2014100328A 2014-05-14 2014-05-14 DNS−Proxy機能を有する中継装置 Pending JP2015220483A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014100328A JP2015220483A (ja) 2014-05-14 2014-05-14 DNS−Proxy機能を有する中継装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014100328A JP2015220483A (ja) 2014-05-14 2014-05-14 DNS−Proxy機能を有する中継装置

Publications (1)

Publication Number Publication Date
JP2015220483A true JP2015220483A (ja) 2015-12-07

Family

ID=54779582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014100328A Pending JP2015220483A (ja) 2014-05-14 2014-05-14 DNS−Proxy機能を有する中継装置

Country Status (1)

Country Link
JP (1) JP2015220483A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017221919A1 (ja) * 2016-06-24 2017-12-28 日本電気株式会社 通信接続管理装置、ipマルチメディアサブシステム、登録装置、通信接続管理方法、プログラムが記録された記録媒体
WO2018090795A1 (en) * 2016-11-18 2018-05-24 Thomson Licensing Method and device for providing services
JP2018174469A (ja) * 2017-03-31 2018-11-08 西日本電信電話株式会社 Dnsサーバ、dnsサーバにおけるブラックリスト生成方法、dnsサーバに用いるブラックリスト生成プログラム
JP2022097129A (ja) * 2020-12-18 2022-06-30 Necプラットフォームズ株式会社 通信制御装置、通信制御プログラム及び通信制御方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006287416A (ja) * 2005-03-31 2006-10-19 Nec Access Technica Ltd アドレス情報取得装置、アドレス情報取得方法およびアドレス情報取得プログラム
JP2007150665A (ja) * 2005-11-28 2007-06-14 Hitachi Communication Technologies Ltd Dnsサーバ装置
JP2009130501A (ja) * 2007-11-21 2009-06-11 Hitachi Communication Technologies Ltd 終端装置
WO2012053163A1 (ja) * 2010-10-18 2012-04-26 日本電気株式会社 ネームデータベースサーバ、名前解決システム、エントリ検索方法およびエントリ検索プログラム
JP2013192156A (ja) * 2012-03-15 2013-09-26 Nippon Telegraph & Telephone West Corp 中継装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006287416A (ja) * 2005-03-31 2006-10-19 Nec Access Technica Ltd アドレス情報取得装置、アドレス情報取得方法およびアドレス情報取得プログラム
JP2007150665A (ja) * 2005-11-28 2007-06-14 Hitachi Communication Technologies Ltd Dnsサーバ装置
JP2009130501A (ja) * 2007-11-21 2009-06-11 Hitachi Communication Technologies Ltd 終端装置
WO2012053163A1 (ja) * 2010-10-18 2012-04-26 日本電気株式会社 ネームデータベースサーバ、名前解決システム、エントリ検索方法およびエントリ検索プログラム
JP2013192156A (ja) * 2012-03-15 2013-09-26 Nippon Telegraph & Telephone West Corp 中継装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017221919A1 (ja) * 2016-06-24 2017-12-28 日本電気株式会社 通信接続管理装置、ipマルチメディアサブシステム、登録装置、通信接続管理方法、プログラムが記録された記録媒体
WO2018090795A1 (en) * 2016-11-18 2018-05-24 Thomson Licensing Method and device for providing services
JP2018174469A (ja) * 2017-03-31 2018-11-08 西日本電信電話株式会社 Dnsサーバ、dnsサーバにおけるブラックリスト生成方法、dnsサーバに用いるブラックリスト生成プログラム
JP2022097129A (ja) * 2020-12-18 2022-06-30 Necプラットフォームズ株式会社 通信制御装置、通信制御プログラム及び通信制御方法
JP7244106B2 (ja) 2020-12-18 2023-03-22 Necプラットフォームズ株式会社 通信制御装置、通信制御プログラム及び通信制御方法

Similar Documents

Publication Publication Date Title
US7415536B2 (en) Address query response method, program, and apparatus, and address notification method, program, and apparatus
US7558880B2 (en) Dynamic DNS registration method, domain name solution method, DNS proxy server, and address translation device
EP1126682B1 (en) Position identifier management apparatus and method, and position identifier processing method
EP2266064B1 (en) Request routing
US20170142062A1 (en) Network resource identification
US10498694B2 (en) Mapping IPv4 knowledge to IPv6
JP2007207231A (ja) ネットワークにおける分散サービスへのアクセス法
JP2007527068A (ja) 少なくとも2つの計算装置間の接続を設定する際のアドレス及びポート番号アブストラクション
JP2015220483A (ja) DNS−Proxy機能を有する中継装置
JP3770801B2 (ja) 代理サーバ、サーバおよびそれらを実現するプログラムを記録した記録媒体
US7610403B2 (en) Device retrieving a name of a communications node in a communications network
CN115118700B (zh) 一种通信方法及通信系统
JP2004350133A (ja) 接続制御方法、接続制御プログラム、及び、接続装置
CN113839938B (zh) 一种域名接管漏洞的检测方法和装置
JP2010193015A (ja) 通信装置およびその通信方法
JP6014068B2 (ja) 中継装置及び中継方法、並びにコンピュータ・プログラム
JP5800945B1 (ja) DNS−Proxy機能を有する中継装置
JP5889955B2 (ja) 中継装置及びプログラム
JP6529139B2 (ja) Dnsサーバ装置、方法、及びプログラム
JP2005229309A (ja) 通信経路設定装置、通信経路設定方法および通信経路設定プログラム
JP7230593B2 (ja) 中継装置及びプログラム
JP4331638B2 (ja) ネットワーク制御システム及びネットワーク制御方法
JP2008206081A (ja) マルチホーミング通信システムに用いられるデータ中継装置およびデータ中継方法
EP3657741A1 (en) Data packet routing method and data packet routing device
CN116155857A (zh) 一种云内通信方法、装置、系统及设备、介质和产品

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151222