JP6368127B2 - 通信装置、制御方法、及びプログラム - Google Patents

通信装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP6368127B2
JP6368127B2 JP2014080493A JP2014080493A JP6368127B2 JP 6368127 B2 JP6368127 B2 JP 6368127B2 JP 2014080493 A JP2014080493 A JP 2014080493A JP 2014080493 A JP2014080493 A JP 2014080493A JP 6368127 B2 JP6368127 B2 JP 6368127B2
Authority
JP
Japan
Prior art keywords
domain name
length
name
address information
domain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014080493A
Other languages
English (en)
Other versions
JP2015201798A (ja
Inventor
健介 佐野
健介 佐野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014080493A priority Critical patent/JP6368127B2/ja
Priority to US14/677,072 priority patent/US10257153B2/en
Publication of JP2015201798A publication Critical patent/JP2015201798A/ja
Application granted granted Critical
Publication of JP6368127B2 publication Critical patent/JP6368127B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names

Landscapes

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

Description

本発明は、ネットワークにおける名前解決に関する。
近年、TCP/IP通信機能を有する通信端末が数多く存在する。これらの通信端末が通信を行うためには、ネットワーク上で相手方の装置を識別するために各端末に個別のIPアドレスを設定する必要がある。一方、例えば、通信端末を使用するユーザの利便性のため、相手方の装置を特定するのにIPアドレスそのものではなく、そのIPアドレスに対応するドメイン名が用いられることが多い。ドメイン名が用いられる場合、そのドメイン名に対応するIPアドレスが、DNS(Domain Name System)による名前解決によって特定されて通信に使用されることとなる。
通信端末は、ドメイン名を指定して名前解決を要求した結果得られたIPアドレスを、その対応するドメイン名と対応付けてキャッシュ(一時記憶)することができる(非特許文献1参照)。このキャッシュ機能により、通信端末が同じドメイン名について名前解決要求を繰り返すことを防ぎ、名前解決の応答時間を短縮し、又は、ネットワークトラフィックを削減することができる。
RFC 1035 DOMAIN NAMES − IMPLEMENTATION AND SPECIFICATION、[online]、昭和62年11月、[平成26年3月28日検索]、インターネット(URL:http://www.ietf.org/rfc/rfc1035.txt)
名前解決の結果をキャッシュするためには、一定のメモリが確保されている必要がある。このとき、メモリ等の資源が限られている組み込み機器では、キャッシュのために動的にメモリを確保してしまうと、処理負荷の増加や他のアプリケーションで使用できる資源が不足する場合がありうる。このため、名前解決結果のキャッシュのために、予め設定されたサイズのメモリを確保しておくことがある。このとき、ドメイン名をキャッシュするために必要なメモリのサイズは、「ドメイン名の最大長(255文字)×記憶可能であるべきドメイン名の数」となる。しかし、現実的にはドメイン名が255文字あるものは少なく、限られたメモリで動作する組み込み機器において、メモリ資源が浪費される場合があるという課題があった。
本発明は上記課題に鑑みなされたものであり、名前解決結果の一時記憶における記憶容量の浪費を防ぐための技術を提供することを目的とする。
上記目的を達成するため、本発明による通信装置は、ドメイン名を指定することにより、DNS(Domain Name System)サーバに名前解決を要求する要求手段と、前記要求に対する応答であって、前記ドメイン名に対応するアドレス情報を含む前記応答を、前記DNSサーバから受信する受信手段と、前記指定したドメイン名の長さが所定の長さよりも長いか否かを判定する判定手段と、前記指定したドメイン名の長さが所定さよりも長いと前記判定手段により判定されなかった場合に、前記指定ドメインと前記アドレス情報とを対応付けて記憶し、前記指定したドメイン名の長さが所定の長さよりも長いと前記判定手段により判定された場合には、前記受信手段により前記応答を受信した場合であっても、前記指定したドメイン名と前記アドレス情報とを対応付けて記憶しない記憶手段と、を有する。
本発明によれば、名前解決結果の一時記憶における記憶容量の浪費を防ぐことができる。
ネットワーシステムの構成を示す図。 DNSクライアントの機能構成例を示すブロック図。 キャッシュに記憶される内容を示す概念図。 名前解決の要求回数を管理するためのテーブルを示す図。 名前解決処理の流れの例を示すフローチャート。 キャッシュ登録処理の流れの例を示すフローチャート。 キャッシュ登録処理の流れの別の例を示すフローチャート。
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。なお、以下の実施形態は本発明の説明のためのものであり、本発明が以下の実施形態に限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明に必須のものとは限らない。
(ネットワークシステムの構成)
図1は、本実施形態に係るネットワークシステムの構成例を示す図である。本実施形態に係るネットワークシステムは、ネットワークに接続される各機器のドメイン名などの名前解決を行うドメインネームシステムを構成し、例えば、通信装置であるDNSクライアント101、通信の相手装置としてDNSサーバ102を含む。なお、DNSクライアント101は、ネットワーク103を介してDNSサーバとの通信を行う。
DNSクライアント101は、DNSサーバ102に対して、名前(ドメイン名)を指定して、その名前解決を要求する。すなわち、DNSクライアント101は、例えば「aa.com」というドメイン名を指定して名前解決をDNSサーバ102に要求する。DNSサーバは、この要求に対して、例えば、指定されたドメイン名に関連付けられてデータベースに登録された「1.1.1.1」などのIPアドレスを含む情報を、DNSクライアント101に対して送信する。これにより、DNSクライアント101は、指定した「aa.com」に対応するIPアドレス「1.1.1.1」を含む情報を受信し、このIPアドレスを有する機器にアクセスすることが可能となる。
本実施形態に係るDNSクライアント101は、名前解決を要求したドメイン名と、その要求に対するDNSサーバ102からの応答、すなわちIPアドレスとを、関連付けて、自装置内の例えばRAM等に一時記憶(キャッシュ)することができる。これにより、一度名前解決がなされた後のドメイン名について、再度の名前解決を行う必要がなくなるため、そのドメイン名に対応する機器への接続を高速化することができる。
ここで、上述の通り、事前にドメイン名とIPアドレスとをキャッシュするための記憶領域を確保しておく場合、ドメイン名の最大長(255文字)を、記憶可能であるべきドメイン名の数分だけのサイズの記憶領域が確保される。しかしながら、ドメイン名が255文字もの長さを有する頻度は高くはないため、この高くない頻度で起こり得る事象のために、多量の記憶領域が使われないまま確保のみされうる、という問題があった。
このため、本実施形態に係るDNSクライアント101は、ドメイン名が所定長以下である場合に、そのドメイン名と、DNSサーバ102からの応答に含まれるIPアドレスとを関連付けて記憶する。すなわち、DNSクライアント101は、ドメイン名が所定長より長い場合は、基本的にはそのドメイン名を記憶しないようにする。例えば、この所定長を20文字とすれば、255−20=235文字に、記憶可能であるべきドメイン名の数を乗じた分の記憶領域を節約することができる。
ただし、例えば頻繁にアクセスするドメインについて、そのドメイン名の長さが所定長以下でない、という理由のみでキャッシュしないようにすると、そのドメインに対するアクセスが発生するたびに、DNSサーバ102へのアクセスが発生してしまう。このため、DNSクライアント101は、そのようなドメインについても記憶するようにしてもよい。この場合、DNSクライアント101は、長さが所定長以下でなかったドメイン名のそれぞれについて、名前解決をした回数を記憶しておき、その回数が所定回数を超えた場合に、そのドメイン名と、応答として受け取ったIPアドレスとをキャッシュしておく。これにより、頻繁に使用するドメイン名については、その名前の長さによらずキャッシュされるため、DNSサーバ102に対する名前解決の要求が生じないようにすることができる。
同様に、例えば、長さが所定長以下でないあるドメイン名について、名前解決に要する時間が所定時間長を超える場合、そのドメインについての名前解決を再度行うごとに長い時間が必要となることが考えられる。このため、そのようなドメイン名については、その長さによらず、キャッシュしておくことで、名前解決に要する時間を短縮することができる。また、名前解決に要する時間が所定時間長を超える場合であっても、ほとんどそのドメインにアクセスすることがない場合は、キャッシュしておかなくてもよい。すなわち、DNSクライアント101は、例えば、上述のように、名前解決が要求された回数をカウントして、その回数が所定回数以上であると共に、その名前解決に要する時間が所定時間長以上である場合に、そのドメイン名をキャッシュするようにしてもよい。
さらに、DNSクライアント101は、事前に登録されたドメイン名については、その名前の長さによらず、キャッシュするようにしてもよい。これにより、例えば、あるドメインに頻繁にアクセスすることが予め分かっている場合に、上述のような、名前解決の要求回数や、その処理に要する時間によらないで、そのドメイン名をキャッシュしておくことが可能となる。
なお、上述のように、ドメイン名が所定長以下でない場合に、そのドメイン名を記憶する記憶領域は、その長さが所定長以下のドメイン名が記憶される記憶領域とは別に、動的に確保されてもよい。このとき、DNSクライアント101の他の処理等に使用される記憶部が使用されてもよい。所定長以下でないようなドメイン名が発生することは多くないため、DNSクライアント101において、処理負荷の増加や他のアプリケーションで使用する領域が不足する事態は生じにくいと考えられるからである。
以下では、このようなDNSクライアント101の構成例と、その処理の流れの例について、詳細に説明する。
(DNSクライアントの構成例)
図2は、本実施形態に係るDNSクライアント101の機能構成例を示すブロック図である。DNSクライアント101は、例えば、名前受付部201、名前解決要求部202、応答受信部203、名前長判定部204、記憶制御部205及び記憶部206を有する。なお、DNSクライアント101は、オプションとして、要求回数計数部207、応答時間計測部208、事前登録部209を有していてもよい。
DNSクライアント101は、アクセス対象のドメインが取得された場合、まず、記憶部206にそのドメイン名と対応するIPアドレスとが記憶されているかを判定する。この判定において、アクセス対象のドメイン名とIPアドレスとが記憶されていない場合、このドメイン名とIPアドレスとを記憶する処理が行われる。図2の各機能は、主としてこの処理に関するものである。すなわち、図2には、アクセス対象のドメイン名とIPアドレスとが記憶されている場合や名前解決後に行われる、その記憶されているIPアドレスを用いて、そのドメインへのアクセスを行う処理についての機能などは示されていない。このように、本実施形態に係るDNSクライアント101である通信装置は、図2に示される機能の他に、一般的なDNSクライアント及び通信装置としての機能を有する。DNSクライアント101である通信装置は、その他の、例えば組み込み機器としてのアプリケーションなどを実行する機能をも有してもよい。
名前受付部201は、アクセス対象となるドメイン名を受け付ける。名前受付部201は、例えば、DNSクライアント101(通信装置)のユーザからのドメイン名の操作入力を受け付け、又は、DNSクライアント101内のアプリケーションからのドメイン名を受け付ける。なお、名前受付部201は、受け付けたドメイン名が、すでに記憶部206に記憶されているかを判定する機能をも有してもよい。この場合、名前受付部201は、受け付けたドメイン名が記憶部206に記憶されていない場合に、その受け付けたドメイン名を、名前解決要求部202、名前長判定部204、及び記憶制御部205等に入力する。一方、名前受付部201は、受け付けたドメイン名が記憶部206に記憶されている場合は、記憶部206から、記憶されているIPアドレスを取得して、DNSクライアント101の通信を司る機能部へそのIPアドレスを出力してもよい。
名前解決要求部202は、DNSサーバ102に対して、ドメイン名を指定して名前解決を要求する。名前解決要求部202は、例えば、DNSサーバ102に対して名前解決のパケットを送信する。応答受信部203は、DNSサーバ102からの、名前解決の要求に対する応答を受信する。なお、この応答には、名前解決要求において指定されたドメイン名に対応するIPアドレスの情報が含まれる。取得されたIPアドレスの情報は、DNSクライアント101の通信を司る機能部へ出力されると共に、記憶制御部205へ出力される。
名前長判定部204は、名前受付部201で受け付けたドメイン名が、所定長以下であるかを判定する。その判定結果は、記憶制御部205へ入力される。名前長判定部204は、例えば、所定長を7文字とすると、「ddd.com」は7文字であるため、所定長以下であると判定し、一方で、「ddd.co.jp」は9文字であるため、所定長以下でないと判定する。記憶制御部205は、名前長判定部204の判定結果に応じて、名前受付部201で受け付けられたドメイン名の名前長が所定長以下である場合は、そのドメイン名と応答受信部203で受信した応答に含まれるIPアドレスとを記憶部206に記憶させる。すなわち、上述の例では、「ddd.com」については、対応するIPアドレスと共に記憶部206に記憶させ、「ddd.co.jp」については、記憶部206に記憶させない。
記憶部206は、記憶制御部205の制御に応じて、所定長以下の長さのドメイン名とその対応するIPアドレスを記憶する。記憶部206では、例えば図3に示すように、ドメイン名と、その対応するIPアドレスとが記憶される。図3によれば、ドメイン名「aa.com」に対しては、その対応するIPアドレスが「1.1.1.1」であることが分かる。同様に、「bb.com」「c.co.jp」に対応するIPアドレスが、それぞれ「1.1.1.2」「1.1.1.3」であることが分かる。このように、DNSクライアント101の機能を有する通信装置は、この記憶部206を参照することにより、それまでに名前解決がなされたドメイン名についてのIPアドレスを知ることができ、再度の名前解決を省略することができる。
記憶制御部205は、ドメイン名の長さが所定長以下でない場合にも、記憶部206に、ドメイン名とその対応するIPアドレスとを記憶させてもよい。記憶制御部205は、例えば、要求回数計数部207で計数された、1つのドメインについての名前解決が行われた回数が所定回数を超えた場合には、その1つのドメインについての情報を記憶部206に記憶させてもよい。なお、所定回数は、要求回数計数部207において保持されていてもよく、要求回数計数部207は、計数した回数が所定回数を超えた場合に、記憶制御部205にその旨を通知するように構成されてもよい。
なお、要求回数計数部207では、(長さが所定長以下でない)ドメイン名のそれぞれについての、名前解決がなされた回数を記憶するが、このドメイン名をそのまま記憶するのでは、この回数の記憶自体が記憶容量を浪費してしまう場合がある。このため、要求回数計数部207は、ドメイン名をキーとして求めたハッシュ値を、ドメイン名に代えて用いて、そのドメイン名に対応する名前解決の要求回数を記憶する。要求回数計数部207は、例えば、図4に示すように、要求回数が計数されるドメイン名を、ハッシュ値を用いて短縮して保持すると共に、それに対応する、名前解決の要求回数を関連付けて保持する。なお、ここではハッシュ値を用いているが、ドメイン名が短縮されながらも、どのドメインがどの値に対応するかを識別できるような値であれば、どのようなものが用いられてもよい。
また、記憶制御部205は、応答時間計測部208が計測した、あるドメインについて名前解決を要求してからその要求に対する応答を受信するまでの時間が所定時間長を超えた場合、そのドメインについての情報を記憶部206に記憶させてもよい。このとき、応答時間計測部208は、この所定時間長の情報を保持していてもよい。すなわち、応答時間計測部208は、あるドメインについて、要求があってから応答を受信するまでの時間が、保持している所定時間長を超えた場合に、記憶制御部205にその旨を通知するように構成されてもよい。なお、応答時間計測部208は、例えば、名前解決要求部202が名前解決のためのパケットを送信してから、応答受信部203においてそのパケットに対する応答を受信するまでの時間を計測する。
さらに、記憶制御部205は、事前登録部209において事前登録されたドメイン名については、そのドメイン名の長さが所定長以下でなくとも、そのドメインについての情報を記憶部206に記憶させてもよい。なお、このドメイン名の事前登録は、例えばDNSクライアント101の機能を有する通信装置の出荷前、名前受付部201において、ユーザからの特別の指示があった場合など、様々な状況においてなされうる。
なお、記憶部206では、例えば、ドメイン名の長さの基準である所定長に、記憶可能であるべきドメイン名の数を乗じたサイズの記憶領域が、ドメイン名の記憶のために事前に確保される。例えば、所定長が7文字であり、記憶可能であるべきドメインの数が100個である場合は、700文字分の記憶領域が事前に確保される。なお、記憶部206では、ドメイン名の長さが所定長以下でないドメインについては、ドメイン名の長さが所定長以下であるドメイン名が記憶される領域とは異なる記憶領域が動的に確保されてもよい。すなわち、ドメイン名の長さが所定長以下のドメインと、所定長より長いドメインとが、記憶部206の異なる記憶領域に記憶されてもよい。なお、ドメイン名の長さが所定長以下でないドメイン名について記憶する記憶領域を静的に用意しておいてもよい。例えば、所定長以下のドメイン名を記憶するための、所定長×記憶可能であるべきドメイン名の数分のサイズの記憶領域に加えて、255文字分のドメイン名を所定数分だけ記憶するための記憶領域が予め用意されてもよい。この場合でも、全てのドメイン名記憶のための領域を255文字分のサイズで用意するよりは、記憶容量の浪費を抑える効果を得ることができる。
(DNSクライアントの処理例)
続いて、DNSクライアント101が実行する処理の流れについて説明する。図5は、本実施形態に係るDNSクライアント101における名前解決処理の流れを示すフローチャートである。
DNSクライアント101は、まず、名前受付部201において、アクセス対象となるドメイン名を受け付け(S501)、そのドメイン名が記憶部206にキャッシュされているかを判定する(S502)。そして、DNSクライアント101は、受け付けられたドメイン名がキャッシュされている場合(S502でYES)は、キャッシュされているIPアドレスを出力して(S506)、そのまま処理を終了する。その後、DNSクライアント101の機能を有する通信装置は、出力されたIPアドレスを利用してそのドメインへアクセスする。
一方、DNSクライアント101は、ドメイン名がキャッシュされていなかった場合(S502でNO)は、名前解決要求部202において名前解決を要求するパケットを送信し(S503)、応答受信部203においてその応答を受信する(S504)。そして、DNSクライアント101は、受け付けられたドメイン名と応答に含まれるIPアドレスとについて、キャッシュ登録処理を行う(S505)。その後、DNSクライアント101は、その応答に含まれるIPアドレスを出力して(S506)、処理を終了する。その後、DNSクライアント101の機能を有する通信装置は、出力されたIPアドレスを利用してそのドメインへアクセスする。
キャッシュ登録処理の一例について、図6を用いて説明する。本処理は、記憶制御部205において実行される。記憶制御部205は、受け付けられたドメイン名の長さが所定長を超えるかを判定する(S601)。そして、受け付けられたドメイン名の長さが所定長を超える場合は(S601でYES)、そのドメイン名と対応するIPアドレスとをキャッシュに登録することなく処理を終了する。一方、受け付けられたドメイン名の長さが所定長以下である場合は(S601でNO)、そのドメイン名と対応するIPアドレスとをキャッシュに登録する(S602)。すなわち、上述のように、例えば所定長が7文字である場合に、「ddd.com」がアクセス対象として受け付けられた場合は、このドメイン名は7文字であり、所定長以下であるため、その対応するIPアドレスと共に記憶部206に記憶させる。例えば、対応するIPアドレスが「2.2.2.2」である場合は、図3のように、ドメイン名「ddd.com」とIPアドレス「2.2.2.2」とが対応付けられて記憶される。一方、アクセス対象として受け付けられたドメイン名が「ddd.co.jp」である場合は、このドメイン名は9文字であり、所定長を超えるため、記憶制御部205は、このドメイン名については記憶部206に記憶させない。
なお、上述の通り、ドメイン名が所定長を超える場合であっても、そのドメイン名が記憶される場合があってもよい。その場合の記憶制御部205が実行するキャッシュ登録処理の流れの例を、図7に示す。
図7の例では、記憶制御部205は、受け付けられたドメイン名の長さが所定長を超える場合(S601でYES)に、続いて、そのドメイン名について、名前解決が要求された回数が所定回数を超えたかを判定する(S701)。なお、要求回数計数部207が、要求回数が所定回数を超えた場合に通知を行うように構成されている場合は、記憶制御部205は、その通知を受け取ったかを判定するようにしてもよい。そして、記憶制御部205は、名前解決の要求回数が所定回数を超えた場合(S701でYES)、例えば記憶部206において動的に記憶領域を確保し(S704)、アクセス対象のドメイン名と、対応するIPアドレスとをキャッシュに登録する(S602)。
一方、記憶制御部205は、名前解決の要求回数が所定回数以下である場合は、続いて、名前解決が要求されてから応答が受信されるまでの応答時間が所定時間長を超えるかを判定する(S702)。なお、応答時間計測部208が、応答時間が所定時間長を超えた場合に通知を行うように構成されている場合は、記憶制御部205は、その通知を受け取ったかを判定するようにしてもよい。そして、記憶制御部205は、名前解決の要求から応答までに要した時間が所定時間長を超えた場合(S702でYES)、記憶領域を動的に確保して(S704)、アクセス対象のドメイン名と、対応するIPアドレスとをキャッシュに登録する(S602)。
記憶制御部205は、名前解決の要求から応答までに要した時間が所定時間長以下であった場合(S702でNO)は、続いて、アクセス対象のドメイン名が、事前登録部209において事前登録されているかを確認する(S703)。そして、記憶制御部205は、アクセス対象のドメイン名が事前登録されている場合(S703でYES)は、記憶領域を動的に確保して(S704)、アクセス対象のドメイン名と、対応するIPアドレスとをキャッシュに登録する(S602)。一方、記憶制御部205は、アクセス対象のドメイン名が事前登録されていない場合(S703でNO)は、そのドメイン名と、対応するIPアドレスとをキャッシュに登録せずに処理を終了する。
なお、図7の例におけるS701〜S703の各処理は、いずれか1つ又は2つのみが行われてもよく、また、その順序についてもどのような順序であってもよい。すなわち、S701の判定のみが行われ、名前解決の要求回数が所定回数以下のドメイン名については、キャッシュに登録しないように制御してもよい。同様に、S702の判定のみ、又はS703の判定のみが行われてもよく、また、S701とS702、S701とS703、又はS702とS703の2つの判定のみが行われてもよい。さらに、例えば、S703の判定が、S701及びS702より先に行われてもよいし、S702の判定がS701及びS703の判定より先に行われてもよい。
また、S702の判定は、S701の判定において、名前解決の要求が所定回数を超える回数だけ行われたと判定された場合に行われてもよい。また、名前解決の要求回数が第1の所定回数を超えた場合にはS702の判定が行われずにドメイン名がキャッシュされ、要求回数が第1の所定回数以下だが、第2の所定回数(<第1の所定回数)を超える場合はS702の判定が行われるようにしてもよい。そして、これらの場合、要求から応答までの時間が所定時間長を超える場合に、そのドメイン名(及び対応するIPアドレス)がキャッシュされる。
また、逆に、S702の判定の結果、名前解決の要求から応答までの時間が所定時間長を超える場合に、S701の判定が行われてもよい。すなわち、応答を得るまでの時間が所定時間長を超えるドメイン名に限り、その名前解決の要求の回数を計数し、その回数が所定回数を超える場合にキャッシュされるようにしてもよい。なお、上述の場合と同様に、応答を得るまでの時間が第1の所定時間長を超える場合は、要求回数の判定を行わずに、キャッシュにドメイン名を登録してもよい。そして、その時間が第1の所定時間長未満であるが第2の所定時間長(<第1の所定時間長)を超える場合に、名前解決の要求回数の判定を行ってもよい。
このように、本実施形態によれば、DNSクライアントは、各ドメインについて、ドメイン名についての上述の所定長の分だけメモリを確保し、その所定長以下の長さのドメイン名とその対応するIPアドレスのみをキャッシュする。これにより、DNSクライアントは、名前解決結果の一時記憶における記憶容量の浪費を防ぐことができる。また、所定長を超える長さのドメイン名についても、例えばアクセス頻度が高いドメイン、名前解決に長い時間がかかるドメイン、又は事前登録されたドメインについては、記憶されるようにすることで、名前解決の効率を改善することができる。すなわち、不必要に名前解決の要求が出されることを防ぎ、システム全体としての名前解決に関する通信リソースなどの資源の浪費を防ぐことができる。
<<その他の実施形態>>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
202:名前解決要求部、203:応答受信部、204:名前長判定部、205:記憶制御部、206:記憶部

Claims (11)

  1. 通信装置であって、
    ドメイン名を指定することにより、DNS(Domain Name System)サーバに名前解決を要求する要求手段と、
    前記要求に対する応答であって、前記ドメイン名に対応するアドレス情報を含む前記応答を、前記DNSサーバから受信する受信手段と、
    前記指定したドメイン名の長さが所定の長さよりも長いか否かを判定する判定手段と、
    前記指定したドメイン名の長さが所定さよりも長いと前記判定手段により判定されなかった場合に、前記指定ドメインと前記アドレス情報とを対応付けて記憶し、前記指定したドメイン名の長さが所定の長さよりも長いと前記判定手段により判定された場合には、前記受信手段により前記応答を受信した場合であっても、前記指定したドメイン名と前記アドレス情報とを対応付けて記憶しない記憶手段と、
    を有することを特徴とする通信装置。
  2. 前記要求手段が、第1のドメイン名を指定した名前解決を要求した回数を計数する計数手段をさらに有し、
    前記計数手段により計数された前記回数が所定回数を超えた場合、前記記憶手段は、前記第1のドメイン名の長さによらず、前記第1のドメイン名と当該第1のドメイン名に対応するアドレス情報とを対応付けて記憶することを特徴とする請求項1に記載の通信装置。
  3. 前記回数と前記第1のドメイン名を短縮した情報とを関連付けて保持する保持手段をさらに有することを特徴とする請求項2に記載の通信装置。
  4. 記要求手段が第2のドメイン名を指定した名前解決を要求してから前記受信手段が前記応答を受信するまでの時間を計測する計測手段をさらに有し、
    前記記憶手段は、前記時間が所定時間長を超えた場合、前記第2のドメイン名の長さによらず、当該第2のドメイン名と当該第2のドメイン名対応するアドレス情報とを対応付けて記憶することを特徴とする請求項1から3のいずれか1項に記載の通信装置。
  5. 前記記憶手段は、予め登録されたドメイン名について、当該ドメイン名の長さによらず、当該ドメイン名と当該ドメイン名対応するアドレス情報とを記憶することを特徴とする請求項1から4のいずれか1項に記載の通信装置。
  6. 前記記憶手段において、ドメイン名格納する第1の領域はあらかじめ定められていることを特徴とする請求項1から5のいずれか1項に記載の通信装置。
  7. 前記第1の領域は、前記所定の長さと所定の数とを乗じたサイズを有することを特徴とする請求項6に記載の通信装置。
  8. 前記記憶手段において、前記所定より長いドメイン名を記憶するための領域として、前記第1の領域と異なる第2の領域が確保されることを特徴とする請求項6又は7に記載の通信装置。
  9. 前記指定したドメイン名と前記アドレス情報とを対応付けて前記記憶手段が記憶したか否かにかかわらず、前記アドレス情報に基づくアクセスを実行する実行手段をさらに有することを特徴とする請求項1から8のいずれか1項に記載の通信装置。
  10. 通信装置の制御方法であって、
    ドメイン名を指定することにより、DNS(Domain Name System)サーバに名前解決を要求する要求工程と、
    記要求に対する応答であって、前記ドメイン名に対応するアドレス情報を含む前記応答を、前記DNSサーバから受信する受信工程と、
    前記指定したドメイン名の長さが所定の長さよりも長いか否かを判定する判定工程と、
    前記指定したドメイン名の長さが所定さよりも長いと判定されなかった場合に、前記指定ドメインと前記アドレス情報とを対応付けて記憶部に記憶させ、前記指定したドメイン名の長さが所定の長さよりも長いと判定された場合には、前記応答を受信した場合であっても、前記指定したドメイン名と前記アドレス情報とを対応付けて前記記憶部に記憶しないようにする記憶工程と、
    前記指定したドメイン名と前記アドレス情報とを対応付けて前記記憶部が記憶したか否かにかかわらず、前記アドレス情報に基づくアクセスを実行する実行工程と、
    を有することを特徴とする制御方法。
  11. コンピュータを請求項1からのいずれか1項に記載の通信装置が備える各手段として機能させるためのプログラム。
JP2014080493A 2014-04-09 2014-04-09 通信装置、制御方法、及びプログラム Active JP6368127B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014080493A JP6368127B2 (ja) 2014-04-09 2014-04-09 通信装置、制御方法、及びプログラム
US14/677,072 US10257153B2 (en) 2014-04-09 2015-04-02 Communication apparatus, control method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014080493A JP6368127B2 (ja) 2014-04-09 2014-04-09 通信装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2015201798A JP2015201798A (ja) 2015-11-12
JP6368127B2 true JP6368127B2 (ja) 2018-08-01

Family

ID=54266039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014080493A Active JP6368127B2 (ja) 2014-04-09 2014-04-09 通信装置、制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US10257153B2 (ja)
JP (1) JP6368127B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109889616B (zh) * 2018-05-21 2020-06-05 新华三信息安全技术有限公司 一种识别域名的方法及装置
JP7283292B2 (ja) * 2019-07-26 2023-05-30 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システムおよびプログラム
CN115022283A (zh) * 2022-05-24 2022-09-06 中国科学院计算技术研究所 一种支持域名解析的可编程交换机以及网络报文处理方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044791A1 (en) * 2001-05-22 2004-03-04 Pouzzner Daniel G. Internationalized domain name system with iterative conversion
JP3966470B2 (ja) * 2003-03-27 2007-08-29 日本電信電話株式会社 複数のネットワーク接続における名前解決方法及び装置
EP1634423B1 (en) * 2003-06-06 2013-01-02 Computer Associates Think, Inc. System and method for compressing url request parameters
CN1839592A (zh) * 2003-09-11 2006-09-27 富士通株式会社 包中继装置
US7757287B2 (en) * 2004-04-19 2010-07-13 Computer Associates Think, Inc. Systems and methods for computer security
JP2007214671A (ja) * 2006-02-07 2007-08-23 Seiko Epson Corp クライアント装置およびプログラム
CN100502367C (zh) * 2007-04-04 2009-06-17 华为技术有限公司 保存域名系统记录的方法、装置
US20090083413A1 (en) * 2007-09-24 2009-03-26 Levow Zachary S Distributed frequency data collection via DNS
US7996475B2 (en) * 2008-07-03 2011-08-09 Barracuda Networks Inc Facilitating transmission of email by checking email parameters with a database of well behaved senders
WO2011003463A1 (en) * 2009-07-10 2011-01-13 Tomtom International B.V. Data storage system and method
US8862699B2 (en) * 2009-12-14 2014-10-14 Microsoft Corporation Reputation based redirection service
JP5345577B2 (ja) * 2010-02-23 2013-11-20 日本電信電話株式会社 名前解決装置、名前解決方法および名前解決プログラム
US8433700B2 (en) * 2010-09-17 2013-04-30 Verisign, Inc. Method and system for triggering web crawling based on registry data
WO2012094675A2 (en) * 2011-01-07 2012-07-12 Seven Networks, Inc. System and method for reduction of mobile network traffic used for domain name system (dns) queries
JP2012175649A (ja) * 2011-02-24 2012-09-10 Onkyo Corp インターネット放送受信装置
US8601210B2 (en) * 2011-03-28 2013-12-03 Lsi Corporation Cache memory allocation process based on TCPIP network and/or storage area network array parameters
US9608886B2 (en) * 2012-08-26 2017-03-28 At&T Intellectual Property I, L.P. Methods, systems, and products for monitoring domain name servers
US9444916B2 (en) * 2013-08-26 2016-09-13 Seven Networks, Llc Enhanced caching of domain name system (DNS) and reverse DNS queries for traffic management for signaling optimization in a mobile network

Also Published As

Publication number Publication date
JP2015201798A (ja) 2015-11-12
US10257153B2 (en) 2019-04-09
US20150295887A1 (en) 2015-10-15

Similar Documents

Publication Publication Date Title
US11811657B2 (en) Updating routing information based on client location
US11115500B2 (en) Request routing utilizing client location information
US8463915B1 (en) Method for reducing DNS resolution delay
JP5404766B2 (ja) ルーティングをリクエストするための方法とシステム
EP3567881B1 (en) Request routing and updating routing information utilizing client location information
TWI652585B (zh) 遠端查詢訊息的方法及伺服器
KR20110040875A (ko) 네트워크 연산 요소들을 이용한 요청 라우팅
JP6368127B2 (ja) 通信装置、制御方法、及びプログラム
JP2014211758A (ja) キャッシュサーバ装置、キャッシュ制御方法及びキャッシュ制御プログラム
JP6484166B2 (ja) 名前解決装置、名前解決方法及び名前解決プログラム
JP2007214671A (ja) クライアント装置およびプログラム
JP2004297494A (ja) 複数のネットワーク接続における名前解決方法及び装置
JP6058503B2 (ja) 名前解決システム及びキャッシュ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180323

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180706

R151 Written notification of patent or utility model registration

Ref document number: 6368127

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151