Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4514780B2 - 通信装置および通信方法 - Google Patents
[go: Go Back, main page]

JP4514780B2 - 通信装置および通信方法 - Google Patents

通信装置および通信方法 Download PDF

Info

Publication number
JP4514780B2
JP4514780B2 JP2007263723A JP2007263723A JP4514780B2 JP 4514780 B2 JP4514780 B2 JP 4514780B2 JP 2007263723 A JP2007263723 A JP 2007263723A JP 2007263723 A JP2007263723 A JP 2007263723A JP 4514780 B2 JP4514780 B2 JP 4514780B2
Authority
JP
Japan
Prior art keywords
name resolution
information
address
name
network
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
JP2007263723A
Other languages
English (en)
Other versions
JP2009094820A (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.)
Nippon Telegraph and Telephone West Corp
Original Assignee
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 West Corp filed Critical Nippon Telegraph and Telephone West Corp
Priority to JP2007263723A priority Critical patent/JP4514780B2/ja
Publication of JP2009094820A publication Critical patent/JP2009094820A/ja
Application granted granted Critical
Publication of JP4514780B2 publication Critical patent/JP4514780B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、複数のネットワーク接続時における名前解決方法に関する。
従来、IP(Internet Protocol)ネットワークでは、IPアドレスによってネットワーク内のノードを一意に特定している。このIPアドレスは数値列であり人間には覚えにくい。そこで、人間が識別しやすいように、ドメイン名(以下、FQDN(Fully Qualified Domain Name)ともいう)と呼ばれる文字列情報をIPアドレスに対応付けるDNS(Domain Name System)が一般的に利用されている。DNSによるネットワークにおいて、クライアント装置のアプリケーションソフトウェア(以下、アプリケーション)がFQDNを指定してサーバにアクセスする際には、FQDNをIPアドレスに変換する処理が必要となる。このように、FQDNを、そのFQDNに対応するIPアドレスに変換することを、名前解決という。ここで、アプリケーションの要求により名前解決要求パケットを生成して送信する機能部をDNSリゾルバといい、受信した名前解決要求パケットに対応する名前解決結果パケットを生成して応答するサーバプログラムであるDNSサーバプログラムを備えた装置をDNSサーバという。
一般的に、名前解決は、以下のように行われる。すなわち、クライアント装置のアプリケーションは、入力装置から入力されるFQDNを、DNSリゾルバに通知する。DNSリゾルバは、入力されたFQDNを含む名前解決要求パケットを生成してDNSサーバ(名前解決サーバ)に送信する。名前解決要求パケットを受信したDNSサーバは、FQDNとIPアドレスとを対応付けた情報である名前解決情報を予め記憶しており、受信した名前解決要求パケットに含まれるFQDNに対応するIPアドレスを名前解決情報から検出し、検出したIPアドレスを含む名前解決結果パケットを生成して送信する。インターネットには、このようなDNSサーバが分散して備えられており、DNSサーバはDNSルートサーバを頂点とするツリー構造を構成する。すなわち、DNSリゾルバは、近傍のDNSサーバに名前解決できないFQDNの名前解決を行ったとしても、当該ツリー構造により、最終的にFQDNに対応するIPアドレスを取得することができる。
しかしながら、近年では、クライアント装置に接続されるネットワークの形態が多様化しており、上述のような一般的な名前解決方法では、必ずしも適切な名前解決を行うDNSサーバを一意に特定することができなくなっている。例えば、近年のネットワークには、通信事業者やインターネットプロバイダ等が独自に提供するネットワークや、地域ごとに形成される閉域網や企業ごとに形成されたプライベートネットワーク、LAN(Local Area Network)などの特殊なネットワークがある。さらに、これら特殊なネットワークの中には、いわゆるインターネット上のDNSサーバで名前解決が可能であるが、当該ドメイン名と関連付けられたIPアドレスのホストに対して、通信できないかまたは通信の制限があるネットワークもある。
さらに、近年のネットワークには、旧来のインターネットプロトコルであるIPv4(Internet Protocol Version 4)による通信を行うネットワークと、次世代版のインターネットプロトコルとして普及してきたIPv6(Internet Protocol Version 6)による通信を行うネットワークと、IPv4とIPv6との双方によるパケット転送を行うネットワークとがある。
このように、様々なネットワークに接続されたクライアント装置が名前解決を行う方法には、例えば、接続された全てのネットワークが備えるDNSサーバに対して一度に名前解決要求パケットを送信する方法が考えられる。DNSリゾルバは、このような名前解決要求に応答のあった名前解決結果のうち、例えば予め定められた優先順位に従って、優先順位が高いとされる名前解決結果によるIPアドレスを利用する。ここで、予め定められた優先順位とは、例えば、名前解決要求パケットの送信後に最も早く受信した名前解決結果を採用することや、ドメインごとの信用度により予め設定された優先順位などである。
また、このように、様々なネットワークに接続されたクライアント装置が名前解決要求を行う別の方法として、接続された全てのネットワークが備えるDNSサーバに、予め定められた順番で順次問い合わせを行う名前解決要求パケットを送信する方法が考えられる。
さらに、このような名前解決においては、名前解決要求パケットの送信から応答までの時間はできるだけ短縮されることが望ましい。そこで、名前解決結果を一時保存(キャッシュ)する方法が考えられる。例えば、名前解決要求を行うDNSリゾルバを備えるクライアント装置または名前解決要求パケットを中継する中継装置が、一度得た名前解決結果情報(FQDNと対応するIPアドレスとの情報)を記憶しておく、または、高頻度で名前解決が行われるFQDNについて、クライアント装置や中継装置の起動時などに名前解決要求を出し、その名前解決結果を記憶しておく。そして、記憶された同じFQDNの名前解決要求を行う際または受けた際には、DNSサーバに名前解決要求を送信せず、記憶している名前解決結果を利用する(例えば、特許文献1、非特許文献1)。
このように、DNSリゾルバや名前解決の中継装置によって名前解決結果を一時保存(キャッシュ)すれば、ネットワーク上のDNSサーバへの名前解決要求を行う回数を減らし、また、名前解決結果を得るまでの時間を短くすることができる。一般的には、この様なキャッシュは、名前解決結果のそれぞれに設定される有効期限に従って、有効期限を経過した名前解決結果(IPアドレス)は無効化される。
特開2004−297494号公報 「DNS&BIND(第4版)」、Paul Albitz(原著)、Cricket Liu(著)、高田広章(翻訳).小島育夫(翻訳)、小館光正(翻訳) オライリー・ジャパン発行 2002年2月26日
しかしながら、上述のように多様なネットワーク形態において名前解決を行う方法に関する従来技術には、以下のような問題がある。
まず、接続された全てのネットワークのDNSサーバに対して一度に名前解決要求パケットを送信する方法においては、DNSリゾルバが接続された全てのDNSサーバに対して名前解決要求パケットを送信するため、DNSの構造上、ルートサーバなどの上位のサーバに過度の処理負担がかかり、望ましい方法ではない。
さらに,特殊なネットワーク上のドメインの場合、インターネット上のDNSサーバでは名前解決ができないため、一度に複数のインターネット上のDNSサーバに名前解決要求パケットを送信した場合、名前解決ができないにもかかわらず、ルートサーバにまで解決要求が複数届いてしまう。これがネットワークやインターネット上のDNSに負荷をかけることになり、いわゆるRFC(Request for Comments)勧告などによるインターネットの推奨的な利用ルールを満たさないため、望ましい方法ではない。
また、接続されたネットワークのDNSサーバに対して、順次、名前解決要求を送信する方法においては、最終的に名前解決を行うDNSサーバに辿りつくまでに長い時間が経過してしまう場合がある。さらに、ここで、名前解決要求を受信したDNSサーバが、要求に対応する名前解決結果を記憶していない場合、名前解決を行えないことを示す情報を応答するとは限らない。すなわち、名前解決要求に対して、DNSサーバは無応答となる場合がある。名前解決要求を送信したDNSリゾルバは、予め設定された待ち時間が経過(タイムアウト)するまで、待ちの状態となる。このように、順次問い合わせを実行する場合、応答が得られるまでに長い時間が経過してしまう可能性がある。また、ここで、DNSリゾルバのタイムアウト制限を超えた時間が経過すれば、ユーザはネットワークに接続するサービスを受けられないこととなる。すなわち、順次問い合わせによる名前解決は、クライアント装置のユーザの利便性を考慮すると、望ましい方法ではない。
また、IPv4ネットワークとIPv6ネットワークとの混在環境では、以下の3つの課題を解決する名前解決方法が望ましい。第1に、ネットワーク層(レイヤ3)におけるIPv4パケットとIPv6パケットとのヘッダに互換性がないことである。第2に、レイヤ4以上において、IPv4形式のアドレスを問い合わせるシングルA(A)クエリ、IPv6形式のアドレスを問い合わせるクアッドA(AAAA)クエリ、IPv4形式とIPv6形式とのどちらもの形式のアドレスを問い合わせるanyクエリの形式がある。第3に、上述のような多様なネットワーク形態において、それぞれのDNSサーバの解決可能なFQDNの所掌範囲が異なることである。これらの3つの課題が任意に組み合わされた状態で送信される多様な名前解決要求に対して、どのネットワーク上のDNSサーバに問い合わせをすれば、正しい名前解決ができるか判断する仕組みが必要となる。
さらに、近年の多様化したネットワークに接続されるクライアント装置は、PC(Personal Computer)であったり、PDA(Personal Digital Assistant)であったりして機能・性能にばらつきがあるため、クライアント装置に名前解決のための複雑な処理を行わせることは必ずしも適切ではない。
本発明は、このような状況に鑑みてなされたもので、上述のような多様なネットワーク形態に接続された状態で、効率良く名前解決を行うDNSプロキシ機能を備えた通信装置および方法を提供する。
上述した課題を解決するために、本発明は、ネットワークに備えられるいずれかのDNSサーバによって名前解決を行うIP通信可能な通信装置であって、ドメイン名情報と、ドメイン名情報を名前解決可能なDNSサーバにアクセスするための接続補助情報とを対応付けて予め記憶する記憶手段(例えば、記憶部230−1)と、入力される第1の名前解決要求情報に含まれるドメイン名情報に対応する接続補助情報が、記憶手段に記憶されているか否かを判定する名前解決制御手段と(例えば、名前解決制御部260−1)、名前解決制御手段が、記憶手段にドメイン名情報に対応する接続情報が記憶されていると判定すると、接続情報を読み出し、読み出した接続補助情報に基づいて、ドメイン名情報を名前解決可能なDNSサーバに、ドメイン名情報を含む第2の名前解決要求情報を送信し、当該DNSサーバから当該第2の名前解決要求情報に対応する名前解決結果情報を受信する名前解決代理手段(例えば、名前解決代理部250−1)と、を備えることを特徴とする。
本発明は、上述の記憶手段は、ドメイン名情報と、ドメイン名情報を解決可能なDNSサーバのIPアドレスであるDNSサーバIPアドレスとを対応付けた情報である第1の対応情報(例えば、Phase1テーブル232−1)を、接続補助情報として予め記憶し、名前解決代理手段は、名前解決制御手段が、ドメイン名情報に対応するDNSサーバIPアドレスを、記憶手段に第1の対応情報として記憶されていると判定した場合に、そのDNSサーバIPアドレスを宛先として、第1の名前解決要求情報を、第2の名前解決要求情報として送信し、当該第2の名前解決要求情報に対応する名前解決結果情報を受信する第1の名前解決代理手段(例えば、Phase1処理部252−1)を含み、名前解決結果情報を出力する名前解決結果出力手段をさらに備えることを特徴とする。
本発明は、上述のネットワークは、第1のネットワークプロトコルと第2のネットワークプロトコルとによる通信が行われており、第1の名前解決要求情報は、第1のネットワークプロトコルによる名前解決要求情報であり、DNSサーバは、第2のネットワークプロトコルによる名前解決を行い、記憶手段は、ドメイン名情報と、第1のネットワークプロトコルにより予め定められた第1のネットワークのIPアドレスと、ドメイン名情報に対応する第2のネットワークプロトコルによるIPアドレスである第2のネットワークのIPアドレスとを対応付けた情報である第2の対応情報(例えば、Phase0テーブル231−1)を、接続補助情報として記憶し、名前解決制御手段が、ドメイン名情報に対応する第1のネットワークアドレスが記憶手段に第2の対応情報として記憶されていると判定した場合に、第1のネットワークのIPアドレスを名前解決結果として出力する名前解決結果出力手段(例えば、名前解決結果送信部280−1)をさらに備えることを特徴とする。
本発明は、上述の名前解決代理手段は、DNSサーバに、第2のネットワークプロトコルにより、ドメイン名情報を含む第2の名前解決要求情報を送信し、当該第2の名前解決要求情報に対応する第2の名前解決結果情報を受信する第2の名前解決代理手段(例えば、Phase0処理部251−1)を含み、名前解決制御手段は、第1のネットワークのIPアドレスに対応する第2のネットワークのIPアドレスが、記憶手段に第2の対応情報として記憶されていないと判定した場合に、第2の名前解決代理手段を動作させることを特徴とする。
本発明は、上述の第2の名前解決代理手段が受信する第2の名前解決結果情報から、第2のドメイン名情報に対応する第2のネットワークのIPアドレスを検出し、検出した第2のネットワークのIPアドレスとドメイン名情報とを対応付けた情報を第2の対応情報として記憶手段に記憶させる対応情報更新手段(例えば、対応情報更新部240−1)をさらに備えることを特徴とする。
本発明は、上述の第1のネットワークプロトコルによる第1のネットワークのIPアドレスを宛先とするIPパケットを受信すると、記憶手段に記憶された第2の対応情報から、当該第1のネットワークのIPアドレスに対応する第2のネットワークのIPアドレスを読み出し、IPパケットのヘッダ情報を、第2のネットワークのIPアドレスを宛先とする第2のネットワークプロトコルによるヘッダ情報に変換するプロトコル変換手段(例えば、IPヘッダ変換部220−1)をさらに備えることを特徴とする。
本発明は、上述の記憶手段は、予め定められた優先順位と、DNSサーバIPアドレスと、当該DNSサーバIPアドレスへの通信が有効か無効かを示す状態情報とを対応付けた第3の対応情報を記憶し、名前解決代理手段は、記憶手段から、第3の対応情報のうち、状態情報が有効であり、かつ最も優先順位が高いことを示すDNSサーバIPアドレスを検出して、検出したDNSサーバIPアドレスに、第1の名前解決要求情報を第2の名前解決要求情報として転送し、当該第2の名前解決要求情報に対応する名前解決結果情報を受信する第3の名前解決代理手段(例えば、Phase2処理部253−1)を含み、名前解決制御手段は、第1の名前解決要求情報に含まれるドメイン名情報に対応する情報を、記憶手段に記憶された第1の対応情報から検出できないか、または、記憶手段に記憶された第2の対応情報から検出できないか、または双方の場合に、第3の名前解決代理手段を動作させることを特徴とする。
本発明は、上述の名前解決代理手段は、予め記憶されたDNSサーバIPアドレスに対して名前解決要求を行うか、DHCPサーバから受信するDNSサーバIPアドレスに対して名前解決要求を行うかのいずれかによって名前解決を行う第4の名前解決代理手段(例えば、Phase3処理部254−1)を含み、名前解決制御手段は、第3の名前解決代理手段が、記憶手段に記憶された第3の対応情報から、DNSサーバIPアドレスを検出しなかった場合に、第4の名前解決代理手段を動作させることを特徴とする。
本発明は、上述のネットワークに備えられるいずれかのDNSサーバによって名前解決を行うIP通信可能な通信装置の通信方法であって、記憶手段に、ドメイン名情報と、ドメイン名情報を名前解決可能なDNSサーバにアクセスするための接続補助情報とを対応付けて予め記憶させるステップと、名前解決制御手段が、入力される第1の名前解決要求情報に含まれるドメイン名情報に対応する接続補助情報が記憶手段に記憶されているか否かを判定するステップと、名前解決制御手段が、第1の名前解決要求情報に含まれるドメイン名情報に対応する接続情報が記憶手段に記憶されていると判定した場合に、名前解決代理手段が、接続情報を読み出し、読み出した接続補助情報に基づいて、ドメイン名情報を名前解決可能なDNSサーバに、ドメイン名情報を含む第2の名前解決要求情報を送信し、当該DNSサーバから当該第2の名前解決要求情報に対応する名前解決結果情報を受信するステップと、を備えることを特徴とする。
本発明は、上述の記憶手段は、ドメイン名情報と、ドメイン名情報を解決可能なDNSサーバのIPアドレスであるDNSサーバIPアドレスとを対応付けた情報である第1の対応情報を、接続補助情報として予め記憶し、名前解決制御手段が、ドメイン名情報に対応するDNSサーバIPアドレスが記憶手段に第1の対応情報として記憶されていると判定した場合に、名前解決代理手段が含む第1の名前解決代理手段が、DNSサーバIPアドレスを宛先として、第1の名前解決要求情報を、第2の名前解決要求情報として送信し、当該第2の名前解決要求情報に対応する名前解決結果情報を受信するステップと、名前解決結果出力手段が、名前解決結果情報を出力するステップと、を備えることを特徴とする。
本発明は、上述のネットワークは、第1のネットワークプロトコルと第2のネットワークプロトコルとによる通信が行われており、第1の名前解決要求情報は、第1のネットワークプロトコルによる名前解決要求情報であり、DNSサーバは、第2のネットワークプロトコルによる名前解決を行い、記憶手段に、ドメイン名情報と、第1のネットワークプロトコルにより予め定められた第1のネットワークのIPアドレスと、ドメイン名情報に対応する第2のネットワークプロトコルによるIPアドレスである第2のネットワークのIPアドレスとを対応付けた情報である第2の対応情報を、接続補助情報として記憶させるステップと、名前解決結果出力手段が、名前解決制御手段がドメイン名情報に対応する第1のネットワークアドレスが記憶手段に第2の対応情報として記憶されていると判定した場合に、第1のネットワークのIPアドレスを名前解決結果として出力するステップとを備えることを特徴とする。
本発明は、上述の名前解決代理手段が含む第2の名前解決代理手段が、DNSサーバに、第2のネットワークプロトコルにより、ドメイン名情報を含む第2の名前解決要求情報を送信し、当該第2の名前解決要求情報に対応する第2の名前解決結果情報を受信するステップと、名前解決制御手段が、第1のネットワークのIPアドレスに対応する第2のネットワークのIPアドレスが、記憶手段に第2の対応情報として記憶されていないと判定した場合に、第2の名前解決代理手段を動作させるステップとを備えることを特徴とする。
本発明は、上述の対応情報更新手段が、第2の名前解決代理手段が受信する第2の名前解決結果情報から、第2のドメイン名情報に対応する第2のネットワークのIPアドレスを検出し、検出した第2のネットワークのIPアドレスとドメイン名情報とを対応付けた情報を第2の対応情報として記憶手段に記憶させることを特徴とする。
本発明は、上述のプロトコル変換手段が、第1のネットワークプロトコルによる第1のネットワークのIPアドレスを宛先とするIPパケットを受信すると、記憶手段に記憶された第2の対応情報から、当該第1のネットワークのIPアドレスに対応する第2のネットワークのIPアドレスを読み出し、IPパケットのヘッダ情報を、第2のネットワークのIPアドレスを宛先とする第2のネットワークプロトコルによるヘッダ情報に変換するステップを備えることを特徴とする。
本発明は、上述の記憶手段は、予め定められた優先順位と、DNSサーバIPアドレスと、当該DNSサーバIPアドレスへの通信が有効か無効かを示す状態情報とを対応付けた第3の対応情報を記憶し、名前解決代理手段が含む第3の名前解決代理手段が、前記記憶手段から、前記第3の対応情報のうち、状態情報が有効であり、かつ、最も優先順位が高いことを示すDNSサーバIPアドレスを検出して、検出したDNSサーバIPアドレスに、前記第1の名前解決要求情報を第2の名前解決要求情報として転送し、当該第2の名前解決要求情報に対応する名前解決結果情報を受信するステップと、名前解決制御手段が、第1の名前解決要求情報に含まれるドメイン名情報に対応する情報を、記憶手段に記憶された第1の対応情報から検出できないか、または、記憶手段に記憶された第2の対応情報から検出できないか、または双方の場合に、第3の名前解決代理手段を動作させるステップとを備えることを特徴とする。
本発明は、上述の名前解決代理手段が備える第4の名前解決代理手段が、予め記憶されたDNSサーバIPアドレスに対して名前解決要求を行うか、DHCPサーバから受信するDNSサーバIPアドレスに対して名前解決要求を行うかのいずれかによって名前解決を行うステップと、名前解決制御手段は、第3の名前解決代理手段が、前記記憶手段に記憶された第3の対応情報から、DNSサーバIPアドレスを検出しなかった場合に、第4の名前解決代理手段を動作させることを特徴とする。
以上説明したように、本発明によれば、多様なネットワークに接続された環境において、予め記憶されるドメイン名を含む名前解決要求が入力された場合に、予め定められた最適なDNSサーバに関する接続補助情報を検出して名前解決要求を代理するようにしたので、名前解決要求をその複数のネットワークのうちのいずれのDNSサーバに対して行えば名前解決結果が得られるかを、効率良く特定する通信手段を提供することができる。
さらに、本発明によれば、予め記憶されるドメイン名を含む名前解決要求が入力された場合に、そのドメイン名に対応するDNSサーバのIPアドレスを予め記憶し、記憶されたIPアドレスに基づいて名前解決要求の送信を代理するようにしたので、接続可能なDNSサーバの全てに名前解決要求を送信することなく、予め最適と定められたDNSサーバにのみ名前解決要求を行うことができる。
さらに、本発明によれば、第1のネットワークプロトコルによる第1のネットワークアドレスと、第2のネットワークプロトコルによる第2のネットワークアドレスとを対応付けた情報である第2の対応情報を予め記憶し、名前解決要求に対しては第1のネットワークアドレスを出力するようにしたので、名前解決要求情報が基づくネットワークプロトコルと、その名前解決結果を解決可能なDNSサーバのネットワークプロトコルが異なっている場合にも、入力される名前解決要求に対応する名前解決結果を出力することができる。
さらに、本発明によれば、第1のネットワークプロトコルによる名前解決要求情報を受信し、その名前解決要求情報に含まれるドメイン名に対応する第2のネットワークプロトコルによるIPアドレスが記憶されていなかった場合に、その名前解決要求を解決することが可能なDNSサーバへの名前解決要求を代理して行うようにしたので、最新のネットワーク環境における名前解決結果を出力することができる。
さらに、本発明によれば、第2のネットワークプロトコルによる名前解決結果を記憶しておき、既に記憶されたドメイン名を含んだ名前解決要求を受信した際には、再度名前解決要求を行うことなく、対応する名前解決結果を出力することができる。
さらに、本発明によれば、第1のネットワークプロトコルによる第1のネットワークアドレスを宛先とするIPパケットのヘッダ情報を、第1のネットワークアドレスに対応しえて予め記憶された第2のネットワークアドレスを宛先とするヘッダ情報に変換して送信するようにしたので、異なるネットワークプロトコルを用いる装置間の通信を可能とさせることができる。
さらに、本発明によれば、上述の方法により名前解決できないと検出される場合には、予め定められた優先順位に基づいて選択される通信可能なDNSサーバに名前解決要求を送信するようにしたので、複数の通信可能なDNSサーバへの経路がある場合でも、優先順位に基づいて名前解決を行うことができる。このように、通信可能な経路のうち、優先順位が最も高いDNSサーバに対して名前解決要求を行うようにしたので、ネットワークやDNSサーバへの負荷を最小に抑えることができる。
さらに、本発明によれば、上述の方法により名前解決できないと検出される場合には、予め記憶されたDNSサーバIPアドレスに対して名前解決要求を行うか、DHCPサーバから受信するDNSサーバIPアドレスに対して名前解決要求を行うかのいずれかによって名前解決を行うようにしたので、ネットワーク上のいずれかのDNSサーバに接続することができる。これによれば、名前解決ができないという事態や、FQDNが指し示す相手と通信ができないという事態を最大限避けることができる。
このように、本発明によれば、複数の名前解決要求手段を使い分けることで、ネットワークにできるだけ負荷をかけず、かつ、様々な形態のネットワークへの名前解決要求に対する名前解決結果を提供し、名前解決要求を送信してくるDNSリゾルバに対して、単一のDNSサーバを仮想的にみせるDNSプロキシとしての機能を提供することが可能となる。
以下、本発明の一実施形態について、図面を参照して説明する。
<ネットワーク環境>
図1は、本発明の一実施形態による通信装置を用いるネットワーク環境を示す図である。本実施形態によるネットワーク環境には、IPv4閉域ネットワーク900と、IPv4閉域ネットワーク900と通信可能なIPv4クライアント装置100−2とIPv6クライアント装置101−1と、IPv4クライアント装置100−2とIPv4閉域ネットワーク900の通信を中継する回線終端装置200−2と、IPv6クライアント装置101−1とIPv4閉域ネットワーク900の通信を中継する回線終端装置200−3と、IPv4閉域ネットワーク900に備えられたDNSサーバ911と、IPv4閉域ネットワーク900に接続されたIPv4インターネット301と、IPv4インターネット301が備えるIPv4DNSサーバ311と情報サーバ521と、IPv4閉域ネットワーク900に接続されたIPv4プライベートネットワーク501と、IPv4プライベートネットワーク501が備えるIPv4プライベートDNSサーバ511と情報サーバ520と情報サーバ524とが備えられる。
さらに、本実施形態によるネットワーク環境には、IPv6閉域ネットワーク901と、IPv6閉域ネットワーク901と通信可能なIPv4クライアント装置100−1とIPv6クライアント装置101−2と、IPv4クライアント装置100−1とIPv6閉域ネットワーク901との通信を中継する回線終端装置200−1と、IPv6クライアント装置101−2とIPv6閉域ネットワーク901の通信を中継する回線終端装置200−4と、IPv6閉域ネットワーク901に備えられたDNSサーバ912と、IPv6閉域ネットワーク901に接続されたIPv6インターネット302と、IPv6インターネット302が備えるIPv6DNSサーバ312と情報サーバ523と、IPv6閉域ネットワーク901に接続されたIPv6プライベートネットワーク502と、IPv6プライベートネットワーク502が備えるIPv6プライベートDNSサーバ512と情報サーバ520とが備えられる。ここで、IPv4インターネット301とIPv6インターネット302とは、ルートサーバ10と、DNSサーバ11とを備えている。
ルートサーバ10は、DNSサーバのツリー構造の頂点にある情報を記憶する。DNSサーバ11は、IPv4とIPv6とのいずれものネットワークプロトコルによる名前解決を行うDNSサーバである。
IPv4閉域ネットワーク900は、IPv4による通信を行うネットワークである。回線終端装置200−2は、IPv4閉域ネットワーク900とユーザが利用するIPv4クライアント装置100−2との通信を中継する通信装置である。IPv4クライアント装置100−2は、ユーザが利用する通信端末であり、例えば、PCやPDAである。IPv4クライアント装置100−2は、IPv4によりネットワーク通信を行う。
回線終端装置200−3は、回線終端装置200−2と同様の構成をしている。回線終端装置200−3は、IPv4閉域ネットワーク900とユーザが利用するIPv6クライアント装置101−1との通信を中継する通信装置である。IPv6クライアント装置101−1は、ユーザが利用する通信端末である。IPv6クライアント装置101−1は、IPv6によりネットワーク通信を行う。
DNSサーバ911は、IPv4閉域ネットワーク内で用いられるFQDNの名前解決を行うサーバであり、ルートサーバ10と接続された場合はグローバルドメインの名前解決ができると同時に、IPv4閉域ネットワーク900内のみで用いられる特殊ドメインの名前解決を実施することもできるサーバであり、IPv4閉域ネットワーク900に備えられる。IPv4インターネット301は、例えば、ISP(インターネットサービスプロバイダ)によって提供されるネットワークであり、インターネットに接続されている。情報サーバ521は、ネットワークを介して、情報通信によるサービスを提供するサーバ装置であり、例えば、ウェブサーバである。IPv4DNSサーバ311は、IPv4によるドメイン名の名前解決を行う。
ここで、以下の説明で使用するドメインに関する用語について定義する。まず、グローバルドメインとは、インターネットに接続することができるネットワークエリア、サブネットであり、いわゆるWAN(Wide Area Network)である。グローバルドメイン名とは、インターネット上で唯一無二が保証されており、IANA(Internet Assigned Numbers Authority)などのドメイン名とグローバルIPアドレスとの組み合わせの管理をしている団体に登録している文字列である。
このようなドメイン名は、通常、ドメイン名が指し示すホスト(サーバ)を英数字による文字列で表したものであり、インターネット上のDNSルートサーバと通信可能なDNSサーバによってグローバルIPアドレスに変換することが可能となっている。ここで、DNSルートサーバは、DNSにおいて、ドメイン名空間の頂点(TLD、Top Level Domain)の情報を記憶するサーバである。すなわち、グローバルドメインに備えられた各DNSサーバは、名前解決要求を受けたドメイン名が、自装置が記憶しているものではなく、かつキャッシュデータもない場合は、再帰検索を行ってIPアドレスを検索する。再帰検索は、DNSルートサーバまで辿って問い合わせを行い、検索対象のドメイン名のTLDに対応するDNSサーバのIPアドレスを取得し、以後、順次下位ドメインのDNSサーバを辿っていき、名前解決要求を受けたドメイン名に対応するIPアドレスを記憶するDNSサーバを探し出してIPアドレスを取得する。
ただし、このような名前解決を行うことが可能であったとしても、そのホストが実際にインターネット上にあるかどうか(パケットの到達性があるかどうか)ということと、名前解決ができるかどうかということとは独立事象となる。すなわち、図2に示されるように、インターネット上のルートサーバ10にて名前解決可能であるが、名前解決結果としてのIPアドレスを有するホスト1001との通信は制限されている場合がある。例えば、図2に示されるホスト1001は、ドメイン名を「aaa.com」とし、IPアドレスを「99.88.77.66」とするホストであり、ISP−Bによって運営されるISP−Bネットワーク1003に設けられた閉域網であるプライベートネットワーク1004に備えられるホストである。ここで、ISP−Bネットワーク1003は、例えば、予め承認された通信装置のみからのホスト1001への通信を中継するように構成される。
ルートサーバ10は、名前解決情報として、例えば、「aaa.com」と対応付けてIPアドレス「99.88.77.66」を記憶している。ここで、通信装置1005は、「aaa.com」のドメイン名の名前解決要求は、ISP−Aネットワーク1002を経由しても、ISP−Bネットワーク1003を経由しても、どちらでもルートサーバ10からの応答としてIPアドレス「99.88.77.66」の情報を含んだ名前解決結果を受信することが可能である。しかしながら、通信装置1005は、IPアドレス「99.88.77.66」へ接続する場合には、ISP−Bネットワーク1003を経由しなければならないし、ISP−Bネットワーク1003によって接続が制限されていれば、プライベートネットワーク1004に備えられるホスト1001に接続することはできない。例えば、図1においては、情報サーバ520および情報サーバ522にこのような特殊なドメイン名が付与されている。
次に、ローカルドメインとは、インターネットにつながっていないネットワークエリア、サブネットであり、いわゆるLAN(Local Area Network)である。ローカルドメイン名とは、利用者がホストやエリアに対して付けた文字列であり、唯一無二は保証されていない。このようなドメイン名は、DNSのルートサーバではIPアドレスに変換できない。ローカルドメイン名は、通常、利用者やLAN構築者が設置したDNSサーバでのみ名前解決ができる。この場合も、名前解決ができるかどうかということとその名前解決結果が指し示すホストに対してパケット到達性があるかどうかということとは独立事象である。図1では、例えば、情報サーバ520はローカルドメインである。ここで、ローカルドメインと、上述の図2に示されたホスト1001のような、グローバルドメインに備えられたDNSサーバで解決可能であるがパケットの到達性のないまたは制限されたホストのドメインとを、特殊ドメインといい、特殊ドメインにあるドメイン名を特殊ドメイン名という。
図1におけるIPv4プライベートネットワーク501は、特殊ドメインである。すなわち、IPv4プライベートネットワーク501は、IPv4閉域ネットワーク900に接続された閉域網であり、IPv4プライベートネットワーク501の管理者によってアクセス制限が加えられている。IPv4プライベートネットワーク501は、IPv4プライベートDNSサーバ511を備えている。IPv4プライベートDNSサーバ511は、例えば、IPv4プライベートネットワーク501に備えられるホストに対応付けられたドメイン名の名前解決を行う。IPv4プライベートネットワーク501において名前解決されるドメイン名は、特殊ドメイン名である。
IPv6閉域ネットワーク901は、IPv6による通信を行うIPネットワークである。回線終端装置200−1は、回線終端装置200−2と同様の構成をしており、IPv6閉域ネットワーク901とユーザが利用するIPv4クライアント装置100−1との通信を中継する通信装置である。IPv4クライアント装置100−1は、ユーザが利用する通信端末である。IPv4クライアント装置100−1は、IPv4によりネットワーク通信を行う。
回線終端装置200−4は、回線終端装置200−3と同様の構成をしている。回線終端装置200−4は、IPv6閉域ネットワーク901とユーザが利用するIPv6クライアント装置101−2との通信を中継する通信装置である。IPv6クライアント装置101−2は、ユーザが利用する通信端末である。IPv6クライアント装置101−2は、IPv6によりネットワーク通信を行う。
DNSサーバ912は、IPv6閉域ネットワーク内で用いられるFQDNの名前解決を行うサーバであり、ルートサーバ10と接続された場合はグローバルドメインの名前解決ができると同時に、IPv6閉域ネットワーク901内のみで用いられる特殊ドメインの名前解決を実施することもできるサーバであり、IPv6閉域ネットワーク901に備えられる。IPv6インターネット302は、例えば、ISP(インターネットサービスプロバイダ)によって提供されるネットワークであり、インターネットに接続されている。IPv6DNSサーバ312は、ドメイン名の名前解決を行う。情報サーバ523は、ネットワークを介して、情報通信によるサービスを提供するサーバ装置であり、例えば、ウェブサーバである。
IPv6プライベートネットワーク502は、特殊ドメインである。すなわち、IPv6プライベートネットワーク502は、IPv6閉域ネットワーク901に接続された閉域網であり、IPv6プライベートネットワーク502の管理者によってアクセス制限が加えられている。IPv6プライベートDNSサーバ512は、例えば、IPv6プライベートネットワーク502に備えられるホストに対応付けられた特殊ドメイン名の名前解決を行う。情報サーバ522は、ネットワークを介して、情報通信によるサービスを提供するサーバ装置であり、例えば、ウェブサーバである。
上述のように、回線終端装置200−1、回線終端装置200−2、回線終端装置200−3、回線終端装置200−4との回線終端装置は、同様の構成をしており、図1に示されたような多様なネットワーク形態のホスト間の通信を可能とする通信装置である。
なお、図1には、インターネットに接続されるネットワークとしてIPv4閉域ネットワーク900とIPv6閉域ネットワーク901とを示したが、それぞれのネットワークは複数あって良い。また、IPv4閉域ネットワーク900およびIPv6閉域ネットワーク901に接続されるプライベートネットワークも複数あっても良いし、回線終端装置、クライアント装置も、それぞれ複数台存在していても良い。
<通信装置:構成>
図3は、本実施形態による通信装置である回線終端装置200−1の構成を示すブロック図である。
回線終端装置200−1は、例えば、通信事業者やネットワークサービスプロバイダから提供されるネットワーク中継装置であり、ユーザが利用するクライアント装置に、ネットワークへの接続環境を提供する。回線終端装置200−1は、通信部210−1と、IPヘッダ変換部220−1と、記憶部230−1と、対応情報更新部240−1と、DHCPクライアント部245−1と、DHCPサーバ部246−1と、名前解決代理部250−1と、名前解決制御部260−1と、名前解決要求受信部270−1と、名前解決結果送信部280−1と、DNSリゾルバ290−1とを備えている。
通信部210−1は、インターネットなどの外部ネットワークと通信を行う。外部ネットワークには、例えば、IPv4によるパケット転送を行うネットワークと、IPv6によるパケット転送を行うネットワークと、IPv4とIPv6との双方によるパケット転送を行うネットワークとがある。本実施形態において、ネットワークには、上述のように、グローバルドメインと、特殊ドメインとが存在する。
通信部210−1は、例えば、IPv4通信部211−1と、IPv6通信部212−1とを備えている。IPv4通信部211−1は、IPv4パケットによる通信を行い、IPv6通信部212−1は、IPv6パケットによる通信を行う。IPパケットは大別してヘッダ部とボディ部から構成されており、IPv4パケットと、IPv6パケットでは、ヘッダ部が異なる構造となっている。すなわち、IPv4パケットにはIPv4のヘッダ情報が付加され、IPv6パケットにはIPv6のヘッダ情報が付加される。ここで、ボディ部は任意のデータであって良い。現在、IPv4とIPv6の2種類が一般的に利用されている。
IPヘッダ変換部220−1は、IPv4パケットのヘッダ部と、IPv6パケットのヘッダ部との相互変換を行う。IPヘッダ変換部220−1は、ヘッダ部を変換することで、IPパケットのプロトコル変換を行う。
記憶部230−1は、クライアント装置100−1と外部ネットワークとの通信を中継するために必要な情報を記憶する記憶部であり、Phase0テーブル231−1と、Phase1テーブル232−1と、論理IF記憶部233−1とを備える。
Phase0テーブル231−1は、後述するPhase0処理部251−1が名前解決を行うために必要な情報の記憶部である。Phase0テーブル231−1に記憶されるデータ構造例を図4に示す。Phase0テーブル231−1は、例えば、IPv6でのみアクセス可能な情報サーバのドメイン名を示す文字列情報に対応付けて、Phase0テーブル231−1で一意となる仮想アドレスと、当該情報サーバのIPアドレスを示す実アドレスとを記憶する。
以下、Phase0テーブル231−1に記憶された、ドメイン名と、ドメイン名と対応付けられた仮想アドレスと、実アドレスとの一組の情報を、Phase0レコードという。本実施形態では、仮想アドレスは、予め定められたIPv4によるアドレスであり、実アドレスは、IPv6でのみアクセス可能な情報サーバのアドレスである。なお、本実施形態では、仮想アドレスと実アドレスとは異なるプロトコルによるアドレスであるが、同一プロトコルによるアドレスを記憶させても良い。また、仮想アドレスを、予め定められたIPv6によるアドレスとし、実アドレスを、IPv4でのみアクセス可能な情報サーバのアドレスとしても良い。
Phase1テーブル232−1は、Phase1処理部252−1が名前解決先を検出するための情報を記憶する記憶部である。Phase1テーブル232−1のデータ構造例を図5に示す。Phase1テーブル232−1は、ドメイン名に対応付けて、そのドメイン名を名前解決できるプライマリDNSサーバアドレスと、セカンダリDNSサーバアドレスとが記憶される。以下、Phase1テーブル232−1に記憶された、ドメイン名と対応づけて記憶されたプライマリDNSサーバアドレスとセカンダリDNSサーバアドレスとの一組の情報を、Phase1レコードという。
Phase1テーブル232−1に記憶されるドメイン名は、通常、FQDNであり、本実施形態においては特殊ドメイン名が記憶される。なお、記憶されるドメイン名は特殊ドメイン名でなくともよく、グローバルのドメイン名を記憶させても良い。プライマリDNSサーバアドレスは、DNSにおけるいわゆるプライマリDNSサーバである。すなわち、DNSでは、障害対策や負荷分散のため、プライマリDNSサーバとセカンダリDNSサーバという2系統のDNSサーバにて運用されることが推奨されている。ここで、プライマリDNSサーバは、主系統のDNSサーバである。
セカンダリDNSサーバは、障害時の対応や問い合わせの負荷分散のためのバックアップの役割を担う副系統のDNSサーバである。セカンダリDNSサーバは、プライマリDNSサーバから、定期的に正引き、逆引きの情報をコピーしてデータを記憶する。回線終端装置200−1の管理者、利用者は、予めPhase1テーブル232−1に適当な値を記憶させておく。なお、Phase1テーブル232−1に記憶される各DNSサーバのアドレスは、IPv4によるものでも良いし、IPv6によるものでも良い。本実施形態では、IPv4によるアドレスとする。
ここで、本実施形態においては、Phase1テーブル232−1には、特殊ドメインとそのサブドメインの名前解決が可能なDNSサーバのIPアドレスを設定する。DNSサーバのIPアドレスは、IPv4、IPv6のいずれでも良い。また、プライマリDNSサーバおよびセカンダリDNSサーバのように複数台のDNSサーバを指定することも可能とする。
論理IF記憶部233−1は、Phase2処理部253−1が名前解決処理を行うための情報を記憶する記憶部である。論理IF記憶部233−1のデータ構造例を図6に示す。論理IF記憶部233は、例えば、論理IF(インターフェイス)の識別情報である論理IF識別情報に対応付けて、優先順位と、論理IF状態と、DNSサーバアドレスとを記憶する。
論理IF識別情報は、ネットワークに接続される論理IFを識別する情報であり、例えば、文字列情報である。優先順位は、予め定められる優先順位を示す情報であり、例えば、数値情報であり、本実施形態では、数値が小さいほど順位が高いことを示す。論理IF記憶部233−1は、グローバルドメインの名前解決が可能なDNSサーバへの接続情報を記憶するが、例えば複数のISPに接続されるような場合は、それら複数のISPがそれぞれに提供するDNSサーバのうち、いずれのDNSサーバに名前解決要求を送信するかを決定するための情報が、優先順位である。論理IF状態には、論理IF制御部242−1によって、各論理IFのそれぞれの接続状態が有効であるか否かが、例えば、「active」か「inactive」かで記憶される。DNSサーバアドレスは、それぞれの論理IFの先にあるネットワーク上のDNSサーバのIPアドレスを示す。以下、このような、論理IF記憶部233−1に、論理IF識別情報と対応付けて記憶された優先順位と、論理IF状態と、DNSサーバアドレスとの一組の情報を、論理IFレコードという。
対応情報更新部240−1は、Phase0処理部251が受信するIPv6アドレスを、対応するドメイン名と、予め定められた仮想IPv4アドレスとに対応付けて、Phase0テーブル231−1に記憶させる。
被制御部241−1は、回線終端装置200−1を管理する制御装置と通信し、回線終端装置200−1の物理的状態、通信の状態、過去の動作(ログ)などの、機器の状態を示す状態情報を、例えば名前解決制御部260−1に送信し、ネットワークを介して自端末を管理する制御装置に送信する。また、自端末を管理する制御装置から上述のような設定情報を受信し、自端末の各設定値に反映させる。
DHCPクライアント部245−1は、通信部210−1を介してDHCP(Dynamic Host Configuration Protocol)サーバと通信を行い、デフォルトのDNSサーバのIPアドレスを取得する。DHCPクライアント部245−1は、後述するPhase3処理にて動作する。DHCPサーバ部246−1は、配下のクライアント端末から送信されるDHCP情報要求に対して、ネットワーク情報を応答して送信する。
名前解決代理部250−1は、名前解決要求受信部270−1が受信する名前解決要求パケットに従って、適切なDNSサーバにアクセスして名前解決を行い、名前解決結果パケットを出力する。名前解決代理部250−1は、Phase0処理部251−1、Phase1処理部252−1、Phase2処理部253−1、Phase3処理部254−1の4種類の名前解決処理部を備えており、名前解決要求受信部270−1が受信する名前解決要求パケットの要求内容に応じて、名前解決制御部260−1がこれらの名前解決代理部のうち最適な名前解決代理部を選択して処理させることにより、効率良い名前解決を行う。
名前解決制御部260−1は、名前解決要求受信部270−1が名前解決要求パケットを受信すると、名前解決をPhase0処理部251−1〜Phase3処理部254−1のいずれを処理主体とするかを判定し、処理主体であると判定した処理部を動作させる。
名前解決要求受信部270−1は、通信部210−1を介して、名前解決要求パケットを受信する。名前解決結果送信部280−1は、名前解決代理部250−1が出力する名前解決結果を、通信部210−1を介してクライアント装置に送信する。
DNSリゾルバ290−1は、回線終端装置200−1内の名前解決処理におけるクライアントソフトウェアとして動作する部分である。DNSリゾルバ290−1は、、回線終端装置200−1内で名前解決要求が必要となった場合、名前解決制御部260−1に名前解決要求を送信する。ここで、IPパケットである名前解決要求パケットには、IPv4のアドレスを要求する場合は、ボディ部にAクエリ(いわゆるシングルA)が指定される。一方、IPv6のアドレスを要求する場合は、ボディ部にAAAAクエリ(いわゆるクアッドA)が指定される。また、IPv4かIPv6かのいずれかまたは双方のアドレスを要求する場合は、anyクエリが指定される。
すなわち、IPv4とIPv6とのネットワーク環境が混在した状況では、以下6パターンのプロトコルとクエリの組み合わせによる名前解決要求パケットが送信される。まず第1に、IPv6によるAAAAクエリである。第2に、IPv6によるAクエリである。第3に、IPv4によるAAAAクエリである。第4に、IPv4によるAクエリである。第5に、IPv6によるanyクエリである。第6に、IPv4によるanyクエリである。本実施形態による回線終端装置200−1によれば、これら6種の名前解決要求パケットに応答することができる。
DNSリゾルバ290−1は、IPv4DNSリゾルバ291−1とIPv6DNSリゾルバ292−1とを備えている。IPv4DNSリゾルバ291−1は、IPv4によるAクエリ、AAAAクエリ、anyクエリの名前解決要求を行う。IPv6DNSリゾルバ292−1は、IPv6によるAクエリ、AAAAクエリ、anyクエリの名前解決要求を行う。
図7から図9は、以下の実施形態の説明のために回線終端装置200−2から回線終端装置200−4までのぞれぞれの内部構成を示したブロック図である。図7は、回線終端装置200−2を示す図である。図8は、回線終端装置200−3を示す図である。図9は、回線終端装置200−4を示す図である。回線終端装置200−1、回線終端装置200−3、回線終端装置200−4が備える同名の各機能ブロックは、それぞれ回線終端装置200−1と同様の構成である。
図10は、ユーザが利用する端末装置であるIPv4クライアント装置100−1の構成を示すブロック図である。IPv4クライアント装置100−1は、例えば、PCや、PDAなどのコンピュータ端末であり、キーボードやボタン等の入力部や、出力部である画面等を備えている。
IPv4クライアント装置100−1は、例えば、アプリケーション110−1と、IPv4DNSリゾルバ120−1と、IPv4通信部130−1とを備えている。アプリケーション110−1は、インターネットブラウザやメールソフトなどの、ネットワーク接続を行うアプリケーションソフトウェアであり、IPv4DNSリゾルバ120−1によって名前解決を行う。IPv4DNSリゾルバ120−1は、アプリケーション110またはOS(Operating System)その他の、IPv4クライアント装置100−1上で動作するソフトウェアのネットワーク接続要求に応じて、名前解決要求を行う対象である名前解決対象ドメイン名を含む名前解決要求パケットを生成し、IPv4通信部130−1を介してDNSサーバに送信し、名前解決要求の応答としての名前解決結果パケットを受信する。IPv4通信部130−1は、IPv4による通信制御を行う。すなわち、IPv4通信部130−1は、IPv4パケットによるIPパケットを生成し、接続された通信装置と通信を行う。
図11は、IPv4クライアント装置100−2の構成を示す図である。IPv4クライアント装置100−2が備える同名の各機能ブロックは、IPv4クライアント装置100−1が備える各機能ブロックと同様の構成である。
図12は、ユーザが利用する端末装置であるIPv6クライアント装置101−1の構成を示すブロック図である。IPv6クライアント装置101−1は、例えば、PCや、PDAなどのコンピュータ端末であり、キーボードやボタン等の入力部や、出力部である画面等を備えている。
IPv6クライアント装置101−1は、例えば、アプリケーション111−1と、IPv6DNSリゾルバ121−1と、IPv6通信部131−1とを備えている。アプリケーション111−1は、インターネットブラウザやメールソフトなどの、ネットワーク接続を行うアプリケーションソフトウェアである。IPv6DNSリゾルバ121−1は、アプリケーション111−1からのネットワーク接続要求に応じて、名前解決要求を行う対象である名前解決対象ドメイン名を含む名前解決要求パケットを生成し、IPv6通信部131−1を介してDNSサーバに送信し、名前解決要求の応答としての名前解決結果パケットを受信する。IPv6通信部131−1は、IPv6による通信制御を行う。すなわち、IPv6通信部131−1は、IPv6によるIPパケットを生成し、接続された通信装置と通信を行う。
図13は、IPv6クライアント装置101−2の構成を示す図である。IPv6クライアント装置101−2が備える同名の各機能ブロックは、IPv6クライアント装置101−1が備える各機能ブロックと同様の構成である。
<第1の実施形態:Phase0:IP変換>
以下、上述した通信装置が、様々な形態のクライアント装置、DNSサーバ、情報サーバの間の通信を中継する実施形態を説明する。
以下の説明中で、IPパケット(M)(M=IPv4 or IPv6)とは、ネットワーク層(レイヤ3)のプロトコルがMであるIPパケットのことを示す。例えば、IPパケット(IPv4)とは、IPv4によるIPパケットを示す。
また、以下の説明中で、名前解決要求パケット(M、N)(M=IPv4 or IPv6、N=A or AAAA)とは、ボディ部にNクエリを含む名前解決パケットを示す。例えば、「名前解決要求パケット(IPv4、A)」とは、IPv4によるAクエリを示す。また、IPアドレスを取得したいドメイン名である名前解決対象ドメイン名を示すときは、名前解決要求パケット(M、N、名前解決対象ドメイン名)と表現する。例えば、「名前解決要求パケット(IPv4、A、情報サーバ521のドメイン名)」とは、名前解決対象ドメイン名を情報サーバ521のドメイン名とするIPv4によるAクエリを示す。
また、以下の説明中で、プロトコルMによる名前解決結果パケットであって、名前解決要求対象であるドメイン名に対応するIPアドレスを格納した名前解決結果パケットを、名前解決結果パケット(M、名前解決要求ドメイン名、名前解決結果IPアドレス)と表現する。例えば、名前解決結果パケット(IPv4、情報サーバ523のドメイン名、IPv4仮想アドレス)とは、情報サーバ523のドメイン名を名前解決対象ドメイン名とする名前解決要求に対する応答であって、IPv4仮想アドレスを名前解決結果IPアドレスとして格納したIPv4による名前解決結果パケットを示す。
図14および図15は、本実施形態による通信装置が通信を中継するネットワーク形態を10パターン(類型A〜類型J)に類型化した表を示す図である。
第1の実施形態では、図15に示す類型Gに該当するネットワークにおける名前解決処理が、Phase0処理部251−1によって行われる動作例について説明する。第1の実施形態では、IPv4で通信を行うIPv4クライアント装置100−1が、IPv6で通信を行う情報サーバ523を宛先としてIPパケットを送信する。ここで、回線終端装置200−1が、IPv4クライアント装置100−1から情報サーバ523への情報通信の中継を行う。また、情報サーバ523のドメイン名の名前解決は、IPv6DNSサーバ312によって行われる。
図16は、本実施形態による回線終端装置200−1が、IPv4クライアント装置100−1からの通信を中継する動作例を示すシーケンス図である。以下、図16を参照して、本実施形態における通信処理の動作例を説明する。
まず、ユーザが、IPv4クライアント装置100−1が備える入力部を介して、情報サーバ523のドメイン名を宛先情報として入力する。アプリケーション110−1は、入力された情報サーバ523のドメイン名を、IPv4DNSリゾルバ120−1に送信する。そして、IPv4DNSリゾルバ120−1は、名前解決要求パケット(IPv4、A、情報サーバ523のドメイン名)を生成して、回線終端装置200−1に送信する(ステップS1000)。
そして、回線終端装置200−1の名前解決要求受信部270−1が、IPv4通信部211−1を介して、名前解決要求パケットを受信すると、名前解決制御部260−1は、まず、受信した名前解決要求パケットの名前解決処理を、Phase0処理部251−1で行うか否かを判定するPhase0判定処理を行う。ここで、ステップS1000においてIPv4クライアント装置100−1が名前解決要求パケットを送信した後、回線終端装置200−1が名前解決処理を代理するステップS1001と、ステップS1002と、ステップS1003と、ステップS1004との処理を、図17を参照して詳細に説明する。
図17は、Phase0判定処理と、Phase0による名前解決処理であるPhase0処理とを示すフローチャートである。
名前解決制御部260−1は、名前解決要求受信部270−1が受信した名前解決要求パケットのボディ部に格納されたクエリを読み出して、シングルAであるか否かを判定する(ステップS101)。名前解決制御部260−1は、名前解決要求パケットから読み出したクエリがシングルAではないと判定すると(ステップS101−NO)、クエリがクアッドAであるか否かを判定する(ステップS151)。
一方、名前解決制御部260−1が、受信した名前解決要求パケットはシングルAであると判定すると(ステップS101−YES)、名前解決制御部260−1は、名前解決要求受信部270−1が受信した名前解決要求パケットから、名前解決対象ドメイン名(情報サーバ523のドメイン名)を読み出し、読み出した名前解決対象ドメイン名と一致する情報が、Phase0テーブル231−1のドメイン名項目に存在するか否かを判定する(ステップS102、ステップS103)。
名前解決制御部260−1が、Phase0テーブル231−1に解決要求ドメイン名が記憶されていないと判定すれば、名前解決制御部260−1は、解決要求ドメイン名をPhase0処理の対象外であると判定し、Phase1にすすむ(ステップS103−NO)。
一方、名前解決制御部260−1が、Phase0テーブル231−1に名前解決対象ドメイン名(情報サーバ523のドメイン名)と一致するドメイン名が記憶されていると判定すれば(ステップS103−YES)、Phase0処理部251−1は、Phase0テーブル231−1から、名前解決対象ドメイン名(情報サーバ523のドメイン名)と一致するドメイン名に対応する、仮想アドレスと実アドレスとのPhase0レコードを読み出す(ステップS111)。
そして、Phase0処理部251−1は、名前解決結果送信部280−1を介して、ステップS111で検出したPhase0レコードが含む仮想アドレスを、名前解決結果IPアドレスとして格納した名前解決結果パケット(IPv4、情報サーバ523のドメイン名、仮想アドレス)を生成し、名前解決要求パケット(IPv4、A、情報サーバ523のドメイン名)への応答としてIPv4クライアント装置100−1に送信する(ステップS112、図16ではステップS1001)。
そして、Phase0処理部251−1は、ステップS111で検出したPhase0レコードに実アドレス(IPv6)が含まれていないと判定すると(ステップS113−NO)、IPv6DNSリゾルバ292が、名前解決対象ドメイン名(情報サーバ523のドメイン名)を格納した名前解決要求パケット(IPv6、AAAA、情報サーバ523のドメイン名)を生成し、IPv6DNSリゾルバ292は再帰的に名前解決制御部260−1に送信する(ステップS114)。
名前解決制御部260−1は、再帰的に名前解決要求パケット(IPv6、AAAA、情報サーバ523のドメイン名)を受け取った場合は、Phase0判定処理においてPhase0処理を行わないと判定する。結果、後述するPhase1からPhase3までのいずれかで処理される。名前解決制御部260−1の判定結果に従い名前解決要求パケットを送信し(図16ではステップS1003)、名前解決結果パケット(IPv6、情報サーバ523のドメイン名、情報サーバ523のIPアドレス)を受信する(図16ではステップS1004)。
対応情報更新部240が、受信した名前解決結果パケットから、名前解決結果IPアドレス(情報サーバ523のIPアドレス)を読み出し、名前解決対象ドメイン名(情報サーバ523のドメイン名)に一致するドメイン名を含むPhase0レコードと対応付けるように更新して、Phase0テーブル231に記憶させる(ステップS115)。
なお、名前解決要求受信部270−1が受信した名前解決要求パケットが、クアッドAである場合の、ステップS151からステップS165までの処理は、上述のステップS101からステップS115までの処理と同様であり、IPv4とIPv6が逆であることのみの相違であるので、説明を省略する。また、例えば、クライアント端末がIPv6でのみ通信可能な端末であるような場合で、クライアント端末が送信する名前解決要求パケットがシングルAであることがありえない場合には、ステップS101の判断処理を行わなくても良い。
次に、ステップS112で回線終端装置200−1がIPv4クライアント装置100−1に応答した名前解決結果パケットが含む仮想アドレスに従って、IPv4クライアント装置100−1が、情報サーバ523に対して行うIPパケット送信を、回線終端装置200−1が中継する動作例を、図16に戻り説明する。
IPv4クライアント装置100−1のIPv4通信部130−1は、ステップS1001で受信した名前解決結果パケットが含む仮想アドレスを宛先アドレスとして、IPパケット(IPv4)を送信する。回線終端装置200−1のIPv4通信部211−1は、IPv4クライアント装置100−1から送信されたIPパケット(IPv4)を受信する(ステップS1002)。名前解決制御部260−1は、上述のように、IPv6DNSサーバ312に対して名前解決要求を行い(ステップS1003)、名前解決結果を受信する(ステップS1004)。そして、IPヘッダ変換部220は、ステップS1002で受信したIPパケット(IPv4)のヘッダ部に含まれる宛先アドレスを読み出す。
IPヘッダ変換部220−1は、読み出した宛先アドレスと同一のアドレスが、Phase0テーブル231−1の仮想アドレスの項目に記憶されているか否かを判定する。IPヘッダ変換部220は、Phase0テーブル231−1の仮想アドレスの項目から、宛先アドレスと同一の情報を検出すると、その仮想アドレスに対応するPhase0レコードを読み出す。IPヘッダ変換部220−1は、ステップS1001で受信したIPパケット(IPv6)のヘッダ部を、読み出したPhase0レコードが含む実アドレスを宛先アドレスとするIPv6のヘッダ部に置き換えたIPパケット(IPv6)を生成する(ステップS1005)。
そして、IPヘッダ変換部220−1は、IPv6通信部212−1を介して、生成したIPパケット(IPv6)を、情報サーバ523に送信する(ステップS1006)。
情報サーバ523は、回線終端装置200−1から送信されたIPパケット(IPv6)に対する応答としての応答IPパケット(IPv6)を生成し、回線終端装置200−1に送信する(ステップS1007)。
そして、回線終端装置200−1のIPv6通信部212−1が、情報サーバ523から送信された応答IPパケット(IPv6)を受信すると、IPヘッダ変換部220−1が、応答IPパケット(IPv6)のヘッダ部を、IPv4のヘッダ部に置き換えた応答IPパケット(IPv4)を生成する(ステップS1008)。そして、IPヘッダ変換部220は、IPv4通信部211を介して、応答IPパケットをIPv4クライアント装置100−1に送信する(ステップS1009)。
なお、回線終端装置200−1は、上述のステップS1000にてIPv4クライアント装置100−1から名前解決要求パケットを受信した後、IPv6DNSサーバ312に名前解決要求を行い、ここで名前解決に失敗した場合には、名前解決エラーとしてステップS1001以降の処理を行わないこととしても良い。回線終端装置200−1がこのように動作する場合のシーケンスを図18に示す。図18において、ステップS1000、ステップS1001、およびステップS1002からステップS1009までの動作は、図16で示した動作と同様であるが、図18では、回線終端装置200−1は、ステップS1000の後、IPv6DNSサーバ312に名前解決要求を行い(ステップS1000−1)、IPv6DNSサーバ312からの応答を受け付けている(ステップS1000−2)。
このように、ステップS1000にて、IPv4クライアント装置100−1が名前解決要求パケットを送信した後、回線終端装置200−1が名前解決処理を代理するステップS1000−1と、ステップS1000−2との処理を、図19を参照して詳細に説明する。図19は、Phase0判定処理と、Phase0による名前解決処理であるPhase0処理とを示すフローチャートである。ステップS101からステップS111までの処理は、図17にて説明した上述の処理と同様であるため、説明を省略する。
Phase0処理部251−1は、ステップS111で検出したPhase0レコードに実アドレス(IPv6)が含まれていないと判定すると(ステップS131−NO)、IPv6DNSリゾルバ292が、名前解決対象ドメイン名(情報サーバ523のドメイン名)を格納した名前解決要求パケット(IPv6、AAAA、情報サーバ523のドメイン名)を生成し、IPv6DNSリゾルバ292は再帰的に名前解決制御部260−1に送信する(ステップS132)。
名前解決制御部260−1は、再帰的に名前解決要求パケット(IPv6、AAAA、情報サーバ523のドメイン名)を受け取った場合は、Phase0判定処理においてPhase0処理を行わないと判定する。結果、後述するPhase1からPhase3までのいずれかで処理される。名前解決制御部260−1の判定結果に従い名前解決要求パケットを送信し、名前解決結果パケット(IPv6、情報サーバ523のドメイン名、情報サーバ523のIPアドレス)を受信する。ここで名前解決に失敗した場合(ステップS133−NO)には、名前解決エラーとしてステップS134以降の処理を行わない。
対応情報更新部240が、受信した名前解決結果パケットから、名前解決結果IPアドレス(情報サーバ523のIPアドレス)を読み出し、名前解決対象ドメイン名(情報サーバ523のドメイン名)に一致するドメイン名を含むPhase0レコードと対応付けるように更新して、Phase0テーブル231に記憶させる(ステップS134)。
Phase0処理部251−1は、名前解決結果送信部280−1を介して、ステップS111で検出したPhase0レコードが含む仮想アドレスを、名前解決結果IPアドレスとして格納した名前解決結果パケット(IPv4、情報サーバ523のドメイン名、仮想アドレス)を生成し、名前解決要求パケット(IPv4、A、情報サーバ523のドメイン名)への応答としてIPv4クライアント装置100−1に送信する(ステップS135)。
名前解決要求受信部270−1が受信した名前解決要求パケットが、クアッドAである場合の、ステップS181からステップS185までの処理は、上述のステップS131からステップS135までの処理と同様であり、IPv4とIPv6が逆であることのみの相違であるので、説明を省略する。
このように、Phase0処理部251−1による名前解決によれば、IPv4のみで通信可能なクライアント装置と、IPv6のみで通信可能なホスト(サーバ)と間の名前解決を行うことができる。同様に、IPv6のみで通信可能なクライアント装置と、IPv4のみで通信可能なホスト(サーバ)との名前解決を行うことができる。すなわち、クライアント装置は、名前解決を行いたいドメイン名に対応するIPアドレスを取得するときに、その名前解決が可能なDNSサーバやアクセス先のホストがサポートするネットワークプロトコル(IPv4またはIPv6)を認識できない場合にも、名前解決を行うことが可能となる。
また、Phase0処理部251−1によって更新され記憶されたPhase0テーブル231のPhase0レコードは、名前解決結果に情報として含まれている有効時間(TTL(time to live))が過ぎると、無効となる。このように、名前解決結果の有効時間が満了すると、名前解決結果が無効となるので、DNSサーバがラウンドロビン方式による負荷分散を行っているような場合でも、ラウンドロビン方式による分散の効果を有効とすることができる。ここで、一般的に、ラウンドロビンを行っているDNSサーバの名前解決結果の有効時間は、短く設定されている。
IPv6はIPv4の次世代バージョンではあるが、相互接続という点においては互換性がない。すなわち、IPv4による通信が可能でIPv6の通信を行うことができないクライアントは、IPv6のみで情報が提供されるホストとの通信を行えない。ここで、ネットワーク関連機器のIPv6対応は完了しているとはいえず、IPv4とIPv6との並存技術が必要となっている。IPv4とIPv6とのそれぞれのIPパケットの相互変換についていくつかの方法が提案されているが、DNSの仕組みと連動した手段が確立されているとはいえない。
例えば、IPv4のみで通信可能なIPv4クライアント装置と、IPv6のみで通信可能なIPv6サーバとが通信を行う場合、IPv4クライアント装置とIPv6サーバとは直接通信できないため、通信経路上にアドレスを変換する手段が必要である。そこで、例えば、このアドレス変換手段としてNAT(Network Address Translation)機能を用いることが考えられる。そこで、NATを用いて通信するためにはIPv4とIPv6とのアドレス対応テーブルが予め必要である。
そこで、以上説明したような名前解決の仕組みを応用したPhase0処理によれば、IPv4とIPv6とのアドレス対応テーブルを動的に生成することができる。また、クライアント装置に対して、IPv4とIPv6とのアドレス対応テーブルであるPhase0テーブル231−1に記憶される仮想アドレス(仮想アドレスはIPv4の場合もIPv6の場合もありうる)を送信する仕組みもPhase0処理部251−1にて提供することができる。
また、クライアント装置から受信する名前解決要求パケットのシングルAクエリ、クアッドA(AAAA)クエリの内容を変更してしまうと、名前解決結果を得ることができても、クライアント装置は通信することができない。Phase0処理によれば、クエリを変更せず、透過型の動作を行うことができる。
以上説明したように、Phase0処理によれば、クライアント装置と情報サーバとの通信プロトコルが異なっていても、アドレス変換機能部と名前解決の仕組みとを連動させて、通信を成立させることができる。
以上説明した第1の実施形態によれば、例えば、IPv4のみサポートしているクライアント装置(例えば、IPv4クライアント装置100−1)が、IPv6のみでサービス提供している情報サーバ(例えば、情報サーバ523)に対してアクセスをしたい場合に、IPv4クライアント装置100−1と情報サーバ523との通信経路上にプロトコルの変換機能(IPv4とIPv6とを変換)を有する中継装置(例えば、回線終端装置200−1)が存在する場合、回線終端装置200−1が、仮想的なIPv4サーバアドレスを返すことで、IPv4しかサポートしていないクライアント装置においても、IPv6のみサポートしている情報サーバからサービスを受けることが可能となる。
また、ステップS102にて、名前解決制御部250−1が、名前解決対象ドメイン名に対応するPhase0レコードがPhase0テーブル231−1に存在するか否かを判定する際には、名前解決対象ドメイン名と完全一致するPhase0レコードのみを判定対象としても良いし、Phase0レコードのサブドメイン名となっている名前解決対象ドメイン名をも判定対象としても良い。この場合、例えば、名前解決対象ドメイン名が「bbb.aaa.com」である場合に、「aaa.com」をDNSサーバアドレスの項目に記憶するPhase0レコードが存在すれば、名前解決対象ドメイン名に対応するPhase0レコードが存在したものと判定する。
<第2の実施形態:Phase1:特殊ドメイン>
第2の実施形態では、図14に示す類型Aに該当するネットワークにおける名前解決処理が、Phase1処理部252−2によって行われる動作例について説明する。第2の実施形態では、IPv4で通信を行うIPv4クライアント装置100−2が、IPv4プライベートネットワーク501を介してのみ接続可能な情報サーバ520を宛先アドレスとして、IPパケットの送信を行う。ここで、回線終端装置200−2が、IPv4クライアント装置100−2から情報サーバ520への情報通信の中継を行う。また、情報サーバ520のドメイン名の名前解決は、IPv4プライベートDNSサーバ511によって行われる。
図20は、本実施形態による回線終端装置200−2が、IPv4クライアント装置100−2からの通信を中継する動作例を示すシーケンス図である。以下、図20を参照して、本実施形態における通信処理の動作例を説明する。
まず、ユーザが、IPv4クライアント装置100−2が備える入力部を介して、情報サーバ520のドメイン名を宛先情報として入力する。アプリケーション110−2は、入力された情報サーバ520のドメイン名を、IPv4DNSリゾルバ120−2に送信する。そして、IPv4DNSリゾルバ120−2は、名前解決要求パケット(IPv4、A、情報サーバ520のドメイン名)を生成して、回線終端装置200−2に送信する(ステップS1010)。
そして、回線終端装置200−2の名前解決要求受信部270−2が、IPv4通信部211−2を介して、名前解決要求パケット(IPv4、A、情報サーバ520のドメイン名)を受信すると、名前解決制御部260−2は、まず、受信した名前解決要求パケットの名前解決処理を、Phase0処理部251−2で行うか否かを判定するPhase0判定処理を行う。
上述のステップS100のPhase0判定処理で、名前解決制御部260−2が、Phase0にて名前解決を行わないと判定すれば(ステップS100−NO)、名前解決制御部260−2は、Phase1処理部252−2で名前解決処理を行うか否かを判定するPhase1判定処理を行う。ここで、回線終端装置200−2が名前解決処理を代理するステップS1011と、ステップS1012との処理を、図21を参照して詳細に説明する。
図21は、Phase1判定処理と、Phase1による名前解決処理であるPhase1処理とを示すフローチャートである。名前解決制御部260−2は、名前解決要求パケットに含まれる名前解決対象ドメイン名(情報サーバ520のドメイン名)と一致するドメイン名が、記憶部230−2のPhase1テーブル232−2のドメイン名の項目に記憶されているか否かを判定する(ステップS201)。
名前解決制御部260−2が、Phase1テーブル232−2のドメイン名の項目に、名前解決対象ドメイン名(情報サーバ520のドメイン名)と一致するドメイン名が記憶されていないと判定すれば(ステップS202−NO)、名前解決制御部260−2は、名前解決対象ドメイン名をPhase1処理の対象外であると判定し、Phase2へすすむ。
一方、名前解決制御部260−2が、Phase1テーブル232−2のドメイン名の項目に、名前解決対象ドメイン名と一致するドメイン名が記憶されていると判定すれば(ステップS202−YES)、Phase1処理部252−2は、Phase1テーブル232−2から、名前解決要求ドメイン名と一致するドメイン名に対応するプライマリDNSサーバアドレスとセカンダリDNSサーバアドレスとのPhase1レコードを読み出す(ステップS211)。
そして、Phase1処理部252−2が読み出したPhase1レコードに含まれるプライマリDNSアドレスとセカンダリDNSアドレスとに対して、IPv4DNSリゾルバ291−2が、クライアント装置100から受信した名前解決要求パケット(IPv4、A、情報サーバ520のドメイン名)を転送する(ステップS212)。IPv4DNSリゾルバ291−2は、送信した名前解決要求パケットに対する応答を監視する(ステップS213)。
そして、IPv4プライベートDNSサーバ511は、名前解決要求パケットを受信すると、受信した名前解決要求パケットに含まれる名前解決対象ドメイン名(情報サーバ520のドメイン名)に対応する名前解決結果パケット(IPv4、情報サーバ520のドメイン名、情報サーバ520のIPアドレス)を生成し、回線終端装置200−2に送信する。回線終端装置200−2のIPv4DNSリゾルバ291−2は、IPv4通信部211−2を介して名前解決結果パケットを受信する。IPv4DNSリゾルバ291−2は、予め設定されたタイムアウト時間内に、名前解決要求パケットに対応する名前解決結果パケットを受信すると、名前解決結果パケットの応答内容を判定する(ステップS214)。
IPv4DNSリゾルバ291−2は、例えば、ステップS214で受信した名前解決パケットが、トランスポート変更通知情報を含んでいる場合には、トランスポート変更通知情報が含まれた名前解決要求パケットをそのままIPv4クライアント装置100−2に送信する(ステップS215)。
または、IPv4DNSリゾルバ291−2は、例えば、ステップS214で受信した名前解決パケットに含まれるRCODE(リターンコード)が、名前解決成功を示す情報であれば、その名前解決結果パケットを、IPv4クライアント装置100−2に送信する(ステップS216)。または、IPv4DNSリゾルバ291−2は、ステップS214にて受信した名前解決パケットに含まれるRCODE(リターンコード)が、名前解決失敗・エラーを示す情報であるか、またはステップS213で、名前解決要求パケットの応答を待ったが応答がない場合には、名前解決が失敗したことを示す名前解決結果パケットをIPv4クライアント装置100−2に送信する(ステップS217)。
図20に戻り、IPv4DNSリゾルバ291−2が、名前解決成功を示す情報を含む名前解決結果パケットを受信すると、名前解決結果送信部280−2が、IPv4通信部211−2を介して、名前解決結果パケット(IPv4、情報サーバ520のドメイン名、情報サーバ520のアドレス)を、IPv4クライアント装置101−2に送信する(ステップS1013)。
IPv4クライアント装置100−2のIPv4DNSリゾルバ120−2は、IPv4通信部130−2を介して、名前解決結果パケットを受信する。そして、アプリケーション110−2は、受信した名前解決結果パケットに含まれる名前解決結果アドレス(情報サーバ520のアドレス)を読み出して、名前解決結果アドレスに対してIPパケットを送信する(ステップS1014)。回線終端装置200−2は、IPパケットを情報サーバ520に転送し(ステップS1015)、情報サーバ520は、受信するIPパケットに応答IPパケットを送信する(ステップS1016)。回線終端装置200−2は、応答IPパケットを、IPv4クライアント装置100−2に転送する(ステップS1017)。
なお、ここで、回線終端装置200−2による名前解決処理時間、すなわち回線終端装置200−2が名前解決要求パケットを受信してから、IPv4クライアント装置100−2に名前解決結果パケットを送信するまでの時間は、IPv4DNSリゾルバ121−2のタイムアウト時間よりも短くする必要がある。これは、IPv4DNSリゾルバ121−2には通常タイムアウト時間が設定されているため、リゾルバがタイムアウトした後に、回線終端装置200−2が名前解決結果パケットをIPv4DNSリゾルバ121−2に応答しても、IPv4DNSリゾルバ121−2は、名前解決結果パケットを取り込めないため、これより早く応答する必要がある。
また、ステップS202にて、名前解決制御部260−2が、名前解決対象ドメイン名に対応するPhase1レコードがPhase1テーブル232−2に存在するか否かを判定する際には、名前解決対象ドメイン名と完全一致するPhase1レコードのみを判定対象としても良いし、Phase1レコードのサブドメイン名となっている名前解決対象ドメイン名をも判定対象としても良い。この場合、例えば、名前解決対象ドメイン名が「bbb.aaa.com」である場合に、「aaa.com」をDNSサーバアドレスの項目に記憶するPhase1レコードが存在すれば、名前解決対象ドメイン名に対応するPhase1レコードが存在したものと判定する。
このように、クライアント装置100からの名前解決要求を透過型とすることで、DNSサーバ側でDNSラウンドロビンによる負荷分散を行っている場合でも、その効果に影響を与えずに、名前解決の要求を行うことができる。ここで、透過型とは、第1に、シングルA、クアッドAなどのクエリの内容を回線終端装置200が変更しないことである。また、第2に、回線終端装置200では、名前解決結果をキャッシュしないことを示す。なお、第2については、Phase0処理においては適用されていない。
このように、回線終端装置200は、原則的に、名前解決において複数の問い合わせ先を選択する機能のみを提供し、キャッシュ等の動作は行わないようにしても良い。
以上説明したように、本実施形態によれば、特殊ドメインに属するドメイン名の名前解決を行うために、回線終端装置200−2に予め定められた特殊ドメイン名の名前解決が可能なDNSサーバに対する名前解決を、回線終端装置200が代理して行うようにしたので、回線終端装置200−2は、ネットワーク上のDNSサーバに大量の名前解決パケットを送信することなく、効率よく最適なDNSサーバに名前解決要求を行うことができる。
例えば、特定のISPなどが、そのISP利用者のみにコンテンツを提供するサービスを行いたい場合、そのISP利用者のみがアクセスできるネットワーク上(閉域網)に情報提供サーバを設置し、その情報提供サーバのドメイン名を、専用ドメイン名(グローバル、ローカルいずれでも可)とすることが一般的に行われている。このドメイン名の名前解決を、インターネット上のDNSサーバに行った場合、グローバルドメインであれば、名前解決ができるが、特定プロバイダのネットワーク内からのアクセスでない場合は、そのアドレスを持つサーバに対してパケット到達性がない。また、ローカルドメインであった場合は、名前解決そのものができない。このような特殊ドメインは、当該サービスを提供するサーバが設置されているISPネットワーク上に設置されたDNSサーバに問い合わせを行う必要がある。
また、特定の企業体や家庭などで用いられる閉じたネットワーク(LAN)において、独自(私的)にドメイン定義がなされた場合、定義をした団体や個人が名前解決を行う必要があり、LAN内に名前解決の仕組みを用意する必要がある。本実施形態によれば、このような特殊ドメインに対する名前解決に対しても、適切なDNSサーバを選択させることを可能とする。また、名前解決だけでなく、その後の通信が成立することにも配慮される。
<第3の実施形態:Phase2:特殊ドメイン>
第3の実施形態では、図14に示す類型Bに該当するネットワークにおける名前解決処理が、Phase2処理部253−2によって行われる動作例について説明する。第3の実施形態では、IPv4で通信を行うIPv4クライアント装置100−2が、IPv4プライベートネットワーク501を介してのみ接続可能な情報サーバ520を宛先アドレスとして、IPパケットの送信を行う。ここで、回線終端装置200−2が、IPv4クライアント装置100−2から情報サーバ520への情報通信の中継を行う。また、情報サーバ520のドメイン名の名前解決は、IPv4DNSサーバ311によって行われる。
図22は、本実施形態による回線終端装置200−2が、IPv4クライアント装置100−2からの通信を中継する動作例を示すシーケンス図である。以下、図22を参照して、本実施形態における通信処理の動作例を説明する。
まず、ユーザが、IPv4クライアント装置100−2が備える入力部を介して、情報サーバ520のドメイン名を宛先情報として入力する。アプリケーション110−2は、入力された情報サーバ520のドメイン名を、IPv4DNSリゾルバ120−2に送信する。そして、IPv4DNSリゾルバ120−2は、名前解決要求パケット(IPv4、A、情報サーバ520のドメイン名)を生成して、回線終端装置200−2に送信する(ステップS1020)。
そして、回線終端装置200−2の名前解決要求受信部270−2が、IPv4通信部211−2を介して、名前解決要求パケット(IPv4、A、情報サーバ520のドメイン名)を受信すると、名前解決制御部260−2は、まず、受信した名前解決要求パケットの名前解決処理を、Phase0処理部251−2で行うか否かを判定するPhase0判定処理を行う。
上述のステップS100のPhase0判定処理で、名前解決制御部260−2が、Phase0にて名前解決を行わないと判定すれば、名前解決制御部260−2は、Phase1処理部252−2で名前解決処理を行うか否かを判定するPhase1判定処理を行う。そして、名前解決制御部260−2が、Phase1にて名前解決を行わないと判定すれば、名前解決制御部260−2は、Phase2処理部253−2で名前解決処理を行うか否かを判定するPhase2判定処理を行う。ここで、回線終端装置200−2が名前解決処理を代理するステップS1021と、ステップS1022との処理を、図23を参照して詳細に説明する。
まず、名前解決制御部260−2が、論理IF記憶部233に記憶された全ての論理IFレコードを読み出す(ステップS301)。そして、名前解決制御部260−2は、読み出した論理IFレコードの論理IF状態の項目が、「active」となっている論理IFレコードを、利用可能な論理IFを示す論理IFレコードと判定する。ここで、名前解決制御部260が、利用可能な論理IFレコードを検出できなかった場合には、名前解決制御部260は、Phase2での名前解決を行わないと判定し(ステップS302−NO)、Phase3へすすむ。
一方、名前解決制御部260−2が、論理IF記憶部233−2から利用可能な論理IFレコードを検出すれば(ステップS302−YES)、Phase2処理部253−2は、IPv4DNSリゾルバ291−2を介して、利用可能な論理IFレコードのうち、優先順位が最も高いことを示すDNSサーバアドレスに、名前解決要求パケットを転送する(ステップS312)。
IPv4DNSリゾルバ291−2は、ステップS312で転送、送信した名前解決要求パケットに対する応答を監視する(ステップS313)。そして、IPv4DNSリゾルバ291−2は、予め設定されたタイムアウト時間内に、名前解決要求パケットに対応する名前解決結果パケットを受信すると、名前解決結果パケットの応答内容を判定する(ステップS314)。
IPv4DNSリゾルバ291−2は、例えば、ステップS314で受信した名前解決パケットが、トランスポート変更通知情報を含んでいる場合には、トランスポート変更通知情報が含まれた名前解決要求パケットをそのままIPv4クライアント装置100−2に送信する(ステップS315)。
または、IPv4DNSリゾルバ291−2は、例えば、ステップS314で受信した名前解決パケットに含まれるRCODE(リターンコード)が、名前解決成功を示す情報であれば、その名前解決結果パケットを、IPv4クライアント装置100−2に送信する(ステップS316)。または、IPv4DNSリゾルバ291−2は、ステップS313で、名前解決要求パケットの応答を待ったが応答がないか、ステップS314にて受信した名前解決パケットに含まれるRCODE(リターンコード)が、名前解決失敗・エラーを示す情報である場合には、名前解決が失敗したことを示す名前解決結果パケットをIPv4クライアント装置100−2に送信する(ステップS317)。
なお、ステップS312で、論理IF上のDNSサーバに対して名前解決要求パケットを送信し、ステップS314で複数の名前解決結果パケットを受信した場合に、いずれの名前解決パケットを採用するかについて、最も早く受信した名前解決結果パケットを採用しても良いし、優先順位に基づいて採用しても良い。
このように、Phase2処理部253−2による名前解決によれば、インターネットに接続される複数のルート(方路)がある場合や、接続したいサイトに到達するルートが複数ある場合に、いずれのルートで名前解決を行うかを効率よく判定することができる。Phase0、Phase1での名前解決とならなかった場合は、名前解決対象ドメイン名は、グローバルドメインに属するグローバルドメイン名であると認識できるため、上述のPhase2処理で名前解決が可能となる。
ここで、方路が複数ある場合、いずれの方路に投げても名前解決がされるが、全ての方路に対して名前解決要求パケットを同時に投げることはマナー上許されていない。Phase2処理部253−2によれば、予め定められた優先順位に基づいて、名前解決要求パケットを転送することができる。また、全ての方路が通信可能状態(セッションが成立)となっているとは限らない(場合によっては、全て接続されておらず、インターネットへのパケット到達性が無い場合がある)ので、最優先の方路が通信不可であった場合は、次の優先順位の方路に名前解決要求パケットを送信する。
このように、Phase2処理部253−2は、グローバルドメインなど、インターネット上のサイトへISPを経由して接続する場合の名前解決を行う。また、ISPが特殊ドメインを有している場合でも、IPv4クライアント装置100−2が接続しているISPが1つのみである場合、Phase1の設定を行わなくても、Phase2での名前解決が可能である。
<第4の実施形態:Phase3>
第4の実施形態では、上述のPhase0処理部251−2、Phase1処理部252−2、およびPhase2処理部253−2による名前解決処理で、回線終端装置200−2がDNSサーバを発見できない場合、Phase3処理部254−2で名前解決処理が行われる回線終端装置200−2の動作例について説明する。
第3の実施形態と同様に、IPv4DNSリゾルバ120−2から送信される名前解決要求パケット(IPv4、A、情報サーバ520のドメイン名)を、回線終端装置200−2の名前解決要求受信部270−2が、IPv4通信部211−2を介して受信する。
図24は、名前解決制御部260が行う、名前解決代理部250が備えるいずれの処理部で名前解決を行うかを判定する動作例を示すフローチャートである。
名前解決要求受信部270−2が名前解決要求パケットを受信すると、名前解決制御部260は、名前解決要求パケットから、名前解決要求対象のドメイン名である名前解決対象ドメイン名を検出する。そして、名前解決制御部260−2は、検出した名前解決対象ドメイン名のフォーマットチェック処理を行う。ここで、フォーマットチェック処理は、例えば、ドメイン名情報に予め定められた禁則文字が使われているか否か、またはドメイン名情報の文字列の長さが予め定められた範囲内であるか否かなどの判定処理を行う(ステップS10)。
そして、名前解決制御部260−2は、名前解決対象ドメイン名をPhase0処理部251−2にて名前解決処理を行うか否かを判定するPhase0判定処理を行う(ステップS100)。名前解決制御部260−2が、Phase0処理部251−2の名前解決処理を行うと判定すると(ステップS100−YES)、Phase0処理部251−2は、名前解決対象ドメイン名についての名前解決処理であるPhase0処理を行う(ステップS110)。
一方、ステップS100にて、名前解決制御部260−2が、Phase0処理部251−2の名前解決処理を行わないと判定する(ステップS100−NO)と、名前解決制御部260−2は、名前解決対象ドメイン名をPhase1処理部252−2にて名前解決処理を行うか否かを判定するPhase1判定処理を行う(ステップS200)。名前解決制御部260−2が、Phase1処理部252−2の名前解決処理を行うと判定すると(ステップS200−YES)、Phase1処理部252−2は、名前解決対象ドメイン名についてのPhase1処理を行う(ステップS210)。
一方、ステップS200にて、名前解決制御部260−2が、Phase1処理部252−2の名前解決処理を行わないと判定する(ステップS200−NO)と、名前解決制御部260は、名前解決対象ドメイン名をPhase2処理部253−2にて名前解決処理を行うか否かを判定するPhase2判定処理を行う(ステップS300)。名前解決制御部260−2が、Phase2処理部253−2のPhase2判定処理を行うと判定する(ステップS300−YES)と、Phase2処理部253−2は、名前解決対象ドメイン名についてのPhase2処理を行う(ステップS310)。
一方、ステップS300にて、名前解決制御部260−2が、Phase2処理部253−2の名前解決処理を行わないと判定する(ステップS300−NO)と、名前解決制御部260−2は、名前解決対象ドメイン名をPhase3処理部254−2にて名前解決処理を行うか否かを判定するPhase3判定処理を行う(ステップS400)。名前解決制御部260−2が、Phase3処理部254−2の名前解決処理を行うと判定する(ステップS400−YES)と、Phase3処理部254−2は、名前解決対象ドメイン名についてのPhase3処理を行う(ステップS410)。一方、ステップS300にて、名前解決制御部260−2が、Phase3処理部254−2の名前解決処理を行わないと判定する(ステップS400−NO)と、名前解決制御部260−2は、名前解決エラー情報を生成して処理を終了する。
図25は、ステップS400における、Phase3処理に関する回線終端装置200−2の動作例を示すフローチャートである。回線終端装置200−2は、自装置の起動時などに、予めDHCPクライアント部245−2を動作させ、DNSサーバのアドレスを取得しておく。さらに、Phase3処理時に、DHCP手段(DHCPクライアント部245−2)があり(ステップS401−YES)、かつDNSサーバアドレスが取得できていない場合および無効となっている場合、再度DHCP動作によりDNSサーバアドレスの取得を試みる。すなわち、DHCPクライアント部245−2は、通信部210−2を介して、DHCPサーバから、DNSサーバのIPアドレスを受信する(ステップS411)。
また、Phase3処理部254−2は、回線終端装置200−2が、DHCPクライアント部245−2を備えていないか、DHCPによってDNSサーバのIPアドレスが取得できない場合には(ステップS401−NO)、例えば、出荷時に、予め記憶されたDNSサーバのIPアドレスをDNSサーバIPアドレスとして取得する(ステップS402−YES)。
そして、Phase3処理部254−2は、DNSリゾルバ290−2を介して、DHCPクライアント部245−2が取得したDNSサーバIPアドレスに、名前解決要求パケットを送信する(ステップS412)。DNSリゾルバ290−2は、送信した名前解決要求パケットに対する応答を監視する(ステップS433)。そして、DNSリゾルバ290−2は、予め設定されたタイムアウト時間内に、名前解決要求パケットに対応する名前解決結果パケットを受信すると、名前解決結果パケットの応答内容を判定する(ステップS414)。
DNSリゾルバ290−2は、例えば、ステップS414で受信した名前解決結果パケットが、トランスポート変更通知情報を含んでいる場合には、トランスポート変更通知情報が含まれた名前解決要求パケットをそのままクライアント装置100に送信する(ステップS415)。
または、DNSリゾルバ290−2は、例えば、ステップS414で受信した名前解決パケットに含まれるRCODE(リターンコード)が、名前解決成功を示す情報であれば、その名前解決結果パケットを、クライアント装置100に送信する(ステップS416)。または、DNSリゾルバ290−2は、ステップS413で、名前解決要求パケットの応答を待ったが応答がないか、ステップS414にて受信した名前解決パケットに含まれるRCODE(リターンコード)が、名前解決失敗・エラーを示す情報である場合には、名前解決が失敗したことを示す名前解決結果パケットをクライアント装置100に送信する(ステップS417)。
このように、Phase3処理部254による名前解決によれば、インターネットに接続される方路がない場合にも、接続されたネットワークから、名前解決を行えるDNSサーバのIPアドレスを取得することができる。
すなわち、Phase0〜Phase2において、名前解決が成功するであろうDNSサーバの判別はできても、DNSサーバヘの到達性が無い場合(方路が無い、セッションが張られていない)に、Phase3による名前解決が試みられる。
すなわち、IPv4クライアント装置100−2からネットワークをみた場合に、ネットワークがどういう状態なのか、どういう構成なのかわからない、どうすればネットワークに接続できるのかわからない(起動初期や未設定状態のときなど)場合に、IPv4クライアント装置100−2に設けられたPhase3処理部254−2が、ネットワーク情報を取得する。
このように、Phase3処理では、DHCP機能により、確実に接続性がある上位のルータなどの中継装置から、DNSサーバアドレスが通知される。これは、一般的に、回線終端装置200のようなIPアプライアンス装置がネットワークに接続された際に自動的に動作するものである。
また、DHCP機能が無い場合は、予め、当該DNSサーバのアドレスを設定しておく。さらに、Phase3の設定変更(DNSサーバのアドレス変更)を行った場合でも、クライアント装置が単体でDHCPによるDNSサーバアドレス取得に戻れるようにする必要がある。これは、変更したDNSサーバが、確実に名前解決ができると保証されないためである。逆に、DHCPで通知されるDNSサーバアドレスは、確実な常時名前解決ができるサーバアドレスとする必要がある。
<第5の実施形態>
第5の実施形態では、図14に示す類型Cに該当するネットワークにおける名前解決処理が、回線終端装置200−2のPhase2処理部253−2によって行われる動作例について説明する。第5の実施形態では、IPv4で通信を行うIPv4クライアント装置100−2が、インターネットに接続された情報サーバ521を宛先アドレスとして、IPパケットの送信を行う。ここで、回線終端装置200−2が、IPv4クライアント装置100−2から情報サーバ521への情報通信の中継を行う。また、情報サーバ521のドメイン名の名前解決は、IPv4DNSサーバ311によって行われる。
図26は、本実施形態による回線終端装置200−2が、IPv4クライアント装置100−2からの通信を中継する動作例を示すシーケンス図である。以下、図26を参照して、本実施形態における通信処理の動作例を説明する。
まず、IPv4クライアント装置100−2が、名前解決要求パケット(IPv4、A、情報サーバ521のドメイン名)を、回線終端装置200−2に送信する(ステップS1030)。
回線終端装置200−2は、受信した名前解決要求パケットを、例えば、Phase2処理部253−2によりIPv4DNSサーバ311に送信する(ステップS1031)。そして、回線終端装置200−2は、IPv4DNSサーバ311から応答される名前解決結果パケット(IPv4、情報サーバ521のドメイン名、情報サーバ521のIPアドレス)を受信し(ステップS1032)、IPv4クライアント装置100−2に送信する(ステップS1033)。
IPv4クライアント装置100−2は、受信する名前解決結果パケットから、名前解決結果IPアドレスを読み出し、読み出した名前解決結果IPアドレスを宛先として、IPパケット(IPv4)を送信する(ステップS1034)。回線終端装置200−2は、IPパケットを情報サーバ521に転送し(ステップS1035)、情報サーバ521は、受信するIPパケットに対応して、応答IPパケット(IPv4)を、回線終端装置200−2に送信する(ステップS1036)。回線終端装置200−2は、受信する応答IPパケットを、IPv4クライアント装置100−2に転送する。IPv4クライアント装置100−2は、応答IPパケットを受信する(ステップS1037)。
このように、本実施形態によれば、IPv4でのインターネット接続を中継する。
<第6の実施形態>
第6の実施形態では、図14に示す類型Dに該当するネットワークにおける名前解決処理が、回線終端装置200−4のPhase0処理部251−4によって行われる動作例について説明する。第6の実施形態では、IPv6で通信を行うIPv6クライアント装置101−2が、IPv6プライベートネットワーク502に接続された情報サーバ522を宛先アドレスとして、IPパケットの送信を行う。ここで、回線終端装置200−4が、IPv6クライアント装置101−2から情報サーバ522への情報通信の中継を行う。また、情報サーバ522のドメイン名の名前解決は、IPv6プライベートDNSサーバ512によって行われる。
図27は、本実施形態による回線終端装置200−4が、IPv6クライアント装置101−2からの通信を中継する動作例を示すシーケンス図である。以下、図27を参照して、本実施形態における通信処理の動作例を説明する。
まず、IPv6クライアント装置101−2が、名前解決要求パケット(IPv6、AAAA、情報サーバ522のドメイン名)を、回線終端装置200−4に送信する(ステップS1040)。
回線終端装置200−4は、受信した名前解決要求パケットを、例えば、Phase0処理部251−4によりIPv6プライベートDNSサーバ512に送信する(ステップS1041)。そして、回線終端装置200−4は、IPv6プライベートDNSサーバ512から応答される名前解決結果パケット(IPv6、情報サーバ522のドメイン名、情報サーバ522のIPアドレス)を受信し(ステップS1042)、IPv6クライアント装置101−2に送信する(ステップS1043)。
IPv6クライアント装置101−2は、受信する名前解決結果パケットから、名前解決結果IPアドレスを読み出し、読み出した名前解決結果IPアドレスを宛先として、IPパケット(IPv6)を送信する(ステップS1044)。回線終端装置200−4は、IPパケットを情報サーバ522に転送し(ステップS1045)、情報サーバ522は、受信するIPパケットに対応して、応答IPパケット(IPv6)を、回線終端装置200−4に送信する(ステップS1046)。回線終端装置200−4は、受信する応答IPパケットを、IPv6クライアント装置101−2に転送する。IPv6クライアント装置101−2は、応答IPパケットを受信する(ステップS1047)。
このように、本実施形態によれば、IPv6での閉域接続を中継する。
<第7の実施形態>
第7の実施形態では、図14に示す類型Eに該当するネットワークにおける名前解決処理が、回線終端装置200−4のPhase2処理部253−4によって行われる動作例について説明する。第7の実施形態では、IPv6で通信を行うIPv6クライアント装置101−2が、IPv6プライベートネットワーク502に接続された情報サーバ525を宛先アドレスとして、IPパケットの送信を行う。ここで、回線終端装置200−4が、IPv6クライアント装置101−2から情報サーバ525への情報通信の中継を行う。また、本実施形態においては、情報サーバ525のドメイン名の名前解決は、IPv6DNSサーバ312によって行われる。なお、本名前解決は、IPv6プライベートDNSサーバ512によっても可能である。
図28は、本実施形態による回線終端装置200−4が、IPv6クライアント装置101−2からの通信を中継する動作例を示すシーケンス図である。以下、図28を参照して、本実施形態における通信処理の動作例を説明する。
まず、IPv6クライアント装置101−2が、名前解決要求パケット(IPv6、AAAA、情報サーバ525のドメイン名)を、回線終端装置200−4に送信する(ステップS1050)。
回線終端装置200−4は、受信した名前解決要求パケットを、例えば、Phase2処理部253−4によりIPv6DNSサーバ312に送信する(ステップS1051)。そして、回線終端装置200−4は、IPv6DNSサーバ312から応答される名前解決結果パケット(IPv6、情報サーバ525のドメイン名、情報サーバ525のIPアドレス)を受信し(ステップS1052)、IPv6クライアント装置101−2に送信する(ステップS1053)。
IPv6クライアント装置101−2は、受信する名前解決結果パケットから、名前解決結果IPアドレスを読み出し、読み出した名前解決結果IPアドレスを宛先として、IPパケット(IPv6)を送信する(ステップS1054)。回線終端装置200−4は、IPパケットを情報サーバ525に転送し(ステップS1055)、情報サーバ525は、受信するIPパケットに対応して、応答IPパケット(IPv6)を、回線終端装置200−4に送信する(ステップS1056)。回線終端装置200−4は、受信する応答IPパケットを、IPv6クライアント装置101−2に転送する。IPv6クライアント装置101−2は、応答IPパケットを受信する(ステップS1057)。
このように、本実施形態によれば、IPv6での特殊ドメインへの通信を中継する。
<第8の実施形態>
第8の実施形態では、図14に示す類型Fに該当するネットワークにおける名前解決処理が、回線終端装置200−4のPhase2処理部253−4によって行われる動作例について説明する。第8の実施形態では、IPv6で通信を行うIPv6クライアント装置101−2が、IPv6プライベートネットワーク502に接続された情報サーバ523を宛先アドレスとして、IPパケットの送信を行う。ここで、回線終端装置200−4が、IPv6クライアント装置101−2から情報サーバ523への情報通信の中継を行う。また、情報サーバ523のドメイン名の名前解決は、IPv6DNSサーバ312によって行われる。
図29は、本実施形態による回線終端装置200−4が、IPv6クライアント装置101−2からの通信を中継する動作例を示すシーケンス図である。以下、図29を参照して、本実施形態における通信処理の動作例を説明する。
まず、IPv6クライアント装置101−2が、名前解決要求パケット(IPv6、AAAA、情報サーバ523のドメイン名)を、回線終端装置200−4に送信する(ステップS1060)。
回線終端装置200−4は、受信した名前解決要求パケットを、例えば、Phase1処理部252−4によりIPv6DNSサーバ312に送信する(ステップS1061)。そして、回線終端装置200−4は、IPv6DNSサーバ312から応答される名前解決結果パケット(IPv6、情報サーバ523のドメイン名、情報サーバ523のIPアドレス)を受信し(ステップS1062)、IPv6クライアント装置101−2に送信する(ステップS1063)。
IPv6クライアント装置101−2は、受信する名前解決結果パケットから、名前解決結果IPアドレスを読み出し、読み出した名前解決結果IPアドレスを宛先として、IPパケット(IPv6)を送信する(ステップS1064)。回線終端装置200−4は、IPパケットを情報サーバ523に転送し(ステップS1065)、情報サーバ523は、受信するIPパケットに対応して、応答IPパケット(IPv6)を、回線終端装置200−4に送信する(ステップS1066)。回線終端装置200−4は、受信する応答IPパケットを、IPv6クライアント装置101−2に転送する。IPv6クライアント装置101−2は、応答IPパケットを受信する(ステップS1067)。
このように、本実施形態によれば、IPv6でのグローバルドメインへの通信を中継する。
<第9の実施形態>
第9の実施形態では、図14に示す類型Hに該当するネットワークにおける名前解決処理が、回線終端装置200−4のPhase0処理部251−4によって行われる動作例について説明する。第9の実施形態では、IPv6で通信を行うIPv6クライアント装置101−2が、IPv4インターネット301に接続された情報サーバ521を宛先アドレスとして、IPパケットの送信を行う。ここで、回線終端装置200−4が、IPv6クライアント装置101−2から情報サーバ521への情報通信の中継を行う。また、情報サーバ521のドメイン名の名前解決は、IPv6DNSサーバ312によって行われる。
図30は、本実施形態による回線終端装置200−4が、IPv6クライアント装置101−2からの通信を中継する動作例を示すシーケンス図である。以下、図30を参照して、本実施形態における通信処理の動作例を説明する。
まず、IPv6クライアント装置101−2が、名前解決要求パケット(IPv6、AAAA、情報サーバ521のドメイン名)を、回線終端装置200−4に送信する(ステップS1070)。
回線終端装置200−4は、受信した名前解決要求パケットを、例えば、Phase0処理部251−4によりIPv6DNSサーバ312に送信する(ステップS1071)。そして、回線終端装置200−4は、IPv6DNSサーバ312から応答される名前解決結果パケット(IPv6、情報サーバ521のドメイン名、情報サーバ521のIPアドレス)を受信すると(ステップS1072)、IPv6クライアント装置101−2に送信する(ステップS1073)。
IPv6クライアント装置101−2は、受信する名前解決結果パケットから、名前解決結果IPアドレスを読み出し、読み出した名前解決結果IPアドレスを宛先として、IPパケット(IPv6)を送信する(ステップS1074)。回線終端装置200−4のIPヘッダ変換部220−4は、IPパケット(IPv6)を、IPv4によるIPパケットに変換して(ステップS1075)、IPv4閉域ネットワーク900を介して情報サーバ521に転送する(ステップS1076)。
情報サーバ521は、受信するIPパケットに対応して、応答IPパケット(IPv4)を、回線終端装置200−4に送信する(ステップS1077)。回線終端装置200−4のIPヘッダ変換部220−4は、受信する応答IPパケット(IPv4)を、IPv6によるIPパケットに変換し(ステップS1078)、IPv6クライアント装置101−2に転送する。IPv6クライアント装置101−2は、応答IPパケットを受信する(ステップS1079)。
このように、本実施形態によれば、IPv6のみによる通信が可能なクライアント装置から、IPv4のみで提供されるサービスへの通信を中継する。
<第10の実施形態>
第10の実施形態では、図14に示す類型Iに該当するネットワークにおける名前解決処理が、回線終端装置200−2のPhase0処理部251−2によって行われる動作例について説明する。第10の実施形態では、IPv4で通信を行うIPv4クライアント装置100−2が、IPv6インターネット302に接続された情報サーバ523を宛先アドレスとして、IPパケットの送信を行う。ここで、回線終端装置200−2が、IPv4クライアント装置100−2から情報サーバ523への情報通信の中継を行う。また、情報サーバ523のドメイン名の名前解決は、IPv4DNSサーバ311によって行われる。
図31は、本実施形態による回線終端装置200−2が、IPv4クライアント装置100−2からの通信を中継する動作例を示すシーケンス図である。以下、図31を参照して、本実施形態における通信処理の動作例を説明する。
まず、IPv4クライアント装置100−2が、名前解決要求パケット(IPv4、AA、情報サーバ523のドメイン名)を、回線終端装置200−2に送信する(ステップS1080)。
回線終端装置200−2は、受信した名前解決要求パケットを、例えば、Phase0処理部251−2によりIPv4DNSサーバ311に送信する(ステップS1081)。そして、回線終端装置200−2は、IPv4DNSサーバ311から応答される名前解決結果パケット(IPv4、情報サーバ523のドメイン名、情報サーバ523のIPアドレス)を受信すると(ステップS1082)、IPv4クライアント装置100−2に送信する(ステップS1083)。
IPv4クライアント装置100−2は、受信する名前解決結果パケットから、名前解決結果IPアドレスを読み出し、読み出した名前解決結果IPアドレスを宛先として、IPパケット(IPv4)を送信する(ステップS1084)。回線終端装置200−2のIPヘッダ変換部220−2は、IPパケット(IPv4)を、IPv6によるIPパケットに変換して(ステップS1085)、IPv6閉域ネットワーク901を介して情報サーバ523に転送する(ステップS1086)。
情報サーバ523は、受信するIPパケットに対応して、応答IPパケット(IPv6)を、回線終端装置200−2に送信する(ステップS1087)。回線終端装置200−2のIPヘッダ変換部220−2は、受信する応答IPパケット(IPv6)を、IPv4によるIPパケットに変換し(ステップS1078)、IPv4クライアント装置100−2に転送する。IPv4クライアント装置100−2は、応答IPパケットを受信する(ステップS1089)。
このように、本実施形態によれば、IPv4のみによる通信が可能なクライアント装置から、IPv6のみで提供されるサービスへの通信を中継する。
<第11の実施形態>
第11の実施形態では、図14に示す類型Jに該当するネットワークにおける名前解決処理が、回線終端装置200−3のPhase0処理部251−3によって行われる動作例について説明する。第11の実施形態では、IPv6で通信を行うIPv6クライアント装置101−1が、IPv4インターネット301に接続された情報サーバ521を宛先アドレスとして、IPパケットの送信を行う。ここで、回線終端装置200−3が、IPv6クライアント装置101−1から情報サーバ521への情報通信の中継を行う。また、情報サーバ521のドメイン名の名前解決は、IPv4DNSサーバ311によって行われる。
図32は、本実施形態による回線終端装置200−3が、IPv6クライアント装置101−1からの通信を中継する動作例を示すシーケンス図である。以下、図32を参照して、本実施形態における通信処理の動作例を説明する。
まず、IPv6クライアント装置101−1が、名前解決要求パケット(IPv6、AAAA、情報サーバ521のドメイン名)を、回線終端装置200−3に送信する(ステップS1090)。
回線終端装置200−3は、受信した名前解決要求パケットを、例えば、Phase0処理部251−3によりIPv4DNSサーバ311に送信する(ステップS1091)。そして、回線終端装置200−3は、IPv4DNSサーバ311から応答される名前解決結果パケット(IPv4、情報サーバ521のドメイン名、情報サーバ521のIPアドレス)を受信すると(ステップS1092)、IPv6クライアント装置101−1に送信する(ステップS1093)。
IPv6クライアント装置101−1は、受信する名前解決結果パケットから、名前解決結果IPアドレスを読み出し、読み出した名前解決結果IPアドレスを宛先として、IPパケット(IPv6)を送信する(ステップS1094)。回線終端装置200−3のIPヘッダ変換部220−3は、IPパケット(IPv6)を、IPv4によるIPパケットに変換して(ステップS1095)、情報サーバ521に転送する(ステップS1096)。
情報サーバ521は、受信するIPパケットに対応して、応答IPパケット(IPv4)を、回線終端装置200−3に送信する(ステップS1097)。回線終端装置200−3のIPヘッダ変換部220−3は、受信する応答IPパケット(IPv4)を、IPv6によるIPパケットに変換し(ステップS1098)、IPv6クライアント装置101−1に転送する。IPv6クライアント装置101−1は、応答IPパケットを受信する(ステップS1099)。
このように、本実施形態によれば、IPv6のみによる通信が可能なクライアント装置から、IPv4のみで提供されるサービスへの通信を中継する。
なお、本発明における通信装置は、図33に示す通信装置201のように、上述のIPv4クライアント装置100−1と回線終端装置200−1とが有する各機能ブロックを同一端末に備えることとしても良い。図33に示す32の各機能部は、上述のIPv4クライアント装置100−1と回線終端装置200−1とが備える同名の各機能部と同様の構成である。また、IPv6クライアント装置101−1と回線終端装置200−1とを同一端末に備えても良い。
また、図34に示すように、Phase0テーブル231に記憶されるPhase0テーブルには、IPv4による仮想アドレスとIPv6による実アドレスとの組み合わせと、IPv6による仮想アドレスとIPv4による実アドレスとの組み合わせとの双方を記憶させても良い。例えば、図34の(a)のPhase0レコードは、ドメイン名に対して、IPv4の仮想アドレスが割り当てられている。ここで、「aaa.bbb.ccc」とのドメイン名でシングルAの名前解決要求を受けた場合は、Phase0処理部251−1によって、「aaa.bbb.ccc」に対応するIPv6アドレスを取得し、実アドレスの情報を更新して記憶させる。
図34の(e)は、(a)と同じドメイン名に対して、IPv6の仮想アドレスが割り当てられている。ここで、「aaa.bbb.ccc」とのドメイン名でクアッドAの名前解決要求を受けた場合は、Phase0処理部251−1によって、「aaa.bbb.ccc」に対応するIPv64アドレスを取得し、実アドレスの情報を更新して記憶させる。
「abcd.efgh.com」とのドメイン名に対する名前解決要求を受信した場合は、シングルAであれば、図34の(c)を参照して、仮想アドレス(IPv4)を返す。クアッドAの場合は、Phase0テーブル231にレコードが存在しないので、Phase1処理に移る。
「mmm.nnn.ooo」とのドメイン名に対する名前解決要求を受信した場合は、クアッドAであれば、図34の(f)を参照して、仮想アドレス(IPv6)を返す。シングルAの場合は、Phase0テーブル231にレコードが存在しないので、Phase1処理に移る。
また、本実施形態による構成によって、ネットワークを介する通信の負荷を分散させることができる。例えば、「xxx.yyy.zzz」という同じFQDNを持つ複数台のサービス提供サーバに対するアクセスを、Phase1処理部252に予め記憶させる設定によって負荷分散させることが可能である。
すなわち、「xxx.yyy.zzz」のドメイン名(FQDN)を持つサービス提供サーバが複数存在する場合がある。例えば、複数のサーバの機能は同じでも、扱えるデータ範囲や動作が異なる場合、セッションの管理が必要なため同一サーバにアクセスし続ける必要がある場合、がある。この場合、DNSラウンドロビンでは対応できないが、本応用例であれば、対応可能である。
すなわち、当該ドメインの名前解決先のDNSサーバアドレスをPhase1処理部252に設定することにより、名前解決先を固定する。それぞれのDNSサーバが返すアドレスも固定化しておくことで、サービス提供サーバとIPアプライアンスとを固定的に結び付けることが可能となる。これにより、サービス提供サーバが対応するIPアプライアンス数を限定することができるため、サービス提供サーバとして常に処理能力以下のIPアプライアンス数に保つことが可能となる。
以上説明したように、本発明の通信装置によれば、従来のIPネットワーク接続(例:インターネット接続、LAN接続など)の使い勝手を維持しつつ、複数のIPネットワークに接続されたDNSリゾルバからの名前解決要求を、複数のIPネットワークのうちいずれのネットワーク上にあるDNSサーバに送信すれば名前解決ができるかを判断する仕組みを提供することが可能である。
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより通信を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
本発明の一実施形態によるネットワーク環境を示す図である。 本発明の一実施形態による特殊ドメインを示す図である。 本発明の一実施形態による通信装置を示す図である。 本発明の一実施形態によるPhase0テーブルのデータ構造を示す図である。 本発明の一実施形態によるPhase1テーブルのデータ構造を示す図である。 本発明の一実施形態による論理IF記憶部のデータ構造を示す図である。 本発明の一実施形態による通信装置を示す図である。 本発明の一実施形態による通信装置を示す図である。 本発明の一実施形態による通信装置を示す図である。 本発明の一実施形態によるIPv4クライアント装置を示す図である。 本発明の一実施形態によるIPv4クライアント装置を示す図である。 本発明の一実施形態によるIPv6クライアント装置を示す図である。 本発明の一実施形態によるIPv6クライアント装置を示す図である。 本発明の一実施形態によって通信装置が通信を中継するネットワーク形態を類型化した図である。 本発明の一実施形態によって通信装置が通信を中継するネットワーク形態を類型化した図である。 本発明の第1の実施形態によって類型Gのネットワーク形態の通信が中継される動作例を示すシーケンス図である。 本発明の第1の実施形態によるPhase0に関する処理を示すフローチャートである。 本発明の第1の実施形態によって類型Gのネットワーク形態の通信が中継される動作例を示すシーケンス図である。 本発明の第1の実施形態によるPhase0に関する処理を示すフローチャートである。 本発明の第2の実施形態によって類型Aのネットワーク形態の通信が中継される動作例を示すシーケンス図である。 本発明の第2の実施形態によるPhase1に関する処理を示すフローチャートである。 本発明の第3の実施形態によって類型Bのネットワーク形態の通信が中継される動作例を示すシーケンス図である。 本発明の第3の実施形態によるPhase3に関する処理を示すフローチャートである。 本発明の第4の実施形態によるPhase3に関する処理を示すフローチャートである。 本発明の第4の実施形態によるPhase3に関する処理を示すフローチャートである。 本発明の第5の実施形態によって類型Cのネットワーク形態の通信が中継される動作例を示すシーケンス図である。 本発明の第6の実施形態によって類型Dのネットワーク形態の通信が中継される動作例を示すシーケンス図である。 本発明の第7の実施形態によって類型Eのネットワーク形態の通信が中継される動作例を示すシーケンス図である。 本発明の第8の実施形態によって類型Fのネットワーク形態の通信が中継される動作例を示すシーケンス図である。 本発明の第9の実施形態によって類型Hのネットワーク形態の通信が中継される動作例を示すシーケンス図である。 本発明の第10の実施形態によって類型Iのネットワーク形態の通信が中継される動作例を示すシーケンス図である。 本発明の第11の実施形態によって類型Jのネットワーク形態の通信が中継される動作例を示すシーケンス図である。 本発明の一実施形態による通信装置を示す図である。 本発明の一実施形態によるPhase0テーブルのデータ構造を示す図である。
符号の説明
10 ルートサーバ
11 DNSサーバ
100−1 IPv4クライアント装置
101−1 IPv6クライアント装置
110−1 アプリケーション
111−1 アプリケーション
120−1 IPv4DNSリゾルバ
121−1 IPv6DNSリゾルバ
130−1 IPv4通信部
131−1 IPv6通信部
100−2 IPv4クライアント装置
101−2 IPv6クライアント装置
110−2 アプリケーション
111−2 アプリケーション
120−2 IPv4DNSリゾルバ
121−2 IPv6DNSリゾルバ
130−2 IPv4通信部
131−2 IPv6通信部
200−1 回線終端装置
201−1 通信装置
210−1 通信部
211−1 IPv4通信部
212−1 IPv6通信部
220−1 IPヘッダ変換部
230−1 記憶部
231−1 Phase0テーブル
232−1 Phase1テーブル
233−1 論理IF記憶部
240−1 対応情報更新部
241−1 被制御部
242−1 論理IF制御部
245−1 DHCPクライアント部
246−1 DHCPサーバ部
250−1 名前解決代理部
251−1 Phase0処理部
252−1 Phase1処理部
253−1 Phase2処理部
254−1 Phase3処理部
260−1 名前解決制御部
270−1 名前解決要求受信部
280−1 名前解決結果送信部
290−1 DNSリゾルバ
291−1 IPv4DNSリゾルバ
292−1 IPv6DNSリゾルバ
200−2 回線終端装置
201−2 通信装置
210−2 通信部
211−2 IPv4通信部
212−2 IPv6通信部
220−2 IPヘッダ変換部
230−2 記憶部
231−2 Phase0テーブル
232−2 Phase1テーブル
233−2 論理IF記憶部
241−2 被制御部
242−2 論理IF制御部
245−2 DHCPクライアント部
246−2 DHCPサーバ部
250−2 名前解決代理部
251−2 Phase0処理部
252−2 Phase1処理部
253−2 Phase2処理部
254−2 Phase3処理部
260−2 名前解決制御部
270−2 名前解決要求受信部
280−2 名前解決結果送信部
290−2 DNSリゾルバ
291−2 IPv4DNSリゾルバ
292−2 IPv6DNSリゾルバ
200−3 回線終端装置
201−3 通信装置
210−3 通信部
211−3 IPv4通信部
212−3 IPv6通信部
220−3 IPヘッダ変換部
230−3 記憶部
231−3 Phase0テーブル
232−3 Phase1テーブル
233−3 論理IF記憶部
241−3 被制御部
242−3 論理IF制御部
245−3 DHCPクライアント部
246−3 DHCPサーバ部
250−3 名前解決代理部
251−3 Phase0処理部
252−3 Phase1処理部
253−3 Phase2処理部
254−3 Phase3処理部
260−3 名前解決制御部
270−3 名前解決要求受信部
280−3 名前解決結果送信部
290−3 DNSリゾルバ
291−3 IPv4DNSリゾルバ
292−3 IPv6DNSリゾルバ
200−4 回線終端装置
201−4 通信装置
210−4 通信部
211−4 IPv4通信部
212−4 IPv6通信部
220−4 IPヘッダ変換部
230−4 記憶部
231−4 Phase0テーブル
232−4 Phase1テーブル
233−4 論理IF記憶部
241−4 被制御部
242−4 論理IF制御部
245−4 DHCPクライアント部
246−4 DHCPサーバ部
250−4 名前解決代理部
251−4 Phase0処理部
252−4 Phase1処理部
253−4 Phase2処理部
254−4 Phase3処理部
260−4 名前解決制御部
270−4 名前解決要求受信部
280−4 名前解決結果送信部
290−4 DNSリゾルバ
291−4 IPv4DNSリゾルバ
292−4 IPv6DNSリゾルバ
300 第1のネットワーク
301 IPv4インターネット
302 IPv6インターネット
310 IPv6DNSサーバ
311 IPv4DNSサーバ
312 IPv6DNSサーバ
320 情報サーバ
400 第2のネットワーク
410 DNSサーバ
420 情報サーバ
500 第3のネットワーク
501 IPv4プライベートネットワーク
502 IPv6プライベートネットワーク
511 IPv4プライベートDNSサーバ
512 IPv6プライベートDNSサーバ
520 情報サーバ
521 情報サーバ
522 情報サーバ
523 情報サーバ
524 情報サーバ
525 情報サーバ
900 IPv4閉域ネットワーク
901 IPv6閉域ネットワーク
911 DNSサーバ
912 DNSサーバ
1001 ホスト
1002 ISP−Aネットワーク
1003 ISP−Bネットワーク
1004 プライベートネットワーク
1005 通信装置

