(57)【要約】【課題】通信中においてＰ２Ｐ通信が可能な場合にはＰ２Ｐ通信に移行できるようにし、通信効率の改善等を図る。【解決手段】通信制御部１４０は、Ｐ２Ｐ通信を行っているかを判定し、中継サーバを用いたサーバ経由通信等のＰ２Ｐ通信以外の通信を行っているときに、外部アドレス・ポート取得部１４１によりＰ２Ｐ通信用のポート情報を取得し、ＮＡＴ種別判定部１４６によって、Ｐ２Ｐ通信用のポートでＮＡＴ種別判定処理を行う。このＮＡＴ種別判定処理は所定期間毎に行う。当該ポートでＰ２Ｐ通信が可能なＮＡＴ種別である場合は、通信制御部１４０は、Ｐ２Ｐ通信への移行処理を行い、Ｐ２Ｐ通信に切り替える。【選択図】図３
2011188358.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰネットワークにおいて、複数ネットワーク間のアドレス変換を行うためのＮＡＴ機能を持つ中継装置を介して、他のＶＰＮ装置との間で仮想プライベートネットワークを構築して通信を行うＶＰＮ装置であって、
前記中継装置のＮＡＴ機能の動作方式に応じたＮＡＴ種別を判定するものであって、前記相手装置との間で前記ＩＰネットワークに設けられた中継サーバ経由の通信であるサーバ経由通信を行っているときに、前記ＮＡＴ種別の判定処理を行うＮＡＴ種別判定部と、
前記ＮＡＴ種別の判定処理結果に基づき、前記ＮＡＴ種別が前記相手装置との間でＰ２Ｐ通信ができる可能性が高いＮＡＴ種別である場合に、前記Ｐ２Ｐ通信への移行処理を行う通信制御部と、
を備えるＶＰＮ装置。
【請求項２】
請求項１に記載のＶＰＮ装置であって、
前記中継装置の外部側から自装置にアクセスする際に用いるアドレス情報である、外部アドレス・ポート情報を取得するもので、前記Ｐ２Ｐ通信に用いるＰ２Ｐ通信用のポート情報を取得する外部アドレス・ポート取得部を備え、
前記ＮＡＴ種別判定部は、前記Ｐ２Ｐ通信用のポートに関して前記ＮＡＴ種別の判定処理を行い、
前記通信制御部は、前記Ｐ２Ｐ通信用のポートに関するＮＡＴ種別が前記中継装置を介した相手装置とＰ２Ｐ通信ができる可能性が高いＮＡＴ種別である場合に、Ｐ２Ｐ通信への移行処理を行うＶＰＮ装置。
【請求項３】
請求項１に記載のＶＰＮ装置であって、
前記ＮＡＴ種別判定部は、所定期間毎に前記ＮＡＴ種別の判定処理を行い、
前記通信制御部は、前記ＮＡＴ種別の判定処理結果により、ＮＡＴ種別が前記相手装置とＰ２Ｐ通信ができる可能性が高いＮＡＴ種別となった場合に、前記Ｐ２Ｐ通信への移行処理を行うＶＰＮ装置。
【請求項４】
請求項１に記載のＶＰＮ装置であって、
前記ＮＡＴ種別判定部は、所定期間毎に前記ＮＡＴ種別の判定処理を行い、
前記通信制御部は、前記ＮＡＴ種別の判定処理結果により、ＮＡＴ種別が変化したか否かを判定し、前記ＮＡＴ種別に変化があった場合に前記相手装置とのＰ２Ｐ通信が可能か否かを判定し、前記相手装置とＰ２Ｐ通信ができる可能性が高いＮＡＴ種別となった場合に、前記Ｐ２Ｐ通信への移行処理を行うＶＰＮ装置。
【請求項５】
請求項２に記載のＶＰＮ装置であって、
前記通信制御部は、前記サーバ経由通信用の第１の通信ポートを用いて前記サーバ経由通信を行い、前記Ｐ２Ｐ通信用の第２の通信ポートを用いて前記Ｐ２Ｐ通信を行うように通信経路を制御するものであり、前記Ｐ２Ｐ通信への移行処理において、前記第１の通信ポートによる通信経路を維持したまま前記第２の通信ポートによる通信経路を確立してＰ２Ｐ通信を開始し、その後前記第１の通信ポートを用いたサーバ経由通信を切断するＶＰＮ装置。
【請求項６】
ＩＰネットワークにおいて、複数ネットワーク間のアドレス変換を行うためのＮＡＴ機能を持つ中継装置を介して、相手装置との間で通信を行うＩＰ通信装置であって、
前記中継装置のＮＡＴ機能の動作方式に応じたＮＡＴ種別を判定するものであって、前記相手装置との間で前記ＩＰネットワークに設けられた中継サーバ経由の通信であるサーバ経由通信を行っているときに、前記ＮＡＴ種別の判定処理を行うＮＡＴ種別判定部と、
前記ＮＡＴ種別の判定処理結果に基づき、前記ＮＡＴ種別が前記相手装置との間でＰ２Ｐ通信ができる可能性が高いＮＡＴ種別である場合に、前記Ｐ２Ｐ通信への移行処理を行う通信制御部と、
を備えるＩＰ通信装置。
【請求項７】
ＩＰネットワークにおいて、複数ネットワーク間のアドレス変換を行うためのＮＡＴ機能を持つ中継装置を介して、他のＶＰＮ装置との間で仮想プライベートネットワークを構築して通信を行うＶＰＮ装置における通信方法であって、
前記中継装置のＮＡＴ機能の動作方式に応じたＮＡＴ種別を判定する処理として、前記相手装置との間で前記ＩＰネットワークに設けられた中継サーバ経由の通信であるサーバ経由通信を行っているときに、前記ＮＡＴ種別の判定処理を行うステップと、
当該ＩＰ通信装置の通信を制御する処理として、前記ＮＡＴ種別の判定処理結果に基づき、前記ＮＡＴ種別が前記相手装置との間でＰ２Ｐ通信ができる可能性が高いＮＡＴ種別である場合に、前記Ｐ２Ｐ通信への移行処理を行うステップと、
を有する通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のネットワーク間で経路を構築して互いに通信するＶＰＮ（Virtual Private Network）装置及びＩＰ（Internet Protocol）通信装置に関する。
【背景技術】
【０００２】
仮想プライベートネットワーク（ＶＰＮ：Virtual Private Network、以下、ＶＰＮと記載する）を構築するＶＰＮ装置、あるいはＩＰ電話による通話を行うＩＰ電話装置等のＩＰ通信装置は、ＩＰネットワークにおいて通信相手との間で環境に応じて通信経路を構築して通信を行う。ここではＶＰＮ装置を使用する場合を想定して説明する。ＶＰＮでは、例えば、企業内等の２以上の拠点のローカルエリアネットワーク（ＬＡＮ）相互間などのように、一般に、異なるネットワークセグメントを、広域ネットワーク（ＷＡＮ）などを介して互いに接続する。そして、ネットワーク間の通信の秘匿性を担保することで、仮想的に全体が１つのプライベートネットワークであるように構成する。これにより、専用線を利用する場合と同様の通信サービスを可能にする。
【０００３】
ＶＰＮを構築する場合は、ネットワークの中継装置または通信を行う端末等（以降、これらを「ピア」とも称する）に設けたＶＰＮ装置によって、パケットを暗号化及びカプセル化して仮想トンネルを構築する。これにより、ピア間を結ぶ閉じられた仮想的な直接通信（以下、Ｐ２Ｐ（Peer to Peer（ピアツーピア））通信ともいう）回線をインターネット等を介したネットワーク上に確立する。また、上記ネットワーク上の仮想的な直接通信回線を介したＰ２Ｐ通信以外の方法によって、複数の通信装置間で通信を行うときの通信経路を設定することも考えられる。例えばネットワーク上にデータ通信を中継する中継サーバを設け、中継サーバを介して通信を行うことも考えられる。
【０００４】
通信装置が複数のネットワーク間で通信経路を構築して互いに通信するには、ネットワーク相互間において透過的にアドレスを割り当てることができ、通信パケット中のアドレスを書き換える処理が必要となる。そこで、ネットワークアドレス変換（ＮＡＴ：Network Address Translation [RFC2663]）機能が提案された。そして、一般に、ＬＡＮに接続された通信装置は、ＩＰネットワークではプライベートＩＰアドレス（またはローカルアドレス）が割り当てられ、ＬＡＮ外部のネットワークとの間はルータ（あるいはサーバ）のＮＡＴ機能を用いてアドレス変換を行う構成が普及している。
【０００５】
ＮＡＴ機能が普及するにつれて、ＮＡＴを越えた先に存在するであろう相手との間で通信を行うために、ＳＴＵＮ（Simple Traversal of User Datagram Protocol (UDP) through Network Address Translators (NATs) [RFC3489]）技術が提案された（例えば、特許文献１参照）。ＳＴＵＮ技術は、グローバルなネットワーク上にＳＴＵＮサーバを設けて、通信装置側からＮＡＴ機能を有するルータ（以下、ＮＡＴルータと記載する）を介してサーバにテストメッセージを送信し、応答が得られたかどうか、及び得られた応答の内容から、ＮＡＴを越えて通信するために必要な情報（例えば、グローバルＩＰアドレス、ポート番号、及びＮＡＴの種別）を取得しようとするものである（例えば、特許文献１、図９参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２５３８２４号（特許第４０８４３６５号）公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＮＡＴ機能を用いた複数ネットワーク間で通信を行う場合、そのネットワーク上に介在するＮＡＴルータの動作特性（ＮＡＴ種別ともいう）により、Ｐ２Ｐ通信ができるケースと、中継サーバなどを経由しなければ通信ができないケースとに大別される。そこで、従来のＩＰ通信装置では、通信開始時に上記のＳＴＵＮ技術等を用いたＮＡＴ種別判定処理を行い、ＮＡＴ種別に応じてＰ２Ｐあるいは中継サーバ経由の通信経路を確立して通信を行っている。
【０００８】
しかしながら、現在ＮＡＴルータの中には動作特性が一意に確定せず、条件によって動作特性が変化するＮＡＴルータが存在する。例えば、Ｐｏｒｔ Ｒｅｕｓｅ ＮＡＴの一部などである。このため、通話開始時には中継サーバ経由での通信しか行えない場合であっても、その通信の最中にＰ２Ｐ通信が可能な条件になる場合が想定される。一般に、中継サーバの効率的な利用（中継サーバへの負荷軽減、及びリソースの有効活用）等の観点から、Ｐ２Ｐ通信が可能な場合はできるだけＰ２Ｐ通信を行うことが望ましい。
【０００９】
本発明は、上記事情に鑑みてなされたもので、その目的は、通信中においてＰ２Ｐ通信が可能な場合にはＰ２Ｐ通信に移行することが可能なＶＰＮ装置及びＩＰ通信装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、ＩＰネットワークにおいて、複数ネットワーク間のアドレス変換を行うためのＮＡＴ機能を持つ中継装置を介して、他のＶＰＮ装置との間で仮想プライベートネットワークを構築して通信を行うＶＰＮ装置であって、前記中継装置のＮＡＴ機能の動作方式に応じたＮＡＴ種別を判定するものであって、前記相手装置との間で前記ＩＰネットワークに設けられた中継サーバ経由の通信であるサーバ経由通信を行っているときに、前記ＮＡＴ種別の判定処理を行うＮＡＴ種別判定部と、前記ＮＡＴ種別の判定処理結果に基づき、前記ＮＡＴ種別が前記相手装置との間でＰ２Ｐ通信ができる可能性が高いＮＡＴ種別である場合に、前記Ｐ２Ｐ通信への移行処理を行う通信制御部と、を備えるＶＰＮ装置を提供する。
上記構成により、通信中においてＰ２Ｐ通信が可能な場合にはＰ２Ｐ通信に移行することが可能となり、中継サーバにかかる通信負荷の軽減、通信効率の向上等を図ることが可能である。
【００１１】
また、本発明は、上記のＶＰＮ装置であって、前記中継装置の外部側から自装置にアクセスする際に用いるアドレス情報である、外部アドレス・ポート情報を取得するもので、前記Ｐ２Ｐ通信に用いるＰ２Ｐ通信用のポート情報を取得する外部アドレス・ポート取得部を備え、前記ＮＡＴ種別判定部は、前記Ｐ２Ｐ通信用のポートに関して前記ＮＡＴ種別の判定処理を行い、前記通信制御部は、前記Ｐ２Ｐ通信用のポートに関するＮＡＴ種別が前記中継装置を介した相手装置とＰ２Ｐ通信ができる可能性が高いＮＡＴ種別である場合に、Ｐ２Ｐ通信への移行処理を行うものを含む。
上記構成により、Ｐ２Ｐ通信用のポートに関してＮＡＴ種別を判定し、ＮＡＴ種別が中継装置を介した相手装置とＰ２Ｐ通信ができる可能性が高いＮＡＴ種別である場合に、Ｐ２Ｐ通信へ移行することが可能である。このとき、Ｐ２Ｐ通信用のポートに関してＮＡＴ種別判定を行うことで、現在の通信に影響することなく判定処理を行うことが可能である。
【００１２】
また、本発明は、上記のＶＰＮ装置であって、前記ＮＡＴ種別判定部は、所定期間毎に前記ＮＡＴ種別の判定処理を行い、前記通信制御部は、前記ＮＡＴ種別の判定処理結果により、ＮＡＴ種別が前記相手装置とＰ２Ｐ通信ができる可能性が高いＮＡＴ種別となった場合に、前記Ｐ２Ｐ通信への移行処理を行うものを含む。
上記構成により、所定期間毎にＮＡＴ種別の判定処理を行い、ＮＡＴ種別が相手装置とＰ２Ｐ通信ができる可能性が高いＮＡＴ種別となった場合に、Ｐ２Ｐ通信へ移行することが可能となる。このとき、所定期間毎にＮＡＴ種別判定を行ってＰ２Ｐ通信が可能になった場合にはＰ２Ｐ通信に移行することで、中継サーバに対する負荷を軽減することが可能である。
【００１３】
また、本発明は、上記のＶＰＮ装置であって、前記ＮＡＴ種別判定部は、所定期間毎に前記ＮＡＴ種別の判定処理を行い、前記通信制御部は、前記ＮＡＴ種別の判定処理結果により、ＮＡＴ種別が変化したか否かを判定し、前記ＮＡＴ種別に変化があった場合に前記相手装置とのＰ２Ｐ通信が可能か否かを判定し、前記相手装置とＰ２Ｐ通信ができる可能性が高いＮＡＴ種別となった場合に、前記Ｐ２Ｐ通信への移行処理を行うものを含む。
上記構成により、所定期間毎にＮＡＴ種別の判定処理を行い、ＮＡＴ種別の変化があり、相手装置とＰ２Ｐ通信ができる可能性が高いＮＡＴ種別となった場合に、Ｐ２Ｐ通信へ移行することが可能となる。このとき、ＮＡＴ種別が変化した場合のみＰ２Ｐ通信移行処理を行うことで、不要な処理を削減できる。また、通信相手のＮＡＴ種別を認知する必要が無い。また、Ｐ２Ｐ通信を行う可能性の低い変化の場合には、Ｐ２Ｐ通信移行処理を行わずに済む。
【００１４】
また、本発明は、上記のＶＰＮ装置であって、前記通信制御部は、前記サーバ経由通信用の第１の通信ポートを用いて前記サーバ経由通信を行い、前記Ｐ２Ｐ通信用の第２の通信ポートを用いて前記Ｐ２Ｐ通信を行うように通信経路を制御するものであり、前記Ｐ２Ｐ通信への移行処理において、前記第１の通信ポートによる通信経路を維持したまま前記第２の通信ポートによる通信経路を確立してＰ２Ｐ通信を開始し、その後前記第１の通信ポートを用いたサーバ経由通信を切断するものを含む。
上記構成により、現在行っているサーバ経由通信に影響することなくＰ２Ｐ通信用のポートのＮＡＴ種別判定処理を行うことが可能であり、また、Ｐ２Ｐ通信が可能になった場合には通信を切断することなくＰ２Ｐ通信に移行することで、ユーザには通信経路の変化を意識させることなく、また通信の中断あるいは遅延などが生じることなく、現在行っている通信を継続したままＰ２Ｐ通信へ移行可能となる。
【００１５】
また、本発明は、ＩＰネットワークにおいて、複数ネットワーク間のアドレス変換を行うためのＮＡＴ機能を持つ中継装置を介して、相手装置との間で通信を行うＩＰ通信装置であって、前記中継装置のＮＡＴ機能の動作方式に応じたＮＡＴ種別を判定するものであって、前記相手装置との間で前記ＩＰネットワークに設けられた中継サーバ経由の通信であるサーバ経由通信を行っているときに、前記ＮＡＴ種別の判定処理を行うＮＡＴ種別判定部と、前記ＮＡＴ種別の判定処理結果に基づき、前記ＮＡＴ種別が前記相手装置との間でＰ２Ｐ通信ができる可能性が高いＮＡＴ種別である場合に、前記Ｐ２Ｐ通信への移行処理を行う通信制御部と、を備えるＩＰ通信装置を提供する。
【００１６】
また、本発明は、ＩＰネットワークにおいて、複数ネットワーク間のアドレス変換を行うためのＮＡＴ機能を持つ中継装置を介して、他のＶＰＮ装置との間で仮想プライベートネットワークを構築して通信を行うＶＰＮ装置における通信方法であって、前記中継装置のＮＡＴ機能の動作方式に応じたＮＡＴ種別を判定する処理として、前記相手装置との間で前記ＩＰネットワークに設けられた中継サーバ経由の通信であるサーバ経由通信を行っているときに、前記ＮＡＴ種別の判定処理を行うステップと、当該ＩＰ通信装置の通信を制御する処理として、前記ＮＡＴ種別の判定処理結果に基づき、前記ＮＡＴ種別が前記相手装置との間でＰ２Ｐ通信ができる可能性が高いＮＡＴ種別である場合に、前記Ｐ２Ｐ通信への移行処理を行うステップと、を有する通信方法を提供する。
上記構成により、通信中においてＰ２Ｐ通信が可能な場合にはＰ２Ｐ通信に移行することが可能となり、中継サーバにかかる通信負荷の軽減、通信効率の向上等を図ることが可能である。
【発明の効果】
【００１７】
本発明によれば、通信中においてＰ２Ｐ通信が可能な場合にはＰ２Ｐ通信に移行することが可能なＶＰＮ装置及びＩＰ通信装置を提供できる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係るＩＰ通信装置を用いてＶＰＮシステムを構築した場合のネットワークの構成例を示す図
【図２】本実施形態に係るＩＰ通信装置（ＶＰＮ装置）のハードウェア構成の構成例を示すブロック図
【図３】本実施形態に係るＩＰ通信装置（ＶＰＮ装置）の機能的な構成例を示すブロック図
【図４】送信側及び受信側のＮＡＴ種別の組合せに対するＰ２Ｐ通信の可否を示す図
【図５】Ｐｏｒｔ Ｒｅｕｓｅ ＮＡＴの動作を説明する図
【図６】Ｐｏｒｔ Ｒｅｕｓｅ ＮＡＴの動作を説明する図
【図７】中継サーバによるサーバ経由通信とＰ２Ｐ通信とを同時に行っている状態を示す模式図
【図８】本発明の第１の実施形態に係るＩＰ通信装置（ＶＰＮ装置）における通信時の動作アルゴリズムを示すフローチャート
【図９】第１の実施形態に係るＩＰ通信装置（ＶＰＮ装置）を用いたＶＰＮシステムにおける各装置間の通信処理手順を示すシーケンス図
【図１０】第１の実施形態に係るＩＰ通信装置（ＶＰＮ装置）を用いたＶＰＮシステムにおける各装置間の通信処理手順を示すシーケンス図
【図１１】本発明の第２の実施形態に係るＩＰ通信装置（ＶＰＮ装置）における通信時の動作アルゴリズムを示すフローチャート
【図１２】第２の実施形態に係るＩＰ通信装置（ＶＰＮ装置）を用いたＶＰＮシステムにおける各装置間の通信処理手順を示すシーケンス図
【図１３】第２の実施形態に係るＩＰ通信装置（ＶＰＮ装置）を用いたＶＰＮシステムにおける各装置間の通信処理手順を示すシーケンス図
【発明を実施するための形態】
【００１９】
以下に、本発明に係るＶＰＮ装置及びＩＰ通信装置の一例としての実施形態を説明する。ここでは、広域ネットワーク（ＷＡＮ、グローバルネットワーク）を介して２つのローカルエリアネットワークの経路（ＬＡＮ、ローカルネットワーク）を経路接続して仮想プライベートネットワーク（ＶＰＮ）システムを構築する場合の構成例を示す。ＬＡＮとしては、有線ＬＡＮまたは無線ＬＡＮなどが用いられる。ＷＡＮとしては、インターネット等が用いられる。
【００２０】
図１は本発明の実施形態に係るＩＰ通信装置を用いてＶＰＮシステムを構築した場合のネットワークの構成例を示す図である。本実施形態のＶＰＮシステムは、一つの拠点に設けられたＬＡＮ１００と、他の拠点に設けられたＬＡＮ３００とを、インターネット等のＷＡＮ２００を介して通信経路を接続する。そして、ＬＡＮ１００の配下に接続された端末１０３とＬＡＮ３００の配下に接続された端末３０３との間で、ＶＰＮによる秘匿性を担保した通信（「ＶＰＮ通信」とも称する）を可能にしている。具体的なＶＰＮ通信の用途（アプリケーションプログラム等）としては、ＩＰ電話（音声通話）、ネットミーティング（動画＆音声通信）、ネットワークカメラ（ビデオ伝送）などが想定される。
【００２１】
ＬＡＮ１００とＷＡＮ２００との境界には中継装置としてのルータ１０２が配設され、ＷＡＮ２００とＬＡＮ３００との境界には中継装置としてのルータ３０２が配設されている。また、本実施形態では、ＶＰＮの構築を可能にするために、ＬＡＮ１００にはＶＰＮ装置１０１が接続され、ＬＡＮ３００にはＶＰＮ装置３０１が接続されている。そして、ＶＰＮ装置１０１には配下の端末１０３が接続され、ＶＰＮ装置３０１には配下の端末３０３が接続されている。ここで、ＶＰＮ装置１０１、３０１はそれぞれ本発明の「ＩＰ通信装置」に相当する。なお、本実施形態に係るＩＰ通信装置の一例としてのＶＰＮ装置１０１、３０１は、ここでは通信装置または中継装置等において構成される独立した装置の構成例を示しているが、ＬＡＮ内の他の通信機器または端末等においてＶＰＮ機能を有する装置として構成することも可能である。
【００２２】
また、ＷＡＮ２００上には、ＶＰＮ装置１０１とＶＰＮ装置３０１との間のＶＰＮによる接続（以下、「ＶＰＮ接続」と称する）を可能にするために、ＳＴＵＮサーバ２０１と呼制御サーバ２０２とが接続されている。ＳＴＵＮサーバ２０１は、ＳＴＵＮ（Simple Traversal of User Datagram Protocol (UDP) through Network Address Translators (NATs)）プロトコルを実行するために用いられるサーバである。呼制御サーバ２０２は、ＶＰＮ装置または端末等のピア間の発呼、被呼のために用いられるサーバである。
【００２３】
図１において、破線は外部アドレス（グローバルＩＰアドレス）とポートの情報を含む外部アドレス・ポート情報の流れを示している。また、一点鎖線は発呼及び被呼の制御に関する呼制御信号の流れを示している。また、実線はピア間で伝送される通信データに関するピア間通信（Ｐ２Ｐ（ピアツーピア）通信）の流れを示している。さらに、Ｐ２Ｐ通信のためにＶＰＮ接続された通信経路を仮想トンネルとして、図中に表す。
【００２４】
各機器がＷＡＮ２００を介して通信する場合、ＷＡＮ２００上では、伝送するパケットの発呼側または被呼側を特定するためのアドレス情報として、ＷＡＮにおいて特定可能なグローバルなアドレス情報が用いられる。一般にはＩＰネットワークが用いられるため、グローバルＩＰアドレス及びポート番号が用いられる。しかし、各ＬＡＮ１００、３００内の通信においては、発呼側または被呼側を特定するためのアドレス情報として、ＬＡＮ内のみで特定可能なローカルなアドレス情報が用いられる。一般にはＩＰネットワークが用いられるため、ローカルＩＰアドレス及びポート番号が用いられる。したがって、各ＬＡＮ１００、３００とＷＡＮ２００との間の通信を可能にするために、アドレス変換機能の例として、ローカルなアドレス情報とグローバルなアドレス情報との相互変換を行うＮＡＴ（Network Address Translation）機能が、複数ネットワーク間を接続する中継装置としての各ルータ１０２、３０２に搭載されている。すなわち、アドレス変換機能とは、ＩＰネットワーク層のＩＰアドレスと、トランスポート層のポートとを含めた、いわゆるＮＡＰＴ（Network Address Port Translation）に相当する相互変換を行う。以下本発明の説明において、ＮＡＴ機能とは狭義のＮＡＰＴ機能を含めた広義のＮＡＴ機能を指すものとする。
【００２５】
ただし、ＬＡＮ１００、３００の配下の各端末１０３、３０３においては、外部からアクセス可能なグローバルなアドレス情報を自身で持っていない。また、特別な設定を行わない限り、ＬＡＮ１００配下の端末１０３が他のＬＡＮ３００配下の端末３０３と直接通信することはできない。また、各ルータ１０２、３０２のＮＡＴ機能のため、普通の状態ではＷＡＮ２００側から各ＬＡＮ１００、３００内の各端末にアクセスすることもできない。すなわち「外部アドレス・ポート情報」とは、ＷＡＮ２００へ接続するために必要なアドレス・ポート情報であって、ＬＡＮ１００、３００内で特定されるローカルなアドレス・ポート情報で機能しているＶＰＮ装置１０１、３０１からみて、グローバルネットワークＷＡＮ２００は外部にあたることから「外部アドレス・ポート情報」と略称する。なお、「アドレス・ポート」は、アドレスのみ、アドレス及びポート、のいずれかを意味するものとする。
【００２６】
このような状況であっても、本実施形態では、各拠点のＬＡＮにＶＰＮ装置１０１、３０１を設けることにより、図１において実線で示すＰ２Ｐ通信の経路のように、ＬＡＮ間をＶＰＮ接続して端末１０３と端末３０３との間で仮想的な閉じられた通信経路を通じて直接通信することが可能になる。本実施形態に係るＩＰ通信装置としてのＶＰＮ装置の構成、機能、及び動作については、以下に順を追って説明する。
【００２７】
ＳＴＵＮサーバ２０１は、ＳＴＵＮプロトコルの実行に関するサービスを行うもので、ＮＡＴを透過する通信（いわゆるＮＡＴ越えの通信）を行うために必要な情報を提供するアドレス情報サーバである。ＳＴＵＮは、音声、映像、文章などの双方向リアルタイムＩＰ通信を行うアプリケーションにおいて、ＮＡＴ透過の方法の１つとして使われる標準化されたクライアントサーバ型のインターネットプロトコルである。ＳＴＵＮサーバ２０１は、アクセス元からの要求に応じて、外部からアクセス可能な当該アクセス元に割り当てられているグローバルなアドレス情報として、外部ネットワークから見える外部アドレスとポートの情報を含む外部アドレス・ポート情報を返信する。外部アドレス・ポート情報としては、ＩＰネットワークにおいてはＩＰネットワーク層のグローバルＩＰアドレス及びトランスポート層のポート番号が用いられる。
【００２８】
各ＶＰＮ装置１０１、３０１は、ＳＴＵＮサーバ２０１との間で所定のテスト手順の通信を実行し、ＳＴＵＮサーバ２０１から自装置の通信のために割り当てられたグローバルＩＰアドレス及びポート番号が含まれる応答パケットを受信する。これにより、各ＶＰＮ装置１０１、３０１は自装置のグローバルＩＰアドレス及びポート番号を取得することができる。また、自装置の位置するＬＡＮとＷＡＮとの間にルータが複数存在する場合等であっても、また、これらのルータ等がＵＰｎＰ（Universal Plug and Play）の機能を有していない場合であっても、確実にＷＡＮ２００側と通信するために割り当てられたグローバルＩＰアドレス及びポート番号を取得できるという効果もある。
【００２９】
呼制御サーバ２０２は、特定の相手先を呼び出して通信経路を確立するための通信装置間の呼制御に関するサービスを行う呼管理サーバである。呼制御サーバ２０２は、登録された各ユーザのＶＰＮ装置または端末の識別情報を保持しており、例えばＩＰ電話の機能を有する通信システムの場合には、接続相手の電話番号に基づいて特定の相手先を呼び出すことができる。
【００３０】
また、ＷＡＮ２００上には、ＶＰＮ装置１０１とＶＰＮ装置３０１との間の通信を中継する中継サーバ２０３が接続されている。中継サーバ２０３は、Ｐ２Ｐ通信開始前またはＰ２Ｐ通信が不可の場合など、サーバ経由のＶＰＮ通信を行う際に、信号またはデータを中継する機能を有している。この中継サーバ２０３は、発呼側の装置から送出されたパケットを被呼側の装置に転送したり、被呼側の装置から送出されたパケットを発呼側の装置に転送したりする。この場合、ＶＰＮ装置１０１、ＶＰＮ装置３０１と中継サーバ２０３の間ではＶＰＮ接続された通信経路が確立され、前記Ｐ２Ｐ通信で確立したＶＰＮ接続同等の機能が実現されている。また、呼制御サーバ２０２においてもＶＰＮ接続開始時のＶＰＮ装置間の通信を中継する機能を有している。
【００３１】
なお、ＳＴＵＮサーバ２０１、呼制御サーバ２０２、及び中継サーバ２０３は、ここでは別個のサーバによる構成例を示しているが、１つのサーバにこれらのアドレス情報サーバ、呼管理サーバ、中継サーバの各サーバの機能を搭載して構成してもよいし、ＷＡＮ上の他のいずれかのサーバに同様の機能を搭載して構成することも可能である。
【００３２】
次に、本実施形態に係るＩＰ通信装置としてのＶＰＮ装置の構成及び機能について説明する。なお、ＶＰＮ装置１０１とＶＰＮ装置３０１の構成及び機能は同様であり、ここではＶＰＮ装置１０１によって説明する。図２は本実施形態に係るＩＰ通信装置（ＶＰＮ装置）のハードウェア構成の構成例を示すブロック図である。
【００３３】
ＶＰＮ装置１０１は、マイクロコンピュータ等による中央演算処理装置（ＣＰＵ）１１１、フラッシュＲＡＭ等による不揮発性メモリ１１２、ＳＤ ＲＡＭ等によるメモリ１１３、ネットワークインタフェース１１４、ネットワークインタフェース１１５、ＬＡＮ側ネットワーク制御部１１６、ＷＡＮ側ネットワーク制御部１１７、通信中継部１１８、表示制御部１１９、表示部１２０を有して構成される。
【００３４】
ＣＰＵ１１１は、所定のプログラムを実行することによりＶＰＮ装置１０１全体の制御を実施する。不揮発性メモリ１１２は、ＣＰＵ１１１が実行するプログラムを保持している。このプログラムの中には、ＶＰＮ装置１０１が他の通信装置との間のルータにおけるＮＡＴ種別を判定して通信可能性を判断するためのＮＡＴ種別判定プログラムも含まれている。
【００３５】
なお、ＣＰＵ１１１が実行するプログラムについては、任意の通信経路を経由してオンラインで外部のサーバから取得することもできるし、例えばメモリカード、ＣＤ−ＲＯＭのような記録媒体から読み込んで取得することもできる。換言すれば、汎用のコンピュータにＶＰＮ装置の機能を実現するプログラムを記録媒体から読み込むことによってＶＰＮ装置、およびＶＰＮネットワーキング方法を実現することができる。
【００３６】
なお、ＣＰＵ１１１がプログラムを実行する時には、不揮発性メモリ１１２上のプログラムの一部がメモリ１１３上に展開され、メモリ１１３上のプログラムが実行される場合もある。
【００３７】
メモリ１１３は、ＶＰＮ装置１０１の運用中のデータ管理、各種設定情報などを一時的に記憶するためのものである。設定情報としては、自装置の外部アドレス・ポート取得要求に対する応答に含まれる外部アドレス・ポート情報等、通信に必要な宛先アドレス情報などが含まれる。
【００３８】
ネットワークインタフェース１１４は、ＶＰＮ装置１０１と自装置が管理する配下の端末１０３とを通信可能な状態で接続するためのインタフェースである。ネットワークインタフェース１１５は、ＶＰＮ装置１０１とＬＡＮ１００とを通信可能な状態で接続するためのインタフェースである。ＬＡＮ側ネットワーク制御部１１６は、ＬＡＮ側のネットワークインタフェース１１４に関する通信制御を行うものである。ＷＡＮ側ネットワーク制御部１１７は、ＷＡＮ側のネットワークインタフェース１１５に関する通信制御を行うものである。
【００３９】
通信中継部１１８は、ＬＡＮ側に接続された配下の端末１０３から外部の被呼側（ＶＰＮ装置３０１配下の端末３０３）へ送出するパケットデータと、反対に、外部の被呼側（ＶＰＮ装置３０１配下の端末３０３）から配下の端末１０３宛に到着したパケットデータをそれぞれ中継する。
【００４０】
表示部１２０は、ＶＰＮ装置１０１としての動作状態の表示等を行う表示器により構成され、各種状態をユーザあるいは管理者に通知する。表示部１２０は、複数の発光ダイオード（ＬＥＤ）または液晶表示器（ＬＣＤ）等により構成される。表示制御部１１９は、表示部１２０の表示制御を行うもので、ＣＰＵ１１１からの表示信号に従って表示部１２０に表示する内容等を制御する。
【００４１】
図３は本実施形態に係るＩＰ通信装置（ＶＰＮ装置）の機能的な構成例を示すブロック図である。
【００４２】
ＶＰＮ装置１０１は、機能構成として、システム制御部１３０、配下端末管理部１３１、メモリ部１３２、データ中継部１３３、設定用インタフェース部１３４、通信制御部１４０を有して構成される。メモリ部１３２は、外部アドレス・ポート情報記憶部１３５を有する。通信制御部１４０は、外部アドレス・ポート取得部１４１、ＶＰＮ機能部１４２、呼制御機能部１４３、ＮＡＴ種別判定部１４６を有する。ＶＰＮ機能部１４２は、暗号処理部１４５を有する。これらの各機能は、図２に示した各ブロックのハードウェアの動作、またはＣＰＵ１１１が所定のプログラムを実行することにより実現する。
【００４３】
なお、ＶＰＮ装置１０１のＬＡＮ側のネットワークインタフェース１１４は、配下の端末１０３と接続され、ＷＡＮ側のネットワークインタフェース１１５は、ＬＡＮ１００及びルータ１０２を経由してＷＡＮ２００と接続される。
【００４４】
システム制御部１３０は、ＶＰＮ装置１０１の全体の制御を行う。配下端末管理部１３１は、ＶＰＮ装置１０１配下の端末１０３の管理を行う。メモリ部１３２は、外部アドレス・ポート情報記憶部１３５において、外部アドレス（ＷＡＮ２００上でのグローバルＩＰアドレス）とポート（ＩＰネットワークのポート番号）の情報を含む外部アドレス・ポート情報を記憶する。外部アドレス・ポート情報としては、発呼側である配下の端末１０３に割り当てられたグローバルＩＰアドレス及びポート番号の情報、被呼側の端末３０３に割り当てられたグローバルＩＰアドレス及びポート番号の情報などを記憶する。また、外部アドレス・ポート情報記憶部１３５には、自装置と外部ネットワークとの間のＮＡＴ種別情報を記憶する場合もある。
【００４５】
データ中継部１３３は、発呼側の端末１０３から被呼側の端末３０３に向かって転送されるパケット、あるいは、逆に被呼側の端末３０３から発呼側の端末１０３に向かって転送されるパケットをそれぞれ中継（送信／受信）する。設定用インタフェース部１３４は、ユーザあるいは管理者がＶＰＮ装置１０１に対する設定操作等の各種操作を行うためのユーザインタフェースである。このユーザインタフェースの具体例として、端末上で動作するブラウザによって表示するＷｅｂページなどが用いられる。
【００４６】
通信制御部１４０の外部アドレス・ポート取得部１４１は、ＶＰＮ装置１０１の配下の端末１０３に割り当てられた外部アドレス・ポート情報をＳＴＵＮサーバ２０１から取得する。また、被呼側の端末３０３の外部アドレス・ポート情報を含むパケットを呼制御サーバ２０２を経由して受信し、被呼側の端末３０３に割り当てられた外部アドレス・ポート情報を取得する。外部アドレス・ポート取得部１４１が取得した情報は、メモリ部１３２の外部アドレス・ポート情報記憶部１３５に保持される。
【００４７】
通信制御部１４０のＶＰＮ機能部１４２は、暗号処理部１４５において、ＶＰＮ通信のために必要な暗号処理を行う。すなわち、暗号処理部１４５は、送信するパケットをカプセリングして暗号化したり、受信したパケットをアンカプセリングして復号化して元のパケットを抽出したりする。なお、ＶＰＮ通信は、図１に示したようなＶＰＮ装置間を直接接続するＰ２Ｐ通信ではなく、ＷＡＮ２００上に設けられる中継サーバ２０３でパケットの中継を行い、クライアント／サーバ方式でＶＰＮ通信を行うことも可能である。この場合には、サーバ側で暗号／復号化処理を行うようにしてもよい。また、カプセリングされたパケット中には、自装置配下の端末１０３を特定するための情報や、相手装置配下の端末３０３を特定するための情報が含まれる。この特定情報に基づいて、ＶＰＮ装置及びＶＰＮ装置配下の端末間でデータ中継部１３３により通信データが中継される。
【００４８】
通信制御部１４０の呼制御機能部１４３は、目的の被呼側に接続するための接続要求を呼制御サーバ２０２に送信したり、被呼側からの接続応答を呼制御サーバ２０２を経由して受信するための処理を実施したりする。
【００４９】
通信制御部１４０のＮＡＴ種別判定部１４６は、接続されるルータのＮＡＴ機能の動作方式に応じたＮＡＴ種別を判定する機能を有している。例えば、ＮＡＴ種別判定部１４６は、自装置の配下の端末１０３及び被呼側の端末３０３に割り当てられたＰ２Ｐ通信用のポートに関して、外部アドレス・ポート情報をＳＴＵＮサーバ２０１から取得し、当該ポートにおいてＮＡＴ種別の判定を行う。このＮＡＴ種別判定部１４６によるＮＡＴ種別判定処理の動作の詳細については後で説明する。
【００５０】
本実施形態の通信制御部１４０は、相手装置との間で、中継サーバ２０３等の中継サーバ経由の通信を行うサーバ経由通信と、Ｐ２Ｐ通信とが可能となっている。ＮＡＴ種別判定部１４６は、例えば、相手装置との間でサーバ経由通信を行っているときにＮＡＴ種別の判定処理を行う。通信制御部１４０は、ＮＡＴ種別判定部１４６によるＮＡＴ種別の判定処理結果に基づき、当該ＮＡＴ種別が中継装置を介した相手装置とＰ２Ｐ通信ができる可能性が高いＮＡＴ種別である場合に、Ｐ２Ｐ通信への移行処理を行う機能を有している。
【００５１】
次に、本実施形態に係るＩＰ通信装置によるＮＡＴ種別判定処理及びＰ２Ｐ通信移行処理の動作について説明する。
【００５２】
（第１の実施形態）
本発明に係るＩＰ通信装置では、中継サーバ２０３等を用いたサーバ経由での通信中に、Ｐ２Ｐ通信を行う対象のポートにおいて定期的にＮＡＴ種別判定処理を行う。このＮＡＴ種別判定処理において、通信を行っている双方のポートにおけるＮＡＴ種別を判定し、これらのＮＡＴ種別の組み合わせにより、Ｐ２Ｐ通信が行えるか否かが判定可能である。したがって、第１の実施形態では、Ｐ２Ｐ通信用のポートでの定期的なＮＡＴ種別判定結果に基づき、Ｐ２Ｐ通信可能か否かを判定し、Ｐ２Ｐ通信が可能な場合にはＰ２Ｐ通信に移行する。本来、ＮＡＴ種別判定のための処理は最長で数十秒の時間がかかるため、通信を行う際に実施するのは不適切であるが、本実施形態では中継サーバ経由の通信中に通信を行っているポートとは別のＰ２Ｐ通信用のポートで行うことにより、現在の通信に影響することなく判定処理を行うことが可能である。また、Ｐ２Ｐ通信が可能になった場合には通信を切断することなくＰ２Ｐ通信に移行することで、中継サーバに対する負荷を軽減することも可能である。
【００５３】
まず、ＮＡＴ種別に応じたＰ２Ｐ通信の可否について説明する。図４は送信側及び受信側のＮＡＴ種別の組合せに対するＰ２Ｐ通信の可否を示す図である。
【００５４】
ＮＡＴの種別は、その動作種別により、Ｃｏｎｅ系ＮＡＴとＳｙｍｍｅｔｒｉｃ ＮＡＴ（Ｓｙｍ）の二種類に大別される。Ｃｏｎｅ系ＮＡＴは、そのＮＡＴのセキュリティ（パケットフィルタリング）ルールにより、Ｆｕｌｌ Ｃｏｎｅ ＮＡＴ（ＦＣ）、Ａｄｄｒｅｓｓ Ｒｅｓｔｒｉｃｔｅｄ Ｃｏｎｅ ＮＡＴ（ＡＲ）、Ｐｏｒｔ Ｒｅｓｔｒｉｃｔｅｄ Ｃｏｎｅ ＮＡＴ（ＰＲ）の三種類に分類される。Ｃｏｎｅ系ＮＡＴの三種類においては、Ｆｕｌｌ Ｃｏｎｅ ＮＡＴが一番Ｐ２Ｐ通信を実現するのに容易である。逆にＰｏｒｔ Ｒｅｓｔｒｉｃｔｅｄ Ｃｏｎｅ ＮＡＴがＣｏｎｅ系ＮＡＴの中ではＰ２Ｐ通信を実現するのが一番困難である。Ｓｙｍｍｅｔｒｉｃ ＮＡＴにおいては、Ｐｏｒｔ Ｒｅｓｔｒｉｃｔｅｄ Ｃｏｎｅ ＮＡＴよりもさらにＰ２Ｐ通信を実現するのが困難である。
【００５５】
このため、通信を行う送信側と受信側に設置されているＮＡＴ種別の組み合わせによって、Ｐ２Ｐ通信が可能、またはＰ２Ｐ通信ができない（または非常に困難である）ということが決定される。図４の例では、一般的な例として、送信側と受信側のＮＡＴ種別がＰｏｒｔ Ｒｅｓｔｒｉｃｔｅｄ Ｃｏｎｅ ＮＡＴとＳｙｍｍｅｔｒｉｃ ＮＡＴの組合せ、及びＳｙｍｍｅｔｒｉｃ ＮＡＴ同士の場合にＰ２Ｐ通信が不可であるとしている。
【００５６】
このようにＮＡＴ種別によりＰ２Ｐ通信の可否が決定されるために、Ｐ２Ｐ通信を行う可能性のあるネットワーク通信機器においてＮＡＴ種別の確認は動作上不可欠である。このＮＡＴ種別判定のための手段としては、いくつかの方法が定義されているが、一般的にはＲＦＣ３４８９により規定されたＳＴＵＮが使用される。ＳＴＵＮのアルゴリズムによりＮＡＴ種別は判定できるが、本アルゴリズムを使用した場合、ＮＡＴ種別の判定に最長で４０秒以上かかる事象もある。そこで、通信開始時にＮＡＴ種別を判定することはなく、定常状態（待機状態）において定期的にＮＡＴ種別判定処理を行うのが通例である。ＳＴＵＮによるＮＡＴ種別判定処理を定期的に行う場合には、通信で使用するポートと重複、排他制御などを避けるために、通信するポートとは異なるポートを使用する。
【００５７】
次に、ＮＡＴルータの動作特性の変化について説明する。ＮＡＴルータによるＮＡＴの機能は、動作方式により先に示したＮＡＴ種別に分類されるが、動作中にこの動作方式が変化するＮＡＴが存在する。この動作方式の変化するＮＡＴの一種にＰｏｒｔ Ｒｅｕｓｅ ＮＡＴと呼ばれるものがある。以下ではこのＰｏｒｔ Ｒｅｕｓｅ ＮＡＴについて説明を行う。
【００５８】
図５及び図６はＰｏｒｔ Ｒｅｕｓｅ ＮＡＴの動作を説明する図である。従来のＮＡＴでは（Ｃｏｎｅ系ＮＡＴ、Ｓｙｍｍｅｔｒｉｃ ＮＡＴに関わらず）、ＬＡＮ側の情報とは無関係にＷＡＮ側で使用するポートを選択していた。しかし、Ｐｏｒｔ Ｒｅｕｓｅ ＮＡＴでは、図５に示すように、ＮＡＴルータ４２０を介して端末４１０とＷＡＮ４００とが接続される場合、ＮＡＴルータ４２０がＬＡＮ側（データ送信側の端末４１０）で使用するポート番号（ＰＮ＿ＬＡＮ）と一致したポート番号を、ＷＡＮ側で使用するポート番号（ＰＮ＿ＷＡＮ）として割り振る動作を行う。例えば、図５の端末（ＰＣ）４１０で使用する通信用のポート番号（ＰＮ＿ＬＡＮ）が１５０００番とすれば、Ｐｏｒｔ Ｒｅｕｓｅ ＮＡＴのＮＡＴルータ４２０では、同様にＷＡＮ側で使用するポート番号（ＰＮ＿ＷＡＮ）を１５０００番で割り振る。このように動作する場合には、ＮＡＴルータ４２０は既に説明したＮＡＴ種別のいずれかの分類で動作する。一般的にはＣｏｎｅ系ＮＡＴの動作を行う。
【００５９】
これに対して、図６に示すように、割り当てるべきポートが既に使用されている場合の動作について以下に説明する。図６では、ＮＡＴルータ４２０を介して第１の端末（ＰＣ１）４１１及び第２の端末（ＰＣ２）４１２とＷＡＮ４００とが接続される場合を例示する。まず、第１の端末（ＰＣ１）４１１でＬＡＮ側のポート番号（ＰＮ１＿ＬＡＮ）として１５０００番を使用して通信を行い、ＮＡＴルータ４２０によりＷＡＮ側で使用するポート番号（ＰＮ１＿ＷＡＮ）に同一の１５０００番が割り振られているとする。ここで、第２の端末（ＰＣ２）４１２で同様にＬＡＮ側のポート番号（ＰＮ２＿ＬＡＮ）として１５０００番を使用して通信を行う場合、Ｐｏｒｔ Ｒｅｕｓｅ ＮＡＴであれば、ＬＡＮ側のポート番号と同一の番号をＷＡＮ側の通信で使用するポートに割り当てようとする。
【００６０】
しかしながら、第１の端末（ＰＣ１）４１１で行っている通信において既にＷＡＮ側のポート番号１５０００番を使用して通信を行っている場合、ＮＡＴルータ４２０は同一のポート番号を割り当てることができない。このため、ＮＡＴルータ４２０において予め決められたルーリング（取り決め）に従ってポート番号を割り当てていく。例えば、上記のようにポート番号が重複した場合には、ＮＡＴルータ４２０は、後から要求された通信に対してはＷＡＮ側のポート番号として１０２４番を割り当てるなどの仕組みになっている。このような動作になった場合、同一のＮＡＴルータであるにも関わらず、ＮＡＴ種別が変化することになる。この場合、Ｐｏｒｔ Ｒｅｕｓｅ ＮＡＴ機能で同一ポート番号が割り当てられた場合と動作が異なる。
【００６１】
上記のＮＡＴルータの一例のように、状況によってＮＡＴ機能の動作方式（ＮＡＴ種別）が変化するＮＡＴルータが存在する。この例では、Ｐｏｒｔ Ｒｅｕｓｅ ＮＡＴルータの動作でＬＡＮ側と同一のポート番号が割り振られた場合はＡｄｄｒｅｓｓ Ｒｅｓｔｒｉｃｔｅｄ Ｃｏｎｅ ＮＡＴの動作をするが、ＬＡＮ側と同一のポートが割り振られなかった場合（別の通信で割り当てるべきポート番号が使用されている場合）、Ｓｙｍｍｅｔｒｉｃ ＮＡＴの動作になる。この動作の変化は、図４に示したように、Ｐ２Ｐ通信が比較的容易なＮＡＴ種別から、Ｐ２Ｐ通信が困難なＮＡＴ種別へ動作モードが変化したように使用者からは見える。
【００６２】
このようにＰｏｒｔ Ｒｅｕｓｅ ＮＡＴでＳｙｍｍｅｔｒｉｃ ＮＡＴの動作となった場合、通信相手のＮＡＴ種別との組み合わせによってはＰ２Ｐ通信が行えず、中継サーバ経由の通信となる。しかしながら、中継サーバ経由の通信が発生する場合、事前に中継サーバを設置しなければならず、中継サーバの負荷が大きくなれば、大容量、高性能な中継サーバが必要になってくるため、設置コストや維持コストなどが大きくなる。
【００６３】
このため本発明では、このような中継サーバ経由の通信において、ＮＡＴ種別判定処理を継続し、その通信中にＰ２Ｐ通信が可能な状態になった場合にはＰ２Ｐ通信に移行する。これにより、中継サーバの負荷を軽減し、中継サーバにかかる費用を削減することが可能になる。
【００６４】
ここで、中継サーバによるサーバ経由通信とＰ２Ｐ通信とを同時に行う場合の動作例を説明する。図７は中継サーバによるサーバ経由通信とＰ２Ｐ通信とを同時に行っている状態を示す模式図である。図７の例では、インターネット網等のＷＡＮ５００に第１のＬＡＮのＮＡＴルータ５２１と、第２のＬＡＮのＮＡＴルータ５２２とが接続される。そして、ＮＡＴルータ５２１を介してＶＰＮ装置５１１、通信装置５３１が順に接続され、ＮＡＴルータ５２２を介してＶＰＮ装置５１２、通信装置５３２が順に接続されている。また、ＷＡＮ５００には中継サーバ５０３が接続されている。ＶＰＮ装置５１１とＶＰＮ装置５１２とをＶＰＮ接続して秘匿性を有する通信経路を確保する場合、サーバ経由通信とＰ２Ｐ通信とでＶＰＮ通信を実現することが可能である。サーバ経由通信の場合、発呼側の通信装置から送出された信号またはデータを含むパケットは一旦中継サーバ５０３を介して中継され、被呼側の通信装置に転送される。Ｐ２Ｐ通信の場合は、発呼側の通信装置から送出されたパケットは直接被呼側の通信装置に転送される。
【００６５】
サーバ経由通信とＰ２Ｐ通信とを併用する例として、例えば、まず最初にサーバ経由通信でＶＰＮ通信を開始し、その後Ｐ２Ｐの通信経路が確保できてからＰ２Ｐ通信を行うことが考えられる。このようなＶＰＮ通信の手順を用いることで、より短時間でＶＰＮ通信を開始できるとともに、Ｐ２Ｐ通信の実行によって通信効率を高めることができる。また、上述したように、サーバ経由での通信中にＮＡＴ種別が変化してＰ２Ｐ通信が可能になった場合、Ｐ２Ｐ通信に切り替えて通信効率を高めることもできる。
【００６６】
ここで、通信に用いるポートは、例えばサーバ経由通信用のポートとＰ２Ｐ通信用のポートとで別のポートを用いるようにする。なお、サーバ経由通信とＰ２Ｐ通信のプロトコルが異なる場合には、ポート番号が同一でも影響を与えないため、同一のポートを用いることも可能である。本明細書では、便宜上同一プロトコルでの通信を前提にした説明を行う。このため、サーバ経由通信とは異なるポートでＰ２Ｐ通信を行うものとする。
【００６７】
第１の実施形態では、サーバ経由通信を行っているときにＮＡＴ種別判定処理を行い、Ｐ２Ｐ通信可能か否かを判定する。ここで、Ｐ２Ｐ通信が可能な場合は、サーバ経由通信からＰ２Ｐ通信に移行する。例えば、図６に示したように、第２の端末（ＰＣ２）４１２のＬＡＮ側が使用するポート番号が既に使用中でＷＡＮ側に異なるポート番号が割り当てられ、Ｓｙｍｍｅｔｒｉｃ ＮＡＴのＮＡＴ種別と判定されて中継サーバ経由で通信を行っている場合を想定する。この場合でも、ＮＡＴルータ４２０におけるＰｏｒｔ Ｒｅｕｓｅ ＮＡＴの動作により、第１の端末（ＰＣ１）４１１の通信が終了し、第２の端末（ＰＣ２）４１２が再度通信を行う場合には、第２の端末（ＰＣ２）４１２のＬＡＮ側ポートと同じポート番号がＷＡＮ側のポートに割り当てられる。このときのＮＡＴ種別判定結果により、Ｐ２Ｐ通信が動作可能であれば、Ｐ２Ｐ通信に移行する動作を行う。
【００６８】
図８は本発明の第１の実施形態に係るＩＰ通信装置（ＶＰＮ装置）における通信時の動作アルゴリズムを示すフローチャートである。本実施形態では、図８に示すような定期的なＮＡＴ種別判定を含む処理を行う。この処理動作は、ＶＰＮ装置の通信制御部１４０において実行される。通信制御部１４０は、まず、現在Ｐ２Ｐ通信を行っているかを判定する（ステップＳ１１）。ここで、現在の通信がＰ２Ｐ通信を行っている場合には、定期的なＮＡＴ種別判定は必要ないため、本処理を終了する（ステップＳ１２）。一方、Ｐ２Ｐ通信を行っていない場合（中継サーバ経由で通信を行っている場合）は、Ｐ２Ｐ通信用のポート情報として、通信装置側のＰ２Ｐ通信用ポートのポート番号を取得する（ステップＳ１３）。例えば図６の例では、第２の端末（ＰＣ２）４１２のＬＡＮ側ポートのポート番号（ＰＮ２＿ＬＡＮ）を取得する。ここで、現在行っている中継サーバ経由の通信で使用しているポートと分け、Ｐ２Ｐ通信用のポートを取得する理由としては、現在の通信を阻害することなく、Ｐ２Ｐ通信が可能であるかを判定するためである。
【００６９】
そして、取得したＰ２Ｐ通信用ポートでＮＡＴ種別判定処理を行う（ステップＳ１４）。このＮＡＴ種別判定処理に関しては、ＳＴＵＮを用いたＮＡＴ種別判定でもよいし、その他のＮＡＴ種別判定アルゴリズム（簡略化されたものを含む）でもいずれの方法でも問題はない。このＮＡＴ種別判定処理の結果に基づき、当該ポートでＰ２Ｐ通信が可能であるかどうかを判定する（ステップＳ１５）。ここで、当該ポートでＰ２Ｐ通信ができる可能性が高いＮＡＴ種別の場合、Ｐ２Ｐ通信移行処理を行う（ステップＳ１６）。また、Ｐ２Ｐ通信ができる可能性が低いＮＡＴ種別である場合、再度ＮＡＴ種別判定処理を行うためのタイマ設定を行い（ステップＳ１７）、所定期間のタイマタイムアウト後にステップＳ１１に戻って同様の処理を繰り返す。このときの所定期間としては、例えば、通信ポートのポート保持期間よりも長い時間間隔を設定すればよい。一例として、数分間に１回のタイミングで定期的にＮＡＴ種別判定処理を行うようにする。
【００７０】
なお、図８の手順では、ステップＳ１７の再判定用のタイマタイムアウト後の処理はステップＳ１１のＰ２Ｐ通信中かどうかの判定処理から行っているが、ステップＳ１３のＰ２Ｐ通信用ポート情報取得処理から再度行う処理としても問題はない。また、ＶＰＮ装置の内部でＰ２Ｐ通信用のポート番号を記憶している場合には、ステップＳ１４の当該ポートでのＮＡＴ種別判定処理から再度行う処理としても問題はない。
【００７１】
図９及び図１０は第１の実施形態に係るＩＰ通信装置（ＶＰＮ装置）を用いたＶＰＮシステムにおける各装置間の通信処理手順を示すシーケンス図である。図９及び図１０では、図１のネットワーク構成において、ＶＰＮ装置１０１の配下の端末１０３からＷＡＮ２００を経由して他のＶＰＮ装置３０１の配下の端末３０３に接続しようとする場合の処理を示している。このシーケンス図を用いて、本実施形態におけるＰ２Ｐ通信移行処理を説明する。
【００７２】
まず、図９に示す処理に先立ち、ＶＰＮ装置１０１は呼制御サーバ２０２にログインしてユーザ認証を受けるようにする。ＶＰＮ装置１０１がユーザ認証に成功した場合、呼制御サーバ２０２において、ＶＰＮ装置１０１の識別情報（ＭＡＣアドレス、ユーザＩＤ、電話番号など）やネットワーク上の位置情報（グローバルＩＰアドレス）等の登録、設定が行われる。以降、ＶＰＮ装置１０１と呼制御サーバ２０２との間で通信可能となる。なお、ＶＰＮ装置１０１は発呼側であるが、被呼側であるＶＰＮ装置３０１についても同様に、呼制御サーバ２０２にログインしてユーザ認証を受け、呼制御サーバ２０２においてＶＰＮ装置３０１の識別情報等の登録、設定が行われる。
【００７３】
そして、ＶＰＮ装置１０１は、配下の端末１０３からのＶＰＮ接続の接続要求を受けると、ルータ１０２を介して呼制御サーバ２０２に対して、被呼側の端末３０３を配下に持つＶＰＮ装置３０１へのＶＰＮの通信経路を構築するための接続要求を送信する（Ｓ１０１）。呼制御サーバ２０２は、この接続要求を中継してルータ３０２を介してＶＰＮ接続の接続先となるＶＰＮ装置３０１へ送信する（Ｓ１０２）。
【００７４】
また、ＶＰＮ装置１０１は、サーバ経由通信用の第１の通信ポート（通信ポート１）を用いて、ＳＴＵＮサーバ２０１に対して外部アドレス・ポート取得要求を送信し、外部アドレス検出処理を開始する（Ｓ１０３）。また、ＶＰＮ装置１０１は、Ｐ２Ｐ通信用の第２の通信ポート（通信ポート２）を用いて、ＳＴＵＮサーバ２０１に対してＮＡＴ種別判定要求を送信し、ＮＡＴ種別判定処理を開始する（Ｓ１０４）。
【００７５】
接続先のＶＰＮ装置３０１は、呼制御サーバ２０２からの接続要求を受けると、接続応答を返信する（Ｓ１０５）。また、ＶＰＮ装置３０１は、サーバ経由通信用の第１の通信ポート（通信ポート１′）を用いて、ＳＴＵＮサーバ２０１に対して外部アドレス・ポート取得要求を送信し、外部アドレス検出処理を開始する（Ｓ１０６）。また、ＶＰＮ装置３０１は、Ｐ２Ｐ通信用の第２の通信ポート（通信ポート２′）を用いて、ＳＴＵＮサーバ２０１に対してＮＡＴ種別判定要求を送信し、ＮＡＴ種別判定処理を開始する（Ｓ１０７）。
【００７６】
そして、ＳＴＵＮサーバ２０１は、ＶＰＮ装置１０１からの外部アドレス・ポート取得要求に対して、ＶＰＮ装置１０１の第１の通信ポート（通信ポート１）に関する外部アドレス・ポート情報を返信し、外部アドレス検出処理が完了する（Ｓ１０８）。呼制御サーバ２０２は、ＶＰＮ装置３０１からの接続応答を中継して接続元のＶＰＮ装置１０１へ送信する（Ｓ１０９）。
【００７７】
ＶＰＮ装置１０１は、呼制御サーバ２０２から接続応答を受けると、まず呼制御サーバ２０２を中継サーバとしてＶＰＮ装置３０１との間でデータ通信を開始する（Ｓ１１０、Ｓ１１１）。この際、呼制御サーバ２０２との間の通信ポート（呼制御ポート）を用いて、ＶＰＮ装置１０１−呼制御サーバ２０２−ＶＰＮ装置３０１においてデータ通信を行う。
【００７８】
そして、ＳＴＵＮサーバ２０１は、ＶＰＮ装置３０１からの外部アドレス・ポート取得要求に対して、ＶＰＮ装置３０１の第１の通信ポート（通信ポート１′）に関する外部アドレス・ポート情報を返信し、外部アドレス検出処理が完了する（Ｓ１１２）。
【００７９】
次に、ＶＰＮ装置１０１は、呼制御サーバ２０２を経由して、取得した自装置の第１の通信ポート（通信ポート１）に関する外部アドレス・ポート情報をＶＰＮ装置３０１に通知する（Ｓ１１３）。一方、ＶＰＮ装置３０１は、呼制御サーバ２０２を経由して、取得した自装置の第１の通信ポート（通信ポート１′）に関する外部アドレス・ポート情報をＶＰＮ装置１０１に通知する（Ｓ１１４）。これにより、接続元のＶＰＮ装置１０１と接続先のＶＰＮ装置３０１とは、中継サーバ２０３の外部アドレス・ポート情報とともに、お互いに相手のサーバ経由通信用の外部アドレス・ポート情報（通信ポート１、１′のグローバルＩＰアドレス及びポート番号）を取得している。
【００８０】
そして、ＶＰＮ装置１０１は、中継サーバ２０３を経由して、ＶＰＮ装置３０１との間でデータ通信を開始する（Ｓ１１５、Ｓ１１６）。この際、サーバ経由通信用のポート（通信ポート１、１′）を用いて、ＶＰＮ装置１０１−中継サーバ２０３−ＶＰＮ装置３０１においてデータ通信を行う。
【００８１】
その後、ＳＴＵＮサーバ２０１は、ＶＰＮ装置１０１からのＮＡＴ種別判定要求に対して、ＶＰＮ装置１０１の第２の通信ポート（通信ポート２）に関するＮＡＴ種別判定情報を返信し、ＮＡＴ種別判定処理が完了する（Ｓ１１７）。また、ＳＴＵＮサーバ２０１は、ＶＰＮ装置３０１からのＮＡＴ種別判定要求に対して、ＶＰＮ装置３０１の第２の通信ポート（通信ポート２′）に関するＮＡＴ種別判定情報を返信し、ＮＡＴ種別判定処理が完了する（Ｓ１１８）。このＮＡＴ種別判定結果を受けて、ＶＰＮ装置１０１は、当該ポート（通信ポート２）でＰ２Ｐ通信が可能であるかを判定する（Ｓ１１９）。ここでは、ＶＰＮ装置１０１の通信ポート２ではＰ２Ｐ通信が不可である（Ｐ２Ｐ通信できる可能性が低い）とする。また、ＶＰＮ装置３０１は、当該ポート（通信ポート２′）でＰ２Ｐ通信が可能であるかを判定する（Ｓ１２０）。ここでは、ＶＰＮ装置３０１の通信ポート２′ではＰ２Ｐ通信が可能である（Ｐ２Ｐ通信できる可能性が高い）とする。ここで、自装置の通信ポートにおいてＰ２Ｐ通信できる可能性が高い場合は、通信相手に対して自装置の外部アドレス・ポート情報、ＮＡＴ種別情報を通知する。
【００８２】
ＶＰＮ装置３０１は、第２の通信ポート（通信ポート２′）を用いてＰ２Ｐ通信できる可能性が高い（Ｐ２Ｐ通信判定ＯＫ）ため、Ｐ２Ｐ通信用の自装置の外部アドレス・ポート情報、ＮＡＴ種別情報をＶＰＮ装置１０１に対して通知する（Ｓ１２１）。一方、ＶＰＮ装置１０１は、第２の通信ポート（通信ポート２）を用いてＰ２Ｐ通信できる可能性が低い（Ｐ２Ｐ通信判定ＮＧ）ため、自装置の外部アドレス・ポート情報、ＮＡＴ種別情報をＶＰＮ装置３０１に対して通知しない。ここで、ＶＰＮ装置１０１は、取得した通信相手のＶＰＮ装置３０１のＮＡＴ種別情報と自装置のＮＡＴ種別情報とに基づいて、Ｐ２Ｐ通信が可能か否かを判定してもよい。Ｐ２Ｐ通信ができない場合には、Ｐ２Ｐ変更不可通知をＶＰＮ装置３０１に対して通知してもよい（Ｓ１２２）。なお、このＰ２Ｐ変更不可通知は省略可能である。この場合、中継サーバ２０３を用いたサーバ経由の通信を継続する。
【００８３】
Ｐ２Ｐ変更不可通知を通知しない場合には、送信側でＮＡＴ種別判定間隔に比べ十分短く、通信相手からのメッセージ受信に対しては十分長いタイマを設定し、通信相手からの応答を待つ。本応答が来ずにタイムアウトした場合には、通信相手でのＰ２Ｐ通信判定が不可であったと判定し、メッセージ受信待ち処理を解除する仕組みでも同様な機能を実現可能である。
【００８４】
一定時間経過後、図１０に示すように、ＶＰＮ装置１０１は、再度Ｐ２Ｐ通信用の第２の通信ポート（通信ポート２）を用いて、ＳＴＵＮサーバ２０１に対してＮＡＴ種別判定要求を送信し、ＮＡＴ種別判定処理を開始する（Ｓ１２３）。また、ＶＰＮ装置３０１も同様に、再度Ｐ２Ｐ通信用の第２の通信ポート（通信ポート２′）を用いて、ＳＴＵＮサーバ２０１に対してＮＡＴ種別判定要求を送信し、ＮＡＴ種別判定処理を開始する（Ｓ１２４）。その後、ＳＴＵＮサーバ２０１は、ＶＰＮ装置１０１、３０１それぞれからのＮＡＴ種別判定要求に対して、ＶＰＮ装置１０１の第２の通信ポート（通信ポート２）、ＶＰＮ装置３０１の第２の通信ポート（通信ポート２′）に関するＮＡＴ種別判定情報をそれぞれ返信し、ＮＡＴ種別判定処理が完了する（Ｓ１２５、Ｓ１２６）。
【００８５】
ＶＰＮ装置１０１は、ＮＡＴ種別判定結果に基づき、再度当該ポート（通信ポート２）でＰ２Ｐ通信が可能であるかを判定する（Ｓ１２７）。ここでは、ルータ１０２が前述したＰｏｒｔ Ｒｅｕｓｅ ＮＡＴ機能等を有しており、ＮＡＴ種別が変化する場合を想定し、ＮＡＴ種別の変化によって、ＶＰＮ装置１０１の通信ポート２でＰ２Ｐ通信が可能である（Ｐ２Ｐ通信できる可能性が高い）と判定されたとする。また、ＶＰＮ装置３０１は、再度当該ポート（通信ポート２′）でＰ２Ｐ通信が可能であるかを判定し（Ｓ１２８）、前回と同様にＶＰＮ装置３０１の通信ポート２′でＰ２Ｐ通信が可能である（Ｐ２Ｐ通信できる可能性が高い）とする。
【００８６】
ＶＰＮ装置１０１は、第２の通信ポート（通信ポート２）を用いたＰ２Ｐ通信判定結果がＯＫになったため、Ｐ２Ｐ通信用の自装置の外部アドレス・ポート情報、ＮＡＴ種別情報をＶＰＮ装置３０１に対して通知する（Ｓ１２９）。一方、ＶＰＮ装置３０１も同様に、Ｐ２Ｐ通信用の自装置の外部アドレス・ポート情報、ＮＡＴ種別情報をＶＰＮ装置１０１に対して通知する（Ｓ１３０）。これにより、接続元のＶＰＮ装置１０１と接続先のＶＰＮ装置３０１とは、お互いに相手のＰ２Ｐ通信用の外部アドレス・ポート情報（通信ポート２、２′のグローバルＩＰアドレス及びポート番号）を取得している。
【００８７】
ＶＰＮ装置１０１、３０１は、通信相手からの外部アドレス・ポート情報、ＮＡＴ種別情報を受信すると、本情報を元にＰ２Ｐ通信が可能か否かを判定し、Ｐ２Ｐ通信可能と判定された場合にはＰ２Ｐ通信にてデータ通信を開始する（Ｓ１３１）。この際、Ｐ２Ｐ通信用のポート（通信ポート２、２′）を用いて、ＶＰＮ装置１０１とＶＰＮ装置３０１との間でＷＡＮ２００を経由して直接データ通信を行う。Ｐ２Ｐ通信の開始時には、ＶＰＮ装置１０１及びＶＰＮ装置３０１は、互いに相手の外部アドレス・ポート情報（通信ポート２、２′）を送信先に設定して、ＷＡＮ２００を経由してパケットを送信し、通信可能であること（ＶＰＮ接続による通信確立）を確認し、暗号化したデータ通信（ＶＰＮ通信）を開始する。このとき、図７に示したように、一時的にサーバ経由の通信とＰ２Ｐ通信とが同時に行われる通信状態となる。
【００８８】
Ｐ２Ｐ通信の通信確立後は、ＶＰＮ装置１０１及びＶＰＮ装置３０１は、サーバ経由通信用のポート（通信ポート１、１′）を用いた中継サーバ２０３経由での通信の切断処理を行う（Ｓ１３２、Ｓ１３３）。このように、Ｐ２Ｐ通信用の通信ポートでＰ２Ｐ通信を開始し、その通信経路が確立した後にサーバ経由通信用の通信ポートを用いた中継サーバ経由の通信を切断することとで、ユーザには通信経路の変化を意識させることなく、また通信の中断あるいは遅延などが生じることなく、現在行っている通信を継続したままＰ２Ｐ通信へ移行可能となる。
【００８９】
なお、Ｐ２Ｐ通信可能か否かの判定処理は、ＮＡＴ種別判定処理完了の後に通信相手へ無条件に外部アドレス・ポート情報、ＮＡＴ種別情報を通知し、本通知を受信した後に通信相手及び自装置のＮＡＴ種別情報に基づき、当該ポートでのＰ２Ｐ通信可否判定を行ってもよい。
【００９０】
（第２の実施形態）
第２の実施形態では、第１の実施形態と同様にＰ２Ｐ通信用のポートで定期的にＮＡＴ種別判定処理を行い、このＮＡＴ種別判定結果に基づき、ＮＡＴ種別が変化した場合、Ｐ２Ｐ通信が可能か否かの判定処理を行う。そして、Ｐ２Ｐ通信が可能な場合にはＰ２Ｐ通信に移行する。この第２の実施形態では、ＮＡＴ種別が変化した場合のみＰ２Ｐ通信移行処理を行うが、通信相手のＮＡＴ種別を認知する必要がない。また、ＮＡＴ種別が変化した場合でもＰ２Ｐ通信を行う可能性の低い変化（例えば、Ｃｏｎｅ系ＮＡＴ→Ｓｙｍｍｅｔｒｉｃ ＮＡＴ）の場合には、Ｐ２Ｐ通信移行処理を行わなくても良いという利点を有する。
【００９１】
図１１は本発明の第２の実施形態に係るＩＰ通信装置（ＶＰＮ装置）における通信時の動作アルゴリズムを示すフローチャートである。本実施形態では、図１１に示すような定期的なＮＡＴ種別判定を含む処理を行う。この処理動作は、ＶＰＮ装置の通信制御部１４０において実行される。図１１において、ステップＳ２１〜Ｓ２６の処理は図８に示した第１の実施形態のステップＳ１１〜Ｓ１６と同様であり、ここでは説明を省略する。
【００９２】
第２の実施形態では、ステップＳ２５のＰ２Ｐ通信可否判定において、Ｐ２Ｐ通信用のポートでＰ２Ｐ通信ができる可能性が低いＮＡＴ種別である場合、そのＮＡＴ種別情報を記憶する（ステップＳ２７）。ＮＡＴ種別を記憶することで、ＮＡＴ種別が変化した場合のみＰ２Ｐ通信可否判定を行うことができる。ＮＡＴ種別が変化していない場合は、現在の通信状況と変化していないため、Ｐ２Ｐ通信移行のための処理を行ってもＰ２Ｐ通信に移行できない可能性が非常に高い。よって、本実施形態ではＮＡＴ種別が変化した場合のみＰ２Ｐ通信可否判定を行うことで、不要な処理を削減する。
【００９３】
そして、再度ＮＡＴ種別判定処理を行うためのタイマ設定を行い（ステップＳ２８）、所定期間のタイマタイムアウト後に当該ポートでのＮＡＴ種別判定処理を行う（ステップＳ２９）。続いて、記憶しているＮＡＴ種別と一致しているかを判定する（ステップＳ３０）。ここで、ＮＡＴ種別が一致していない場合、すなわちＮＡＴ種別が変化した場合は、ステップＳ２５に戻り、当該ポートでＰ２Ｐ通信が可能であるかどうかを判定する。このとき、Ｐ２Ｐ通信が可能である場合はステップＳ２６のＰ２Ｐ通信移行処理を行い、Ｐ２Ｐ通信が不可である場合はステップＳ２７のＮＡＴ種別記憶処理を行う。一方、ステップＳ３０でＮＡＴ種別が一致している場合、ステップＳ２８のタイマ設定処理に進み、所定期間後に再度ＮＡＴ種別判定処理を行う。すなわち、ＮＡＴ種別が変化した場合のみＰ２Ｐ通信可否判定を行ってＰ２Ｐ通信が可能である場合にＰ２Ｐ通信に移行し、ＮＡＴ種別が変化しない場合は所定期間毎のＮＡＴ種別判定処理を継続する。このときの所定期間としては、例えば、通信ポートのポート保持期間よりも長い時間間隔を設定すればよい。一例として、数分間に１回のタイミングで定期的にＮＡＴ種別判定処理を行い、ＮＡＴ種別の変化を検出するようにする。
【００９４】
図１２及び図１３は第２の実施形態に係るＩＰ通信装置（ＶＰＮ装置）を用いたＶＰＮシステムにおける各装置間の通信処理手順を示すシーケンス図である。第２の実施形態は第１の実施形態の処理の一部を変更したものであり、ここでは図９及び図１０に示した第１の実施形態と同様の処理については説明を省略し、ここでは異なる部分を中心に説明する。
【００９５】
図１２におけるＳ１０１〜Ｓ１１８の接続要求から中継サーバ経由での通信開始、ＮＡＴ種別判定処理完了までの処理は、図９の第１の実施形態と同様である。第２の実施形態では、ＮＡＴ種別判定処理完了の後に通信相手へ無条件に外部アドレス・ポート情報、ＮＡＴ種別情報を通知する例を示す。ＶＰＮ装置１０１、３０１は、それぞれＰ２Ｐ通信用の第２の通信ポート（通信ポート２、２′）の外部アドレス・ポート情報、ＮＡＴ種別情報を互いに通信相手のＶＰＮ装置３０１、１０１に対して通知する（Ｓ２０１、Ｓ２０２）。
【００９６】
そして、ＶＰＮ装置１０１、３０１は、それぞれ、ＮＡＴ種別判定結果に基づいて当該ポート（通信ポート２、２′）でＰ２Ｐ通信が可能であるかを判定する（Ｓ２０３、Ｓ２０４）。ここでは、ＶＰＮ装置１０１の通信ポート２ではＰ２Ｐ通信が不可である（Ｐ２Ｐ通信できる可能性が低い）とし、ＶＰＮ装置３０１の通信ポート２′ではＰ２Ｐ通信が可能である（Ｐ２Ｐ通信できる可能性が高い）とする。この場合、Ｐ２Ｐ通信が不可であるので、ＶＰＮ装置１０１とＶＰＮ装置３０１との間でＰ２Ｐ通信の移行処理を開始せず（Ｓ２０５）、自装置のＰ２Ｐ通信用ポートの外部アドレス・ポート情報、ＮＡＴ種別情報を記憶する。
【００９７】
一定時間経過後、図１３に示すように、ＶＰＮ装置１０１、３０１は、それぞれ、再度Ｐ２Ｐ通信用の第２の通信ポート（通信ポート２、２′）を用いて、ＳＴＵＮサーバ２０１に対してＮＡＴ種別判定要求を送信し、ＮＡＴ種別判定処理を開始する（Ｓ２０６、Ｓ２０７）。その後、ＳＴＵＮサーバ２０１は、ＶＰＮ装置１０１、３０１それぞれからのＮＡＴ種別判定要求に対して、ＶＰＮ装置１０１の第２の通信ポート（通信ポート２）、ＶＰＮ装置３０１の第２の通信ポート（通信ポート２′）に関するＮＡＴ種別判定情報をそれぞれ返信し、ＮＡＴ種別判定処理が完了する（Ｓ２０８、Ｓ２０９）。
【００９８】
ＶＰＮ装置１０１は、ＮＡＴ種別判定結果に基づき、当該ポート（通信ポート２）のＮＡＴ種別が変化したかどうかを判定する（Ｓ２１０）。ここでは、ルータ１０２が前述したＰｏｒｔ Ｒｅｕｓｅ ＮＡＴ機能等を有しており、ＮＡＴ種別が変化したと判定されたとする。そして、ＶＰＮ装置１０１は、当該ポート（通信ポート２）でＰ２Ｐ通信が可能であるかを判定し、Ｐ２Ｐ通信が可能である（Ｐ２Ｐ通信できる可能性が高い）場合、Ｐ２Ｐ通信用の自装置の外部アドレス・ポート情報をＶＰＮ装置３０１に対して通知する（Ｓ２１１）。
【００９９】
また、ＶＰＮ装置３０１は、ＮＡＴ種別判定結果に基づき、当該ポート（通信ポート２′）のＮＡＴ種別が変化したかどうかを判定する（Ｓ２１２）。ここでは、ＮＡＴ種別の変化がなく、Ｐ２Ｐ通信が可能な状態のままとする。この場合、ＶＰＮ装置３０１は、記憶してある自装置のＰ２Ｐ通信用ポートの外部アドレス・ポート情報、ＮＡＴ種別情報を破棄する。そして、ＶＰＮ装置３０１は、Ｐ２Ｐ通信用の通信ポート２′を用いて、ＳＴＵＮサーバ２０１に対して外部アドレス・ポート取得要求を送信し、外部アドレス検出処理を開始する（Ｓ２１３）。ＳＴＵＮサーバ２０１は、ＶＰＮ装置３０１からの外部アドレス・ポート取得要求に対して、ＶＰＮ装置３０１の通信ポート２′に関する外部アドレス・ポート情報を返信し、外部アドレス検出処理が完了する（Ｓ２１４）。そして、ＶＰＮ装置３０１は、Ｐ２Ｐ通信用の自装置の外部アドレス・ポート情報をＶＰＮ装置１０１に対して通知する（Ｓ２１５）。これにより、接続元のＶＰＮ装置１０１と接続先のＶＰＮ装置３０１とは、お互いに相手のＰ２Ｐ通信用の外部アドレス・ポート情報（通信ポート２、２′のグローバルＩＰアドレス及びポート番号）を取得している。
【０１００】
そして、ＶＰＮ装置１０１とＶＰＮ装置３０１は、Ｐ２Ｐ通信用のポート（通信ポート２、２′）を用いて、ＷＡＮ２００を経由してＰ２Ｐ通信にてデータ通信を開始する（Ｓ２１６）。
【０１０１】
Ｐ２Ｐ通信の通信確立後は、ＶＰＮ装置１０１及びＶＰＮ装置３０１は、サーバ経由通信用のポート（通信ポート１、１′）を用いた中継サーバ２０３経由での通信の切断処理を行う（Ｓ２１７、Ｓ２１８）。このように、中継サーバ２０３を用いた中継サーバ経由の通信から直接一対一で通信を行うＰ２Ｐ通信へ、通信を継続したまま移行することが可能である。
【０１０２】
上述したように、本実施形態では、中継サーバ等を用いたサーバ経由通信を行っているときに、所定期間毎にＮＡＴ種別判定を行い、Ｐ２Ｐ通信ができる可能性が高いＮＡＴ種別であると判定された場合は、Ｐ２Ｐ通信に移行する。これにより、相手装置との間で可能な場合はできるだけＰ２Ｐ通信を実行することができ、サーバ経由通信の実行機会を少なくできる。例えば、ＮＡＴルータとしてＰｏｒｔ Ｒｅｕｓｅ ＮＡＴ等のＮＡＴ種別が変化するルータが用いられる場合であっても、ＮＡＴ種別の変化によって可能になった場合はＰ２Ｐ通信を行うことができる。したがって、本実施形態によれば、中継サーバの維持コスト等の通信にかかるコストを削減できる。また、中継サーバにかかる通信負荷を軽減でき、リソースの有効活用が可能となるなど、中継サーバの効率的な利用を実現できる。
【０１０３】
なお、本発明は、本発明の趣旨ならびに範囲を逸脱することなく、明細書の記載、並びに周知の技術に基づいて、当業者が様々な変更、応用することも本発明の予定するところであり、保護を求める範囲に含まれる。また、発明の趣旨を逸脱しない範囲で、上記実施形態における各構成要素を任意に組み合わせてもよい。
【産業上の利用可能性】
【０１０４】
本発明は、通信中においてＰ２Ｐ通信が可能な場合にはＰ２Ｐ通信に移行することが可能となる効果を有し、複数のネットワーク間で経路を構築して互いに通信するＶＰＮ装置、ＩＰ通信装置等として有用である。
【符号の説明】
【０１０５】
１００、３００  ＬＡＮ
１０１、３０１、５１１、５１２  ＶＰＮ装置
１０２、３０２  ルータ
１０３、３０３  端末
１１１  マイクロコンピュータ（ＣＰＵ）
１１２  不揮発性メモリ
１１３  メモリ
１１４、１１５  ネットワークインタフェース
１１６  ＬＡＮ側ネットワーク制御部
１１７  ＷＡＮ側ネットワーク制御部
１１８  通信中継部
１１９  表示制御部
１２０  表示部
１３０  システム制御部
１３１  配下端末管理部
１３２  メモリ部
１３３  データ中継部
１３４  設定用インタフェース部
１３５  外部アドレス・ポート情報記憶部
１４０  通信制御部
１４１  外部アドレス・ポート取得部
１４２  ＶＰＮ機能部
１４３  呼制御機能部
１４５  暗号処理部
１４６  ＮＡＴ種別判定部
２００、４００、５００  ＷＡＮ
２０１  ＳＴＵＮサーバ
２０２  呼制御サーバ
２０３、５０３  中継サーバ
４２０、５２１、５２２  ＮＡＴルータ
４１０、４１１、４１２  端末
５３１、５３２  通信装置
【図１】
2011188358.tif 000003
【図２】
2011188358.tif 000004
【図３】
2011188358.tif 000005
【図４】
2011188358.tif 000006
【図５】
2011188358.tif 000007
【図６】
2011188358.tif 000008
【図７】
2011188358.tif 000009
【図８】
2011188358.tif 000010
【図９】
2011188358.tif 000011
【図１０】
2011188358.tif 000012
【図１１】
2011188358.tif 000013
【図１２】
2011188358.tif 000014
【図１３】
2011188358.tif 000015