(57)【要約】【課題】ファイアウォールを介して通信手段に接続された情報処理装置間の通信において中継装置の処理負荷を軽減する。【解決手段】ＶＰＮノードＡからのＶＰＮノードＢを相手先とする接続要求に応じて、ノード管理サーバ４０は、ＶＰＮノードＡにＶＰＮクライアントＣａ及びＶＰＮサーバＳａを起動させ、中継サーバにＶＰＮサーバＳｒを起動させる。ＶＰＮクライアントＣａとＶＰＮサーバＳｒとの間でファイアウォール１０を通過するＶＰＮトンネルＴ１が形成される。ＶＰＮノードＢからのＶＰＮノードＡを相手先とする接続要求に応じて、ノード管理サーバ４０は、ＶＰＮノードＢにＶＰＮクライアントＣｂを起動させ、中継サーバ５０に対し、ＶＰＮノードＢからのデータをＶＰＮノードＡに転送するよう指示する。ＶＰＮクライアントＣｂとＶＰＮサーバＳａとの間でＶＰＮトンネルＴ２が形成される。【選択図】図１０
2010081109.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ異なるファイアウォールを介して通信手段に接続された複数の情報処理装置と、前記情報処理装置間の通信を管理する管理装置と、前記情報処理装置間の通信を中継する中継装置であって前記通信手段に接続された中継装置と、を備え、
前記管理装置は、
前記複数の情報処理装置のうちの１つから、接続する相手先の情報処理装置を特定する接続要求を受けた場合に、前記接続要求の要求元の情報処理装置に対して前記中継装置に接続する接続方式を指示する接続方式指示手段であって、前記接続要求で特定された相手先の情報処理装置から前記要求元の情報処理装置を相手先として特定する接続要求を未だ受けていなければ、接続元装置として前記中継装置に接続する第１接続方式を指示し、前記相手先の情報処理装置から前記要求元の情報処理装置を相手先として特定する接続要求をすでに受けていれば、接続先装置として前記中継装置に接続する第２接続方式を指示する、接続方式指示手段と、
前記接続方式指示手段が前記第１接続方式を指示した場合に、前記中継装置に対して、前記要求元の情報処理装置である接続元装置からの接続開始の要求を待ち受けることを指示する待受指示を出す待受指示手段と、
前記接続方式指示手段が前記第２接続方式を指示した場合に、前記中継装置に対して、前記接続要求で特定された相手先の情報処理装置を接続元装置とし、前記要求元の情報処理装置である接続先装置から受信した情報を前記接続元装置へ転送することを指示する転送指示を出す転送指示手段と、を備え、
前記中継装置は、
前記管理装置から前記待受指示を受けた場合に、前記接続元装置からの接続開始の要求を待ち受ける待受手段と、
前記管理装置から前記転送指示を受けた場合に、前記接続先装置から受信した情報を前記接続元装置へ転送する転送手段と、を備え、
前記情報処理装置は、
前記管理装置に対して前記接続要求を行う接続要求手段と、
前記接続要求に応じて前記管理装置から指示される接続方式に従って、前記中継装置に対して、前記ファイアウォール及び前記通信手段を介して接続開始の要求を行う接続開始要求手段と、
前記接続方式が前記第１接続方式である場合に、前記接続要求で特定した相手先の情報処理装置である接続先装置からの接続開始の要求を待ち受ける待受手段と、を備える、
ことを特徴とする通信システム。
【請求項２】
前記第１接続方式は、接続元装置として前記中継装置に接続する接続方式であって当該接続元装置と前記中継装置との間の通信データを暗号化しない接続方式であり、
前記第２接続方式は、接続先装置として前記中継装置に接続する接続方式であって当該接続先装置と前記中継装置との間の通信データを暗号化する接続方式である、
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記管理装置において、
前記待受指示手段は、さらに、前記接続元装置に対して割り当てられた仮想的な宛先情報である仮想アドレスを前記中継装置に送信し、
前記転送指示手段は、さらに、前記接続要求で特定された相手先の情報処理装置である接続元装置の前記仮想アドレスを前記中継装置に送信し、
前記中継装置において、
前記待受手段が前記接続元装置からの接続開始の要求を受けた後、前記接続元装置の前記仮想アドレスを宛先として含む送信情報について、前記接続元装置の前記通信手段において一意な宛先情報であるグローバルアドレスを宛先として含むヘッダ情報を付加した上で前記通信手段に送出する送出手段、をさらに備え、
前記転送手段は、前記接続先装置から受信した情報を、前記管理装置の前記転送指示手段から取得した前記接続元装置の前記仮想アドレスを宛先して含む送信情報として前記送出手段に渡すことで前記接続元装置へ転送する、
ことを特徴とする請求項１又は２に記載の通信システム。
【請求項４】
それぞれ異なるファイアウォールを介して通信手段に接続された複数の情報処理装置のうちの１つから、接続する相手先の情報処理装置を特定する接続要求を受けた場合に、前記接続要求の要求元の情報処理装置と前記相手先として指定された情報処理装置との間の通信を中継する中継装置であって前記通信手段に接続された中継装置に接続する接続方式を前記要求元の情報処理装置に対して指示する接続方式指示手段であって、前記接続要求で特定された相手先の情報処理装置から前記要求元の情報処理装置を相手先として特定する接続要求を未だ受けていなければ、接続元装置として前記中継装置に接続する第１接続方式を指示し、前記相手先の情報処理装置から前記要求元の情報処理装置を相手先として特定する接続要求をすでに受けていれば、接続先装置として前記中継接続に接続する第２接続方式を指示する、接続方式指示手段と、
前記接続方式指示手段が前記第１接続方式を指示した場合に、前記中継装置に対して、前記要求元の情報処理装置である接続元装置からの接続開始の要求を待ち受けることを指示する待受指示を出す待受指示手段と、
前記接続方式指示手段が前記第２接続方式を指示した場合に、前記中継装置に対して、前記接続要求で特定された相手先の情報処理装置を接続元装置とし、前記要求元の情報処理装置である接続先装置から受信した情報を前記接続元装置へ転送することを指示する転送指示を出す転送指示手段と、
を備えることを特徴とする管理装置。
【請求項５】
コンピュータに、
それぞれ異なるファイアウォールを介して通信手段に接続された複数の情報処理装置のうちの１つから、接続する相手先の情報処理装置を特定する接続要求を受けた場合に、前記接続要求の要求元の情報処理装置と前記相手先として指定された情報処理装置との間の通信を中継する中継装置であって前記通信手段に接続された中継装置に接続する接続方式を前記要求元の情報処理装置に対して指示する接続方式指示ステップであって、前記接続要求で特定された相手先の情報処理装置から前記要求元の情報処理装置を相手先として特定する接続要求を未だ受けていなければ、接続元装置として前記中継装置に接続する第１接続方式を指示し、前記相手先の情報処理装置から前記要求元の情報処理装置を相手先として特定する接続要求をすでに受けていれば、接続先装置として前記中継接続に接続する第２接続方式を指示する、接続方式指示ステップと、
前記接続方式指示ステップで前記第１接続方式を指示した場合に、前記中継装置に対して、前記要求元の情報処理装置である接続元装置からの接続開始の要求を待ち受けることを指示する待受指示を出す待受指示ステップと、
前記接続方式指示ステップで前記第２接続方式を指示した場合に、前記中継装置に対して、前記接続要求で特定された相手先の情報処理装置を接続元装置とし、前記要求元の情報処理装置である接続先装置から受信した情報を前記接続元装置へ転送することを指示する転送指示を出す転送指示ステップと、
を実行させることを特徴とするプログラム。
【請求項６】
それぞれ異なるファイアウォールを介して通信手段に接続された複数の情報処理装置の間の通信を管理する管理装置からの指示であって前記複数の情報処理装置のうちの１つを接続元装置として特定する待受指示に従って、前記ファイアウォール及び前記通信手段を介して送信される前記接続元装置からの接続開始の要求を待ち受ける待受手段と、
前記管理装置からの指示であって前記複数の情報処理装置のうち前記接続元装置の他の１つを接続先装置として特定し前記接続先装置からの情報を前記接続元装置へ転送することを指示する転送指示に従って、前記ファイアウォール及び前記通信手段を介して前記接続先装置から受信した情報を前記接続元装置へ転送する転送手段と、
を備えることを特徴とする中継装置。
【請求項７】
コンピュータに、
それぞれ異なるファイアウォールを介して通信手段に接続された複数の情報処理装置の間の通信を管理する管理装置からの指示であって前記複数の情報処理装置のうちの１つを接続元装置として特定する待受指示に従って、前記ファイアウォール及び前記通信手段を介して送信される前記接続元装置からの接続開始の要求を待ち受ける待受ステップと、
前記管理装置からの指示であって前記複数の情報処理装置のうち前記接続元装置の他の１つを接続先装置として特定し前記接続先装置からの情報を前記接続元装置へ転送することを指示する転送指示に従って、前記ファイアウォール及び前記通信手段を介して前記接続先装置から受信した情報を前記接続元装置へ転送する転送ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、管理装置、中継装置、及びプログラムに関する。
【背景技術】
【０００２】
例えば企業内のＬＡＮ（Local Area Network）など、特定のユーザが利用するネットワーク（以下、「内部ネットワーク」とも言う）同士を、インターネットなど不特定のユーザが利用するネットワーク（以下、「外部ネットワーク」とも言う）により接続することがある。このような場合に、外部ネットワークを介した通信におけるセキュリティを確保するため、内部ネットワークと外部ネットワークとの間にファイアウォールが設けられることがある。ファイアウォールは、例えば、内部ネットワーク上の装置から開始される通信についてはファイアウォールを通過するデータパケットの送受信を許容する一方で、外部ネットワークから内部ネットワーク上の装置に対して開始される通信のデータパケットについては内部ネットワークへ通さない機能を有する。
【０００３】
また、通信のセキュリティを確保する技術として、インターネットなどの公衆に利用可能なネットワークを経由して仮想的なプライベートネットワークを構築する技術であるＶＰＮ（Virtual Private Network）が知られている。２つの情報処理装置（ノード）間でＶＰＮ接続による通信を行う場合、通常、一方のノード（ＶＰＮハブ）が他方のノード（ＶＰＮスポーク）からの接続開始要求に応じることで、両ノード間のＶＰＮ接続が形成される。しかしながら、ファイアウォールを介して外部ネットワークに接続された内部ネットワーク上にＶＰＮハブを設けると、外部ネットワークに接続されたＶＰＮスポークからの接続開始要求がファイアウォールによって遮断され、ＶＰＮハブとＶＰＮスポークとの間のＶＰＮ接続を形成することができない。
【０００４】
特許文献１には、複数のファイアウォールが介在する環境でクライアントとサーバとの通信を行うシステムにおいて、ファイアウォール等を中継サーバとし、この中継サーバに中継経路制御テーブルを持たせ、この中継経路制御テーブルを参照して通信の中継を行うことで、ファイアウォールを介して接続されたクライアントとサーバとの間の通信を可能とするシステムが開示されている。
【０００５】
特許文献２には、ファイアウォールを介してインターネットにそれぞれ接続したコンピュータやＬＡＮなどの通信装置間で通信を行うシステムであって、各通信装置と各ファイアウォールとの間にプロトコル変換装置を設け、インターネット上に中継サーバを設けたシステムが開示されている。このシステムのプロトコル変換装置は、送信元の通信装置からのデータを、ファイアウォールを透過可能の形式のパケットに変換して送出し、ファイアウォールを介して受信したパケットを送信先の通信装置へのデータに復元する。また、このシステムの中継サーバは、複数のプロトコル変換装置間の伝送パケットを中継伝送する。
【０００６】
【特許文献１】特開平１０−１２６４４０号公報
【特許文献２】特開２００４−６４４９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、ファイアウォールを介して外部ネットワークに接続された装置間の通信において、通信を行う複数の装置のそれぞれが外部ネットワーク上の中継装置との間で通信セッションを確立する場合と比較して中継装置の処理負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、それぞれ異なるファイアウォールを介して通信手段に接続された複数の情報処理装置と、前記情報処理装置間の通信を管理する管理装置と、前記情報処理装置間の通信を中継する中継装置であって前記通信手段に接続された中継装置と、を備え、前記管理装置は、前記複数の情報処理装置のうちの１つから、接続する相手先の情報処理装置を特定する接続要求を受けた場合に、前記接続要求の要求元の情報処理装置に対して前記中継装置に接続する接続方式を指示する接続方式指示手段であって、前記接続要求で特定された相手先の情報処理装置から前記要求元の情報処理装置を相手先として特定する接続要求を未だ受けていなければ、接続元装置として前記中継装置に接続する第１接続方式を指示し、前記相手先の情報処理装置から前記要求元の情報処理装置を相手先として特定する接続要求をすでに受けていれば、接続先装置として前記中継装置に接続する第２接続方式を指示する、接続方式指示手段と、前記接続方式指示手段が前記第１接続方式を指示した場合に、前記中継装置に対して、前記要求元の情報処理装置である接続元装置からの接続開始の要求を待ち受けることを指示する待受指示を出す待受指示手段と、前記接続方式指示手段が前記第２接続方式を指示した場合に、前記中継装置に対して、前記接続要求で特定された相手先の情報処理装置を接続元装置とし、前記要求元の情報処理装置である接続先装置から受信した情報を前記接続元装置へ転送することを指示する転送指示を出す転送指示手段と、を備え、前記中継装置は、前記管理装置から前記待受指示を受けた場合に、前記接続元装置からの接続開始の要求を待ち受ける待受手段と、前記管理装置から前記転送指示を受けた場合に、前記接続先装置から受信した情報を前記接続元装置へ転送する転送手段と、を備え、前記情報処理装置は、前記管理装置に対して前記接続要求を行う接続要求手段と、前記接続要求に応じて前記管理装置から指示される接続方式に従って、前記中継装置に対して、前記ファイアウォール及び前記通信手段を介して接続開始の要求を行う接続開始要求手段と、前記接続方式が前記第１接続方式である場合に、前記接続要求で特定した相手先の情報処理装置である接続先装置からの接続開始の要求を待ち受ける待受手段と、を備える、ことを特徴とする通信システムである。
【０００９】
請求項２に係る発明は、請求項１に係る発明において、前記第１接続方式は、接続元装置として前記中継装置に接続する接続方式であって当該接続元装置と前記中継装置との間の通信データを暗号化しない接続方式であり、前記第２接続方式は、接続先装置として前記中継装置に接続する接続方式であって当該接続先装置と前記中継装置との間の通信データを暗号化する接続方式である。
【００１０】
請求項３に係る発明は、請求項１又は２に係る発明において、前記管理装置において、前記待受指示手段は、さらに、前記接続元装置に対して割り当てられた仮想的な宛先情報である仮想アドレスを前記中継装置に送信し、前記転送指示手段は、さらに、前記接続要求で特定された相手先の情報処理装置である接続元装置の前記仮想アドレスを前記中継装置に送信し、前記中継装置において、前記待受手段が前記接続元装置からの接続開始の要求を受けた後、前記接続元装置の前記仮想アドレスを宛先として含む送信情報について、前記接続元装置の前記通信手段において一意な宛先情報であるグローバルアドレスを宛先として含むヘッダ情報を付加した上で前記通信手段に送出する送出手段、をさらに備え、前記転送手段は、前記接続先装置から受信した情報を、前記管理装置の前記転送指示手段から取得した前記接続元装置の前記仮想アドレスを宛先して含む送信情報として前記送出手段に渡すことで前記接続元装置へ転送する。
【００１１】
請求項４に係る発明は、それぞれ異なるファイアウォールを介して通信手段に接続された複数の情報処理装置のうちの１つから、接続する相手先の情報処理装置を特定する接続要求を受けた場合に、前記接続要求の要求元の情報処理装置と前記相手先として指定された情報処理装置との間の通信を中継する中継装置であって前記通信手段に接続された中継装置に接続する接続方式を前記接続要求の要求元の情報処理装置に対して指示する接続方式指示手段であって、前記接続要求で特定された相手先の情報処理装置から前記要求元の情報処理装置を相手先として特定する接続要求を未だ受けていなければ、接続元装置として前記中継装置に接続する第１接続方式を指示し、前記相手先の情報処理装置から前記要求元の情報処理装置を相手先として特定する接続要求をすでに受けていれば、接続先装置として前記中継接続に接続する第２接続方式を指示する、接続方式指示手段と、前記接続方式指示手段が前記第１接続方式を指示した場合に、前記中継装置に対して、前記要求元の情報処理装置である接続元装置からの接続開始の要求を待ち受けることを指示する待受指示を出す待受指示手段と、前記接続方式指示手段が前記第２接続方式を指示した場合に、前記中継装置に対して、前記接続要求で特定された相手先の情報処理装置を接続元装置とし、前記要求元の情報処理装置である接続先装置から受信した情報を前記接続元装置へ転送することを指示する転送指示を出す転送指示手段と、を備えることを特徴とする管理装置である。
【００１２】
請求項５に係る発明は、コンピュータに、それぞれ異なるファイアウォールを介して通信手段に接続された複数の情報処理装置のうちの１つから、接続する相手先の情報処理装置を特定する接続要求を受けた場合に、前記接続要求の要求元の情報処理装置と前記相手先として指定された情報処理装置との間の通信を中継する中継装置であって前記通信手段に接続された中継装置に接続する接続方式を前記接続要求の要求元の情報処理装置に対して指示する接続方式指示ステップであって、前記接続要求で特定された相手先の情報処理装置から前記要求元の情報処理装置を相手先として特定する接続要求を未だ受けていなければ、接続元装置として前記中継装置に接続する第１接続方式を指示し、前記相手先の情報処理装置から前記要求元の情報処理装置を相手先として特定する接続要求をすでに受けていれば、接続先装置として前記中継接続に接続する第２接続方式を指示する、接続方式指示ステップと、前記接続方式指示ステップで前記第１接続方式を指示した場合に、前記中継装置に対して、前記要求元の情報処理装置である接続元装置からの接続開始の要求を待ち受けることを指示する待受指示を出す待受指示ステップと、前記接続方式指示ステップで前記第２接続方式を指示した場合に、前記中継装置に対して、前記接続要求で特定された相手先の情報処理装置を接続元装置とし、前記要求元の情報処理装置である接続先装置から受信した情報を前記接続元装置へ転送することを指示する転送指示を出す転送指示ステップと、を実行させることを特徴とするプログラムである。
【００１３】
請求項６に係る発明は、それぞれ異なるファイアウォールを介して通信手段に接続された複数の情報処理装置の間の通信を管理する管理装置からの指示であって前記複数の情報処理装置のうちの１つを接続元装置として特定する待受指示に従って、前記ファイアウォール及び前記通信手段を介して送信される前記接続元装置からの接続開始の要求を待ち受ける待受手段と、前記管理装置からの指示であって前記複数の情報処理装置のうち前記接続元装置の他の１つを接続先装置として特定し前記接続先装置からの情報を前記接続元装置へ転送することを指示する転送指示に従って、前記ファイアウォール及び前記通信手段を介して前記接続先装置から受信した情報を前記接続元装置へ転送する転送手段と、を備えることを特徴とする中継装置である。
【００１４】
請求項７に係る発明は、コンピュータに、それぞれ異なるファイアウォールを介して通信手段に接続された複数の情報処理装置の間の通信を管理する管理装置からの指示であって前記複数の情報処理装置のうちの１つを接続元装置として特定する待受指示に従って、前記ファイアウォール及び前記通信手段を介して送信される前記接続元装置からの接続開始の要求を待ち受ける待受ステップと、前記管理装置からの指示であって前記複数の情報処理装置のうち前記接続元装置の他の１つを接続先装置として特定し前記接続先装置からの情報を前記接続元装置へ転送することを指示する転送指示に従って、前記ファイアウォール及び前記通信手段を介して前記接続先装置から受信した情報を前記接続元装置へ転送する転送ステップと、を実行させることを特徴とするプログラムである。
【発明の効果】
【００１５】
請求項１、４、５、６又は７に係る発明によると、複数の情報処理装置のそれぞれと中継装置との間で通信セッションを確立する場合と比較して、より小さい中継装置の処理負荷により、それぞれ異なるファイアウォールを介して通信手段に接続された複数の情報処理装置の間の通信を実現できる。
【００１６】
請求項２に係る発明によると、中継装置において通信データの暗号化処理を行うことなく、ファイアウォールを介して通信手段に接続された情報処理装置間の暗号化通信を行うことができる。
【００１７】
請求項３に係る発明によると、通信元の情報処理装置と中継装置との間で確立される通信セッションを利用して、通信先の情報処理装置は、中継装置との間で通信セッションを確立することなく通信元の装置と通信できる。
【発明を実施するための最良の形態】
【００１８】
図１は、通信システムの概略構成の例を示すブロック図である。図１に例示する通信システムは、それぞれ異なるファイアウォール１０−１，１０−２，…，１０−Ｎ（以下、「ファイアウォール１０」と総称する）を介してインターネット２０に接続された複数の情報処理装置３０−１，３０−２，…，３０−Ｎ（以下、「情報処理装置３０」と総称する）と、ノード管理サーバ４０と、中継サーバ５０−１，…，５０−Ｍ（以下、「中継サーバ５０」と総称する）と、を含む。ノード管理サーバ４０及び中継サーバ５０は、インターネット２０に接続される。
【００１９】
本例では、各ファイアウォール１０は、その配下の情報処理装置３０から送信される送信データパケットとその送信データパケットに対する応答データパケットとを通過させ、その他のデータパケットは通過させないよう設定される。各情報処理装置３０は、他の情報処理装置３０との間でＶＰＮによる通信を行う。以下、情報処理装置３０をＶＰＮノードとも呼ぶ。ノード管理サーバ４０は、情報処理装置３０間の通信を管理する管理装置である。中継サーバ５０は、情報処理装置３０間の通信を中継する中継装置である。
【００２０】
図２は、ノード管理サーバ４０の内部構成の概略の例を示すブロック図である。ノード管理サーバ４０は、制御部４２、記憶部４４、及び通信部４６がバス４８により互いに接続された構成を有する。
【００２１】
記憶部４４は、制御部４２における処理で用いられる情報を記憶する。記憶部４４は、例えば、ノード管理テーブル、中継サーバ管理テーブル、及びセッション管理テーブルなどを記憶する。ノード管理テーブルは、ノード管理サーバ４０に登録されたＶＰＮノードに関する情報を保持するテーブルである。ノード管理テーブルは、例えば、登録された各ＶＰＮノードのノードＩＤ（識別子）を含む。中継サーバ管理テーブルは、インターネット上の中継サーバ５０に関する情報を保持するテーブルである。中継サーバ管理テーブルは、例えば、各中継サーバ５０のグローバルＩＰアドレスのリストであってよい。中継サーバ管理テーブルの値は、例えば、各中継サーバ５０の管理者などにより設定される。セッション管理テーブルについては後述する。
【００２２】
通信部４６は、中継サーバ５０や情報処理装置３０などの他の装置との間の通信データを送受信するインタフェースとして機能する。通信部４６は、例えば、他の装置からデータを受信すると、バス４８を介して受信データを制御部４２に渡す。また例えば、通信部４６は、バス４８を介して制御部４２から受け取った送信データを他の装置に対して送り出す。
【００２３】
制御部４２は、ノード管理サーバ４０における各種の処理を実行する。制御部４２は、バス４８を介して記憶部４４から情報を読み出したり記憶部４４に情報を書き込んだりすることで各種の処理を実行する。制御部４２は、ノード登録手段４２０、接続要求処理手段４２２、接続方式指示手段４２４、待受指示手段４２６、及びＮＡＴ（Network Address Translation）指示手段４２８を備える。
【００２４】
ノード登録手段４２０は、ＶＰＮノードからのノード登録要求に応じて、要求元のＶＰＮノードをノード管理サーバ４０に登録する。ノード登録手段４２０は、例えば、ノード登録要求に含まれる要求元のＶＰＮノードのノードＩＤを記憶部４４中のノード管理テーブルに登録する。
【００２５】
接続要求処理手段４２２は、ＶＰＮノードからの接続要求に応じた処理を行う。ＶＰＮノードからの接続要求は、その要求元のＶＰＮノードが接続を求める相手先のＶＰＮノードを特定する情報を含む。本実施形態の例では、接続要求は、要求元のＶＰＮノードのノードＩＤと相手先のＶＰＮノードのノードＩＤとを含むものとする。接続要求処理手段４２２は、例えば、要求元のＶＰＮノードと相手先のＶＰＮノードとの間の通信を確立するために用いる情報を記憶部４４中のセッション管理テーブルに登録する。
【００２６】
セッション管理テーブルは、ＶＰＮノード間の通信に関する情報を保持するテーブルである。図３に、セッション管理テーブルの内容の例を示す。図３の例の表の１行は、特定の２つのＶＰＮノードの間の通信に関する情報を表すレコードである。
【００２７】
図３を参照し、セッション管理テーブルの各レコードは、セッションＩＤ、中継サーバＩＰ、ＳＲＣノードＩＤ、ＤＳＴノードＩＤ、中継サーバ仮想ＩＰ、ＳＲＣノード仮想ＩＰ、ＳＲＣ用待受ポート、ＤＳＴ用待受ポート、及び状態の各項目を有する。セッションＩＤは、当該レコードに対応するＶＰＮノード間の通信のために形成される接続セッションの識別子である。中継サーバＩＰは、当該レコードに対応するＶＰＮノード間の通信を中継する中継装置のグローバルＩＰアドレスである。ＳＲＣノードＩＤは、当該レコードに対応する２つのＶＰＮノードのうち、先にノード管理サーバ４０に対して接続要求を行ったＶＰＮノードのノードＩＤである。ＤＳＴノードＩＤは、当該レコードに対応する２つのＶＰＮノードのうち、ＳＲＣノードＩＤが表すノード（以下、「ＳＲＣノード」と言う）の他のＶＰＮノードのノードＩＤである。言い換えると、ＤＳＴノードＩＤは、ＳＲＣノードがノード管理サーバ４０に対して行った接続要求に含まれる相手先のＶＰＮノードのノードＩＤである。中継サーバ仮想ＩＰは、中継サーバ５０の仮想的なＩＰアドレスである。ＳＲＣノード仮想ＩＰは、ＳＲＣノードの仮想的なＩＰアドレスである。中継サーバ仮想ＩＰ及びＳＲＣノード仮想ＩＰは、後述するように、中継サーバ５０とＳＲＣノードとの間のＶＰＮ接続の形成に用いられる。ＳＲＣ用待受ポートは、ＳＲＣノードと中継装置との間のＶＰＮ接続で用いられるポート番号を表す。ＤＳＴ用待受ポートは、ＤＳＴノードＩＤが表すＶＰＮノード（以下、「ＤＳＴノード」と言う）と中継サーバ５０との間の通信で用いられるポート番号を表す。状態の項目は、ノード管理サーバ４０において、ＳＲＣノードＩＤを接続の相手先のノードＩＤとして含む接続要求をＤＳＴノードから受けたか否かを表す。図３の例では、状態の項目の値が「待ち」であれば、ノード管理サーバ４０がＤＳＴノードからＳＲＣノードへの接続要求を未だ受けていないことを表し、「確定」であれば、ＤＳＴノードからＳＲＣノードへの接続要求をノード管理サーバ４０が受けたことを表す。
【００２８】
再び図２を参照し、接続要求処理手段４２２は、ＶＰＮノードから接続要求を受けると、例えば、セッション管理テーブルを参照し、要求元のＶＰＮノードのノードＩＤをＤＳＴノードＩＤとして含み、かつ接続要求中の相手先のＶＰＮノードのノードＩＤをＳＲＣノードＩＤとして含むＶＰＮレコードを検索する。そのようなレコードがセッション管理テーブルに存在すれば、そのレコードにおいて状態の項目の値を「確定」に設定する。そのようなレコードが存在しなければ、新たなセッションＩＤを含むレコードを生成してセッション管理テーブルに登録する。そして、この新規登録されたレコードにおいて、要求元のＶＰＮノードのノードＩＤをＳＲＣノードＩＤに設定し、接続要求中の相手先のＶＰＮノードのノードＩＤをＤＳＴノードＩＤに設定し、状態の項目の値を「待ち」に設定する。さらに、記憶部４４中の中継サーバ管理テーブルに登録された中継サーバ５０のうちから１つを選択し、選択した中継サーバ５０のＩＰアドレスを新規登録されたレコードの中継サーバＩＰに設定する。また、接続要求処理手段４２２は、新規登録されたレコードにおいて、中継サーバ仮想ＩＰ、ＳＲＣノード仮想ＩＰ、ＳＲＣ用待受ポート、及びＤＳＴ用待受ポートの各項目につき、予め設定された規則に従って割り当てた値を設定する。
【００２９】
接続要求処理手段４２２は、さらに、接続方式指示手段４２４に対し、受け取った接続要求の要求元のＶＰＮノードがセッション管理テーブルにおいてＳＲＣノードであるかＤＳＴノードであるかを通知する。また、接続要求処理手段４２２は、要求元のＶＰＮノードがＳＲＣノードであれば待受指示手段４２６に対してその旨を通知し、ＤＳＴノードであればＮＡＴ指示手段４２８に対してその旨を通知する。
【００３０】
接続方式指示手段４２４は、接続要求の要求元のＶＰＮノードに対して、中継サーバ５０に接続する接続方式を指示する。本実施形態の例では、接続方式指示手段４２４は、要求元のＶＰＮノードに対し、中継サーバ５０のグローバルＩＰアドレス、中継サーバ５０に接続する際の接続先ポート番号、及び、通信データの暗号化の有無を指示する。中継サーバ５０のグローバルＩＰアドレスとしては、要求元のＶＰＮノードが登録されたセッション管理テーブルのレコード中の中継サーバＩＰの値を指示する。接続先ポート番号及び通信データの暗号化の有無については、接続方式指示手段４２４は、要求元のＶＰＮノードがＳＲＣノードであるかＤＳＴノードであるかによって異なる値を指示する。本例では、要求元のＶＰＮノードがＳＲＣノードである場合、対応するセッション管理テーブルのレコード中のＳＲＣ用待受ポートの値を接続先ポート番号として指示し、かつ、通信データの暗号化を行わないことを指示する。要求元のＶＰＮノードがＤＳＴノードである場合は、対応するセッション管理テーブルのレコード中のＤＳＴ用待受ポートの値を接続先ポート番号として指示し、かつ、通信データの暗号化を行うことを指示する。以上より、本実施形態の例の接続方式指示手段４２４は、要求元のＶＰＮノードに対し、ＳＲＣノードとして接続する接続方式又はＤＳＴノードとして接続する接続方式を指示するものであると言える。
【００３１】
待受指示手段４２６は、接続要求の要求元のＶＰＮノードがＳＲＣノードである場合に、このＳＲＣノードと対応するＤＳＴノードとの間の通信を中継する中継サーバ５０に対して、このＳＲＣノードからのＶＰＮ接続を待ち受けることを指示する待受指示を行う。待受指示手段４２６は、例えば、セッション管理テーブルにおいて当該ＳＲＣノードが登録されたレコード中の中継サーバＩＰを有する中継サーバ５０に対し、待受指示とともに、対応するセッションＩＤ、ＳＲＣノードＩＤ、中継サーバ仮想ＩＰ、ＳＲＣノード仮想ＩＰ、及びＳＲＣ用待受ポートの値を渡す。
【００３２】
ＮＡＴ指示手段４２８は、接続要求の要求元のＶＰＮノードがＤＳＴノードである場合に、このＤＳＴノードと対応するＳＲＣノードとの間の通信を中継する中継サーバ５０に対して、このＤＳＴノードから受信したデータパケットの宛先を、ＳＲＣノードを表す宛先に書き換えることを指示するＮＡＴ指示を行う。本実施形態の例では、ＮＡＴ指示手段４２８は、対応するセッション管理テーブルのレコード中のセッションＩＤ、ＤＳＴ用待受ポート、ＳＲＣノード仮想ＩＰ、及びＳＲＣ用待受ポートの値を中継サーバ５０に渡すとともに、ＤＳＴ用待受ポートのポート番号で受信したデータパケットの宛先を、ＳＲＣノード仮想ＩＰ及びＳＲＣ用待受ポートの組を含む宛先に書き換えることを指示する。
【００３３】
図４は、中継サーバ５０の内部構成の概略例を示すブロック図である。中継サーバ５０は、制御部５２、記憶部５４、及び通信部５６がバス５８により互いに接続された構成を備える。
【００３４】
記憶部５４は、制御部５２における処理で用いられる情報を記憶する。記憶部５４は、例えば、後述の待受用ＶＰＮセッションテーブル及びＮＡＴ処理用テーブルなどを記憶する。
【００３５】
通信部５６は、情報処理装置３０やノード管理サーバ４０などの他の装置との間の通信データを送受信するインタフェースとして機能する。
【００３６】
制御部５２は、中継サーバ５０における各種の処理を実行する。制御部５２は、ＶＰＮサーバ起動手段５２０及びＮＡＴ処理手段５２２を備える。
【００３７】
ＶＰＮサーバ起動手段５２０は、ノード管理サーバ４０から上述の待受指示を受けた場合に、ＳＲＣノードからのＶＰＮ接続を待ち受けるＶＰＮサーバを起動する。ＶＰＮサーバは、ＶＰＮスポークとして機能する装置からのＶＰＮ接続開始の要求を待ち受けて、その装置との間でＶＰＮ接続を形成するＶＰＮハブとして機能するソフトウエアであってよい。このＶＰＮサーバが形成するＶＰＮ接続に関する情報は、例えば、記憶部５４の待受用ＶＰＮセッションテーブルに登録される。
【００３８】
図５に、待受用ＶＰＮセッションテーブルの内容の例を示す。図５を参照し、待受用ＶＰＮセッションテーブルには、待受指示とともにノード管理サーバ４０から受信したセッションＩＤ、ＳＲＣノードＩＤ、ＳＲＣ用待受ポート、中継サーバ仮想ＩＰ、及びＳＲＣノード仮想ＩＰが登録される。
【００３９】
再び図４を参照し、ＮＡＴ処理手段５２２は、ノード管理サーバ４０からの上述のＮＡＴ指示に従った処理を行う。ＮＡＴ処理手段５２２は、例えば、ノード管理サーバ４０からＮＡＴ指示を受けると、そのＮＡＴ指示に従って、アドレス変換の規則（ＮＡＴルール）を記憶部５４中のＮＡＴ処理用テーブルに登録する。また、ＮＡＴ処理手段５２２は、ＮＡＴ処理用テーブルに登録されたＮＡＴルールに従って、通信部５６が受信したデータパケットのヘッダ情報中の宛先アドレス又は送信元アドレスを書き換える。
【００４０】
図６に、ＮＡＴ処理用テーブルの内容の例を示す。図６の例の表の１行は、１つのＮＡＴルールを表す。図６を参照し、ＮＡＴ処理用テーブルの各ＮＡＴルールは、セッションＩＤ、ＤＳＴ用待受ポート、リダイレクト先ＩＰ、及びリダイレクト先ポートを含み、それぞれ、ＮＡＴ指示とともにノード管理サーバ４０から受信したセッションＩＤ、ＤＳＴ用待受ポート、ＳＲＣノード仮想ＩＰ、及びＳＲＣ用待受ポートの値に設定される。図６の例のＮＡＴルールは、ＤＳＴ用待受ポートのポート番号で受信したデータパケットの宛先アドレスを、リダイレクト先ＩＰ及びリダイレクト先ポートを含む宛先アドレスに書き換えることを表す。
【００４１】
次に、図７を参照し、ＶＰＮノードとなる情報処理装置３０について説明する。図７に、各情報処理装置３０の概略構成の例を示す。情報処理装置３０は、制御部３２、記憶部３４、及び通信部３６がバス３８により互いに接続された構成を有する。
【００４２】
記憶部３４は、制御部３２における処理に必要な情報を記憶する。例えば、記憶部３４は、ノード管理サーバＩＰ（Internet Protocol）、自ノード情報、接続相手先情報、及びＶＰＮ接続セッション情報などを記憶する。ノード管理サーバＩＰは、ノード管理サーバ４０のグローバルＩＰアドレス（インターネット上の各装置に一意なアドレス）である。自ノード情報は、自装置に関する情報であり、例えば、自装置のノードＩＤ及びＩＰアドレスなどを含む。接続先相手情報は、接続相手となる他のＶＰＮノードに関する情報であり、例えば、そのＶＰＮノードのノードＩＤなどを含む。接続先相手情報は、例えば、図示しない入力装置を介してシステムの管理者などによる入力を受け付けて記憶部３４に記憶される。また例えば、制御部３２がノード管理サーバ４０に対して、自装置と接続可能なＶＰＮノードのノードＩＤを問合わせることで接続先相手情報を取得してもよい。ＶＰＮ接続セッション情報は、ＶＰＮクライアント起動手段３２４が起動するＶＰＮクライアントにより形成されるＶＰＮ接続に関する情報を含む。ＶＰＮサーバ起動手段３２６がＶＰＮサーバを起動する場合、ＶＰＮ接続セッション情報は、さらに、ＶＰＮサーバが形成するＶＰＮ接続に関する情報を含む。
【００４３】
通信部３６は、他の装置との間の通信データを送受信するインタフェースとして機能する。
【００４４】
制御部３２は、ＶＰＮノードにおける各種の処理を実行する。制御部３２は、ノード登録要求手段３２０、接続要求手段３２２、ＶＰＮクライアント起動手段３２４、及びＶＰＮサーバ起動手段３２６を備える。
【００４５】
ノード登録要求手段３２０は、ノード管理サーバ４０に対し、自装置を登録することを要求する。ノード登録要求手段３２０は、例えば、自装置に付与されたノードＩＤをノード管理サーバ４０に対して送信する。ノードＩＤは、各ＶＰＮノードの識別子であって、通信システム内で一意な識別子である。
【００４６】
接続要求手段３２２は、ノード管理サーバ４０に対し、他のＶＰＮノードとの接続を要求する。接続要求手段３２２は、例えば、自装置のノードＩＤと接続する相手先のＶＰＮノードのノードＩＤとを含む接続要求をノード管理サーバ４０に対して送信する。
【００４７】
ＶＰＮクライアント起動手段３２４は、接続要求手段３２２が行った接続要求に応じてノード管理サーバ４０から指示される接続方式に従って中継サーバ５０に接続するＶＰＮクライアントを起動する。ＶＰＮクライアントは、例えば、ＶＰＮハブとして機能する装置に対してＶＰＮ接続を行うＶＰＮスポークとして機能するソフトウエアであってよい。ＶＰＮクライアント起動手段３２４が起動するＶＰＮクライアントは、ノード管理サーバ４０から指示された中継サーバＩＰ及び接続先ポート番号に対してＶＰＮ接続する。このＶＰＮ接続において、ノード管理サーバ４０から指示された暗号化の有無に従って、通信データの暗号化を行うか否かが決定される。
【００４８】
ＶＰＮサーバ起動手段３２６は、ノード管理サーバ４０から指示された接続方式に応じて、他のＶＰＮノードで起動されたＶＰＮクライアントからのＶＰＮ接続を待ち受けるＶＰＮサーバを起動する。本実施形態の例では、ＶＰＮサーバ起動手段３２６は、中継サーバ５０との間の通信データの暗号化を行わないことをノード管理サーバ４０から指示された場合にＶＰＮサーバを起動する。これは、すなわち、中継サーバ５０に接続する際の接続先ポート番号としてＤＳＴ用待受ポートを指定された場合である。ＶＰＮサーバは、例えば、ＶＰＮスポークとして機能する装置からのＶＰＮ接続開始の要求を待ち受けて、その装置との間にＶＰＮ接続を形成する機能を有するソフトウエアであってよい。通信データの暗号化を行うことをノード管理サーバ４０から指示された場合、つまり、接続先ポート番号としてＳＲＣ用待受ポートを指定された場合は、ＶＰＮサーバ起動手段３２６は、ＶＰＮサーバの起動を行わない。
【００４９】
以上で説明した例の情報処理装置３０、ノード管理サーバ４０、及び中継サーバ５０は、それぞれ、例えば、汎用のコンピュータによって実現される。例えば、制御部３２，４２，５２は、コンピュータのＣＰＵ（中央演算装置）によって実現され、記憶部３４，４４，５４は、ハードディスクなどの固定記憶装置や、ＣＤやＤＶＤなどの記録媒体を読み取るディスクドライブによって実現される。制御部３２，４２，５２の各手段による処理の手順を記述したプログラムを記憶部３４，４４，５４に記憶させておき、このプログラムをＣＰＵがコンピュータの一時記憶装置（メモリ）に読み出して実行することで、ＣＰＵは上述の制御部３２，４２，５２として機能する。
【００５０】
以下、通信システムの動作の例を説明する。
【００５１】
図８は、通信システムの動作の例を表すシーケンス図である。図８は、２つのＶＰＮノード間のＶＰＮ接続を形成するときの通信システムの動作手順の例を示す。図８の例では、これら２つのＶＰＮノードをＶＰＮノードＡ（ノードＩＤは“NODE-A”）及びＶＰＮノードＢ（ノードＩＤ“NODE-B”）と表す。なお、以下では、図８のシーケンスの開始時にはセッション管理テーブルは空であるものとして説明する。
【００５２】
図８を参照し、まず、ＶＰＮノードＡ及びＶＰＮノードＢのそれぞれが自装置をノード管理サーバ４０に登録する（ステップＳ１０，Ｓ１２）。ＶＰＮノードＡ及びＶＰＮノードＢのそれぞれにおいて、制御部３２のノード登録要求手段３２０がバス３８及び通信部３６を介して自装置のノードＩＤを含む登録要求をノード管理サーバＩＰ宛に送信する。登録要求を含むデータパケットは、各ＶＰＮノードから送信されるものであるため、ファイアウォールを通過し、インターネット２０を介してノード管理サーバ４０の通信部４６により受信される。ノード管理サーバ４０の制御部４２のノード登録手段４２０は、各ＶＰＮノードのノードＩＤ“NODE-A”，“NODE-B”を記憶部４４中のノード管理テーブルに登録する。
【００５３】
その後、ＶＰＮノードＡは、ノード管理サーバ４０に対し、ＶＰＮノードＢを接続の相手先として特定する接続要求を行う（ステップＳ１４）。この接続要求は、ＶＰＮノードＡのノードＩＤ“NODE-A”を要求元のノードＩＤとして、ＶＰＮノードＢのノードＩＤ“NODE-B”を相手先のノードＩＤとして含む。接続要求を含むデータパケットは、ＶＰＮノードＡの制御部３２の接続要求手段３２２によりノード管理サーバＩＰ宛に送信される。
【００５４】
ＶＰＮノードＡからの接続要求を受けたノード管理サーバ４０は、要求元のＶＰＮノードＡの認証処理を行う（ステップＳ１６）。例えば、ノード管理サーバ４０の制御部４２の接続要求処理手段４２２において、接続要求に含まれる要求元のノードＩＤが記憶部４４中のノード管理テーブルに登録されたノードＩＤと一致するか否かによって認証処理を行う。あるいは、例えば、ノードＩＤの他にパスワードなどの認証用のデータをさらに用いて認証処理を行ってもよい。ノードＩＤとともに認証用のデータを用いて認証処理を行う例の場合、ＶＰＮノードの登録時に、各ＶＰＮノードは、自装置のノードＩＤとともに認証用のデータをノード管理サーバ４０に送信し、ノード管理サーバ４０のノード管理テーブルにはノードＩＤと認証用のデータとの組が登録される。本例では、ノードＩＤ中に認証データが含まれているものとする。
【００５５】
認証処理（ステップＳ１６）が成功すると、接続要求処理手段４２２は、記憶部４４中のセッション管理テーブルを参照し、要求元のノードＩＤ“NODE-A”をＤＳＴノードＩＤとし、相手先のノードＩＤ“NODE-B”をＳＲＣノードＩＤとするレコードを検索する。本例では、この時点でセッション管理テーブルは空であるので、そのようなレコードは検索結果として得られない。そこで、接続要求処理手段４２２は、ＶＰＮノードＡからの接続要求に対応する通信セッションに新たにセッションＩＤを付与し、このセッションＩＤのレコードをセッション管理テーブルに新規登録する。新規登録したレコードにおいて、ＳＲＣノードＩＤを要求元のノードＩＤ“NODE-A”に、ＤＳＴノードＩＤを相手先のノードＩＤ“NODE-B”に設定し、状態の項目の値を「待ち」に設定する。また、記憶部４４中の中継サーバ管理テーブルに登録された中継サーバ５０から１つ選択した中継サーバ５０のＩＰアドレスを新規登録レコードの中継サーバＩＰとして設定する。そして、中継サーバ仮想ＩＰ、ＳＲＣノード仮想ＩＰ、ＳＲＣ用待受ポート、及びＤＳＴ用待受ポートの各値を予め設定された規則に従って割り当てる。本例では、接続要求処理手段４２２は、これらの各値を以下の［例１］の規則に従って割り当てるものとする。
【００５６】
［例１］
中継サーバ仮想ＩＰ = 172.0.0.0 + セッションＩＤ* 2 - 1
ＳＲＣノード仮想ＩＰ = 172.0.0.0 + セッションＩＤ * 2
ＳＲＣ用待受ポート = 10001 （固定）
ＤＳＴ用待受ポート = 10001 + セッションＩＤ
【００５７】
［例１］の規則によると、中継サーバ仮想ＩＰ、ＳＲＣノード仮想ＩＰ、及びＤＳＴ用待受ポートについては、セッションＩＤに応じて異なる値が割り当てられる。ＳＲＣ用待受ポートには、セッションＩＤにかかわらず一定の値“10001”が割り当てられる。ＳＲＣ用待受ポートは、中継サーバ５０で起動されるＶＰＮサーバにおいてＶＰＮクライアントからのＶＰＮ接続を待ち受けるポート番号として用いられる。よって、ＳＲＣ用待受ポートの値を固定値に設定しておけば、中継サーバ５０において異なるセッションＩＤに対応する複数のＶＰＮサーバが起動される場合に、複数のＶＰＮサーバが共通して１つの待受ポートを用いてＶＰＮ接続を待ち受けることになり、中継サーバ５０において、複数のＶＰＮサーバそれぞれについて異なる待受ポートを設定する必要がない。
【００５８】
図３の例のセッション管理テーブルのセッションＩＤ“１”の行は、ＶＰＮノードＡからの接続要求（図８のステップＳ１４）に応じてセッション管理テーブルに登録されるレコードの例を示し、［例１］の規則に従って各仮想ＩＰ及び待受ポートの値が割り当てられている。
【００５９】
図８のシーケンスの例の説明に戻り、セッション管理テーブルにレコードを登録すると、ノード管理サーバ４０の制御部４２において、接続要求処理手段４２２は、接続要求の要求元であるＶＰＮノードＡがセッション管理テーブルにおいてＳＲＣノードであることを接続方式指示手段４２４に通知する。さらに、要求元がＳＲＣノードであることから、その旨を待受指示手段４２６に通知する。
【００６０】
待受指示手段４２６は、セッション管理テーブルの対応するレコード（セッションＩＤ“１”）における中継サーバＩＰの中継サーバ５０に対し、バス４８及び通信部４６を介して、ＳＲＣノード“NODE-A”からのＶＰＮ接続を待ち受けることを指示する待受指示を出す（ステップＳ１８）。この待受指示とともに、中継サーバ５０においてＶＰＮ接続の待ち受けの設定に用いられる設定情報を中継サーバ５０に送信する。本例では、設定情報として、セッションＩＤ“１”、ＳＲＣノードＩＤ“NODE-A”、中継サーバ仮想ＩＰ“172.0.0.1”、ＳＲＣノード仮想ＩＰ“172.0.0.2”、及びＳＲＣ用待受ポート“10001”を送信する。
【００６１】
待受指示を受けた中継サーバ５０は、ＶＰＮ接続の待ち受けの設定を行う（ステップＳ２０）。中継サーバ５０の制御部５２において、通信部５６及びバス５８を介してノード管理サーバ４０から取得される待受指示及び設定情報に従って、ＶＰＮサーバ起動手段５２０は、ＶＰＮ接続を待ち受けるＶＰＮサーバを起動する。取得した設定情報は記憶部５４中の待受用ＶＰＮセッションテーブルに登録される。ＶＰＮサーバの起動には、例えば、Linux（登録商標）などのＯＳ（Operating System）でＶＰＮ接続の形成に用いられるソフトウエアの１つである「vtun」を利用してよい。「vtun」ソフトウエアを利用してＶＰＮサーバを起動する場合の設定データの一例を次の［例２］に示す。
【００６２】
［例２］
仮想インタフェース名：tun1
待受ポート：10001
ローカル仮想ＩＰ：172.0.0.1
リモート仮想ＩＰ：172.0.0.2
認証データ：NODE-A
暗号：なし
【００６３】
［例２］において、仮想インタフェース名は、制御部５２が当該ＶＰＮサーバに付与する名称である。［例２］では、ノード管理サーバ４０から取得したセッションＩＤ“１”を含む仮想インタフェース名としている。待受ポートは、ＶＰＮクライアントからのＶＰＮ接続を待ち受けるポート番号を表す。ここでは、ノード管理サーバ４０から取得したＳＲＣ用待受ポート“10001”に設定される。ローカル仮想ＩＰは、自己（つまり、ＶＰＮサーバ）の仮想的なアドレスである。本例では、ノード管理サーバ４０から取得した中継サーバ５０の仮想ＩＰ“172.0.0.1”がローカル仮想ＩＰとなる。また、リモート仮想ＩＰは、ＶＰＮ接続の相手のＶＰＮクライアントの仮想的なアドレスである。本例では、ノード管理サーバ４０から取得したＳＲＣノード仮想ＩＰ“172.0.0.2”に設定される。認証データは、ＶＰＮ接続の相手のＶＰＮクライアントの認証情報である。本例では、ＳＲＣノードＩＤ“NODE-A”に設定される。暗号の項目は、ＶＰＮ接続において通信データを暗号化するか否かを表す。本実施形態の例では、ＳＲＣノードと中継サーバ５０との間のＶＰＮ接続において通信データの暗号化を行わないため、ＶＰＮサーバ起動手段５２０が起動するＶＰＮサーバの設定データにおける暗号の項目の値は、「なし」に固定される。
【００６４】
以上、中継サーバ５０におけるＶＰＮ待受設定処理（ステップＳ２０）の例を説明した。
【００６５】
ノード管理サーバ４０の制御部４２において、さらに、接続方式指示手段４２４は、ＶＰＮノードＡに対し、ステップＳ１４の接続要求に対する応答として、中継サーバ５０に接続する接続方式を指示する（ステップＳ２２）。ここで、接続方式指示手段４２４は、ＶＰＮノードＡがセッション管理テーブルにおいてＳＲＣノードであることから、ＳＲＣノードとして中継サーバ５０に接続する接続方式を指示する。具体的には、中継サーバ５０に接続するポート番号として、対応するセッション管理テーブルのレコードのＳＲＣ用待受ポート“10001”を指定する。また、中継サーバ５０との間の通信データの暗号化の有無を表す接続種別として、暗号化を行わないことを意味する「非暗号」を指示する。さらに、対応する中継サーバＩＰ“211.xxx.yyy.1”も送信する。接続方式を指示する情報を含むデータパケットは、バス４８及び通信部４６を介してインターネット２０に送り出され、ＶＰＮノードＡが行った接続要求（ステップＳ１４）に対する応答であることからＶＰＮノードＡとインターネット２０との間に設けられたファイアウォール１０を通過してＶＰＮノードＡの通信部３６により受信される。
【００６６】
接続方式の指示を受けたＶＰＮノードＡの制御部３２では、この指示に従って、ＶＰＮクライアント起動手段３２４によりＶＰＮクライアントが起動される。本例では、接続方式の指示において指定されたポート番号（ここでは、ＳＲＣ用待受ポート“10001”）及び指定された中継サーバＩＰ“211.xxx.yyy.1”に対して、暗号化を行わずにＶＰＮ接続するＶＰＮクライアントが起動される。ＶＰＮクライアント起動手段３２４は、上述の「vtun」ソフトウエアを利用してＶＰＮクライアントを起動してよい。「vtun」ソフトウエアを利用する場合の設定データの例を次の［例３］に示す。
【００６７】
［例３］
仮想インタフェース名：tunN
接続先ＶＰＮサーバ：211.xxx.yyy.1:10001
ローカル仮想ＩＰ： - 
リモート仮想ＩＰ： - 
認証データ：NODE-A
暗号：なし
【００６８】
［例３］において、仮想インタフェース名は、制御部３２が当該ＶＰＮクライアントに割り当てる名称である。接続先ＶＰＮサーバは、ノード管理サーバ４０から取得した中継サーバＩＰ“211.xxx.yyy.1”及びポート番号“10001”を表す。ローカル仮想ＩＰ及びリモート仮想ＩＰは、それぞれ、自己（ＶＰＮクライアント）の仮想的なアドレス及びＶＰＮ接続の相手のＶＰＮサーバ（ここでは、中継サーバ５０で起動されるＶＰＮサーバ）の仮想的なアドレスを表す。ローカル仮想ＩＰ及びリモート仮想ＩＰの値は、ＶＰＮクライアントがＶＰＮサーバに対してＶＰＮ接続開始の要求を行ったときにＶＰＮサーバから取得される。よって、ＶＰＮクライアント起動手段３２４によりＶＰＮクライアントが起動されたときには、未だローカル仮想ＩＰ及びリモート仮想ＩＰの値は空である。認証データは、ＶＰＮサーバにＶＰＮ接続するときにＶＰＮサーバに渡す自己の認証情報であり、自装置のノードＩＤ“NODE-A”に設定される。暗号の項目の値は、ノード管理サーバ４０から取得した接続種別に従って設定される。本例では、接続種別として「非暗号」が指示されているため、暗号の項目は「なし」に設定されている。
【００６９】
以上、ノード管理サーバ４０からの接続方式の指示に従ってＶＰＮクライアント起動手段３２４が起動するＶＰＮクライアントの例を説明した。
【００７０】
ＳＲＣノードとして接続する接続方式をノード管理サーバ４０から指示された場合、さらに、制御部３２のＶＰＮサーバ起動手段３２６は、ノード管理サーバ４０に対して行った接続要求の相手先のＶＰＮノードＢからのＶＰＮ接続を待ち受けるＶＰＮサーバを起動する。指示された接続方式がＳＲＣノードとして接続する接続方式であるか否かは、接続種別として「非暗号化」を指示されたか否かによって判定すればよい。本実施形態の例において、ノード管理サーバ４０の接続方式指示手段４２４は、ＳＲＣノードに対しては「非暗号化」を、ＤＳＴノードに対しては「暗号化」を接続種別として指示するからである。
【００７１】
ＶＰＮサーバの起動は、上述と同様に「vtun」ソフトウエアを利用してよい。次の［例４］に、ＶＰＮサーバ起動手段３２６が「vtun」ソフトウエアを利用する場合のＶＰＮサーバの設定データの例を示す。
【００７２】
［例４］
仮想インタフェース名：tunN
待受ポート：10001
ローカル仮想ＩＰ：10.255.0.1
リモート仮想ＩＰ：10.255.0.2
認証データ：NODE-B
暗号：あり
【００７３】
［例４］に示す各項目の意味は、上述の中継サーバ５０で起動されるＶＰＮサーバに関して［例２］で説明したのと同様である。仮想インタフェース名は、制御部３２が自動的に割り当てる。待受ポートは、接続方式の指示においてノード管理サーバ４０から取得したポート番号“10001”に設定する。本実施形態の例では、ＶＰＮノードのＶＰＮサーバ起動手段３２６が起動するＶＰＮサーバは、ローカル仮想ＩＰ及びリモート仮想ＩＰについて、それぞれ、当該ＶＰＮノードにおいて他に使用されていないローカルＩＰアドレスを固定値として割り当てる。［例２］では、それぞれ、“10.255.0.1”及び“10.255.0.2”に設定される。また、認証データは、接続の相手先のＶＰＮノードＢのノードＩＤ“NODE-B”に設定する。さらに、本例では、ＶＰＮサーバ起動手段３２６が起動するＶＰＮサーバの設定データにおける暗号の項目は、「あり」で固定される。
【００７４】
以上、ＶＰＮサーバ起動手段３２６が起動するＶＰＮサーバの例を説明した。
【００７５】
図８のシーケンスの例の説明に戻り、ＶＰＮノードＡは、ＶＰＮクライアント起動手段３２４が起動したＶＰＮクライアントにより、中継サーバ５０に対してＶＰＮ接続する（ステップＳ２４）。ＶＰＮノードＡで起動されたＶＰＮクライアント（［例３］）は、中継サーバ５０で起動されたＶＰＮサーバ（図８のステップＳ２０、［例２］）に対して、ＶＰＮ接続開始の要求を行う。この要求は、認証データ“NODE-A”（ＶＰＮノードＡのノードＩＤ）を含む。この要求を含むデータパケットは、ＶＰＮノードＡから送信されるものであるため、ファイアウォール１０を通過し、インターネット２０を介して中継サーバ５０の通信部で受信される。中継サーバ５０において、ＶＰＮサーバは、受信したＶＰＮ接続開始の要求に応じて、この要求に含まれる認証データ“NODE-A”と自己の設定データ中の認証データ“NODE-A”（［例２］参照）との照合によりＶＰＮノードＡの認証を行う。そして、当該ＶＰＮクライアントとの間でＶＰＮ接続を形成する処理を行う。このとき、中継サーバ５０のＶＰＮサーバがＶＰＮノードＡのＶＰＮクライアントに対して送信する情報を含むデータパケットは、ＶＰＮノードＡが行ったＶＰＮ接続開始の要求に対する応答であることから、ファイアウォール１０を通過してＶＰＮノードＡの通信部３６で受信される。また、ここで、ＶＰＮノードＡのＶＰＮクライアントは、ローカル仮想ＩＰ及びリモート仮想ＩＰの値（［例３］では空）を中継サーバ５０のＶＰＮサーバから取得する。ＶＰＮクライアントにおいて、ローカル仮想ＩＰ及びリモート仮想ＩＰは、それぞれ、［例２］に示すＶＰＮサーバのリモート仮想ＩＰ“172.0.0.2”及びローカル仮想ＩＰ“172.0.0.1”に設定される。
【００７６】
以上、ステップＳ２４までの処理により、ＶＰＮノードＡと中継サーバ５０との間でＶＰＮ接続が形成される。図９は、図８のステップＳ１４〜Ｓ２４の処理に関し、通信システムにおける通信の様子の例を示す。図９中の破線矢印は、それぞれ、図８のステップＳ１４，Ｓ１８，Ｓ２２，Ｓ２４における通信データパケットの流れを表す。図８及び図９を参照し、ＶＰＮノードＡからノード管理サーバ４０への接続要求（ステップＳ１４）に対するノード管理サーバ４０の応答（ステップＳ２２）に従って、ＶＰＮノードＡでは、ＶＰＮクライアントＣａ及びＶＰＮサーバＳａが起動される。また、ノード管理サーバ４０からのＶＰＮ待受指示（ステップＳ１８）に従って、中継サーバ５０では、ＶＰＮサーバＳｒが起動される。ＶＰＮクライアントＣａは、中継サーバ５０のグローバルＩＰアドレス“211.xxx.yyy.1”及び中継サーバ５０におけるＶＰＮサーバＳｒの待受ポート“10001”を接続先サーバとして、ＶＰＮ接続開始の要求を行う（ステップＳ２４）。これに応じて、中継サーバ５０のＶＰＮサーバＳｒとＶＰＮノードＡのＶＰＮクライアントＣａとの間でＶＰＮ接続が形成される。言い換えると、中継サーバ５０とＶＰＮノードＡとの間に、ファイアウォール１０を通過するＶＰＮトンネルＴ１が形成される。
【００７７】
ＶＰＮトンネルＴ１が形成されると、中継サーバ５０とＶＰＮノードＡとの間で、ＶＰＮトンネルＴ１を通じてデータパケットの送受信が行われる。例えば、ＶＰＮノードＡから中継サーバ５０に対して送信されるデータパケット（送信元としてＶＰＮクライアントＣａの仮想ＩＰ“172.0.0.2”を含む）は、ＶＰＮクライアントＣａにおいて、接続先サーバ（中継サーバＩＰ：待受ポート“211.xxx.yyy.1:10001”）を宛先としＶＰＮノードＡのグローバルＩＰアドレスを送信元として含むヘッダ情報を付加され（カプセル化され）て、中継サーバ５０に対して送信される。このデータパケットを受信した中継サーバ５０では、宛先のポート番号がＶＰＮサーバＳｒの待受ポート“10001”であることから、ＶＰＮサーバＳｒで受信データパケットが処理される。ＶＰＮサーバＳｒは、受信したデータパケットから、ＶＰＮクライアントＣｒが付加したヘッダ情報を取り除く（カプセル解除）。逆に、中継サーバ５０からＶＰＮノードＡに対して送信されるデータパケットについては、ＶＰＮサーバＳｒでカプセル化が行われて（つまり、ＶＰＮノードＡのグローバルＩＰアドレスを宛先とするヘッダ情報が付加されて）、ＶＰＮノードＡ宛に送り出され、ＶＰＮクライアントＣａにおいてカプセル解除が行われる。
【００７８】
再び図８を参照し、ステップＳ２４の後、ＶＰＮノードＢからノード管理サーバ４０に対し、ＶＰＮノードＡを相手先として特定する接続要求が行われる（ステップＳ２６）。ステップＳ２６において、ＶＰＮノードＢの制御部３２及び通信部３６などにおける処理の詳細は、ＶＰＮノードＡからの接続要求（ステップＳ１４）に関して上述した処理と同様である。
【００７９】
ＶＰＮノードＢからの接続要求を受けたノード管理サーバ４０は、制御部４２の接続要求処理手段４２２において、要求元のＶＰＮノードＢの認証処理を行う（ステップＳ２８）。この認証処理の詳細は、ステップＳ１６の認証処理に関して上述した処理と同様である。
【００８０】
認証処理（ステップＳ２８）が成功すると、接続要求処理手段４２２は、記憶部４４中のセッション管理テーブルを参照し、要求元のノードＩＤ“NODE-B”をＤＳＴノードＩＤとし、相手先のノードＩＤ“NODE-A”をＳＲＣノードＩＤとして含むレコードを検索する。本例では、図３の例の表のセッションＩＤ“1”のレコードが検索結果として得られる。そこで、接続要求処理手段４２２は、検索結果のレコードの「状態」の項目の値を「待ち」から「確定」に書き換える。さらに、接続要求処理手段４２２は、接続要求の要求元であるＶＰＮノードＢがセッション管理テーブルにおいてＤＳＴノードであることを接続方式指示手段４２４に通知する。また、要求元がＤＳＴノードであることから、その旨をＮＡＴ指示手段４２８に通知する。
【００８１】
ＮＡＴ指示手段４２８は、セッション管理テーブルの対応するレコード（セッションＩＤ“１”）における中継サーバＩＰの中継サーバ５０に対し、バス４８及び通信部４６を介して、ＤＳＴノードからの受信データパケットの宛先の変換を表すＮＡＴ指示を出す（ステップＳ３０）。本例では、ＮＡＴ指示は、セッション管理テーブルの対応するレコード中のセッションＩＤ“１”、ＤＳＴ用待受ポート“10002”、ＳＲＣノード仮想ＩＰ“172.0.0.2”、及びＳＲＣ用待受ポート“10001”の各値を含み、ＤＳＴ用待受ポートで受信したデータパケットの宛先を、ＳＲＣノード仮想ＩＰとＳＲＣ用待受ポートとの組に変換するＮＡＴ処理を行うことを指示する。
【００８２】
ＮＡＴ指示を受けた中継サーバ５０は、ＮＡＴ処理のための設定を行う（ステップＳ３２）。中継サーバ５０の制御部５２において、通信部５６及びバス５８を介してノード管理サーバ４０から取得されるＮＡＴ指示に従って、ＮＡＴ処理手段５２２は、記憶部５４中のＮＡＴ処理用テーブルにＮＡＴルールを登録する。図７の例のＮＡＴ処理用テーブルに示すＮＡＴルールは、ステップＳ３２で登録されるＮＡＴルールの例である。
【００８３】
以上、中継サーバ５０におけるＮＡＴ設定処理（ステップＳ３２）の例を説明した。
【００８４】
ノード管理サーバ４０の制御部４２において、さらに、接続方式指示手段４２４は、ＶＰＮノードＢに対し、ステップＳ２６の接続要求に対する応答として、中継サーバ５０に接続する接続方式を指示する（ステップＳ３４）。ここで、接続方式指示手段４２４は、ＶＰＮノードＢがセッション管理テーブルにおいてＤＳＴノードであることから、ＤＳＴノードとして中継サーバ５０に接続する接続方式を指示する。具体的には、中継サーバ５０に接続するポート番号として、対応するセッション管理テーブルのレコードのＤＳＴ用待受ポート“10002”を指定する。また、接続種別として、中継サーバ５０との間の通信データの暗号化を行うことを表す「暗号」を指示する。さらに、対応する中継サーバＩＰ“211.xxx.yyy.1”も送信する。
【００８５】
接続方式の指示を受けたＶＰＮノードＢの制御部３２では、この指示に従って、ＶＰＮクライアント起動手段３２４によりＶＰＮクライアントが起動される。本例では、接続方式の指示において指定されたポート番号（ここでは、ＤＳＴ用待受ポート“10002”）及び指定された中継サーバＩＰ“211.xxx.yyy.1”を接続先のサーバとして、暗号化を行ってＶＰＮ接続するＶＰＮクライアントが起動される。以下の［例５］に、上述の「vtun」ソフトウエアを利用してＶＰＮクライアントを起動する場合の設定データの例を示す。
【００８６】
［例５］
仮想インタフェース名：tunN
接続先ＶＰＮサーバ：211.xxx.yyy.1:10002
ローカル仮想ＩＰ：10.255.0.2
リモート仮想ＩＰ：10.255.0.1
認証データ：NODE-B
暗号：あり
【００８７】
［例５］の設定データにおいて、各項目の意味は、ＶＰＮノードＡで起動されるＶＰＮクライアントに関して［例３］を参照して説明したとおりである。［例５］の接続先ＶＰＮサーバの値は、中継サーバＩＰ“211.xxx.yyy.1”は［例３］と同様であるが、ポート番号“10002”が［例３］の“10001”と異なる。ノード管理サーバ４０からの応答（ステップＳ３４）において、ＤＳＴ用待受ポート“10002”を指定されるためである。［例５］では、ローカル仮想ＩＰ及びリモート仮想ＩＰは、それぞれ、“10.255.0.2”及び“10.255.0.1”に固定して設定される。ここでのローカル仮想ＩＰ及びリモート仮想ＩＰは、それぞれ、ＳＲＣノードとして中継サーバ５０に接続する場合にＶＰＮサーバ起動手段３２６が起動するＶＰＮサーバにおけるリモート仮想ＩＰ及びローカル仮想ＩＰの値（［例４］参照）に対応させておく。また、認証データとしては、自装置のノードＩＤ“NODE-B”を設定する。暗号の項目の値は、ノード管理サーバ４０から指示された接続種別「暗号」に従って、「あり」に設定する。
【００８８】
以上、ＶＰＮノードＢで起動されるＶＰＮクライアントの例を説明した。ＶＰＮノードＢでは、ＤＳＴノードとして接続することをノード管理サーバ４０から指示されているため、制御部３２のＶＰＮサーバ起動手段３２６はＶＰＮサーバを起動しない。なお、ＤＳＴノードとして接続することをノード管理サーバ４０から指示されていることは、接続種別が「暗号」であることから判定すればよい。
【００８９】
ＶＰＮノードＢで起動されたＶＰＮクライアントは、ＶＰＮノードＡのＶＰＮサーバに対しＶＰＮ接続する（ステップＳ３６）。［例５］に示すＶＰＮクライアントは、接続先ＶＰＮサーバとして設定された宛先“211.xxx.yyy.1:10002”（中継サーバＩＰ：ＤＳＴ用待受ポート）に対して、ＶＰＮ接続開始の要求を行う。この要求は、認証データ“NODE-B”を含む。この要求を含むデータパケットは、ＶＰＮノードＢから送信されるものであるため、ファイアウォール１０を通過し、インターネット２０を介して、宛先の中継サーバ５０の通信部で受信される。中継サーバ５０において、受信したデータパケット中の宛先のポート番号“10002”と、ＮＡＴ処理用テーブルにステップＳ３２で登録されたＮＡＴルール中のＤＳＴ用待受ポート“10002”と、が一致することから、ＮＡＴ処理手段５２２により、対応するＮＡＴルールに従って宛先アドレスの変換が行われる。本例では、ＶＰＮノードＢからのデータパケットの宛先を、“211.xxx.yyy.1:10002”から、リダイレクト先ＩＰ：リダイレクト先ポート“172.0.0.2:10001”に変換する。変換後の宛先は、中継サーバ５０中のＶＰＮサーバＳｒにおけるリモート仮想ＩＰ（ＶＰＮノードＡのＶＰＮクライアントＣａの仮想ＩＰ）である。したがって、ＮＡＴ処理手段５２２がＮＡＴ処理を行った後のデータパケットは、ＶＰＮサーバＳｒにおいてカプセル化されてＶＰＮトンネルＴ１を通ることで、ＶＰＮノードＡとインターネット２０との間に設けられるファイアウォール１０を通過し、ＶＰＮノードＡへ転送される。
【００９０】
ＶＰＮノードＡでは、ＶＰＮノードＢのＶＰＮクライアントからのＶＰＮ接続開始の要求を含むデータパケットを受けて、これを待ち受けていたＶＰＮサーバＳａにより、ＶＰＮノードＢのＶＰＮクライアントとの間でＶＰＮ接続を形成する処理が行われる。
【００９１】
図１０に、図９に例示する状態の後、図８のステップＳ２６〜Ｓ３６が行われたときの通信システムにおける通信の様子の例を示す。図１０中の破線矢印は、それぞれ、図８のステップＳ２４，Ｓ２６，Ｓ３０，Ｓ３４，Ｓ３６における通信データパケットの流れを表す。図８及び図１０を参照し、ＶＰＮノードＢからノード管理サーバ４０への接続要求（ステップＳ２６）に対するノード管理サーバ４０の応答（ステップＳ３４）に従って、ＶＰＮノードＢでは、ＶＰＮクライアントＣｂが起動される。また、ノード管理サーバ４０からのＮＡＴ指示（ステップＳ３０）に従って、中継サーバ５０では、ＮＡＴ処理（“211.xxx.yyy.1:10001”→“172.0.0.2:10001”）の設定が行われる。
【００９２】
上述のように、ＶＰＮノードＢのＶＰＮクライアントＣｂからのＶＰＮ接続開始の要求を含むデータパケット（宛先はクライアントＣｂの設定データ中の接続先ＶＰＮサーバ“211.xxx.yyy.1:10002”、送信元はＶＰＮノードＢのグローバルＩＰアドレス）は、まず、中継サーバ５０においてＮＡＴ処理され、ＶＰＮノードＡのＶＰＮクライアントＣａの仮想ＩＰ“172.0.0.1”及びポート番号“10001”を宛先とするデータパケットになる。そして、中継サーバ５０のＶＰＮサーバＳａでカプセル化され、ＶＰＮトンネルＴ１を通ってＶＰＮノードＡで受信され、ＶＰＮクライアントＣａでカプセル解除される。ここでＶＰＮノードＡが受信するデータパケットの宛先のポート番号“10001”は、ＶＰＮノードＡのＶＰＮサーバＳａの待受ポート“10001”と一致する。よって、このデータパケットは、ＶＰＮサーバＳａにおいて、ＶＰＮ接続の相手のＶＰＮクライアントからのデータパケットとして処理される。このデータパケットは、ＶＰＮノードＢのＶＰＮクライアントＣｂからのＶＰＮ接続の開始の要求を含むので、ＶＰＮサーバＳａは、要求中の認証データ“NODE-B”と自己の設定データ中の認証データ“NODE-B”（［例４］参照）とを照合して認証処理を行う。その上で、ＶＰＮサーバＳａは、ＶＰＮクライアントＣｂとの間でＶＰＮ接続を形成する処理を行う。
【００９３】
このとき、ＶＰＮサーバＳａがＶＰＮクライアントＣｂに対して送信するデータパケットは、ＶＰＮノードＢから受信したデータパケットに対する返信である。よって、受信したデータパケット中の宛先“172.0.0.1:10001”及び送信元（ＶＰＮノードＢのグローバルＩＰアドレス）が、それぞれ、返信として送信されるデータパケットの送信元及び宛先として設定される。すると、送信データパケットの送信元はＶＰＮノードＡのＶＰＮクライアントＣａの仮想ＩＰであることから、ＶＰＮクライアントＣａで送信データパケットのカプセル化が行われてＶＰＮトンネルＴ１を通って中継サーバ５０で受信され、ＶＰＮサーバＳｒでカプセル解除される。カプセル解除されたデータパケットの送信元は“172.0.0.1:10001”であるため、ＮＡＴルールに従ってＮＡＴ処理手段５２２が送信元を“211.xxx.yyy.1:10002”に変換し、当該データパケットはバス５８及び通信部５６を介してインターネット２０に送り出される。このデータパケットは、送信元が“211.xxx.yyy.1:10002”であるため、ＶＰＮノードＢが（ステップＳ３６で）送信したデータパケットの応答としてインターネット２０とＶＰＮノードＢとの間のファイアウォール１０を通過し、ＶＰＮノードＢの通信部３６で受信され、ＶＰＮクライアントＣｂに届く。
【００９４】
以上のように、ＶＰＮノードＢのＶＰＮクライアントＣｂからのＶＰＮ接続開始の要求に応じて、ＶＰＮノードＡのＶＰＮサーバＳａとＶＰＮクライアントＣｂとの間でＶＰＮ接続が形成される。つまり、ＶＰＮノードＢとインターネット２０との間のファイアウォール１０を通過するＶＰＮトンネルＴ２が形成される。また、ＶＰＮトンネルＴ２は、中継サーバ５０におけるＮＡＴ処理により、中継サーバ５０のＶＰＮサーバＳｒとＶＰＮノードＡのＶＰＮクライアントＣａとの間で形成されたＶＰＮトンネルＴ１を通ることになる。
【００９５】
ＶＰＮトンネルＴ２が形成されると、ＶＰＮノードＡとＶＰＮノードＢとの間で、ＶＰＮトンネルＴ２を通じてデータパケットの送受信が行われる。なお、ＶＰＮトンネルＴ２を形成するＶＰＮサーバＳａ及びＶＰＮクライアントＣｂの間の通信では、通信データの暗号化が行われる。例えば、ＶＰＮクライアントＣｂ及びＶＰＮサーバＳａのそれぞれは、送信するデータパケットの通信データ部分（宛先、送信元などを含むヘッダ情報の他の部分）を暗号化した上で、カプセル化したデータパケットを送り出す。また、このように暗号化された通信データ部分を含むデータパケットを受信すると、ＶＰＮクライアントＣｂ及びＶＰＮサーバＳａのそれぞれは、受信したデータパケットのカプセル解除と共に通信データ部分の復号処理を行って平文の通信データを取得する。
【００９６】
以上のように、本実施形態の例では、中継サーバ５０を経由してＶＰＮノードＡとＶＰＮノードＢとの間を接続するＶＰＮトンネルＴ２の両端（ＶＰＮクライアントＣｂ，ＶＰＮサーバＳａ）において暗号化／復号処理が行われる。したがって、ＶＰＮノードＡと中継サーバ５０との間のＶＰＮトンネルＴ１を形成するＶＰＮクライアントＣａ及びＶＰＮサーバＳｒにおいて暗号化処理を行わなくても、ＶＰＮノードＡとＶＰＮノードＢとの間で送受信される通信データは、ＶＰＮトンネルＴ１を通るときにはすでに暗号化されていることになる。
【００９７】
以上で説明した実施形態の例では、ノード管理サーバ４０は、ＳＲＣノード（ＶＰＮノードＡ）に対しては中継サーバ５０への接続種別として「非暗号」を指示し、ＤＳＴノード（ＶＰＮノードＢ）に対しては中継サーバ５０への接続種別として「暗号」を指示する。例えば、ＳＲＣノードとＤＳＴノードとの間の通信データの暗号化が必要ない場合、いずれのＶＰＮノードに対しても「非暗号」を指示してもよい。この例の場合、例えば、ノード管理サーバ４０において、各ＶＰＮノードからの接続要求に対し、中継サーバＩＰ及び接続先ポート番号と共に、当該ＶＰＮノードがＳＲＣノードであるかＤＳＴノードであるかを示す情報を応答として返せばよい。この情報によりＶＰＮノードにおいてＳＲＣノードとして接続するかＤＳＴノードとして接続するかを判定し、ＳＲＣノードの場合はＶＰＮクライアント及びＶＰＮサーバを、ＤＳＴノードの場合はＶＰＮクライアントのみを起動することで、上述の例と同様のＶＰＮトンネルＴ１，Ｔ２が形成される。ただし、この例では、ＳＲＣノードで起動されるＶＰＮサーバ及びＤＳＴノードで起動されるＶＰＮクライアントのいずれも通信データの暗号化を行わない。
【００９８】
なお、以上の説明では、利用可能な中継サーバ５０が複数存在し、各ＶＰＮノード対の通信を中継する中継サーバ５０をノード管理サーバ４０が選択して各ＶＰＮノード及び選択された中継サーバ５０に通知するが、中継サーバ５０が１つだけであっても本実施形態の例の通信システムは上記で説明したのと同様に機能する。
【００９９】
また、以上の実施形態の例において、各ＶＰＮノードは、ノード管理サーバ４０に対し、自ノードをＤＳＴノードとする「待ち」状態のセッションが存在するか否かを問合わせてもよい。ノード管理サーバ４０からその問合せに対する応答を受けた上で、該当するセッションのＳＲＣノードを接続の相手先として特定する接続要求をノード管理サーバ４０に対して行ってもよい。
【図面の簡単な説明】
【０１００】
【図１】通信システムの概略構成の例を示す図である。
【図２】ノード管理サーバの内部構成の概略の例を示すブロック図である。
【図３】セッション管理テーブルの例を示す図である。
【図４】中継サーバの内部構成の概略の例を示すブロック図である。
【図５】待受用ＶＰＮセッションテーブルの例を示す図である。
【図６】ＮＡＴ処理用テーブルの例を示す図である。
【図７】情報処理装置の内部構成の概略の例を示すブロック図である。
【図８】通信システムの動作の例を示すシーケンス図である。
【図９】通信システムにおける通信の様子の例を示す図である。
【図１０】通信システムにおける通信の様子の例を示す図である。
【符号の説明】
【０１０１】
１０  ファイアウォール、２０  インターネット、３０  情報処理装置、３２，４２，５２  制御部、３４，４４，５４  記憶部、３６，４６，５６  通信部、３８，４８，５８  バス、４０  ノード管理サーバ、５０  中継サーバ、３２０  ノード登録要求手段、３２２  接続要求手段、３２４  ＶＰＮクライアント起動手段、３２６，５２０  ＶＰＮサーバ起動手段、４２０  ノード登録手段、４２２  接続要求処理手段、４２４  接続方式指示手段、４２６  待受指示手段、４２８  ＮＡＴ指示手段、５２２  ＮＡＴ処理手段。
【図１】
2010081109.tif 000003
【図２】
2010081109.tif 000004
【図３】
2010081109.tif 000005
【図４】
2010081109.tif 000006
【図５】
2010081109.tif 000007
【図６】
2010081109.tif 000008
【図７】
2010081109.tif 000009
【図８】
2010081109.tif 000010
【図９】
2010081109.tif 000011
【図１０】
2010081109.tif 000012