Claims (4)

  1. 第1のネットワークプロトコルと第2のネットワークプロトコルとによる通信が行われるネットワークに備えられる複数のDNSサーバのうちいずれかのDNSサーバによって名前解決を行うIP通信可能な通信装置であって、
    前記第2のネットワークプロトコルによってのみアクセス可能な情報サーバのドメイン名情報と、前記第1のネットワークプロトコルにより予め定められた仮想IPアドレスと、前記2のネットワークプロトコルによる前記情報サーバの実IPアドレスを対応付けた情報である第の対応情報を記憶する第1の記憶手段と、
    予め定められたドメイン名情報と、前記ドメイン名情報を解決可能なDNSサーバのIPアドレスであるDNSサーバIPアドレスとを対応付けた情報である第の対応情報をめ記憶する第2の記憶手段と、
    予め定められた優先順位と、予め定められたDNSサーバIPアドレスと、当該DNSサーバIPアドレスへの通信が有効か無効かを示す状態情報とを対応付けた第3の対応情報を記憶する第3の記憶手段と、
    前記第1のネットワークプロトコルによる第1の名前解決要求情報を受信する名前解決要求受信部と、
    前記第1の名前解決要求情報に含まれるドメイン名情報に対応する前記第1のネットワークの仮想IPアドレスと前記第2のネットワークのIPアドレスとが、前記第1の記憶手段に記憶されていれば、当該仮想IPアドレスを読み出して名前解決結果情報として出力し、前記ドメイン名情報に対応する前記仮想IPアドレスが記憶されているが前記実IPアドレスが前記第1の記憶手段に記憶されていなければ、前記複数のDNSサーバのうち前記第2のネットワークプロトコルによる名前解決を行う前記DNSサーバに、前記ドメイン名情報を含む第2の名前解決要求情報を送信し、当該第2の名前解決要求情報に対応する第2の名前解決結果情報を受信すると、前記ドメイン名情報と、前記第1のネットワークの仮想IPアドレスと、前記第2の名前解決結果情報に含まれる前記第2のネットワークの実IPアドレスとを前記第1の記憶手段に記憶させ、前記第1のネットワークの仮想IPアドレスが含まれる名前解決結果情報を出力する第1の名前解決代理手段と、
    前記第1の名前解決要求情報に含まれるドメイン名情報に対応付けられて前記第2の記憶手段に記憶されている前記DNSサーバIPアドレスを宛先として、前記第1の名前解決要求情報を、前記第2の名前解決要求情報として送信し、当該第2の名前解決要求情報に対応する名前解決結果情報を受信して出力する第2の名前解決代理手段と、
    前記第3の記憶手段から、前記第3の対応情報のうち、前記状態情報が有効であり、かつ、最も優先順位が高いことを示すDNSサーバIPアドレスを検出して、検出したDNSサーバIPアドレスに、前記第1の名前解決要求情報を第2の名前解決要求情報として転送し、当該第2の名前解決要求情報に対応する名前解決結果情報を受信して出力する第3の名前解決代理手段と、
    予め記憶されたDNSサーバIPアドレスに対して名前解決要求を行うか、DHCPサーバから受信するDNSサーバIPアドレスに対して名前解決要求を行うかのいずれかによって名前解決を行って、前記第1の名前解決要求情報に対応する名前解決結果情報を受信して出力する第4の名前解決代理手段と、
    前記名前解決要求受信部が受信した前記第1の名前解決要求情報に含まれる前記ドメイン名情報が前記第1の記憶手段に記憶されていれば、前記第1の名前解決代理手段を動作させ、前記ドメイン名情報が前記第1の記憶手段に記憶されておらず、前記ドメイン名情報に対応する前記DNSサーバIPアドレスが前記第2の記憶手段に記憶されていれば、前記第2の名前解決代理手段を動作させ、前記ドメイン名情報に対応する前記DNSサーバIPアドレスが前記第2の記憶手段に記憶されておらず、有効を示す状態情報に対応付けられたDNSサーバIPアドレスが前記第3の記憶手段に記憶されていれば前記第3の名前解決代理手段を動作させ、有効を示す状態情報に対応付けられたDNSサーバIPアドレスが前記第3の記憶手段に記憶されていなければ、前記第4の名前解決代理手段を動作させる名前解決制御手段と、
    を備えることを特徴とする通信装置。
  2. 前記第1のネットワークプロトコルによる前記第1のネットワークの仮想IPアドレスを宛先とするIPパケットを受信すると、前記第1の記憶手段に記憶された第の対応情報から、当該第1のネットワークの仮想IPアドレスに対応する前記第2のネットワークのIPアドレスを読み出し、前記IPパケットのヘッダ情報を、前記第2のネットワークのIPアドレスを宛先とする前記第2のネットワークプロトコルによるヘッダ情報に変換するプロトコル変換手段
    をさらに備えることを特徴とする請求項1に記載の通信装置。
  3. 第1のネットワークプロトコルと第2のネットワークプロトコルとによる通信が行われるネットワークに備えられる複数のDNSサーバのうちいずれかのDNSサーバによって名前解決を行い、前記第2のネットワークプロトコルによってのみアクセス可能な情報サーバのドメイン名情報と、前記第1のネットワークプロトコルにより予め定められた仮想IPアドレスと、前記2のネットワークプロトコルによる前記情報サーバの実IPアドレスを対応付けた情報である第の対応情報を記憶する第1の記憶手段と、予め定められたドメイン名情報と、前記ドメイン名情報を解決可能なDNSサーバのIPアドレスであるDNSサーバIPアドレスとを対応付けた情報である第の対応情報をめ記憶する第2の記憶手段と、予め定められた優先順位と、予め定められたDNSサーバIPアドレスと、当該DNSサーバIPアドレスへの通信が有効か無効かを示す状態情報とを対応付けた第3の対応情報を記憶する第3の記憶手段と、を備えたIP通信可能な通信装置の通信方法であって、
    名前解決要求受信部が、前記第1のネットワークプロトコルによる第1の名前解決要求情報を受信するステップと、
    第1の名前解決代理手段が、前記第1の名前解決要求情報に含まれるドメイン名情報に対応する前記第1のネットワークの仮想IPアドレスと前記第2のネットワークのIPアドレスとが、前記第1の記憶手段に記憶されていれば、当該仮想IPアドレスを読み出して名前解決結果情報として出力し、前記ドメイン名情報に対応する前記仮想IPアドレスが記憶されているが前記実IPアドレスが前記第1の記憶手段に記憶されていなければ、前記複数のDNSサーバのうち前記第2のネットワークプロトコルによる名前解決を行う前記DNSサーバに、前記ドメイン名情報を含む第2の名前解決要求情報を送信し、当該第2の名前解決要求情報に対応する第2の名前解決結果情報を受信すると、前記ドメイン名情報と、前記第1のネットワークの仮想IPアドレスと、前記第2の名前解決結果情報に含まれる前記第2のネットワークの実IPアドレスとを前記第1の記憶手段に記憶させ、前記第1のネットワークの仮想IPアドレスが含まれる名前解決結果情報を出力するステップと、
    第2の名前解決代理手段が、前記第1の名前解決要求情報に含まれるドメイン名情報に対応付けられて前記第2の記憶手段に記憶されている前記DNSサーバIPアドレスを宛先として、前記第1の名前解決要求情報を、前記第2の名前解決要求情報として送信し、当該第2の名前解決要求情報に対応する名前解決結果情報を受信して出力するステップと、
    第3の名前解決代理手段が、前記第3の記憶手段から、前記第3の対応情報のうち、前記状態情報が有効であり、かつ、最も優先順位が高いことを示すDNSサーバIPアドレスを検出して、検出したDNSサーバIPアドレスに、前記第1の名前解決要求情報を第2の名前解決要求情報として転送し、当該第2の名前解決要求情報に対応する名前解決結果情報を受信して出力するステップと、
    第4の名前解決代理手段が、予め記憶されたDNSサーバIPアドレスに対して名前解決要求を行うか、DHCPサーバから受信するDNSサーバIPアドレスに対して名前解決要求を行うかのいずれかによって名前解決を行って、前記第1の名前解決要求情報に対応する名前解決結果情報を受信して出力するステップと、
    名前解決制御手段が、前記名前解決要求受信部が受信した前記第1の名前解決要求情報に含まれる前記ドメイン名情報が前記第1の記憶手段に記憶されていれば、前記第1の名前解決代理手段を動作させ、前記ドメイン名情報が前記第1の記憶手段に記憶されておらず、前記ドメイン名情報に対応する前記DNSサーバIPアドレスが前記第2の記憶手段に記憶されていれば、前記第2の名前解決代理手段を動作させ、前記ドメイン名情報に対応する前記DNSサーバIPアドレスが前記第2の記憶手段に記憶されておらず、有効を示す状態情報に対応付けられたDNSサーバIPアドレスが前記第3の記憶手段に記憶されていれば前記第3の名前解決代理手段を動作させ、有効を示す状態情報に対応付けられたDNSサーバIPアドレスが前記第3の記憶手段に記憶されていなければ、前記第4の名前解決代理手段を動作させるステップと、
    を備えることを特徴とする通信方法。
  4. プロトコル変換手段が、前記第1のネットワークプロトコルによる前記第1のネットワークの仮想IPアドレスを宛先とするIPパケットを受信すると、前記第1の記憶手段に記憶された第の対応情報から、当該第1のネットワークの仮想IPアドレスに対応する前記第2のネットワークのIPアドレスを読み出し、前記IPパケットのヘッダ情報を、前記第2のネットワークのIPアドレスを宛先とする前記第2のネットワークプロトコルによるヘッダ情報に変換するステップ
    をさらに備えることを特徴とする請求項3に記載の通信方法。
