以下、本発明の実施形態について図面を参照して説明する。なお、各図面において同じ機能を有するものには同じ符号を付け、その説明を省略する場合がある。
図1は、本発明の第1の実施形態の通信システムを示す図である。図1に示すように通信システム1は、利用者端末10と、管理DB(database:データベース)装置20と、ロードバランサ30と、DNSサーバ40と、DNS64機能付きDNSサーバ50と、NAT64装置60と、IPv4(Internet Protocol Version 4)WEBサーバ70と、IPv6(Internet Protocol Version 6)対応WEBサーバ80とを有する。管理DB装置20およびロードバランサ30は、後述するように名前解決要求を振り分ける振分システムを構成する。
管理DB装置20、ロードバランサ30、DNSサーバ40、DNS64機能付きDNSサーバ(以下、DNS64サーバと称する)50、および、NAT64装置60は、ISPネットワーク100内に設けられる。また、IPv4WEBサーバ70およびIPv6対応WEBサーバ80は、インターネット200内に設けられる。なお、IPv4WEBサーバ70は、IPv4にのみ対応したWEBサーバであり、IPv6対応WEBサーバ80は、IPv4およびIPv6の両方に対応したWEBサーバである。一例ではあるが、利用者端末10からIPv4アドレスを用いてIPv4WEBサーバ70に直接接続する場合や利用者端末10からIPv4アドレスを用いてIPv6対応WEBサーバ80に接続する場合は、PPPoE方式の通信プロトコルを用い、利用者端末10からIPv6アドレスを用いてIPv6対応WEBサーバ80へ接続する場合や利用者端末10からNAT64装置60を経由してIPv4WEBサーバ70へ接続する場合は、IPoE方式の通信プロトコルを用いる。
利用者端末10は、管理DB装置20およびロードバランサ30にて構成される振分システムの利用者にて使用される端末である。例えば、利用者端末10は、パーソナルコンピュータやスマートフォン、ゲーム機、情報家電などであり、CPU等の制御部、RAMやHDD等の記憶部、LAN端子や無線ネットワークコントローラ等の通信部、LCD等の表示部、キーボードやタッチパネル、マイク等の操作部と、記憶部に記憶されたオペレーションシステム、ソフトウェアなどにより構成される。利用者端末10は、ISPネットワーク100を経由して、インターネット200内のIPv4WEBサーバ70およびIPv6対応WEBサーバ80と通信する。利用者端末10は、IPv4のみに対応した端末でもよいし、IPv4およびIPv6の両方に対応した端末でもよい。また、利用者端末10は、複数あっても構わない。以下では、IPv4のみに対応した端末をIPv4端末、IPv4およびIPv6の両方に対応した端末をIPv6対応端末と称する。
利用者端末10は、通信を行うために、自端末(利用者端末10)に割り当てられたIPアドレスを取得する。IPアドレスを取得する方法については、特に限定されない。例えば、利用者端末10は、DHCP(Dynamic Host Configuration Protocol)を用いてIPアドレスを取得する。利用者端末10が取得するIPアドレスは、利用者端末10がIPv4端末の場合、IPv4アドレスであり、利用者端末10がIPv6対応端末の場合、IPv4アドレスおよびIPv6アドレスである。ここで、利用者端末10がIPv6対応端末の場合、IPv6アドレスのみでも良いが、本実施形態では、両方取得する方式で説明する。
また、利用者端末10は、操作部への入力等に基づき、接続先(本実施形態では、IPv4WEBサーバ70またはIPv6対応WEBサーバ80)のドメイン名を含む接続先入力を受け付ける。ドメイン名は、具体的には、FQDN(Fully Qualified Domain Name:完全に指定されたドメイン名)である。利用者端末10は、そのドメイン名に係る名前解決要求をロードバランサ30に送信する。このとき、利用者端末10は、名前解決要求の送信元のIPアドレスとして、取得したIPアドレスを設定する。なお、利用者端末10がIPv6対応端末であり、IPv4アドレスおよびIPv6アドレスの両方設定されている場合、通常、IPv6アドレスがIPv4アドレスよりも優先的に使用されるように優先順位が設定されている。利用者端末10がIPv6対応端末であり、IPv4アドレスおよびIPv6アドレスの両方設定されている場合、名前解決要求がIPv4アドレスとIPv6アドレスの2つ送信されるが、本実施形態では、説明を簡単にするため、利用者端末10は、名前解決要求の送信元のIPアドレスとしてIPv6アドレスの方を設定したもので説明し、IPv4アドレスの方を設定した名前解決要求は説明を省略する場合がある。なお、利用者端末10がIPv6対応端末であり、IPv6アドレスのみが設定されている場合は、名前解決要求もIPv6アドレスのみとなる。
また、利用者端末10は、DNSサーバ40またはDNS64サーバ50から名前解決要求に対する結果情報として接続先のIPアドレスを受信する。利用者端末10は、接続先のIPアドレスを宛先とする接続要求を送信して、IPv4WEBサーバ70またはIPv6対応WEBサーバ80と接続する。
管理DB装置20およびロードバランサ30は、利用者端末10からの名前解決要求を複数のDNSサーバのいずれかに送信する(振り分ける)振分システムを構成する。本実施形態では、名前解決要求の振分先となるDNSサーバは、DNSサーバ40およびDNS64サーバ50の2つである。
管理DB装置20は、利用者を管理するための管理情報を格納する格納部である。管理DB装置20は、サーバ装置やネットワークストレージ等であり、CPU等の制御部、RAMやHDD等の記憶部、LAN端子等の通信部、記憶部に記憶された制御ソフトウェアなどにより構成される。管理情報は、送信元のIPアドレス、つまり送信元である利用者端末10に割り当てられたIPアドレスと、DNS64サーバ50によるサービスに加入しているか否かを示す加入情報とを利用者IDごとに対応付けられて記憶されている。加入情報は、利用者IDに対応する利用者がサービスに加入または脱退の申請をした時に更新される。例えば、加入したサービスに対応するフラグが利用者IDに対応付けられて記憶されている。また、IPアドレスは、利用者IDに対応する利用者端末10にIPアドレスを割り当てた時に記憶され、またはIPアドレスの割り当てを解除した時に更新される。なお、管理情報は、利用者端末10に割り当てられたIPアドレスとしてIPv4アドレスとIPv6アドレスの両方を記憶してもよいが、利用者端末10に割り当てられるIPv4アドレスは、システムによっては頻繁に変更される可能性があるため、管理情報は、利用者端末10に割り当てられたIPアドレスとしてIPv6アドレスのみを記憶するようにしてもよい。
DNS64サーバ50によるサービスは、NAT64装置60と協働して行うNAT64/DNS64サービスである。NAT64/DNS64サービスは、名前解決要求に対する結果情報として、接続先(IPv4WEBサーバ70またはIPv6対応WEBサーバ80)がIPv6アドレスではなく、のIPv4アドレスであった場合、IPv6アドレスのネットワーク環境にてNAT64装置へ到達するように設定された変換用アドレスに接続先のIPv4アドレスを合成したIPv6アドレスである合成IPv6アドレスを利用者端末10に返すことで、合成IPv6アドレスにより、NAT64装置60を経由して接続先と接続することを可能にするサービスである。なお、接続先がIPv6アドレスの場合は、NAT64装置60は経由しない。
管理情報の加入情報がサービス(NAT64/DNS64サービス)の加入を示す(例えば、そのサービスのフラグが利用者IDに対応付けられている)場合、名前解決要求の振分先は、そのサービスを提供するDNS64サーバ50となり、加入情報がサービスの加入を示さない(例えば、そのサービスのフラグが利用者IDに対応付けられていない)場合、名前解決要求の振分先は、そのサービスを提供するDNS64サーバ50とは異なるDNSサーバ40となる。このため、加入情報は、名前解決要求の振分先を示すことになる。したがって、管理情報は、加入情報と送信元のIPアドレスとを対応付けているため、名前解決要求の振分先と送信元のIPアドレスとの対応関係を示すことになる。また、管理情報は、サービスに加入していることを示す加入情報と対応するIPアドレスを、DNS64サーバ50に対応する加入者IPアドレスとして示すことになる。
ロードバランサ30は、利用者端末10からの名前解決要求をDNSサーバ40またはDNS64サーバ50に振り分ける振分装置である。
図2は、ロードバランサ30の構成を示すブロック図である。ロードバランサ30は、通信部31と、制御部32とを有する。例えば、通信部31はLAN端子などであり、制御部32は、CPUやRAMにロードされたソフトウェアなどである。ロードバランサ30には、専用装置でも汎用サーバ装置が用いられても良い。
通信部31は、利用者端末10、管理DB装置20、DNSサーバ40およびDNS64サーバ50と通信する。例えば、通信部31は、利用者端末10から名前解決要求を受信する。なお、通信部31には、IPv4で利用者端末10と通信するためのIPv4アドレスと、IPv6で利用者端末10と通信するためのIPv6アドレスとが設定される。
制御部32は、通信部31が受信した名前解決要求の送信元のIPアドレスである送信元IPアドレスに基づいて、名前解決要求をDNSサーバ40またはDNS64サーバ50に送信する。
具体的には、制御部32は、送信元IPアドレスの種類に応じて、名前解決要求をDNSサーバ40またはDNS64サーバ50に送信する。IPアドレスの種類(通信プロトコルであるIPのVersion)には、第1の種類であるIPv4アドレス(IPのVersionが4)と、第2の種類であるIPv6アドレス(IPのVersionが6)とがある。
送信元IPアドレスがIPv4アドレス(通信プロトコルであるIPのVersionが4)の場合、制御部32は、名前解決要求をDNSサーバ40に送信する。
一方、送信元IPアドレスがIPv6アドレス(通信プロトコルであるIPのVersionが6)の場合、制御部32は、その送信元IPアドレスの値に応じて、名前解決要求をDNSサーバ40またはDNS64サーバ50に送信する。
具体的には、制御部32は、通信部31を介して管理DB装置20に格納された管理情報を確認し、その管理情報に基づいて、DNSサーバ40およびDNS64サーバ50のうち、送信元IPアドレスに対応するサーバに名前解決要求を送信する。より具体的には、制御部32は、管理情報が送信元IPアドレスを加入者IPアドレスとして示す場合、名前解決要求をDNS64サーバ50に送信し、前記管理情報が送信元IPアドレスを加入者IPアドレスとして示さない場合、名前解決要求をDNSサーバ40に送信する。
図1の説明に戻る。DNSサーバ40およびDNS64サーバ50は、名前解決を行うサーバである。DNSサーバ40およびDNS64サーバ50には、それぞれ専用装置でも汎用サーバ装置が用いられても良い。例えば、CPU等の制御部、RAMやHDD等の記憶部、LAN端子等の通信部、記憶部に記憶された制御ソフトウェアなどにより構成される。DNSサーバ40およびDNS64サーバ50は、利用者端末10からロードバランサ30を介して名前解決要求を受信すると、名前解決要求に係るドメイン名に対して名前解決を行って当該ドメイン名に対応する接続先のIPアドレスを取得し、そのIPアドレスを結果情報として利用者端末10に返す。本発明では、DNSサーバ40を第1のDNSサーバ、DNS64サーバ50を第2のDNSサーバと呼ぶ場合がある。
接続先がIPv4WEBサーバ70の場合、接続先のIPアドレスはIPv4アドレスとなり、接続先がIPv6対応WEBサーバ80の場合、接続先のIPアドレスはIPv4アドレスおよびIPv6アドレスの両方を有している。DNS64サーバ50は、接続先がIPv4WEBサーバ70であり、IPv4アドレスを利用者端末10に返す場合、上述したように、接続先のIPv4アドレスを合成した合成IPv6アドレスを利用者端末10に返す。なお、接続先のIPv4アドレスを合成する方法は、既知であるため、その詳細な説明は省略する。DNS64サーバ50は、接続先がIPv6WEBサーバ70であり、IPv6アドレスの他にIPv4アドレスも利用者端末10に返す場合は、合成せずにIPv4アドレスを利用者端末10に返す。ただし、この場合についても、IPv4アドレスを合成した合成IPv6アドレスを利用者端末10に返してもよい。本実施形態では、合成せずにIPv4アドレスを利用者端末10に返す方式で説明する。また、DNS64サーバ50は、接続先がIPv4WEBサーバ70である場合は、合成IPv6アドレスの他にIPv4アドレスも利用者端末10に返してもよい。
NAT64装置60は、利用者端末10からの接続要求を中継する中継サーバである。NAT64装置60は、専用装置でも汎用サーバ装置が用いられても良い。例えば、CPU等の制御部、RAMやHDD等の記憶部、LAN端子等の通信部、記憶部に記憶された制御ソフトウェアなどにより構成される。具体的には、NAT64装置60は、利用者端末10から宛先のIPアドレスとして合成IPv6アドレスを含む接続要求を受信すると、合成IPv6アドレスから接続先のIPv4アドレスに変換する。ここで、合成IPv6アドレスからIPv4アドレスに変換する方式の一例としては、その合成IPv6アドレスのあらかじめ決められた部分からIPv4アドレスの情報を抽出し、抽出した情報から、接続先のIPv4アドレスに変換する。NAT64装置60は、変換された接続先のIPv4アドレスを宛先とする接続要求をIPv4WEBサーバ70に送信する。また、IPv4WEBサーバ70からWEB情報を受信すると、接続先のIPv4アドレスを合成IPv6アドレスに変換し、IPv6アドレスに対応する利用者端末10にWEB情報を送信する。
IPv4WEBサーバ70およびIPv6対応WEBサーバ80は、WEB情報を利用者端末10に提供したり、利用者端末10からデータやファイル等の情報を受信したりするWEBサーバである。例えば、WEB情報は、ホームページのデータや画像または音声のコンテンツ、データファイル等の情報である。IPv4WEBサーバ70およびIPv6対応WEBサーバ80は、例えば、利用者端末10から接続要求を受信すると、その接続要求に応じて利用者端末10と接続し、利用者端末10に対してWEB情報などを提供する。
次に、図3〜図8を用いて動作を説明する。図3〜図8では、DNS64機能付きDNSサーバ50をDNS64サーバ50と記載し、IPv4WEBサーバ70をWEBサーバ70と記載し、IPv6対応WEBサーバ80をWEBサーバ80と記載している。
図3は、利用者端末10がIPv4端末、接続先がIPv4WEBサーバ70の場合における通信システム1の動作の一例を説明するためのシーケンス図である。
先ず、利用者端末10は、自端末(利用者端末10)に割り当てられたIPアドレスを取得する(ステップS101)。ここでは、利用者端末10がIPv4端末であるため、利用者端末10はIPv4アドレスを取得する。
その後、利用者端末10は、自端末に備わった表示部に表示されたブラウザに対する利用者の操作部への操作などにより、接続先のドメイン名を含む接続先入力を受け付ける(ステップS102)。利用者端末10は、接続先入力に含まれる接続先のドメイン名に係る名前解決要求を生成し、その名前解決要求に対してステップS101で取得したIPアドレスを送信元のIPアドレスとして設定する。そして、利用者端末10は、送信元のIPアドレスを設定した名前解決要求をロードバランサ30に送信する(ステップS103)。
ロードバランサ30の通信部31が名前解決要求を受信すると、制御部32は、名前解決要求の送信元のIPアドレスである送信元IPアドレスの種類を判定する(ステップS104)。ここでは、制御部32は、送信元IPアドレスの種類をIPv4アドレスと判定する。また、ここで、制御部32が、通信部31を介して管理DB装置20に格納された管理情報を確認し、管理情報が送信元IPアドレスを加入者IPアドレスとして示すか否か判定する動作が入ってもよいが、判定結果がどちらであっても次の動作が変わらないので、記載を省略する。この場合、制御部32は、名前解決要求を通信部31を介してDNSサーバ40に送信する(ステップS105)。
DNSサーバ40は、名前解決要求を受信すると、名前解決要求に係るドメイン名に対して名前解決を行ってドメイン名に対応する接続先のIPアドレスを取得する。ここでは、接続先がIPv4WEBサーバ70であるため、DNSサーバ40は、接続先のIPアドレスとしてIPv4アドレスを取得する(ステップS106)。DNSサーバ40は、接続先のIPv4アドレスを結果情報としてロードバランサ30を介して利用者端末10に送信する(ステップS107)。
利用者端末10は、結果情報を受信すると、その結果情報である接続先のIPv4アドレスを宛先として接続要求に設定し、その接続要求をIPv4WEBサーバ70に送信する(ステップS108)。IPv4WEBサーバ70は、接続要求を受信すると、その接続要求に応じて利用者端末10と接続する(ステップS109)。
図4は、利用者端末10がIPv6対応端末であり、接続先がIPv4WEBサーバ70であり、利用者端末10がNAT64/DNS64サービスに加入している場合における通信システム1の動作の一例を説明するためのシーケンス図である。
先ず、利用者端末10は、自端末(利用者端末10)に割り当てられたIPアドレスを取得する(ステップS201)。ここでは、利用者端末10がIPv6対応端末であるため、利用者端末10はIPv4アドレスおよびIPv6アドレスを取得する。
その後、利用者端末10は、自端末に備わった表示部に表示されたブラウザに対する利用者の操作部への操作などにより、接続先のドメイン名を含む接続先入力を受け付ける(ステップS202)。利用者端末10は、接続先入力に含まれる接続先のドメイン名に係る名前解決要求を生成し、その名前解決要求に対してステップS201で取得したIPv6アドレスを送信元のIPアドレスとして設定する。そして、利用者端末10は、送信元のIPアドレスを設定した名前解決要求をロードバランサ30に送信する(ステップS203)。
ロードバランサ30の通信部31が名前解決要求を受信すると、制御部32は、名前解決要求の送信元のIPアドレスである送信元IPアドレスの種類を判定する(ステップS204)。ここでは、制御部32は、送信元IPアドレスの種類をIPv6アドレスと判定する。この場合、制御部32は、通信部31を介して管理DB装置20に格納された管理情報を確認する。制御部32は、管理情報が送信元IPアドレスを加入者IPアドレスとして示すか否か、つまり、送信元IPアドレスに対応付けられた加入情報がNAT64/DNS64サービスの加入を示すか否かを判定することで、名前解決要求の送信元の利用者端末10がNAT64/DNS64サービスに加入しているか否かを判定する(ステップS205)。
ここでは、利用者端末10はNAT64/DNS64サービスに加入している。この場合、ロードバランサ30の制御部32は、名前解決要求を通信部31を介してDNS64サーバ50に送信する(ステップS206)。DNS64サーバ50は、名前解決要求を受信すると、名前解決要求に係るドメイン名に対して名前解決を行ってドメイン名に対応する接続先のIPアドレスを取得する。ここでは、接続先がIPv4WEBサーバ70であるため、DNS64サーバ50は、接続先のIPアドレスとしてIPv4アドレスを取得する(ステップS207)。この場合、DNS64サーバ50は、その接続先のIPv4アドレスをNAT64装置60に到達するように設定されたIPv6アドレスに合成した合成IPv6アドレスを生成する(ステップS208)。
DNS64サーバ50は、合成IPv6アドレスを結果情報としてロードバランサ30を介して利用者端末10に送信する(ステップS209)。
利用者端末10は、結果情報を受信すると、その結果情報である合成IPv6アドレスを宛先として接続要求に設定し、その接続要求をNAT64装置60に送信する(ステップS210)。NAT64装置60は、接続要求を受信すると、その接続要求の宛先として設定された合成IPv6アドレスから接続先のIPv4アドレスに変換する。そして、NAT64装置60は、その変換した接続要求をIPv4WEBサーバ70に送信する(ステップS211)。IPv4WEBサーバ70は、接続要求を受信すると、その接続要求に応じて、NAT64装置60を経由して、利用者端末10と接続し、通信を行う(ステップS212)。
図5は、利用者端末10がIPv6対応端末であり、接続先がIPv6対応WEBサーバ80であり、利用者端末10がNAT64/DNS64サービスに加入している場合における通信システム1の動作の一例を説明するためのシーケンス図である。
先ず、図4の例と同様にステップS201〜S206の処理が行われる。その後、DNS64サーバ50は、名前解決要求を受信すると、名前解決要求に係るドメイン名に対して名前解決を行ってドメイン名に対応する接続先のIPアドレスを取得する。ここでは、接続先がIPv6対応WEBサーバ80であるため、DNS64サーバ50は、接続先のIPアドレスとしてIPv6アドレスを取得する(ステップS221)。
DNS64サーバ50は、取得したIPv6アドレスを結果情報としてロードバランサ30を介して利用者端末10に送信する(ステップS222)。この際、DNS64サーバ50が、利用者端末10からのIPv4による名前解決要求に対して、その接続先のIPv4アドレスを取得し、取得したIPv4アドレスを結果情報としてロードバランサ30を介して利用者端末10に送信してもよく、また、その接続先のIPv4アドレスをNAT64装置60のIPv6アドレスに合成した合成IPv6アドレスを生成し、結果情報としてロードバランサ30を介して利用者端末10に送信してもよい。
利用者端末10は、結果情報を受信すると、その結果情報に含まれるIPv6アドレスを宛先として接続要求に設定し、その接続要求をIPv6対応WEBサーバ80に送信する(ステップS223)。IPv6対応WEBサーバ80は、接続要求を受信すると、その接続要求に応じて利用者端末10と接続する(ステップS224)。ここで、利用端末10にIPv6アドレスだけでなく、IPv4アドレスも設定されている場合、別途、IPv4による名前解決要求がDNS64サーバ50に送信され、接続先のIPv6対応WEBサーバ80のIPv4アドレスが結果情報として受信するが、優先順位に基づき、IPv6アドレスが優先されて、宛先として接続要求に設定される。
図6は、利用者端末10がIPv6端末であり、接続先がIPv6対応WEBサーバ80であり、利用者端末10がNAT64/DNS64サービスに加入している場合における通信システム1の動作の他の例を説明するためのシーケンス図である。具体的には、図6は、輻輳のような通信障害などのために、IPv6対応WEBサーバ80がIPv6アドレスを宛先とした接続要求による利用者端末10との接続を行うことができない場合における、通信システム1の動作の一例を説明するためのシーケンス図である。
先ず、図5の例と同様にステップS201〜S206、S221〜S223の処理が行われる。なお、図6では、ステップS201〜S206の図示を省略している。
IPv6対応WEBサーバ80は、ステップS224で利用者端末10から送信された接続要求による接続ができない場合、拒否応答を利用者端末10に送信する(ステップS231)。利用者端末10は、拒否応答を受信すると、優先順位に基づき、ステップS222とは別にDNS64サーバ50から受信した結果情報に含まれる接続先のIPv4アドレスを宛先として接続要求に設定し(ステップS232)、その接続要求をIPv6対応WEBサーバ80に送信する(ステップS233)。
IPv6対応WEBサーバ80は、接続要求を受信すると、その接続要求に応じて利用者端末10と接続する(ステップS234)。
なお、図6の例では、利用者端末10は、拒否応答を受信した際に、IPv4アドレスを接続要求の宛先として設定して接続要求を送信していたが、ステップS224で送信した接続要求がタイムアウトした際に、IPv4アドレスを接続要求の宛先として設定して接続要求を送信してもよい。また、拒否応答を受信した際または接続要求がタイムアウトした際に、利用端末10にIPv6アドレスのみ設定されている場合、利用端末10は、DNS64サーバ50から合成IPv6アドレスを取得し、取得した合成IPv6アドレスを宛先として設定した接続要求を送信してもよい。また、図6の例は、図4で説明した通信システム1の動作において、輻輳のような通信障害や接続要求のタイムアウトなどのために、IPv4WEBサーバ70が合成IPv6アドレスを宛先とした接続要求による利用者端末10との接続を行うことができない場合においても同様の処理が行われる。
図7は、利用者端末10がIPv6対応端末であり、接続先がIPv6対応WEBサーバ80であり、利用者端末10がNAT64/DNS64サービスに加入していない場合における通信システム1の動作の一例を説明するためのシーケンス図である。
先ず、図4の例と同様にステップS201〜S205の処理が行われる。そして、ステップS205の処理において、ロードバランサ30の制御部32は、利用者端末10がNAT64/DNS64サービスに加入していないと判定する。この場合、ロードバランサ30の制御部32は、名前解決要求を通信部31を介してDNSサーバ40に送信する(ステップS241)。
DNSサーバ40は、名前解決要求を受信すると、名前解決要求に係るドメイン名に対して名前解決を行ってドメイン名に対応する接続先のIPアドレスを取得する。ここでは、接続先がIPv6対応WEBサーバ80であるため、DNSサーバ40は、接続先のIPアドレスとしてIPv6アドレスを取得する(ステップS242)。DNSサーバ40は、接続先のIPv6アドレスを結果情報としてロードバランサ30を介して利用者端末10に送信する(ステップS243)。ここで、NAT64/DNS64サービスに加入していないので、利用端末10にIPv6アドレスだけでなく、IPv4アドレスも設定されているとする。この場合、別途、利用者端末10からIPv4による名前解決要求がDNSサーバ40に送信され、DNSサーバ40において、接続先のIPv6対応WEBサーバ80のIPv4アドレスを取得し、取得したIPv4アドレスを結果情報として利用者端末10に送信することになる。
利用者端末10は、結果情報を受信すると、優先順位に基づき、その結果情報に含まれるIPv6アドレスを宛先として接続要求に設定し、その接続要求をIPv6対応WEBサーバ80に送信する(ステップS244)。IPv6対応WEBサーバ80は、接続要求を受信すると、その接続要求に応じて利用者端末10と接続する(ステップS245)。
図8は、利用者端末10がIPv6対応端末であり、接続先がIPv6対応WEBサーバ80であり、利用者端末10がNAT64/DNS64サービスに加入していない場合における通信システム1の動作の他の例を説明するためのシーケンス図である。具体的には、図8は、輻輳のような通信障害などのために、IPv6対応WEBサーバ80がIPv6アドレスを宛先とした接続要求による利用者端末10との接続を行うことができない場合における、通信システム1の動作の一例を説明するためのシーケンス図である。
先ず、図7の例と同様にステップS201〜S205、S241〜S244の処理が行われる。なお、図8では、ステップS201〜S205、S241の図示を省略している。
IPv6対応WEBサーバ80は、ステップS244で利用者端末10から送信された接続要求による接続ができない場合、拒否応答を利用者端末10に送信する(ステップS251)。利用者端末10は、拒否応答を受信すると、優先順位に基づき、ステップS243とは別にDNSサーバ40から受信した結果情報に含まれるIPv6対応WEBサーバ80のIPv4アドレスを宛先として接続要求に設定し(ステップS252)、その接続要求をIPv6対応WEBサーバ80に送信する(ステップS253)。IPv6対応WEBサーバ80は、接続要求を受信すると、その接続要求に応じて利用者端末10と接続する(ステップS254)。
なお、図8の例では、利用者端末10は、拒否応答を受信した際に、IPv4アドレスを接続要求の宛先として設定して接続要求を送信していたが、ステップS244で送信した接続要求がタイムアウトした際に、IPv4アドレスを接続要求の宛先として設定して接続要求を送信してもよい。
以上説明したように本実施形態によれば、ロードバランサ30の通信部31は、利用者端末10から名前解決要求を受信する。制御部32は、通信部31にて受信された名前解決要求の送信元のIPアドレスに基づいて、名前解決要求をDNSサーバ40およびDNS64サーバ50のいずれかに送信する。このため、名前解決要求の送信元である利用者端末10に割り当てられたIPアドレスに応じて、名前解決要求をDNSサーバ40およびDNS64サーバ50のいずれかに送信することが可能になるため、利用者端末に応じた適切なサービスを提供することが可能になる。
また、本実施形態では、制御部32は、送信元のIPアドレスの種類に応じて、名前解決要求をDNSサーバ40およびDNS64サーバ50のいずれかに送信する。具体的には、制御部32は、送信元のIPアドレスがIPv4アドレスの場合、名前解決要求をDNSサーバ40に送信し、送信元のIPアドレスがIPv6アドレスの場合、送信元のIPアドレスの値に応じて、名前解決要求をDNSサーバ40およびDNS64サーバ50のいずれかに送信する。このため、利用者端末に対する割り当てが頻繁に変更されるIPv4アドレスが送信元のアドレスとして設定されている場合には、IPv4アドレスの値に限らず、名前解決要求を振り分けることが可能になるため、IPv4アドレスの値を管理するための負荷を軽減することが可能になる。また、利用者端末に対する割り当てが長期間変更されないIPv6アドレスが送信元のアドレスとして設定されている場合には、IPv6アドレスの値に応じて適切なサービスを提供することが可能になるため、細やかなサービスを提供することが可能になる。
また、本実施形態では、制御部32は、送信元のIPアドレスがDNS64サーバ50の提供するサービスに加入している加入者IPアドレスの場合、名前解決要求をDNS64サーバ50に送信し、送信元のIPアドレスが加入者IPアドレスでない場合、名前解決要求をDNSサーバ40に送信する。このため、特定のサービスを受けたい利用者に対してそのサービスを提供することが可能になるため、細やかなサービスを提供することが可能になる。
(第2の実施形態)
図9は、本発明の第2の実施形態の通信システムを示す図である。図9に示す通信システム1は、図1で示した第1の実施形態の通信システム1の構成に加えて、特定ドメイン判定装置90を備える。特定ドメイン判定装置90は、ISPネットワーク100内に設けられる。
特定ドメイン判定装置90は、名前解決要求を振り分ける振分システムを構成する装置であり、ロードバランサ30がDNS64サーバ50に対して送信した名前解決要求を中継する第1の中継部として機能する。特定ドメイン判定装置90は、専用装置でも汎用サーバ装置が用いられても良い。例えば、CPU等の制御部、RAMやHDD等の記憶部、LAN端子等の通信部、記憶部に記憶された制御ソフトウェアなどにより構成される。
特定ドメイン判定装置90は、ロードバランサ30がDNS64サーバ50に対して送信した名前解決要求を受信し、その名前解決要求に含まれる名前解決の対象となる接続先のWEBサーバのドメイン名である対象ドメイン名が特定のドメイン名か否かを判定する。例えば、特定ドメイン判定装置90は、特定のドメイン名のリストを記憶部に記憶保持し、そのリストに対象ドメインが含まれるか否かを判定する。なお、リストは、管理DB装置20のような特定ドメイン判定装置90とは別の記憶装置に格納されていてもよい。
特定ドメイン判定装置90は、対象ドメイン名が特定のドメイン名か否かの判定の判定結果に基づいて、名前解決要求をDNSサーバ40およびDNS64サーバ50のいずれかに送信する。本実施形態では、特定のドメイン名は、IPv6に対応しているが、IPv6による動作が不安定なWEBサーバのドメイン名などであり、特定ドメイン判定装置90は、対象ドメイン名が特定のドメイン名の場合、名前解決要求をDNSサーバ40に送信し、対象ドメイン名が特定のドメイン名でない場合、名前解決要求をDNS64サーバ50に送信する。特定ドメイン判定装置90は、名前解決要求をDNSサーバ40に送信する場合、取得制限が付された名前解決要求をDNSサーバ40に送信してもよい。取得制限が付された名前解決要求とは、例えば、単に、接続先のIPv4アドレスの取得を要求する名前解決要求でよく、その際に、接続先のIPv6アドレスを要求する名前解決要求の送信を制限する(送信をしない)処理を行う。または、名前解決要求のDNS64サーバ50への送信を制限する(送信をしない)処理を行い、DNSサーバ40に送信する処理を行うことである。つまり、IPoEでの通信を制限し、PPPoEでの通信を行う。また、NAT64装置60を経由させない制限であれば、合成IPv6アドレスの生成を制限する。
なお、特定ドメイン判定装置90は、対象ドメイン名が特定のドメイン名の場合、名前解決要求をDNS64サーバ50に送信し、対象ドメイン名が特定のドメイン名でない場合、名前解決要求をDNSサーバ40に送信する構成でもよい。この場合の特定のドメイン名は、NAT64/DNS64を用いた接続に適したWEBサーバのドメイン名などである。
図10は、本実施形態における通信システム1の動作の一例を説明するためのシーケンス図である。具体的には、図10は、利用者端末10がIPv6対応端末であり、接続先がIPv4WEBサーバ70であり、対象ドメイン名が特定のドメイン名でなく、利用者端末10がNAT64/DNS64サービスに加入している場合の通信システム1の動作の一例を説明するためのシーケンス図である。
先ず、図4の例と同様にステップS201〜S205の処理が実行される。ステップS205の処理において、ロードバランサ30の制御部32は、利用者端末10がNAT64/DNS64サービスに加入していると判定する。この場合、ロードバランサ30の制御部32は、名前解決要求を通信部31を介して特定ドメイン判定装置90に送信する(ステップS301)。
特定ドメイン判定装置90は、名前解決要求を受信すると、名前解決要求に含まれる対象ドメイン名が特定のドメイン名か否かを判定する(ステップS302)。ここでは、特定ドメイン判定装置90は、対象ドメイン名が特定のドメイン名でないと判定し、名前解決要求をDNS64サーバ50に送信する(ステップS303)。その後、図4の例と同様にステップS207〜S212の処理が実行される。
図11は、利用者端末10がIPv6対応端末であり、接続先がIPv6対応WEBサーバ80であり、対象ドメイン名が特定のドメイン名でなく、利用者端末10がNAT64/DNS64サービスに加入している場合の通信システム1の動作の一例を説明するためのシーケンス図である。
図11の例では、図10の例と同様にステップS201〜S205、ステップS301〜S303の処理が実行され、その後、図5の例と同様にステップS221〜S224の処理が実行される。
図12は、利用者端末10がIPv6対応端末であり、接続先がIPv6対応WEBサーバ80であり、対象ドメイン名が特定のドメイン名であり、利用者端末10がNAT64/DNS64サービスに加入している場合の通信システム1の動作の一例を説明するためのシーケンス図である。
先ず、図10の例と同様にステップS201〜S205、S301およびS302の処理が実行される。そして、ステップS302の処理において、特定ドメイン判定装置90は、対象ドメイン名が特定のドメイン名であると判定する。この場合、特定ドメイン判定装置90は、取得制限を実行し、その取得制限が付された名前解決要求をDNSサーバ40に送信する(ステップS311)。
DNSサーバ40は、取得制限が付された名前解決要求を受信すると、名前解決要求に係るドメイン名に対して名前解決を行ってドメイン名に対応する接続先のIPアドレスとして、IPv4アドレスを取得する(ステップS312)。DNSサーバ40は、取得したIPv4アドレスを結果情報としてロードバランサ30を介して利用者端末10に送信する(ステップS313)。なお、対象ドメイン名が特定のドメイン名であることからNAT64装置60を経由させないためにIPv4アドレスを取得する構成としたが、取得制限の内容次第では、IPv6アドレスを取得するようにしてもよい。
利用者端末10は、結果情報を受信すると、その結果情報であるIPv4アドレスを宛先として接続要求に設定し、その接続要求をIPv6対応WEBサーバ80に送信する(ステップS314)。IPv6対応WEBサーバ80は、接続要求を受信すると、その接続要求に応じて利用者端末10と接続する(ステップS315)。
なお、図12の例では、接続先がIPv4対応WEBサーバ70の場合、単純にIPv6対応WEBサーバ80をIPv4WEBサーバ70と読み替えればよい。また、本実施形態における利用者端末10がNAT64/DNS64サービスに加入していない場合の通信システム1の動作は、図7で示した第1の実施形態の動作と同じである。また、特定ドメイン判定装置90の機能は、ロードバランサ30に備わっていてもよい。
以上説明したように本実施形態によれば、名前解決要求の対象ドメイン名が特定のドメイン名か否かの判定結果に基づいて、名前解決要求がDNSサーバ40およびDNS64サーバ50のいずれかに送信されるため、接続先に応じて適切なサービスを提供することが可能になる。
(第3の実施形態)
図13は、本発明の第3の実施形態の通信システムを示す図である。図13に示す通信システム1は、図1で示した第1の実施形態の通信システム1と比べて、DNSサーバ40とDNS64サーバ50をそれぞれ複数備えている点で異なる。図13では、DNSサーバ40として、DNSサーバ41および42が示されており、DNS64サーバ50として、DNS64サーバ51および52が示されているが、DNSサーバ40とDNS64サーバ50はそれぞれのオプションサービスの種類とそれらのオプションサービスの組み合わせに応じて備えればよく、DNS64機能も1つのオプションサービスであると考える。本実施形態では、DNSサーバ40が2つ、DNS64サーバ50が2つの場合を説明するが、DNSサーバ40とDNS64サーバ50は同数でなくてもよく、それぞれ0〜1つでも、3つ以上あってもよい。例えば、DNSサーバ40が2つ、DNS64サーバ50が1つでもよく、DNSサーバ40が1つ、DNS64サーバ50が3つでもよい。
本実施形態の例としては、DNSサーバ41は、オプションサービスが無く、DNSサーバ42は、NAT64/DNS64オプションサービスとは異なる他のオプションサービスを提供する。また、DNS64サーバ51および52は、NAT64/DNS64オプションサービスに加えて、それぞれ異なる他のオプションサービスを提供する。他のオプションサービスとしては、例えば、予め定められたドメイン名のサイト(例えば、ブラックリストに掲載されているドメイン名のサイトや、ウイルスなどに感染したサイトなど)への接続を制限するフィルタリングサービス、名前解決要求の送信元IPアドレスに応じてサイトの閲覧を制限する閲覧制限サービス、通信履歴を保存する履歴保存サービス、保存した通信履歴に応じたサイト(接続先)を紹介するオススメ紹介サービス、および、利用者への連絡事項を通知する通知サービスなどが挙げられる。閲覧制限サービスでは、予め管理情報に追加登録された利用者の年齢などに応じて、閲覧を制限するサイトを変えてもよい。オプションサービスは、複数種類組み合わされて提供しても良い。
通知サービスでは、連絡事項を利用者端末10に通知してもよいし、連絡事項を提供するサーバに利用者端末10を転送してもよい。連絡事項としては、対象ドメイン名のサイトが提供するサービスの契約期限、または、契約期限が近い旨の情報、対象ドメイン名のサイトにおいて未読のメッセージやメールがある旨の情報、対象ドメイン名のサイトによる特典を示す情報、対象ドメイン名のサイトの関連サイトなどである。関連サイトは、例えば、対象ドメイン名のサイトを閲覧している利用者がよく閲覧しているサイトなどである。
また、本実施形態では、管理DB装置20が格納している管理情報では、利用者IDごとに送信元のIPアドレスおよび加入情報が記憶されている。本実施形態の加入情報には、利用者がどのオプションサービスに加入しているか否かを示す。また、管理DB装置20に格納している管理情報には、IPアドレスの種類と提供しているオプションサービスとに対応するDNSサーバ40またはDNS64サーバ50を示す提供元情報が記憶されている。これにより、管理情報は、利用者端末10のIPアドレスと複数のDNSサーバ40およびDNS64サーバ50のいずれかとの対応関係を示すことができる。加入情報と提供元情報を合体し、利用者IDごとに送信元のIPアドレスと複数のDNSサーバ(41,42,51,52)のいずれかとの対応関係を記憶しても良い。
ロードバランサ30の制御部32は、送信元IPアドレスに基づいて、管理情報から、送信元IPアドレスの利用者が加入しているオプションサービスを確認し、名前解決要求を、管理情報の提供元情報においてその加入しているオプションサービスに対応する複数のDNSサーバ40およびDNS64サーバ50のいずれかに送信する。
図14は、本実施形態における通信システム1の動作の一例を説明するためのシーケンス図である。具体的には、図14は、利用者端末10がIPv6対応端末であり、接続先がIPv6対応WEBサーバ80であり、利用者端末10がDNS64サーバ51によるオプションサービスと他のオプションサービスAに加入している場合の通信システム1の動作の一例を説明するためのシーケンス図である。
先ず、図4の例と同様にステップS201〜S203の処理が実行される。その後、ロードバランサ30の制御部32は、名前解決要求の送信元IPアドレスの種類の判定およびDNSサーバ(41,42,51,52)の特定を行う。DNSサーバ(41,42,51,52)の特定は、制御部32が、管理DB装置20が格納している管理情報の加入者情報において送信元IPアドレスに対応する利用者が加入しているオプションサービスを確認し、管理情報の提供元情報において送信元IPアドレスの種類と加入しているオプションサービスとが対応するDNSサーバとして、DNSサーバ41、DNSサーバ42、DNS64サーバ51およびDNS64サーバ52のいずれかを特定する(ステップS401)。
ここでは、制御部32は、DNS64サーバ51と特定したとする。この場合、制御部32は、名前解決要求を通信部31を介してDNS64サーバ51に送信する(ステップS402)。DNS64サーバ51は、名前解決要求を受信すると、DNS64サーバ50によるサービスに加え、そのDNS64サーバ51に備わっているオプションサービスAを実行する(ステップS403)。その後、ステップS221〜S224の処理が行われる。
なお、利用者端末10の利用者がDNS64サーバ50によるオプションサービスと他のオプションサービスBに加入している場合、ステップS401で制御部32は、送信元IPアドレスによりDNS64サーバ52と特定し、制御部32は、名前解決要求を通信部31を介してDNS64サーバ52に送信し、DNS64サーバ52が名前解決要求を受信し、DNS64サーバ50によるサービスに加え、そのDNS64サーバ52に備わっているオプションサービスBを実行する。その後、ステップS221〜S224の処理が行われる。
本実施形態において、利用者端末10の利用者がNAT64/DNS64サービスに加入していない場合における通信システム1の動作を説明する。
利用者端末10の利用者が他のオプションサービスにも加入していない場合、ステップS401で制御部32は、送信元IPアドレスによりDNSサーバ41と特定し、制御部32は、名前解決要求を通信部31を介してDNSサーバ41に送信し、DNSサーバ41が名前解決要求を受信する。その後、図7のステップS242〜S245の処理と同様の処理が行われる。
また、利用者端末10の利用者が他のオプションサービスAのみに加入している場合、ステップS401で制御部32は、送信元IPアドレスによりDNSサーバ42と特定し、制御部32は、名前解決要求を通信部31を介してDNSサーバ42に送信し、DNSサーバ42が名前解決要求を受信し、そのDNSサーバ42に備わっているオプションサービスAを実行する。その後、図7のステップS242〜S245の処理と同様の処理が行われる。
以上説明したように本実施形態によれば、名前解決要求の送信元の利用者端末10に応じて適切なオプションサービスを提供することが可能になる。
(第4の実施形態)
図15は、本発明の第4の実施形態の通信システムを示す図である。図15に示す通信システム1は、図13で示した第3の実施形態の通信システム1の構成に加えて、宛先ドメイン判定装置91をさらに備える。
宛先ドメイン判定装置91は、名前解決要求を振り分ける振分システムを構成する装置であり、ロードバランサ30がDNS64サーバ50に対して送信した名前解決要求を中継する第2の中継部として機能する。宛先ドメイン判定装置91は、専用装置でも汎用サーバ装置が用いられても良い。例えば、CPU等の制御部、RAMやHDD等の記憶部、LAN端子等の通信部、記憶部に記憶された制御ソフトウェアなどにより構成される。
宛先ドメイン判定装置91は、ロードバランサ30がDNS64サーバ50に対して送信した名前解決要求を受信し、その名前解決要求に含まれる対象ドメイン名に基づいて、名前解決要求をDNS64サーバ51および52のいずれかに送信する。例えば、宛先ドメイン判定装置91は、対象ドメイン名とDNS64サーバ50(DNS64サーバ51および52)との対応関係を示す対応関係情報を記憶部に記憶し、その対応関係情報において、対象ドメイン名と対応する複数のDNS64サーバ50のいずれか(DNS64サーバ51またはDNS64サーバ52)に対して名前解決要求を送信する。ここで、例えば、対象ドメイン名がDNS64サーバ51または52のどちらかに必ず対応していなくても良く、対象ドメイン名がDNS64サーバ51に対応付けられていなければ、対象ドメイン名はDNS64サーバ52に対応付けられていると判定しても良い。
図16は、本実施形態における通信システム1の動作の一例を説明するためのシーケンス図である。具体的には、図16は、利用者端末10がIPv6対応端末であり、接続先がIPv6対応WEBサーバ80であり、利用者端末10がNAT64/DNS64サービスに加入している場合の通信システム1の動作の一例を説明するためのシーケンス図である。
先ず、図4の例と同様にステップS201〜S205の処理が実行される。そして、ステップS205の処理において、ロードバランサ30の制御部32は、利用者端末10がNAT64/DNS64サービスに加入していると判定する。この場合、ロードバランサ30の制御部32は、名前解決要求を通信部31を介して宛先ドメイン判定装置91に送信する(ステップS501)。
宛先ドメイン判定装置91は、名前解決要求を受信すると、名前解決要求に含まれる対象ドメイン名に基づいて、名前解決要求を送信するDNS64サーバ50を選択する(ステップS502)。ここでは、宛先ドメイン判定装置91は、記憶部に記憶された対応関係情報に対象ドメイン名とDNS64サーバ51が対応づけられていたため、名前解決要求を送信するDNS64サーバ50としてDNS64サーバ51を選択したとする。この場合、宛先ドメイン判定装置91は、名前解決要求をDNS64サーバ51に送信する(ステップS503)。DNS64サーバ51は、名前解決要求を受信すると、DNS64サーバ51に備わるオプションサービスAを実行する(ステップS504)。その後、ステップS221〜S224の処理が行われる。
なお、ステップS502で宛先ドメイン判定装置91が、記憶部に記憶された対応関係情報に対象ドメイン名とDNS64サーバ52が対応づけられていた、もしくは、対象ドメイン名とDNS64サーバ51が対応づけられていなかったため、名前解決要求を送信するDNS64サーバ50としてDNS64サーバ52を選択した場合、宛先ドメイン判定装置91は、名前解決要求をDNS64サーバ52に送信し、DNS64サーバ52が名前解決要求を受信して、DNS64サーバ52に備わるオプションサービスBを実行する。その後、ステップS221〜S225の処理が行われる。
また、利用者端末10がNAT64/DNS64サービスに加入していない場合における通信システム1の動作は、図7で示した第1の実施形態の動作と同じである。また、宛先ドメイン判定装置91の機能は、ロードバランサ30に備わっていてもよい。
以上説明したように本実施形態によれば、接続先のドメイン名に応じて適切なオプションサービスを提供することが可能になる。
以上説明した各実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
例えば、通信システム1を構成する各装置の機能は、その機能を実現するためのプログラムを、コンピュータにて読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ実行させることで、実現されてもよい。