(57)【特許請求の範囲】
【請求項１】
トンネル接続装置とトンネル終端装置を含み、当該トンネル接続装置と当該トンネル終端装置との間に設定されるトンネルにより仮想ネットワークを構成する仮想ネットワークシステムであって、
前記トンネル接続装置は、
所定の制御装置にアクセスして設定情報を当該所定の制御装置から取得し、当該設定情報に基づいてトンネル終端装置と接続する手段を備え、
前記トンネル終端装置は、
前記所定の制御装置から、仮想ネットワーク構成変更指示を受信する手段と、
前記仮想ネットワーク構成変更指示により指定された１つ又は複数のトンネル接続装置の中から、前記トンネル終端装置に接続されているトンネル接続装置を選択し、当該トンネル接続装置に対し、前記トンネル経由で設定変更指示を送信する手段と、を備える
ことを特徴とする仮想ネットワークシステム。
【請求項２】
前記設定変更指示は、変更後の仮想ネットワークに対応した接続先となるトンネル終端装置を示す情報と、変更後の仮想ネットワークに対応したプロトコル種別を含む
ことを特徴とする請求項１に記載の仮想ネットワークシステム。
【請求項３】
前記設定変更指示を受信した前記トンネル接続装置は、前記接続先のトンネル終端装置に接続し、当該トンネル終端装置との間で前記プロトコル種別に対応した通信レイヤのトンネルを確立する
ことを特徴とする請求項２に記載の仮想ネットワークシステム。
【請求項４】
前記設定変更指示は、前記所定の制御装置にアクセスして設定情報を当該所定の制御装置から取得することを指示する命令である
ことを特徴とする請求項１に記載の仮想ネットワークシステム。
【請求項５】
前記設定変更指示を受信した前記トンネル接続装置は、前記所定の制御装置から変更後の設定情報を取得し、当該設定情報で指定された接続先のトンネル終端装置に接続し、当該トンネル終端装置との間で前記設定情報で指定されたプロトコル種別に対応した通信レイヤのトンネルを確立する
ことを特徴とする請求項４に記載の仮想ネットワークシステム。
【請求項６】
トンネル接続装置とトンネル終端装置を含み、当該トンネル接続装置と当該トンネル終端装置との間に設定されるトンネルにより仮想ネットワークを構成する仮想ネットワークシステムにおける構成変更方法であって、
前記トンネル接続装置が、所定の制御装置にアクセスして設定情報を当該所定の制御装置から取得し、当該設定情報に基づいてトンネル終端装置と接続するステップと、
前記トンネル終端装置が、前記所定の制御装置から、仮想ネットワーク構成変更指示を受信するステップと、
前記トンネル終端装置が、前記仮想ネットワーク構成変更指示により指定された１つ又は複数のトンネル接続装置の中から、前記トンネル終端装置に接続されているトンネル接続装置を選択し、当該トンネル接続装置に対し、前記トンネル経由で設定変更指示を送信するステップと、
を備えることを特徴とする構成変更方法。
【請求項７】
トンネル接続装置とトンネル終端装置を含み、当該トンネル接続装置と当該トンネル終端装置との間に設定されるトンネルにより仮想ネットワークを構成する仮想ネットワークシステムにおける前記トンネル終端装置であって、
前記トンネル接続装置は、所定の制御装置にアクセスして設定情報を当該所定の制御装置から取得し、当該設定情報に基づいて前記トンネル終端装置と接続しており、
前記所定の制御装置から、仮想ネットワーク構成変更指示を受信する手段と、
前記仮想ネットワーク構成変更指示により指定された１つ又は複数のトンネル接続装置の中から、前記トンネル終端装置に接続されている前記トンネル接続装置を選択し、当該トンネル接続装置に対し、前記トンネル経由で設定変更指示を送信する手段と、
を備えることを特徴とするトンネル終端装置。
【請求項８】
トンネル接続装置とトンネル終端装置を含み、当該トンネル接続装置と当該トンネル終端装置との間に設定されるトンネルにより仮想ネットワークを構成する仮想ネットワークシステムにおける前記トンネル接続装置であって、
所定の制御装置にアクセスして設定情報を当該所定の制御装置から取得し、当該設定情報に基づいて前記トンネル終端装置と接続する手段と、
前記所定の制御装置から仮想ネットワーク構成変更指示を受信した前記トンネル終端装置から、前記トンネル経由で設定変更指示を受信する手段と、
前記設定変更指示に基づき、変更後の仮想ネットワークに対応した接続を行う手段と、
を備えることを特徴とするトンネル接続装置。
【請求項９】
コンピュータを、請求項７に記載のトンネル終端装置の各手段として機能させるためのプログラム。
【請求項１０】
コンピュータを、請求項８に記載のトンネル接続装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーバーレイネットワーク等の仮想ネットワークに関するものであり、特に、仮想ネットワークの構成を動的に変更するための技術に関するものである。
【背景技術】
【０００２】
近年、トンネリング技術を活用した種々のオーバーレイネットワーク技術が用いられてきている。オーバーレイネットワークとは、あるネットワーク上に仮想的に構築された他のネットワークのことであり、本明細書では、これを仮想ネットワークとも呼ぶ。
【０００３】
オーバーレイネットワークの設定を行う従来技術の１つとして、特許文献１に開示された技術がある。特許文献１に開示された技術では、VPN制御装置が、VPN設定に必要な情報を端末装置に提供することで、端末装置は自動的にVPN集約装置との間でVPN設定を行い、VPN通信を行うことが可能となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２０００３２号公報
【特許文献２】WO２００９／０９３３０８
【特許文献３】特開２００７−１４２６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に示すような従来技術では、仮想ネットワークの構成を変更するために、外部から端末装置へのログインを行って設定を変更する、もしくは端末装置側から定期的に制御装置にアクセスして設定情報の取得を行うなどの方法が用いられている。
【０００６】
しかしながら、外部からログインを行う前者の方法では、NAT配下等に端末装置が設置されている場合などにアクセスできないという問題があった。また、端末装置側から制御装置に対するアクセスを行う後者の方法では、アクセスの時間間隔が短い場合に制御装置への負荷が大きくなり、逆にアクセスの時間間隔が長い場合に構成が即時には反映されない、などの問題があった。このため、従来技術では、NAT等の配下に設置された接続装置等への構成変更指示を任意のタイミングで行うことが困難であった。
【０００７】
本発明は上記の点に鑑みてなされたものであり、任意のタイミングで構成変更指示を各装置に伝達し、オンデマンドに仮想ネットワークの構成を変更することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明は、トンネル接続装置とトンネル終端装置を含み、当該トンネル接続装置と当該トンネル終端装置との間に設定されるトンネルにより仮想ネットワークを構成する仮想ネットワークシステムであって、前記トンネル接続装置は、所定の制御装置にアクセスして設定情報を当該所定の制御装置から取得し、当該設定情報に基づいてトンネル終端装置と接続する手段を備え、前記トンネル終端装置は、前記所定の制御装置から、仮想ネットワーク構成変更指示を受信する手段と、前記仮想ネットワーク構成変更指示により指定された１つ又は複数のトンネル接続装置の中から、前記トンネル終端装置に接続されているトンネル接続装置を選択し、当該トンネル接続装置に対し、設定変更指示を送信する手段と、を備えることを特徴とする仮想ネットワークシステムとして構成される。
【０００９】
前記仮想ネットワークシステムにおいて、前記設定変更指示は、変更後の仮想ネットワークに対応した接続先となるトンネル終端装置を示す情報と、変更後の仮想ネットワークに対応したプロトコル種別を含むようにしてもよい。
【００１０】
そして、前記設定変更指示を受信した前記トンネル接続装置は、前記接続先のトンネル終端装置に接続し、当該トンネル終端装置との間で前記プロトコル種別に対応した通信レイヤのトンネルを確立するようにしてもよい。
【００１１】
前記仮想ネットワークシステムにおいて、前記設定変更指示は、前記所定の制御装置にアクセスして設定情報を当該所定の制御装置から取得することを指示する命令であることとしてもよい。
【００１２】
このとき、前記設定変更指示を受信した前記トンネル接続装置は、前記所定の制御装置から変更後の設定情報を取得し、当該設定情報で指定された接続先のトンネル終端装置に接続し、当該トンネル終端装置との間で前記設定情報で指定されたプロトコル種別に対応した通信レイヤのトンネルを確立するようにしてもよい。また、前記トンネル終端装置は、前記設定変更指示をトンネル経由で前記選択されたトンネル接続装置に送信することとしてもよい。
【００１３】
また、本発明は、トンネル接続装置とトンネル終端装置を含み、当該トンネル接続装置と当該トンネル終端装置との間に設定されるトンネルにより仮想ネットワークを構成する前記仮想ネットワークシステムにおける構成変更方法として構成することもできる。
【００１４】
また、本発明は、トンネル接続装置とトンネル終端装置を含み、当該トンネル接続装置と当該トンネル終端装置との間に設定されるトンネルにより仮想ネットワークを構成する仮想ネットワークシステムにおける前記トンネル終端装置であって、前記トンネル接続装置は、所定の制御装置にアクセスして設定情報を当該所定の制御装置から取得し、当該設定情報に基づいて前記トンネル終端装置と接続しており、前記所定の制御装置から、仮想ネットワーク構成変更指示を受信する手段と、前記仮想ネットワーク構成変更指示により指定された１つ又は複数のトンネル接続装置の中から、前記トンネル終端装置に接続されている前記トンネル接続装置を選択し、当該トンネル接続装置に対し、設定変更指示を送信する手段と、を備えることを特徴とするトンネル終端装置として構成してもよい。
【００１５】
また、本発明は、トンネル接続装置とトンネル終端装置を含み、当該トンネル接続装置と当該トンネル終端装置との間に設定されるトンネルにより仮想ネットワークを構成する仮想ネットワークシステムにおける前記トンネル接続装置であって、所定の制御装置にアクセスして設定情報を当該所定の制御装置から取得し、当該設定情報に基づいて前記トンネル終端装置と接続する手段と、前記所定の制御装置から仮想ネットワーク構成変更指示を受信した前記トンネル終端装置から、設定変更指示を受信する手段と、前記設定変更指示に基づき、変更後の仮想ネットワークに対応した接続を行う手段と、を備えることを特徴とするトンネル接続装置として構成してもよい。
【００１６】
更に、本発明は、コンピュータを、前記トンネル終端装置の各手段として機能させるためのプログラムとして構成してもよいし、コンピュータを、前記トンネル接続装置の各手段として機能させるためのプログラムとして構成してもよい。
【発明の効果】
【００１７】
本発明によれば、任意のタイミングで構成変更指示を各装置に伝達し、オンデマンドに仮想ネットワークの構成を変更することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態に係る仮想ネットワークシステムの全体構成図である。
【図２】仮想ネットワーク制御装置１０の機能構成図である。
【図３】トンネル接続装置２０の機能構成図である。
【図４】トンネル接続装置２０の他の形態を示す図である。
【図５】トンネル終端装置３０の機能構成図である。
【図６】仮想ネットワークが構築されるまでの処理手順例を説明するためのシーケンス図である。
【図７】複数のトンネル接続装置を含む仮想ネットワークの例を示す図である。
【図８】仮想ネットワークが構築された後に、構成変更を行う場合の処理手順を説明するためのシーケンス図である。
【図９】L2モードにおけるユーザ端末からサーバへの通信の例を示す図である。
【図１０】L2モードにおけるサーバからユーザ端末への通信の例を示す図である。
【図１１】L３モードにおけるユーザ端末からサーバへの通信の例を示す図である。
【図１２】仮想IPアドレス宛のフレームを選別する処理例を示す図である。
【図１３】L３モードにおけるサーバからユーザ端末への通信の例を示す図である。
【図１４】Ｌ４モードにおいて、トンネル接続装置２０がSOCKSクライアントとして機能し、トンネル終端装置３０がSOCKSサーバとして機能する場合の構成を示す図である。
【図１５】Ｌ４モードにおいて、トンネル接続装置２０がRSOCKSクライアントとして機能し、トンネル終端装置３０がRSOCKSサーバとして機能する場合の構成を示す図である。
【図１６】Ｌ４モードにおいて、SOCKSの構成（図１４）とRSOCKSの構成（図１５）を組み合わせた場合の構成を示す図である。
【図１７】Ｌ４モードにおける通信例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【００２０】
（システム構成）
図１に本実施の形態に係る仮想ネットワークシステムの全体構成図を示す。図１に示すとおり、本実施の形態に係る仮想ネットワークシステムは、仮想ネットワーク制御装置１０、トンネル接続装置２０、及びトンネル終端装置３０がIPネットワーク４０（例えば、インターネット）に接続されて構成されている。図１に示す例では、トンネル接続装置２０にユーザ端末５０（クライアント機器）が接続されている。また、トンネル終端装置３０には、サーバや他のユーザ端末等が接続される。なお、図１には、代表として、１つのトンネル終端装置３０、及び１つのトンネル接続装置２０を示しているが、実際にはそれぞれ複数の装置が存在してよい。また、トンネル接続装置２０とトンネル終端装置３０との間でトンネルを構築することにより、仮想ネットワークが構成されるので、トンネル接続装置２０とトンネル終端装置３０を備えるシステムを仮想ネットワークシステムと称してもよい。
【００２１】
仮想ネットワーク制御装置１０は、トンネル接続装置２０やトンネル終端装置３０に仮想ネットワーク構築・変更の指示等を行うための装置である。トンネル接続装置２０は、トンネル終端装置３０とトンネル接続を行う装置である。トンネル終端装置３０は、複数のトンネル接続装置２０との間のトンネルを終端する装置である。同じトンネル終端装置３０に接続されたトンネル接続装置同士の間で仮想ネットワークを形成する。以下、各装置についてより詳しく説明する。
【００２２】
図２に、仮想ネットワーク制御装置１０の機能構成図を示す。図２に示すように、仮想ネットワーク制御装置１０は、仮想ネットワーク構築・変更指示受付部１１、構成情報格納部１２、対装置通信部１３、位置情報登録部１４、位置情報格納部１５、指示通知部１６を有する。
【００２３】
仮想ネットワーク構築・変更指示受付部１１は、例えば、仮想ネットワーク制御装置１０とネットワーク接続された外部装置（例えば、Webブラウザ端末、NW監視システム等）から仮想ネットワーク構築や変更に係る指示を受信し、当該指示に基づいて仮想ネットワーク構成情報を構成情報格納部１２に格納する等の機能を備える。構成情報格納部１２に格納される仮想ネットワーク構成情報は、例えば、どのトンネル接続装置とどのトンネル終端装置を、どのプロトコル種別で接続するかの情報を含む。すなわち、構成情報格納部１２は、構成情報として、例えば、トンネル接続装置の識別情報、トンネル終端装置の識別情報、及びプロトコル種別を対応付けたテーブルを格納する。また、後述する各装置の設定情報として必要な情報も保持している。
【００２４】
対装置通信部１３は、トンネル接続装置２０、及びトンネル終端装置３０と通信を行うための機能部である。
【００２５】
位置情報登録部１４は、トンネル終端装置３０から、当該トンネル終端装置３０の識別情報と位置情報（例えば、現時点でのトンネル終端装置３０のIPアドレス）を含む位置登録要求を受信し、当該トンネル終端装置３０の位置情報を位置情報格納部１５に格納する。なお、識別情報は、トンネル終端装置３０の位置によらずにトンネル終端装置３０を識別可能な情報である。
【００２６】
位置情報格納部１５には、予め各トンネル終端装置３０の識別情報が格納（登録）されており、位置情報登録部１４は、トンネル終端装置３０から受信する識別情報が既に位置情報格納部１５に格納されているものであることを確認した後に、当該識別情報に対応付けて位置情報を位置情報格納部１５に格納する。位置情報登録部１４は、トンネル接続装置２０についても同様に位置情報の登録を行ってもよい。また、例えば、トンネル終端装置３０の位置情報がほぼ固定である場合等には、トンネル終端装置３０の位置情報の登録をシステム管理者が行ってもよい。
【００２７】
指示通知部１６は、構成情報格納部１２に格納された構成情報に基づいて、構成情報に係る仮想ネットワークを構成するトンネル接続装置２０に対し、トンネル接続装置２０からの要求に応じてトンネル接続のための設定情報を通知するとともに、構成情報に係る仮想ネットワークを構成するトンネル終端装置３０に対して、接続に来るトンネル接続装置の識別情報やプロトコル種別等の設定情報を送信する機能部である。また、指示通知部１６は、仮想ネットワーク構成変更指示をトンネル終端装置３０に送信する機能も備える。
【００２８】
なお、本実施の形態では、外部から指示を受ける機能部と、装置に指示を出す機能部を同一の装置に設けているが、これらを別々のモジュール（別々の装置）として実現してもよい。
【００２９】
本実施の形態に係る仮想ネットワーク制御装置１０は、CPU、記憶装置等からなるコンピュータに、仮想ネットワーク制御装置１０の各機能部の機能を実現するためのプログラムを実行させることにより実現できる。当該プログラムは可搬メモリ等の記録媒体からコンピュータにインストールすることとしてもよいし、ネットワーク上のサーバからダウンロードすることとしてもよい。
【００３０】
図３に、トンネル接続装置２０の機能構成図を示す。なお、図３は、一例として、トンネル接続装置２０とユーザ端末５０が別々の装置であり、これらがネットワーク接続される場合の例を示している。
【００３１】
図３に示すように、トンネル接続装置２０は、対仮想ネットワーク制御装置通信部２１、設定部２３、データ格納部２４、トンネル接続通信部２５を有する。また、トンネル接続通信部２５は、トンネル構築部２５１とプロトコル処理部２５２を含む。
【００３２】
対仮想ネットワーク制御装置通信部２１は、仮想ネットワーク制御装置１０との間で通信を行うための機能部である。
【００３３】
設定部２３は、トンネル接続装置２０の起動時（トンネル接続装置２０の電源をＯＮにしたときなど）に、仮想ネットワーク制御装置１０に対してトンネル設定情報要求を送信し、仮想ネットワーク制御装置１０から要求したトンネル設定情報を受信して、受信したトンネル設定情報に基づきトンネル通信のための設定を行う機能部である。また、設定部２３が、予め定められた規則に基づく時間にトンネル設定情報要求を仮想ネットワーク制御装置１０に送信する機能を備えてもよい。例えば、設定部２３が、タイマーを備え、予め定めた一定時間間隔で（例えば毎日同じ時間に）トンネル設定情報要求を送信してもよいし、トンネル設定情報要求による問い合わせを行って更新がなければ徐々に時間間隔を広げてトンネル設定情報要求の送信を行うこととしてもよい。予め定められた規則に基づく時間は、これらに限られるわけではなく、他の規則に基づく時間を採用してもよい。また、これらの規則は、トンネル接続装置２０に予め設定されるものである。
【００３４】
対仮想ネットワーク制御装置通信部２１には、仮想ネットワーク制御装置１０のアドレス情報が予め設定してある。また、設定部２３は、トンネル経由（プロトコル処理部２５１経由）で、トンネル終端装置３０から設定変更指示を受信し、設定変更指示に含まれる設定情報により設定を行ったり、設定変更指示に従って仮想ネットワーク制御装置１０から設定情報を取得する機能も備える。
【００３５】
トンネル設定情報には、トンネルの接続先となるトンネル終端装置３０の位置情報（アドレス）、トンネルを生成するために必要な秘密情報（初期共有鍵等）等のパラメータ値、トンネルを構成するプロトコル種別（後述する、L2、L3、L4等）を含む。これらの他、暗号の種別、トンネルのQoS情報等を含めてもよい。
【００３６】
また、「トンネル設定情報に基づきトンネル接続のための設定を行う」とは、設定情報にて指示されたトンネルを実現できるようにするための設定を行うことである。例えば、指示されたプロトコル種別に対応するトンネル用のプログラム（各種別毎にプログラムがデータ格納部２４に格納されているものとする。プロトコル処理部２５２に対応する。）を起動するとともに、トンネル接続先アドレスやパラメータ値をトンネル構築部２５１等が参照できるようにデータ格納部２４に格納したりする。なお、これは一例に過ぎない。
【００３７】
データ格納部２４には、各プロトコル種別に対応付けて各トンネル用のプログラムが格納されるとともに、トンネル設定情報に含まれていたトンネルの接続先やパラメータ値が格納される。
【００３８】
なお、上記のように、プロトコル種別毎にモジュールとしてプロトコル処理部２５２に対応するプログラムを起動する他（この場合も設定情報に応じて機能を切り替えることに相当する）、複数プロトコル種別の機能を有するプログラム（プロトコル処理部２５２）を起動しておき、設定情報に応じて機能を切り替えるようにしてもよい。また、プロトコル種別毎にプロトコル処理用のハードウェア回路を備えておき、設定情報に応じて回路を切り替えるように構成してもよい。
【００３９】
トンネル接続通信部２５におけるトンネル構築部２５１は、トンネルの接続先位置情報及びパラメータ値をデータ格納部１６から読み出して、接続先のトンネル終端装置３０に対してトンネル接続要求を送信することにより、トンネル終端装置との間にトンネルを構築する処理を行う。また、プロトコル処理部２５２は、ユーザ端末５０が送受信するデータをカプセリング／デカプセリング、暗号化／復号化する等のトンネル通信のプロトコル処理を行う機能部である。なお、トンネルを構築するとは、装置内部では、トンネル接続先との間のパケット通信においてカプセリング／デカプセリング、暗号化／復号化を行うための情報を設定しておくことである。
【００４０】
トンネル接続装置２０は、コンピュータ（CPU、メモリ等を含む構成を有する通信装置を含む）に、トンネル接続通信部２５、設定部２３に対応するプログラムを実行させることにより実現できる。
【００４１】
当該プログラムは可搬メモリ等の記録媒体からコンピュータにインストールすることとしてもよいし、ネットワーク上のサーバからダウンロードすることとしてもよい。
【００４２】
図３では、ユーザ端末５０とトンネル接続装置２０とを接続した構成を示しているが、これは一例に過ぎない。図４に示すように、ユーザ端末５０内にドライバとしてトンネル接続装置２０の機能を備える形態としてもよい。この場合、ユーザ端末５０をトンネル接続装置と呼んでもよい。
【００４３】
本実施の形態では、図３に示すトンネル接続装置２０は、ユーザによって所望の場所に持ち運び可能な装置を想定している。また、このときのユーザ端末５０は、一般的なPC等の端末のほか、Webカメラ、家電機器等でもよい。
【００４４】
図５に、トンネル終端装置３０の機能構成図を示す。
【００４５】
図５に示すように、トンネル終端装置３０は、対仮想ネットワーク制御装置通信部３１、登録要求部３２、設定部３３、仮想ネットワーク構成変更制御部３４、データ格納部３５、トンネル終端通信部３６を有する。トンネル終端通信部３６は、トンネル構築部３６１とプロトコル処理部３６２を含む。
【００４６】
対仮想ネットワーク制御装置通信部３１は、仮想ネットワーク制御装置１０との間で通信を行うための機能部である。
【００４７】
登録要求部３２は、トンネル終端装置３０が起動されたときや、ネットワークに接続されたとき等に、位置登録要求を仮想ネットワーク制御装置１０に送信する機能部である。この位置登録要求により仮想ネットワーク制御装置１０において位置登録がなされる、なお、トンネル終端装置３０について自動的な登録を行わない場合、登録要求部３２を備えなくてもよい。また、トンネル接続装置２０についてもトンネル終端装置３０と同様の登録要求部を備え、位置登録を行うこととしてもよい。
【００４８】
設定部３３は、仮想ネットワーク制御装置１０からトンネル接続情報（設定情報）を受信して、受信したトンネル接続情報に基づきトンネル接続のための設定を行う機能部である。対仮想ネットワーク制御装置通信部３１には、仮想ネットワーク制御装置１０のアドレス情報が予め設定してある。
【００４９】
トンネル接続情報には、トンネル終端装置３０に対して接続に来るトンネル接続装置２０の識別情報（もしくは位置情報）、トンネルを生成するために必要な秘密情報（初期共有鍵等）等のパラメータ値、トンネルを構成するプロトコル種別（後述する、L2、L3、L4等）を含む。これらの他、暗号の種別やトンネルのQoS情報等を含めてもよい。
【００５０】
また、「トンネル接続情報に基づきトンネル接続のための設定を行う」とは、指示されたトンネルを接続できるようにするための設定を行うことである。例えば、指示されたプロトコル種別に対応するトンネル用のプログラム（各種別毎にプログラムがデータ格納部３５に格納されているものとする。プロトコル処理部３６２に対応する。）を起動するとともに、接続に来るトンネル接続装置の識別情報（もしくは位置情報）やパラメータ値をトンネル構築部３６１等が参照できるようにデータ格納部３５に格納したりする。なお、これは一例に過ぎない。
【００５１】
データ格納部３５には、各プロトコル種別に対応付けて各トンネル用のプログラムが格納されるとともに、接続に来るトンネル接続装置の情報やパラメータ値が格納される。
【００５２】
なお、上記のように、プロトコル種別毎にモジュールとしてプロトコル処理部３６２に対応するプログラムを起動する他（この場合も設定情報に応じて機能を切り替えることに相当する）、複数プロトコル種別の機能を有するプログラム（プロトコル処理部３６２）を起動しておき、設定情報に応じて機能を切り替えるようにしてもよい。また、プロトコル種別毎にプロトコル処理用のハードウェア回路を備えておき、設定情報に応じて回路を切り替えるように構成してもよい。
【００５３】
トンネル終端通信部３６におけるトンネル構築部３６１は、トンネル接続装置の識別情報（もしくは位置情報）や、各種パラメータ値をデータ格納部３５から読み出すとともに、トンネル接続要求を受信したことに応じて、トンネル接続要求元が、通知されているトンネル接続装置であることを確認し、そのトンネル接続装置との間にトンネルを構築する処理等を行う。また、プロトコル処理部３６２は、送受信するデータをカプセリング／デカプセリングする等のトンネル通信のための処理を行う。
【００５４】
また、トンネル終端通信部３６は、トンネル接続したトンネル接続装置の識別情報（位置情報でもよい）のテーブルを作成し、データ格納部３５に格納する機能も有する。
【００５５】
仮想ネットワーク構成変更制御部３４は、既に仮想ネットワーク構築が済み、仮想ネットワークでのトンネル通信可能な状態において、仮想ネットワーク制御装置１０から、新たな仮想ネットワークの構成情報を含む仮想ネットワーク構成変更指示を受信したときに、既に構築されているトンネルを通じて、トンネル接続されている各トンネル接続装置に対して、新たな仮想ネットワークの構成に基づくトンネル設定情報等を送信する機能部である。仮想ネットワーク構成変更指示には、例えば、変更後の仮想ネットワークの構成における、トンネル終端装置の識別情報（もしくは位置情報）、当該トンネル終端装置に接続されるトンネル接続装置の識別情報（もしくは位置情報）のテーブル、プロトコル種別、その他の必要なパラメータ値が含まれる。
【００５６】
仮想ネットワーク構成変更制御部３４は、受信した仮想ネットワーク構成変更指示に含まれるテーブルと、現在自分がトンネルを確立しているトンネル接続装置の識別情報（もしくは位置情報）のテーブルとを比較し、指示（設定情報）を送るべきトンネル接続装置を決定する。例えば、構成変更により自分以外のトンネル終端装置への接続を行うべきトンネル接続装置が現在トンネル接続されていれば、そのトンネル終端装置に指示（設定情報）を送るべきと判断する。送信する指示には、新規にトンネル接続を行う場合と同様の設定情報が含まれ、これを受信したトンネル接続装置は、設定情報に従って、設定を行う。
【００５７】
また、トンネル終端装置３０は、自身が用いるプロトコル種別を変更する場合には、指示に従って当該プロトコルのプロトコル処理機能を起動し、設定を行い、接続を待つ。
【００５８】
また、送信する指示を、設定情報ではなく、仮想ネットワーク制御装置１０に対してトンネル設定情報要求を送ることを指示する命令としてもよい。これを受けたトンネル接続装置２０は、仮想ネットワーク制御装置１０から設定情報を受けて設定を行う。
【００５９】
トンネル終端装置３０は、コンピュータ（CPU、メモリ等を含む構成を有する通信装置を含む）に、トンネル終端通信部３６、設定部３３、登録部３２、仮想ネットワーク構成変更制御部３４に対応するプログラムを実行させることにより実現できる。
【００６０】
当該プログラムは可搬メモリ等の記録媒体からコンピュータにインストールすることとしてもよいし、ネットワーク上のサーバからダウンロードすることとしてもよい。
【００６１】
（システムの動作例）
次に、システムの動作例を説明する。最初に、仮想ネットワーク制御装置１０が、外部装置から仮想ネットワーク構築指示を受けてから、仮想ネットワークが構築されるまでの処理手順例を図６のシーケンス図を参照して説明する。
【００６２】
まず、仮想ネットワークを管理する管理者等が仮想ネットワーク構築を外部装置（Webブラウザ端末等）のユーザインターフェース（Web画面等）から指示すると、仮想ネットワーク構築指示（仮想ネットワーク構成情報を含む）が仮想ネットワーク制御装置１０に送られる（ステップ１）。
【００６３】
仮想ネットワーク構築指示を受信した仮想ネットワーク制御装置１０の仮想ネットワーク構築・変更指示受付部１１は、仮想ネットワーク構築指示に含まれる仮想ネットワークの構成情報を構成情報格納部１２に格納する（ステップ２）。
【００６４】
仮想ネットワーク制御装置１０の指示通知部１６は、構成情報に基づいて、該当するトンネル終端装置３０に対し、接続に来るトンネル接続装置の識別情報（もしくは位置情報）を、プロトコル種別や各種のパラメータ値等とともに送信する（ステップ３）。なお、トンネル終端装置３０への構成指示通知は、このタイミングである必要はなく、他のタイミングでもよい。例えば、トンネル接続装置２０への設定情報通知後でもよい。仮想ネットワーク制御装置１０から情報を受け取った設定部３３は、情報の格納、設定を行う（ステップ４）。なお、本例では、トンネル終端装置３０の位置情報は、識別情報とともにトンネル終端装置設置時に位置情報格納部１５に予め登録されているものとする。
【００６５】
ここで、トンネル接続装置２０が起動されると、トンネル接続装置２０は、仮想ネットワーク制御装置１０にトンネル設定情報要求を送信する（ステップ５）。トンネル設定情報要求にはトンネル接続装置２０の識別情報が含まれる。
【００６６】
トンネル設定情報要求を受信した仮想ネットワーク制御装置１０において、指示通知部１６は、トンネル設定情報要求に応じて、構成情報格納部１２からトンネル接続装置２０に対応するトンネル設定情報を読み出し（ステップ６）、当該トンネル接続装置２０に送信する（ステップ７）。
【００６７】
トンネル設定情報を受信したトンネル接続装置２０は、当該設定情報に基づいて設定を行うとともに、トンネル接続通信部２５におけるトンネル構築部２５１によりトンネル接続要求をトンネル終端装置３０に送信する（ステップ８）。トンネル接続装置２０とトンネル終端装置３０は、それぞれ仮想ネットワーク制御装置１０から受信した情報を用いてトンネル（仮想パスと呼んでもよい）を生成する（ステップ９）。
【００６８】
なお、トンネルで用いるプロトコルの種別によって必要であれば、トンネル終端装置３０のトンネル終端通信部３６におけるトンネル構築部３６２は、トンネル接続要求の送信元であるトンネル接続装置２０に仮想ネットワーク上での位置情報を払い出す。例えば、後述するL3モードの場合、仮想ネットワーク上での位置情報として仮想のＩＰアドレス（仮想アドレス）を払い出す。
【００６９】
なお、上記の例は１つのトンネル接続装置２０について説明しているが、１つのトンネル終端装置３０に接続されるトンネル接続装置２０は一般には複数であり、各々のトンネル接続装置２０が同様にしてトンネル構築を行う。
【００７０】
複数のトンネル接続装置２０がトンネル構築を行った場合の例を図７に示す。図７では、端末側の構成として、トンネル接続装置２０とユーザ端末５０が接続された構成と、トンネル接続装置２０の機能がユーザ端末５０内に配備された構成が示されている。
【００７１】
図７に示す構成において、トンネルが生成された後、トンネル接続装置２０は、例えば、ユーザ端末５０が送出するパケットをキャプチャし、トンネルのプロトコルに従ってパケットを選別して仮想ヘッダを付けてカプセリングと暗号化を行い、トンネルを通じてトンネル終端装置３０に送信する。
【００７２】
トンネル終端装置３０はトンネル接続装置２０からトンネルを通じてパケットを受け取ると、パケットのヘッダ情報に従ってパケットの転送を行う。転送先としては、トンネル終端装置３０と同じネットワーク内、もしくはそのネットワークからルーティングされうるネットワーク内にあるサーバ等と、他のトンネル接続装置２０の2通りが存在する。
【００７３】
トンネル終端装置３０がパケットをサーバに転送する場合はカプセリングを解除し、トンネル接続装置２０に転送を行う場合はカプセリング解除後、当該トンネル接続装置２０向けにカプセリングを再度行う。トンネル接続装置２０は、トンネル終端装置３０から受け取ったパケットのカプセリングを解除し、当該パケットをユーザ端末５０に転送する。
【００７４】
トンネル終端装置３０とトンネル接続装置２０とで仮想ネットワークが構成され、サーバやユーザ端末５０は、この仮想ネットワークに接続されている。
【００７５】
次に、図８のシーケンス図を参照して、仮想ネットワークが構築された後に、構成変更を行う場合の処理手順を説明する。
【００７６】
トンネル終端装置３０-トンネル接続装置２０間のトンネリング接続が確立され、仮想ネットワークが構成された後、システム管理者等により、外部装置から仮想ネットワーク構成変更指示がなされたものとすると、仮想ネットワーク構成変更指示は仮想ネットワーク制御装置１０に通知される（ステップ１１）。仮想ネットワーク構成変更指示には、変更後の仮想ネットワーク構成情報が含まれる。
【００７７】
そして、仮想ネットワーク制御装置１０の指示通知部１６は、仮想ネットワーク構成変更指示をトンネル終端装置３０に通知する（ステップ１２）。仮想ネットワーク構成変更指示を受信したトンネル終端装置３０において、仮想ネットワーク構成変更制御部３４が、指示された構成情報に含まれるトンネル接続装置のテーブルと、現在自分とトンネル接続を確立しているトンネル接続装置のテーブルを比較し、例えば、構成情報に含まれるトンネル接続装置のうち、トンネル接続を確立しているトンネル接続装置を選択することにより、これを設定変更指示を送るべき装置と判断し（ステップ１３）、送るべきと判断されたトンネル接続装置２０に対してトンネルを通して指示を伝達する（ステップ１４）。設定変更指示を受信したトンネル接続装置２０は、指示に含まれる設定情報に基づき設定（切り替え）を行う（ステップ１５）。
【００７８】
また、前述したように、設定変更指示として、仮想ネットワーク制御装置１０にアクセスすることを命令することでもよい。この場合、図８に示すように、トンネル接続装置２０は、設定情報要求を仮想ネットワーク制御装置１０に送信し（ステップ２１）、仮想ネットワーク制御装置１０の指示通知部１６は、当該トンネル接続装置２０についての設定変更有無を構成情報格納部１２を参照して確認し（ステップ２２）、変更があると判断したら、変更後の設定情報をトンネル接続装置２０に送信する（ステップ２３）。そして、トンネル接続装置２０は設定を行う（ステップ２４）。
【００７９】
また、現在いずれのトンネル終端装置３０にも接続されていない停止中のトンネル接続装置２０は、別途起動時や予め定められた規則に基づく時間に仮想ネットワーク制御装置１０にアクセスして構成情報を問い合わせに行く。このときも、上記のステップ２１〜２４と同様の動作が行われる。
【００８０】
なお、このトンネル接続装置２０に対してトンネル終端装置３０のトンネル内からの信号で制御する方法をインバウンド・シグナリングと呼ぶことができる。一方、仮想ネットワーク制御装置１０からトンネル終端装置３０、トンネル接続装置２０に直接指示を行う方法をメタシグナリングと呼ぶ。
【００８１】
上記のように、本実施の形態に係る技術によれば、トンネル接続中のトンネル接続装置２０に対してインバウンド・シグナリングにより指示を行うとともに、トンネル接続を行っていないトンネル接続装置２０は起動時等に仮想ネットワーク制御装置１０にアクセスして構成情報を問い合わせに行くので、結果として仮想ネットワーク制御装置１０に対して構成変更指示を投入することによりオンデマンドにあるべき姿を仮想ネットワークに反映させることが可能となる。なお、従来技術において、端末装置側から制御装置に対するアクセスを頻繁に行う場合に制御装置への負荷が大きくなり、逆にアクセスの頻度が少ない場合には構成を即時に反映できないという問題があったが、本実施の形態では、インバウンド・シグナリングによる変更指示を行うので、仮想ネットワーク制御装置１０へのアクセス数を従来に比べて大幅に減少させながら、構成を即時に反映させることが可能となり、従来の問題が解消される。
【００８２】
本実施の形態では以上のような構成と手順によりトンネル終端装置３０を仮想的なハブとしてトンネル接続装置２０に関連付けられたユーザ端末５０（クライアント）間でネットワークが構成される。
【００８３】
（トンネル通信の具体例）
本実施の形態の技術で構築される仮想ネットワークでは、L2〜L4までの様々なレイヤのプロトコルを扱うことができる。例えば、これはトンネル接続装置２０、トンネル終端装置３０が扱うべきレイヤの設定に応じて送受信するパケットのうちカプセリング部位を切り替え、また各レイヤにおける仮想のアドレス（L2であればMACアドレス、L3であればIPアドレス）を持っているかのように振舞うことで実現される。それぞれのレイヤにおけるカプセリング方法の具体例を以下に示す。なお、以下の通信は、主に、トンネル接続通信部２５のプロトコル処理部２５２、トンネル終端通信部３６のプロトコル処理部３６２の機能により行われるものである。
【００８４】
＜L2モード＞
使用するプロトコルの種別がL2である場合（L2モードと呼ぶ）についての動作例を図９と図１０を参照して説明する。
【００８５】
図９は、ユーザ端末５０からサーバ６０への通信の例を示す図である。本例では、図９に示すとおりに各装置にIPアドレスが割り当てられているものとする。すなわち、ユーザ端末のIPアドレスとして172.16.010（仮想ネットワーク用のアドレス）が割り当てられ、サーバ６０のIPアドレスとして172.16.0.40（仮想ネットワーク用のアドレス）が割り当てられている。また、図９において、MACpcはユーザ端末５０のMACアドレスであり、MACsvはサーバ６０のMACアドレスである。他の図においても同様である。
【００８６】
図９に示すとおり、ユーザ端末５０からEtherフレーム（パケットと呼んでもよい）が送信される（ステップ１０１）。このフレームにおける宛先MACアドレスはサーバ６０のMACアドレスであり、宛先IPアドレスはサーバ６０のIPアドレスであり、送信元MACアドレスはユーザ端末５０のMACアドレスであり、送信元IPアドレスはユーザ端末５０のIPアドレスである。
【００８７】
フレームを受信したトンネル接続装置２０は、当該フレームのうち、Macアドレスまで含めて全てを暗号化／カプセリングして（ステップ１０２）、トンネル接続装置２０自身が持つローカルアドレス（192.168.2.20）を送信元としてトンネル終端装置３０に転送する（ステップ１０３）。トンネル終端装置３０はトンネル接続装置２０から受け取ったカプセリングされたフレームを復号化／デカプセリングし（ステップ１０４）、送信元となっているユーザ端末のレイヤ２アドレス（MACアドレス）を学習する。以降、トンネル終端装置３０は同じセグメントに置かれた他のサーバに対して、自らがユーザ端末５０のL2アドレスの持ち主であるかのように振舞う。すなわち、トンネル終端装置３０からサーバ６０に送信されるフレームの宛先・送信元アドレスは、ユーザ端末５０から送信されるフレームの宛先・送信元アドレスと同じである（ステップ５）。
【００８８】
次に、サーバ６０からユーザ端末５０への通信の例を図１０に示す。図１０に示すように、基本的にユーザ端末５０からサーバ６０への通信の逆の処理が行われる。すなわち、トンネル終端装置３０はサーバ６０からフレームを受け取り（ステップ２０１）、受け取ったフレームをそのまま暗号化／カプセル化してトンネル接続装置２０に送信する（ステップ２０２、ステップ２０３）。そして、トンネル接続装置２０は、フレームを復号化／デカプセリングして、ユーザ端末５０に送信する（ステップ２０４、ステップ２０５）。なお、他のトンネル接続装置２０からトンネル終端装置３０が受信したフレームについても同様の処理でユーザ端末５０に送信できる。
【００８９】
＜L３モード＞
次に、使用するプロトコルの種別がL３である場合（L３モードと呼ぶ）についての動作例を図１１〜図１３を参照して説明する。各図において、MACrtはルータのMACアドレスであり、MACvnsはトンネル終端装置３０のMACアドレスである。
【００９０】
図１１は、ユーザ端末５０からサーバ６０への通信の例を示す図である。L3モードでは、トンネル接続装置２０はトンネル終端装置３０から割り当てられた仮想IPアドレス（本例では172.16.050）を持つ。
【００９１】
図１１に示すアドレスを有するEtherフレームがユーザ端末５０から送信される（ステップ３０１）。
【００９２】
フレームを受信したトンネル接続装置２０は、ユーザ端末５０のMACアドレスを学習する（記憶装置にIPアドレスとともに保持しておく）（ステップ３０２）。また、トンネル接続装置２０は、ユーザ端末５０からキャプチャしたフレームのうち、仮想IPアドレス宛（仮想ネットワーク用のIPアドレス宛）のものを選別し、トンネルを通してトンネル終端装置３０に転送を行う。
【００９３】
仮想IPアドレス宛のフレームを選別する処理例を図１２に示す。なお、図１２に示す例では、通信手段の例としてソケットを用いて通信を行う例が示されている。また、図１２に示すように、トンネル接続装置２０は、仮想ネットワーク用のアドレスとして予め定めた仮想IPアドレス群を記録した経路表を保持している。
【００９４】
図１２に示すように、トンネル接続装置２０は、ユーザ端末５０から受信したフレームのMACアドレスを記憶し、経路表を参照して、宛先IPアドレスが仮想IPアドレス群に含まれるものであれば（宛先IP判定Ｙｅｓ）、送信元IPアドレスを、トンネル接続装置２０に割り当てられた仮想IPアドレスに書き換えて、トンネル転送を行う。なお、図１２の例では、メタ情報等を記述する仮想NWヘッダ（VNヘッダ）を付しているが、このヘッダは必須ではない。仮想NWヘッダは、例えば、鍵交換などに用いられるコントロールパケットの識別などに用いられる。宛先IPアドレスが仮想IPアドレス群に含まれるものでなければ（宛先IP判定Ｎｏ）、トンネル経由でなく、通常のＬＡＮセグメントへ送信される。
【００９５】
上記のとおり、図１１においてトンネル転送する際に、トンネル接続装置２０は、キャプチャしたフレームのうちL3パケット（本例ではＩＰパケット）に相当する部分を切り出し、L3アドレスを仮想IPアドレスに付け替えた上でトンネル終端装置３０に送付する（S３０３〜Ｓ３０５）。
【００９６】
カプセリングされたパケットを受け取ったトンネル終端装置３０は復号化／デカプセリングを行い（ステップ３０６）、カプセル化されていたパケットの送信先ＩＰアドレスに応じてサーバ６０やその仮想ＩＰアドレスを持つ他のトンネル接続装置２０に向けて送信を行う（ステップ３０７）。
【００９７】
サーバ６０からユーザ端末５０への通信の例を図１３に示す。図１３に示すように、基本的にユーザ端末５０からサーバ６０への通信の逆の処理が行われる。すなわち、トンネル終端装置３０は、サーバ６０から送出されたフレームをキャプチャし（ステップ４０１）、キャプチャしたフレームのうちL3パケットに相当する部分を切り出し暗号化／カプセリングを行って（ステップ４０２）、トンネル接続装置２０に転送する（ステップ４０３）。これを受信したトンネル接続装置２０は、復号化／デカプセリングの後（ステップ４０４）、送信先ＩＰアドレスを仮想ＩＰアドレスからユーザ端末５０の実アドレスに付け替えを行い（ステップ４０５）、あたかもサーバ６０から直接ユーザ端末５０に送信されたかのようにパケットを送出する（ステップ４０６）。他のトンネル接続装置２０からトンネル終端装置３０が受信したフレームについても同様の処理でユーザ端末５０に送信できる。
【００９８】
なお、このL3モードのアドレス付け替えの動作は、トンネル接続装置２０がユーザ端末５０に組み込まれるドライバとして実装される場合は採用されない場合もある。ドライバとして導入されたトンネル接続装置２０はユーザ端末５０からあたかも仮想のＩＰアドレスを持つインタフェースが増えたかのように見え、パケットははじめから仮想のＩＰアドレスをつけてユーザ端末５０から送出されるためである。
＜Ｌ４モード＞
次に、使用するプロトコルの種別がL４である場合（L４モードと呼ぶ）についての動作例を図１４〜図１７を参照して説明する。本実施の形態におけるＬ４モードでは、SOCKSの技術と、特許文献２に開示されている技術（これをRSOCKSと呼ぶ）を用いている。もちろん、これらの技術を用いることはL4モードの一例に過ぎない。
【００９９】
L4モードの第１例を図１４に示す。本例では、トンネル接続装置２０はトンネル接続通信部２５としてSOCKSクライアント機能を含み、トンネル終端装置３０は、トンネル終端通信部３６としてSOCKSサーバ機能を含む。
【０１００】
この例では、トンネル接続装置２０はトンネル終端装置３０との間にトンネリング接続を行う。ユーザ端末５０（アプリケーションクライアント）が、トンネル接続装置２０の開いたポートの一つにアクセスすると、そのアクセスはトンネルを通してトンネル終端装置３０に転送され、トンネル終端装置３０にポートごとに設定された特定のアプリケーションサーバへとリダイレクトされる。これは通常のSOCKSの挙動と同様である。図１４に示すように、この第１例の構成ではL2、L3と同じトンネル接続装置２０、トンネル終端装置３０の配置で利用できる。
【０１０１】
また、第２例として、図１５に示すように、トンネル終端装置３０にRSOCKSサーバ機能を備え、トンネル接続装置２０にRSOCKSクライアント機能を備えることにより、通常のRSOCKSの動作と同様の動作を行うことも可能である。なお、RSOCKSサーバは、特許文献２で開示された接続制御サーバ部に相当し、RSOCKSクライアントは特許文献２で開示された接続制御クライアント部に相当する。
【０１０２】
L4モードの第３例を図１６に示す。この構成は、図１４のSOCKSの構成と、図１５のRSOCKSの構成を組み合わせたものであり、アプリケーションサーバ側にもSOCKSクライアント相当の機器としてのトンネル接続装置２０を配置することで、サーバ、ユーザ両方のアクセスを制御する構成となっている。
【０１０３】
この構成においては、仮想ネットワークシステムはカプセリングするレイヤを切り替えるのではなく、クライアント（ユーザ端末５０）に関連付けられたトンネル接続装置２０（これをFトンネル接続装置と記述する）とトンネル終端装置３０、サーバ６０に関連付けられたトンネル接続装置２０（これをRトンネル接続装置と記述する）とトンネル終端装置３０にそれぞれトンネルを生成し、Fトンネル接続装置２０とトンネル終端装置３０の間に張られたセッション、トンネル終端装置３０とRトンネル接続装置２０の間に張られたセッションをトンネル終端装置３０がそれぞれ対応付けることでユーザ端末５０とサーバ６０間で通信を行えるようにする。これはRSOCKSとSOCKSをトンネル終端装置３０が中継する方式であるともいえる。  
図１６に示すL4モードの構成において、ユーザ端末５０（サーバクライアント）からは同じLAN内に置かれたFトンネル接続装置２０に開かれたポートと通信を行う（ステップ５０１）。Fトンネル接続装置２０は、ユーザ端末５０からの通信に応じて、トンネル終端装置３０と予め張ってあるトンネル内にセッションを生成する（ステップ５０２）。トンネル終端装置３０はセッションの生成を受け、Rトンネル接続装置２０との間で予め張ってあるトンネルを通してサーバ６０とセッションを生成し（ステップ５０３）、これら両方のセッションを繋ぐ（ステップ５０４）。
【０１０４】
本構成では、サーバ６０はRトンネル接続装置２０から通信を受けている形となるため、インターネットに向けてポートを開くことなくユーザ端末５０からの通信を待ち受けられるようになる。この構成におけるユーザ端末５０からサーバ６０への通信の例を図１７に示す。この通信では、図１７に示すとおりにアドレス・ポートが割り当てられている。図１７において、添字fvncはFトンネル接続装置２０を示し、rvncはRトンネル接続装置２０を示し、vnsはトンネル終端装置３０を示す。
【０１０５】
ユーザ端末５０は、ローカルに置かれているFトンネル接続装置２０の特定のポートをめがけてパケットを送信する（ステップ６０１）。Fトンネル接続装置２０は、自身のローカルアドレスを送信元としてトンネル終端装置３０にパケットを送信する（ステップ６０２）。なお、ここでは仮想NWヘッダが付される例を示している。
【０１０６】
トンネル終端装置３０は、Fトンネル接続装置２０とトンネル終端装置３０間のセッションの識別情報と、トンネル終端装置３０とRトンネル接続装置２０間のセッションの識別情報とを対応付けて保持している。Fトンネル接続装置２０からパケットを受信したトンネル終端装置３０は、当該対応情報を参照することにより、パケット送信先を識別し、パケットの送信先アドレスを自身のアドレスとして、当該送信先であるRトンネル接続装置２０にパケットを送信する（ステップ６０３）。Rトンネル接続装置２０は、受信したポートに対応付けられたサーバ６０のポートの情報を保持しており、当該情報に基づいて、受信したパケットをサーバ６０の待ち受けポートに送信する（ステップ６０４）。
【０１０７】
（実施の形態の効果）
本実施の形態に係る方式を採用することにより、仮想ネットワークの構成をオンデマンドで変更することが可能となる。従って、この方式ではL2〜L4の間でカプセリングを行うことができるレイヤを切り替えることができ、カプセリングヘッダとカプセル化される内部のデータでそれぞれ独立にプロトコルを切り替えることが可能となる。
【０１０８】
以下、本明細書に開示される構成を例示的に列挙する。
（第１項）  
トンネル接続装置とトンネル終端装置を含み、当該トンネル接続装置と当該トンネル終端装置との間に設定されるトンネルにより仮想ネットワークを構成する仮想ネットワークシステムであって、
前記トンネル終端装置は、
所定の制御装置から、変更後の仮想ネットワーク構成情報を含む仮想ネットワーク構成変更指示を受信する手段と、
前記仮想ネットワーク構成情報により指定された変更後の仮想ネットワークを構成する１つ又は複数のトンネル接続装置の中から、前記トンネル終端装置にトンネル接続されている前記トンネル接続装置を選択し、当該トンネル接続装置に対し、当該トンネル経由で設定変更指示を送信する手段と、を備え、
前記トンネル接続装置は、
前記トンネル経由で、前記トンネル終端装置から前記設定変更指示を受信する手段と、
前記設定変更指示に基づき、変更後の仮想ネットワークに対応したトンネル接続を行う手段と、を備える
ことを特徴とする仮想ネットワークシステム。
（第２項）
前記設定変更指示は、変更後の仮想ネットワークに対応した接続先となるトンネル終端装置を示す情報と、変更後の仮想ネットワークに対応したプロトコル種別を含む
ことを特徴とする第１項に記載の仮想ネットワークシステム。
（第３項）
前記設定変更指示を受信した前記トンネル接続装置は、前記接続先のトンネル終端装置に接続し、当該トンネル終端装置との間で前記プロトコル種別に対応した通信レイヤのトンネルを確立する
ことを特徴とする第２項に記載の仮想ネットワークシステム。
（第４項）
前記設定変更指示は、前記所定の制御装置にアクセスして設定情報を当該所定の制御装置から取得することを指示する命令である
ことを特徴とする第１項に記載の仮想ネットワークシステム。
（第５項）
前記設定変更指示を受信した前記トンネル接続装置は、前記所定の制御装置から変更後の設定情報を取得し、当該設定情報で指定された接続先のトンネル終端装置に接続し、当該トンネル終端装置との間で前記設定情報で指定されたプロトコル種別に対応した通信レイヤのトンネルを確立する
ことを特徴とする第４項に記載の仮想ネットワークシステム。
（第６項）
前記トンネル接続装置は、起動時もしくは予め定められた規則に基づく時間に前記所定の制御装置にアクセスして設定情報を当該所定の制御装置から取得する手段を備える
ことを特徴とする第１項に記載の仮想ネットワークシステム。
（第７項）
前記トンネル接続装置は、前記所定の制御装置から取得した設定情報で指定された接続先のトンネル終端装置に接続し、当該トンネル終端装置との間で前記設定情報で指定されたプロトコル種別に対応した通信レイヤのトンネルを確立する
ことを特徴とする第６項に記載の仮想ネットワークシステム。
（第８項）  
トンネル接続装置とトンネル終端装置を含み、当該トンネル接続装置と当該トンネル終端装置との間に設定されるトンネルにより仮想ネットワークを構成する仮想ネットワークシステムにおける構成変更方法であって、
前記トンネル終端装置が、所定の制御装置から、変更後の仮想ネットワーク構成情報を含む仮想ネットワーク構成変更指示を受信するステップと、
前記トンネル終端装置が、前記仮想ネットワーク構成情報により指定された変更後の仮想ネットワークを構成する１つ又は複数のトンネル接続装置の中から、前記トンネル終端装置にトンネル接続されている前記トンネル接続装置を選択し、当該トンネル接続装置に対し、当該トンネル経由で設定変更指示を送信するステップと、
前記トンネル接続装置が、前記トンネル経由で、前記トンネル終端装置から前記設定変更指示を受信するステップと、
前記トンネル接続装置が、前記設定変更指示に基づき、変更後の仮想ネットワークに対応したトンネル接続を行うステップと、
を備えることを特徴とする構成変更方法。
（第９項）  
トンネル接続装置とトンネル終端装置を含み、当該トンネル接続装置と当該トンネル終端装置との間に設定されるトンネルにより仮想ネットワークを構成する仮想ネットワークシステムにおける前記トンネル終端装置であって、
所定の制御装置から、変更後の仮想ネットワーク構成情報を含む仮想ネットワーク構成変更指示を受信する手段と、
前記仮想ネットワーク構成情報により指定された変更後の仮想ネットワークを構成する１つ又は複数のトンネル接続装置の中から、前記トンネル終端装置にトンネル接続されている前記トンネル接続装置を選択し、当該トンネル接続装置に対し、当該トンネル経由で設定変更指示を送信する手段と、
を備えることを特徴とするトンネル終端装置。
（第１０項）
第９項に記載のトンネル終端装置にトンネル接続されるトンネル接続装置であって、
前記トンネル終端装置との間のトンネル経由で、前記トンネル終端装置から前記設定変更指示を受信する手段と、
前記設定変更指示に基づき、変更後の仮想ネットワークに対応したトンネル接続を行う手段と、を備える
ことを特徴とするトンネル接続装置。
（第１１項）
コンピュータを、第９項に記載のトンネル終端装置の各手段として機能させるためのプログラム。
（第１２項）
コンピュータを、第１０項に記載のトンネル接続装置の各手段として機能させるためのプログラム。
【０１０９】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【０１１０】
１０  仮想ネットワーク制御装置
２０  トンネル接続装置
３０  トンネル終端装置
４０  IPネットワーク
５０  ユーザ端末
６０  サーバ
１１  仮想NW構築指示受付部
１２  構成情報格納部
１３  対装置通信部
１４  位置情報登録部
１５  位置情報格納部
１６  指示通知部
２１  対仮想NW制御装置通信部
２３  設定部
２４  データ格納部
２５  トンネル接続通信部
２５１  トンネル構築部
２５２  プロトコル処理部
３１  対仮想NW制御装置通信部
３２  登録要求部
３３  設定部
３４  仮想NW構成変更制御部
３５  データ格納部
３６  トンネル終端通信部
３６１  トンネル構築部
３６２  プロトコル処理部
【図１】
0005437518.tif 000002
【図２】
0005437518.tif 000003
【図３】
0005437518.tif 000004
【図４】
0005437518.tif 000005
【図５】
0005437518.tif 000006
【図６】
0005437518.tif 000007
【図７】
0005437518.tif 000008
【図８】
0005437518.tif 000009
【図９】
0005437518.tif 000010
【図１０】
0005437518.tif 000011
【図１１】
0005437518.tif 000012
【図１２】
0005437518.tif 000013
【図１３】
0005437518.tif 000014
【図１４】
0005437518.tif 000015
【図１５】
0005437518.tif 000016
【図１６】
0005437518.tif 000017
【図１７】
0005437518.tif 000018