JP2007263723A 2007-10-09 2007-10-09 通信装置および通信方法 Active JP4514780B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007263723A JP4514780B2 (ja) 2007-10-09 2007-10-09 通信装置および通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007263723A JP4514780B2 (ja) 2007-10-09 2007-10-09 通信装置および通信方法

Publications (2)

Publication Number Publication Date
JP2009094820A JP2009094820A (ja) 2009-04-30
JP4514780B2 true JP4514780B2 (ja) 2010-07-28

Family

ID=40666332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007263723A Active JP4514780B2 (ja) 2007-10-09 2007-10-09 通信装置および通信方法

Country Status (1)

Country Link
JP (1) JP4514780B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5021533B2 (ja) * 2008-03-18 2012-09-12 株式会社リコー 情報処理端末
JP5075167B2 (ja) * 2009-07-01 2012-11-14 シャープ株式会社 コンテンツ再生装置及び再生制御情報サーバ
JP5533300B2 (ja) * 2010-06-10 2014-06-25 日本電気株式会社 ルーティング管理システム、その処理方法及びプログラム
JP5713499B2 (ja) * 2011-06-13 2015-05-07 日本電信電話株式会社 多地点配信方法及び多地点配信システム
WO2014109408A1 (ja) * 2013-01-11 2014-07-17 京セラ株式会社 通信端末及び記憶媒体
JP6230310B2 (ja) * 2013-07-17 2017-11-15 キヤノン株式会社 通信装置およびその制御方法、コンピュータプログラム
JP6807962B2 (ja) * 2017-02-02 2021-01-06 三菱電機株式会社 中継装置、通信システム、及び通信方法
JP7112237B2 (ja) * 2018-04-19 2022-08-03 キヤノン株式会社 デバイス、その制御方法、及びプログラム
CN120358283B (zh) * 2025-06-24 2026-03-10 中兴通讯股份有限公司 域名系统dns服务器推送方法、电子装置及计算机程序产品

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3895173B2 (ja) * 2001-12-27 2007-03-22 Kddi株式会社 プロトコル変換装置およびインタフェース装置
JP3809950B2 (ja) * 2002-07-03 2006-08-16 日本電信電話株式会社 複数ネットワークの接続を実現する名前解決方法及び装置
JP3864397B2 (ja) * 2004-09-03 2006-12-27 日本電信電話株式会社 ユーザエッジルータ、ゲートウェイルータ、マルチホーミング通信システム、マルチホーミング通信方法およびマルチホーミング通信プログラム
JP4266950B2 (ja) * 2005-03-31 2009-05-27 Necアクセステクニカ株式会社 アドレス情報取得装置およびアドレス情報取得方法
JP4331733B2 (ja) * 2006-03-03 2009-09-16 日本電信電話株式会社 検索処理装置、検索処理方法および検索処理プログラム

