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

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

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

特許6403225中継装置のIPアドレス解決方法、中継装置、及び、プログラム
<>
  • 特許6403225-中継装置のIPアドレス解決方法、中継装置、及び、プログラム 図000002
  • 特許6403225-中継装置のIPアドレス解決方法、中継装置、及び、プログラム 図000003
  • 特許6403225-中継装置のIPアドレス解決方法、中継装置、及び、プログラム 図000004
  • 特許6403225-中継装置のIPアドレス解決方法、中継装置、及び、プログラム 図000005
  • 特許6403225-中継装置のIPアドレス解決方法、中継装置、及び、プログラム 図000006
  • 特許6403225-中継装置のIPアドレス解決方法、中継装置、及び、プログラム 図000007
  • 特許6403225-中継装置のIPアドレス解決方法、中継装置、及び、プログラム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6403225
(24)【登録日】2018年9月21日
(45)【発行日】2018年10月10日
(54)【発明の名称】中継装置のIPアドレス解決方法、中継装置、及び、プログラム
(51)【国際特許分類】
   H04L 12/70 20130101AFI20181001BHJP
【FI】
   H04L12/70 B
   H04L12/70 100Z
【請求項の数】10
【全頁数】19
(21)【出願番号】特願2016-128768(P2016-128768)
(22)【出願日】2016年6月29日
(65)【公開番号】特開2018-6891(P2018-6891A)
(43)【公開日】2018年1月11日
【審査請求日】2017年10月6日
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】青島 敦
【審査官】 玉木 宏治
(56)【参考文献】
【文献】 特開2015−091037(JP,A)
【文献】 特開2014−068223(JP,A)
【文献】 米国特許出願公開第2002/0157007(US,A1)
【文献】 特開2002−314549(JP,A)
【文献】 特開2004−342041(JP,A)
【文献】 特開2004−312482(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00−955
(57)【特許請求の範囲】
【請求項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に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、中継装置のIPアドレス解決方法、中継装置、及び、プログラムに関する。
【背景技術】
【0002】
一般に、インターネットに接続した装置には、DHCP(Dynamic Host Configuration Protocol)に従って、DHCPサーバからIPアドレスが割り当てられる。IPアドレスはユーザにとって理解しにくいため、当該装置には、予め、ドメイン名やホスト名が付けられている。また、当該装置のIPアドレスとドメイン名またはホスト名とはDNS(Domain Name System)サーバによって管理されている。そして、ユーザは、ドメイン名やホスト名を用いてアクセスしたい装置のIPアドレスをDNSサーバから取得する。
【0003】
また、インターネットの普及に伴って、一般家庭内や会社内等においてLAN(Local Area Network)が構築されている。また、当該LANとインターネット(WAN;Wide Area Network)とを繋ぐHGW(Home Gate Way)が開発されている。また、当該LANを無線で繋いだ無線LANも広く用いられている。無線LANには、無線AP(Access Point)が接続されており、無線LANに接続されたPC(Personal Computer)等の端末装置は、一般に、当該無線APを介して、HGWと接続する。そして、当該HGW、無線AP、端末装置には、IPアドレスが割り当てられる。
【0004】
IPアドレスには、グローバルIPアドレスとプライベートIPアドレス(ローカルIPアドレス)とがある。グローバルIPアドレスは、DHCPに従って、DHCPサーバから割り当てられるIPアドレスである。一方、プライベートIPアドレスは、LANにおいて、ルータやルータ機能を備えたHGWによって、ルータやHGWの下位に接続されたPC等の端末装置に割り当てられるIPアドレスである。そして、グローバルIPアドレスは、例えば、DNSサーバによって管理され、プライベートIPアドレスは、例えば、ルータやHGWによって管理される。
【0005】
また、IPアドレスには、所定のタイミングで変更される動的IPアドレスと、変更されない固定IPアドレスとがある。そのため、IPアドレスが動的IPアドレスである場合、DNSサーバ等によって、動的に変更されるIPアドレスと、ドメイン名またはホスト名とが管理されている必要がある。
【0006】
例えば、特許文献1には、通信ネットワークにアクセスする毎にIPアドレスが変化する通信端末器を備える通信ネットワークにおいて、通信端末器が通信ネットワークにアクセスする毎に当該通信端末器のホスト名とIPアドレスとを関連付けてダイナミックIP用DNSサーバに登録することが記載されている。
【0007】
また、特許文献2には、第1の端末と、第1のネットワークを経由して接続された第2の端末と、第1のネットワークと第2のネットワークとの間に接続されたゲートウェイとを含むネットワークシステムにおいて、ゲートウェイが、第1の端末のネットワークアドレスを生成し、当該ネットワークアドレスとドメイン名とを関連付けて管理し、第2の端末から第1の端末のドメイン名の解決要求を受けた際に、当該ドメイン名に対応するネットワークアドレスを第2の端末に返送することが記載されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2000−341325号公報
【特許文献2】特開2008−060647号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
ところで、一般家庭内や会社内等で構築されるLANで用いられる無線ルータは、ルータ機能だけでなく、無線アクセスポイント(無線AP)機能を有する。当該無線ルータ(以下、「無線AP」と称する。)は、LANとインターネット(WAN)とを繋ぐHGWに有線LANを介して接続されている。PC等の端末装置は、無線APに帰属することによって、当該無線APを経由して、インターネットに接続する。無線APには、一般に、ブリッジとして動作するものと、ルータとして動作するものとがある。そして、ユーザが端末装置を使用する環境やユースケースに応じて、ブリッジとして動作する無線APと、ルータとして動作する無線APとの何れの無線APを用いるかが決定される。
【0010】
また、ユーザは、インターネットブラウザを用いてGUI(Graphical User Interface)にアクセスし、無線LANのSSID(Service Set Identifier)や暗号化キー等の設定を変更する。ユーザがGUIにアクセスするためには、無線APのIPアドレスを知る必要がある。
【0011】
無線APがルータとして動作する場合、無線APやHGWがNAT(Network Address Translation)を行う場合が多い。そのため、無線APに帰属しているPC等の端末装置は、デフォルトルート(default route)が無線APとなる。そのため、デフォルトルートであるIPアドレスを用いてアクセスすれば、無線APのGUIにアクセスすることができる。
【0012】
一方、無線APがブリッジとして動作する場合、無線APはDHCPクライアント機能によりIPアドレスを取得する場合がある。これは、無線APのIPアドレスが固定IPアドレスである場合、ユーザが端末装置を使用する環境に応じて端末装置のアドレス帯域が異なるため、無線APのIPアドレスとユーザが使用する端末装置とでアドレス帯域が合わなかったり、無線APのIPアドレスと他の端末装置とでアドレス帯域が重複したりする可能性があるためである。無線APがDHCPクライアント機能によりIPアドレスを動的に取得すれば、当該トラブルは防ぐことができる。
【0013】
しかし、無線APがDHCPクライアント機能により、IPアドレスを動的に取得する場合、無線APに割り当てられたIPアドレスはDHCPサーバしか知らない。そのため、無線APのIPアドレスをユーザが知ることは難しい。そのため、ユーザはどのIPアドレスにアクセスすれば無線APのGUIにアクセスできるか分からない。
【0014】
一般的に、IPアドレスは、DNSに従って、解決される。一方、無線APは、端末装置から送信されたDNSクエリ(DNS Query)を代理(Proxy)したりスヌーピング(Snooping)したりしないで、当該DNSクエリをそのままHGW等の上位装置に転送する。そのため、端末装置から無線APのドメイン名またはホスト名を指定したDNSクエリが送信された場合、HGW等の上位装置が無線APのIPアドレスを回答する必要がある。しかし、HGWは、下位に接続している端末が無線APかどうかを知る手段を有さず、無線APのIPアドレスを回答するDNSアンサー(DNS Answer)機能も有していない。そのため、ユーザは、DNSを利用しても、無線APのIPアドレスを知ることは難しい。
【0015】
本発明の目的は、端末装置が通信経路上の中継装置のIPアドレスをより容易に取得できる、中継装置のIPアドレス解決方法、中継装置、及び、プログラムを提供することである。
【課題を解決するための手段】
【0016】
本発明の第1の態様に係る中継装置のIPアドレス解決方法は、端末装置と、前記端末装置と通信経路を介して上位側に接続された中継装置と、前記中継装置と前記通信経路を介して上位側に接続された上位装置と、を備えるネットワークにおいて、前記中継装置が、前記端末装置から送信されたDNSクエリをスヌーピングし、スヌーピングしたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリである場合、前記中継装置のドメイン名に対応するIPアドレスを前記端末装置に送信するものである。
【0017】
本発明の第2の態様に係る中継装置は、端末装置と通信経路を介して上位側に接続されるとともに、上位装置と前記通信経路を介して接続された中継装置であって、前記端末装置から送信されたDNSクエリをスヌーピングするスヌーピング手段と、前記スヌーピング手段によってスヌーピングされたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリである場合、前記中継装置のドメイン名に対応するIPアドレスを前記端末装置に送信するDNSリゾルバ手段と、を備える。
【0018】
本発明の第3の態様に係るプログラムは、端末装置と通信経路を介して上位側に接続されるとともに、上位装置と前記通信経路を介して接続された中継装置に実行されるプログラムであって、前記中継装置に、前記端末装置から送信されたDNSクエリをスヌーピングするスヌーピング処理と、前記スヌーピング処理によってスヌーピングされたDNSクエリが前記中継装置のドメイン名を指定したDNSクエリである場合、前記中継装置のドメイン名に対応するIPアドレスを前記端末装置に送信するDNSリゾルバ処理と、を実行させるものである。
【発明の効果】
【0019】
端末装置が通信経路上の中継装置のIPアドレスをより容易に取得できる、中継装置のIPアドレス解決方法、中継装置、及び、プログラムを提供することができる。
【図面の簡単な説明】
【0020】
図1】実施の形態1に係るネットワークの概略構成を示すブロック図である。
図2】実施の形態1に係るネットワークを示すブロック図である。
図3】実施の形態1に係る無線アクセスポイント(無線AP)の構成を示すブロック図である。
図4】実施の形態1に係る無線APとPCとがIPアドレスを取得するシーケンスを示す図である。
図5】実施の形態1に係るPCがインターネットにアクセスする際のシーケンスを示す図である。
図6】実施の形態1に係るPCがGUIにアクセスする際のシーケンスを示す図である。
図7】実施の形態2に係るPCがGUIにアクセスする際のシーケンスを示す図である。
【発明を実施するための形態】
【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の何れか一項に記載のプログラム。
【符号の説明】
【0089】
1 ネットワーク
11 LAN
12 インターネット
2 ネットワーク
21 LAN
100 無線AP(中継装置)
101 無線AP部
102 DHCPクライアント部
103 HTTPサーバ部
104 プロキシDNS部104
104A DNSスヌーピング部(スヌーピング手段)
104B DNSリゾルバ部(DNSリゾルバ手段)
104C DNSレコード生成部
104D DNSキャッシュ部
105 フィルタ部
106 WLANインターフェース
107 LANインターフェース
200 PC(端末装置)
400 HGW(上位装置)
401 DHCPサーバ部
402 プロキシDNS部
500 Etherコンバータ(中継装置)
600 無線中継機(中継装置)
700 PC(端末装置)
L1、L5、L6 無線
L2、L3、L4 有線
図1
図2
図3
図4
図5
図6
図7