特許第6381038号(P6381038)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECプラットフォームズ株式会社の特許一覧

特許6381038通信制御装置、通信システム、名前解決方法及びプログラム
<>
  • 特許6381038-通信制御装置、通信システム、名前解決方法及びプログラム 図000002
  • 特許6381038-通信制御装置、通信システム、名前解決方法及びプログラム 図000003
  • 特許6381038-通信制御装置、通信システム、名前解決方法及びプログラム 図000004
  • 特許6381038-通信制御装置、通信システム、名前解決方法及びプログラム 図000005
  • 特許6381038-通信制御装置、通信システム、名前解決方法及びプログラム 図000006
  • 特許6381038-通信制御装置、通信システム、名前解決方法及びプログラム 図000007
  • 特許6381038-通信制御装置、通信システム、名前解決方法及びプログラム 図000008
  • 特許6381038-通信制御装置、通信システム、名前解決方法及びプログラム 図000009
  • 特許6381038-通信制御装置、通信システム、名前解決方法及びプログラム 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6381038
(24)【登録日】2018年8月10日
(45)【発行日】2018年8月29日
(54)【発明の名称】通信制御装置、通信システム、名前解決方法及びプログラム
(51)【国際特許分類】
   H04L 12/70 20130101AFI20180820BHJP
【FI】
   H04L12/70 100Z
   H04L12/70 B
