(57)【要約】【課題】複数のＶＰＮ装置間で直接通信を行うときの通信遅延の発生を回避することができるＶＰＮ装置を提供する。【解決手段】ネットワーク１００〜３００上で、他のＶＰＮ装置３０１との間でＶＰＮを構築して通信を行うＶＰＮ装置１０１であって、ネットワーク１００、２００を介して、ＶＰＮ装置１０１の外部アドレス・ポート情報を取得し、ネットワーク１００〜３００を介して、ＶＰＮ装置１０１の外部アドレス・ポート情報をＶＰＮ装置３０１へ送信し、ネットワーク１００〜３００を介して、ＶＰＮ装置３０１からのＶＰＮ装置３０１の外部アドレス・ポート情報を受信し、ＶＰＮ装置３０１の外部アドレス・ポート情報を用いて、ＶＰＮ装置１０１とＶＰＮ装置３０１との間でＰ２Ｐ通信が可能なＰ２Ｐ通信可能状態であるか否かを判定し、Ｐ２Ｐ通信可能状態であるか否かを判定する前に、ネットワーク１００〜３００を介して、ＶＰＮ装置３０１へ実データを送信する通信制御部１４０を備える。【選択図】図４
2010283761.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上で、他のＶＰＮ装置との間で仮想プライベートネットワークを構築して通信を行うＶＰＮ装置であって、
前記ネットワークを介して、当該ＶＰＮ装置のグローバルアドレス情報及びポート情報を取得する外部アドレス・ポート情報取得部と、
前記ネットワークを介して、当該ＶＰＮ装置の前記グローバルアドレス情報及び前記ポート情報を前記他のＶＰＮ装置へ送信する外部アドレス・ポート情報送信部と、
前記ネットワークを介して、前記他のＶＰＮ装置からの前記他のＶＰＮ装置のグローバルアドレス情報及びポート情報を受信する外部アドレス・ポート情報受信部と、
前記他のＶＰＮ装置の前記グローバルアドレス情報及び前記ポート情報を用いて、当該ＶＰＮ装置と前記他のＶＰＮ装置との間で直接通信が可能な直接通信可能状態であるか否かを判定する通信状態判定部と、
前記通信状態判定部によって前記直接通信可能状態であるか否かを判定する前に、前記ネットワークを介して、前記他のＶＰＮ装置へ通信データを送信するデータ送信部と、
を備えるＶＰＮ装置。
【請求項２】
請求項１に記載のＶＰＮ装置であって、更に、
前記ネットワークを介して、当該ＶＰＮ装置と前記他のＶＰＮ装置との通信接続を要求する接続要求を前記他のＶＰＮ装置へ送信する接続要求送信部を備え、
前記データ送信部は、前記接続要求送信部により前記接続要求が送信されたときに、前記通信データを送信するＶＰＮ装置。
【請求項３】
請求項１に記載のＶＰＮ装置であって、更に、
前記ネットワークを介して、当該ＶＰＮ装置と前記他のＶＰＮ装置との通信接続を要求する接続要求に対する接続応答を受信する接続応答受信部を備え、
前記データ送信部は、前記接続応答受信部により前記接続応答が受信された後に、前記通信データを送信するＶＰＮ装置。
【請求項４】
ネットワーク上で、他のＶＰＮ装置との間で仮想プライベートネットワークを構築して通信を行うＶＰＮ装置のＶＰＮネットワーキング方法であって、
前記ネットワークを介して、当該ＶＰＮ装置のグローバルアドレス情報及びポート情報を取得するステップと、
前記ネットワークを介して、当該ＶＰＮ装置の前記グローバルアドレス情報及び前記ポート情報を前記他のＶＰＮ装置へ送信するステップと、
前記ネットワークを介して、前記他のＶＰＮ装置からの前記他のＶＰＮ装置のグローバルアドレス情報及びポート情報を受信するステップと、
前記他のＶＰＮ装置の前記グローバルアドレス情報及び前記ポート情報を用いて、当該ＶＰＮ装置と前記他のＶＰＮ装置との間で直接通信が可能な直接通信可能状態であるか否かを判定するステップと、
前記直接通信可能状態であるか否かを判定する前に、前記ネットワークを介して、前記他のＶＰＮ装置へ通信データを送信するステップと、
を有するＶＰＮネットワーキング方法。
【請求項５】
請求項４に記載のＶＰＮネットワーキング方法の各ステップを実行させるためのプログラム。
【請求項６】
請求項４に記載のＶＰＮネットワーキング方法の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＶＰＮ装置、ＶＰＮネットワーキング方法、プログラム、及び記憶媒体に関し、特に、通信相手の固定された専用通信回線（専用線）の代わりに、多数の加入者で帯域を共用する通信網を利用してネットワーク間などを接続するＶＰＮ（Virtual Private Network：仮想プライベートネットワーク）技術に関する。
【背景技術】
【０００２】
仮想プライベートネットワーク（以下、ＶＰＮと記載する）は、たとえば、企業内等の２以上の拠点のローカルエリアネットワーク（ＬＡＮ）相互間などのように、一般に、異なるネットワークセグメントを、広域ネットワーク（ＷＡＮ）などを介して互いに接続する。そして、通信の秘匿性を担保することで、仮想的に全体が１つのプライベートネットワークであるように構成する。これにより、専用線を利用する場合と同様の通信サービスを可能にする。
【０００３】
このようなＶＰＮは、インターネット等のＷＡＮや公衆回線網を利用して構築するいわゆるインターネットＶＰＮと、通信事業者閉域網などのインターネット等とは異なる通信網を使用して構築するＩＰ−ＶＰＮと、に大別される。特に、インターネットＶＰＮは、昨今のネットワークインフラのブロードバンド化と、インターネットを利用してＶＰＮを構築することによる安価な価格設定に伴い、利用者が増加している。
【０００４】
ＶＰＮを構築するにあたり、例えば異なる拠点間で通信を行う場合に、通信経路の途中にインターネット等の共用の通信網が介在するので、通信の漏洩、盗聴、改竄などの危険性がある。そこで、ＶＰＮ技術においては、通信の秘匿性を担保するために、ネットワークのいずれかの階層において、データを暗号化しカプセリングすることを基本的な技術思想としている。ここで、ある通信プロトコルを他の通信プロトコルのパケットで包んで送ることを「カプセル化（カプセリング）」という。
【０００５】
ＶＰＮ技術で用いられる暗号化プロトコルの具体例としては、ＩＰ（Internet Protocol）層で暗号化を施すＩＰｓｅｃ（Security Architecture for Internet Protocol）や、ＴＣＰ（Transmission Control Protocol）層（特にＨＴＴＰ：Hyper Text Transfer Protocolで使用）で暗号化を施すＳＳＬ（Secure Sockets Layer）などが知られている。また、他のＶＰＮ技術の例として、ＳＳＨ、ＴＬＳ、ＳｏｆｔＥｔｈｅｒ、ＰＰＴＰ、Ｌ２ＴＰ、Ｌ２Ｆ、ＭＰＬＳなどが知られている。ソフトウェアによってＶＰＮを構築するソフトウェアＶＰＮでは、上記のＩＰｓｅｃやＳＳＬを使用したトンネリング技術を使用する。ここで、ある通信プロトコルを、同じまたはより上位の階層のプロトコルのデータとして通信することを「トンネリング」という。ＶＰＮを構築する場合は、ネットワークの中継装置または通信を行う端末等（以降、これらを「ピア」とも称する）に設けたＶＰＮ装置によって、パケットを暗号化及びカプセル化して仮想トンネルを構築する。これにより、ピア間を結ぶ閉じられた仮想的な直接通信（以下、Ｐ２Ｐ（Peer to Peer）通信ともいう）回線を確立する。
【０００６】
なお、従来、ＩＰを基盤とする通信ネットワークを経由して通信セッションを実行する際に、複数のベアラを経由して通信ネットワークへのアクセスが達成されており、通信アプリケーションと関連づけられた複数のパケットフローが、当該複数のベアラのそれぞれを介し、同時並行してルーティングされる技術が知られている（例えば、特許文献１参照）。この技術は、複数のインタフェースを持ち、それぞれのインタフェースに個別のアプリケーションを接続してＩＰネットワークにアクセスをしようとするものである。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特表２００４−５２８７６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、複数のＶＰＮ装置を用いて仮想的なＰ２Ｐ通信回線を確立する場合には、いずれかのＶＰＮ装置が希望する通信先のＶＰＮ装置へ接続要求を送信する。接続要求を受信したＶＰＮ装置は、この接続要求に対する接続応答を送信元のＶＰＮ装置へ送信する。そして、互いのＶＰＮ装置間でＰ２Ｐ通信が可能であるか否かの判定を行う。直接通信が可能である場合には直接通信回線が確立されており、以降、通信データの送受信が可能になる。
【０００９】
しかしながら、Ｐ２Ｐ通信が可能であるか否かの判定には所定時間を要するため、Ｐ２Ｐ通信回線が確立されてから通信データの送受信を開始すると、データ通信に遅延が発生することがある。
【００１０】
本発明は、上記事情に鑑みてなされたものであって、複数のＶＰＮ装置間で直接通信を行うときの通信遅延の発生を回避することができるＶＰＮ装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のＶＰＮ装置は、ネットワーク上で、他のＶＰＮ装置との間で仮想プライベートネットワークを構築して通信を行うＶＰＮ装置であって、前記ネットワークを介して、当該ＶＰＮ装置のグローバルアドレス情報及びポート情報を取得する外部アドレス・ポート情報取得部と、前記ネットワークを介して、当該ＶＰＮ装置の前記グローバルアドレス情報及び前記ポート情報を前記他のＶＰＮ装置へ送信する外部アドレス・ポート情報送信部と、前記ネットワークを介して、前記他のＶＰＮ装置からの前記他のＶＰＮ装置のグローバルアドレス情報及びポート情報を受信する外部アドレス・ポート情報受信部と、前記他のＶＰＮ装置の前記グローバルアドレス情報及び前記ポート情報を用いて、当該ＶＰＮ装置と前記他のＶＰＮ装置との間で直接通信が可能な直接通信可能状態であるか否かを判定する通信状態判定部と、前記通信状態判定部によって前記直接通信可能状態であるか否かを判定する前に、前記ネットワークを介して、前記他のＶＰＮ装置へ通信データを送信するデータ送信部と、を備える。
【００１２】
この構成により、直接通信可能状態であるか否かに所定時間を要する場合であっても、複数のＶＰＮ装置間で直接通信を行うときの通信遅延の発生を回避することができる。
【００１３】
本発明のＶＰＮ装置は、前記ネットワークを介して、当該ＶＰＮ装置と前記他のＶＰＮ装置との通信接続を要求する接続要求を前記他のＶＰＮ装置へ送信する接続要求送信部を備え、前記データ送信部が、前記接続要求送信部により前記接続要求が送信されたときに、前記通信データを送信する。
【００１４】
この構成により、相手装置では接続要求を受信するときに通信データの受信もあわせて行うことになるため、高速に通信を行うことができる。
【００１５】
本発明のＶＰＮ装置は、前記ネットワークを介して、当該ＶＰＮ装置と前記他のＶＰＮ装置との通信接続を要求する接続要求に対する接続応答を受信する接続応答受信部を備え、前記データ送信部が、前記接続応答受信部により前記接続応答が受信された後に、前記通信データを送信する。
【００１６】
この構成により、所定時間を要する直接通信可能状態であるか否かの確認前に、相手装置からの接続許可を得た時点で通信データを送信するため、高速かつ確実に通信データの送信を行うことができる。
【００１７】
本発明のＶＰＮネットワーキング方法は、ネットワーク上で、他のＶＰＮ装置との間で仮想プライベートネットワークを構築して通信を行うＶＰＮ装置のＶＰＮネットワーキング方法であって、前記ネットワークを介して、当該ＶＰＮ装置のグローバルアドレス情報及びポート情報を取得するステップと、前記ネットワークを介して、当該ＶＰＮ装置の前記グローバルアドレス情報及び前記ポート情報を前記他のＶＰＮ装置へ送信するステップと、前記ネットワークを介して、前記他のＶＰＮ装置からの前記他のＶＰＮ装置のグローバルアドレス情報及びポート情報を受信するステップと、前記他のＶＰＮ装置の前記グローバルアドレス情報及び前記ポート情報を用いて、当該ＶＰＮ装置と前記他のＶＰＮ装置との間で直接通信が可能な直接通信可能状態であるか否かを判定するステップと、前記直接通信可能状態であるか否かを判定する前に、前記ネットワークを介して、前記他のＶＰＮ装置へ通信データを送信するステップと、を有する。
【００１８】
この方法により、複数のＶＰＮ装置間で直接通信を行うときの通信遅延の発生を回避することができる。
【００１９】
本発明のプログラムは、上記ＶＰＮネットワーキング方法の各ステップを実行させるためのプログラムである。
【００２０】
この構成により、複数のＶＰＮ装置間で直接通信を行うときの通信遅延の発生を回避することができる。
【００２１】
本発明の記憶媒体は、上記ＶＰＮネットワーキング方法の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体である。
【００２２】
この構成により、複数のＶＰＮ装置間で直接通信を行うときの通信遅延の発生を回避することができる。
【発明の効果】
【００２３】
本発明によれば、複数のＶＰＮ装置間で直接通信を行うときの通信遅延の発生を回避することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に係るＶＰＮシステムの構成例を示す図
【図２】本発明の実施形態のＶＰＮ装置のハードウェア構成の構成例を示すブロック図
【図３】本発明の実施形態のＶＰＮ装置の機能的な構成例を示すブロック図
【図４】本発明の実施形態のＶＰＮシステムにおけるＶＰＮ構築時の処理手順を示すシーケンス図
【図５】本発明の実施形態のＶＰＮシステムにおけるＶＰＮ構築時の別の処理手順を示すシーケンス図
【図６】本発明の実施形態のＶＰＮ装置におけるＶＰＮ構築時の処理内容を示すフローチャート
【図７】本発明の実施形態のＶＰＮ装置におけるＶＰＮ構築時の別の処理内容を示すフローチャート
【図８】本発明の実施形態に係るＶＰＮシステムの変形構成例を示す図
【図９】本発明の実施形態のＶＰＮ装置の機能的な変形構成例を示すブロック図
【発明を実施するための形態】
【００２５】
以下に、本発明に係るＶＰＮ装置、ＶＰＮネットワーキング方法、プログラム、及び記憶媒体の一例としての実施形態を説明する。ここでは、広域ネットワーク（ＷＡＮ、グローバルネットワーク）を介して２つのローカルエリアネットワークの経路を（ＬＡＮ、ローカルネットワーク）経路接続して仮想プライベートネットワーク（ＶＰＮ）システムを構築する場合の構成例を示す。ＬＡＮとしては、有線ＬＡＮまたは無線ＬＡＮなどが用いられる。ＷＡＮとしては、インターネット等が用いられる。
【００２６】
図１は本発明の実施形態に係るＶＰＮシステムの構成例を示す図である。本実施形態のＶＰＮシステムは、一つの拠点に設けられたＬＡＮ１００と、他の拠点に設けられたＬＡＮ３００とを、インターネット等のＷＡＮ２００を介して通信経路を接続する。そして、ＬＡＮ１００の配下に接続された端末１０３とＬＡＮ３００の配下に接続された端末３０３との間で、ＶＰＮによる秘匿性を担保した通信（以下、「ＶＰＮ通信」と称する）を可能にしている。具体的なＶＰＮ通信の用途（アプリケーションプログラム等）としては、ＩＰ電話（音声通話）、ネットミーティング（動画＆音声通信）、ネットワークカメラ（ビデオ伝送）などが想定される。
【００２７】
ＬＡＮ１００とＷＡＮ２００との境界にはルータ１０２が配設され、ＷＡＮ２００とＬＡＮ３００との境界にはルータ３０２が配設されている。また、本実施形態では、ＶＰＮの構築を可能にするために、ＬＡＮ１００にはＶＰＮ装置１０１が接続され、ＬＡＮ３００にはＶＰＮ装置３０１が接続されている。そして、ＶＰＮ装置１０１には配下の端末１０３が接続され、ＶＰＮ装置３０１には配下の端末３０３が接続されている。
【００２８】
また、ＷＡＮ２００上には、ＶＰＮ装置１０１とＶＰＮ装置３０１との間のＶＰＮによる接続（以下、「ＶＰＮ接続」と称する）を可能にするために、ＳＴＵＮサーバ２０１と呼制御サーバ２０２とが接続されている。ＳＴＵＮサーバ２０１は、ＳＴＵＮ（Simple Traversal of User Datagram Protocol (UDP) through Network Address Translators (NATs)）プロトコルを実行するために用いられるサーバである。呼制御サーバ２０２は、ＶＰＮ装置や端末等のピア間の発呼、着呼のために用いられるサーバである。
【００２９】
図１において、破線は外部アドレス（グローバルアドレス）とポートの情報を含む外部アドレス・ポート情報の流れを示している。また、一点鎖線は発呼及び着呼の制御に関する呼制御信号の流れを示している。また、実線はピア間で伝送される通信データに関するピア間通信（Ｐ２Ｐ通信）の流れを示している。さらに、Ｐ２Ｐ通信のためにＶＰＮ接続された通信経路を仮想トンネルとして、図中に表す。
【００３０】
各機器がＷＡＮ２００を介して通信する場合、ＷＡＮ２００上では、伝送するパケットの送信元や送信先を特定するためのアドレス情報として、ＷＡＮにおいて特定可能なグローバルなアドレス情報が用いられる。一般にはＩＰネットワークが用いられるため、グローバルＩＰアドレス及びポート番号が用いられる。しかし、各ＬＡＮ１００、３００内の通信においては、送信元や送信先を特定するためのアドレス情報として、ＬＡＮ内のみで特定可能なローカルなアドレス情報が用いられる。一般にはＩＰネットワークが用いられるため、ローカルＩＰアドレス及びポート番号が用いられる。したがって、各ＬＡＮ１００、３００とＷＡＮ２００との間の通信を可能にするために、ローカルなアドレス情報とグローバルなアドレス情報との相互変換を行うＮＡＴ（Network Address Translation）機能が各ルータ１０２、３０２に搭載されている。
【００３１】
ただし、ＬＡＮ１００、３００の配下の各端末においては、外部からアクセス可能なグローバルなアドレス情報を自身で持っていない。また、特別な設定を行わない限り、ＬＡＮ１００配下の端末１０３が他のＬＡＮ３００配下の端末３０３と直接通信することはできない。また、各ルータ１０２、３０２のＮＡＴ機能のため、普通の状態ではＷＡＮ２００側から各ＬＡＮ１００、３００内の各端末にアクセスすることもできない。
【００３２】
このような状況であっても、本実施形態では、各拠点のＬＡＮにＶＰＮ装置１０１、３０１を設けることにより、図１において実線で示すＰ２Ｐ通信の経路のように、ＬＡＮ間をＶＰＮ接続して端末１０３と端末３０３との間で仮想的な閉じられた通信経路を通じて直接通信することが可能になる。本実施形態のＶＰＮ装置の構成、機能、及び動作について以下に順を追って説明する。
【００３３】
ＳＴＵＮサーバ２０１は、ＳＴＵＮプロトコルの実行に関するサービスを行うもので、いわゆるＮＡＴ越えの通信を行うために必要な情報を提供するアドレス情報サーバである。ＳＴＵＮは、音声、映像、文章などの双方向リアルタイムＩＰ通信を行うアプリケーションにおいて、ＮＡＴ通過の方法の１つとして使われる標準化されたクライアントサーバ型のインターネットプロトコルである。ＳＴＵＮサーバ２０１は、アクセス元からの要求に応じて、外部からアクセス可能な当該アクセス元のグローバルなアドレス情報として、外部ネットワークから見える外部アドレスとポートの情報を含む外部アドレス・ポート情報を返信する。外部アドレス・ポート情報としては、ＩＰネットワークにおいてはＩＰネットワーク層のグローバルＩＰアドレス及びトランスポート層のポート番号が用いられる。
【００３４】
各ＶＰＮ装置１０１、３０１は、ＳＴＵＮサーバ２０１との間で所定のテスト手順の通信を実行し、ＳＴＵＮサーバ２０１から自装置のグローバルＩＰアドレス及びポート番号が含まれる応答パケットを受信する。これにより、各ＶＰＮ装置１０１、３０１は自装置のグローバルＩＰアドレス及びポート番号を取得することができる。また、自装置の位置するＬＡＮとＷＡＮとの間にルータが複数存在する場合等であっても、これらのルータ等がＵＰｎＰ（Universal Plug and Play）の機能を有していない場合であっても、確実にグローバルＩＰアドレス及びポート番号を取得できるという効果もある。
【００３５】
なお、ＶＰＮ装置１０１、３０１がグローバルＩＰアドレス及びポート番号を取得するための方法に関しては、ＩＥＴＦのＲＦＣ ３４８９（STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)）にて記載された手法を利用することもできる。しかし、ＳＴＵＮによる手法はグローバルＩＰアドレス及びポート番号を取得するところまでが可能なのであって、本実施形態では、通信に先立って予め各種パラメータの設定作業を行うこともなく、簡易かつ柔軟にＶＰＮを構築することができる。
【００３６】
呼制御サーバ２０２は、特定の相手先を呼び出して通信経路を確立するための通信装置間の呼制御に関するサービスを行う中継サーバである。呼制御サーバ２０２は、登録されたＶＰＮ装置または端末の識別情報を保持しており、例えばＩＰ電話の機能を有する通信システムの場合には、接続相手の電話番号に基づいて特定の相手先を呼び出すことも考えられる。また、呼制御サーバ２０２は、信号やデータを中継する機能を有しており、発信側の装置から送出されたパケットを着信側の装置に転送したり、着信側の装置から送出されたパケットを発信側の装置に転送したりすることも可能である。
【００３７】
なお、ＳＴＵＮサーバ２０１及び呼制御サーバ２０２は、ここでは別個のサーバによる構成例を示しているが、１つのサーバにこれらのアドレス情報サーバと中継サーバの２つのサーバの機能を搭載して構成してもよいし、ＷＡＮ上の他のいずれかのサーバに同様の機能を搭載して構成することも可能である。
【００３８】
次に、本実施形態のＶＰＮ装置の構成及び機能について説明する。なお、ＶＰＮ装置１０１とＶＰＮ装置３０１の構成及び機能は同様であり、ここではＶＰＮ装置１０１によって説明する。図２は本実施形態のＶＰＮ装置のハードウェア構成の構成例を示すブロック図である。
【００３９】
ＶＰＮ装置１０１は、マイクロコンピュータ（ＣＰＵ）１１１、フラッシュＲＡＭ等による不揮発性メモリ１１２、ＳＤ ＲＡＭ等によるメモリ１１３、ネットワークインタフェース１１４、ネットワークインタフェース１１５、ＬＡＮ側ネットワーク制御部１１６、ＷＡＮ側ネットワーク制御部１１７、通信中継部１１８、表示制御部１１９、表示部１２０を有して構成される。
【００４０】
マイクロコンピュータ１１１は、所定のプログラムを実行することによりＶＰＮ装置１０１全体の制御を実施する。不揮発性メモリ１１２は、マイクロコンピュータ１１１が実行するプログラムを保持している。このプログラムの中には、ＶＰＮ装置１０１が外部アドレス・ポート情報を取得するための外部アドレス・ポート取得プログラムも含まれている。
【００４１】
なお、マイクロコンピュータ１１１が実行するプログラムについては、任意の通信経路を経由してオンラインで外部のサーバから取得することもできるし、例えばメモリカードやＣＤ−ＲＯＭのような記録媒体から読み込んで取得することもできる。換言すれば、汎用のコンピュータ（マイクロコンピュータ１１１）にＶＰＮ装置の機能を実現するプログラムを記録媒体から読み込むことによってＶＰＮ装置、およびＶＰＮネットワーキング方法を実現することができる。
なお、マイクロコンピュータ１１１がプログラムを実行する時には、不揮発性メモリ１
１２上のプログラムの一部がメモリ１１３上に展開され、メモリ１１３上のプログラムが実行される場合もある。
【００４２】
メモリ１１３は、ＶＰＮ装置１０１の運用中のデータ管理や、各種設定情報などを一時的に記憶するためのものである。設定情報としては、自端末の外部アドレス・ポート取得要求の応答に含まれる外部アドレス・ポート情報等、通信に必要なあて先アドレス情報などが含まれる。
【００４３】
ネットワークインタフェース１１４は、ＶＰＮ装置１０１と自装置が管理する配下の端末１０３とを通信可能な状態で接続するためのインタフェースである。ネットワークインタフェース１１５は、ＶＰＮ装置１０１とＬＡＮ１００とを通信可能な状態で接続するためのインタフェースである。ＬＡＮ側ネットワーク制御部１１６は、ＬＡＮ側のネットワークインタフェース１１４に関する通信制御を行うものである。ＷＡＮ側ネットワーク制御部１１７は、ＷＡＮ側のネットワークインタフェース１１５に関する通信制御を行うものである。
【００４４】
通信中継部１１８は、ＬＡＮ側に接続された配下の端末１０３から外部のＶＰＮ接続先（ＶＰＮ装置３０１配下の端末３０３）へ送出するパケットデータと、反対に、外部のＶＰＮ接続先（ＶＰＮ装置３０１配下の端末３０３）から配下の端末１０３宛に到着したパケットデータをそれぞれ中継する。
【００４５】
表示部１２０は、ＶＰＮ装置１０１としての動作状態の表示等を行う表示器により構成され、各種状態をユーザあるいは管理者に通知する。表示部１２０は、複数の発光ダイオード（ＬＥＤ）や液晶表示器（ＬＣＤ）等により構成される。表示制御部１１９は、表示部１２０の表示制御を行うもので、マイクロコンピュータ１１１からの表示信号に従って表示部１２０に表示する内容等を制御する。
【００４６】
図３は本実施形態のＶＰＮ装置の機能的な構成例を示すブロック図である。
【００４７】
ＶＰＮ装置１０１は、機能構成として、システム制御部１３０、配下端末管理部１３１、メモリ部１３２、データ中継部１３３、設定用インタフェース部１３４、通信制御部１４０を有して構成される。メモリ部１３２は、外部アドレス・ポート情報記憶部１３５を有する。通信制御部１４０は、外部アドレス・ポート取得部１４１、ＶＰＮ機能部１４２、呼制御機能部１４３を有する。ＶＰＮ機能部１４２は、暗号処理部１４５を有する。これらの各機能は、図２に示した各ブロックのハードウェアの動作、またはマイクロコンピュータ１１１が所定のプログラムを実行することにより実現する。
【００４８】
なお、ＶＰＮ装置１０１のＬＡＮ側のネットワークインタフェース１１４は、配下の端末１０３と接続され、ＷＡＮ側のネットワークインタフェース１１５は、ＬＡＮ１００及びルータ１０２を経由してＷＡＮ２００と接続される。
【００４９】
システム制御部１３０は、ＶＰＮ装置１０１の全体の制御を行う。配下端末管理部１３１は、ＶＰＮ装置１０１配下の端末１０３の管理を行う。メモリ部１３２は、外部アドレス・ポート情報記憶部１３５において、外部アドレス（ＷＡＮ２００上でのグローバルＩＰアドレス）とポート（ＩＰネットワークのポート番号）の情報を含む外部アドレス・ポート情報を記憶する。外部アドレス・ポート情報としては、接続元である配下の端末１０３に割り当てられたグローバルＩＰアドレス及びポート番号の情報や、接続先の端末３０３に割り当てられたグローバルＩＰアドレス及びポート番号の情報などを記憶する。
【００５０】
データ中継部１３３は、接続元の端末１０３から接続先の端末３０３に向かって転送されるパケットや、逆に接続先の端末３０３から接続元の端末１０３に向かって転送されるパケットをそれぞれ中継する。設定用インタフェース部１３４は、ユーザあるいは管理者がＶＰＮ装置１０１に対する設定操作等の各種操作を行うためのユーザインタフェースである。このユーザインタフェースの具体例として、端末上で動作するブラウザによって表示するＷｅｂページなどが用いられる。
【００５１】
通信制御部１４０の外部アドレス・ポート取得部１４１は、ＶＰＮ装置１０１の配下の端末１０３に割り当てられた外部アドレス・ポート情報をＳＴＵＮサーバ２０１から取得する。また、接続先の端末３０３の外部アドレス・ポート情報を含むパケットを呼制御サーバ２０２を経由して受信し、接続先の端末３０３に割り当てられた外部アドレス・ポート情報を取得する。外部アドレス・ポート取得部１４１が取得した情報は、メモリ部１３２の外部アドレス・ポート情報記憶部１３５に保持される。
【００５２】
通信制御部１４０のＶＰＮ機能部１４２は、暗号処理部１４５において、ＶＰＮ通信のために必要な暗号処理を行う。すなわち、暗号処理部１４５は、送信するパケットをカプセリングして暗号化したり、受信したパケットをアンカプセリングして復号化して元のパケットを抽出したりする。なお、ＶＰＮ通信は、図１に示したようなＰ２Ｐ通信ではなく、ＷＡＮ２００上に設けられるサーバでパケットの中継を行い、クライアント／サーバ方式でＶＰＮ通信を行うことも可能である。この場合には、サーバ側で暗号処理を行うようにしてもよい。
【００５３】
呼制御機能部１４３は、目的の接続先に接続するための接続要求を呼制御サーバ２０２に送信したり、接続先からの接続応答を呼制御サーバ２０２を経由して受信するための処理を実施する。
【００５４】
すなわち、通信制御部１４０は、自装置の外部アドレス・ポート情報を取得する外部アドレス・ポート取得部、自装置の外部アドレス・ポート情報を送信する外部アドレス・ポート情報送信部、相手装置の外部アドレス・ポート情報を受信する外部アドレス・ポート情報受信部、通信データを暗号化する暗号処理部、通信データを送信するデータ送信部の各機能を実現する。また、通信制御部１４０は、ＶＰＮ通信の通信経路を確立し、Ｐ２Ｐ通信が可能なＰ２Ｐ通信可能状態であるか否かを判定する通信状態判定部としての機能も有する。
【００５５】
次に、本実施形態のＶＰＮ装置１０１によるＶＰＮ構築時の動作について説明する。図４は本実施形態のＶＰＮシステムにおけるＶＰＮ構築時の処理手順を示すシーケンス図である。この図４では、ＶＰＮ装置を含むネットワークにおいて、ＶＰＮ装置１０１の配下の端末１０３からＷＡＮ２００を経由して他のＶＰＮ装置３０１の配下の端末３０３に接続しようとする場合の処理を示している。
【００５６】
まず、図４に示す処理に先立ち、ＶＰＮ装置１０１は呼制御サーバ２０２にログインしてユーザ認証を受けるようにする。ＶＰＮ装置１０１がユーザ認証に成功した場合、呼制御サーバ２０２において、ＶＰＮ装置１０１の識別情報（ＭＡＣアドレス、ユーザＩＤ、電話番号など）やネットワーク上の位置情報（グローバルＩＰアドレス）等の登録、設定が行われる。以降、ＶＰＮ装置１０１と呼制御サーバ２０２との間で通信可能となる。なお、ＶＰＮ装置１０１は発呼側であるが、被呼側であるＶＰＮ装置３０１についても同様に、呼制御サーバ２０２にログインしてユーザ認証を受け、呼制御サーバ２０２においてＶＰＮ装置３０１の識別情報等の登録、設定が行われる。
【００５７】
この状態で、ＶＰＮ装置１０１は、ＶＰＮ通信を行うアプリケーションの起動に伴って外部アドレス・ポート取得部１４１の機能により、配下の端末１０３からのＶＰＮ接続の接続要求を受けると、呼制御サーバ２０２に対して、接続先の端末３０３を配下に持つＶＰＮ装置３０１へのＰ２Ｐ（Peer to Peer）の通信経路を構築するための接続要求を行う（ステップＳ１０１）。このとき、ＶＰＮ装置１０１は、発呼側及び被呼側の識別情報を含む接続要求を呼制御サーバ２０２へ送信する。呼制御サーバ２０２は、この接続要求を中継してＶＰＮ接続の接続先となるＶＰＮ装置３０１へ送信する（ステップＳ１０２）。この接続要求により、呼制御サーバ２０２は、ＶＰＮ装置１０１がＶＰＮ装置３０１へＰ２Ｐ経路構築のためのＶＰＮ接続をしたいという要求を接続先に通知する。
【００５８】
ＶＰＮ装置１０１による接続要求と同時並行で、ＶＰＮ装置１０１は、ＳＴＵＮサーバ２０１との間で外部アドレス・ポート取得手順を行う（ステップＳ１０３）。このとき、ＶＰＮ装置１０１は、自装置に割り当てられた外部アドレス・ポート情報（ＷＡＮ２００側からみたグローバルＩＰアドレス及びポート番号）を取得するため、ＳＴＵＮサーバ２０１に対して、外部アドレス・ポート取得要求としてバインディングリクエスト（Binding Request 接続要求、RFC3489参照；以下同じ）パケットを送出する。一方、ＳＴＵＮサーバ２０１は、外部アドレス・ポート取得要求に対して応答し、ＶＰＮ装置１０１に外部アドレス・ポート情報返信として外部アドレス・ポート情報を含むバインディングレスポンス（Binding Response 接続応答、RFC3489参照；以下同じ）パケットを返送する。そして、ＶＰＮ装置１０１は、外部アドレス・ポート情報返信により得られた外部アドレス・ポート情報を記憶する。
【００５９】
接続先のＶＰＮ装置３０１は、呼制御サーバ２０２からの接続要求を受けると、呼制御サーバ２０２に対して、接続要求に対する接続応答を行う（ステップＳ１０４）。このとき、ＶＰＮ装置３０１は、発呼側及び被呼側の識別情報を含む接続応答を呼制御サーバ２０２へ送信する。呼制御サーバ２０２は、この接続応答を中継してＶＰＮ接続の接続要求元となるＶＰＮ装置１０１へ送信する（ステップＳ１０５）。この接続応答により、呼制御サーバ２０２は、接続要求に対するＶＰＮ装置３０１からＶＰＮ装置１０１への応答を接続要求元に通知する。
【００６０】
ＶＰＮ装置３０１による接続応答と同時並行で、ＶＰＮ装置３０１は、ＳＴＵＮサーバ２０１との間で外部アドレス・ポート取得手順を行う（ステップＳ１０６）。このとき、ＶＰＮ装置３０１は、上記ＶＰＮ装置１０１と同様、自装置に割り当てられた外部アドレス・ポート情報（ＷＡＮ２００側からみたグローバルＩＰアドレス及びポート番号）を取得するため、ＳＴＵＮサーバ２０１に対して、外部アドレス・ポート取得要求としてバインディングリクエストパケットを送出する。一方、ＳＴＵＮサーバ２０１は、外部アドレス・ポート取得要求に対して応答し、ＶＰＮ装置３０１に外部アドレス・ポート情報返信として外部アドレス・ポート情報を含むバインディングレスポンスパケットを返送する。そして、ＶＰＮ装置３０１は、外部アドレス・ポート情報返信により得られた外部アドレス・ポート情報を記憶する。
【００６１】
ＶＰＮ装置１０１がＶＰＮ装置３０１から接続許可を含む接続応答を受信すると、ＶＰＮ装置１０１及びＶＰＮ装置３０１は、呼制御サーバ２０２を介して、互いに実データ（音声パケットや映像パケット等）の通信を行う（ステップＳ１０７）。つまり、Ｐ２Ｐの通信経路を確立する前に、実データの通信を開始している。
【００６２】
次に、ＶＰＮ装置１０１及びＶＰＮ装置３０１は、呼制御サーバ２０２を介して、ＳＴＵＮサーバ２０１から取得した自装置の外部アドレス・ポート情報を互いに通知する（ステップＳ１０８）。そして、ＶＰＮ装置１０１及びＶＰＮ装置３０１は、互いに受信した相手の外部アドレス・ポート情報を用いて、ＶＰＮ装置１０１及びＶＰＮ装置３０１との間でＰ２Ｐ通信が可能な状態（Ｐ２Ｐ通信可能状態）であるか否かを判定する（ステップＳ１０９）。ここでは、互いに相手の外部アドレス・ポート情報（グローバルＩＰアドレス及びポート番号）を送信先に設定してＷＡＮ２００を経由してパケットを送信し、通信可能であるか否か（ＶＰＮ接続が可能か否か）を確認する。例えば、ＶＰＮ装置１０１がＶＰＮ装置３０１へパケットを送信し、この送信から所定期間内にＶＰＮ装置３０１からパケットを受信したことを示す応答を受信した場合には、Ｐ２Ｐ通信可能状態であると判定する。
【００６３】
Ｐ２Ｐ通信可能状態である場合には、Ｐ２Ｐの通信経路が確立されているため、ＶＰＮ装置１０１及びＶＰＮ装置３０１は、Ｐ２Ｐ通信により、互いに暗号化した実データの通信を開始する（ステップＳ１１０）。
【００６４】
次に、図５は本実施形態のＶＰＮシステムにおけるＶＰＮ構築時の別の処理手順を示すシーケンス図である。この図５では、ＶＰＮ装置を含むネットワークにおいて、ＶＰＮ装置１０１の配下の端末１０３からＷＡＮ２００を経由して他のＶＰＮ装置３０１の配下の端末３０３に接続しようとする場合の処理を示している。
【００６５】
まず、図４の処理手順と同様に、ＶＰＮ装置１０１及び３０１は呼制御サーバ２０２にログインしてユーザ認証を受け、呼制御サーバ２０２において端末１０３及び端末３０３の識別情報等の登録、設定が行われる。
【００６６】
この状態で、ＶＰＮ装置１０１は、ＶＰＮ通信を行うアプリケーションの起動に伴って外部アドレス・ポート取得部１４１の機能により、配下の端末１０３からのＶＰＮ接続の接続要求を受けると、ＶＰＮ装置１０１は、ＳＴＵＮサーバ２０１との間で外部アドレス・ポート取得手順を行う（ステップＳ２０１）。このとき、ＶＰＮ装置１０１は、自装置に割り当てられた外部アドレス・ポート情報を取得するため、ＳＴＵＮサーバ２０１に対して、外部アドレス・ポート取得要求としてバインディングリクエストパケットを送出する。一方、ＳＴＵＮサーバ２０１は、外部アドレス・ポート取得要求に対して応答し、ＶＰＮ装置１０１に外部アドレス・ポート情報返信として外部アドレス・ポート情報を含むバインディングレスポンスパケットを返送する。そして、ＶＰＮ装置１０１は、外部アドレス・ポート情報返信により得られた外部アドレス・ポート情報を記憶する。
【００６７】
次に、呼制御サーバ２０２に対して、接続先の端末３０３を配下に持つＶＰＮ装置３０１へのＰ２Ｐの通信経路を構築するための接続要求を行う（ステップＳ２０２）。このとき、ＶＰＮ装置１０１は、発呼側及び被呼側の識別情報を含む接続要求を呼制御サーバ２０２へ送信する。呼制御サーバ２０２は、この接続要求を中継してＶＰＮ接続の接続先となるＶＰＮ装置３０１へ送信する（ステップＳ２０３）。この接続要求により、呼制御サーバ２０２は、ＶＰＮ装置１０１がＶＰＮ装置３０１へＰ２Ｐ経路構築のためのＶＰＮ接続をしたいという要求を接続先に通知する。
【００６８】
また、ＶＰＮ装置１０１は、ＶＰＮ装置３０１へ接続要求を送信すると、呼制御サーバ２０２を介して実データを送信する。そして、この実データをＶＰＮ装置３０１が受信する（ステップＳ２０４及びステップＳ２０５）。
【００６９】
接続先のＶＰＮ装置３０１は、呼制御サーバ２０２からの接続要求を受けると、ＳＴＵＮサーバ２０１との間で外部アドレス・ポート取得手順を行う（ステップＳ２０６）。このとき、ＶＰＮ装置３０１は、上記ＶＰＮ装置１０１と同様、自装置に割り当てられた外部アドレス・ポート情報を取得するため、ＳＴＵＮサーバ２０１に対して、外部アドレス・ポート取得要求としてバインディングリクエストパケットを送出する。一方、ＳＴＵＮサーバ２０１は、外部アドレス・ポート取得要求に対して応答し、ＶＰＮ装置３０１に外部アドレス・ポート情報返信として外部アドレス・ポート情報を含むバインディングレスポンスパケットを返送する。そして、ＶＰＮ装置３０１は、外部アドレス・ポート情報返信により得られた外部アドレス・ポート情報を記憶する。
【００７０】
次に、ＶＰＮ装置３０１は、呼制御サーバ２０２に対して、接続要求に対する接続応答を行う（ステップＳ２０７）。このとき、ＶＰＮ装置３０１は、発呼側及び被呼側の識別情報を含む接続応答を呼制御サーバ２０２へ送信する。呼制御サーバ２０２は、この接続応答を中継してＶＰＮ接続の接続要求元となるＶＰＮ装置１０１へ送信する（ステップＳ２０８）。この接続応答により、呼制御サーバ２０２は、接続要求に対するＶＰＮ装置３０１からＶＰＮ装置１０１への応答を接続要求元に通知する。
【００７１】
また、ＶＰＮ装置３０１は、ＶＰＮ装置１０１へ接続許可を含む接続応答を送信すると、ＶＰＮ装置１０１との間で呼制御サーバ２０２を介して実データの通信（送信、受信のいずれも可能）を行う（ステップＳ２０９及びステップＳ２１０）。ＶＰＮ装置１０１及びＶＰＮ装置３０１が互いにデータ通信を開始した後の処理は、図４のステップＳ１０８〜１１０の処理と同じである。
【００７２】
このような図４及び図５の処理手順によれば、Ｐ２Ｐの通信経路を確立する前に呼制御サーバ２０２を介して実データの通信を行うため、Ｐ２Ｐ通信可能状態か否かを確認するために要する時間に起因するデータ通信の遅延を回避し、データ通信を高速化することができる。特に、図５では接続要求とともに実データを送信することができるため、データ通信をより高速化することが可能である。
【００７３】
次に、図６は図４のシーケンス図に対応するＶＰＮ構築時の処理手順を示すフローチャートである。この図６では、ＶＰＮ装置を含むネットワークにおいて、ＶＰＮ装置１０１の配下の端末１０３からＷＡＮ２００を経由して他のＶＰＮ装置３０１の配下の端末３０３に接続しようとする場合の処理を示している。
【００７４】
まず、図４の処理手順と同様に、ＶＰＮ装置１０１及び３０１は呼制御サーバ２０２にログインしてユーザ認証を受け、呼制御サーバ２０２において端末１０３及び端末３０３の識別情報等の登録、設定が行われる。
【００７５】
ＶＰＮ装置１０１は、呼制御サーバ２０２を介してＶＰＮ装置３０１へ接続要求を送信する（ステップＳ３０１）とともに、ＳＴＵＮサーバ２０２から自装置の外部アドレス・ポート情報を取得する（ステップＳ３０２）。ＶＰＮ装置３０１は、ＶＰＮ装置１０１からの接続要求を受信すると（ステップＳ３０３）、ＳＵＮサーバ２０２から自装置の外部アドレス・ポート情報を取得する（ステップＳ３０４）とともに、呼制御サーバ２０２を介してＶＰＮ装置１０１へ接続応答を送信する（ステップＳ３０５）。
【００７６】
ＶＰＮ装置１０１は、ＶＰＮ装置３０１からの接続応答を受信したか否かを判定し（ステップＳ３０６）、受信していない場合には接続応答を受信するまで待機する。ＶＰＮ装置１０１が接続許可を含む接続応答を受信すると、ＶＰＮ装置１０１及びＶＰＮ装置３０１は、呼制御サーバ２０２を介して互いにデータ通信（実データの通信）を開始する（ステップＳ３０７及びステップＳ３０８）。
【００７７】
上記のデータ通信を開始した後、ＶＰＮ装置１０１は、呼制御サーバ２０２を介して、ＳＴＵＮサーバ２０１から取得したＶＰＮ装置１０１の外部アドレス・ポート情報をＶＰＮ装置３０１へ送信する（ステップ３０９）。そして、ＶＰＮ装置３０１は、このＶＰＮ装置１０１の外部アドレス・ポート情報を発呼側アドレス情報として受信する（ステップＳ３１０）。同様に、ＶＰＮ装置３０１は、呼制御サーバ２０２を介して、ＳＴＵＮサーバ２０１から取得したＶＰＮ装置３０１の外部アドレス・ポート情報をＶＰＮ装置１０１へ送信する（ステップ３１１）。そして、ＶＰＮ装置１０１は、このＶＰＮ装置３０１の外部アドレス・ポート情報を被呼側アドレス情報として受信する（ステップＳ３１２）。
【００７８】
次に、ＶＰＮ装置１０１及びＶＰＮ装置３０１は、互いに受信した相手の外部アドレス・ポート情報を用いて、Ｐ２Ｐ接続が可能であるか否かを確認する（ステップＳ３１３）。ここでは、先に説明したように、Ｐ２Ｐ通信可能状態であるか否かを確認する。
【００７９】
Ｐ２Ｐ通信可能状態である場合には、ＶＰＮ装置１０１及びＶＰＮ装置３０１は、Ｐ２Ｐ通信を開始する。具体的には、ＶＰＮ装置１０１は、ＶＰＮ装置３０１の外部アドレス・ポート情報に基づいてＶＰＮ装置３０１へデータ送信（実データの送信）をＰ２Ｐ通信で行う（ステップＳ３１４）。そして、ＶＰＮ装置３０１は、ＶＰＮ装置１０１からのデータを受信する（ステップＳ３１５）。同様に、ＶＰＮ装置３０１は、ＶＰＮ装置１０１の外部アドレス・ポート情報に基づいてＶＰＮ装置１０１へデータ送信（実データの送信）をＰ２Ｐ通信で行う（ステップＳ３１６）。そして、ＶＰＮ装置１０１は、ＶＰＮ装置３０１からのデータを受信する（ステップＳ３１７）。
【００８０】
次に、図７は図５のシーケンス図に対応するＶＰＮ構築時の別の処理手順を示すフローチャートである。この図７では、ＶＰＮ装置を含むネットワークにおいて、ＶＰＮ装置１０１の配下の端末１０３からＷＡＮ２００を経由して他のＶＰＮ装置３０１の配下の端末３０３に接続しようとする場合の処理を示している。
【００８１】
まず、図５の処理手順と同様に、ＶＰＮ装置１０１及び３０１は呼制御サーバ２０２にログインしてユーザ認証を受け、呼制御サーバ２０２において端末１０３及び端末３０３の識別情報等の登録、設定が行われる。
【００８２】
ＶＰＮ装置１０１は、ＳＴＵＮサーバ２０２から自装置の外部アドレス・ポート情報を取得する（ステップＳ４０１）。続いて、ＶＰＮ装置１０１は、呼制御サーバ２０２を介してＶＰＮ装置３０１へ接続要求を送信する（ステップＳ４０２）。また、ＶＰＮ装置１０１は、接続要求を送信するとともに、呼制御サーバ２０２を介してＶＰＮ装置３０１へのデータ送信（実データの送信）を開始する（ステップＳ４０３）。
【００８３】
ＶＰＮ装置３０１は、ＶＰＮ装置１０１からの接続要求を受信すると（ステップＳ４０４）、呼制御サーバ２０２を介してＶＰＮ装置１０１からのデータ受信（実データの受信）を開始する（ステップＳ４０５）。続いて、ＶＰＮ装置３０１は、ＳＴＵＮサーバ２０２から自装置の外部アドレス・ポート情報を取得する（ステップＳ４０６）。
【００８４】
続いて、ＶＰＮ装置３０１は、呼制御サーバ２０２を介してＶＰＮ装置１０１へ接続応答を送信する（ステップＳ４０７）。ＶＰＮ装置３０１は、接続許可を含む接続応答を送信すると、呼制御サーバ２０２を介して、ＶＰＮ装置１０１との間でデータ通信（実データの通信）を開始する（ステップＳ４０８）。
【００８５】
ＶＰＮ装置１０１は、ＶＰＮ装置３０１からの接続応答を受信したか否かを判定し（ステップＳ４０９）、受信していない場合には接続応答を受信するまで待機する。ＶＰＮ装置１０１は、接続許可を含む接続応答を受信すると、呼制御サーバ２０２を介して、ＶＰＮ装置３０１との間でデータ通信（実データの通信）を開始する（ステップＳ４１０）。
【００８６】
ＶＰＮ装置１０１及びＶＰＮ装置３０１が互いにデータ通信を開始した後の処理は、図６のステップＳ３０９〜３１７の処理と同じである。
【００８７】
このような本実施形態のＶＰＮ装置１０１、３０１によれば、所定時間を要するＰ２Ｐ通信可能状態であるか否かの確認前に実データの少なくとも一部を送信開始することができるため、複数のＶＰＮ装置間でＰ２Ｐ通信を行うときの通信遅延の発生を回避することができ、データ通信を高速化することができる。
【００８８】
（変形例）
先の説明ではＶＰＮ機能を有するＶＰＮ装置が独立した装置として配置され、その配下に端末が配置されることを示したが、ＶＰＮ装置（ここでは、ＶＰＮ機能を有する端末）のみが配置されるようにしてもよい。ここでは、図１に示したＶＰＮシステム及び図３に示したＶＰＮ装置と異なる点についてのみ説明する。
【００８９】
図８は本発明の実施形態に係るＶＰＮシステムの変形構成例を示す図である。図１に示したＶＰＮシステムの構成と異なる点は、ＶＰＮ装置１０１及びその配下の端末１０３の代わりに、ＶＰＮ装置１０４を備え、同様に、ＶＰＮ装置３０１及びその配下の端末３０３の代わりに、ＶＰＮ装置３０４を備える点である。
【００９０】
図９は本実施形態のＶＰＮ装置１０４の機能的な構成例（変形構成例）を示すブロック図である。ここでは、図３に示したＶＰＮ装置１０１と異なる点についてのみ説明する。
【００９１】
ＶＰＮ装置１０４は、機能構成として、配下端末と接続するネットワークインタフェース１１４、配下端末管理部１３１、データ中継部１３３を備えておらず、代わりに、ＶｏＩＰ（Voice Over Internet Protocol）アプリケーション機能部１３６、音声データ制御部１３７、データ入出力部１３８を備える。これらの各機能は、ハードウェアの動作、またはマイクロコンピュータ１１１が所定のプログラムを実行することにより実現する。
【００９２】
ＶｏＩＰアプリケーション機能部１３６は、ＶｏＩＰアプリケーション機能を実現させる各種プログラムの実行を行う。音声データ制御部１３７は、上記各種プログラムの実行により、他の端末との間で送受信されたりデータ入出力部１３８により入出力されたりする音声データ等の制御を行う。データ入出力部１３８は、マイク、スピーカ、操作パネル等が有する機能であり、音声データ等の各種データの入出力を行う。
【００９３】
なお、ここでは、ＶＰＮ装置１０４がＶｏＩＰによる音声通話機能を有する場合を想定したが、先に示した他のＶＰＮ通信の用途を想定した端末としてもよい。
【００９４】
また、ＶＰＮ構築時の処理手順については、基本的に図４〜７に示した処理手順と同様であるが、ＶＰＮ装置１０４は、ＶｏＩＰアプリケーション機能部１３６によるアプリケーション起動により自ら接続要求を行う。
【００９５】
このような本実施形態のＶＰＮ装置１０４、３０４によれば、ＶＰＮ装置を独立して設けることなく、複数のＶＰＮ装置（ここでは、ＶＰＮ機能を有する端末）間でＰ２Ｐ通信を行うときの通信遅延の発生を回避することができ、データ通信を高速化することができる。
【産業上の利用可能性】
【００９６】
本発明は、複数のＶＰＮ装置間で直接通信を行うときの通信遅延の発生を回避することができるＶＰＮ装置、ＶＰＮネットワーキング方法、プログラム、記憶媒体等に有用である。
【符号の説明】
【００９７】
１００、３００  ＬＡＮ
１０１、３０１  ＶＰＮ装置
１０２、３０２  ルータ
１０３、３０３  端末
１０４、３０４  ＶＰＮ装置（端末）
１１１  マイクロコンピュータ（ＣＰＵ）
１１２  不揮発性メモリ
１１３  メモリ
１１４、１１５  ネットワークインタフェース
１１６  ＬＡＮ側ネットワーク制御部
１１７  ＷＡＮ側ネットワーク制御部
１１８  通信中継部
１１９  表示制御部
１２０  表示部
１３０  システム制御部
１３１  配下端末管理部
１３２  メモリ部
１３３  データ中継部
１３４  設定用インタフェース部
１３５  外部アドレス・ポート情報記憶部
１３６  ＶｏＩＰアプリケーション機能部
１３７  音声データ制御部
１３８  データ入出力部
１４０  通信制御部
１４１  外部アドレス・ポート取得部
１４２  ＶＰＮ機能部
１４３  呼制御機能部
１４５  暗号処理部
２００  ＷＡＮ
２０１  ＳＴＵＮサーバ
２０２  呼制御サーバ
【図１】
2010283761.tif 000003
【図２】
2010283761.tif 000004
【図３】
2010283761.tif 000005
【図４】
2010283761.tif 000006
【図５】
2010283761.tif 000007
【図６】
2010283761.tif 000008
【図７】
2010283761.tif 000009
【図８】
2010283761.tif 000010
【図９】
2010283761.tif 000011