(58)【調査した分野】(Int.Cl.,DB名)
端末装置と、前記端末装置と通信経路を介して上位側に接続された中継装置と、前記中継装置と前記通信経路を介して上位側に接続された上位装置と、を備えるネットワークにおいて、
前記中継装置は、前記端末装置から送信されたDNSクエリをスヌーピングし、スヌーピングしたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリである場合、前記中継装置のドメイン名に対応するIPアドレスを前記端末装置に送信する、中継装置のIPアドレス解決方法。
前記中継装置は、前記スヌーピングしたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリである場合、当該DNSクエリを破棄し、前記上位装置に当該DNSクエリを送信しない、請求項1に記載の中継装置のIPアドレス解決方法。
前記中継装置は、前記スヌーピングしたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリではない場合、当該DNSクエリをそのまま前記上位装置に送信する、請求項1又は2に記載の中継装置のIPアドレス解決方法。
前記中継装置は、前記スヌーピングしたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリであり、前記中継装置のドメイン名に対応するIPアドレスを前記端末装置に送信する際、送信元のIPアドレスとして前記上位装置のIPアドレスを用いる、請求項1乃至3の何れか一項に記載の中継装置のIPアドレス解決方法。
前記スヌーピング手段によってスヌーピングされたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリである場合、当該DNSクエリを破棄し、前記上位装置に当該DNSクエリを送信しないフィルタ手段を備える、請求項5に記載の中継装置。
前記フィルタ手段は、前記スヌーピング手段によってスヌーピングされたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリではない場合、当該DNSクエリをそのまま前記上位装置に送信する、請求項6に記載の中継装置。
前記DNSリゾルバ手段は、前記中継装置のドメイン名に対応するIPアドレスを前記端末装置に送信する際、送信元のIPアドレスとして前記上位装置のIPアドレスを用いる、請求項5乃至7の何れか一項に記載の中継装置。
【発明を実施するための形態】
【0021】
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本発明の実施の形態1に係るネットワーク1の概略構成を示すブロック図である。
図1に示すように、本発明の実施の形態1に係る中継装置としての無線アクセスポイント(AP:Access Point)100は、スヌーピング手段としてのDNSスヌーピング部104A、DNSリゾルバ手段としてのDNSリゾルバ部104B等を備える。
【0022】
また、無線アクセスポイント(以下、単に「無線AP」と称する。)100は、端末装置としてのパーソナルコンピュータ(以下、単に「PC」と称する。)200と通信経路としての無線(WLAN;Wireless LAN)L1により上位側に接続されている。また、上位装置としてのHGW(Home Gate Way)400と通信経路としての有線L2により接続されている。
【0023】
そして、無線AP100のDNSスヌーピング部104Aは、PC200から送信されたDNSクエリをスヌーピングする。また、無線AP100のDNSリゾルバ部104Bは、DNSスヌーピング部104AによってスヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリである場合、無線AP100のドメイン名に対応するIPアドレスをPC200に送信する。なお、実施の形態1で用いられるIPアドレスは、例えば、IPv4アドレスである。
【0024】
実施の形態1に係るネットワーク1について、
図2を参照しながら、より詳細に説明する。
図2は、実施の形態1に係るネットワーク1を示すブロック図である。
図2に示すように、ネットワーク1は、中継装置としての無線AP100と、端末装置としてのPC200,300と、上位装置としてのHGW400等を備える。
【0025】
無線AP100とPC200とは、無線L1により接続されている。そして、例えば、IEEE802.11によって規定される無線通信規格に基づいて、無線通信を行う。また、HGW400と無線AP100とは、有線L2により接続されている。また、PC300とHGW400とは、有線L3により接続されている。
【0026】
そして、
図2に示すように、HGW400は、無線AP100、PC200,300、無線L1、有線L2、L3等を備えるローカルエリアネットワーク(LAN)11と、外部のインターネット12とを結合する。
具体的には、PC200は、無線AP100を介して、DNSクエリをHGW400に送信する。HGW400は、無線AP100を介して、DNSクエリのDNSに対応するIPアドレスをPC200に送信する。そして、PC200は、当該IPアドレスを用いて、インターネット12上のサーバ等の装置にアクセスする。
また、PC300は、DNSクエリをHGW400に送信する。HGW400は、DNSクエリのDNSに対応するIPアドレスをPC300に送信する。そして、PC300は、当該IPアドレスを用いて、インターネット12上のサーバ等の装置にアクセスする。
【0027】
無線AP100は、
図3に示すように、無線AP部101、DHCPクライアント部102、HTTPサーバ部103、プロキシDNS部104、フィルタ手段としてのフィルタ部105、WLANインターフェース106、LANインターフェース107等を備える。そして、無線AP100は、WLANインターフェース106を介してPC200と接続されている。また、無線AP100は、LANインターフェース107を介して、HGW400と接続されている。また、プロキシDNS部104は、スヌーピング手段としてのDNSスヌーピング部104A、DNSリゾルバ手段としてのDNSリゾルバ部104B、DNSレコード生成部104C、DNSキャッシュ部104D等を備える。
【0028】
また、無線AP100は、図示しないCPU及び図示しない記憶部を備える。そして、CPUが記憶部に格納されているプログラムを実行することにより、無線AP100における処理が実現する。
また、無線AP100の記憶部に格納されるプログラムは、CPUに実行されることにより、無線AP100の処理を実現するためのコードを含む。なお、記憶部は、例えば、このプログラムや、無線AP100における処理に利用される各種情報を格納することができる任意の記憶装置を含んで構成される。記憶装置は、例えば、メモリ等である。
【0029】
具体的には、CPUは、記憶部に格納されているプログラムを実行することによって、無線AP部101、DHCPクライアント部102、HTTPサーバ部103、プロキシDNS部104、フィルタ部105、WLANインターフェース106、LANインターフェース107等の無線AP100の各部の機能を実現する。すなわち、無線AP100による全ての各種制御処理は、CPUと記憶部に格納されているプログラムとが協働した具体化手段によって実現される。
【0030】
無線AP部101は、無線AP100とPC200との間の無線通信を制御する。具体的には、無線AP部101は、IEEE802.11等によって規定される無線通信規格に基づく無線通信を制御する。
【0031】
DHCPクライアント部102は、DHCPに従って、HGW400から無線AP100のIPアドレス(例えば、192.0.2.2)を取得する。
【0032】
HTTPサーバ部103は、HTTPに従って、HTMLやオブジェクト等の情報を下位に接続された装置に送信する。本実施の形態1では、特に、HTTPサーバ部103は、無線AP100のIPアドレス及びGUIにアクセスするためのFQDN(Fully Query Domain Name)、例えば、ap.testを指定してアクセスしたPC200等の端末に、GUIへのアクセスを許可する。これにより、当該GUIにアクセスしたPC200等の端末は、無線通信のSSIDや暗号化キー等の設定を変更することができる。
【0033】
プロキシDNS部104は、特定のDNSクエリ、例えば、無線AP100のドメイン名を指定したDNSクエリ、について、代理を行う。具体的には、プロキシDNS部104は、DNSスヌーピング部104A、DNSリゾルバ部104B、DNSレコード生成部104C、DNSキャッシュ部104D等を備える。なお、無線AP100は、無線AP100のGUIにアクセスするためのFQDNである、ap.test、をドメイン名として備える。
【0034】
DNSスヌーピング部104Aは、PC200から送信されたDNSクエリをスヌーピングする。また、DNSスヌーピング部104Aは、スヌーピングしたDNSクエリが無線AP100のドメイン名、ap.test、を指定したDNSクエリである場合、その旨を、DNSリゾルバ部104Bに通知する。具体的には、DNSスヌーピング部104Aは、スヌーピングしたDNSクエリが無線AP100のドメイン名を指定したDNSクエリであるか否かを判断する。そして、スヌーピングしたDNSクエリが無線AP100のドメイン名を指定したDNSクエリである場合、その旨を、DNSリゾルバ部104Bに通知する。
【0035】
DNSリゾルバ部104Bは、スヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリである場合、無線AP100のドメイン名に対応するIPアドレスをPC200に送信する。具体的には、スヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリである場合、DNSリゾルバ部104Bは、無線AP100のドメイン名に対応するIPアドレスに対応するDNSレコードを後述のDNSキャッシュ部104Dから抽出し、当該DNSレコードからDNS Answerメッセージを生成し、当該DNS AnswerをPC200に送信する。また、DNSリゾルバ部104Bは、当該DNS AnswerをPC200に送信する際、送信元のIPアドレスとしてHGW400のIPアドレスを用いる。
【0036】
DNSレコード生成部104Cは、DHCPクライアント部102が取得した無線AP100のIPアドレスと、GUIにアクセスするためのFQDNとを組み合わせたDNSレコードを生成し、DNSキャッシュ部104Dに格納する。ここで、GUIにアクセスするためのFQDNは、無線AP100のドメイン名である、ap.testである。
【0037】
DNSキャッシュ部104Dは、無線AP100のドメイン名、ap.testと、無線AP100のIPアドレス、192.0.2.2、とを対応付けて記憶している。具体的には、DNSキャッシュ部104Dは、DNSレコード生成部104Cによって生成された、無線AP100のIPアドレスと、GUIにアクセスするためのFQDN(無線AP100のドメイン名)とを組み合わせたDNSレコードを格納している。
【0038】
フィルタ部105は、DNSスヌーピング部104AによってスヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリである場合、当該DNSクエリを破棄し、HGW400に当該DNSクエリを送信しない。具体的には、フィルタ部105は、パケットフィルタであり、パケットの廃棄を行う。より具体的には、フィルタ部105は、スヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリであるか否かを判断する。そして、スヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリである場合、フィルタ部105は、当該DNSを破棄し、HGW400に当該DNSクエリを送信しない。一方、スヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリではない場合、フィルタ部105は、当該DNSクエリをそのままHGW400に送信する。
【0039】
HGW400は、
図2に示すように、DHCPサーバ部401、プロキシDNS部402等を備える。
【0040】
DHCPサーバ部401は、HGW400のLAN11側に接続された無線AP100、PC200、PC300にIPアドレスを割り当てる。ここで、HGW400のLAN11側のIPアドレス及び帯域は、例えば、192.0.2.1/24とする。なお、HGW400のWAN(Wide Area Network)側は、インターネット12と接続されており、通信可能となっている。
【0041】
プロキシDNS部402は、一般的なプロキシ機能を有する。具体的には、プロキシDNS部402は、サーバ機能とクライアント機能とを有する。より具体的には、プロキシDNS部402は、HGW400がPC200から無線AP100を介してDNSクエリを受信した際、当該DNSクエリに対応するIPアドレスをPC200に無線AP100を介して送信する。同様に、プロキシDNS部402は、HGW400がPC300からDNSクエリを受信した際、当該DNSクエリに対応するIPアドレスをPC300に送信する。
【0042】
次に、
図4を参照しながら、本実施の形態1に係る無線AP100とPC200とがIPアドレスを取得するシーケンスについて説明する。
【0043】
まず、無線AP100がIPアドレスを取得するシーケンス(DHCP05)について説明する。
無線AP100のDHCPクライアント部102は、DiscoverメッセージをHGW400に送信する(ステップS1)。次いで、HGW400のDHCPサーバ部401は、受信したDiscoverメッセージに対してOfferメッセージを無線AP100に送信する(ステップS2)。
【0044】
次に、無線AP100のDHCPクライアント部102は、RequestメッセージをHGW400に送信する(ステップS3)。次いで、HGW400のDHCPサーバ部401は、受信したRequestメッセージに対して、IPアドレスを含むAckメッセージを無線AP100に送信する(ステップS4)。ここで、無線AP100が取得したIPアドレスを192.0.2.2とする。また、このIPアドレスが無線AP100のGUIのアドレスとなる。
【0045】
また、ここで、DNSレコード生成部104Cは、ステップS4において、無線AP100が取得した無線AP100のIPアドレスと、GUIにアクセスするためのFQDN、例えば、ap.test、とを組み合わせたDNSレコードを生成し、DNSキャッシュ部104Dに格納する。
【0046】
なお、上記シーケンスDHCP05において、無線AP100は、無線AP100のDHCPクライアント機能(DHCPクライアント部102の機能)によりIPアドレスを取得しているため、ブリッジする必要がなく、無線L1側に接続されているPC200にパケットを転送しない。そのため、PC200は、無線AP100のIPアドレスを知ることはできない。
【0047】
次に、PC200がIPアドレスを取得するシーケンス(DHCP06)について説明する。
PC200は、DiscoverメッセージをHGW400に無線AP100を介して送信する(ステップS5)。ここで、無線AP100はブリッジであるため、PC200とHGW400との間の通信は、基本的に、無線AP100が関与せずに行われる。次いで、HGW400のDHCPサーバ部401は、受信したDiscoverメッセージに対してOfferメッセージをPC200に無線AP100を介して送信する(ステップS6)。
【0048】
次に、PC200は、RequestメッセージをHGW400に無線AP100を介して送信する(ステップS7)。次いで、HGW400のDHCPサーバ部401は、受信したRequestメッセージに対して、IPアドレスを含むAckメッセージをPC200に無線AP100を介して送信する(ステップS8)。ここで、PC200が取得したIPアドレスを192.0.2.3とする。
【0049】
次に、
図5を参照しながら、本実施の形態1に係るPC200がインターネット12にアクセスする際のシーケンスを説明する。ここでは、PC200がインターネット12上のexample.comにアクセスする場合について説明する。
【0050】
まず、PC200は、ドメイン名としてexample.comを指定したDNSクエリをHGW400に無線AP100を介して送信する(ステップS101)。ここで、無線AP100のDNSスヌーピング部104Aは、PC200から送信されたDNSクエリをスヌーピングする。次いで、無線AP100のDNSスヌーピング部104Aは、スヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリであるか否かを判断する。ここでは、スヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリではないため、DNSスヌーピング部104Aは、DNSリゾルバ部104Bに通知を行わない。そのため、DNSリゾルバ部104Bは、何も処理をせず、フィルタ部105に当該DNSクエリが送信される。次いで、無線AP100のフィルタ部105は、スヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリであるか否かを判断する。そして、ここでは、スヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリではないため、フィルタ部105は、当該DNSクエリをそのままHGW400に送信する。
【0051】
次いで、HGW400のプロキシDNS部402は、ドメイン名としてexample.comを指定したDNSクエリをインターネット12上のDNSサーバ(不図示)に送信する(ステップS102)。
【0052】
次に、HGW400は、インターネット12上のDNSサーバから、ドメイン名example.comに対応するIPアドレス、例えば、203.0.113.1、を受信する(ステップS103)。次いで、HGW400は、ドメイン名example.comに対応するIPアドレス、203.0.113.1、をPC200に無線AP100を介して送信する(ステップS104)。
【0053】
次に、PC200は、当該IPアドレス、203.0.113.1、を用いて、インターネット12上のexample.comにアクセスする(ステップS105)。
【0054】
次に、
図6を参照しながら、本実施の形態1に係るPC200がGUIにアクセスする際のシーケンスを説明する。
まず、PC200は、ドメイン名として、無線AP100のドメイン名(GUIにアクセスするためのFQDN)であるap.testを指定したDNSクエリをHGW400に無線AP100を介して送信する(ステップS201)。
【0055】
ここで、無線AP100のDNSスヌーピング部104Aは、PC200から送信されたDNSクエリをスヌーピングする。次いで、無線AP100のDNSスヌーピング部104Aは、スヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリであるか否かを判断する。ここでは、スヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリであるため、DNSスヌーピング部104Aは、DNSリゾルバ部104Bにその旨を通知する。
【0056】
次いで、DNSリゾルバ部104Bは、無線AP100のドメイン名に対応するDNSレコードをDNSキャッシュ部104Dから抽出し、当該DNSレコードからDNS Answerメッセージを生成し、当該DNS AnswerをPC200に送信する(ステップS202)。なお、DNSリゾルバ部104Bは、当該DNS AnswerをPC200に送信する際、送信元のIPアドレスとしてHGW400のIPアドレスを用いる。
【0057】
また、ここで、フィルタ部105に当該DNSクエリが送信される。次いで、無線AP100のフィルタ部105は、スヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリであるか否かを判断する。そして、ここでは、スヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリであるため、フィルタ部105は、当該DNSクエリを破棄し、HGW400に送信しない。
【0058】
次に、PC200は、ステップS202において送信された、無線AP100のIPアドレス、192.0.2.2、を用いて、無線AP100のGUIにアクセスする(ステップS203)。
【0059】
以上に説明した実施の形態1に係る無線AP100のIPアドレス解決方法、無線AP100、及び、プログラムでは、DNSスヌーピング部104Aが、PC200から送信されたDNSクエリをスヌーピングし、DNSスヌーピング部104AによってスヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリである場合、DNSリゾルバ部104Bが、無線AP100のドメイン名に対応するIPアドレスを含むDNS AnswerをPC200に送信する。そのため、PC200が通信経路上の無線AP100のIPアドレスを容易に取得することができる、無線AP100のIPアドレス解決方法、無線AP100、及び、プログラムを提供することができる。
【0060】
また、スヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリである場合、フィルタ部105は、当該DNSクエリを破棄し、HGW400に送信しない。もし、フィルタ部105によって当該DNSクエリが破棄されない場合、当該クエリはインターネット12上のDNSサーバに送信され、DNSサーバから当該DNSクエリに対する回答が無線AP100を介してPC200に送信される。しかし、無線APにIPアドレスを割り当てたのはHGW400であるため、DNSサーバは無線AP100のIPアドレスを知らない。そのため、当該回答は無線AP100のIPアドレスではない。そして、PC200は、無線AP100からのDNS Answerと、DNSサーバからの回答との2つの回答を受信することとなる。しかし、本実施の形態1では、フィルタ部105によって当該DNSクエリが破棄されるため、PC200は、無線AP100からのDNS Answerのみを受信し、PC200は、確実に、無線AP100のIPアドレスを取得することができる。
【0061】
また、フィルタ部105は、DNSスヌーピング部104AによってスヌーピングされたDNSクエリが無線AP100のドメイン名を指定したDNSクエリではない場合、当該DNSクエリをそのままHGW400に送信する。そのため、無線AP100のドメイン名を指定したDNSクエリ以外のDNSクエリは、インターネット12上のDNSサーバに適切に送信される。
【0062】
また、DNSリゾルバ部104Bは、無線AP100のドメイン名に対応するIPアドレスをPC200に送信する際、送信元のIPアドレスとしてHGW400のIPアドレスを用いる。そのため、PC200にとっては、従来のHGW400とのDNSクエリの問い合わせのやり取りと同じ送信元のIPアドレスから回答を受信することができる。これにより、送信元のIPアドレスが異なることに起因してPC200が回答を受信できないという接続性の問題を避けることができる。
【0063】
また、DNSリゾルバ部104Bは、無線AP100のIPアドレスとドメイン名(GUIにアクセスするためのFQDN)とを組み合わせたDNSレコードから生成されたDNS AnswerをPC200に送信する。そのため、無線AP100のIPアドレスの取得方法やIPv4やIPv6等のインターネットプロトコルの種類に関わりなく、PC200は、無線AP100のIPアドレスを取得することができる。例えば、インターネットプロトコルがIPv6である場合、ステートレスやステートフル等、IPv6アドレスを取得する方法は複数存在する。しかし、本実施の形態1では、無線AP100のIPv6アドレスが決まれば、DNSリゾルバ部104Bが当該IPv6とドメイン名とを含むDNS AnswerをPC200に送信するため、無線AP100のIPアドレスの取得方法やインターネットプロトコルに関わりなく、PC200は、無線AP100のIPアドレスを取得することができる。
【0064】
また、DNSレコード生成部104Cは、DHCPクライアント部102が無線AP100のIPアドレスを取得した際、無線AP100のIPアドレスと、無線AP100のドメイン名(GUIにアクセスするためのFQDN)とを組み合わせたDNSレコードを生成し、DNSキャッシュ部104Dに格納する。そのため、無線AP100のIPアドレスが変更された場合でも、DHCPクライアント部102が変更後の無線AP100のIPアドレスを取得した際に、DNSレコード生成部104Cが、変更後のIPアドレスと、無線AP100のドメイン名とを組み合わせたDNSレコードを新たに生成し、DNSキャッシュ部104Dに格納する。そのため、無線AP100のIPアドレスが変更されても、無線AP100のプロキシDNS部104は、変更後のIPアドレスをPC200に送信することができる。換言すれば、プロキシDNS部104は、動的に、無線AP100のIPアドレスを追従することができる。
【0065】
実施の形態2
次に、
図7を参照しながら、本発明の実施の形態2について説明する。
図7は、本発明の実施の形態2に係るPC200がGUIにアクセスする際のシーケンスを示す。実施の形態2に係るネットワーク2は、
図7に示すように、中継装置として、無線AP100の代わりに、Etherコンバータ(無線子機)500、無線中継機600を備え、端末装置として、PC200の代わりに、PC700を備える点が、実施の形態1に係るネットワーク1と異なる。よって、同一の構成については同一の符号を付すとともに、その説明を省略する。
【0066】
図7に示すように、Etherコンバータ500とPC700とは、有線L4により接続されている。また、Etherコンバータ500と無線中継機600とは、無線L5により接続されている。また、無線中継機600とHGW400とは、無線L6により接続されている。
【0067】
そして、
図7に示すように、HGW400は、PC700、Etherコンバータ500、無線中継機600、有線L4、無線L5、L6等を備えるローカルエリアネットワーク(LAN)21と、外部のインターネット12とを結合する。
【0068】
また、Etherコンバータ500は、通常の無線子機としての機能の他に、実施の形態1に係る無線AP100と同様に、DHCPクライアント部102、HTTPサーバ部103、プロキシDNS部104、フィルタ部105の構成を備える。同様に、無線中継機600は、通常の無線中継機としての機能の他に、実施の形態1に係る無線AP100と同様に、DHCPクライアント部102、HTTPサーバ部103、プロキシDNS部104、フィルタ部105の構成を備える。
【0069】
また、Etherコンバータ500のGUIにアクセスするためのFQDNは、cnv.testであり、Etherコンバータ500のIPアドレスは、192.0.2.6とする。
また、無線中継機600のGUIにアクセスするためのFQDNは、rep.testであり、Etherコンバータ500のIPアドレスは、192.0.2.5とする。
また、PC700のIPアドレスは、192.0.2.7とする。
【0070】
まず、PC700がEtherコンバータ500のGUIにアクセスするシーケンスについて説明する。
図7に示すように、PC700は、ドメイン名として、Etherコンバータ500のドメイン名(GUIにアクセスするためのFQDN)であるcnv.testを指定したDNSクエリをHGW400にEtherコンバータ500を介して送信する(ステップS301)。
【0071】
ここで、Etherコンバータ500のDNSスヌーピング部は、PC700から送信されたDNSクエリをスヌーピングする。次いで、Etherコンバータ500のDNSスヌーピング部は、スヌーピングされたDNSクエリがEtherコンバータ500のドメイン名を指定したDNSクエリであるか否かを判断する。ここでは、スヌーピングされたDNSクエリがEtherコンバータ500のドメイン名を指定したDNSクエリであるため、DNSスヌーピング部は、Etherコンバータ500のDNSリゾルバ部にその旨を通知する。
【0072】
次いで、DNSリゾルバ部は、Etherコンバータ500のドメイン名に対応するDNSレコードをDNSキャッシュ部から抽出し、当該DNSレコードからDNS Answerメッセージを生成し、当該DNS AnswerをPC700に送信する(ステップS302)。なお、DNSリゾルバ部は、当該DNS AnswerをPC700に送信する際、送信元のIPアドレスとしてHGW400のIPアドレスを用いる。
【0073】
また、ここで、Etherコンバータ500のフィルタ部に当該DNSクエリが送信される。次いで、Etherコンバータ500のフィルタ部は、スヌーピングされたDNSクエリがEtherコンバータ500のドメイン名を指定したDNSクエリであるか否かを判断する。そして、ここでは、スヌーピングされたDNSクエリがEtherコンバータ500のドメイン名を指定したDNSクエリであるため、フィルタ部は、当該DNSクエリを破棄し、HGW400に送信しない。
【0074】
次に、PC700は、ステップS302において送信された、Etherコンバータ500のIPアドレス、192.0.2.6、を用いて、Etherコンバータ500のGUIにアクセスする(ステップS303)。
【0075】
次に、PC700が無線中継機600のGUIにアクセスするシーケンスについて説明する。
図7に示すように、PC700は、ドメイン名として、無線中継機600のドメイン名(GUIにアクセスするためのFQDN)であるrep.testを指定したDNSクエリをHGW400に無線中継機600を介して送信する(ステップS304)。
【0076】
ここで、無線中継機600のDNSスヌーピング部は、PC700から送信されたDNSクエリをスヌーピングする。次いで、無線中継機600のDNSスヌーピング部は、スヌーピングされたDNSクエリが無線中継機600のドメイン名を指定したDNSクエリであるか否かを判断する。ここでは、スヌーピングされたDNSクエリが無線中継機600のドメイン名を指定したDNSクエリであるため、DNSスヌーピング部は、無線中継機600のDNSリゾルバ部にその旨を通知する。
【0077】
次いで、DNSリゾルバ部は、無線中継機600のドメイン名に対応するDNSレコードをDNSキャッシュ部から抽出し、当該DNSレコードからDNS Answerメッセージを生成し、当該DNS AnswerをPC700に送信する(ステップS305)。なお、DNSリゾルバ部は、当該DNS AnswerをPC700に送信する際、送信元のIPアドレスとしてHGW400のIPアドレスを用いる。
【0078】
また、ここで、無線中継機600のフィルタ部に当該DNSクエリが送信される。次いで、無線中継機600のフィルタ部は、スヌーピングされたDNSクエリが無線中継機600のドメイン名を指定したDNSクエリであるか否かを判断する。そして、ここでは、スヌーピングされたDNSクエリが無線中継機600のドメイン名を指定したDNSクエリであるため、フィルタ部は、当該DNSクエリを破棄し、HGW400に送信しない。
【0079】
次に、PC700は、ステップS302において送信された、無線中継機600のIPアドレス、192.0.2.5、を用いて、無線中継機600のGUIにアクセスする(ステップS306)。
【0080】
以上に説明した本実施の形態2に係るEtherコンバータ500及び無線中継機600のIPアドレス解決方法、無線AP100、及び、プログラムでは、実施の形態1に係る無線AP100のIPアドレス解決方法、無線AP100、及び、プログラムと同様の効果を得ることができる。
【0081】
実施の形態3.
次に、実施の形態3について説明する。実施の形態3は、インターネットプロトコルとしてIPv6を用いることが、実施の形態1と異なる。よって、同一の構成については同一の符号を付すとともに、その説明を省略する。具体的には、IPv4アドレスではAレコードを用いるのに対し、IPv6アドレスではAAAA(クアッド)レコードを用いる。
【0082】
また、DHCPクライアント部102は、DHCPに従って、HGW400から無線AP100のIPv6アドレスを取得する。
【0083】
また、DNSレコード生成部104Cは、DHCPクライアント部102が取得した無線AP100のIPv6アドレス及びAAAAレコードと、GUIにアクセスするためのFQDNとを組み合わせたDNSレコードを生成し、DNSキャッシュ部104Dに格納する。
【0084】
また、DNSキャッシュ部104Dは、無線AP100のドメイン名(GUIにアクセスするためのFQDN)と、無線AP100のIPアドレス及びAAAAレコードとを対応付けて記憶している。具体的には、DNSキャッシュ部104Dは、DNSレコード生成部104Cによって生成されたDNSレコードを格納している。
【0085】
実施の形態3におけるその他の処理は、実施の形態1と同様であるため、説明を省略する。
【0086】
以上に説明した本実施の形態3に係る無線AP100のIPアドレス解決方法、無線AP100、及び、プログラムでは、実施の形態1に係る無線AP100のIPアドレス解決方法、無線AP100、及び、プログラムと同様の効果を得ることができる。すなわち、インターネットプロトコルがIPv4とIPv6の何れであっても、本発明は同様の効果を奏することができる。
【0087】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、無線AP100、Etherコンバータ500、無線中継機600のIPアドレスは、DHCPに従って動的に取得されたものではなく、固定IPアドレスであってもよい。無線AP100、Etherコンバータ500、無線中継機600のIPアドレスが固定IPアドレスである場合、DNSレコード生成部104Cは、DHCPクライアント部102が取得した固定IPアドレスと、GUIにアクセスするためのFQDN(無線AP100、Etherコンバータ500、無線中継機600のドメイン名)とを組み合わせたDNSレコードを生成し、DNSキャッシュ部104Dに格納すればよい。
【0088】
また、上記実施の形態では、一般家庭内や会社内等の宅内環境におけるLAN11に備えられた中継装置を想定しているが、本発明はこれに限定されるものではない。すなわち、宅内環境におけるネットワーク以外の通信経路上に、本発明のスヌーピング手段、DNSリゾルバ手段、フィルタ手段等の機能を備える中継装置があれば、同様に、当該中継装置に端末装置が接続することが可能である。
「付記1」
端末装置と、前記端末装置と通信経路を介して上位側に接続された中継装置と、前記中継装置と前記通信経路を介して上位側に接続された上位装置と、を備えるネットワークにおいて、
前記中継装置は、前記端末装置から送信されたDNSクエリをスヌーピングし、スヌーピングしたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリである場合、前記中継装置のドメイン名に対応するIPアドレスを前記端末装置に送信する、中継装置のIPアドレス解決方法。
「付記2」
前記中継装置は、前記スヌーピングしたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリである場合、当該DNSクエリを破棄し、前記上位装置に当該DNSクエリを送信しない、付記1に記載の中継装置のIPアドレス解決方法。
「付記3」
前記中継装置は、前記スヌーピングしたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリではない場合、当該DNSクエリをそのまま前記上位装置に送信する、付記1又は2に記載の中継装置のIPアドレス解決方法。
「付記4」
前記中継装置は、前記スヌーピングしたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリであり、前記中継装置のドメイン名に対応するIPアドレスを前記端末装置に送信する際、送信元のIPアドレスとして前記上位装置のIPアドレスを用いる、付記1乃至3の何れか一項に記載の中継装置のIPアドレス解決方法。
「付記5」
端末装置と通信経路を介して上位側に接続されるとともに、上位装置と前記通信経路を介して接続された中継装置であって、
前記端末装置から送信されたDNSクエリをスヌーピングするスヌーピング手段と、
前記スヌーピング手段によってスヌーピングされたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリである場合、前記中継装置のドメイン名に対応するIPアドレスを前記端末装置に送信するDNSリゾルバ手段と、
を備える、中継装置。
「付記6」
前記スヌーピング手段によってスヌーピングされたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリである場合、当該DNSクエリを破棄し、前記上位装置に当該DNSクエリを送信しないフィルタ手段を備える、付記5に記載の中継装置。
「付記7」
前記フィルタ手段は、前記スヌーピング手段によってスヌーピングされたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリではない場合、当該DNSクエリをそのまま前記上位装置に送信する、付記6に記載の中継装置。
「付記8」
前記DNSリゾルバ手段は、前記中継装置のドメイン名に対応するIPアドレスを前記端末装置に送信する際、送信元のIPアドレスとして前記上位装置のIPアドレスを用いる、付記5乃至7の何れか一項に記載の中継装置。
「付記9」
端末装置と通信経路を介して上位側に接続されるとともに、上位装置と前記通信経路を介して接続された中継装置に実行されるプログラムであって、
前記中継装置に、
前記端末装置から送信されたDNSクエリをスヌーピングするスヌーピング処理と、
前記スヌーピング処理によってスヌーピングされたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリである場合、前記中継装置のドメイン名に対応するIPアドレスを前記端末装置に送信するDNSリゾルバ処理と、
を実行させる、プログラム。
「付記10」
前記中継装置に、
前記スヌーピング処理によってスヌーピングされたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリである場合、当該DNSクエリを破棄し、前記上位装置に当該DNSクエリを送信しないフィルタ処理を実行させる、付記9に記載のプログラム。
「付記11」
前記中継装置に、
前記スヌーピング処理によってスヌーピングされたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリではない場合、当該DNSクエリをそのまま前記上位装置に送信する処理を実行させる、付記9又は10に記載のプログラム。
「付記12」
前記中継装置に、
前記DNSリゾルバ処理において、前記中継装置のドメイン名に対応するIPアドレスを前記端末装置に送信する際、送信元のIPアドレスとして前記上位装置のIPアドレスを使用させる、付記9乃至11の何れか一項に記載のプログラム。