【請求項の数】4
【全頁数】16
(21)【出願番号】特願2015-63739(P2015-63739)
(22)【出願日】2015年3月26日
(65)【公開番号】特開2016-184840(P2016-184840A)
(43)【公開日】2016年10月20日
【審査請求日】2016年7月8日
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】青島 敦
【審査官】 衣鳩 文彦
(56)【参考文献】
【文献】 米国特許第07426576(US,B1)
【文献】 特開2007−251818(JP,A)
【文献】 山田 竜也 他,現在の名前解決システムの課題と汎用名前解決エンジンの提案,情報処理学会研究報告,日本,2002年10月18日,第2002巻,第95号,p.25〜30
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/70
(57)【特許請求の範囲】
【請求項1】
第1のDNSサーバ及び第2のDNSサーバへ、名前解決要求メッセージを送信する通信部と、
前記名前解決要求メッセージに対する前記第1のDNSサーバの応答状況に応じて、前記第1のDNSサーバの異常を判定する状態監視部と、を備え、
前記状態監視部は、
前記第1のDNSサーバ及び前記第2のDNSサーバのいずれかに異常が発生していると判定した場合、正常なDNSサーバから、第3のDNSサーバのアドレス情報を取得し、
前記通信部は、
前記状態監視部において、異常が発生していると判定された前記第1のDNSサーバへ名前解決要求メッセージを送信することより、前記第2のDNSサーバへ名前解決要求メッセージを送信することを優先し、前記状態監視部において、前記第1のDNSサーバ及び前記第2のDNSサーバのいずれかに異常が発生していると判定した場合、前記正常なDNSサーバ及び前記第3のDNSサーバへ、名前解決要求メッセージを送信する、通信制御装置。
【請求項2】
第1のDNSサーバと、
第1のDNSサーバと異なる第2のDNSサーバと、
前記第1および第2のDNSサーバサーバと異なる第3のDNSサーバと、
前記第1のDNSサーバ及び前記第2のDNSサーバを用いて名前解決処理を実行する通信制御装置と、を備え、
前記通信制御装置は、
前記第1のDNSサーバ及び前記第2のDNSサーバへ、名前解決要求メッセージを送信する通信部と、
前記名前解決要求メッセージに対する前記第1のDNSサーバの応答状況に応じて、前記第1のDNSサーバの異常を判定する状態監視部と、を有し、
前記状態監視部は、
前記第1のDNSサーバ及び前記第2のDNSサーバのいずれかに異常が発生していると判定した場合、正常なDNSサーバから、前記第3のDNSサーバのアドレス情報を取得し、
前記通信部は、
前記状態監視部において、異常が発生していると判定された前記第1のDNSサーバへ名前解決要求メッセージを送信することより、前記第2のDNSサーバへ名前解決要求メッセージを送信することを優先し、前記状態監視部において、前記第1のDNSサーバ及び前記第2のDNSサーバのいずれかに異常が発生していると判定した場合、前記正常なDNSサーバ及び前記第3のDNSサーバへ、名前解決要求メッセージを送信する、通信システム。
【請求項3】
第1のDNSサーバ及び第2のDNSサーバへ、名前解決要求メッセージを送信し、
前記名前解決要求メッセージに対する前記第1のDNSサーバの応答状況に応じて、前記第1のDNSサーバの異常を判定し、
異常が発生していると判定された前記第1のDNSサーバへ名前解決要求を送信することより、前記第2のDNSサーバへ前記名前解決要求メッセージを送信することを優先し、前記第2のDNSサーバから、第3のDNSサーバのアドレス情報を取得し、
前記第2のDNSサーバ及び前記第3のDNSサーバへ、名前解決要求メッセージを送信する、名前解決方法。
【請求項4】
第1のDNSサーバ及び第2のDNSサーバへ、名前解決要求メッセージを送信し、
前記名前解決要求メッセージに対する前記第1のDNSサーバの応答状況に応じて、前記第1のDNSサーバの異常を判定し、
異常が発生していると判定された前記第1のDNSサーバへ名前解決要求を送信することより、前記第2のDNSサーバへ前記名前解決要求メッセージを送信することを優先し、前記第2のDNSサーバから、第3のDNSサーバのアドレス情報を取得し、
前記第2のDNSサーバ及び前記第3のDNSサーバへ、名前解決要求メッセージを送信する、ことをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は通信制御装置、通信システム、名前解決方法及びプログラムに関し、例えば複数のDNSサーバを用いる通信制御装置、通信システム、名前解決方法及びプログラムに関する。
【背景技術】
【0002】
通信装置がインターネットを利用してWebサーバへアクセスする場合、WebブラウザのIPアドレスを取得するために、DNS(Domain Name System)を利用した名前解決処理が行われる。DNSサーバの障害等に備えて、通信装置は、複数のDNSサーバを利用することができる。通信装置は、DNSを利用した名前解決処理を行う場合、複数のDNSサーバ、例えば、プライマリDNSサーバ及びセカンダリDNSサーバへ、名前解決処理の実行を要求するメッセージを送信する。通信装置は、プライマリDNSサーバ及びセカンダリDNSサーバの少なくとも一方から受信したIPアドレス情報を用いて、Webサーバへアクセスする。
【0003】
特許文献1には、ウェブサーバが一時的にダウン等しており、ウェブクライアントが、ウェブサーバから情報を受信することができない場合の動作が記載されている。具体的には、ウェブサーバは、ウェブクライアントからの要求に対応することができない場合、エラーメッセージを送信する代わりにウェブサーバが停止していること等を知らせるためのページを作成して、ウェブクライアントへウェブサーバが停止していることを通知することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−259338号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
プライマリDNSサーバとセカンダリDNSサーバを利用することができる環境において、プライマリDNSサーバに障害が発生したとしても、通信装置は、セカンダリDNSサーバから送信されるIPアドレス情報を用いて、Webサーバへアクセスすることができる。しかし、一般的に、通信装置は、プライマリDNSサーバに障害が発生した後の名前解決処理においても、プライマリDNSサーバ及びセカンダリDNSサーバへ名前解決処理の実行を要求する。
【0006】
また、特許文献1に記載されているように、装置が停止していることを示すページを用いて、装置が停止していることを周知する場合においても、停止している装置へアクセスする必要がある。そのため、特許文献1に記載されている処理をDNSサーバに障害が発生した場合に実行しても、障害が発生しているプライマリDNSサーバに対して、負荷がかかり続け、プライマリDNSサーバの障害からの復旧が困難になるという問題が発生する。
【0007】
本発明の目的は、通信装置が利用することができる複数のDNSサーバのうち一部のDNSサーバに障害が発生した場合に、障害が発生したDNSサーバの負荷を軽減することができる通信制御装置、通信システム、名前解決方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0008】
本発明の第1の態様にかかる通信制御装置は、第1のDNSサーバ及び第2のDNSサーバへ、名前解決要求メッセージを送信する通信部と、前記名前解決要求メッセージに対する前記第1のDNSサーバの応答状況に応じて、前記第1のDNSサーバの異常正常性を判定する状態監視部と、を備え、前記通信部は、前記状態監視部において、異常が発生していると判定されたDNSサーバへ名前解決要求メッセージを送信することより、前記第2のDNSサーバへ名前解決要求メッセージを送信することを優先するものである。
【0009】
本発明の第2の態様にかかる通信システムは、第1のDNSサーバと、第1のDNSサーバと異なる第2のDNSサーバと、前記第1のDNSサーバ及び前記第2のDNSサーバを用いて名前解決処理を実行する通信制御装置と、を備え、前記通信制御装置は、前記第1のDNSサーバ及び前記第2のDNSサーバへ、名前解決要求メッセージを送信する通信部と、前記名前解決要求メッセージに対する前記第1のDNSサーバの応答状況に応じて、前記第1のDNSサーバの異常を判定する状態監視部と、を有し、前記通信部は、前記状態監視部において、異常が発生していると判定された前記第1のDNSサーバへ名前解決要求を送信することより前記第2のDNSサーバへ前記名前解決要求メッセージを送信することを優先するものである。
【0010】
本発明の第3の態様にかかる名前解決方法は、第1のDNSサーバ及び第2のDNSサーバへ、名前解決要求メッセージを送信し、前記名前解決要求メッセージに対する前記第1のDNSサーバの応答状況に応じて、前記第1のDNSサーバの異常を判定し、異常が発生していると判定された前記第1のDNSサーバへ名前解決要求を送信することより、前記第2のDNSサーバへ前記名前解決要求メッセージを送信することを優先するものである。
【0011】
本発明の第4の態様にかかるプログラムは第1のDNSサーバ及び第2のDNSサーバへ、名前解決要求メッセージを送信し、前記名前解決要求メッセージに対する前記第1のDNSサーバの応答状況に応じて、前記第1のDNSサーバの異常を判定し、異常が発生していると判定された前記第1のDNSサーバへ名前解決要求を送信することより、前記第2のDNSサーバへの前記名前解決要求メッセージの送信を優先することをコンピュータに実行させるものである。
【発明の効果】
【0012】
本発明により、通信装置が利用することができる複数のDNSサーバのうち一部のDNSサーバに障害が発生した場合に、障害が発生したDNSサーバの負荷を軽減することができる通信制御装置、通信システム、名前解決方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0013】
図1】実施の形態1にかかる通信制御装置の構成図である。
図2】実施の形態2にかかる通信システムの構成図である。
図3】実施の形態2にかかるホームゲートウェイの構成図である。
図4】実施の形態2にかかる名前解決処理の流れを示す図である。
図5】実施の形態2にかかるホームゲートウェイの状態遷移を説明する図である。
図6】実施の形態3にかかるホームゲートウェイの構成図である。
図7】実施の形態4にかかる名前解決処理の流れを示す図である。
図8】実施の形態5にかかる名前解決処理の流れを示す図である。
図9】実施の形態6にかかる名前解決処理の流れを示す図である。
【発明を実施するための形態】
【0014】
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1を用いて本発明の実施の形態1にかかる通信制御装置の構成例について説明する。通信制御装置1は、DNSサーバ4及びDNSサーバ5を用いて名前解決処理を実行する。また、通信制御装置1は、プロセッサがメモリに格納されているプログラムを実行することによって動作するコンピュータ装置であってもよい。
【0015】
通信制御装置1は、状態監視部2及び通信部3を有している。状態監視部2及び通信部3は、プロセッサがメモリに格納されているプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。また、状態監視部2及び通信部3は、回路等によって行為されてもよい。
【0016】
通信部3は、DNSサーバ4及びDNSサーバ5へ、名前解決要求メッセージを送信する。通信部3は、名前解決要求メッセージへ、アクセスするWebサーバ等のホスト名を設定してもよい。
【0017】
状態監視部2は、通信部3によって送信された名前解決要求メッセージに対するDNSサーバ4及びDNSサーバ5の応答状況に応じて、DNSサーバ4及びDNSサーバ5の正常性を判定する。もしくは、状態監視部2は、名前解決要求メッセージに対するDNSサーバ4の応答状況に応じて、DNSサーバ4の異常を判定する。DNSサーバ4及びDNSサーバ5の応答状況とは、例えば、DNSサーバ4及びDNSサーバ5がどのような応答メッセージを送信するか、もしくは、DNSサーバ4及びDNSサーバ5から応答メッセージを受信したか、等であってもよい。
【0018】
例えば、DNSサーバ4及びDNSサーバ5は、ホスト名が設定された名前解決要求メッセージを受信すると、正常であれば、ホスト名に関連付けられたIPアドレス情報を設定した応答メッセージを通信制御装置1へ送信する。
【0019】
しかし、DNSサーバ4及びDNSサーバ5は、異常が発生している場合、通信制御装置1へ、エラーメッセージを送信する、応答メッセージを送信するまでの時間が長い、もしくは、エラーメッセージ及び応答メッセージを送信することができない、等の事象が発生する。
【0020】
そのため、状態監視部2は、DNSサーバ4及びDNSサーバ5の応答状況を確認することによって、DNSサーバ4及びDNSサーバ5の正常性を判定することができる。
【0021】
ここで、状態監視部2において、DNSサーバ4及びDNSサーバ5のいずれかに異常が発生していると判定された場合の通信部3の動作について説明する。ここでは、DNSサーバ4に異常が発生していると判定されたとする。DNSサーバ4に異常が発生しているとは、例えば、DNSサーバ4に障害が発生したこと、DNSサーバ4が輻輳状態であること、もしくは、通信制御装置1とDNSサーバ4との間の通信経路に障害が発生したこと等の事象を含んでもよい。
【0022】
通信部3は、状態監視部2においてDNSサーバ4に異常が発生していると判定された場合、所定期間、DNSサーバ4へ名前解決要求メッセージを送信することなく、正常であるDNSサーバ5へ名前解決要求メッセージを送信する。所定期間は、例えば、通信制御装置1の管理者等によって任意に設定された期間であってもよく、任意のタイミングに変更可能な期間であってもよい。つまり、通信部3は、異常が発生しているDNSサーバ4へ名前解決要求メッセージを送信することよりも、DNSサーバ5へ名前解決要求メッセージを送信することを優先する。
【0023】
以上説明したように、図1の通信制御装置1は、最初にDNSサーバ4及びDNSサーバ5へ名前解決要求メッセージを送信した後、DNSサーバ4に異常が発生していると判定した場合、その後の名前解決要求メッセージをDNSサーバ5のみへ送信する。そのため、異常が発生しているDNSサーバ4へは、通信制御装置1から名前解決要求メッセージは送信されることがないため、異常が発生しているDNSサーバ4に負荷がかかり続けることを防止することができる。
【0024】
(実施の形態2)
続いて、図2を用いて本発明の実施の形態2にかかる通信システムの構成例について説明する。図2の通信システムは、HGW(ホームゲートウェイ)11、PC(Personal Computer)12、DNSサーバ13、DNSサーバ14及びWebサーバ15を有している。また、HGW11、DNSサーバ13、DNSサーバ14及びWebサーバ15は、インターネット網16を介して通信を行う。PC12は、例えば、インターネット網16に接続しないローカルネットワークを介してHGW11と通信を行ってもよく、ケーブル等を利用して物理的にHGW11と接続して、通信を行ってもよい。
【0025】
HGW11は、図1の通信制御装置1に相当する。DNSサーバ13及びDNSサーバ14は、図1のDNSサーバ4及びDNSサーバ5に相当する。例えば、HGW11は、DNSサーバ13をプライマリDNSサーバとし、DNSサーバ14をセカンダリDNSサーバとして利用してもよい。
【0026】
続いて、図3を用いて本発明の実施の形態2にかかるHGW11の構成例について説明する。HGW11は、LAN(Local Area Network)インタフェース111、WAN(Wide Area Network)インタフェース112、Proxy DNS制御部211、DNSリゾルバ処理部212及び状態監視部213を有している。状態監視部213は、図1の状態監視部2に相当するため、図1と同様の内容については詳細な説明を省略する。
【0027】
LANインタフェース111は、例えばイーサネット(登録商標)等を介して、PC12と通信を行うために用いられるインタフェースである。WANインタフェース112は、例えば、光回線等を介してインターネット網16へ接続し、DNSサーバ13及びDNSサーバ14と通信を行うために用いられるインタフェースである。WANインタフェース112は、図1の通信部3に相当する。
【0028】
Proxy DNS制御部211は、PC12から送信されたDNS問い合わせに関するメッセージを受信する。さらに、Proxy DNS制御部211は、受信したDNS問い合わせに関するメッセージをDNSリゾルバ処理部212へ出力する。
【0029】
DNSリゾルバ処理部212は、PC12が指定したホスト名に関する名前解決処理を実行するために、DNSサーバ13及びDNSサーバ14へ、DNS Queryメッセージを送信する。もしくは、DNSリゾルバ処理部212は、状態監視部213におけるDNSサーバ13及びDNSサーバ14の正常性判定結果に応じて、DNSサーバ13及びDNSサーバ14のいずれかにDNS Queryメッセージを送信する。
【0030】
DNSリゾルバ処理部212は、送信したDNS Queryメッセージへの応答メッセージとして、DNS Answerメッセージを受信する。DNSリゾルバ処理部212は、DNS Queryメッセージを送信したこと及びDNS Answerメッセージを受信したことを、状態監視部213へ通知する。
【0031】
状態監視部213は、DNSリゾルバ処理部212がDNS Queryメッセージを送信してからDNS Answerメッセージを送信するまでの待ち時間を計測する。状態監視部213は、計測した時間に基づいてDNSサーバ13及びDNSサーバ14の状態を判定する。状態監視部213は、判定結果に応じて、DNSリゾルバ処理部212へ、使用するDNSサーバを通知する。状態監視部213は、例えば、予め定められた時間を定めた閾値を超えてDNS Answerメッセージを受信した場合、もしくは、DNS Answerメッセージを受信しない場合、DNSサーバに異常が発生していると判定してもよい。
【0032】
続いて、図4を用いて本発明の実施の形態2にかかる名前解決処理の流れについて説明する。本図においては、DNSサーバ13に障害が発生していることを前提とする。
【0033】
はじめに、PC12は、HGW11へDNS Queryメッセージを送信する(S11)。DNS Queryメッセージには、PC12が通信を行うWebサーバ15のホスト名もしくはドメイン名等が設定されている。HGW11は、Proxy DNS制御部211にてDNS Queryメッセージを受信すると、受信したDNS QueryメッセージをDNSリゾルバ処理部212へ出力する。
【0034】
次に、HGW11のDNSリゾルバ処理部212は、インターネット網16上のDNSサーバ13及びDNSサーバ14に対して名前解決の問い合わせを行う。具体的には、HGW11のDNSリゾルバ処理部212は、DNSサーバ13及びDNSサーバ14へ、DNS Queryメッセージを送信する(S12及びS13)。
【0035】
ここで、DNSサーバ13には障害が発生しているため、DNSサーバ13は、DNS Queryメッセージに対する応答メッセージを送信することができない。そのため、HGW11は、DNSサーバ14からのみDNS Queryメッセージに対する応答メッセージとして、DNS Answerメッセージを受信する(S14)。DNS Answerメッセージには、PC12が通信を行うWebサーバ15のIPアドレスが設定されている。
【0036】
次に、Proxy DNS制御部211は、DNSサーバ14から送信されたDNS AnswerメッセージをPC12へ送信する(S15)。次に、PC12は、Webサーバ15と通信を行うために、DNS Answerメッセージにおいて指定されたIPアドレスに対して、HTTP(Hypertext Transfer Protocol)要求メッセージを送信する(S16)。次に、Webサーバ15は、HTTP要求メッセージに対する応答メッセージとして、HTTP応答メッセージをPC12へ送信する(S17)。
【0037】
HGW11の状態監視部213は、DNS QueryメッセージをDNSサーバ13及びDNSサーバ14へ送信してから、DNSサーバ13及びDNSサーバ14からDNS Answerメッセージを受信するまでの応答時間を計測している。本図においては、状態監視部213は、DNSサーバ13から、予め定められた応答時間を設定した閾値を超えてもDNS Answerメッセージを受信しないため、DNSサーバ13が応答不能な状態になっていると判定する。
【0038】
次に、PC12は、Webサーバ15とは異なるWebサーバ15_1と通信を行うために、Webサーバ15_1のホスト名を設定したDNS QueryメッセージをHGW11へ送信する(S18)。ここで、HGW11の状態監視部213は、DNSサーバ13について、応答不能な状態であると判定している。そのため、Webサーバ15_1に関する名前解決処理を行う際に、DNS QueryメッセージをDNSサーバ14のみに送信する(S19)。次に、HGW11は、DNSサーバ14からDNS Answerメッセージを受信する。その後の処理は、ステップS15〜S17と同様であるため詳細な説明を省略する。
【0039】
状態監視部213は、DNSサーバ13が応答不能な状態であると判定してから、所定期間経過した後に、PC12から受信したDNS QueryメッセージをDNSサーバ13及びDNSサーバ14へ送信できるようにしてもよい。具体的には、状態監視部213は、DNSサーバ13が応答不能な状態であると判定してから、所定期間経過後に、DNSリゾルバ処理部212へ、DNSサーバ13に対するDNS Queryメッセージの送信停止を解除することを通知するメッセージを出力する。
【0040】
DNSサーバ13に対するDNS Queryメッセージの送信停止を解除された後、DNSリゾルバ処理部212は、DNSサーバ13へDNS Queryメッセージを送信することができる。ここで、状態監視部213は、DNSサーバ13から、DNS Answerメッセージが送信されてこないと判定した場合、再度、所定期間の間DNSサーバ13へのDNS Queryメッセージの送信を停止してもよい。また、状態監視部213は、DNSサーバ13が応答不能であると1回目に判定した際に設定した、DNSサーバ13へのDNS Queryメッセージの送信停止期間よりも、DNSサーバ13が応答不能であると2回目に判定した際に設定したDNSサーバ13へのDNS Queryメッセージの送信停止期間を長くしてもよく、もしくは短くしてもよい。
【0041】
ここで、図5を用いて本発明の実施の形態2にかかるHGW11の状態遷移について説明する。HGW11は、通常状態においては、PC12から送信されたDNS Queryメッセージを、DNSサーバ13及びDNSサーバ14へ送信する。
【0042】
状態監視部213は、DNSサーバ13及びDNSサーバ14のいずれかに発生した異常を検知すると、DNS送信抑制状態へ遷移する。HGW11は、DNS送信抑制状態においては、PC12から送信されたDNS Queryメッセージを、正常に動作しているいずれかのDNSサーバへ送信する。
【0043】
所定期間経過すると、HGW11は、DNS復旧確認状態へ遷移する。ここで、HGW11は、PC12から送信されたDNS Queryメッセージを、DNSサーバ13及びDNSサーバ14へ送信する。HGW11は、DNSサーバ13及びDNSサーバ14からDNS Answerメッセージを受信すると、通常状態へ遷移する。HGW11は、DNSサーバ13及びDNSサーバ14のいずれかからDNS Answerメッセージが送信されてこない場合、DNSサーバ13及びDNSサーバ14のいずれかに異常が発生したと判定し、DNS送信抑制状態へ遷移する。
【0044】
以上説明したように、本発明の実施の形態2にかかるHGW11を用いることによって、以下の効果を有する。
【0045】
第1の効果として、HGW11は、障害発生中のDNSサーバへの問合せを減らすことができる。つまり、HGW11は、インターネット網との末端でDNSサーバへの問合せをブロックしている。そのため、障害時にPC等からのDNSサーバへのDNS Queryメッセージの再送などによって、DNSサーバの障害時には平常時よりも多く送信されてしまうインターネット網へトラフィックを減らすことが可能となる。
【0046】
第2の効果として、インターネット網側は特別な装置や機能を追加することなく、障害発生中のDNSサーバへの問合せを減らすことが可能となる。
【0047】
第3の効果として、HGW11は、障害発生中のDNSサーバに対して問合せを実施しない。そのため、障害発生中のDNSサーバからの応答を待っている時間が無くなる。よって、PC等が、インターネットアクセスする際にスムーズに名前解決を行うことができるため、ユーザに対して快適なインターネットアクセスを提供できる。
【0048】
第4の効果として、HGW11は、ProxyDNS機能を有することによりユーザが使用しているPCには何も設定変更が必要なく、ユーザによる特別な操作が行われなくとも障害発生サーバに対する問合せ抑制が実施される。
【0049】
第5の効果として、HGW11が応答時間を計測することによって、DNSサーバが応答不能になる前に異常を感知することも可能である。そのため、DNS Queryメッセージの送信を抑制するタイミングを早め、DNSサーバがDNS Queryメッセージの受信負荷によってダウンすることを未然に防ぐこともできる。
【0050】
(実施の形態3)
続いて、図6を用いて本発明の実施の形態3にかかるHGW21の構成例について説明する。図6は、図3のHGW21に、ICMP(Internet Control Message Protocol)処理部224が追加された構成となる。HGW21におけるICMP処理部224以外の構成については、図3のHGW11と同様であるため詳細な説明を省略する。
【0051】
ICMP処理部224は、WANインタフェース112を介して、DNSサーバ13及びDNSサーバ14へICMPメッセージを送信する。ICMP処理部224は、ICMPメッセージへの応答としてエラーメッセージ(Type3 Destination Unreachable)を受信すると、状態監視部213へエラーメッセージを出力する。ここで、エラーメッセージは、DNSサーバ13もしくはDNSサーバ14が送信する場合もあれば、HGW21と、DNSサーバ13及びDNSサーバ14との間のルータ装置等が送信する場合もある。
【0052】
また、ICMP処理部224は、定期的にICMP(Type8 echo)を用いた、DNSサーバ13及びDNSサーバ14の死活監視を行ってもよい。
【0053】
状態監視部213は、ICMP処理部224からエラーメッセージが出力された場合に、DNSサーバ13もしくはDNSサーバ14のいずれかに異常が発生しているか否かを判定する。
【0054】
状態監視部213は、ICMP処理部224から出力されたエラーメッセージが、DNSサーバ13及びDNSサーバ14のいずれかから送信されたかを判定する。状態監視部213は、DNSサーバ13及びDNSサーバ14のいずれかから送信されたエラーメッセージであると判定すると、エラーメッセージを送信してきたDNSサーバへのDNS Queryメッセージの送信を停止させる。
【0055】
また、状態監視部213は、エラーメッセージが、HGW21と、DNSサーバ13及びDNSサーバ14との経路上のルータ装置等から送信され、DNSサーバ13及びDNSサーバ14のいずれかとの通信ができないと判定した場合であっても、通信不能のDNSサーバへのDNS Queryメッセージの送信を停止させてもよい。
【0056】
また、状態監視部213は、DNS送信抑制状態において、異常が発生したDNSサーバが復旧したか否かを確認するために、ICMP処理部224へICMPメッセージを、異常が発生したDNSサーバへ送信することを指示してもよい。ここで、ICMP処理部224が、DNSサーバが正常であることを示すICMP(Type0 echo Reply)を受信すると、異常が発生したDNSサーバが復旧したと判定してもよい。また、状態監視部213は、DNSサーバに異常が発生したと判定した後にも定期的にICMPメッセージをDNSサーバへ送信し、DNSサーバの死活監視を行ってもよい。
【0057】
また、図6においては、ICMPを用いる場合について説明したが、DNSサーバに対して死活監視を行うことができる他のプロトコルを用いてDNSサーバを監視してもよい。
【0058】
以上説明したように、実施の形態3にかかるHGW21は、ICMPを用いて定期的にDNSサーバの死活監視を実施することができる。これより、HGW21は、ICMPのエラーメッセージを用いて、DNSサーバに障害が発生しているか否かを判定し、その判定結果に応じて、DNSサーバへのDNS Queryメッセージの送信停止もしくは送信停止の解除を判定することができる。
【0059】
また、HGW21は、実施の形態2において説明した、DNS Answerメッセージの受信状況に応じた障害検知方法も、ICMPを用いた障害検知方法と組み合わせて実施してもよい。例えば、状態監視部213は、DNS Answerメッセージが閾値に設定した時間が経過しても送信されてこない場合もしくはICMPにてエラーメッセージが送信されてきた場合のいずれかに該当する場合、DNSサーバ13及びDNSサーバ14のいずれかに障害が発生していると判定してもよい。
【0060】
(実施の形態4)
続いて、図7を用いて本発明の実施の形態4にかかる名前解決処理の流れについて説明する。また、図7においては、図3において説明したHGW11を用いるとする。図7においては、DNSサーバ13をプライマリDNSサーバとし、DNSサーバ14をセカンダリDNSサーバとする。ステップS21〜S23は、図4のステップS11〜S13と同様であるため詳細な説明を省略する。HGW11は、ステップS22において、DNSサーバ13へDNS Queryメッセージを送信した後に、ステップS23において、DNSサーバ14へDNS Queryメッセージを送信する。
【0061】
次に、HGW11は、後から送信したDNSサーバ14へのDNS Queryメッセージに対する応答メッセージであるDNS Answerメッセージを受信する(S24)。次に、HGW11は、DNSサーバ14からDNS Answerメッセージを受信した後に、DNSサーバ13からDNS Answerメッセージを受信する(S25)。ここで、HGW11は、DNSサーバ13の応答時間T1及びDNSサーバ14の応答時間T2をメモリ等に保存する。また、HGW11の状態監視部213は、DNSサーバ14の応答時間T2のほうがDNSサーバ13の応答時間T1よりも短いと判定する。
【0062】
ステップS26〜S29は、図4のステップS15〜S18と同様であるため詳細な説明を省略する。
【0063】
HGW11は、ステップS29において、DNS Queryメッセージを受信すると、DNSサーバ14の応答時間T2が、DNSサーバ13の応答時間T1よりも短いことを考慮して、DNSサーバ14を、プライマリDNSサーバ、DNSサーバ13をセカンダリDNSサーバとして、名前解決処理を行ってもよい。つまり、HGW11は、DNS Queryメッセージを最初にDNSサーバ14へ送信し(S30)、次に、DNS QueryメッセージをDNSサーバ13へ送信する(S31)。
【0064】
以上説明したように、本発明の実施の形態4にかかる名前解決処理の流れを実行することによって、名前解決の応答時間を判断し、プライマリDNSサーバとセカンダリDNSサーバとを入れ替えることができる。これより、応答が早いDNSサーバを常にプライマリDNSサーバとすることができる。また、DNSサーバ自体の障害とは異なる障害によって応答時間の遅延が発生した場合も、HGWは、応答時間の早いDNSサーバをプライマリDNSサーバとすることができる。これより、HGWの内部処理にてDNSサーバの優先度を変更することができるため、PCを使用するユーザは、DNSサーバの優先度を変更するための特定の操作を行う必要がない。
【0065】
(実施の形態5)
続いて、図8を用いて本発明の実施の形態5にかかる名前解決処理の流れについて説明する。本図においては、プライマリDNSサーバもしくはセカンダリDNSサーバに障害が発生したした場合に、3つめのDNSサーバを用いるために実行する処理を示している。
【0066】
また、本図においては、図4のステップS11〜S17が既に実行され、HGW11は、DNSサーバ13に障害が発生していることを検出しているとする。
【0067】
HGW11は、DNSサーバ13に障害が発生した場合、状態監視部213が、DNSリゾルバ処理部212へ、DNS Queryメッセージを送信することを指示する。ここで、状態監視部213によって送信することを指示されたDNS Queryメッセージは、レコードタイプとしてPTR(PoinTeR record)を設定することが指示され、ドメイン名の逆引きを行うために用いられる。また、逆引き対象のアドレスは、セカンダリDNSサーバであるDNSサーバ14のIPアドレスとする。例えば、逆引き対象のIPアドレスを192.0.2.2とする。
【0068】
はじめに、HGW11は、レコードタイプにPRTが設定されたDNS QueryメッセージをDNSサーバ14へ送信する(S41)。次に、DNSサーバ14は、自装置のIPアドレスの逆引きを行うDNS Queryメッセージを受信すると、DNSサーバ14のFQDN(Fully Qualified Domain Name)を設定したDNS AnswerメッセージをHGW11へ送信する(S42)。FQDNは、例えば、secondary.exampleとする。
【0069】
次に、HGW11の状態監視部213は、受信したFQDNであるsecondary.exampleに関して、名前解決を行うことをDNSリゾルバ処理部212へ指示する。DNSリゾルバ処理部212は、状態監視部213からの指示に応じて、DNSサーバ14へ、DNS Queryメッセージを送信する(S43)。DNSリゾルバ処理部212は、レコードタイプA(Address record)及び問い合わせるFQDNとしてsecondary.exampleを設定したDNS Queryメッセージを送信する。
【0070】
次に、DNSサーバ14は、受信したDNS Queryメッセージに対して、2つのIPアドレスを設定したDNS Answerメッセージを送信する(S44)。DNSサーバ14は、DNSサーバ14自体のIPアドレスである192.0.2.2と、障害時用のDNSサーバのIPアドレスである192.0.2.3をDNS Answerメッセージに設定する。
【0071】
状態監視部213は、DNSリゾルバ処理部212に対して、192.0.2.2及び192.0.2.3をDNSサーバとして使用するように指示する。
【0072】
以上説明したように、本発明の実施の形態5にかかる名前解決処理の流れを実行することによって、HGW11が名前解決の正引き及び逆引きの仕組みを利用することによって、DNSサーバの障害検出からDNSサーバの変更までを、HGW11が自動的に実施することができる。これより、DNSサーバに障害が発生したさいに、DHCP(Dynamic Host Configuration Protocol)オプション等を利用して障害発生用のHGWへDNSサーバアドレスを通知する必要がなくなる。
【0073】
(実施の形態6)
続いて、図9を用いて本発明の実施の形態6にかかる名前解決処理の流れについて説明する。実施の形態1〜5においては、DNSリゾルバ処理部212が、スタブリゾルバを実行する動作について説明した。スタブリゾルバは、フルサービスリゾルバを実行するDNSサーバ等へ、名前解決の要求メッセージを送信し、名前解決の実行をDNSサーバ等へ依頼する処理である。これに対して、フルサービスリゾルバは、ルートサーバ等に対して名前解決処理を行い、ホスト名に対するIPアドレスを検出するまで、名前解決処理を繰り返す処理である。
【0074】
図9においては、HGW11がDNSサーバ13に発生した障害を検出後、HGW11のDNSリゾルバ処理部212が、フルサービスリゾルバを実行する動作について説明する。
【0075】
本図においては、図4のステップS11〜S17が既に実行され、HGW11は、DNSサーバ13に障害が発生していることを検出しているとする。
【0076】
はじめに、PC12は、HGW11へDNS Queryメッセージを送信する(S51)。DNS Queryメッセージには、PC12が通信を行うWebサーバ15のホスト名として、abc.exampleが設定されている。
【0077】
次に、HGW11は、DNSサーバ13及びDNSサーバ14等へ、DNS Queryメッセージを送信することなく、ルートサーバへDNS Queryメッセージを送信する(S52)。次に、ルートサーバは、exampleドメインを管理するexampleサーバのIPアドレスに関する情報をHGW11へ送信する(S53)。
【0078】
次に、HGW11は、exampleサーバに対して、ホスト名としてabc.exampleを設定したDNS Queryメッセージを送信する(S54)。次に、exampleサーバは、HGW11へabc.exampleドメインを管理するabc.exampleサーバのIPアドレスに関する情報を送信する(S55)。
【0079】
次に、HGW11は、abc.exampleサーバに対して、ホスト名としてabc.exampleを設定したDNS Queryメッセージを送信する(S56)。次に、abc.exampleサーバは、ホスト名としてabc.exampleサーバに対応付けられたIPアドレスに関する情報をHGW11へ送信する(S57)。HGW11は、abc.exampleサーバから受信したabc.exampleのIPアドレスを設定したDNS AnswerメッセージをPC12へ送信する(S58)。
【0080】
以上説明したように、本発明の実施の形態5にかかる名前解決処理の流れを実行することによって、障害が発生したDNSサーバを経由せずに名前解決を行うことが可能となる。これより、障害発生中のDNSサーバへの問い合わせが行われなくなるため、障害発生中のDNSサーバへの負荷を軽減することが可能となり、障害発生中のDNSサーバの早期復旧が可能となる。
【0081】
上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、ホームゲートウェイにおける処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。)
【0082】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0083】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0084】
1 通信制御装置
2 状態監視部
3 通信部
4 DNSサーバ
5 DNSサーバ
11 HGW
12 PC
13 DNSサーバ
14 DNSサーバ
15 Webサーバ
16 インターネット網
21 HGW
111 LANインタフェース
112 WANインタフェース
211 Proxy DNS制御部
212 DNSリゾルバ処理部
213 状態監視部
224 ICMP処理部
図1
図2
図3
図4
図5
図6
図7
図8
図9