(57)【要約】【課題】利便性を高くする。【解決手段】ネットワークに接続した場合にＶＰＮ接続しているかどうかを判定する手段７０４と、接続先ネットワークから提供されるＤＮＳサーバのアドレス、接続先ネットワークのＩＰアドレスを取得する手段７０５と、ＶＰＮ接続していると判定された場合にアドレスが取得されたＤＮＳサーバに対しＩＰアドレスの逆引きが可能かどうかを判定する手段７０２，７０３と、利用することが可能なＤＮＳサーバのアドレスを含むリスト７０１と、逆引きが可能であると判定された場合にリスト７０１に含まれているＤＮＳサーバのいずれか１つに対しＩＰアドレスの逆引きが可能かどうかを判定する手段７０２，７０３と、ＤＮＳサーバのいずれか１つに対し逆引きが可能でないと判定された場合に、取得されたＤＮＳサーバのアドレスをリスト７０１に付加する手段７０２と、を具備する。【選択図】図７
2007295024.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続した場合に、ＶＰＮ（Virtual Private Network）接続しているかどうかを判定する第１判定手段と、
接続先のネットワークから提供されるＤＮＳ（Domain Name System）サーバのアドレスと、接続先のネットワークのＩＰ（Internet Protocol）アドレスとを取得する取得手段と、
前記第１判定手段でＶＰＮ接続していると判定された場合に、前記アドレスが取得されたＤＮＳサーバに対して、前記取得されたＩＰアドレスの逆引きが可能かどうかを判定する第２判定手段と、
利用することが可能なＤＮＳサーバのアドレスを含むＤＮＳ利用リストと、
前記第２判定手段で逆引きが可能であると判定された場合に、前記ＤＮＳ利用リストに含まれているＤＮＳサーバのいずれか１つに対して前記取得されたＩＰアドレスの逆引きが可能かどうかを判定する第３判定手段と、
前記第３判定手段で逆引きが可能でないと判定された場合に、前記取得されたＤＮＳサーバのアドレスを前記ＤＮＳ利用リストに付加する付加手段と、を具備することを特徴とするサーバ判定装置。
【請求項２】
前記取得手段は、接続先のドメイン名を取得し、
前記サーバ判定装置は、
前記第１判定手段でＶＰＮ接続していると判定された場合に、前記アドレスが取得されたＤＮＳサーバに、前記取得されたドメイン名のＤＮＳサーバが問い合わせることが可能かどうかを判定する第４判定手段と、
前記第４判定手段で問い合わせることが可能であると判定された場合に、前記ＤＮＳ利用リストに含まれているＤＮＳサーバと、前記取得されたドメイン名のＤＮＳサーバとが同一であるかどうかを判定する第５判定手段と、を具備し、
前記付加手段は、前記第５判定手段で同一でないと判定された場合に、前記アドレスが取得されたＤＮＳサーバのアドレスを前記ＤＮＳ利用リストに付加することを特徴とする請求項１に記載のサーバ判定装置。
【請求項３】
ネットワークに接続した場合に、ＶＰＮ（Virtual Private Network）接続しているかどうかを判定する第１判定手段と、
接続先のネットワークから提供されるＤＮＳ（Domain Name System）サーバのアドレスと、接続先のドメイン名とを取得する取得手段と、
前記第１判定手段でＶＰＮ接続していると判定された場合に、前記アドレスが取得されたＤＮＳサーバに、前記取得されたドメイン名のＤＮＳサーバが問い合わせることが可能かどうかを判定する第２判定手段と、
利用することが可能なＤＮＳサーバのアドレスを含むＤＮＳ利用リストと、
前記第２判定手段で問い合わせることが可能であると判定された場合に、前記ＤＮＳ利用リストに含まれているＤＮＳサーバと、前記取得されたドメイン名のＤＮＳサーバとが同一であるかどうかを判定する第３判定手段と、
前記第３判定手段で同一でないと判定された場合に、前記アドレスが取得されたＤＮＳサーバのアドレスを前記ＤＮＳ利用リストに付加する付加手段と、を具備することを特徴とするサーバ判定装置。
【請求項４】
前記取得手段は、接続先のネットワークのＩＰ（Internet Protocol）アドレスを取得し、
前記サーバ判定装置は、
前記第１判定手段でＶＰＮ接続していると判定された場合に、前記アドレスが取得されたＤＮＳサーバに対して、前記取得されたＩＰアドレスの逆引きが可能かどうかを判定する判定する第４判定手段と、
前記第４判定手段で逆引きが可能であると判定された場合に、前記ＤＮＳ利用リストに含まれているＤＮＳサーバのいずれか１つに対して前記取得されたＩＰアドレスの逆引きが可能かどうかを判定する第５判定手段と、を具備し、
前記付加手段は、前記第５判定手段で逆引きが可能でないと判定された場合に、前記取得されたＤＮＳサーバのアドレスを前記ＤＮＳ利用リストに付加することを特徴とする請求項３に記載のサーバ判定装置。
【請求項５】
ネットワークに接続した場合に、ＶＰＮ（Virtual Private Network）接続しているかどうかを判定し、
接続先のネットワークから提供されるＤＮＳ（Domain Name System）サーバのアドレスと、接続先のネットワークのＩＰ（Internet Protocol）アドレスとを取得し、
ＶＰＮ接続していると判定された場合に、前記アドレスが取得されたＤＮＳサーバに対して、前記取得されたＩＰアドレスの逆引きが可能かどうかを判定し、
利用することが可能なＤＮＳサーバのアドレスを含むＤＮＳ利用リストを用意し、
逆引きが可能であると判定された場合に、前記ＤＮＳ利用リストに含まれているＤＮＳサーバのいずれか１つに対して前記取得されたＩＰアドレスの逆引きが可能かどうかを判定し、
前記ＤＮＳ利用リストに含まれているＤＮＳサーバのいずれか１つに対して逆引きが可能でないと判定された場合に、前記取得されたＤＮＳサーバのアドレスを前記ＤＮＳ利用リストに付加することを特徴とするサーバ判定方法。
【請求項６】
前記取得することは、接続先のドメイン名を取得することを含み、
前記サーバ判定方法は、
ＶＰＮ接続していると判定された場合に、前記アドレスが取得されたＤＮＳサーバに、前記取得されたドメイン名のＤＮＳサーバが問い合わせることが可能かどうかを判定し、
問い合わせることが可能であると判定された場合に、前記ＤＮＳ利用リストに含まれているＤＮＳサーバと、前記取得されたドメイン名のＤＮＳサーバとが同一であるかどうかを判定し、
前記付加することは、同一でないと判定された場合に、前記アドレスが取得されたＤＮＳサーバのアドレスを前記ＤＮＳ利用リストに付加することであることを特徴とする請求項５に記載のサーバ判定方法。
【請求項７】
ネットワークに接続した場合に、ＶＰＮ（Virtual Private Network）接続しているかどうかを判定し、
接続先のネットワークから提供されるＤＮＳ（Domain Name System）サーバのアドレスと、接続先のドメイン名とを取得し、
ＶＰＮ接続していると判定された場合に、前記アドレスが取得されたＤＮＳサーバに、前記取得されたドメイン名のＤＮＳサーバが問い合わせることが可能かどうかを判定し、
利用することが可能なＤＮＳサーバのアドレスを含むＤＮＳ利用リストと、
問い合わせることが可能であると判定された場合に、前記ＤＮＳ利用リストに含まれているＤＮＳサーバと、前記取得されたドメイン名のＤＮＳサーバとが同一であるかどうかを判定し、
同一でないと判定された場合に、前記アドレスが取得されたＤＮＳサーバのアドレスを前記ＤＮＳ利用リストに付加することを特徴とするサーバ判定方法。
【請求項８】
前記取得することは、接続先のネットワークのＩＰ（Internet Protocol）アドレスを取得することを含み、
前記サーバ判定方法は、
ＶＰＮ接続していると判定された場合に、前記アドレスが取得されたＤＮＳサーバに対して、前記取得されたＩＰアドレスの逆引きが可能かどうかを判定する判定し、
逆引きが可能であると判定された場合に、前記ＤＮＳ利用リストに含まれているＤＮＳサーバのいずれか１つに対して前記取得されたＩＰアドレスの逆引きが可能かどうかを判定し、
前記付加することは、前記ＤＮＳ利用リストに含まれているＤＮＳサーバのいずれか１つに対して逆引きが可能でないと判定された場合に、前記取得されたＤＮＳサーバのアドレスを前記ＤＮＳ利用リストに付加することであることを特徴とする請求項７に記載のサーバ判定方法。
【請求項９】
コンピュータを、
ネットワークに接続した場合に、ＶＰＮ（Virtual Private Network）接続しているかどうかを判定する第１判定手段と、
接続先のネットワークから提供されるＤＮＳ（Domain Name System）サーバのアドレスと、接続先のネットワークのＩＰ（Internet Protocol）アドレスとを取得する取得手段と、
前記第１判定手段でＶＰＮ接続していると判定された場合に、前記アドレスが取得されたＤＮＳサーバに対して、前記取得されたＩＰアドレスの逆引きが可能かどうかを判定する第２判定手段と、
利用することが可能なＤＮＳサーバのアドレスを含むＤＮＳ利用リストと、
前記第２判定手段で逆引きすることが可能であると判定された場合に、前記ＤＮＳ利用リストに含まれているＤＮＳサーバのいずれか１つに対して前記取得されたＩＰアドレスの逆引きが可能かどうかを判定する第３判定手段と、
前記第３判定手段で逆引きが可能でないと判定された場合に、前記取得されたＤＮＳサーバのアドレスを前記ＤＮＳ利用リストに付加する付加手段として機能させるためのサーバ判定プログラム。
【請求項１０】
前記取得手段は、接続先のドメイン名を取得し、
前記サーバ判定プログラムは、
前記第１判定手段でＶＰＮ接続していると判定された場合に、前記アドレスが取得されたＤＮＳサーバに、前記取得されたドメイン名のＤＮＳサーバが問い合わせることが可能かどうかを判定する第４判定手段と、
前記第４判定手段で問い合わせることが可能であると判定された場合に、前記ＤＮＳ利用リストに含まれているＤＮＳサーバと、前記取得されたドメイン名のＤＮＳサーバとが同一であるかどうかを判定する第５判定手段として機能させるためのものであり、
前記付加手段は、前記第５判定手段で同一でないと判定された場合に、前記アドレスが取得されたＤＮＳサーバのアドレスを前記ＤＮＳ利用リストに付加することを特徴とする請求項９に記載のサーバ判定プログラム。
【請求項１１】
コンピュータを、
ネットワークに接続した場合に、ＶＰＮ（Virtual Private Network）接続しているかどうかを判定する第１判定手段と、
接続先のネットワークから提供されるＤＮＳ（Domain Name System）サーバのアドレスと、接続先のドメイン名とを取得する取得手段と、
前記第１判定手段でＶＰＮ接続していると判定された場合に、前記アドレスが取得されたＤＮＳサーバに、前記取得されたドメイン名のＤＮＳサーバが問い合わせることが可能かどうかを判定する第２判定手段と、
利用することが可能なＤＮＳサーバのアドレスを含むＤＮＳ利用リストと、
前記第２判定手段で問い合わせることが可能であると判定された場合に、前記ＤＮＳ利用リストに含まれているＤＮＳサーバと、前記取得されたドメイン名のＤＮＳサーバとが同一であるかどうかを判定する第３判定手段と、
前記第３判定手段で同一でないと判定された場合に、前記アドレスが取得されたＤＮＳサーバのアドレスを前記ＤＮＳ利用リストに付加する付加手段として機能させるためのサーバ判定プログラム。
【請求項１２】
前記取得手段は、接続先のネットワークのＩＰ（Internet Protocol）アドレスを取得し、
前記サーバ判定プログラムは、
前記第１判定手段でＶＰＮ接続していると判定された場合に、前記アドレスが取得されたＤＮＳサーバに対して、前記取得されたＩＰアドレスの逆引きが可能かどうかを判定する判定する第４判定手段と、
前記第４判定手段で逆引きが可能であると判定された場合に、前記ＤＮＳ利用リストに含まれているＤＮＳサーバのいずれか１つに対して前記取得されたＩＰアドレスの逆引きが可能かどうかを判定する第５判定手段として機能させるためのものであり、
前記付加手段は、前記第５判定手段で逆引きが可能でないと判定された場合に、前記取得されたＤＮＳサーバのアドレスを前記ＤＮＳ利用リストに付加することを特徴とする請求項１１に記載のサーバ判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＶＰＮ（Virtual Private Network）接続をする場合に、複数の名前解決サーバであるＤＮＳ（Domain Name System）サーバのうちのどのＤＮＳサーバを使用しているかを判定するサーバ判定装置、方法およびプログラムに関する。
【背景技術】
【０００２】
遠隔地にある拠点間を接続する形態の一つとしてＶＰＮとよばれる技術がある。ＶＰＮは、通常、遠隔地にある拠点同士は別のネットワークになるところを、上位レイヤで、例えば、レイヤ２のフレームやレイヤ３のパケットをカプセル化して転送し、遠隔地にレイヤ２のフレームやレイヤ３のパケットをそのまま転送することで、結果的に一つの、仮想的なレイヤ２のネットワーク、または、仮想的なレイヤ３のネットワークに見せる技術である。この技術により、管理者はネットワークの設計やポリシの統一が容易になり負担が減り、ユーザはどこでも同じネットワークに属する恩恵を得ることが可能になる。
【０００３】
近年ブロードバンド環境の普及によりビジネス用途のＶＰＮ接続だけでなく、一般ユーザが簡易にＶＰＮ接続できるようになって来ている。ＶＰＮ接続は、例えば、遠隔からの宅内機器制御（例えば、録画予約、エアコンの制御）に使用されている。  
ＶＰＮを使用しない場合、一般ユーザは、ノートパソコン、ＰＤＡを持ち出したりして外部のネットワーク接続サービスを利用するときには、この接続サービスでＤＨＣＰ（Dynamic Host Configuration Protocol動的ホスト構成プロトコル）などによって提供される設定（ＩＰ（Internet Protocol）アドレス、デフォルトルート、ＤＮＳサーバなど）をそのまま使用すればよい。
【０００４】
しかし、ＶＰＮ接続をしたときには、既に提供されているＤＮＳサーバの情報に加え、ＶＰＮ接続先で提供されるＤＮＳサーバも使用できることになる。通常、Ｗｉｎｄｏｗｓ（登録商標）などのＯＳでは、既に提供されているＤＮＳサーバと、ＶＰＮ接続先で提供されるＤＮＳサーバとを区別することはない。これらのＤＮＳサーバを区別しないことが場合によっては通信に齟齬をきたす原因となることが知られている。
【０００５】
問題が発生するケースとしては、例えば、あるＤＮＳサーバでしか解決できない名前情報がある場合や、複数のＤＮＳサーバを知っている場合に、問い合わせを行う順序によっては名前の解決に時間がかかる場合である。
【０００６】
これを解決するためには、複数のＤＮＳサーバの情報がある場合に、優先順位や接続先に応じて問い合わせを行うＤＮＳサーバを切り替え使えるためのリストを保持することができればよい。実際そういった情報が与えられている場合には、接続先に応じてＤＮＳサーバへの問合せ先を変更することができるルータの実装などが存在する（例えば、非特許文献１、２参照）。
【非特許文献１】［平成１８年３月３１日検索］、インターネット＜http://www.aconus.com/~oyaji/router/2isp_routing.htm＞
【非特許文献２】［平成１８年３月３１日検索］、インターネット＜http://www.ntt-me.co.jp/bar/ba8kp_detail.html#07＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、これらの情報はあらかじめ与えられている必要があり、自動的にこれらを与えることができないため一般のユーザには利便性が低い。
【０００８】
この発明は、上述した事情を考慮してなされたものであり、一般のユーザにとって利便性が高いサーバ判定装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決するため、本発明のサーバ判定装置は、ネットワークに接続した場合に、ＶＰＮ（Virtual Private Network）接続しているかどうかを判定する第１判定手段と、接続先のネットワークから提供されるＤＮＳ（Domain Name System）サーバのアドレスと、接続先のネットワークのＩＰ（Internet Protocol）アドレスとを取得する取得手段と、前記第１判定手段でＶＰＮ接続していると判定された場合に、前記アドレスが取得されたＤＮＳサーバに対して、前記取得されたＩＰアドレスの逆引きが可能かどうかを判定する第２判定手段と、利用することが可能なＤＮＳサーバのアドレスを含むＤＮＳ利用リストと、前記第２判定手段で逆引きが可能であると判定された場合に、前記ＤＮＳ利用リストに含まれているＤＮＳサーバのいずれか１つに対して前記取得されたＩＰアドレスの逆引きが可能かどうかを判定する第３判定手段と、前記第３判定手段で逆引きが可能でないと判定された場合に、前記取得されたＤＮＳサーバのアドレスを前記ＤＮＳ利用リストに付加する付加手段と、を具備することを特徴とする。
【００１０】
また、本発明のサーバ判定装置は、ネットワークに接続した場合に、ＶＰＮ接続しているかどうかを判定する第１判定手段と、接続先のネットワークから提供されるＤＮＳサーバのアドレスと、接続先のドメイン名とを取得する取得手段と、前記第１判定手段でＶＰＮ接続していると判定された場合に、前記アドレスが取得されたＤＮＳサーバに、前記取得されたドメイン名のＤＮＳサーバが問い合わせることが可能かどうかを判定する第２判定手段と、利用することが可能なＤＮＳサーバのアドレスを含むＤＮＳ利用リストと、前記第２判定手段で問い合わせることが可能であると判定された場合に、前記ＤＮＳ利用リストに含まれているＤＮＳサーバと、前記取得されたドメイン名のＤＮＳサーバとが同一であるかどうかを判定する第３判定手段と、前記第３判定手段で同一でないと判定された場合に、前記アドレスが取得されたＤＮＳサーバのアドレスを前記ＤＮＳ利用リストに付加する付加手段と、を具備することを特徴とする。
【発明の効果】
【００１１】
本発明のサーバ判定装置、方法およびプログラムによれば、一般のユーザにとって利便性を高くすることができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照しながら本発明の実施形態に係るサーバ判定装置、方法およびプログラムについて詳細に説明する。  
まず、本発明の実施形態の理解を助けるために、現在の問題点について図１から図６を参照して詳細に説明する。  
（ＶＰＮクライアントのＤＮＳに関連する問題）図１、図２  
ＶＰＮは、遠隔にある計算機をあたかも、同一のリンクやネットワークに存在するように接続するための技術であると言える。管理者が適切にＶＰＮを運用し、図１のようにユーザに対してその存在を隠すような運用をしている場合は、ユーザは特にＶＰＮのための設定をする必要は無い。一方、図２のようにユーザがＶＰＮ接続を行う場合は、ＶＰＮ接続先の遠隔のネットワークで提供するサービス（例えば、名前解決サーバ（ＤＮＳサーバ）やルータ）の情報を取得しなくてはならない。
【００１３】
名前解決サーバについての情報が無い場合、そのネットワークのノードにアクセスを行うためには、ＩＰアドレスを直接指定しなくてはならない。また、ルータについての情報が無い場合、そのネットワークの先に接続されているネットワークへの到達性を確保するためにルータについての情報を取得する必要がある。これらは、通常ＤＨＣＰのような動的な設定手段やＶＰＮを行うソフトウェア（例えば、ｐｐｔｐ、ｐｐｐ、その他商用ソフトウェア）やＯＳでの静的な設定によって解決をしている。
【００１４】
しかし、ＶＰＮ接続先のネットワークの構成によっては、ＤＨＣＰのような動的な設定手順を行って名前解決サーバをＶＰＮ接続先のネットワークから取得することがむしろ混乱を招くケースがある（ケース１）。また、ＶＰＮ接続を用いて安全な通信路を確保しようとしても、元々属している名前解決サーバに混乱させられるケースもある（ケース２）。これらは、ＶＰＮ接続先のネットワークに存在する名前解決サーバと元々属していたネットワークの名前解決サーバの保持している情報や解決できる情報が違うことがあるために起因する。ケース１の場合については図３、図４を参照して説明する。ケース２の場合については図５、図６を参照して説明する。なお、図４と図５は同一である。
【００１５】
（１）ケース１  図３、図４
図３に示すように、Ｈｏｓｔ ＣがＲｏｕｔｅｒ ＡとＶＰＮ接続を行い、Ｈｏｓｔ ＣがＨｏｓｔ Ａ、Ｈｏｓｔ Ｂの属するネットワークに参加するとする。ネットワークが宅内で構築されるような、小規模なネットワークの場合、Ｈｏｓｔ Ａ、Ｈｏｓｔ Ｂの属するネットワークには、名前解決サーバが存在しない場合が多い。これは下記の２つの理由による。  
・宅内に構築されるようなネットワークには名前解決サーバを運用するような管理人が居ない（名前解決サーバの管理を行うにはネットワークのスキルを比較的要求する）。  
・小規模ネットワーク向けに名前解決サーバを使わないで名前解決を行う方法がある（ＮｅｔＢＩＯＳ（ＮｅｔＢＥＵＩ（登録商標）、ＮｅｔＢＴ（登録商標））、ＵＰｎＰ（登録商標）、Ｂｏｎｊｏｕｒ（登録商標）（旧称Ｒｅｎｄｅｚｖｏｕｓ（登録商標））などは小規模ネットワーク向けの名前解決のみでインターネット全体の名前解決は行わない。名前解決サーバはＩＳＰ（Internet service provider）が提供するものを使用するだけで十分となるためである）。
【００１６】
Ｈｏｓｔ Ａ、Ｈｏｓｔ Ｂは、名前解決サーバＤＮＳ Ａの情報をＤＨＣＰやその他の手段で取得することで、インターネット上のホスト名の解決を行う。しかし、ＶＰＮ接続しているＨｏｓｔ Ｃは、既に元々属しているネットワークで、名前解決サーバＤＮＳ Ｂの情報を取得しているので、名前解決サーバＤＮＳ Ａの情報は必要なく、むしろＤＮＳ Ｂの情報を取得することで名前解決サーバの情報が複数になり管理のコストがかかることになる。
【００１７】
しかし、単純に名前解決サーバの情報をもらわなければ良いのかというと、そうではなく、図４のような構成で、名前解決サーバＤＮＳ ＣがＨｏｓｔ Ａ、Ｈｏｓｔ Ｂの名前を解決するために存在している場合にはＨｏｓｔ Ｃは名前解決サーバＤＮＳ Ｃの情報を取得する必要がある。つまり、ＶＰＮ接続するＨｏｓｔ Ｃは、ＶＰＮ接続したネットワークから名前解決サーバの情報を取得するときに、その名前解決サーバの情報が必要かどうかを判断することが必要になる。
【００１８】
（２）ケース２  図５、図６
図５に示すように、Ｈｏｓｔ ＣがＲｏｕｔｅｒ ＡとＶＰＮ接続を行い、Ｈｏｓｔ Ａ、Ｈｏｓｔ Ｂの属するネットワークに参加するとする。このとき、Ｈｏｓｔ Ｃの属するネットワークに存在する名前解決サーバＤＮＳ Ｂを使用したくないというケースが存在する。不特定多数の端末が接続できるような環境下では、名前解決サーバも信用したくないケースがあるからである。例えば、名前解決サーバを詐称するような攻撃の場合である。このような攻撃は実際に存在する。名前解決の結果が信用できないとすると、接続している相手との通信も信用できないことになるため、信用できない名前解決サーバを使いたくないという要求はある。
【００１９】
このような場合、Ｈｏｓｔ ＣとＲｏｕｔｅｒ ＡとのＶＰＮ接続は、名前解決サーバＤＮＳ Ｂに頼らずおこなわなければならない。このためには少なくともＨｏｓｔ ＣはＲｏｕｔｅｒ ＡのＩＰアドレスを知っているか、別の手段で与えられなければならない。また、名前解決サーバＤＮＳ ＢをＤＨＣＰなどの手段で提供されても、使用しないという判断が必要になる。一方、ＶＰＮ接続した先のネットワークを信用するとする場合には、図６に示すようにＶＰＮ接続したネットワークで提供される名前解決サーバについては、ＤＨＣＰなどの手段で提供される場合、それを使用するという判断が必要になる。つまり、ＶＰＮ接続するＨｏｓｔ Ｃは、ＶＰＮ接続したネットワークから名前解決サーバの情報を取得するときに、その名前解決サーバの情報が必要かどうかを判断することが必要になる。
【００２０】
次に、名前解決サーバの形態について説明する。名前解決サーバは以下のように様々な形態で提供されるので、単純なＩＰアドレスの空間の比較や、プライベートアドレスの使用の有無だけでは判断できない。よって、これらの形態を考慮した高度な判断が必要になる。  
・ＩＳＰが提供する名前解決サーバのアドレスをそのままＤＨＣＰなどの手段で提供する形態  
・ＩＳＰが提供する名前解決サーバを、ＩＳＰと接続をしているＲｏｕｔｅｒが単純に肩代わり（ＤＮＳ ｐｒｏｘｙ）して提供する形態  
・ＩＳＰが提供する名前解決サーバとは別に内部ネットワークの名前解決も含む独立した名前解決サーバを提供する形態  
・ＩＳＰが提供する名前解決サーバとは別に内部ネットワークの名前解決のみを行う名前解決サーバを提供する形態
次に、本発明の実施形態に係るサーバ判定装置について図７を参照して説明する。  
本実施形態のサーバ判定装置は、図７に示すように、ＤＮＳテーブル７０１、ＤＮＳ取捨選択部７０２、アドレス情報取得部７０５、ネットワーク接続部７０６を備えている。ＤＮＳ取捨選択部７０２は、ＤＮＳ問い合わせ部７０３、ＶＰＮ接続判定部７０４を含んでいる。ネットワーク接続部７０６は、ネットワークドライバ７０７、ＶＰＮ制御部７０８を含んでいる。以下、既に説明した装置部分と同様なものは同一の番号を付してその説明を省略する。
【００２１】
ＤＮＳテーブル７０１は、利用することが可能な名前解決サーバのアドレスのリストを格納する。ここで格納している名前解決サーバは名前解決に使用される。また、名前解決サーバのリストは、名前解決サーバに対する優先順位、問い合わせを行う際に用いるネットワークインターフェース、問い合わせの際に優先的に問い合わせを行うアドレス空間、ドメイン名の情報を有する。
【００２２】
ＤＮＳ取捨選択部７０２は、名前解決サーバの選択の判定を行い、判定結果をもとにＤＮＳテーブル７０１の更新を行う。ＶＰＮ接続判定部７０４がＶＰＮ接続であると判定した場合に、ＤＮＳ取捨選択部７０２は、既にＤＮＳテーブル７０１に名前解決サーバが存在するかどうかを判定する。ＶＰＮ接続判定部７０４がＶＰＮ接続でないと判定した場合に、ＤＮＳ取捨選択部７０２は、ＶＰＮ接続でないローカルなＤＮＳを使用するかどうかを判定する。  
ＤＮＳ問い合わせ部７０３は、アドレス情報取得部７０５でアドレスが得られた名前解決サーバに対してＤＮＳの逆引き、ネームサーバ（ＤＮＳサーバの別称）が存在するかどうかの確認を行う。ＤＮＳサーバに対しての逆引きについては後に図１１から図１４を参照して説明する。  
ＶＰＮ接続判定部７０４は、判定をしようとする名前解決サーバの情報を取得した先のネットワークがＶＰＮ接続かどうかを、ネットワーク接続部７０６に問い合わせ、確認する。
【００２３】
アドレス情報取得部７０５は、ネットワークに接続した際に、ＩＰアドレス、経路情報、名前解決サーバのアドレス、ドメインの情報を取得し、これらを取得したネットワークインターフェースごとに格納し設定する。
【００２４】
ネットワーク接続部７０６は、アプリケーションやＯＳに対してネットワーク接続環境を提供する。ネットワーク接続部７０６は、ＶＰＮ接続、または、通常接続（ＶＰＮ接続でない接続）によりネットワークに接続する。  
ネットワークドライバ７０７は、ネットワークに物理的に接続した際に、アプリケーションやＯＳに対してネットワーク接続環境（ネットワークインターフェース）を提供する。  
ＶＰＮ制御部７０８は、ＶＰＮ接続を行い、物理的にネットワークに接続しているようにアプリケーションやＯＳにみせ、ネットワーク接続環境（ネットワークインターフェース）を提供する。
【００２５】
次に、図７のサーバ判定装置の動作の具体的な一例について図８を参照して説明する。  
１．Ｈｏｓｔ Ｃがネットワークドライバ７０７によってネットワークに接続する。  
２．Ｈｏｓｔ Ｃのアドレス情報取得部７０５が、ネットワークドライバ７０７のネットワークインターフェース（ＩＦａ）を経由してＩＰアドレス（ＩＰａ）、経路情報（ＲＯＵＴＥａ）、名前解決サーバ（ＤＮＳａ：ここではＤＮＳ Ｂに相当）、ドメイン（ＤＯＭＡＩＮａ）の情報を取得する。  
３．Ｈｏｓｔ ＣのＶＰＮ接続判定部７０４がＶＰＮ接続でないことを確認する。  
４．Ｈｏｓｔ ＣのＤＮＳ取捨選択部７０２はローカルなＤＮＳを使用するかどうかの設定を確認し、設定に基づきＤＮＳテーブル７０１を更新する（名前解決サーバＤＮＳａの情報をＤＮＳテーブル７０１に入れる）。  
５．Ｈｏｓｔ ＣがＶＰＮ制御部７０８によってネットワークに接続する。図８の例ではＶＰＮ接続の先はＲｏｕｔｅｒ Ａとする。  
６．Ｈｏｓｔ Ｃのアドレス情報取得部７０５がＶＰＮ制御部７０８のネットワークインターフェース（ＩＦａａ）を経由してＩＰアドレス（ＩＰａａ）、経路情報（ＲＯＵＴＥａａ）、名前解決サーバ（ＤＮＳａａ：ここではＤＮＳ Ａに相当）、ドメイン（ＤＯＭＡＩＮａａ）の情報を取得する。  
７．Ｈｏｓｔ ＣのＶＰＮ接続判定部７０４はＶＰＮ接続であることを確認する。
【００２６】
８．Ｈｏｓｔ ＣのＤＮＳ問い合わせ部７０３はＤＮＳテーブル７０１に名前解決サーバＤＮＳｘｓが存在するかどうかの確認を行う。名前解決サーバＤＮＳｘｓが存在しない場合は、ＤＮＳ取捨選択部７０２が無条件で取得した名前解決サーバの情報をＤＮＳテーブル７０１に入れる。この例では、名前解決サーバＤＮＳａａの情報をＤＮＳテーブル７０１に入れる。名前解決サーバＤＮＳｘｓが存在する場合は、ＤＮＳ問い合わせ部７０３が、取得した名前解決サーバＤＮＳａａに対して同じく取得したＩＰアドレスＩＰａａの逆引きを行う。
【００２７】
９．逆引きが失敗する場合、名前解決サーバＤＮＳａａはＩＰアドレスＩＰａａの名前を管理していないとして、ＤＮＳテーブル７０１の更新を行わず終了する。逆引きが成功する場合、名前解決サーバＤＮＳｘｓを用いて同様にＩＰアドレスＩＰａａの逆引きを繰り返し行い、成功しかつ名前解決サーバＤＮＳａａがＩＰａａについて返す結果と同じケースがある場合にはＤＮＳテーブル７０１の更新を行わずに終了する。その他の場合には、ＤＮＳテーブル７０１に名前解決サーバＤＮＳａａとＩＰアドレスＩＰａａを含むネットワークの範囲とネットワークインターフェースＩＦａａを関連付けて入れる。
【００２８】
１０．ドメイン（ＤＯＭＡＩＮａａ）の情報を取得している場合は、ＤＮＳ問い合わせ部７０３が名前解決サーバＤＮＳａａに対してＤＯＭＡＩＮａａのネームサーバかを問い合わせ可能かどうかの確認を行う。ＤＯＭＡＩＮａａのネームサーバが見つからない場合、ＤＮＳテーブル７０１を更新せず終了する。
【００２９】
１１．ネームサーバが見つかる場合、名前解決サーバＤＮＳｘｓを用いて同様にドメインＤＯＭＡＩＮａａのネームサーバを問い合わせ、成功しかつ名前解決サーバＤＮＳａａがドメインＤＯＭＡＩＮａａについて返す結果と同じケースがある場合にはＤＮＳテーブル７０１の更新を行わずに終了する。その他の場合には、ＤＮＳテーブル７０１に名前解決サーバＤＮＳａａとドメインＤＯＭＡＩＮａａとネットワークインターフェースＩＦａａを関連付けて格納する。
【００３０】
次に、ネットワークにＶＰＮ接続する場合と、ネットワークにＶＰＮ接続でなく通常に接続する場合とにわけて、それぞれのフローチャートについて図９、図１０を参照して説明する。  
名前解決サーバの情報が必要かどうかを判断するということは、接続しているネットワーク（ＶＰＮ接続先も含む）から提供された名前解決サーバが処理を行うかどうかを判断するということである。
【００３１】
ネットワークにＶＰＮ接続でなく通常に接続する場合（ステップＳ９０１）には、アドレス情報取得部７０５が、接続先のネットワークから、ＩＰアドレスＩＰａ、経路情報ＲＯＵＴＥａ（アドレス）を取得し設定する（ステップＳ９０２）。また、アドレス情報取得部７０５が、接続先のネットワークから、名前解決サーバＤＮＳａのアドレス、ドメイン名ＤＯＭＡＩＮａのドメイン名を取得する（ステップＳ９０２）。
【００３２】
ＤＮＳ取捨選択部７０２が、既にＤＮＳテーブル７０１に名前解決サーバＤＮＳｘｓが存在するかどうかを判定する（ステップＳ９０３）。ステップＳ９０３で名前解決サーバＤＮＳｘｓが存在する場合には、ＤＮＳ取捨選択部７０２が、ＤＮＳ問い合わせ部７０３が名前解決サーバＤＮＳａに対しＩＰアドレスＩＰａの逆引きが可能であるかどうかを判定する（ステップＳ９０４）。逆引きが可能であると判定された場合には、ＤＮＳ取捨選択部７０２が、ＤＮＳ問い合わせ部７０３が名前解決サーバＤＮＳｘｓでＩＰアドレスＩＰａの逆引きが可能であるかどうかを判定する（ステップＳ９０５）。
【００３３】
ステップＳ９０３で名前解決サーバＤＮＳｘｓが存在しないと判定された場合には、ＤＮＳ取捨選択部７０２が、名前解決サーバＤＮＳａをＤＮＳテーブル７０１のリストに加える（ステップＳ９０６）。ステップＳ９０４でＩＰアドレスＩＰａの逆引きが可能でないと判定された場合には、ＤＮＳ取捨選択部７０２が、名前解決サーバＤＮＳａをＤＮＳテーブル７０１のリストに加えない（ステップＳ９０７）。
【００３４】
ステップＳ９０５でＩＰアドレスＩＰａの逆引きが可能でないと判定された場合には、ＤＮＳ取捨選択部７０２が、ＩＰアドレスＩＰａのアドレス空間の名前を解決するときに名前解決サーバＤＮＳａを優先的に使用するように、名前解決サーバＤＮＳａをＤＮＳテーブル７０１のリストに加える（ステップＳ９０８）。  
次に、ＤＮＳ取捨選択部７０２が、ＤＮＳ問い合わせ部７０３が名前解決サーバＤＮＳａにドメイン名ＤＯＭＡＩＮａのネームサーバが問い合わせ可能であるかどうかを判定する（ステップＳ９０９）。ネームサーバが問い合わせ可能であると判定された場合には、ＤＮＳ取捨選択部７０２が、ＤＮＳ問い合わせ部７０３がＤＮＳテーブル７０１に存在する名前解決サーバＤＮＳｘｓにドメイン名ＤＯＭＡＩＮａのネームサーバを問い合わせ、ＤＮＳｘｓとこのネームサーバとが同一であるかどうかを判定する（ステップＳ９１０）。
【００３５】
ステップＳ９０９でネームサーバが問い合わせ可能でないと判定された場合、または、ステップＳ８１２で同一であると判定された場合には、ＤＮＳ取捨選択部７０２が、ＤＮＳテーブル７０１のリストにドメイン名ＤＯＭＡＩＮａを入れない（ステップＳ９１１）。
【００３６】
ステップＳ９１０で同一でないと判定された場合には、ＤＮＳ取捨選択部７０２が、ドメイン名ＤＯＭＡＩＮａの名前空間を解決するときに、名前解決サーバＤＮＳａを優先的に使用するように、名前解決サーバＤＮＳａをＤＮＳテーブル７０１のリストに加える（ステップＳ９１２）。
【００３７】
次に、ネットワークにＶＰＮ接続する場合について図１０を参照して説明する。以下、既に説明したステップと同様なものは同一の番号を付してその説明を省略する。  
ネットワークにＶＰＮ接続する場合（ステップＳ１００１）には、図１０に示すように、ステップＳ９０２で取得する情報と同様な情報をＶＰＮ接続先のネットワークから取得する（ステップＳ１００２）。
【００３８】
ＤＮＳ取捨選択部７０２がＶＰＮ接続でないローカルなＤＮＳを使用するかどうかを判定する（ステップＳ１００３）。ステップＳ１００３でＶＰＮ接続でないローカルなＤＮＳを使用しないと判定された場合にはステップＳ９０７に進み、ステップＳ１００３でＶＰＮ接続でないローカルなＤＮＳを使用すると判定された場合にはステップＳ９０２に進む。
【００３９】
次に、図９のフローチャートに示した動作の具体的な４つの例について、図１１、図１２、図１３、図１４を参照して説明する。また、図１０のフローチャートに示した動作の具体的な１つの例について図１１を参照して説明する。
【００４０】
＜第１の例：ＶＰＮ接続先の名前解決サーバを判定の結果、（逆引きができない場合に）使用しないとする場合＞図１１  
１．Ｈｏｓｔ ＣがＮｅｔｗｏｒｋ Ｂに接続して、
ＩＰアドレス  ：１９２．１６８．１００．１０
経路情報      ：１９２．１６８．１００．１
名前解決サーバ：１９２．１６８．１００．２
ドメイン名    ：ｏｕｔｅｒ−ｘｘｘ．ｎｅｔ
を取得する。
【００４１】
２．直接Ｎｅｔｗｏｒｋ Ｂに接続しているのでＨｏｓｔ ＣのＤＮＳテーブル７０１に格納されている名前解決サーバのエントリはなく、この段階でＨｏｓｔ Ｃは名前解決サーバ：１９２．１６８．１００．２をＤＮＳテーブル７０１に格納する。
【００４２】
３．Ｈｏｓｔ ＣがＶＰＮ接続を行いＮｅｔｗｏｒｋ Ａに参加する。ＶＰＮの手法については問わないが、ここではＩＰアドレスの設定等が必要なＬ２／Ｌ３ ＶＰＮを仮定する。
【００４３】
４．Ｈｏｓｔ Ｃは、ＶＰＮ接続を経由してＮｅｔｗｏｒｋ Ａに参加し、
ＩＰアドレス  ：１９２．１６８．０．１００
経路情報      ：１９２．１６８．０．１
名前解決サーバ：２０２．１０．０．１
ドメイン名    ：Ｎ／Ａ（“not available”の略称）
を取得する。
【００４４】
５．既に、Ｎｅｔｗｏｒｋ Ｂに接続したときに取得した名前解決サーバがＤＮＳテーブル７０１に存在するため、ＤＮＳテーブル７０１に格納する必要があるかどうかの検証を行う。
【００４５】
６．Ｈｏｓｔ Ｃが取得した名前解決サーバ：２０２．１０．０．１に対して、ＶＰＮ接続して取得したＩＰアドレス：１９２．１６８．０．１００の逆引きを行う。  
具体的には、ＲＦＣ１０３４［ＲＦＣ１０３４］、ＲＦＣ１０３５［ＲＦＣ１０３５］に従いＨｏｓｔ ＣはＩＰアドレス：１９２．１６８．０．１００に対応するポインタ（ＰＴＲ）ＲＲを求めるクエリを名前解決サーバ：２０２．１０．０．１に対して発行する。  
ＰＴＲレコードを求めるため、クエリの内容はＩＰアドレスを逆順にし、ｉｎ−ａｄｄｒ．ａｒｐａドメインを足した、１００．０．１６８．１９２．ｉｎ−ａｄｄｒ．ａｒｐａ．というＦＱＤＮ（Fully Qualified Domain Name完全に記述したドメイン名）が実際に名前解決サーバに問い合わせられる。  
ただし、正引きを行う場合は上記のような処理を行わず、ＦＱＤＮとして与えられた名前をそのまま用い、Ａレコードを求めるクエリを発行する。  
名前解決サーバは、該当するレコードが存在すれば、ＰＴＲレコードにＦＱＤＮ情報を入れて返す。該当するレコードがなければＰＴＲレコードは返らないことになる。
【００４６】
７．名前解決サーバ：２０２．１０．０．１は図１１ではＮｅｔｗｏｒｋ Ａの名前解決に用いられていないものなので、１００．０．１６８．１９２．ｉｎ−ａｄｄｒ．ａｒｐａ．（１９２．１６８．０．１００）のレコードを持っていないためＰＴＲレコードは返らない。
【００４７】
８．ＰＴＲレコードが返らないことをもって、名前解決サーバ：２０２．１０．０．１はＩＰアドレス：１９２．１６８．０．１００だけでなく、Ｎｅｔｗｏｒｋ Ａの名前解決に用いられていないと判断し、また、既にＤＮＳテーブル７０１にエントリがあり、そちらだけ用いていれば十分と判断できるので、名前解決サーバ：２０２．１０．０．１を新たにＤＮＳテーブル７０１に追加しない。
【００４８】
以上の処理によって、ＶＰＮ接続を行いながら、常に名前解決サーバは１９２．１６８．１００．２を使うことが可能になる。
【００４９】
＜第２の例：ＶＰＮ接続先の名前解決サーバを判定の結果、（同一の名前空間を解決しているので不要としている場合）使用しないとする場合＞図１２  
１．Ｈｏｓｔ ＣがＮｅｔｗｏｒｋ Ｂに接続して、
ＩＰアドレス  ：１９２．１６８．１００．１０
経路情報      ：１９２．１６８．１００．１
名前解決サーバ：１０１．１００．１．１
ドメイン名    ：ｏｕｔｅｒ−ｘｘｘ．ｎｅｔ
を取得する。
【００５０】
２．直接Ｎｅｔｗｏｒｋ Ｂに接続しているのでＨｏｓｔ ＣのＤＮＳテーブル７０１に格納されている名前解決サーバのエントリはなく、この段階でＨｏｓｔ Ｃは名前解決サーバ：１０１．１００．１．１をＤＮＳテーブル７０１に格納する。
【００５１】
３（第１の例と同様）．Ｈｏｓｔ ＣがＶＰＮ接続を行いＮｅｔｗｏｒｋ Ａに参加する。ＶＰＮの手法については問わないが、ここではＩＰアドレスの設定等が必要なＬ２／Ｌ３ ＶＰＮを仮定する。
【００５２】
４．Ｈｏｓｔ Ｃは、ＶＰＮ接続を経由してＮｅｔｗｏｒｋ Ａに参加し、
ＩＰアドレス  ：２０２．１０．１００．１００（グローバルアドレス）
経路情報      ：２０２．１０．１００．１
名前解決サーバ：２０２．１０．０．１
ドメイン名    ：ｅｘａｍｐｌｅ．ｎｅｔ
を取得する。
【００５３】
５（第１の例と同様）．既に、Ｎｅｔｗｏｒｋ Ｂに接続したときに取得した名前解決サーバがＤＮＳテーブル７０１に存在するため、ＤＮＳテーブル７０１に格納する必要があるかどうかの検証を行う。
【００５４】
６．新たに取得した名前解決サーバ：２０２．１０．０．１に対して、ＶＰＮ接続して取得したＩＰアドレス：２０２．１０．１００．１００の逆引きを行う。  
具体的には、ＲＦＣ１０３４［ＲＦＣ１０３４］、ＲＦＣ１０３５［ＲＦＣ１０３５］に従いＨｏｓｔ ＣはＩＰアドレス：２０２．１０．１００．１００に対応するポインタ（ＰＴＲ）ＲＲを求めるクエリを名前解決サーバ：２０２．１０．０．１に対して発行する。  
ＰＴＲレコードを求めるため、クエリの内容はＩＰアドレスを逆順にし、ｉｎ−ａｄｄｒ．ａｒｐａドメインを足した、１００．１００．１０．２０２．ｉｎ−ａｄｄｒ．ａｒｐａ．というＦＱＤＮが実際に名前解決サーバに問い合わせられる。
【００５５】
ただし、正引きを行う場合は上記のような処理を行わず、ＦＱＤＮとして与えられた名前をそのまま用い、Ａレコードを求めるクエリを発行する。  
名前解決サーバは、該当するレコードが存在すれば、ＰＴＲレコードにＦＱＤＮ情報を入れて返す。該当するレコードがなければＰＴＲレコードは返らない。
【００５６】
７．名前解決サーバ：２０２．１０．０．１は図１２ではＮｅｔｗｏｒｋ Ａの名前解決に用いられており、１００．１００．１０．２０２．ｉｎ−ａｄｄｒ．ａｒｐａ．（２０２．１０．１００．１００）のレコードを持っているためＰＴＲレコードにＦＱＤＮレコードが入って返る。
【００５７】
８．逆引きが可能なため（ＰＴＲレコードが返る）、ＤＮＳテーブル７０１にある名前解決サーバ：１０１．１００．１．１に対して、ＶＰＮ接続して取得したＩＰアドレス：２０２．１０．１００．１００の逆引きを行う。具体的な手順は、第２の例の上記「６」と同様である。
【００５８】
９．名前解決サーバ：１０１．１００．１．１にグローバルアドレス：２０２．１０．１００．１００の逆引きを行った結果、解決でき、ＰＴＲレコードにＦＱＤＮレコードが入って返る。  
ここで名前解決サーバ：２０２．１０．０．１に逆引きで問い合わせた結果と同じ結果が得られる場合は、１０１．１００．１．１をあえて使用しなくても、既にＤＮＳテーブル７０１に存在する２０２．１０．０．１を使用すれば十分であるため、１０１．１００．１．１をＤＮＳテーブル７０１に入れない。
【００５９】
以上の処理によって、ＶＰＮ接続を行う場合にも、同一の名前解決サーバを使用することができる。
【００６０】
＜第３の例：ＶＰＮ接続先の名前解決サーバを判定の結果（プライベートアドレス空間の名前解決を行っているＤＮＳサーバが存在する場合）、アドレス、ドメインを関連付けてＤＮＳテーブル７０１に保存する場合＞図１３  
１（第１の例と同様）．Ｈｏｓｔ ＣがＮｅｔｗｏｒｋ Ｂに接続して、
ＩＰアドレス  ：１９２．１６８．１００．１０
経路情報      ：１９２．１６８．１００．１
名前解決サーバ：１９２．１６８．１００．２
ドメイン名    ：ｏｕｔｅｒ−ｘｘｘ．ｎｅｔ
を取得する。
【００６１】
２（第１の例と同様）．直接Ｎｅｔｗｏｒｋ Ｂに接続しているのでＨｏｓｔ ＣのＤＮＳテーブル７０１に格納されている名前解決サーバのエントリはなく、この段階でＨｏｓｔ Ｃは名前解決サーバ：１９２．１６８．１００．２をＤＮＳテーブル７０１に格納する。
【００６２】
３（第１の例と同様）．Ｈｏｓｔ ＣがＶＰＮ接続を行いＮｅｔｗｏｒｋ Ａに参加する。ＶＰＮの手法については問わないが、ここではＩＰアドレスの設定等が必要なＬ２／Ｌ３ ＶＰＮを仮定する。
【００６３】
４．Ｈｏｓｔ Ｃは、ＶＰＮ接続を経由してＮｅｔｗｏｒｋ Ａに参加し、
ＩＰアドレス  ：１９２．１６８．０．１００
経路情報      ：１９２．１６８．０．１
名前解決サーバ：１９２．１６８．０．１０
ドメイン名    ：ｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔ
を取得する。
【００６４】
５（第１の例と同様）．既に、Ｎｅｔｗｏｒｋ Ｂに接続したときに取得した名前解決サーバがＤＮＳテーブル７０１に存在するため、ＤＮＳテーブル７０１に格納する必要があるかどうかの検証を行う。
【００６５】
６．Ｈｏｓｔ Ｃが新たに取得した名前解決サーバ：１９２．１６８．０．１０に対して、ＶＰＮ接続して取得したＩＰアドレス：１９２．１６８．０．１００の逆引きを行う。
【００６６】
具体的には、ＲＦＣ１０３４［ＲＦＣ１０３４］、ＲＦＣ１０３５［ＲＦＣ１０３５］に従いＨｏｓｔ ＣはＩＰアドレス：１９２．１６８．０．１００に対応するポインタ（ＰＴＲ）ＲＲを求めるクエリを名前解決サーバ：１９２．１６８．０．１０に対して発行する。
【００６７】
ＰＴＲレコードを求めるため、クエリの内容はＩＰアドレスを逆順にし、ｉｎ−ａｄｄｒ．ａｒｐａドメインを足した、１００．０．１６８．１９２．ｉｎ−ａｄｄｒ．ａｒｐａ．というＦＱＤＮが実際に名前解決サーバに問い合わせられる。  
ただし、正引きを行う場合は上記のような処理を行わず、ＦＱＤＮとして与えられた名前をそのまま用い、Ａレコードを求めるクエリを発行する。  
名前解決サーバは、該当するレコードが存在すれば、ＰＴＲレコードにＦＱＤＮ情報を入れて返す。該当するレコードがなければＰＴＲレコードは返らない。
【００６８】
７．名前解決サーバ：１９２．１６８．０．１０はｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔの管理をしており１９２．１６８．０．０／２４の名前の解決ができるので、１００．０．１６８．１９２．ｉｎ−ａｄｄｒ．ａｒｐａ．（１９２．１６８．０．１００）のレコードを持っているためＰＴＲレコードにＦＱＤＮレコードが入って返る。
【００６９】
８．逆引きが可能（ＰＴＲレコードが返る）なため、ＤＮＳテーブル７０１にある名前解決サーバ：１９２．１６８．１００．２に対して、ＶＰＮ接続して取得したＩＰアドレス：１９２．１６８．０．１００の逆引きを行う。具体的な手順は上記第２の例の「６」と同様である。
【００７０】
９．名前解決サーバ：１９２．１６８．１００．２はプライベートネットワークであるｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔのドメインの名前を解決できず（ＩＰアドレス：１９２．１６８．０．１００の逆引きはできない）ＰＴＲレコードは返らない。  
ここで名前解決サーバ：１９２．１６８．０．１０は１９２．１６８．０．０／２４の名前の解決ができるもとして、ＤＮＳテーブル７０１に、１９２．１６８．０．０／２４と１９２．１６８．０．１０を関連付けて入れる。
【００７１】
１０．以後、ＶＰＮ接続を行っている場合に、１９２．１６８．０．０／２４のアドレスの逆引きに関しては名前解決サーバ：１９２．１６８．０．１０が優先的に使用される。
【００７２】
１１．名前解決サーバ：１９２．１６８．０．１０に対して、ＶＰＮ接続して取得したドメインｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔの問い合わせを行う。  
具体的には、ＲＦＣ１０３４［ＲＦＣ１０３４］、ＲＦＣ１０３５［ＲＦＣ１０３５］に従いＨｏｓｔ Ｃはドメイン名ｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔを問い合わせる。  
名前解決サーバがそのドメインの管理をしている場合には、ＳＯＡレコードが返ってくる。返らなければ、ドメイン名ｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔは名前解決サーバに関連付けない。
【００７３】
１２．名前解決サーバ：１９２．１６８．０．１０はｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔの管理をしており１９２．１６８．０．０／２４の名前の解決ができるので、ＳＯＡレコードが返ってくる。
【００７４】
１３．ドメイン名の解決が出来た場合（ＳＯＡレコードが返る場合）、ＤＮＳテーブル７０１にある名前解決サーバ：１９２．１６８．１００．２に対して、同様にドメインｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔの解決を試みる。  
手順としては第３の例の上記「１１」と同様の手順だが、ＳＯＡレコードおよびＮＳレコードの確認をする。  
名前解決サーバ：１９２．１６８．１００．２はドメインｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔの管理をしてないので、ＳＯＡレコードは返らない。  
ここで、ＳＯＡレコードが返る場合には、ＳＯＡレコードの内容が、上記第３の例の「１１」と返る内容と同じである場合には、ドメイン名ｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔはＤＮＳテーブル７０１に関連付けて入れない。  
また、ＮＳレコードが返る場合には、ＮＳレコードの内容が、上記第３の例の「１１」で返されるＳＯＡレコードの名前解決サーバと同じである場合には、ドメイン名ｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔはＤＮＳテーブル７０１に関連付けて入れない。
【００７５】
１４．名前解決サーバ：１９２．１６８．１００．２はプライベートネットワークであるｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔのドメインの解決ができないとして、名前解決サーバ：１９２．１６８．０．１０をドメインｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔに対して使用するように、ＤＮＳテーブル７０１にｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔと１９２．１６８．０．１０を関連付けて入れる。
【００７６】
１５．以後、ＶＰＮ接続を行っている場合に、ｐｒｉｖａｔｅ−ｈｏｍｅ．ｎｅｔを含む名前に関しては名前解決サーバ：１９２．１６８．０．１０が優先的に使用される。
【００７７】
＜第４の例：ＶＰＮ接続先の名前解決サーバを判定の結果（逆引きができない場合に）、使用しないとする場合Ｒｏｕｔｅｒ ＡがＤＮＳのＰｒｏｘｙを行い、一見Ｎｅｔｗｏｒｋ Ａの内部に名前解決サーバが存在するように見える場合＞図１４  
仮想的に内部のアドレスを名前解決サーバとして見せているだけなので、通常Ｒｏｕｔｅｒ ＡがＤＮＳ Ｐｒｏｘｙする場合は、Ｒｏｕｔｅｒ Ａのアドレスと同じになる。このため、ネットワークの構成は一見異なるが、判定手順は、第１の例の場合と同じになる。
【００７８】
＜第５の例：ＶＰＮ接続先の名前解決サーバのみを信用する場合＞図１１  
１（第１の例と同様）．Ｈｏｓｔ ＣがＮｅｔｗｏｒｋ Ｂに接続して、
ＩＰアドレス  ：１９２．１６８．１００．１０
経路情報      ：１９２．１６８．１００．１
名前解決サーバ：１９２．１６８．１００．２
ドメイン名    ：ｏｕｔｅｒ−ｘｘｘ．ｎｅｔ
を取得する。
【００７９】
２．直接Ｎｅｔｗｏｒｋ Ｂに接続しているのでＨｏｓｔ ＣのＤＮＳテーブル７０１に格納されている名前解決サーバのエントリはない。このときＨｏｓｔ ＣはＶＰＮ接続を行った結果Ｎｅｔｗｏｒｋ Ｂに接続したのではないということをＶＰＮ制御部７０８に問い合わせて知っている。  
Ｈｏｓｔ ＣがＶＰＮ接続先の名前解決サーバしか信用しない設定としている場合は、名前解決サーバ：１９２．１６８．１００．２をＤＮＳテーブル７０１に格納せず、名前解決サーバとして使用しない。
【００８０】
３．Ｈｏｓｔ ＣがＶＰＮ接続を行いＮｅｔｗｏｒｋ Ａに参加する。ＶＰＮの手法については問わないが、ここではＩＰアドレスの設定等が必要なＬ２／Ｌ３ ＶＰＮを仮定する。このときＨｏｓｔ Ｃは名前解決サーバを使わずＶＰＮ接続する必要があるためＶＰＮ接続先についてはあらかじめＩＰアドレス：１９２．１６８．０．１を知っている必要がある。
【００８１】
４（第１の例と同様）．Ｈｏｓｔ Ｃは、ＶＰＮ接続を経由してＮｅｔｗｏｒｋ Ａに参加し、
ＩＰアドレス  ：１９２．１６８．０．１００
経路情報      ：１９２．１６８．０．１
名前解決サーバ：２０２．１０．０．１
ドメイン名    ：Ｎ／Ａ
を取得する。
【００８２】
５．Ｈｏｓｔ ＣのＤＮＳテーブル７０１に格納されている名前解決サーバのエントリはなく、ＶＰＮ接続して取得した名前解決サーバ：２０２．１０．０．１をＤＮＳテーブルに格納する。
【００８３】
６．ＶＰＮ接続中は、常に信頼できる名前解決サーバ：２０２．１０．０．１を使うことが可能になる。
【００８４】
以上の処理によって、公衆アクセスサービスなどで、名前解決サーバを騙るフィッシングや、悪意のあるサイトへ誘導するなどの攻撃を回避することが可能になる。
【００８５】
以上に示した実施形態によれば、ネットワークに接続し、このネットワークのＩＰアドレス、ＤＮＳサーバのアドレスを取得し、このアドレスのＤＮＳサーバに対しＩＰアドレスの逆引きができるか、ＤＮＳ利用リストにあるＤＮＳサーバに対しＩＰアドレスの逆引きができるか、によって、ＤＮＳ利用リストにＤＮＳサーバのアドレスを付加するかどうか決定することにより、優先順位や接続先に応じて問い合わせを行うＤＮＳサーバを切り替え使えるためのリストを自動的に作成することができる。したがって、一般のユーザにも利便性が高いサーバ判定装置、方法及びプログラムを提供することができる。
【００８６】
また、本実施形態によれば、ネットワークに接続し、この接続先のドメイン名、ＤＮＳサーバのアドレスを取得し、このアドレスのＤＮＳサーバとドメイン名のＤＮＳサーバとが同一であるかどうかを判定することによって、ＤＮＳ利用リストに、取得したＤＮＳサーバのアドレスを付加するかどうかを決定することにより、優先順位や接続先に応じて問い合わせを行うＤＮＳサーバを切り替え使えるためのリストを自動的に作成することができる。したがって、一般のユーザにも利便性が高いサーバ判定装置、方法及びプログラムを提供することができる。
【００８７】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態のサーバ判定装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態のサーバ判定装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。  
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーションシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。  
また、記憶媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００８８】
なお、本願発明におけるコンピュータまたは組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
【００８９】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００９０】
【図１】ユーザにＶＰＮを意識させないＶＰＮ接続を示す図。
【図２】ユーザがＶＰＮ接続することを示す図。
【図３】ケース１の場合の一例を示す図。
【図４】ケース１の場合の別例を示す図。
【図５】ケース２の場合の一例を示す図。
【図６】ケース２の場合の別例を示す図。
【図７】本発明の実施形態に係るサーバ判定装置のブロック図。
【図８】図７のサーバ判定装置の動作の具体的な一例を説明するための図。
【図９】ネットワークにＶＰＮ接続する場合に、図７のサーバ判定装置の動作の一例を示すフローチャート。
【図１０】ネットワークにＶＰＮ接続でない通常の接続をする場合に、図７のサーバ判定装置の動作の一例を示すフローチャート。
【図１１】図９の具体的な第１の例、または、図１０の具体的な一例を説明するための図。
【図１２】図９の具体的な第２の例を説明するための図。
【図１３】図９の具体的な第３の例を説明するための図。
【図１４】図９の具体的な第４の例を説明するための図。
【符号の説明】
【００９１】
７０１…ＤＮＳテーブル、７０２…ＤＮＳ取捨選択部、７０３…ＤＮＳ問い合わせ部、７０４…ＶＰＮ接続判定部、７０５…アドレス情報取得部、７０６…ネットワーク接続部、７０７…ネットワークドライバ、７０８…ＶＰＮ制御部。
【図１】
2007295024.tif 000003
【図２】
2007295024.tif 000004
【図３】
2007295024.tif 000005
【図４】
2007295024.tif 000006
【図５】
2007295024.tif 000007
【図６】
2007295024.tif 000008
【図７】
2007295024.tif 000009
【図８】
2007295024.tif 000010
【図９】
2007295024.tif 000011
【図１０】
2007295024.tif 000012
【図１１】
2007295024.tif 000013
【図１２】
2007295024.tif 000014
【図１３】
2007295024.tif 000015
【図１４】
2007295024.tif 000016