JP2017118248A - 名前解決装置、名前解決方法及び名前解決プログラム - Google Patents

名前解決装置、名前解決方法及び名前解決プログラム Download PDF

Info

Publication number
JP2017118248A
JP2017118248A JP2015249885A JP2015249885A JP2017118248A JP 2017118248 A JP2017118248 A JP 2017118248A JP 2015249885 A JP2015249885 A JP 2015249885A JP 2015249885 A JP2015249885 A JP 2015249885A JP 2017118248 A JP2017118248 A JP 2017118248A
Authority
JP
Japan
Prior art keywords
address
response
dns query
source
group
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
JP2015249885A
Other languages
English (en)
Other versions
JP6484166B2 (ja
Inventor
晃就 難波
Akinari Namba
晃就 難波
雅晴 服部
Masaharu Hattori
雅晴 服部
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2015249885A priority Critical patent/JP6484166B2/ja
Publication of JP2017118248A publication Critical patent/JP2017118248A/ja
Application granted granted Critical
Publication of JP6484166B2 publication Critical patent/JP6484166B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】クライアント端末に事前設定を必要とせず、検索回数及びメモリ使用量を削減できる名前解決装置、名前解決方法及び名前解決プログラムを提供すること。【解決手段】DNSサーバ1は、DNSクエリの送信元となり得る送信元IPアドレスを、所定のビット列以外が共通のグループに分割し、当該グループ毎に、送信元IPアドレスのそれぞれと応答IPアドレスとの対応付けレコードが記述されたゾーンファイル32を記憶する記憶部30と、受信したDNSクエリの送信元IPアドレスが属するグループに対応するゾーンファイル32から、対応付けレコードを読み込み、応答IPアドレスを、所定のビット列で表現される数値範囲に対応付けた1次元配列として展開する読込部12と、1次元配列から、DNSクエリの送信元IPアドレスにおける所定のビット列が表す数値に対応する位置にある応答IPアドレスを特定する特定部13と、を備える。【選択図】図2

Description

本発明は、DNS(Domain Name System)クエリに応答する名前解決装置、名前解決方法及び名前解決プログラムに関する。
IoT(Internet of Things)の普及により、PC(Personal Computer)及びスマートフォン等の人が利用する端末だけでなく、センサ等の多数のM2M(Machine to Machine)デバイスがクライアント端末としてインターネットに接続されることが予想される。
このような状況において、集中配備されたデータセンタ等によりサービスを提供する従来のクラウドコンピューティング環境では、トラフィック負荷の増大が問題となる。そこで、多数のクライアント端末が配備される現場の近くに分散配備されたエッジサーバで処理を行い、トラフィック及びクライアント端末への応答時間を削減させるコンピューティング技術として、モバイルエッジコンピューティングが提案されている。
モバイルエッジコンピューティングに求められる条件として、クライアント端末からのリクエストに対して、クライアント端末に近いエッジサーバで処理し応答するために、処理したいパケットの宛先をエッジサーバのIPアドレスとするルーティング(ローカルブレイクアウト)を行なう必要がある。ローカルブレイクアウトの手法は、以下の3つが挙げられる。
手法1は、クライアント端末に専用アプリケーションをインストールし、かつ、エッジサーバに専用のネットワーク機器を設置することにより、クライアント端末から直接エッジサーバを指定して、機器上で指定されたパケットをエッジサーバにルーティングする手法である。
手法2は、エッジサーバ側にローカルDNS(Domain Name System)サーバを配置し、クライアント端末にAPN(Access Point Name)を事前設定してローカルDNSサーバを指定することにより、エッジサーバのIPアドレスを宛先としてDNS名前解決させ、エッジサーバにルーティングする手法である。
手法3は、既設のDNSサーバを利用して、エッジサーバのIPアドレスを宛先としてDNS名前解決させ、エッジサーバにルーティングする手法である。
ここで、ユーザの利便性を考慮すると、クライアント端末に専用アプリケーション又は事前設定が不要な手法3が最も有効な手法と言える。ところが、手法3では、DNSサーバへ各エッジサーバのIPアドレスを登録する必要があるため、エッジサーバの台数が増加すると、DNSサーバのDNSレコードが増加する。そして、DNSレコードが増加すると、名前解決の際に掛かるDNSレコードの検索回数及びメモリ使用量が増加する。
特許文献1には、DNSレコードにおいて、DNSクエリの送信元IPアドレスを8ビット区切表記から10進数表記に変換(例えば、192.168.1.0を3232235776へ変換)し、ハッシュ探索することでDNSレコードの検索回数を削減する手法が提案されている。
特開2011−103613号公報
特許文献1の手法では、ハッシュ探索によってDNSレコードの検索回数を1回に削減できる。しかしながら、このときのメモリ使用量は、1レコード当たりの8Byte(送信元IPアドレス4Byte+応答IPアドレス4Byte)が必要なため、DNSレコード数が増加するに従って増大(例えば、1000000レコードに対して8000KByte)していた。
本発明は、クライアント端末に事前設定を必要とせず、検索回数及びメモリ使用量を削減できる名前解決装置、名前解決方法及び名前解決プログラムを提供することを目的とする。
本発明に係る名前解決装置は、DNSクエリの送信元となり得る送信元IPアドレスを、所定のビット列以外が共通のグループに分割し、当該グループ毎に、前記送信元IPアドレスのそれぞれと応答IPアドレスとの対応付けレコードが記述されたゾーンファイルを記憶する第1記憶部と、前記DNSクエリを受信する受信部と、受信された前記DNSクエリの送信元IPアドレスが属するグループに対応する前記ゾーンファイルから、前記対応付けレコードを読み込み、前記応答IPアドレスを、前記所定のビット列で表現される数値範囲に対応付けた1次元配列として展開する読込部と、前記1次元配列から、前記DNSクエリの送信元IPアドレスにおける前記所定のビット列が表す数値に対応する位置にある前記応答IPアドレスを特定する特定部と、特定された前記応答IPアドレスを、前記DNSクエリに対する応答として送信する送信部と、を備える。
前記名前解決装置は、前記グループ毎の前記送信元IPアドレスの範囲、及び当該グループに対応する前記ゾーンファイルを規定した設定ファイルを記憶する第2記憶部を備えてもよい。
前記所定のビット列は、最下位のセクションであってもよい。
前記名前解決装置は、受信された前記DNSクエリの送信元IPアドレスが前記グループのいずれにも属さない場合、前記DNSクエリを、前記対応付けレコードを除くDNSレコードを用いて名前解決する標準名前解決部を備えてもよい。
本発明に係る名前解決方法は、コンピュータがDNSクエリに応答する名前解決方法であって、前記コンピュータは、DNSクエリの送信元となり得る送信元IPアドレスを、所定のビット列以外が共通のグループに分割し、当該グループ毎に、前記送信元IPアドレスのそれぞれと応答IPアドレスとの対応付けレコードが記述されたゾーンファイルを記憶する第1記憶部にアクセスし、前記DNSクエリを受信する受信ステップと、受信された前記DNSクエリの送信元IPアドレスが属するグループに対応する前記ゾーンファイルから、前記対応付けレコードを読み込み、前記応答IPアドレスを、前記所定のビット列で表現される数値範囲に対応付けた1次元配列として展開する読込ステップと、前記1次元配列から、前記DNSクエリの送信元IPアドレスにおける前記所定のビット列が表す数値に対応する位置にある前記応答IPアドレスを特定する特定ステップと、特定された前記応答IPアドレスを、前記DNSクエリに対する応答として送信する送信ステップと、を実行する。
本発明に係る名前解決プログラムは、コンピュータがDNSクエリに応答するための名前解決プログラムであって、前記コンピュータに、DNSクエリの送信元となり得る送信元IPアドレスを、所定のビット列以外が共通のグループに分割し、当該グループ毎に、前記送信元IPアドレスのそれぞれと応答IPアドレスとの対応付けレコードが記述されたゾーンファイルを記憶する第1記憶部にアクセスさせ、前記DNSクエリを受信する受信ステップと、受信された前記DNSクエリの送信元IPアドレスが属するグループに対応する前記ゾーンファイルから、前記対応付けレコードを読み込み、前記応答IPアドレスを、前記所定のビット列で表現される数値範囲に対応付けた1次元配列として展開する読込ステップと、前記1次元配列から、前記DNSクエリの送信元IPアドレスにおける前記所定のビット列が表す数値に対応する位置にある前記応答IPアドレスを特定する特定ステップと、特定された前記応答IPアドレスを、前記DNSクエリに対する応答として送信する送信ステップと、を実行させる。
本発明によれば、クライアント端末に事前設定を必要とせず、検索回数及びメモリ使用量を削減できる。
実施形態に係るサービス提供システムの構成を示す図である。 実施形態に係るDNSサーバの機能構成を示す図である。 実施形態に係る設定ファイルの一例を示す図である。 実施形態に係るゾーンファイルの一例を示す図である。 実施形態に係る初期設定処理を示すフローチャートである。 実施形態に係る応答IPアドレスの1次元配列の例を示す図である。 実施形態に係る名前解決処理を示すシーケンス図である。 実施形態に係る名前解決方法によるDNSレコードの検索回数及びメモリ使用量を、従来の方法と比較して示す図である。
以下、本発明の実施形態の一例について説明する。
図1は、本実施形態に係るDNSサーバ1(名前解決装置)を含むサービス提供システム100の構成を示す図である。
サービス提供システム100は、DNSサーバ1と、クライアント端末2と、エッジサーバ3と、クラウドサーバ4とを備える。
DNSサーバ1は、クライアント端末2からDNSクエリを受信し、送信元IPアドレスに基づいて、ドメイン名からエッジサーバ3のいずれか又はクラウドサーバ4のIPアドレスへの名前解決を行い、結果をDNSレスポンスとして返信する。
クライアント端末2は、Webアクセス等に必要なFQDN(Fully Qualified Domain Name)を含んだDNSクエリを送信し、DNSサーバ1から得られるDNSレスポンスに応じて、指定されたエッジサーバ3又はクラウドサーバ4にアクセスすることにより、所定のサービスの提供を受ける。
エッジサーバ3は、クライアント端末2のある現場近くに設置される複数のサーバ群である。エッジサーバ3のそれぞれには、クラウドサーバ4と同様のアプリケーションが実装され、特定範囲のIPアドレスを持つクライアント端末2は、DNSサーバ1により指定されたエッジサーバ3にアクセスする。
クラウドサーバ4は、クライアント端末2へ所定のサービスを提供するためデータセンタ等に設置されるサーバである。DNSサーバ1によりいずれのエッジサーバ3も選択されない場合、このクラウドサーバ4がデフォルトのアクセス先として指定される。
図2は、本実施形態に係るDNSサーバ1の機能構成を示す図である。
DNSサーバ1は、プラグイン処理部10及び標準処理部20を含む制御部(CPU)と、記憶部30とを備える。
プラグイン処理部10は、記憶部30に格納されたプラグインアプリケーション(名前解決プログラム)を制御部が実行することにより機能する。
標準処理部20は、記憶部30に格納された標準アプリケーションを制御部が実行することにより機能する。この標準アプリケーションは、DNSサーバ1による標準的な名前解決機能を実現するためのプログラムであり、例えば、DNS Bindソフトウェアである。
なお、プラグイン処理部10及び標準処理部20の詳細な機能は後述する。
記憶部30は、ハードウェア群をDNSサーバ1として機能させるための各種プログラム、及び各種データ等を記憶する。具体的には、記憶部30は、標準アプリケーション及びプラグインアプリケーションの他、双方のアプリケーションから参照される設定ファイル31及びゾーンファイル32を記憶する。
設定ファイル31は、DNSクエリの送信元となり得る送信元IPアドレスを、所定のビット列以外が共通のグループに分割し、グループ毎の送信元IPアドレスの範囲、及び各グループに対応するゾーンファイル32を規定する。
ゾーンファイル32には、グループに含まれる送信元IPアドレスのそれぞれと、応答IPアドレスとの対応付けレコードが記述される。
ここで、記憶部30に格納される設定ファイル31及びゾーンファイル32の初期設定について詳述する。
図3は、本実施形態に係る設定ファイル31の一例を示す図である。
まず、プラグイン処理部10により名前解決する送信元IPアドレスのグループを範囲指定するために、ACL(Access Control List)コードが記載される。範囲指定は、CIDR(Classless Inter−Domain Routing)表記に従い、ACLコードは、標準的なDNSの文法に従う。
例えば、送信元IPアドレスとして「10.10.10.0〜10.10.10.255」を指定する場合、ACL名「edge−abc1」に対して「10.10.10.0/24」が記載される。
なお、ACL名は、ACLステートメント内で重複しない任意の文字列が設定される。
次に、ACLコードで範囲指定されたグループに対応するゾーンファイル32を指定するために、VIEW制御コードが記載される。
例えば、VIEW名「global1」に対して、ACL名「edge−abc1」が記載され、さらに、名前解決する対象のドメイン名(例えば、「example.jp」)と、参照するDNSレコードが記述されたゾーンファイル32のファイル名(例えば、「abc.example.jp1.zone」)とが記載される。
ここで、ACLコードは、送信元IPアドレスのグループ毎に複数設定される。グループ内のIPアドレスは、第4オクテットのみが異なり、256以下のクライアント端末が属する。
また、VIEWコードは、ALCコードで設定されたグループ毎、名前解決する対象のドメイン毎に複数設定される。
図4は、本実施形態に係るゾーンファイル32の一例を示す図である。
この例は、図3の設定ファイル31におけるVIEW名「global1」に対応するゾーンファイル32の例である。
DNSレコードは、ホスト名に対するIPアドレスを記述したAレコードに加えて、送信元IPアドレスと応答IPアドレスとの対応付けがTXTレコードとして、グループに属するクライアント端末の数だけ記載される。
例えば、ホスト名「abc」に対して、送信元IPアドレス「10.10.10.53」と、応答IPアドレスとしてのエッジサーバ3のIPアドレス「11.11.11.76」とが連結して記載される。
図5は、本実施形態に係るDNSサーバ1における初期設定処理を示すフローチャートである。
本処理は、DNSサーバ1の管理者による操作入力に応じて実行される。
ステップS1において、DNSサーバ1は、設定ファイル31へACLコードを追加する。
ステップS2において、DNSサーバ1は、設定ファイル31へVIEWコードを追加する。
ステップS3において、DNSサーバ1は、送信元IPアドレス及びドメイン名の追加があるか否かを判定する。この判定がYESの場合、処理はステップS1に戻り、判定がNOの場合、処理はステップS4に移る。
ステップS4において、DNSサーバ1は、ゾーンファイルへTXTレコードを追加する。
ステップS5において、DNSサーバ1は、送信元IPアドレス及び応答IPアドレスの追加があるか否かを判定する。この判定がYESの場合、処理はステップS4に戻り、判定がNOの場合、処理はステップS5に移る。
ステップS6において、DNSサーバ1は、プラグイン処理部10及び標準処理部20においてDNSクエリを受信するための監視ポートを、衝突が発生しないように別々に設定する。具体的には、DNSサーバ1がDNSクエリを受信するポート番号である53番がプラグイン処理部10(プラグインアプリケーション)に割り当てられ、未使用の特定ポート(例えば、50000番)が標準処理部20(標準アプリケーション)に割り当てられる。
プラグイン処理部10は、応答制御部11(受信部、送信部)と、読込部12と、特定部13とを備えることにより、クライアント端末2から受信するDNSクエリを、プラグインの名前解決処理又は標準の名前解決処理に分岐させ、いずれかの処理結果を応答する。
応答制御部11は、クライアント端末2からDNSクエリを受信すると、送信元IPアドレスに基づいて、このDNSクエリを特定部13又は標準処理部20へ転送する。
具体的には、応答制御部11は、受信したDNSクエリのFQDN及び送信元IPアドレスと、読込部12により読み込まれる設定ファイル31とを照合する。応答制御部11は、対応するACLコード及びVIEWコードがある場合、DNSクエリを特定部13に提供し、対応するACLコード及びVIEWコードがない場合、DNSクエリを標準処理部20へ特定ポート(例えば、50000番)により転送する。
また、応答制御部11は、特定部13又は標準処理部20によって名前解決された応答IPアドレスを受け取り、DNSクエリに対するDNS応答としてクライアント端末2へ送信する。
読込部12は、記憶部30から設定ファイル31を読み込み、応答制御部11へ提供する。
また、読込部12は、応答制御部11により受信したDNSクエリの送信元IPアドレスが属するグループに対応するゾーンファイル32から、送信元IPアドレスと応答IPアドレスとが対応付けられたTXTレコードを読み込み、応答IPアドレスを1次元配列として展開する。
具体的には、読込部12は、設定ファイル31のうち、対応するACLコード及びVIEWコードが応答制御部11で判定されると、このVIEWコードに記載されたゾーンファイル32を読み込む。
このとき、送信元IPアドレスの最下位のセクションである第4オクテットのビット列で表現される数値(0〜255)の順に、応答IPアドレスを1次元配列としてメモリに展開する。
読込部12は、プラグインアプリケーションの起動時にファイル群を読み込まず、DNSクエリを受信した際に必要なデータを読み込む。したがって、プラグイン処理部10は、必要なデータのみを効率良く取得できると共に、たとえ標準処理部20によりファイル群のいずれかが更新された場合にも最新の設定情報を利用できる。
図6は、本実施形態に係るプラグイン処理部10においてメモリ上に展開される応答IPアドレスの1次元配列の例を示す図である。
送信元IPアドレスのホスト部、すなわち第4オクテットの8ビットで表現される数値0〜255を配列番号として、それぞれに対応する応答IPアドレスが1次元配列として並べられる。
例えば、送信元IPアドレス「10.10.10.53」に対しては、配列番号53の位置に応答IPアドレス「11.11.11.76」が配置されている。
特定部13は、1次元配列から、DNSクエリの送信元IPアドレスにおける第4オクテットのビット列が表す数値に対応する位置にある応答IPアドレスを特定し、応答制御部11へ提供する。
標準処理部20は、読込部21と、標準名前解決部22とを備えることにより、DNSクエリに対して、標準の名前解決処理の結果を応答する。
読込部21は、標準アプリケーションが起動されたタイミングで、記憶部30から設定ファイル31及びゾーンファイル32を読み込み、標準名前解決部22へ提供する。
標準名前解決部22は、プラグイン処理部10からDNSクエリを受信すると、読込部21により読み込まれた設定ファイル31、及びゾーンファイル32のDNSレコードに基づいて名前解決し、応答IPアドレスをプラグイン処理部10へ提供する。
このとき、標準名前解決部22は、ゾーンファイル32に含まれるDNSレコードのうち、初期設定処理で追加されたTXTレコードを除くAレコードに基づいて応答IPアドレスを抽出する。
図7は、本実施形態に係るDNSサーバ1による名前解決処理を示すシーケンス図である。
ステップS11において、DNSサーバ1は、記憶部30のファイル群(設定ファイル31及びゾーンファイル32)の初期設定を行う。
ステップS12において、DNSサーバ1は、プラグインアプリケーション及び標準アプリケーションを起動する。
ステップS13において、DNSサーバ1(プラグイン処理部10)は、クライアント端末2からDNSクエリを受信する。
ステップS14において、DNSサーバ1(プラグイン処理部10)は、記憶部30から設定ファイル31を読み込む。
ステップS15において、DNSサーバ1(プラグイン処理部10)は、受信したDNSクエリの送信元IPアドレスに対応するACLコード及びVIEWコードが設定ファイル内にあるか否かを判定する。この判定がYESの場合、処理はステップS16に移り、判定がNOの場合、処理はステップS17に移る。
ステップS16において、DNSサーバ1(プラグイン処理部10)は、記憶部30のゾーンファイル32からTXTレコードを読み込んで名前解決し、送信元IPアドレスに対応する応答IPアドレスを特定する。その後、処理はステップS20に移る。
ステップS17において、DNSサーバ1(プラグイン処理部10)は、DNSクエリを標準処理部20へ転送する。
ステップS18において、DNSサーバ1(標準処理部20)は、記憶部30から読み込んだ設定ファイル31及びゾーンファイル32のAレコードに基づいて名前解決し、応答IPアドレスを特定する。
ステップS19において、DNSサーバ1(標準処理部20)は、応答IPアドレスをプラグイン処理部10へ応答する。
ステップS20において、DNSサーバ1(プラグイン処理部10)は、応答IPアドレスをクライアント端末2へ応答する。
本実施形態によれば、DNSサーバ1は、送信元IPアドレスをグループ分けし、グループ毎に応答IPアドレスを、送信元IPアドレスの所定のビット列を配列番号とした1次元配列に展開する。
これにより、DNSサーバ1は、送信元IPアドレスに基づいて1回の検索で容易にエッジサーバ3のIPアドレスを特定できると共に、メモリ使用量を所定のビット列で表現できる数(例えば、8ビットなら256個)のIPアドレスの配列分に低減できる。
また、クライアント端末2は、事前設定を必要とせず、従来と同様のDNSクエリをDNSサーバ1に送信することにより、エッジサーバ3のIPアドレスを得られるので、エッジサーバ3を用いたサービス提供システム100の実装が容易になる。
図8は、本実施形態に係る名前解決方法によるDNSレコードの検索回数及びメモリ使用量を、従来の方法と比較して示す図である。
従来の処理方法A(特許文献1)では、ハッシュ探索によってDNSレコードの検索回数を1回に削減できるが、このときのメモリ使用量は、1レコード当たり8Byte(送信元IPアドレス4Byte+応答IPアドレス4Byte)で、DNSレコード数が増加するに従って増大(例えば、1000000レコードに対して8000KByte)していた。
これに対して、本実施形態の処理方法Bでは、DNSレコードの検索回数が1回に低減されると共に、メモリ使用量は、DNSレコードの数によらず一定で、約1KByteに低減される。具体的には、メモリ使用量は、配列番号となる送信元IPアドレスのホスト部(1Byte)と応答IPアドレス(4Byte)とが配列数(256)だけ必要であり、「256×(1Byte+4Byte)=1.28KByte」となる。
DNSサーバ1は、特にIPアドレスの利用範囲が限られたネットワーク(例えば、モバイルネットワーク)においては、分割されるグループの数を抑えられるため、初期設定の量も抑制できることから、検索回数及びメモリ使用量の削減による処理負荷の低減が顕著となる。
また、DNSサーバ1は、既存の設定ファイル31の仕様におけるACLコード及びVIEWコードを用いて、グループ毎の送信元IPアドレスの範囲、及びグループに対応するゾーンファイルを規定するので、既存システムに対する改変が抑えられ、容易にサービス提供システム100が実現される。
また、DNSサーバ1は、送信元IPアドレスの最下位のセクションである第4オクテットを配列番号としてグループを形成するので、対応付けが簡便であり、かつ、グループ内のIPアドレスの数を適度に抑えることができる。
また、DNSサーバ1は、初期設定されたグループのいずれにも属さないIPアドレスからDNSクエリを受信した場合には、既存の標準処理部20に転送することにより、標準の名前解決処理を実行できる。このように、プラグイン処理部10が上乗せで実装されることにより、既存の名前解決装置を容易に改変して本実施形態のDNSサーバ1が実現できる。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
本実施形態では、IPアドレスのバージョンをIPv4として説明したが、これには限られず、IPv6でもよい。IPv6の場合、配列番号となる所定のビット列は、最下位の第8セクションであってよい。
また、プラグイン処理部10は、設定ファイル31及びゾーンファイル32を、読込部12により記憶部30から直接読み込むこととしたが、これには限られない。例えば、プラグイン処理部10は、標準処理部20へ要求することによりデータを取得し、記憶部30のファイル群に対するインタフェースを統一してもよい。
DNSサーバ1による制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(DNSサーバ1)にインストールされる。また、これらのプログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータ(DNSサーバ1)に提供されてもよい。
1 DNSサーバ(名前解決装置)
2 クライアント端末
3 エッジサーバ
4 クラウドサーバ
10 プラグイン処理部
11 応答制御部(受信部、送信部)
12 読込部
13 特定部
20 標準処理部
21 読込部
22 標準名前解決部
30 記憶部(第1記憶部、第2記憶部)
31 設定ファイル
32 ゾーンファイル
100 サービス提供システム

Claims (6)

  1. DNSクエリの送信元となり得る送信元IPアドレスを、所定のビット列以外が共通のグループに分割し、当該グループ毎に、前記送信元IPアドレスのそれぞれと応答IPアドレスとの対応付けレコードが記述されたゾーンファイルを記憶する第1記憶部と、
    前記DNSクエリを受信する受信部と、
    受信された前記DNSクエリの送信元IPアドレスが属するグループに対応する前記ゾーンファイルから、前記対応付けレコードを読み込み、前記応答IPアドレスを、前記所定のビット列で表現される数値範囲に対応付けた1次元配列として展開する読込部と、
    前記1次元配列から、前記DNSクエリの送信元IPアドレスにおける前記所定のビット列が表す数値に対応する位置にある前記応答IPアドレスを特定する特定部と、
    特定された前記応答IPアドレスを、前記DNSクエリに対する応答として送信する送信部と、を備える名前解決装置。
  2. 前記グループ毎の前記送信元IPアドレスの範囲、及び当該グループに対応する前記ゾーンファイルを規定した設定ファイルを記憶する第2記憶部を備える請求項1に記載の名前解決装置。
  3. 前記所定のビット列は、最下位のセクションである請求項1又は請求項2に記載の名前解決装置。
  4. 受信された前記DNSクエリの送信元IPアドレスが前記グループのいずれにも属さない場合、前記DNSクエリを、前記対応付けレコードを除くDNSレコードを用いて名前解決する標準名前解決部を備える請求項1から請求項3のいずれかに記載の名前解決装置。
  5. コンピュータがDNSクエリに応答する名前解決方法であって、
    前記コンピュータは、DNSクエリの送信元となり得る送信元IPアドレスを、所定のビット列以外が共通のグループに分割し、当該グループ毎に、前記送信元IPアドレスのそれぞれと応答IPアドレスとの対応付けレコードが記述されたゾーンファイルを記憶する第1記憶部にアクセスし、
    前記DNSクエリを受信する受信ステップと、
    受信された前記DNSクエリの送信元IPアドレスが属するグループに対応する前記ゾーンファイルから、前記対応付けレコードを読み込み、前記応答IPアドレスを、前記所定のビット列で表現される数値範囲に対応付けた1次元配列として展開する読込ステップと、
    前記1次元配列から、前記DNSクエリの送信元IPアドレスにおける前記所定のビット列が表す数値に対応する位置にある前記応答IPアドレスを特定する特定ステップと、
    特定された前記応答IPアドレスを、前記DNSクエリに対する応答として送信する送信ステップと、を実行する名前解決方法。
  6. コンピュータがDNSクエリに応答するための名前解決プログラムであって、
    前記コンピュータに、DNSクエリの送信元となり得る送信元IPアドレスを、所定のビット列以外が共通のグループに分割し、当該グループ毎に、前記送信元IPアドレスのそれぞれと応答IPアドレスとの対応付けレコードが記述されたゾーンファイルを記憶する第1記憶部にアクセスさせ、
    前記DNSクエリを受信する受信ステップと、
    受信された前記DNSクエリの送信元IPアドレスが属するグループに対応する前記ゾーンファイルから、前記対応付けレコードを読み込み、前記応答IPアドレスを、前記所定のビット列で表現される数値範囲に対応付けた1次元配列として展開する読込ステップと、
    前記1次元配列から、前記DNSクエリの送信元IPアドレスにおける前記所定のビット列が表す数値に対応する位置にある前記応答IPアドレスを特定する特定ステップと、
    特定された前記応答IPアドレスを、前記DNSクエリに対する応答として送信する送信ステップと、を実行させるための名前解決方法。
JP2015249885A 2015-12-22 2015-12-22 名前解決装置、名前解決方法及び名前解決プログラム Active JP6484166B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015249885A JP6484166B2 (ja) 2015-12-22 2015-12-22 名前解決装置、名前解決方法及び名前解決プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015249885A JP6484166B2 (ja) 2015-12-22 2015-12-22 名前解決装置、名前解決方法及び名前解決プログラム

Publications (2)

Publication Number Publication Date
JP2017118248A true JP2017118248A (ja) 2017-06-29
JP6484166B2 JP6484166B2 (ja) 2019-03-13

Family

ID=59231260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015249885A Active JP6484166B2 (ja) 2015-12-22 2015-12-22 名前解決装置、名前解決方法及び名前解決プログラム

Country Status (1)

Country Link
JP (1) JP6484166B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018037900A (ja) * 2016-08-31 2018-03-08 Kddi株式会社 名前解決装置、名前解決システム、名前解決方法及び名前解決プログラム
JP2019041266A (ja) * 2017-08-25 2019-03-14 日本電信電話株式会社 通信システム及び方法
CN112910919A (zh) * 2021-02-26 2021-06-04 北京百度网讯科技有限公司 解析方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005318653A (ja) * 2005-06-20 2005-11-10 Nec Corp 名前解決サーバおよびパケット転送装置
JP2008206081A (ja) * 2007-02-22 2008-09-04 Furukawa Electric Co Ltd:The マルチホーミング通信システムに用いられるデータ中継装置およびデータ中継方法
US20120124184A1 (en) * 2010-11-16 2012-05-17 Edgecast Networks, Inc. Discrete Mapping for Targeted Caching

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005318653A (ja) * 2005-06-20 2005-11-10 Nec Corp 名前解決サーバおよびパケット転送装置
JP2008206081A (ja) * 2007-02-22 2008-09-04 Furukawa Electric Co Ltd:The マルチホーミング通信システムに用いられるデータ中継装置およびデータ中継方法
US20120124184A1 (en) * 2010-11-16 2012-05-17 Edgecast Networks, Inc. Discrete Mapping for Targeted Caching

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
渡瀬 圭市: "ドメイン名と名前解決がわかる DNS完全マスター講座", NETWORK MAGAZINE 第7巻 第10号, vol. 第7巻, JPN6019002387, 1 October 2002 (2002-10-01), JP *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018037900A (ja) * 2016-08-31 2018-03-08 Kddi株式会社 名前解決装置、名前解決システム、名前解決方法及び名前解決プログラム
JP2019041266A (ja) * 2017-08-25 2019-03-14 日本電信電話株式会社 通信システム及び方法
CN112910919A (zh) * 2021-02-26 2021-06-04 北京百度网讯科技有限公司 解析方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP6484166B2 (ja) 2019-03-13

Similar Documents

Publication Publication Date Title
US9143389B2 (en) Methods, appratuses, and computer program products for determining a network interface to access a network resource
JP5587732B2 (ja) ドメイン・ネーム・サービス(dns)データベースへのアクセスを管理するコンピュータ実施方法、コンピュータ・プログラム、およびシステム
CN108270882B (zh) 域名的解析方法和装置、存储介质、电子装置
EP2769307B1 (en) Answer augmentation system for authoritative dns servers
US9515988B2 (en) Device and method for split DNS communications
CN107360184B (zh) 终端设备认证方法和装置
US9554276B2 (en) System and method for on the fly protocol conversion in obtaining policy enforcement information
US11025584B2 (en) Client subnet efficiency by equivalence class aggregation
KR101857511B1 (ko) 가상 머신 마이그레이션을 판정하는 방법 및 장치
US9485140B2 (en) Automatic proxy setting modification
US10778636B2 (en) Dynamic credential based addressing
JP6484166B2 (ja) 名前解決装置、名前解決方法及び名前解決プログラム
CN111010460A (zh) 域名解析方法和装置
WO2013120315A1 (zh) 域名信息的处理方法、无线路由器和客户端
CN101945053B (zh) 一种报文的发送方法和装置
KR101748302B1 (ko) 공통 anqp 그룹 버전을 이용한 anqp 질의 시스템 및 방법
CN109218265B (zh) 四层分布式拒绝服务攻击检测方法及装置
EP2647179B1 (en) Service access apparatus, method, computer program and computer program product for selective initiation of communication
JP2015201798A (ja) 通信装置、制御方法、及びプログラム
CN114301872A (zh) 基于域名的访问方法及装置、电子设备、存储介质
US20150295886A1 (en) System for identifying current internet protocol address for a remote computing device
KR20190053336A (ko) 사물 인터넷 네트워크 내 디바이스 인증 방법 및 시스템
JP6487870B2 (ja) 名前解決装置、名前解決方法及び名前解決プログラム
JP5413940B2 (ja) シンクライアントネットワーク、シンクライアント、不正接続防止装置、これらの動作方法、及び記録媒体
WO2021108993A1 (en) Systems and methods for load control of domain name system server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190215

R150 Certificate of patent or registration of utility model

Ref document number: 6484166

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150