Also Published As

Publication number Publication date
JP2009094820A (ja) 2009-04-30

Similar Documents

Publication Publication Date Title
JP4514780B2 (ja) 通信装置および通信方法
US7725596B2 (en) System and method for resolving network layer anycast addresses to network layer unicast addresses
US7908337B2 (en) System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content
US10706029B2 (en) Content name resolution for information centric networking
US7343422B2 (en) System and method for using uniform resource locators to map application layer content names to network layer anycast addresses
EP1643730B1 (en) Organizing resources into collections to facilitate more efficient and reliable resource access
US7263560B2 (en) Decentralized peer-to-peer advertisement
US7565450B2 (en) System and method for using a mapping between client addresses and addresses of caches to support content delivery
US20110029688A1 (en) Logical routing system
US8583745B2 (en) Application platform
US20070014241A1 (en) Resolver caching of a shortest path to a multihomed server as determined by a router
WO2004072798A2 (en) Methods and systems for providing dynamic domain name system for inbound route control
JP5932841B2 (ja) 企業ネットワークの外部から分散ファイルシステムへのサイト認識アクセス
JP2004054607A (ja) スイッチ装置、分散オブジェクト管理方法およびプログラム
JP4460693B2 (ja) 情報検索機能をもつネットワークシステム
EP1277327B1 (en) System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content
WO2002039699A1 (en) Domain name system extensions to support reverse proxy operations and layer-7 redirection
Akanho et al. African nameservers revealed: Characterizing dns authoritative nameservers
JP5110538B2 (ja) ネットワークシステム、ネットワーク装置、ネットワーク方法及びプログラム
JP4426183B2 (ja) 論理経路制御システム
WO2001084802A2 (en) System and method for using uniform resource locators to map application layer content names to network layer anycast addresses
KR20020074914A (ko) 네트워크상에서의 데이터 플로우 식별 방법 및 장치
JP3708085B2 (ja) Dns問い合わせ装置およびdns問い合わせ方法
WO2001084803A2 (en) System and method for resolving network layer anycast addresses to network layer unicast addresses
JP2005065204A (ja) パーソナルipシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100215

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100511

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4514780

Country of ref document: JP

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140521

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250